/* One coordinated mobile shell. Legacy components are retained in the v74 rollback build. */
:root{--shell-top:64px;--shell-bottom:72px;--shell-navy:#07142e;--shell-panel:#142744;--shell-gold:#f0ce6a;--shell-text:#edf3ff}
.shell-top,.shell-bottom,.shell-menu{display:none}
.shell-sheet{box-sizing:border-box;width:min(520px,calc(100% - 24px));max-height:85dvh;margin:auto;border:1px solid #677791;border-radius:24px;padding:24px;background:var(--shell-panel);color:var(--shell-text);box-shadow:0 20px 80px #0008}
.shell-sheet::backdrop{background:#020918b8;backdrop-filter:blur(5px)}
.shell-sheet h2{margin:0 40px 12px 0;color:var(--shell-gold);font:700 26px/1.25 Georgia,serif}
.shell-sheet p{font:400 16px/1.6 system-ui,sans-serif;color:#d6dfef}
.shell-sheet .shell-close{float:right;width:44px;height:44px;border:1px solid #8190a7;border-radius:12px;background:#07142e;color:#fff;font:24px system-ui;cursor:pointer}
.shell-sheet .shell-actions{display:grid;gap:12px;margin-top:22px}
.shell-sheet .shell-actions>a,.shell-sheet .shell-actions>button{box-sizing:border-box;display:block;width:100%;padding:15px 12px;min-height:48px;border:1px solid #75849b;border-radius:12px;background:#07142e;color:#fff;text-align:center;text-decoration:none;font:700 16px/1.35 system-ui;cursor:pointer}
.shell-sheet .shell-actions>.shell-whatsapp{background:#146c45;color:#fff;border-color:#68bc8c}
.shell-sheet .shell-actions>.shell-book{background:#f0ce6a;color:#07142e;border-color:#f0ce6a}
.shell-reviews{box-sizing:border-box;max-width:1180px;margin:40px auto;padding:28px 22px;background:#0e203b;border:1px solid #586982;border-radius:22px;color:#edf3ff;font:400 16px/1.65 system-ui,sans-serif}
.shell-reviews h2{font:700 clamp(25px,4vw,36px)/1.25 Georgia,serif;color:#f0ce6a;margin:0 0 12px}
.shell-reviews a{color:#ffe38e;text-decoration:underline;text-underline-offset:3px}
.shell-reviews .review-score{font-size:21px;font-weight:700}
.shell-reviews .review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.shell-reviews article{min-width:0;padding:20px;background:#172e4c;border:1px solid #5c708c;border-radius:16px}
.shell-reviews h3{margin:6px 0;font-size:18px;color:#fff}
.shell-reviews p{color:#dce6f4}
.shell-reviews .review-stars{color:#f0ce6a;letter-spacing:2px}
.shell-reviews small{color:#c9d5e7}
@media(max-width:1023px){
  html[data-shell-v75]{scroll-padding-top:80px}
  html[data-shell-v75] body{padding-top:calc(var(--shell-top) + env(safe-area-inset-top,0px))!important;padding-bottom:calc(var(--shell-bottom) + env(safe-area-inset-bottom,0px) + 16px)!important}
  /* Migration boundary: old nodes can be inserted by the compiled desktop app. */
  html[data-shell-v75] :is(#mobile-quick-topics,#mobile-appointment-bar,#mobile-floating-actions,#aa-swipe-consultation,.aa-contact-dock,.v48-conversion-bar,.aa-pwa-tabbar-v43,.aa-pwa-sheet-v43,.dock-wrap,#root nav.fixed,#root div.fixed.top-0,.v35-header,.desktop-judgment-strip){display:none!important}
  html[data-shell-v75] :is(.aa-verification-ribbon-v57){position:relative!important;top:auto!important;transform:none!important;margin-top:0!important}
  html[data-shell-v75] :is(.shell-old-header){display:none!important}
  html[data-shell-v75] #root [style*="padding-top: var(--navbar-total-h)"]{padding-top:0!important}
  html[data-shell-v75] #root [style*="position: sticky"][style*="navbar-total-h"]{display:none!important}
  html[data-shell-v75] #home{padding-top:0!important;min-height:0!important}
  html[data-shell-v75] #home>.container,html[data-shell-v75] #home>.relative.container{padding-top:28px!important;padding-bottom:28px!important}
  html[data-shell-v75] #home h1{font-size:clamp(30px,7.5vw,46px)!important;line-height:1.16!important}
  html[data-shell-v75] #home img[src*="professional-photo"]{height:360px!important;object-fit:contain!important;object-position:center!important}
  html[data-shell-v75] .shell-top{box-sizing:border-box;display:flex;position:fixed;inset:0 0 auto;z-index:1100;align-items:center;justify-content:space-between;gap:6px;height:calc(var(--shell-top) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 10px 0;background:#07142ef5;color:#f0ce6a;border-bottom:1px solid #66768b;backdrop-filter:blur(12px)}
  .shell-top>a{display:flex;align-items:center;gap:7px;min-width:0;color:#f0ce6a;text-decoration:none}
  .shell-top img{flex:none;width:32px;height:40px;object-fit:cover;border-radius:12px}
  .shell-top strong{font:700 clamp(12px,3.55vw,20px)/1.25 Georgia,serif;white-space:nowrap}
  .shell-top button{flex:none;width:44px;height:44px;border:1px solid #71829a;border-radius:12px;background:#152a47;color:#fff;font:24px/1 system-ui;cursor:pointer}
  html[data-shell-v75] .shell-bottom{box-sizing:border-box;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:1100;height:calc(var(--shell-bottom) + env(safe-area-inset-bottom,0px));padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:#07142ef5;border-top:1px solid #66768b;backdrop-filter:blur(12px);gap:3px}
  .shell-bottom>a,.shell-bottom>button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:0;border:0;border-radius:12px;background:transparent;color:#edf3ff;text-decoration:none;font:600 11px/1.2 system-ui;cursor:pointer}
  .shell-bottom .shell-primary{background:#f0ce6a;color:#07142e}
  .shell-bottom svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
  .shell-bottom :is(a,button):active{transform:scale(.96)}
  .shell-menu:not([hidden]){display:grid;position:fixed;top:calc(var(--shell-top) + env(safe-area-inset-top,0px));left:8px;right:8px;z-index:1101;max-height:65dvh;overflow:auto;padding:12px;border:1px solid #71829a;border-radius:0 0 18px 18px;background:#10233e;box-shadow:0 20px 40px #0008}
  .shell-menu a{padding:13px;color:#edf3ff;text-decoration:none;border-bottom:1px solid #415572;font:600 16px/1.3 system-ui}
  .shell-sheet{margin:auto 0 0;width:100%;max-width:none;border-radius:24px 24px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
  .shell-reviews{margin:24px 12px;padding:22px 16px}
  .shell-reviews .review-grid{grid-template-columns:1fr}
  html[data-shell-v75] .aa-booking-overlay-v58{z-index:1200}
  html[data-shell-v75] .aa-booking-dialog-v58{max-height:85dvh;overflow:auto}
}
@media(prefers-reduced-motion:reduce){.shell-top,.shell-bottom,.shell-sheet{scroll-behavior:auto;transition:none;animation:none}}
