@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");
/* Shared visual language: public studio and booking portal. */
:root {
  color-scheme: var(--mvm-scheme);
  --mvm-scheme: dark;
  --mvm-background: #080d10;
  --mvm-surface: #10191e;
  --mvm-raised: #1c292f;
  --mvm-text: #e7eff2;
  --mvm-muted: #a3b5be;
  --mvm-border: #425760;
  --mvm-accent: #79d6e1;
  --mvm-on-accent: #082c34;
  --mvm-chrome: linear-gradient(135deg, #edf7fa 0%, #a8c0ca 45%, #d7e9ef 52%, #8dcbd6 100%);
  --mvm-radius: 16px;
  --mvm-pill: 999px;
  --mvm-body: "DM Sans", sans-serif;
  --mvm-heading: "Manrope", sans-serif;
  --muted: var(--mvm-muted);
  --line: var(--mvm-border);
  --motion: 180ms;
  --ease: cubic-bezier(.22,1,.36,1);
  font-family: var(--mvm-body);
  background: var(--mvm-background);
  color: var(--mvm-text);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--mvm-background); color: var(--mvm-text); -webkit-font-smoothing: antialiased; }
::selection { background: var(--mvm-accent); color: var(--mvm-on-accent); }
button, input, select, textarea { font: inherit; }
h1, h2, h3 { font-family: var(--mvm-heading); }
.brand img { object-fit: contain; filter: brightness(0) invert(1); }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--mvm-accent); outline-offset: 4px; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

:root[data-theme="bright"] {
  --mvm-scheme: light;
  --mvm-background: #e8edef;
  --mvm-surface: #f3f6f7;
  --mvm-raised: #dce5e9;
  --mvm-text: #182b33;
  --mvm-muted: #506570;
  --mvm-border: #aabcc5;
  --mvm-accent: #13788b;
  --mvm-on-accent: #f4fcfd;
}
:root[data-theme="bright"] .brand img,
:root[data-theme="bright"] .entry-brand img { filter: brightness(0); }
.theme-switch {
  position: fixed; right: 5vw; bottom: 22px; z-index: 80;
  display: inline-flex; align-items: center; gap: 9px;
  min-height: 44px; padding: 7px 13px; border: 1px solid #a8c0ca;
  border-radius: 999px; background: var(--mvm-chrome); color: #173943;
  font: 600 12px/1.3 var(--mvm-body); cursor: pointer;
  box-shadow: inset 0 1px 0 #fff9, 0 4px 18px #0002;
}
.theme-switch:hover { background: var(--mvm-chrome); color: #173943; border-color: var(--mvm-accent); }
.theme-switch-track { width: 32px; height: 18px; padding: 3px; border-radius: 20px; background: #314b56; }
.theme-switch-track::after { content: ""; display: block; width: 12px; height: 12px; border-radius: 50%; background: #9fe9f1; transition: transform 180ms ease; }
[data-theme="bright"] .theme-switch-track::after { transform: translateX(14px); }
input { accent-color: var(--mvm-accent); }
@media(max-width:760px) { .theme-switch { right:16px; bottom:16px; } body { padding-bottom:76px; } }
@media(prefers-reduced-motion:reduce) { .theme-switch-track::after { transition:none; } }

:root[data-theme="bright"] :is(.intro-orbit,.orb) img { filter: brightness(0); }
:is(.hour-grid .hour-block[aria-pressed="true"] small,.slot-list .slot[aria-pressed="true"] span,.slot-list .slot:hover span) { color:var(--mvm-on-accent); }
:root .text-link, :root .service-icon { color:var(--mvm-accent); }
:root .choice:has(input:checked) { border-color:var(--mvm-accent); }
:root .entry-progress .is-current, :root .active-room h4::before { background:var(--mvm-accent); }
