/* ── Drawer : 380px, texte 16px ── */

/* --- Largeur fixe --- */
.drawer {
  width: 380px !important;
}

/* --- Single colonne, pas de rail visuel --- */
.drawer-shell {
  grid-template-columns: 1fr !important;
  grid-template-rows: 1fr !important;
}

.drawer-visual-rail,
.drawer-video-rail {
  display: none !important;
}

/* --- Panel navigation --- */
.drawer-navigation-panel {
  padding: 24px 28px max(28px, env(safe-area-inset-bottom)) !important;
  min-height: 100dvh !important;
}

/* --- Liens menu --- */
.drawer-navigation-panel .drawer-menu-group a,
.drawer-navigation-panel .drawer-menu-group a:nth-child(n) {
  font-size: 16px !important;
  min-height: 40px !important;
  padding: 8px 22px 8px 0 !important;
}

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

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

/* --- Contact --- */
.drawer-navigation-panel .drawer-contact {
  font-size: 15px !important;
  min-height: 44px !important;
  padding: 11px 15px !important;
  margin-top: 16px !important;
}

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

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

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

  .drawer-navigation-panel {
    padding: 20px 16px max(24px, calc(16px + env(safe-area-inset-bottom))) !important;
  }

  .drawer-navigation-panel .drawer-menu-group a,
  .drawer-navigation-panel .drawer-menu-group a:nth-child(n) {
    font-size: 15px !important;
    min-height: 38px !important;
  }

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

  .drawer-x {
    left: calc(min(340px, 94vw) - 55px) !important;
  }
}

/* ── Bouton fermeture menu ── */
.drawer-x {
  left: calc(380px - 62px) !important;
  z-index: 165 !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;
}

/* ══════════════════════════════════════ */
/* ── Musique de fond ── */
/* ══════════════════════════════════════ */

.bg-music-toggle {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 200;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #d4b97166;
  background: #0a1f14cc;
  color: #d4b971;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
  backdrop-filter: blur(8px);
}

.bg-music-toggle:hover {
  background: #0a1f14;
  border-color: #d4b971;
  transform: scale(1.08);
}

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

/* Le fond du hero est un PNG de 964 Ko ; on le remplace par la version
   WebP (266 Ko) sans toucher à la feuille compilée. */
.hero {
  background-image: url("/images/hero-estate.webp");
}
