/* v2.5.47: public mobile performance and navigation polish */
:root{--mm-mobile-safe-bottom:env(safe-area-inset-bottom,0px)}
@media(max-width:760px){
  html{scroll-behavior:smooth;}
  body:not(.admin-body){overflow-x:hidden!important;padding-bottom:calc(82px + var(--mm-mobile-safe-bottom))!important;}
  .mm-site-header{position:sticky!important;top:0!important;z-index:10020!important;background:#07110d!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 12px 34px rgba(0,0,0,.16)!important;}
  .mm-site-header .mm-nav-shell{width:100%!important;max-width:none!important;margin:0!important;padding:14px 18px 12px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 52px!important;grid-template-areas:"brand toggle" "actions actions"!important;gap:12px!important;align-items:center!important;}
  .mm-brand-lockup{grid-area:brand!important;min-width:0!important;display:flex!important;align-items:center!important;gap:12px!important;text-decoration:none!important;}
  .mm-brand-mark{width:54px!important;height:54px!important;min-width:54px!important;border-radius:20px!important;display:grid!important;place-items:center!important;font-size:20px!important;line-height:1!important;}
  .mm-brand-text strong{font-size:26px!important;line-height:.95!important;letter-spacing:-.05em!important;white-space:normal!important;}
  .mm-brand-text small{font-size:12px!important;letter-spacing:.22em!important;margin-top:7px!important;}
  .mm-mobile-toggle{grid-area:toggle!important;display:grid!important;place-items:center!important;width:52px!important;height:52px!important;min-width:52px!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.11)!important;color:#d7bc72!important;box-shadow:none!important;}
  .mm-mobile-toggle .material-symbols-outlined{font-size:30px!important;}
  .mm-header-actions{grid-area:actions!important;width:100%!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) minmax(92px,.7fr)!important;gap:10px!important;align-items:center!important;margin:0!important;}
  .mm-header-actions .mm-nav-icon-action{width:46px!important;height:46px!important;border-radius:999px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.10)!important;display:grid!important;place-items:center!important;color:#d7bc72!important;}
  .mm-header-actions .mm-book-btn{height:46px!important;min-height:46px!important;width:100%!important;border-radius:999px!important;padding:0 12px!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;font-size:15px!important;box-shadow:none!important;}
  .mm-header-actions .mm-login-action,.mm-header-actions .mm-login-trigger{height:46px!important;border-radius:999px!important;padding:0 12px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;font-size:14px!important;box-shadow:none!important;}
  .mm-public-account{width:100%!important;min-width:0!important;}
  .mm-public-account-btn{height:46px!important;width:100%!important;border-radius:999px!important;padding:0 10px!important;justify-content:center!important;gap:7px!important;}
  .mm-public-avatar{width:31px!important;height:31px!important;min-width:31px!important;font-size:13px!important;}
  .mm-public-account-name{max-width:72px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;}
  .mm-public-account-menu{right:0!important;left:auto!important;top:52px!important;min-width:220px!important;}
  .mm-main-nav{position:fixed!important;left:14px!important;right:14px!important;top:calc(132px + env(safe-area-inset-top,0px))!important;z-index:10050!important;display:none!important;grid-template-columns:1fr!important;gap:8px!important;padding:14px!important;background:linear-gradient(180deg,#0b1711,#07110d)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(0,0,0,.38)!important;}
  body.mm-menu-open .mm-main-nav{display:grid!important;animation:mmMobileMenuIn .16s ease-out both!important;}
  body.mm-menu-open:before{content:""!important;position:fixed!important;inset:0!important;background:rgba(3,8,6,.44)!important;z-index:10030!important;backdrop-filter:blur(3px)!important;}
  body.mm-menu-open .mm-site-header{z-index:10060!important;}
  .mm-main-nav a,.mm-nav-more-btn-v2509{min-height:46px!important;width:100%!important;justify-content:flex-start!important;border-radius:16px!important;padding:0 14px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;font-weight:900!important;}
  .mm-nav-more-v2509{width:100%!important;}
  .mm-nav-more-menu-v2509{position:static!important;display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;box-shadow:none!important;border:0!important;background:transparent!important;margin:8px 0 0!important;padding:0!important;gap:8px!important;min-width:0!important;}
  .mm-nav-more-menu-v2509 a{background:rgba(215,188,114,.10)!important;color:#f4ecd2!important;margin:0!important;}
  .mm-public-backbar-v2537{position:relative!important;top:auto!important;padding:10px 18px!important;display:flex!important;gap:9px!important;background:#07110d!important;border-top:1px solid rgba(255,255,255,.06)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;}
  .mm-public-backbar-v2537 a,.mm-public-backbar-v2537 button{height:42px!important;border-radius:999px!important;font-size:14px!important;}
  .mm-live-chat-launch{display:none!important;}
  .mm-live-chat-panel{left:12px!important;right:12px!important;bottom:calc(92px + var(--mm-mobile-safe-bottom))!important;width:auto!important;max-height:calc(100dvh - 170px)!important;overflow:auto!important;border-radius:24px!important;}
  .mm-public-actionbar-v2526{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(10px + var(--mm-mobile-safe-bottom))!important;z-index:99970!important;height:68px!important;padding:7px!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:7px!important;background:rgba(7,17,13,.93)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:28px!important;box-shadow:0 18px 50px rgba(0,0,0,.32)!important;backdrop-filter:blur(16px)!important;}
  .mm-public-actionbar-v2526 a,.mm-public-actionbar-v2526 button{height:54px!important;min-height:54px!important;border-radius:22px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:0 6px!important;font-size:14px!important;line-height:1!important;}
  .mm-public-actionbar-v2526 .material-symbols-outlined{font-size:22px!important;}
  .mm-public-actionbar-v2526 strong{font-size:14px!important;}
  .mm-public-actionbar-v2526 a:first-child{background:#d7bc72!important;color:#07110d!important;}
  .mm-public-actionbar-v2526 a:first-child .material-symbols-outlined{color:#07110d!important;}
  .mm-hero,.mm-page-hero,.mm-public-hero,.mm-calendar-hero,.mm-services-hero,.mm-contact-hero{min-height:auto!important;padding-top:64px!important;padding-bottom:78px!important;}
  .mm-hero h1,.mm-page-hero h1,.mm-public-hero h1,.mm-calendar-hero h1,.mm-services-hero h1{font-size:clamp(42px,12vw,68px)!important;line-height:.98!important;letter-spacing:-.07em!important;}
  .mm-hero p,.mm-page-hero p,.mm-public-hero p,.mm-calendar-hero p,.mm-services-hero p{font-size:18px!important;line-height:1.55!important;}
  .mm-site-header + .mm-public-backbar-v2537 + *{margin-top:0!important;}
  .mm-footer-wrap-v2512{padding-bottom:94px!important;}
  .mm-search-card,.mm-login-card{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;border-radius:28px!important;max-height:calc(100dvh - 28px)!important;overflow:auto!important;}
  img{max-width:100%;height:auto;}
  .mm-card,.card,.mm-panel,.panel{content-visibility:auto;contain-intrinsic-size:360px;}
}
@media(max-width:390px){
  .mm-site-header .mm-nav-shell{padding-left:14px!important;padding-right:14px!important;grid-template-columns:minmax(0,1fr) 48px!important;}
  .mm-brand-mark{width:48px!important;height:48px!important;min-width:48px!important;border-radius:18px!important;}
  .mm-brand-text strong{font-size:22px!important;}
  .mm-brand-text small{font-size:10px!important;letter-spacing:.18em!important;}
  .mm-mobile-toggle{width:48px!important;height:48px!important;min-width:48px!important;}
  .mm-header-actions{grid-template-columns:44px minmax(0,1fr) 86px!important;gap:8px!important;}
  .mm-header-actions .mm-nav-icon-action,.mm-header-actions .mm-book-btn,.mm-header-actions .mm-login-action,.mm-header-actions .mm-login-trigger,.mm-public-account-btn{height:44px!important;min-height:44px!important;}
  .mm-header-actions .mm-book-btn span:last-child{font-size:13px!important;}
}
@media(min-width:761px){
  .mm-main-nav{display:flex;}
}
@keyframes mmMobileMenuIn{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v2.5.48: remove duplicate Book CPL from mobile header; bottom action bar owns mobile booking */
@media(max-width:760px){
  body:not(.admin-body) .mm-header-actions{grid-template-columns:46px minmax(0,1fr)!important;}
  body:not(.admin-body) .mm-header-actions .mm-book-btn{display:none!important;}
  body:not(.admin-body) .mm-header-actions .mm-login-action,
  body:not(.admin-body) .mm-header-actions .mm-login-trigger,
  body:not(.admin-body) .mm-public-account,
  body:not(.admin-body) .mm-public-account-btn{min-width:0!important;width:100%!important;}
  body:not(.admin-body) .mm-site-header .mm-nav-shell{gap:10px!important;}
  body:not(.admin-body) .mm-header-actions{margin-top:0!important;}
}
@media(max-width:390px){
  body:not(.admin-body) .mm-header-actions{grid-template-columns:44px minmax(0,1fr)!important;}
}

/* v2.5.49: mobile header controls — search beside hamburger, login moved into menu */
.mm-mobile-header-controls-v2549{display:none;}
.mm-mobile-menu-login-v2549,.mm-mobile-menu-account-v2549{display:none;}
@media(max-width:760px){
  body:not(.admin-body) .mm-site-header .mm-nav-shell{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand controls"!important;
    gap:12px!important;
    padding:14px 18px!important;
  }
  body:not(.admin-body) .mm-mobile-header-controls-v2549{
    grid-area:controls!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    min-width:max-content!important;
  }
  body:not(.admin-body) .mm-mobile-search-toggle-v2549,
  body:not(.admin-body) .mm-mobile-toggle{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    border-radius:999px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.11)!important;
    color:#d7bc72!important;
    box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
    cursor:pointer!important;
  }
  body:not(.admin-body) .mm-mobile-search-toggle-v2549 .material-symbols-outlined,
  body:not(.admin-body) .mm-mobile-toggle .material-symbols-outlined{font-size:28px!important;line-height:1!important;}
  body:not(.admin-body) .mm-header-actions{display:none!important;}
  body:not(.admin-body) .mm-main-nav{
    top:calc(88px + env(safe-area-inset-top,0px))!important;
    max-height:calc(100dvh - 112px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body:not(.admin-body) .mm-mobile-menu-login-v2549,
  body:not(.admin-body) .mm-mobile-menu-account-v2549{
    min-height:48px!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    border-radius:16px!important;
    padding:0 14px!important;
    background:linear-gradient(135deg,#d7bc72,#b89d4e)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:#07110d!important;
    font-weight:950!important;
    text-decoration:none!important;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  body:not(.admin-body) .mm-mobile-menu-account-v2549:last-of-type{
    background:rgba(255,255,255,.055)!important;
    color:#fff!important;
  }
  body:not(.admin-body) .mm-mobile-menu-login-v2549 .material-symbols-outlined,
  body:not(.admin-body) .mm-mobile-menu-account-v2549 .material-symbols-outlined{font-size:22px!important;color:currentColor!important;}
  body:not(.admin-body) .mm-brand-lockup{min-width:0!important;}
  body:not(.admin-body) .mm-brand-text{min-width:0!important;}
  body:not(.admin-body) .mm-brand-text strong{font-size:24px!important;}
}
@media(max-width:390px){
  body:not(.admin-body) .mm-site-header .mm-nav-shell{padding-left:14px!important;padding-right:14px!important;grid-template-columns:minmax(0,1fr) auto!important;}
  body:not(.admin-body) .mm-mobile-header-controls-v2549{gap:8px!important;}
  body:not(.admin-body) .mm-mobile-search-toggle-v2549,
  body:not(.admin-body) .mm-mobile-toggle{width:48px!important;height:48px!important;min-width:48px!important;}
  body:not(.admin-body) .mm-brand-text strong{font-size:22px!important;}
}

/* v2.5.50: keep mobile account/login as the first menu action */
@media(max-width:760px){
  body:not(.admin-body) .mm-main-nav .mm-mobile-menu-primary-v2550{
    order:-20!important;
    margin-bottom:2px!important;
  }
  body:not(.admin-body) .mm-main-nav > a[href*="/classes"]{order:-10!important;}
  body:not(.admin-body) .mm-main-nav > a[href*="/services"]{order:-9!important;}
  body:not(.admin-body) .mm-main-nav > a[href*="/gallery"]{order:-8!important;}
}
