/* ============================================================
   AAROHA ESTATE — Responsive refinements
   (Bootstrap grid handles columns; this file polishes custom UI)
   Mobile: 320+ | Tablet: 768+ | Laptop: 992+ | Desktop: 1200+ | XL: 1400+
   ============================================================ */

/* ---------- Ultra-wide ---------- */
@media (min-width: 1600px) {
  :root { --section-y: 9rem; }
  .container, .container-xxl { max-width: 1440px; }
}

@media (min-width: 1400px) {
  .hero-content { max-width: 840px; }
}

/* ---------- Laptop and below ---------- */
@media (max-width: 1199.98px) {
  .nav-links { gap: .2rem; }
  .nav-link { font-size: .8rem; }
}

/* ---------- Tablet & mobile: drawer nav ---------- */
@media (max-width: 991.98px) {
  .main-nav { display: none; }
  .nav-toggle { display: inline-flex; }
  .brand img { height: 72px; margin: -8px 0; }


  .lb-prev { left: .6rem; }
  .lb-next { right: .6rem; }
  .lb-btn { width: 44px; height: 44px; }

  .footer-main .row > [class*="col"] { margin-bottom: 2.2rem; }

  .img-stack { margin-bottom: 2.5rem; }
  .frame-gold::after { inset: 10px -10px -10px 10px; }
}

/* ---------- Small tablets ---------- */
@media (max-width: 767.98px) {
  body { font-size: .95rem; }
  .section { padding-block: clamp(3.4rem, 9vw, 5rem); }

  .hero-content { padding-bottom: 8rem; }
  .hero-actions .btn-lux, .hero-actions .btn-ghost { width: 100%; justify-content: center; }
  .scroll-cue { display: none; }
  .hero-dots { bottom: 1.6rem; }

  .stat::before { display: none !important; }
  .stat { border-bottom: 1px solid rgba(255,255,255,.07); }

  .project-foot { flex-direction: column; align-items: flex-start; }
  .project-foot .btn-outline-dark { width: 100%; justify-content: center; }

  .tst-person { flex-direction: column; text-align: center; }
  .tst-person .who { text-align: center; }

  .carousel-viewport {
    mask-image: none;
    -webkit-mask-image: none;
  }

  .img-badge { width: 106px; height: 106px; left: 0; }

  .footer-bottom .container { justify-content: center; text-align: center; }

  .back-to-top { right: 1rem; bottom: 1rem; width: 46px; height: 46px; }

  .float-social { right: 1rem; bottom: calc(1rem + 46px + 12px); gap: .7rem; }
  .float-btn { width: 46px; height: 46px; }
  .float-btn svg { width: 19px; height: 19px; }

  .toast { width: calc(100vw - 2rem); justify-content: center; }
}

/* ---------- Small phones ---------- */
@media (max-width: 420px) {
  .hero-badge { font-size: .68rem; letter-spacing: .16em; }
  .brand img { height: 60px; margin: -6px 0; }
  .cta-band .band-inner { padding: 2.2rem 1.4rem; }
  .trend-card { flex-basis: 82vw; }
}

/* ---------- Touch devices: soften hover-only fx ---------- */
@media (hover: none) {
  .carousel-viewport { cursor: default; }
  .project-overlay { opacity: 1; background: linear-gradient(180deg, transparent 40%, rgba(8,17,33,.72)); align-items: flex-end; padding-bottom: 1rem; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .overlay-btn { transform: none; }
}
