:root{--act-bootcamp:#f472b6;--act-bootcamp-hover:#ec4899;--act-grit:#ef4444;--act-grit-hover:#dc2626;--act-core:#991b1b;--act-core-hover:#7f1d1d;--act-body-pump:#e11d48;--act-body-pump-hover:#be123c;--act-maxx-booty:#c026d3;--act-maxx-booty-hover:#a21caf;--act-body-attack:#ea580c;--act-body-attack-hover:#c2410c;--act-body-step:#eab308;--act-body-step-hover:#ca8a04;--act-pilates:#2d6a4f;--act-pilates-hover:#1b4332;--act-mobility:#14b8a6;--act-mobility-hover:#0d9488;--act-fit-seniors:#3b82f6;--act-fit-seniors-hover:#2563eb;--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;font-weight:700;margin:0 0 .25rem;color:var(--schedule-text);letter-spacing:-.02em}.schedule-season{font-size:.9rem;color:var(--schedule-muted);font-weight:500;margin:0}.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:.7rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:#fff;border:1px solid rgba(255,255,255,.12)}.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:600px}.schedule-table td,.schedule-table th{padding:.85rem .65rem;text-align:center;border-bottom:1px solid var(--schedule-border)}.schedule-table th{background:var(--schedule-bg);color:var(--schedule-text);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.schedule-table td:first-child,.schedule-table th:first-child{text-align:left;padding-left:1rem;font-weight:600;color:var(--schedule-muted);min-width:100px}.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:white;font-size:.8rem;font-weight:600;padding:.5rem .85rem;border-radius:8px;cursor:pointer;transition:all .2s ease;width:100%;max-width:140px;text-align:center;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.activity-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3)}.activity-button .activity-brand{font-size:.5em;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.95)}.activity-button .activity-name{font-size:1em;font-weight:700;letter-spacing:.02em}.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);color:#1c1917}.activity-body_step:hover{background:var(--act-body-step-hover);color:#1c1917}.activity-body_step .activity-brand,.activity-body_step .activity-name{color:#1c1917}.activity-pilates,.legend-act-pilates{background:var(--act-pilates)}.activity-pilates:hover{background:var(--act-pilates-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)}.legend-act-body_step{color:#1c1917}.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:#c4a574;color:#0f172a;font-size:.65rem;font-weight:800;line-height:20px;box-shadow:0 2px 6px rgba(0,0,0,.35)}@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 td,.schedule-table th{padding:.6rem .4rem;font-size:.8rem}.activity-button{font-size:.7rem;padding:.4rem .6rem;max-width:110px}}@media (max-width:480px){.schedule h2{font-size:1.2rem}.schedule-season{font-size:.8rem}.schedule-table td:first-child,.schedule-table th:first-child{min-width:85px;padding-left:.6rem}.activity-button{max-width:90px;font-size:.65rem;padding:.35rem .5rem}}