/* ==========================================================================
   ACE ARTE — responsive.css
   Loaded last so it can adjust anything above without !important.
   Breakpoints follow Bootstrap 5.3: 1399 / 1199 / 991 / 767 / 575.
   ========================================================================== */

/* ---------- ≤ 1399px : large desktop ------------------------------------- */
@media (max-width: 1399.98px) {
  .amenities__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- ≤ 1199px : small desktop / large tablet ---------------------- */
@media (max-width: 1199.98px) {
  :root { --header-h: 76px; }

  .highlights__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .invest__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .masterplan__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about__badge { max-width: 190px; right: 0.75rem; }
  .nav-list { gap: 0.85rem; }
  .nav-link { font-size: 0.78rem; }
}

/* ---------- ≤ 991px : tablet -------------------------------------------- */
@media (max-width: 991.98px) {
  .nav-list,
  .header-inner .btn-ace { display: none; }
  .nav-toggle { display: grid; place-items: center; }

  .about__grid,
  .plan-panel__grid,
  .location__grid,
  .developer__grid,
  .faq__grid,
  .contact__grid { grid-template-columns: 1fr; }

  .about__media { order: -1; max-width: 520px; }
  .about__media .media-frame { aspect-ratio: 16 / 11; }
  .about__badge { position: static; margin-top: 1rem; max-width: none; display: inline-block; }

  .price__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .price-card--featured { grid-column: 1 / -1; }

  .amenities__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gallery__masonry { columns: 2; }
  .stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2rem; }
  .hero__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .achievements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- ≤ 767px : landscape phone ----------------------------------- */
@media (max-width: 767.98px) {
  :root {
    --header-h: var(--header-h-sm);
    --section-y: 3.75rem;
  }

  .hero { min-height: 92svh; align-items: flex-end; }
  .hero__title { max-width: 100%; }
  .hero__frame { display: none; }
  .hero__scroll { display: none; }
  .hero__actions .btn-ace { flex: 1 1 100%; }

  .highlights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .invest__grid { grid-template-columns: 1fr; }
  .price__grid { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .amenities__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .plans__head { align-items: flex-start; }
  .tabs-ace { width: 100%; justify-content: flex-start; }

  .distance-item__value { font-size: 1rem; }

  .footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ---------- ≤ 575px : portrait phone ------------------------------------ */
@media (max-width: 575.98px) {
  .float-rail { display: none; }
  .mobile-actions { display: flex; }
  /* Leave room for the sticky action bar. */
  body { padding-bottom: 68px; }

  .brand__name { font-size: 1.1rem; }
  .brand__meta { font-size: 0.56rem; letter-spacing: 0.18em; }

  .hero__specs { grid-template-columns: 1fr; }
  .hero__spec { padding: 0.8rem 1rem; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
  .hero__spec dt { margin-bottom: 0; }

  .amenities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__masonry { columns: 1; }
  .stats__grid { grid-template-columns: 1fr; }
  .achievements { grid-template-columns: 1fr; }
  .masterplan__legend { grid-template-columns: 1fr; }

  .card-ace,
  .card-glass,
  .price-card,
  .contact__panel { padding: 1.25rem; }

  .plan-actions .btn-ace { flex: 1 1 100%; }
}

/* ---------- Hover-capable pointers only --------------------------------- */
@media (hover: none) {
  .media-frame:hover img,
  .gallery__item:hover img,
  .masterplan__figure:hover img { transform: none; }
  .gallery__caption { opacity: 1; transform: none; }
  .float-btn__label { display: none; }
}

/* ---------- Print -------------------------------------------------------- */
@media print {
  .site-header,
  .float-rail,
  .mobile-actions,
  .scroll-progress,
  .hero__scroll,
  .map-shell,
  .site-footer .social-row { display: none !important; }

  body { color: #000; background: #fff; }
  .theme-dark,
  .stats,
  .site-footer,
  .hero { background: #fff !important; color: #000 !important; }
  .section { padding-block: 1.25rem; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.75em; }
}
