/* Mobile menu v2 (28 Oct 2026): compact list, FR/EN toggle in the top bar, booking CTA in the thumb zone.
   Loaded after site.css; overrides the original .mobile-menu rules. Rollback: remove the <link> in layout.php. */
.mobile-menu{z-index:210;display:flex;flex-direction:column;padding:0 24px calc(18px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* Top bar: logo, language toggle, close */
.mobile-menu .mm-top{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:10px;flex:0 0 auto;min-height:64px;margin:0 -24px;padding:0 12px 0 24px;background:var(--deep);border-bottom:1px solid rgba(244,237,223,.12)}
.mobile-menu .mm-logo{display:block;margin-right:auto;line-height:0}
.mobile-menu .mm-logo img{width:104px;height:auto}
.mobile-menu .mm-lang{display:inline-flex;align-items:center;padding:3px;border:1px solid rgba(244,237,223,.3);border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.1em;line-height:1}
.mobile-menu .mm-lang>*{display:grid;place-items:center;min-width:44px;min-height:36px;padding:0 10px;border-radius:999px;color:var(--cream);text-decoration:none}
.mobile-menu .mm-lang .is-current{background:var(--cream);color:var(--deep)}
.mobile-menu .mm-lang a:hover,.mobile-menu .mm-lang a:focus-visible{background:rgba(244,237,223,.14)}
.mobile-menu .menu-close{position:static;display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;padding:0;font-size:2.1rem;line-height:1;color:var(--cream)}

/* Main links (serif) */
.mobile-menu nav.mm-nav{display:block;width:100%;max-width:560px;padding-top:8px}
.mobile-menu .mm-primary{display:grid}
.mobile-menu .mm-primary a{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(244,237,223,.1);font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,6.4vw,2rem);line-height:1.1;color:var(--cream);text-decoration:none}
.mobile-menu .mm-tag{font-family:Archivo,Arial,sans-serif;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1;padding:4px 7px;border-radius:999px;background:var(--sand);color:var(--deep)}

/* Secondary links (sans, two columns) */
.mobile-menu .mm-secondary{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding-top:10px}
.mobile-menu .mm-secondary a{padding:10px 0;font-family:Archivo,Arial,sans-serif;font-size:.95rem;font-weight:600;line-height:1.3;color:rgba(244,237,223,.8);text-decoration:none}
.mobile-menu .mm-primary a:hover,.mobile-menu .mm-secondary a:hover{color:var(--sand)}

/* Bottom: booking CTA + venue line, always in normal flow (no overlap) */
.mobile-menu .mm-bottom{width:100%;max-width:560px;margin-top:auto;padding-top:20px}
.mobile-menu .mm-bottom a.mobile-book{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin:0;padding:12px 20px;border-radius:2px;background:var(--sand);color:var(--deep);font-family:Archivo,Arial,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.02em;text-decoration:none}
.mobile-menu .mm-bottom p{position:static;margin:12px 0 0;font-size:.76rem;line-height:1.5;color:rgba(244,237,223,.6)}
.mobile-menu .mm-bottom p span{color:var(--sand)}

/* Short screens (small phones with browser bars) */
@media(max-height:600px){
  .mobile-menu .mm-primary a{padding:9px 0;font-size:1.45rem}
  .mobile-menu .mm-secondary a{padding:8px 0}
  .mobile-menu .mm-bottom{padding-top:14px}
  .mobile-menu .mm-bottom a.mobile-book{min-height:48px}
}

/* Tablets: a right-hand drawer instead of a full-screen sheet */
@media(min-width:700px){
  .mobile-menu{left:auto;width:min(440px,100%);box-shadow:0 0 0 100vmax rgba(2,29,22,.55),-24px 0 60px rgba(0,0,0,.25)}
}
