/* ══════════════════════════════════════ */
/* ── Drawer : vidéo à gauche, nav à droite ── */
/* ══════════════════════════════════════ */

.drawer {
  width: min(860px, 96vw) !important;
}

/* Grille : visuel+video colonne 1 (gauche), nav colonne 2 (droite) */
.drawer-shell {
  grid-template-columns: minmax(320px, 1.3fr) minmax(320px, 1fr) !important;
  grid-template-rows: 1fr !important;
}

.drawer-visual-rail,
.drawer-video-rail {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.drawer-video-rail video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 2 !important;
}

.drawer-navigation-panel {
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 22px 26px max(26px, env(safe-area-inset-bottom)) !important;
}

/* Liens menu */
.drawer-navigation-panel .drawer-menu-group a,
.drawer-navigation-panel .drawer-menu-group a:nth-child(n) {
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 6px 20px 6px 0 !important;
}

.drawer-menu-group a {
  font-size: 13px !important;
}

/* Titres de groupe */
.drawer-navigation-panel .drawer-menu-group > small {
  font-size: 6.5px !important;
  padding-bottom: 5px !important;
  letter-spacing: 0.24em !important;
}

/* Contact */
.drawer-navigation-panel .drawer-contact {
  font-size: 13px !important;
  min-height: 40px !important;
  padding: 10px 14px !important;
  margin-top: 14px !important;
}

/* Brand */
.drawer-navigation-panel .brand-copy > b {
  font-size: 20px !important;
}

/* Booking */
.drawer-book {
  font-size: 12px !important;
  padding: 11px 20px !important;
}

/* Bouton fermeture */
.drawer-x {
  left: auto !important;
  right: 20px !important;
  top: 20px !important;
  z-index: 165 !important;
}

/* ── Tablette (≤ 820px) : vidéo en haut, nav en bas ── */
@media (width <= 820px) {
  .drawer {
    width: min(420px, 94vw) !important;
  }

  .drawer-shell {
    grid-template-columns: 1fr !important;
    grid-template-rows: minmax(200px, 30dvh) auto !important;
  }

  .drawer-visual-rail,
  .drawer-video-rail {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .drawer-navigation-panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 18px 16px max(22px, calc(16px + env(safe-area-inset-bottom))) !important;
  }
}

/* ── Mobile (≤ 560px) ── */
@media (width <= 560px) {
  .drawer {
    width: min(360px, 94vw) !important;
  }

  .drawer-shell {
    grid-template-rows: minmax(160px, 26dvh) auto !important;
  }

  .drawer-visual-rail,
  .drawer-video-rail {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .drawer-navigation-panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 15px 13px max(20px, calc(13px + env(safe-area-inset-bottom))) !important;
  }

  .drawer-x {
    right: 14px !important;
    top: 14px !important;
  }
}

/* ══════════════════════════════════════ */
/* ── Footer : texte blanc agrandi ── */
/* ══════════════════════════════════════ */

/* ─ Nav links ─ */
.footer-main > nav > a {
  font-size: 13px !important;
  margin: 14px 0 !important;
}

/* ─ Nav titles (gold, keep readable) ─ */
.footer-main > nav > b {
  font-size: 17px !important;
  margin-bottom: 20px !important;
}

/* ─ Brand description ─ */
.footer-brand > p {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* ─ Location ─ */
.footer-location b {
  font-size: 14px !important;
}

.footer-location small {
  font-size: 10px !important;
}

/* ─ Contact info ─ */
.footer-contact {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

/* ─ ANISO world ─ */
.footer-aniso-world > p {
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.footer-main .footer-aniso-world > a {
  font-size: 11px !important;
}

.footer-aniso-world > div a {
  font-size: 10px !important;
}

/* ─ Architecture strip ─ */
.footer-architecture b {
  font-size: 15px !important;
}

.footer-architecture small {
  font-size: 9px !important;
}

/* ─ Newsletter ─ */
.footer-newsletter > div > p {
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.footer-newsletter form > label:first-child span {
  font-size: 12px !important;
}

.newsletter-consent {
  font-size: 12px !important;
}

.footer-newsletter form > button {
  font-size: 12px !important;
  min-width: 230px !important;
  min-height: 48px !important;
  padding: 12px 28px !important;
}

/* ─ Crown note ─ */
.footer-crown-note {
  font-size: 12px !important;
  line-height: 1.6 !important;
}

/* ─ Bottom bar ─ */
.footer-bottom {
  font-size: 10px !important;
}

.footer-bottom nav button {
  font-size: 10px !important;
}

/* ══════════════════════════════════════ */
/* ── Performance : hero en WebP ── */
/* ══════════════════════════════════════ */

.hero {
  background-image: url("/images/hero-estate.webp");
}
