/* ============================================
   NandiGroups - Responsive Styles
   Powered by NandiGroups
   ============================================ */

/* ---- ULTRA WIDE / 4K ---- */
@media (min-width:1920px) {
  .hero-title { font-size:5rem; }
  .section-title { font-size:3.5rem; }
  .container { max-width:1600px; }
}

/* ---- LARGE DESKTOP ---- */
@media (max-width:1400px) {
  .hero-title { font-size:3.5rem; }
  .section-title { font-size:2.5rem; }
}

/* ---- DESKTOP / LAPTOP ---- */
@media (max-width:1200px) {
  .hero-title { font-size:3rem; }
  .section-padding { padding:80px 0; }
  .section-title { font-size:2.3rem; }
}

/* ---- TABLET LANDSCAPE ---- */
@media (max-width:991px) {
  .hero-title { font-size:2.5rem; }
  .hero-desc { font-size:1rem; }
  .section-padding { padding:70px 0; }
  .section-title { font-size:2rem; }
  .counter-number { font-size:2.5rem; }
  .page-header-content h1 { font-size:2.5rem; }
  .page-header { height:40vh; min-height:280px; }

  .navbar-collapse {
    background:rgba(10,10,10,0.98); backdrop-filter:blur(20px);
    padding:20px; border-radius:var(--radius); margin-top:10px;
    border:1px solid var(--glass-border);
  }
  .nav-link-premium { padding:12px 16px!important; border-bottom:1px solid var(--glass-border); }
  .nav-link-premium::after { display:none; }
  .nav-cta { margin-top:12px; display:inline-block; }

  .timeline::before { left:20px; }
  .timeline-item,.timeline-item:nth-child(odd) { flex-direction:row; padding-left:50px; }
  .timeline-dot { left:20px; }
  .timeline-content { width:100%; }

  .detail-meta { gap:16px; }
  .sticky-sidebar { position:static; }

  .cursor,.cursor-follower { display:none!important; }
}

/* ---- TABLET PORTRAIT ---- */
@media (max-width:768px) {
  .hero-section { min-height:600px; }
  .hero-title { font-size:2.2rem; }
  .hero-subtitle { font-size:0.8rem; letter-spacing:3px; }
  .hero-desc { font-size:0.95rem; }
  .hero-search { padding:16px; }
  .hero-search .col-md-3 { margin-bottom:10px; }
  .section-padding { padding:60px 0; }
  .section-title { font-size:1.8rem; }
  .section-desc { font-size:0.9rem; }
  .counter-number { font-size:2rem; }
  .counter-label { font-size:0.8rem; }
  .feature-card { padding:30px 20px; }
  .feature-icon { width:60px; height:60px; font-size:1.4rem; }
  .video-play-btn { width:70px; height:70px; font-size:1.2rem; }
  .cta-section h2 { font-size:2rem; }
  .footer-premium { padding:60px 0 0; }
  .page-header-content h1 { font-size:2rem; }
  .page-header { height:35vh; min-height:250px; }
  .detail-price { font-size:1.6rem; }
  .property-card .card-img-wrapper { height:220px; }
  .agent-img-wrapper { width:120px; height:120px; }
  .map-wrapper iframe { height:300px; }
  .whatsapp-float { bottom:80px; right:20px; width:46px; height:46px; font-size:1.3rem; }
  .back-to-top { bottom:24px; right:20px; width:42px; height:42px; }
}

/* ---- MOBILE LANDSCAPE ---- */
@media (max-width:576px) {
  .hero-section { min-height:100vh; }
  .hero-title { font-size:1.8rem; }
  .hero-subtitle { font-size:0.75rem; letter-spacing:2px; }
  .hero-desc { font-size:0.88rem; margin-bottom:24px; }
  .btn-gold,.btn-outline-gold { padding:12px 28px; font-size:0.85rem; }
  .section-padding { padding:50px 0; }
  .section-title { font-size:1.6rem; }
  .section-label { font-size:0.75rem; letter-spacing:3px; }
  .counter-box { padding:20px 10px; }
  .counter-number { font-size:1.8rem; }
  .testimonial-card { padding:24px 16px; }
  .testimonial-card p { font-size:0.95rem; }
  .faq-question { padding:16px; font-size:0.9rem; }
  .cta-section { padding:60px 0; }
  .cta-section h2 { font-size:1.6rem; }
  .footer-bottom { font-size:0.8rem; }
  .page-header-content h1 { font-size:1.6rem; }
  .page-header { height:30vh; min-height:220px; }
  .detail-price { font-size:1.4rem; }
  .property-card .card-img-wrapper { height:200px; }
  .property-features { gap:10px; flex-wrap:wrap; }
  .detail-meta { gap:12px; }
  .mortgage-result { font-size:1.4rem; }
  .navbar-brand-premium { font-size:1.4rem; }
  .filter-tabs { gap:8px; }
  .filter-tab { padding:6px 16px; font-size:0.85rem; }
  .hero-search .row > div { margin-bottom:10px; }
  .property-price { font-size:1.2rem; }
  .property-title { font-size:1rem; }

  .timeline::before { left:15px; }
  .timeline-item,.timeline-item:nth-child(odd) { padding-left:40px; }
  .timeline-dot { left:15px; width:12px; height:12px; }
}

/* ---- SMALL MOBILE ---- */
@media (max-width:375px) {
  .hero-title { font-size:1.5rem; }
  .section-title { font-size:1.4rem; }
  .btn-gold,.btn-outline-gold { padding:10px 22px; font-size:0.8rem; }
  .navbar-brand-premium { font-size:1.2rem; }
  .property-card .card-img-wrapper { height:180px; }
}

/* ---- LANDSCAPE ORIENTATION FIX ---- */
@media (max-height:500px) and (orientation:landscape) {
  .hero-section { min-height:100vh; }
  .hero-title { font-size:1.8rem; }
  .hero-search { display:none; }
  .page-header { height:100vh; min-height:auto; }
}

/* ---- TOUCH DEVICE OPTIMIZATIONS ---- */
@media (hover:none) {
  .cursor,.cursor-follower { display:none!important; }
  .property-card:hover .card-img-wrapper img { transform:none; }
  .glass-card:hover { transform:none; }
  .btn-gold:hover,.btn-outline-gold:hover { transform:none; }
}

/* ---- PRINT STYLES ---- */
@media print {
  .navbar-premium,.back-to-top,.whatsapp-float,.cursor,.cursor-follower,.scroll-progress,.preloader { display:none!important; }
  body { background:#fff; color:#000; }
  .section-title,.property-price { color:#000; }
}
