:root{--act-bootcamp:#db2777;--act-bootcamp-hover:#be185d;--act-grit:#b91c1c;--act-grit-hover:#991b1b;--act-core:#7f1d1d;--act-core-hover:#641616;--act-body-pump:#9f1239;--act-body-pump-hover:#881337;--act-maxx-booty:#86198f;--act-maxx-booty-hover:#701a75;--act-body-attack:#c2410c;--act-body-attack-hover:#9a3412;--act-body-step:#a16207;--act-body-step-hover:#854d0e;--act-body-balance:#4d7c0f;--act-body-balance-hover:#3f6212;--act-mobility:#0f766e;--act-mobility-hover:#115e59;--act-fit-seniors:#1d4ed8;--act-fit-seniors-hover:#1e40af;--schedule-bg:#0f172a;--schedule-surface:#1e293b;--schedule-border:#334155;--schedule-text:#f8fafc;--schedule-muted:#94a3b8;--schedule-radius:12px;--schedule-shadow:0 4px 24px rgba(0,0,0,0.25)}.schedule-wrapper{width:100%;padding:var(--section-padding,2rem) clamp(1rem,3vw,2rem)}.schedule,.schedule-wrapper{background:var(--bg-elite-black,#0a0a0a)}.schedule{padding:2.5rem 1.5rem;max-width:1200px;margin:0 auto;border-radius:var(--schedule-radius);box-shadow:var(--schedule-shadow);border:1px solid var(--schedule-border)}.schedule-header{text-align:center;margin-bottom:1.5rem}.schedule h2{font-size:1.75rem;margin:0 0 .25rem;letter-spacing:-.02em}.schedule h2,.schedule-season{font-weight:700;color:var(--schedule-text)}.schedule-season{font-size:1.1rem;margin:0 0 .75rem;letter-spacing:.02em}.schedule-switch{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1rem}.schedule-switch-btn{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--schedule-border);background:rgba(15,23,42,.6);color:var(--schedule-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.schedule-switch-btn:hover{color:var(--schedule-text);border-color:rgba(196,165,116,.5)}.schedule-switch-btn.is-active{background:rgba(215,25,32,.25);border-color:rgba(215,25,32,.6);color:var(--schedule-text)}.schedule-switch-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:999px;background:#c4a574;color:#0f172a}.schedule-preview-banner{margin:0 0 .75rem;padding:.65rem .85rem;font-size:.85rem;font-weight:600;color:#fbbf24;background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.35);border-radius:8px}.schedule-booking-preview{color:#fbbf24!important;font-size:.9rem;margin:1rem 0 0;line-height:1.5;text-align:center}.schedule-legend-preview,.schedule-table-preview{opacity:.72}.activity-button-preview{cursor:default}.activity-button-preview:hover{transform:none;box-shadow:none}.schedule-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;margin-bottom:1.5rem;padding:.75rem 1rem;background:rgba(15,23,42,.5);border-radius:8px}.legend-item{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.35rem .65rem;border-radius:6px}.schedule-legend-activities{gap:.5rem .65rem}.schedule-legend-activities .legend-item{font-size:.75rem;font-weight:700;text-transform:none;letter-spacing:.02em;color:#fff;border:1px solid rgba(255,255,255,.12);text-shadow:0 1px 1px rgba(0,0,0,.35)}.legend-act-brand{font-size:.85em;font-weight:500;opacity:.9}.schedule-table-wrapper{overflow-x:auto;border-radius:var(--schedule-radius);border:1px solid var(--schedule-border)}.schedule-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:0;table-layout:fixed}.schedule-table td,.schedule-table th{padding:.55rem .3rem;text-align:center;border-bottom:1px solid var(--schedule-border);vertical-align:middle}.schedule-table th{background:var(--schedule-bg);color:var(--schedule-text);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.schedule-day-name{display:block}.schedule-day-date{display:block;margin-top:.2rem;font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--schedule-muted);opacity:.9}.schedule-table td:first-child,.schedule-table th:first-child{text-align:left;padding-left:.75rem;font-weight:600;color:var(--schedule-muted);width:5.75rem;min-width:5.75rem;white-space:nowrap}.schedule-table th:first-child{position:sticky;left:0;z-index:2;background:var(--schedule-bg);box-shadow:2px 0 8px rgba(0,0,0,.2)}.schedule-table td:first-child{position:sticky;left:0;z-index:1;background:var(--schedule-surface);box-shadow:2px 0 8px rgba(0,0,0,.15)}.schedule-table tbody tr:hover td:first-child{background:rgba(51,65,85,.4)}.schedule-table tbody tr{transition:background .15s ease}.schedule-table tbody tr:hover{background:rgba(51,65,85,.4)}.schedule-table tbody tr:last-child td{border-bottom:none}.activity-button{border:none;color:#fff;font-size:clamp(.68rem,.55rem + .35vw,.82rem);font-weight:800;padding:.4rem .35rem;border-radius:7px;cursor:pointer;transition:all .2s ease;width:100%;max-width:7.25rem;text-align:center;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.activity-button:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1);color:#fff}.activity-button .activity-brand{font-size:.52em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.92)}.activity-button .activity-name{font-size:1em;font-weight:800;letter-spacing:.01em;color:#fff;word-break:break-word;hyphens:auto}.activity-button:active{transform:translateY(0)}.activity-bootcamp,.legend-act-bootcamp{background:var(--act-bootcamp)}.activity-bootcamp:hover{background:var(--act-bootcamp-hover)}.activity-grit,.legend-act-grit{background:var(--act-grit)}.activity-grit:hover{background:var(--act-grit-hover)}.activity-core,.legend-act-core{background:var(--act-core)}.activity-core:hover{background:var(--act-core-hover)}.activity-body_pump,.legend-act-body_pump{background:var(--act-body-pump)}.activity-body_pump:hover{background:var(--act-body-pump-hover)}.activity-maxx_booty,.legend-act-maxx_booty{background:var(--act-maxx-booty)}.activity-maxx_booty:hover{background:var(--act-maxx-booty-hover)}.activity-body_attack,.legend-act-body_attack{background:var(--act-body-attack)}.activity-body_attack:hover{background:var(--act-body-attack-hover)}.activity-body_step,.legend-act-body_step{background:var(--act-body-step)}.activity-body_step:hover{background:var(--act-body-step-hover)}.activity-body_balance,.legend-act-body_balance{background:var(--act-body-balance)}.activity-body_balance:hover{background:var(--act-body-balance-hover)}.activity-mobility,.legend-act-mobility{background:var(--act-mobility)}.activity-mobility:hover{background:var(--act-mobility-hover)}.activity-fit_seniors,.legend-act-fit_seniors{background:var(--act-fit-seniors)}.activity-fit_seniors:hover{background:var(--act-fit-seniors-hover)}.empty-slot{color:var(--schedule-muted);font-size:.85rem}.schedule-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.7);z-index:9999;display:none;justify-content:center;align-items:center;backdrop-filter:blur(4px);padding:1rem;box-sizing:border-box}.schedule-overlay.active{display:flex}.modal{background:var(--schedule-surface);padding:1.75rem;border-radius:var(--schedule-radius);width:380px;max-width:100%;max-height:min(92vh,900px);overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.4);text-align:center;position:relative;z-index:10000;border:1px solid var(--schedule-border)}.modal--wide{width:min(520px,100%)}.modal-detail{text-align:left;font-size:.88rem;line-height:1.5;color:var(--schedule-muted);margin:.75rem 0 1rem!important}.modal-video{position:relative;width:100%;padding-bottom:56.25%;height:0;margin-top:.5rem;border-radius:8px;overflow:hidden;background:#000}.modal-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.modal h3{font-size:1.25rem;font-weight:600;color:var(--schedule-text);margin:0 0 .75rem}.modal h3 .modal-brand{font-size:.65em;font-weight:500;opacity:.85}.modal h3 .modal-activity{font-weight:700}.modal p{font-size:.9rem;color:var(--schedule-muted);margin:.25rem 0}.modal-time{font-weight:600;color:var(--schedule-text)!important}.modal-slot-date{font-size:.95rem!important;font-weight:600;color:#c4a574!important;margin:.35rem 0 .5rem!important}.schedule-booking-week-note{font-size:.8rem;color:var(--schedule-muted);margin:0 0 1rem;line-height:1.45}.close-button{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:var(--schedule-muted);cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.close-button:hover{color:var(--schedule-text)}.modal--booking{width:min(440px,100%);text-align:left}.schedule-signup-cta{margin:1rem auto 0;max-width:42rem;padding:.85rem 1.1rem;font-size:1rem;font-weight:600;line-height:1.5;color:#fff;background:linear-gradient(135deg,rgba(215,25,32,.35),rgba(196,165,116,.2));border:1px solid rgba(215,25,32,.55);border-radius:10px;box-shadow:0 4px 20px rgba(215,25,32,.15)}.schedule-booking-banner{font-size:.85rem;color:var(--schedule-muted);margin:.65rem 0 0}.modal-attendance{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;background:rgba(15,23,42,.6);border-radius:10px;border:1px solid var(--schedule-border)}.modal-attendance-ring{flex-shrink:0;width:72px;height:72px;border-radius:50%;border:3px solid var(--schedule-hiit);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--schedule-text);font-size:1.1rem}.modal-attendance-count{font-size:1.35rem;color:#fca5a5}.modal-attendance-sep{opacity:.5;margin:0 2px}.modal-attendance-max{opacity:.7}.modal-attendance-label{margin:0!important;font-weight:600;color:var(--schedule-text)!important;font-size:.9rem!important}.modal-attendance-hint{margin:.35rem 0 0!important;font-size:.78rem!important;line-height:1.45!important}.schedule-booking-form{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--schedule-border)}.schedule-booking-intro{font-size:.85rem;color:var(--schedule-muted);margin:0 0 1rem;line-height:1.5}.schedule-field-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--schedule-muted);margin:.75rem 0 .35rem}.schedule-field-input{width:100%;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--schedule-border);background:var(--schedule-bg);color:var(--schedule-text);font-size:.95rem;box-sizing:border-box}.schedule-phone-row{display:flex;gap:.5rem}.schedule-phone-country{flex:0 0 42%;max-width:11rem;padding:.65rem .5rem;border-radius:8px;border:1px solid var(--schedule-border);background:var(--schedule-bg);color:var(--schedule-text);font-size:.8rem;max-height:12rem}.schedule-phone-input{flex:1}.schedule-book-btn{width:100%;margin-top:1rem;padding:.85rem;background:var(--schedule-hiit);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.95rem;cursor:pointer;transition:background .2s}.schedule-book-btn:hover:not(:disabled){background:var(--schedule-hiit-hover)}.schedule-book-btn:disabled{opacity:.55;cursor:not-allowed}.schedule-booking-error{color:#fca5a5;font-size:.85rem;margin:.75rem 0 0}.schedule-booking-success{text-align:center;padding:1rem 0}.schedule-booking-success p{color:#86efac!important;margin-bottom:1rem!important}.schedule-spots-left{text-align:center;font-size:.8rem;color:#fbbf24;margin:.5rem 0 0}.activity-button{position:relative}.activity-count-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#111;color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.65rem;font-weight:800;line-height:20px;box-shadow:0 2px 6px rgba(0,0,0,.35);text-shadow:none}@media (max-width:1100px){.schedule-table{min-width:52rem;table-layout:auto}.schedule-table td:first-child,.schedule-table th:first-child{width:auto;min-width:5.5rem}}@media (max-width:768px){.schedule{padding:1.5rem 1rem;margin:0 .5rem}.schedule h2{font-size:1.4rem}.schedule-legend{gap:.5rem;padding:.6rem}.legend-item{font-size:.65rem;padding:.25rem .5rem}.schedule-table{min-width:40rem}.schedule-table td,.schedule-table th{padding:.4rem .2rem;font-size:.75rem}.activity-button{font-size:.72rem;padding:.35rem .25rem;max-width:5.75rem}}@media (max-width:480px){.schedule h2{font-size:1.2rem}.schedule-season{font-size:.8rem}.schedule-table{min-width:34rem}.schedule-table td:first-child,.schedule-table th:first-child{min-width:4.5rem;width:4.5rem;padding-left:.45rem;font-size:.7rem}.activity-button{max-width:4.85rem;font-size:.62rem;padding:.3rem .2rem;border-radius:6px}.activity-button .activity-brand{font-size:.48em}}