@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;600;800&family=Libre+Franklin:wght@700;900&family=Material+Symbols+Rounded:FILL@0;1&display=swap";@import "https://use.typekit.net/yhk2sap.css";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#67dae8;--brand-rgb:103, 218, 232;--brand-strong:#16a9b9;--brand-deep:#0f6470;--page-bg:#f7fbfc;--panel-bg:#fff;--panel-soft:#ecfbfd;--surface:#ffffffdb;--input-bg:#fff;--ink:#14252b;--muted:#60717a;--line:#0f64701c;--shadow:0 24px 80px #0f647024;--focus-ring:rgba(var(--brand-rgb), .28);--glass-bg:#ffffff9e;--glass-border:#ffffff80;--glass-highlight:#ffffffdb;--glass-shadow:0 24px 48px #0f647029;--danger:#dc2626;--danger-rgb:220, 38, 38;--danger-deep:#b91c1c;--radius-sm:4px;--radius-md:8px;--radius-lg:10px;--font-stack-body:"Bricolage Grotesque", sans-serif;--font-stack-headings:"trade-gothic-next", "Libre Franklin", sans-serif;--font-weight-body:400;--font-weight-body-bold:600;--font-weight-headings:800;--font-weight-headings-bold:900}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-strong:#67dae8;--brand-deep:#bff6fb;--page-bg:#0c1619;--panel-bg:#101f24;--panel-soft:#112b31;--surface:#101f24e0;--input-bg:#0d1a1e;--ink:#eefcff;--muted:#9eb5bc;--line:#67dae821;--shadow:0 28px 90px #0006;--focus-ring:rgba(var(--brand-rgb), .22);--glass-bg:#12252b94;--glass-border:#92dfe733;--glass-highlight:#e5faff3d;--glass-shadow:0 30px 64px #00000073;--danger:#f87171;--danger-rgb:248, 113, 113;--danger-deep:#ffb4b4}:root[data-style=stripe]{--glass-bg:var(--panel-bg);--glass-border:var(--line);--glass-highlight:transparent;--glass-shadow:none;--shadow:none}:root[data-palette=app]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#68dae8;--brand-rgb:104, 218, 232;--brand-strong:#68dae8;--brand-deep:#0a4e5c;--brand-soft:#cff4f8;--brand-line:#68dae833;--on-brand:#111;--page-bg:#fff;--panel-bg:#f4f5f5;--panel-soft:#f0feff;--surface:#fff;--input-bg:#fff;--ink:#111;--muted:#5c6566;--line:#e4e6e6;--danger:#d93a1e;--danger-rgb:217, 58, 30;--warning:#f3b23f;--focus-ring:#68dae873;--glass-bg:#ffffffb8;--glass-border:#fff9;--glass-shadow:0 8px 28px #1111111f;--tab-active:#111;--tab-active-bg:#11111112;--radius-card:16px;--radius-control:12px;--radius-pill:22px;--font-stack-body:"Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-stack-headings:var(--font-stack-body)}:root[data-palette=app][data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-soft:#0a4e5c;--brand-line:#00c2d133;--page-bg:#0d1416;--panel-bg:#161e20;--panel-soft:#0b2428;--surface:#161e20;--input-bg:#0d1416;--ink:#f3f6f6;--muted:#9ba7a9;--line:#2c3436;--danger:#ff7a5c;--warning:#ffc670;--glass-bg:#161e20b8;--glass-border:#ffffff14;--glass-shadow:0 8px 28px #00000073;--tab-active:#68dae8;--tab-active-bg:#68dae81f}*{box-sizing:border-box}html,body{background:0 0}body{min-height:100%;color:var(--ink);font-family:var(--font-stack-body);-webkit-font-smoothing:antialiased;margin:0;padding:.75rem;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--font-stack-headings);font-weight:var(--font-weight-headings);margin:0}.booking-widget{background:var(--panel-bg);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:480px;margin:0 auto;padding:1rem}.booking-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.booking-studio-select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);flex:1;padding:.5rem .6rem;font-size:.95rem}.booking-account-indicator{background:var(--panel-soft);border:1px solid var(--line);cursor:pointer;color:var(--brand-deep);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.85rem;display:flex}.booking-day-strip{gap:.35rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.booking-day-button{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--panel-bg);color:var(--ink);cursor:pointer;flex:none;padding:.5rem .7rem;font-size:.85rem}.booking-day-button[aria-pressed=true]{background:var(--brand);border-color:var(--brand-strong);color:var(--brand-deep);font-weight:600}.booking-class-list{flex-direction:column;gap:.6rem;display:flex}.booking-class-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-soft);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .75rem;display:flex}.booking-class-info h3{font-size:.95rem}.booking-class-meta{color:var(--muted);margin-top:.15rem;font-size:.82rem}.booking-button{border-radius:var(--radius-sm);background:var(--brand);color:var(--brand-deep);cursor:pointer;white-space:nowrap;border:none;padding:.5rem .9rem;font-weight:600}.booking-button:disabled{opacity:.5;cursor:not-allowed}.booking-button-secondary{border:1px solid var(--line);color:var(--ink);background:0 0}.booking-status-pill{color:var(--muted);white-space:nowrap;font-size:.78rem}.booking-empty-state{color:var(--muted);text-align:center;padding:1.5rem .5rem}.booking-form{flex-direction:column;gap:.6rem;display:flex}.booking-input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);padding:.6rem .7rem;font-size:1rem}.booking-input:focus{box-shadow:0 0 0 2px var(--focus-ring);outline:none}.booking-error-text{color:var(--danger-deep);font-size:.85rem}.booking-back-link{color:var(--brand-deep);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.85rem}.booking-confirm-details{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);margin:.75rem 0;padding:.75rem}.booking-account-services{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.booking-account-service-row{background:var(--panel-soft);border-radius:var(--radius-sm);justify-content:space-between;padding:.5rem .6rem;font-size:.85rem;display:flex}.booking-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1rem 0 .4rem;font-size:.8rem}
