/* ═══════════════════════════════════════════════════════════ */
/*  MOBILE RESPONSIVE — PHONE OPTIMIZATION (≤480px)          */
/*  Ayana Woods Landing Page                                  */
/* ═══════════════════════════════════════════════════════════ */

/* ─── GLOBAL OVERFLOW FIX ─── */
html, body {
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100vw;
}
*, *::before, *::after {
  max-width: 100vw;
}
/* Re-applying rounding to functional utility buttons */
.theme-toggle, .wa-widget, .wa-icon, .float-btn a, .modal-close, .wa-widget {
  border-radius: 50% !important;
}
.pillar::before, .v-pill::before, .amen-list li::before {
  border-radius: 50% !important;
}
.nav.scrolled {
  border-radius: 12px !important;
}
section, .hero, .about, .snapshot, .gallery, .villas,
.amenities, .specs, .proximity, .connectivity, .cta, .footer {
  overflow-x: hidden;
}
.inf-wm {
  display: none !important;
}
.hero-inf {
  display: none !important;
}
.conn-map-embed {
  overflow: hidden;
}

/* ─── NAVIGATION ─── */
.nav {
  padding: 12px 16px;
}
.nav.scrolled {
  margin: 8px 12px;
  width: calc(100% - 24px);
  padding: 10px 16px;
  border-radius: 10px;
}
.nav-logo img, .logo-white, .logo-dark {
  height: 28px !important;
}
.maa-logo {
  display: none !important;
}
.nav-links, .nav-cta {
  display: none;
}
.hamburger {
  display: flex !important;
}
.mobile-nav {
  display: flex;
}
.mobile-nav a {
  font-size: 24px;
  letter-spacing: 0.04em;
}
.mobile-nav .m-cta {
  font-size: 9px;
  padding: 12px 28px;
}

/* ─── HERO ─── */
.hero {
  min-height: 100svh;
  min-height: -webkit-fill-available;
}
.hero-content {
  padding: 0 20px 80px;
  max-width: 100%;
}
.hero-prelaunch {
  font-size: 9px;
  letter-spacing: 0.25em;
  margin-bottom: 12px;
}
.hero-prelaunch::before {
  width: 28px;
}
.hero-title {
  font-size: clamp(24px, 7vw, 34px);
  margin-bottom: 12px;
  line-height: 1.25;
}
.hero-tagline {
  font-size: 8.5px;
  letter-spacing: 0.2em;
  margin-bottom: 24px;
}
.hero-actions {
  gap: 16px;
}
.btn-gold {
  padding: 14px 28px;
  font-size: 9px;
  letter-spacing: 0.18em;
}
.btn-ghost {
  font-size: 9px;
}
.hero-stats {
  position: relative;
  bottom: auto;
  right: auto;
  z-index: 5;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 16px 20px 24px;
  width: 100%;
}
.hero-stat {
  padding: 14px 12px;
  text-align: center;
}
.hero-stat-num {
  font-size: 22px;
}
.hero-stat-label {
  font-size: 7px;
  letter-spacing: 0.2em;
  margin-top: 4px;
}
.scroll-hint {
  display: none;
}
.hero-inf {
  width: 90vw;
  right: -30%;
  opacity: 0.03;
}

/* ─── MARQUEE ─── */
.marquee {
  padding: 10px 0;
}
.marquee-inner span {
  font-size: 8px;
  letter-spacing: 0.2em;
  margin: 0 24px;
}

/* ─── SECTION COMMON ─── */
.s-eye {
  font-size: 8.5px;
  letter-spacing: 0.25em;
  margin-bottom: 12px;
}
.s-eye::before {
  width: 28px;
}
.s-head {
  font-size: clamp(26px, 7vw, 36px);
  margin-bottom: 18px;
}
.inf-div {
  padding: 16px 0;
}
.inf-div svg {
  width: 48px;
  height: 24px;
}

/* ─── ABOUT ─── */
.about {
  grid-template-columns: 1fr;
}
.about-img {
  min-height: 300px;
}
.about-badge {
  padding: 18px 24px;
  border-top-left-radius: 16px;
}
.about-badge strong {
  font-size: 32px;
}
.about-badge span {
  font-size: 8px;
}
.about-content {
  padding: 40px 20px;
}
.about-text {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 16px;
}
.about-pillars {
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 24px 0 32px;
}
.pillar {
  font-size: 12px;
}
.btn-light {
  padding: 14px 32px;
  font-size: 9.5px;
  border-radius: 0;
}

/* ─── SNAPSHOT ─── */
.snapshot {
  padding: 60px 20px;
}
.snap-grid {
  grid-template-columns: 1fr 1fr;
  margin-top: 40px;
  gap: 10px;
}
.snap-item {
  padding: 28px 12px;
}
.snap-icon {
  font-size: 22px;
  margin-bottom: 10px;
}
.snap-num {
  font-size: 32px;
}
.snap-label {
  font-size: 8px;
  letter-spacing: 0.2em;
  margin-top: 6px;
}
.snap-badges {
  margin-top: 32px;
  gap: 8px;
}
.snap-badge {
  padding: 8px 14px;
  font-size: 8px;
  letter-spacing: 0.15em;
}

/* ─── GALLERY ─── */
.gallery {
  padding: 60px 0 0;
}
.gallery-header {
  padding: 0 20px 28px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.btn-outline {
  font-size: 9px;
}
.gallery-grid {
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: 10px;
  padding: 0 20px;
}
.gallery-item {
  height: 240px !important;
}
.gallery-item:first-child {
  grid-row: auto;
}
.gallery-label {
  opacity: 1;
  transform: none;
  padding: 24px 16px 14px;
  font-size: 8.5px;
}

/* ─── VILLAS ─── */
.villas {
  padding: 60px 20px;
}
.villas-intro {
  margin-bottom: 40px;
  gap: 20px;
}
.villas-desc {
  font-size: 13px;
  line-height: 1.8;
}
.v-pillars {
  grid-template-columns: 1fr;
  gap: 8px;
}
.v-pill {
  font-size: 11px;
}
.villa-tabs {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 0;
  flex-wrap: nowrap;
}
.villa-tabs::-webkit-scrollbar {
  display: none;
}
.villa-tab {
  padding: 12px 16px;
  font-size: 8.5px;
  letter-spacing: 0.15em;
  white-space: nowrap;
  flex-shrink: 0;
}
.villa-overview {
  grid-template-columns: 1fr;
  min-height: auto;
}
.villa-hero-img {
  min-height: 260px;
}
.villa-type-badge {
  top: 16px;
  left: 16px;
  padding: 8px 16px;
  font-size: 8px;
  letter-spacing: 0.18em;
}
.villa-info {
  padding: 28px 20px;
}
.villa-name {
  font-size: 36px;
  letter-spacing: 0.08em;
}
.villa-dim {
  font-size: 10px;
  letter-spacing: 0.22em;
  margin-bottom: 24px;
}
.villa-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 24px;
}
.v-stat {
  padding: 16px 10px;
}
.v-stat-val {
  font-size: 22px;
}
.v-stat-key {
  font-size: 7px;
  letter-spacing: 0.18em;
}
.villa-desc {
  font-size: 13px;
  line-height: 1.75;
}
.btn-floor-plan {
  padding: 12px 20px;
  font-size: 8.5px;
  letter-spacing: 0.16em;
  margin-top: 20px;
  width: 100%;
  justify-content: center;
}
.villa-lock-btn {
  padding: 14px 28px;
  font-size: 9px;
  letter-spacing: 0.18em;
  border-radius: 0;
}

/* ─── AMENITIES ─── */
.amenities {
  padding: 60px 20px;
}
.amen-sub {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 40px;
}
.amen-grid {
  grid-template-columns: 1fr;
  gap: 12px;
}
.amen-card {
  padding: 28px 20px;
}
.amen-icon {
  font-size: 24px;
  margin-bottom: 14px;
}
.amen-name {
  font-size: 18px;
  margin-bottom: 16px;
}
.amen-list li {
  font-size: 12px;
  padding: 6px 0;
}

/* ─── SPECS ─── */
.specs {
  padding: 60px 20px;
}
.spec-grid {
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 40px;
}
.spec-card {
  padding: 28px 20px;
}
.spec-card-title {
  font-size: 8.5px;
  letter-spacing: 0.2em;
  margin-bottom: 18px;
  padding-bottom: 14px;
}
.spec-item {
  font-size: 12px;
  padding: 8px 0;
}

/* ─── PROXIMITY & CONNECTIVITY ─── */
.proximity, .connectivity {
  grid-template-columns: 1fr;
  gap: 28px;
  padding: 60px 20px;
}
.prox-visual, .conn-visual {
  height: 280px;
}
.conn-map-embed iframe {
  height: 300px;
}
.prox-name {
  font-size: 12px;
  gap: 8px;
}
.prox-time {
  font-size: 18px;
}
.prox-time small {
  font-size: 7px;
  margin-left: 4px;
}
.prox-item {
  padding: 14px 0;
}
.loc-content .s-head,
.connectivity .s-head {
  margin-bottom: 24px;
}

/* ─── CTA / LEAD FORM ─── */
.cta {
  padding: 60px 20px;
}
.cta::before {
  font-size: 72px;
}
.cta-heading {
  font-size: clamp(28px, 7vw, 42px);
  margin-bottom: 18px;
}
.cta-sub {
  font-size: 13px;
  line-height: 1.8;
  margin-bottom: 28px;
}
.lead-form {
  max-width: 100%;
}
.lead-row {
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
.lead-input {
  padding: 15px 18px;
  font-size: 12px;
}
.btn-submit {
  padding: 16px;
  font-size: 9.5px;
  letter-spacing: 0.2em;
}
.cta-alt {
  font-size: 11px;
  margin-top: 20px;
}

/* ─── FOOTER ─── */
.footer {
  padding: 48px 20px 24px;
}
.footer-top {
  grid-template-columns: 1fr;
  gap: 28px;
  padding-bottom: 32px;
  margin-bottom: 24px;
}
.footer-brand img {
  height: 40px !important;
}
.footer-desc {
  font-size: 12px;
  line-height: 1.75;
}
.footer-col h5 {
  font-size: 8px;
  letter-spacing: 0.2em;
  margin-bottom: 16px;
}
.footer-col a {
  font-size: 13px;
}
.footer-col li {
  margin-bottom: 12px;
}
.footer-bottom {
  flex-direction: column;
  text-align: center;
  gap: 16px;
  padding: 16px 0;
  font-size: 10px;
}
.footer-disc {
  font-size: 9px;
  line-height: 1.7;
  padding-top: 20px;
  margin-top: 20px;
}

/* ─── MODAL ─── */
.modal-overlay {
  padding: 0;
  align-items: flex-end;
}
.modal-card {
  max-width: 100%;
  border-radius: 20px 20px 0 0;
  max-height: 90vh;
  overflow-y: auto;
}
.modal-content {
  padding: 36px 24px 40px;
}
.modal-header h3 {
  font-size: 28px;
}
.modal-header p {
  font-size: 12px;
}
.modal-close {
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
}
.modal-form .lead-input {
  padding: 15px 18px;
  font-size: 12px;
  margin-bottom: 10px;
}
.modal-form .btn-submit {
  margin-top: 14px;
}

/* ─── LIGHTBOX ─── */
.lightbox-content {
  max-width: 96%;
  max-height: 70vh;
  border-radius: 4px;
}
.lightbox-close {
  top: 16px;
  right: 16px;
  font-size: 28px;
}

/* ─── FLOATING CTAs ─── */
.float-btn {
  bottom: 16px;
}
.float-btn.chat {
  left: 16px;
}
.float-btn.call {
  right: 16px;
}
.float-btn a {
  width: 44px;
  height: 44px;
}
.float-btn svg {
  width: 20px;
  height: 20px;
}
.btn-tooltip {
  display: none;
}

/* ─── WHATSAPP WIDGET ─── */
.wa-widget {
  left: 16px;
  bottom: 16px;
  padding: 8px;
  border-radius: 50%;
}
.wa-text {
  display: none;
}
.wa-icon {
  width: 32px;
  height: 32px;
  font-size: 18px;
}
