.addons-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:none;isolation:isolate}.addons-overlay.is-open{display:flex;align-items:center;justify-content:center}body.modal-open{overflow:hidden}.addons-sheet{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--color-surface-dark);color:var(--color-text-secondary);border-radius:16px;border:2px solid var(--color-item-border);width:min(1000px,94vw);max-height:84vh;overflow:hidden;box-shadow:0 22px 70px #0000008c;display:flex;flex-direction:column}.addons-header{display:flex;justify-content:center;align-items:center;position:relative;padding:20px 24px 12px;border-bottom:1px solid var(--color-item-border)}.addons-title{margin:0;text-align:center;font-size:var(--font-size-xl);letter-spacing:.2px;font-weight:700;color:var(--color-text-secondary)}.addons-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:var(--font-size-2xl);line-height:24px;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.addons-close:hover{background:var(--color-item-border);color:var(--color-brand-accent)}.addons-content{display:flex;flex-direction:column;flex:1;min-height:0}.addons-image,.addons-image img{display:none}.addons-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;overflow:hidden}.addons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;padding:16px 24px;overflow-y:auto;flex:1}.addons-grid .addon-card{background:var(--color-surface-dark);color:var(--color-text-secondary);border-radius:12px;border:2px solid var(--color-item-border);box-shadow:0 1px 2px #0000000a;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s;position:relative}.addons-grid .addon-card:hover{border-color:var(--color-brand-accent);border:2px solid var(--color-brand-accent);transform:translateY(-2px)}.addons-grid .addon-card .plan-info{display:flex;flex-direction:column;gap:8px}.addons-grid .addon-card .plan-type{color:var(--color-text-secondary);font-weight:700;font-size:var(--font-size-md);margin:0}.addons-grid .addon-card .plan-details{display:flex;flex-direction:column;gap:4px;text-align:left}.addons-grid .addon-card .plan-price{display:flex;align-items:baseline;gap:4px;margin:4px 0}.addons-grid .addon-card .plan-price .price-amount{color:var(--color-brand-accent);font-size:var(--font-size-2xl);line-height:28px;font-weight:700}.addons-grid .addon-card .plan-price .price-unit{color:var(--color-text-muted);font-size:var(--font-size-base)}.addons-grid .addon-card .plan-description{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:18px;margin:0}.addons-grid .addon-card .plan-meta{display:flex;flex-direction:column;gap:8px;flex:1}.addons-grid .addon-card .plan-original{font-size:var(--font-size-base);color:var(--color-text-subtle);text-decoration:line-through}.addons-grid .addon-card .plan-features{margin:0;padding:0;list-style:none}.addons-grid .addon-card .plan-features li{margin:4px 0;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:18px;position:relative;padding-left:20px}.addons-grid .addon-card .plan-features li:before{content:"✓";position:absolute;left:0;color:var(--color-brand-accent);font-weight:700;font-size:var(--font-size-sm)}.addons-grid .addon-card .plan-actions{display:flex;justify-content:flex-end;margin-top:auto;padding-top:8px}.addons-grid .addon-card .select-btn{background:var(--color-brand-accent);color:var(--color-button-primary);border:none;border-radius:999px;padding:8px 20px;cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all .2s}.addons-grid .addon-card .select-btn:hover{background:var(--color-brand-accent-hover);transform:scale(1.02)}.addons-grid .addon-card .select-btn.selected{background:var(--color-success)}.addons-grid .addon-card .check-circle{position:absolute;top:12px;right:12px;width:24px;height:24px;border:2px solid var(--color-item-border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer;z-index:10}.addons-grid .addon-card.selected .check-circle{background:var(--color-success);border-color:var(--color-success)}.addons-grid .addon-card .check-circle:after{content:"✓";color:var(--color-button-primary);font-size:var(--font-size-base);font-weight:700;opacity:0;transform:scale(.5);transition:all .2s ease}.addons-grid .addon-card.selected .check-circle:after{opacity:1;transform:scale(1)}.addons-grid .addon-card.selected{border:2px solid var(--color-brand-accent)}.addons-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;background:var(--color-surface-dark);border-top:1px solid var(--color-item-border);flex-shrink:0}.addons-hint{opacity:.75;font-size:var(--font-size-sm);line-height:18px;color:var(--color-text-muted)}.addons-actions .addons-actions-right{display:flex;gap:12px;flex-shrink:0}.addons-action-btn{padding:10px 16px;border-radius:10px;cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:all .2s;min-width:100px}.addons-action-btn.addons-skip{border:1px solid var(--color-item-border);background:transparent;color:var(--color-text-secondary)}.addons-action-btn.addons-skip:hover{background:var(--color-item-border);border-color:var(--color-brand-accent)}.addons-action-btn.addons-continue{border:none;background:var(--color-brand-accent);color:var(--color-button-primary)}.addons-action-btn.addons-continue:hover{background:var(--color-brand-accent-hover)}@media (max-width: 768px){.addons-sheet{width:95vw;max-height:90vh;height:90vh}.addons-content{overflow-y:auto;flex:1;min-height:0}.addons-grid{grid-template-columns:1fr;padding:12px 16px;overflow-y:auto;flex:1}.addons-actions{flex-direction:column;align-items:stretch;gap:12px;flex-shrink:0}.addons-hint{text-align:center}.addons-actions .addons-actions-right{width:100%}.addons-skip,.addons-continue{flex:1}}#addonMode .plan-card{background:#f8fafc;color:#0f172a;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000a}#addonMode .plan-card .plan-type{color:#0f172a;font-weight:700}#addonMode .plan-card .select-btn{background:var(--color-buttons-secondary);color:var(--color-button-primary);border-radius:999px}:root{--color-text-primary: #1F2837;--color-text-white: #FFFFFF;--color-brand-accent: #F0F;--color-brand-accent-hover: #E608E6;--color-student: #3B83F6;--color-junior: #FFA500;--color-adult: #A856F7;--color-surface-dark: #2A2A2A;--color-form-bg: #1A1A1A;--color-card-fill: #f1f1f1;--color-item-bg: #1e293b;--color-item-border: #334155;--color-text-muted: #94a3b8;--color-text-subtle: #64748b;--color-success: #059669;--color-success-transparent: #5a004b41;--plan-section-gap: 32px;--plan-info-horizontal-padding: 0px;--color-buttons-secondary: #1F2837;--color-button-primary: #fff;--color-text-secondary: #D1D5DB;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-size-4xl: 36px;--font-size-5xl: 48px}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;height:100%}body>*{max-width:100vw;overflow-x:hidden}body{background-color:#1a1a1a;background-image:url(https://storage.googleapis.com/boulderscss/signup-bg-gradient-pink.png);background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;min-height:100vh;display:flex;flex-direction:column;color:#fff;font-family:Inter,system-ui,sans-serif;overflow-x:hidden;-webkit-background-attachment:fixed;-moz-background-attachment:fixed;-o-background-attachment:fixed;will-change:auto}.header{width:100%;background:transparent;position:relative;z-index:10;margin-bottom:32px}.header-container{max-width:1200px;margin:0 auto;padding:0 20px}.header-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0;min-height:80px;gap:12px}.header-text{font-size:var(--font-size-2xl);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:2px;margin:0;text-align:center}.logo-section{display:flex;align-items:center;flex-shrink:0}.logo-image{height:50px;width:auto;-o-object-fit:contain;object-fit:contain;display:block}.logo-fallback{display:none;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;color:#fff;background:var(--color-brand-accent);border-radius:8px;padding:12px 16px;height:50px;min-width:120px}@media (max-width: 768px){.header-container{padding:0 16px}.header-content{padding:16px 0;min-height:60px}.logo-image{height:40px}.logo-fallback{height:40px;font-size:var(--font-size-lg);padding:8px 12px;min-width:100px}.header-text{font-size:var(--font-size-m);letter-spacing:1px}}@media (max-width: 480px){.header-content{padding:12px 0;min-height:50px}.logo-image{height:24px}.logo-fallback{height:35px;font-size:var(--font-size-base);padding:6px 10px;min-width:80px}.header-text{font-size:var(--font-size-lg);letter-spacing:1px}}.step-indicator{background-color:transparent;padding:0}.step-indicator-container{max-width:1200px;margin:0 auto;padding:0 16px}.step-indicator-content{display:flex;align-items:center;justify-content:center;gap:8px}.step{display:flex;flex-direction:column;align-items:center;gap:8px}.step-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);transition:all .3s ease}.step-circle.active{background-color:transparent;border:2px solid #f0f;color:#fff}.step-circle.completed{background-color:#f0f;color:#fff}.step-circle.completed .checkmark{display:block}.step-circle .checkmark{display:none;width:16px;height:16px}.step-circle.inactive{background-color:transparent;border:2px solid white;color:#fff}.step-label{font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary);transition:color .3s ease}.step.active .step-label,.step.completed .step-label{color:#f0f}.step.inactive .step-label{color:#9ca3af}.step-connector{width:40px;height:2px;background-color:#374151;margin:0 8px;transition:background-color .3s ease}.step-connector.completed{background-color:#f0f}.main{max-width:1200px;margin:0 auto;padding:24px 22px;text-align:center}.main-title{font-size:var(--font-size-2xl);text-transform:uppercase;font-weight:700;text-align:right;margin-bottom:16px}.main-subtitle{font-size:var(--font-size-lg);padding-bottom:20px;color:var(--color-text-white)}.secondary-subtitle{font-size:var(--font-size-base);padding-bottom:20px;color:var(--color-text-secondary);margin-top:-10px;line-height:1.4}.step-content{margin-top:50px;flex:1;display:flex;flex-direction:column;background:transparent}.step-panel{display:none;animation:fadeIn .3s ease-in-out}.step-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-panel-content{max-width:600px;margin:0 auto;text-align:center}#step-4 .step-panel-content{max-width:1200px;text-align:left}.step-panel-title{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:16px;text-align:center}.step-panel-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:40px;text-align:center}.plan-section{position:relative;margin-top:12px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.plan-section.collapsed{max-height:0;margin-top:12px;margin-bottom:0;opacity:0;transform:translateY(-20px);visibility:hidden}.plan-section.expanded{max-height:none;margin-top:var(--plan-section-gap);opacity:1;transform:translateY(0);visibility:visible}.plan-section[data-state=entering]{animation:expandSection .4s cubic-bezier(.4,0,.2,1) forwards}.plan-section[data-state=leaving]{animation:collapseSection .4s cubic-bezier(.4,0,.2,1) forwards}.plan-section[data-state=entering] .plan-options{animation:contentFadeIn .4s ease-out .2s both}.plan-section[data-state=leaving] .plan-options{animation:contentFadeOut .2s ease-out forwards}.full-bleed{margin-left:calc(-1 * var(--main-padding));margin-right:calc(-1 * var(--main-padding));width:calc(100% + (2 * var(--main-padding)))}@keyframes expandSection{0%{max-height:0;opacity:0;transform:translateY(-20px);margin-top:0}to{max-height:1000px;opacity:1;transform:translateY(0);margin-top:var(--plan-section-gap)}}@keyframes collapseSection{0%{max-height:1000px;opacity:1;transform:translateY(0);margin-top:var(--plan-section-gap)}to{max-height:0;opacity:0;transform:translateY(-20px);margin-top:0}}.plan-options{--carousel-edge-padding: var(--page-gutter, 16px);--carousel-scroll-padding: var(--page-gutter, 16px);display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;padding-top:24px;margin-left:calc(-1 * var(--page-gutter, 16px));margin-right:calc(-1 * var(--page-gutter, 16px));padding-left:var(--carousel-edge-padding);padding-right:var(--carousel-edge-padding);scroll-padding-left:var(--carousel-scroll-padding);scroll-padding-right:var(--carousel-scroll-padding)}.plan-options .plan-card{scroll-snap-align:center}#quantityMode{padding-top:12px}.value-card-summary{display:flex;justify-content:center;align-items:center;width:100%;margin-top:24px}.search-wrapper{position:relative;margin-bottom:32px}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--color-text-subtle);width:20px;height:20px}.search-input{width:100%;padding:16px 48px;background:var(--color-item-bg);border:2px solid var(--color-item-border);border-radius:12px;color:var(--color-button-primary);font-size:var(--font-size-md);transition:all .2s ease;outline:none}.search-input:focus{border-color:#f0f;box-shadow:0 0 0 3px #f000f01a}.search-input::-moz-placeholder{color:var(--color-text-subtle)}.search-input::placeholder{color:var(--color-text-subtle)}.gym-list{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.gym-item{background:var(--color-item-bg);border:2px solid var(--color-item-border);border-radius:12px;padding:16px 20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:16px}.gym-item:hover{border-color:#f0f;transform:translate(4px)}.gym-item.selected{background:#27193f;border-color:#f0f}.gym-info{flex:1;min-width:0}.gym-name{font-size:var(--font-size-md);font-weight:600;text-align:left;color:var(--color-button-primary);margin-bottom:4px}.gym-details{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;width:100%}.gym-address{font-size:var(--font-size-sm);color:var(--color-text-muted)}.check-circle{width:24px;height:24px;border:2px solid var(--color-item-border);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.gym-item.selected .check-circle{background:#f0f;border-color:#f0f}.check-circle:after{content:"✓";color:#fff;font-size:var(--font-size-base);font-weight:700;opacity:0;transform:scale(.5);transition:all .2s ease}.gym-item.selected .check-circle:after{opacity:1;transform:scale(1)}.no-results{text-align:center;padding:40px 20px;color:var(--color-text-subtle);font-size:var(--font-size-base)}.hidden{display:none}.back-arrow-btn{position:absolute;top:20px;left:20px;background:none;border:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-text-secondary);z-index:10;padding:0}.back-arrow-btn:hover{color:#f0f;transform:translate(-2px)}.back-arrow-btn:active{transform:translate(-4px)}.back-arrow-btn svg{width:20px;height:20px}.step-panel:not(#step-2) .back-arrow-btn{display:none}.forward-arrow-btn{position:absolute;top:20px;right:20px;background:none;border:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--color-text-secondary);z-index:10;padding:0}.forward-arrow-btn:hover{color:#f0f;transform:translate(2px)}.forward-arrow-btn:active{transform:translate(4px)}.forward-arrow-btn svg{width:20px;height:20px}.step-panel#step-5 .forward-arrow-btn{display:none}@media (max-width: 640px){.auth-mode-toggle{margin-bottom:24px}.auth-mode-btn{padding:10px 16px;font-size:var(--font-size-base)}.back-arrow-btn,.forward-arrow-btn{width:44px;height:44px;top:16px}.back-arrow-btn{left:16px}.forward-arrow-btn{right:16px}.back-arrow-btn svg,.forward-arrow-btn svg{width:18px;height:18px}}.gym-heads-up{position:fixed;top:20px;right:20px;background:#1e293bf2;border:2px solid var(--color-item-border);border-radius:12px;padding:12px 16px;z-index:1000;opacity:0;transform:translateY(-10px);transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.gym-heads-up.show{opacity:1;transform:translateY(0)}.gym-heads-up-content{display:flex;align-items:center;gap:8px}.gym-heads-up-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.gym-heads-up-name{font-size:var(--font-size-base);color:#f0f;font-weight:600}.access-heads-up{position:fixed;top:20px;right:20px;background:#1e293bf2;border:2px solid var(--color-item-border);border-radius:12px;padding:12px 16px;z-index:1000;opacity:0;transform:translateY(-10px);transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 32px #0000004d}.access-heads-up.show{opacity:1;transform:translateY(0)}.access-heads-up-content{display:flex;align-items:center;gap:8px}.access-heads-up-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.access-heads-up-name{font-size:var(--font-size-base);color:#f0f;font-weight:600}@media (max-width: 640px){.gym-heads-up{top:10px;right:10px;padding:10px 12px}.gym-heads-up-label{font-size:var(--font-size-xs)}.gym-heads-up-name{font-size:var(--font-size-sm)}.access-heads-up{top:10px;right:10px;padding:10px 12px}.access-heads-up-label{font-size:var(--font-size-xs)}.access-heads-up-name{font-size:var(--font-size-sm)}}@media (max-width: 767px){:root{--plan-section-gap: 24px}.value-card-summary{margin-top:20px;justify-content:center}.value-card-continue-btn{width:auto}}.value-card-summary-value{font-size:var(--font-size-lg);font-weight:600;color:#fff}.value-card-continue-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;border:none;background:#f0f;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.value-card-continue-btn:disabled{opacity:.4;cursor:not-allowed}.value-card-continue-btn:not(:disabled):hover{transform:translateY(-1px)}.value-card-continue-prefix,.value-card-continue-suffix{font-size:var(--font-size-md);font-weight:500;color:#e5e7eb}.plan-info-text{text-align:center;max-width:800px;margin:32px auto;padding-left:var(--plan-info-horizontal-padding);padding-right:var(--plan-info-horizontal-padding)}.plan-info-text p{color:#eee;font-size:var(--font-size-md);line-height:1.6;margin:0}.plan-info-text a{color:var(--color-brand-accent);text-decoration:underline;transition:color .3s ease}.plan-info-text a:hover{color:color-mix(in srgb,var(--color-brand-accent) 80%,white 20%)}.skip-section{display:flex;gap:12px;justify-content:space-between;margin:24px 0}.back-btn,.skip-btn{padding:12px 24px;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.back-btn{background:var(--color-brand-accent);color:#fff}.back-btn:hover{background-color:#4b5563;color:var(--color-text-secondary)}.skip-btn{background:#f0f;color:#fff}.skip-btn:hover{background-color:#374151;color:var(--color-text-secondary);border-color:#4b5563}.plan-card.disabled{opacity:.4;pointer-events:none;filter:grayscale(.3)}.plan-card.disabled .plan-select-btn{background-color:#dbd8d1;color:#6b7280}.category-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.category-item{background:var(--color-item-bg);border:2px solid var(--color-item-border);border-radius:12px;cursor:pointer;transition:all .3s ease;overflow:hidden}.category-item.selected{border-color:#f0f;background:#1d283b}.category-header{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}.category-info{flex:1;min-width:0}.category-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-button-primary);margin-bottom:3px;text-align:center}.category-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4;text-align:center}.category-icon{width:20px;height:20px;color:var(--color-text-subtle);transition:all .3s ease;flex-shrink:0}.category-item.expanded .category-icon{transform:rotate(180deg);color:#f0f}.category-content{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.category-item.expanded .category-content{max-height:1000px}.category-description{padding:0 20px 12px 18px;border-bottom:1px solid var(--color-item-border);margin-bottom:0}.category-description p{font-size:var(--font-size-sm);line-height:1.5;color:#cbd5e1;margin:0;text-align:left}.plans-list{display:flex;flex-direction:column;gap:0px}.plan-card{background:var(--color-buttons-secondary);border-radius:0;border-top:1px solid var(--color-item-border);cursor:pointer;transition:all .2s ease;display:flex;align-items:left;justify-content:space-between;padding-top:12px;gap:12px}.plan-card:active{transform:scale(.98)}.plan-card.selected{background:var(--color-success-transparent);border-top:#f0f 1px solid;border-bottom:#f0f 1px solid}.plan-info{flex:1;min-width:0}.plan-type{font-size:var(--font-size-md);font-weight:600;color:var(--color-button-primary);margin-bottom:6px;text-align:left}.plan-details{display:flex;flex-direction:column;text-align:left;gap:4px}.plan-price{display:flex;align-items:baseline;gap:4px}.price-amount{font-size:var(--font-size-2xl);font-weight:700;color:#f0f;line-height:1}.price-unit{font-size:var(--font-size-sm);color:#f0f;font-weight:500}.plan-description{font-size:var(--font-size-base);color:var(--color-text-muted);line-height:1.3}.check-circle{margin-top:16px;width:28px;height:28px;border:2px solid var(--color-item-border);border-radius:50%;flex-shrink:0;display:flex;align-items:right;justify-content:center;transition:all .3s ease}.check-circle:after{content:"✓";color:#fff;font-size:var(--font-size-md);font-weight:700;opacity:0;transform:scale(.5);transition:all .2s ease}@media (hover: none) and (pointer: coarse){.category-header{min-height:72px;padding:18px;text-align:left}.plan-card{min-height:80px;padding:16px 18px}.check-circle{width:32px;height:32px}}@media (max-width: 375px){.category-header{padding:14px;text-align:left}.category-title{font-size:var(--font-size-md);text-align:left}.category-subtitle{font-size:var(--font-size-sm);text-align:left}.category-description{padding:12px 16px 8px}.category-description p{font-size:var(--font-size-sm)}.plan-card{padding:12px 14px}.plan-type{font-size:var(--font-size-base)}.price-amount{font-size:var(--font-size-md)}.plan-description{font-size:var(--font-size-sm)}}@media (min-width: 641px){.category-list{gap:12px;margin-bottom:32px}.category-header{padding:20px}.category-title{font-size:var(--font-size-lg)}.category-subtitle{font-size:var(--font-size-base)}.category-icon{width:24px;height:24px}.plan-card{padding:16px 20px}.plan-card:hover,.category-item:hover{border-color:#f0f}.plan-details{flex-direction:row;align-items:left;gap:12px}.footer-text{font-size:var(--font-size-base);padding:0 20px}.category-description{padding:0 24px 16px}.category-description p{font-size:var(--font-size-sm);text-align:center}}.plan-card.selected .check-circle{background:#f0f;border-color:#f0f}.plan-card.selected .check-circle:after{opacity:1;transform:scale(1)}.plan-card{cursor:pointer;transition:all .2s ease}.plan-card:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.plan-card.selected{transform:translateY(0);box-shadow:0 6px 16px #f000f033}.plan-card.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.plan-card.disabled:hover{transform:none;box-shadow:none}.quantity-panel{display:none;padding:16px;background:#0f172acc;border-top:#f0f 1px solid;border-bottom:#f0f 1px solid;border-radius:12px;border:1px solid rgba(240,0,240,.2);position:relative;z-index:1;animation:slideDown .3s ease-out;width:100%;box-sizing:border-box}.quantity-panel.show{display:block}.quantity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.quantity-label{font-size:var(--font-size-base);font-weight:600;color:#cbd5e1;text-transform:uppercase;letter-spacing:.5px}.quantity-total{font-size:var(--font-size-lg);font-weight:700;color:#f0f}.quantity-selector{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px 12px;background:var(--color-card-fill);border-radius:12px;width:100%}.quantity-controls{display:flex;align-items:center;gap:12px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:60px}}.quantity-controls{display:flex;align-items:center;gap:8px;border-radius:6px;padding:4px 6px}.quantity-btn{width:36px;height:36px;border:2px solid var(--color-item-border);border-radius:8px;background:transparent;color:#cbd5e1;font-size:var(--font-size-lg);font-weight:600;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.quantity-btn:hover:not(:disabled){border-color:#f0f;color:#f0f;transform:scale(1.05)}.quantity-btn:active:not(:disabled){transform:scale(.95)}.quantity-btn:disabled{opacity:.3;cursor:not-allowed}.quantity-btn.plus{background:#f0f;border-color:#f0f;color:#fff}.quantity-btn.plus:hover:not(:disabled){background:#e609e6;border-color:#e609e6}.quantity-btn.plus:disabled{background:#f000f04d;opacity:.5}.quantity-display{min-width:48px;height:36px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;color:#f0f;background:#f000f01a;border-radius:8px;border:1px solid rgba(240,0,240,.2)}.continue-arrow{width:44px;height:44px;background:#f0f;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:600;flex-shrink:0}.continue-arrow:after{content:"→"}.continue-arrow:hover{background:#e609e6;transform:translate(2px)}.continue-arrow:active{transform:translate(0)}.total-display{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1;margin-left:16px}.total-amount{font-size:var(--font-size-md);font-weight:700;color:#f0f;line-height:1}.total-unit{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;margin-top:1px}.punch-card-continue{margin-top:20px;display:flex;justify-content:center;padding:0 12px 12px}.plan-info .continue-btn{background:#f0f;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #f000f04d;width:100%;margin-top:8px;text-transform:none;letter-spacing:0;display:none}.plan-info .continue-btn:hover{background:#e609e6;transform:translateY(-1px);box-shadow:0 4px 12px #f000f066}.plan-info .continue-btn:active{transform:translateY(0);box-shadow:0 2px 6px #f000f04d}.plan-info .continue-btn:disabled{background:#64748b;cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}@media (max-width: 640px){.plan-card .quantity-selector{padding:6px 8px;gap:8px;border-radius:10px}.quantity-btn{width:44px;height:44px;font-size:var(--font-size-2xl)}.quantity-display{min-width:50px;height:44px;font-size:var(--font-size-2xl)}.total-amount{font-size:var(--font-size-2xl)}.total-unit{font-size:var(--font-size-sm)}.continue-btn{width:100%;padding:16px 32px;font-size:var(--font-size-base)}}@media (hover: none) and (pointer: coarse){.quantity-btn{width:48px;height:48px}.quantity-display{height:48px;min-width:55px}}.divider{height:1px;background:var(--color-item-border);margin:16px 0}.features-list{list-style:none;display:flex;flex-direction:column;gap:10px}.feature-item{display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-sm);color:#cbd5e1;line-height:1.5}.feature-check{width:18px;height:18px;border-radius:50%;background:#f000f026;color:#f0f;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;font-size:var(--font-size-xs);font-weight:700}.footer-text{text-align:center;font-size:var(--font-size-base);line-height:1.7;color:#cbd5e1;max-width:900px;margin:0 auto;padding:0 20px}.footer-text a{color:#f0f;text-decoration:none;font-weight:600}.footer-text a:hover{text-decoration:underline}.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-subtle);font-size:var(--font-size-base)}@media (max-width: 640px){.category-header{padding:16px}.category-title{font-size:var(--font-size-md)}.plans-list .plan-card{padding:20px 20px 0}.price-amount{font-size:var(--font-size-2xl)}}.original-price{text-decoration:line-through;color:#9ca3af;font-size:var(--font-size-2xl);margin-right:8px}.discounted-price{color:var(--color-brand-accent);font-size:var(--font-size-4xl);font-weight:700}.plan-info{font-size:var(--font-size-base);color:#6b7280;margin-bottom:20px;font-style:none}.plan-separator{height:1px;background-color:var(--color-text-primary);margin:0 0 14px}.plan-content{flex:1;display:flex;flex-direction:column}.plan-features{list-style:none;margin-bottom:32px;flex:1}.plan-features li{color:#374151;position:relative;padding:8px 0 8px 24px}.plan-features li:before{content:"✓";position:absolute;left:0;color:var(--card-accent);font-weight:700}.plan-select-btn{width:100%;padding:12px 24px;background:var(--card-accent);color:var(--color-button-primary);border:1px solid var(--card-accent);border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .3s ease,border-color .3s ease}.plan-select-btn.attention-glare{position:relative;overflow:hidden;box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent) 20%,transparent)}.plan-select-btn.attention-glare:after{content:"";position:absolute;top:-60%;left:-120%;width:200%;height:220%;background:linear-gradient(120deg,#fff0,#ffffffbf 45%,#fff0 70%);transform:rotate(18deg);opacity:0;pointer-events:none;animation:plan-select-glare .9s ease forwards}.plan-select-btn:hover{background:var(--card-accent-hover);border-color:var(--card-accent-hover)}@keyframes plan-select-glare{0%{transform:translate(0) rotate(18deg);opacity:0}35%{opacity:.85}to{transform:translate(140%) rotate(18deg);opacity:0}}.category-toggle{position:relative;display:flex;justify-content:center;margin:32px auto;background-color:var(--color-item-bg);border:1px solid var(--color-item-border);border-radius:999px;padding:4px;max-width:300px;overflow:hidden;box-shadow:0 4px 16px #00000040,0 1px 4px #00000026,inset 0 1px #ffffff0d;transition:all .3s cubic-bezier(.4,0,.2,1)}.category-toggle:hover{box-shadow:0 6px 20px #0000004d,0 2px 6px #0003,inset 0 1px #ffffff14;transform:translateY(-1px)}.category-toggle:before{content:"";position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);border-radius:999px;background:linear-gradient(135deg,#f0f,color-mix(in srgb,#f0f 80%,white 20%));transform:translate(0);transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #f0f6,0 1px 3px #ff00ff40,inset 0 1px #fff3}.category-toggle.right-active:before{transform:translate(calc(100% + 4px));background:linear-gradient(135deg,#f0f,color-mix(in srgb,#f0f 80%,white 20%))}.toggle-btn{position:relative;z-index:1;flex:1;padding:12px 24px;background-color:transparent;color:#d6d6d6;border:none;border-radius:999px;font-weight:600;font-size:var(--font-size-base);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.toggle-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(255,255,255,.08) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.toggle-btn:hover:before{opacity:1}.toggle-btn.active{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);animation:activeButtonPulse .4s ease-out}.toggle-btn:hover:not(.active){color:var(--color-text-secondary);transform:scale(1.02)}.toggle-btn:active{transform:scale(.98)}@keyframes activeButtonPulse{0%{text-shadow:0 1px 2px rgba(0,0,0,.3)}50%{text-shadow:0 1px 2px rgba(0,0,0,.3),0 0 8px rgba(255,255,255,.4)}to{text-shadow:0 1px 2px rgba(0,0,0,.3)}}.toggle-btn:focus-visible{outline:2px solid #f0f;outline-offset:2px}.carousel-container{overflow:hidden}.carousel-container .carousel{overflow:visible}@media (max-width: 480px){.main{padding:0;margin:0}.main-title{font-size:var(--font-size-base)!important;margin-top:12px!important}.category-toggle{max-width:280px;margin:24px auto}.toggle-btn{padding:10px 20px;font-size:var(--font-size-sm)}.step-content{margin:20px -22px 0;max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:40px}.step-panel-content{max-width:100%;padding:0 16px 20px;margin-top:0}.main-subtitle{font-size:var(--font-size-md);padding-bottom:12px;margin-bottom:8px}.secondary-subtitle{font-size:var(--font-size-sm);padding-bottom:12px;margin-bottom:8px;line-height:1.3}.step-panel-title{font-size:var(--font-size-xl);margin-bottom:12px}.step-panel-description{font-size:var(--font-size-base);margin-bottom:24px}.plan-options{margin-left:-22px;margin-right:-22px;width:calc(100% + 44px)}.quantity-card{position:relative;max-width:80%}.quantity-selector{background:var(--color-card-fill);border-radius:12px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0 auto;transition:all .3s cubic-bezier(.4,0,.2,1)}.quantity-selector:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.quantity-controls{display:flex;align-items:center;gap:8px;border-radius:12px;padding:4px}.quantity-btn{width:44px;height:44px;border:none;border-radius:10px;background:#f5f5f5;color:#333;font-size:var(--font-size-xl);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;overflow:hidden}.quantity-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(0,0,0,.05) 0%,transparent 70%);opacity:0;transition:opacity .2s ease}.quantity-btn:hover:before{opacity:1}.quantity-btn:hover{background:#e8e8e8;color:#000;transform:scale(1.05)}.quantity-btn:active{transform:scale(.95)}.quantity-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.quantity-btn:disabled:hover{background:#f5f5f5;color:#333;transform:none}.quantity-btn.plus{background:#f0f;color:#fff}.quantity-btn.plus:hover{background:#e609e6;color:#fff}.quantity-btn.plus:before{background:radial-gradient(circle at center,rgba(255,255,255,.2) 0%,transparent 70%)}.quantity-display{min-width:60px;height:44px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);font-weight:700;color:#000;background:#fff;border-radius:10px;border:1px solid #e0e0e0;position:relative}.total-display{flex:1;text-align:right}.total-label{font-size:var(--font-size-base);color:#333;font-weight:500;margin-bottom:4px}.total-amount{font-size:var(--font-size-2xl);font-weight:800;color:#000;line-height:1}.currency{font-size:var(--font-size-xl);color:#f0f;margin-left:2px}.order-summary{margin:0 22px}.quantity-display.updated{animation:quantityPulse .3s ease-out}@keyframes quantityPulse{0%{transform:scale(1)}50%{transform:scale(1.1);background:#f0f;color:#fff}to{transform:scale(1)}}}@media (max-width: 640px){.quantity-selector{padding:6px 8px;gap:8px;border-radius:10px;max-width:100%;margin-bottom:12px}.quantity-controls{order:1;flex-shrink:0}.continue-arrow{order:2;flex-shrink:0}.quantity-btn{width:48px;height:48px;font-size:var(--font-size-2xl);border-radius:12px}.quantity-display{min-width:50px;height:48px;font-size:var(--font-size-xl);border-radius:12px}.total-amount{font-size:var(--font-size-2xl)}.currency{font-size:var(--font-size-lg)}.total-label{font-size:var(--font-size-sm)}}@media (max-width: 480px){body{padding:12px}.quantity-selector{padding:4px 6px;gap:6px;border-radius:8px;flex-wrap:wrap;justify-content:space-between;margin-bottom:12px}.quantity-controls{order:1;flex-shrink:0}.continue-arrow{order:2;flex-shrink:0}.total-display{order:3;flex:none;text-align:right;min-width:120px}.quantity-btn{width:44px;height:44px;font-size:var(--font-size-xl)}.quantity-display{min-width:45px;height:44px;font-size:var(--font-size-lg)}.total-amount{font-size:var(--font-size-2xl)}.currency{font-size:var(--font-size-md)}}@media (hover: none) and (pointer: coarse){.quantity-btn{width:52px;height:52px}.quantity-display{height:52px;min-width:60px}}.info-form-section{min-width:0;margin:0 22px}.quantity-btn:focus-visible{outline:2px solid #f0f;outline-offset:2px}.quantity-selector.loading{pointer-events:none;opacity:.7}.quantity-selector.loading:after{content:"";position:absolute;top:50%;right:24px;width:16px;height:16px;border:2px solid #f0f;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.total-price{font-size:var(--font-size-lg);font-weight:700;color:#1f2837;margin:0;text-align:right;white-space:nowrap}.personal-info-form,.payment-form{max-width:500px;margin:0 auto}.form-group{margin-bottom:24px}.form-row{display:flex;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:none;margin-bottom:8px;font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group select{width:100%;padding:12px 16px;background-color:#2a2a2a;border:2px solid #374151;border-radius:8px;color:#fff;font-size:var(--font-size-base);transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#f0f}.form-group input::-moz-placeholder{color:#9ca3af}.form-group input::placeholder{color:#9ca3af}.info-section{margin-bottom:40px}.info-section-title{font-size:var(--font-size-md);text-align:left;font-weight:700;margin-bottom:24px;color:#fff}.login-status{margin-bottom:24px;padding:16px 20px;background-color:#111827;border:1px solid #374151;border-radius:12px}.login-status-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.login-status-label{margin:0;font-size:var(--font-size-sm);color:#9ca3af}.login-status-email{margin:4px 0 0;font-size:var(--font-size-lg);font-weight:600;color:#fff}.login-status .login-btn{min-width:120px}.buyer-section{margin-bottom:24px}.buyer-title{display:none;text-align:left;font-size:var(--font-size-base);font-weight:700;margin-bottom:16px;color:#fff}.parent-guardian-form{margin-top:32px;padding:24px;background-color:#1a1a1a;border:1px solid #374151;border-radius:12px;animation:slideDown .3s ease-out}.parent-form-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:24px;color:#fff;text-align:center}.parent-guardian-reminder{margin:24px 0;padding:12px 16px;border-radius:10px;background:#f000ff14;border:1px solid rgba(240,0,255,.35);color:#e5e7eb;font-size:var(--font-size-base);line-height:1.5;text-align:center}.same-address-toggle{margin-bottom:24px;padding:16px;background-color:#2a2a2a;border:1px solid #374151;border-radius:8px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.info-divider{margin:40px 0;display:flex;align-items:center;justify-content:center}.divider-line{width:100%;height:1px;background-color:#374151}.toggle-container{margin-bottom:24px}.toggle-label{display:flex;align-items:center;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-base)}.toggle-input{display:none}.toggle-slider{position:relative;width:48px;height:24px;background-color:#374151;border-radius:24px;margin-right:12px;transition:background-color .3s ease}.toggle-slider:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .3s ease}.toggle-input:checked+.toggle-slider{background-color:#f401f5}.toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn.is-loading{position:relative;color:transparent}.login-btn.is-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.forgot-password-link{display:inline-block;margin-top:8px;color:#f401f5;font-size:var(--font-size-sm);text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:#d401d5;text-decoration:underline}.forgot-password-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.forgot-password-modal-content{background-color:#1a1a1a;border:1px solid #374151;border-radius:12px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 22px 70px #0000008c;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.forgot-password-description{color:var(--color-text-muted);font-size:var(--font-size-md);margin-bottom:24px;line-height:1.5}.forgot-password-actions{display:flex;gap:12px;margin-top:24px}.forgot-password-cancel-btn{flex:1;padding:16px 24px;background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-item-border);border-radius:8px;font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease}.forgot-password-cancel-btn:hover{background-color:#ffffff0d;border-color:var(--color-text-muted)}.forgot-password-success{text-align:center;padding:24px 0}.forgot-password-success-message{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:24px;line-height:1.5}.date-input-container{position:relative}.date-input{width:100%;padding-right:40px}.country-selector{display:flex;align-items:center;background-color:#2a2a2a;border:2px solid #374151;border-radius:8px;padding:1px 2px;color:#fff;font-size:var(--font-size-md);transition:border-color .3s ease;width:-moz-fit-content;width:fit-content;min-width:-moz-fit-content;min-width:fit-content}.country-selector:focus-within{border-color:#f401f5}.flag-icon{margin-left:8px;font-size:var(--font-size-lg)}.country-selector select{background:none;border:none;color:#fff;font-size:var(--font-size-md);outline:none;cursor:pointer;margin-right:8px}.country-selector select#countryCode{padding:10px 1px;margin-right:4px;font-size:var(--font-size-base)}.select-container{position:relative}.select-container select{width:100%;padding:12px 40px 12px 16px;background-color:#2a2a2a;border:2px solid #374151;border-radius:8px;color:#fff;font-size:var(--font-size-md);transition:border-color .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select-container select:focus{outline:none;border-color:#f401f5}.select-container .dropdown-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}.phone-country{flex:0 0 auto;min-width:-moz-fit-content;min-width:fit-content}.phone-number{flex:1;min-width:0}.form-group input[readonly]{background-color:#374151;color:#9ca3af;cursor:not-allowed}.readonly-field{background-color:#374151;color:#9ca3af;cursor:not-allowed;opacity:.7}.readonly-field:focus{outline:none;border-color:#374151}.country-selector.readonly-field{background-color:#374151;border-color:#374151;opacity:.7}.country-selector.readonly-field select{color:#9ca3af;cursor:not-allowed}.info-layout{display:grid;grid-template-columns:1fr 400px;gap:40px;margin-top:40px;justify-content:center;max-width:1200px;margin-left:auto;margin-right:auto;align-items:start}@media (min-width: 1024px){.info-layout{grid-template-columns:minmax(500px,600px) minmax(350px,400px)}}.info-form-section{min-width:0;max-width:600px;margin-bottom:-32px;position:relative;z-index:1}.order-summary-section{margin-bottom:32px}.auth-mode-toggle{display:flex;position:relative;background:#0f172a99;border:1px solid var(--color-item-border);border-radius:12px;padding:4px;margin-bottom:32px;gap:4px}.auth-mode-btn{flex:1;padding:12px 24px;background:transparent;border:none;border-radius:8px;color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:color .3s ease;position:relative;z-index:2}.auth-mode-btn.active{color:var(--color-button-primary)}.auth-mode-slider{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:linear-gradient(135deg,#f0f,#e609e6);border-radius:8px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1}.auth-mode-btn[data-mode=login].active~.auth-mode-slider{transform:translate(calc(100% + 4px))}.info-section[data-auth-section]{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-container{background-color:#1a1a1a;border:1px solid #374151;border-radius:12px;padding:24px;margin-top:auto;position:relative;z-index:2}.order-summary-section{position:sticky;top:20px;height:-moz-fit-content;height:fit-content}.order-summary{background-color:#2a2a2a;border:1px solid #374151;border-radius:12px;padding:24px;position:sticky;top:20px;max-width:600px;margin-left:auto;margin-right:auto}.summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.summary-title{font-size:var(--font-size-xl);font-weight:700;color:#fff}.summary-edit-btn{width:36px;height:36px;border-radius:50%;border:none;background:#ffffff14;color:#f9fafb;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,transform .2s ease}.summary-edit-btn:hover{background:#ffffff24;transform:translateY(-1px)}.cart-items{margin-bottom:16px}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #374151}.cart-item:last-child{border-bottom:none}.item-name{color:var(--color-text-secondary);font-size:var(--font-size-base)}.item-price{color:#fff;font-weight:600;font-size:var(--font-size-base)}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid #374151;border-bottom:1px solid #374151;margin:16px 0}.total-label{color:#fff;font-size:var(--font-size-md);font-weight:600}.total-amount{color:#f401f5;font-size:var(--font-size-lg);font-weight:700}.period-note{color:#9ca3af;font-size:var(--font-size-sm);text-align:center;margin-bottom:20px;font-style:italic}.discount-section{margin-bottom:20px}.discount-toggle{width:100%;background:none;border:1px solid #374151;border-radius:8px;padding:12px 16px;color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.discount-toggle:hover{border-color:#f401f5;color:#fff}.toggle-icon{font-size:var(--font-size-lg);transition:transform .3s ease}.discount-toggle.active .toggle-icon{transform:rotate(45deg)}.discount-form{margin-top:12px;display:flex;gap:8px}.discount-input{flex:1;padding:8px 12px;background-color:#374151;border:1px solid #4B5563;border-radius:6px;color:#fff;font-size:var(--font-size-base)}.discount-input:focus{outline:none;border-color:#f401f5}.apply-discount-btn{padding:8px 16px;background-color:#f401f5;color:#fff;border:none;border-radius:6px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .3s ease}.apply-discount-btn:hover{background-color:#d401d5}.consents-section{margin-bottom:32px;display:flex;flex-direction:column;gap:16px}.consent-checkbox{display:flex;align-items:flex-start;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.5;transition:opacity .2s ease}.consent-checkbox:hover{opacity:.9}.consent-checkbox input[type=checkbox]{display:none}.consent-checkbox .checkmark{width:20px;height:20px;border:2px solid #4B5563;border-radius:4px;margin-right:12px;margin-top:2px;flex-shrink:0;position:relative;transition:all .2s ease;background-color:transparent}.consent-checkbox:hover .checkmark{border-color:#6b7280}.consent-checkbox input[type=checkbox]:checked+.checkmark{background-color:#f401f5;border-color:#f401f5}.consent-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700;line-height:1}.consent-text{flex:1;min-width:0;word-wrap:break-word}.consent-checkbox a{color:#f401f5;text-decoration:underline;transition:color .2s ease}.consent-checkbox a:hover{color:#d401d5;text-decoration:underline}.payment-methods{margin-bottom:24px}.payment-title{font-size:var(--font-size-md);font-weight:700;margin-bottom:16px;color:#fff}.payment-option{margin-bottom:12px}.payment-option input[type=radio]{display:none}.payment-label{display:flex;align-items:center;padding:12px 16px;border:2px solid #374151;border-radius:8px;cursor:pointer;transition:all .3s ease;color:var(--color-text-secondary)}.payment-option input[type=radio]:checked+.payment-label{border-color:#f401f5;background-color:#f401f51a;color:#fff}.payment-icon{margin-right:12px;color:#9ca3af}.payment-option input[type=radio]:checked+.payment-label .payment-icon{color:#f401f5}.checkout-btn{width:100%;padding:16px 24px;background-color:#374151;color:#9ca3af;border:none;border-radius:8px;font-size:var(--font-size-md);font-weight:700;cursor:not-allowed;transition:all .3s ease;text-transform:uppercase}.checkout-btn:not(:disabled){background-color:#f401f5;color:#fff;cursor:pointer}.checkout-btn:not(:disabled):hover{background-color:#d401d5}main{flex:1 0 auto;display:flex;flex-direction:column;background:transparent;position:relative;z-index:1;min-height:0}.global-footer{background:var(--color-surface-dark);border-top:1px solid var(--color-item-border);padding:40px 0 20px;opacity:0;transform:translateY(20px);animation:footerFadeIn .6s ease-out .3s forwards;box-shadow:0 -4px 20px #0000001a;position:relative;z-index:1;flex-shrink:0;width:100%;margin:auto 0 0}@keyframes footerFadeIn{to{opacity:1;transform:translateY(0)}}.footer-content{max-width:1200px;margin:0 auto 32px;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.footer-section h4{color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:600;margin:0 0 12px}.footer-section p{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.5;margin:0}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm);transition:color .2s ease}.footer-section ul li a:hover{color:var(--color-brand-accent)}.security-badge{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:var(--font-size-sm)}.certified-icon{color:var(--color-success);font-weight:700;font-size:var(--font-size-base)}.footer-bottom{max-width:1200px;margin:0 auto;padding:20px 20px 0;border-top:1px solid var(--color-item-border);text-align:center}.footer-bottom p{color:var(--color-text-subtle);font-size:var(--font-size-xs);margin:0}@media (max-width: 768px){.global-footer{padding:2px 0 16px;margin:0 -16px -12px;width:calc(100% + 32px)}.footer-content{grid-template-columns:1fr;gap:20px;padding:0 16px;margin-bottom:0}.footer-section h4{font-size:var(--font-size-xs);font-weight:300;text-align:center;margin-bottom:8px}.footer-section p,.footer-section ul li a{font-size:var(--font-size-xs)}}@media (max-width: 480px){.global-footer{margin-left:-20px;margin-right:-20px;width:calc(100% + 40px);padding:20px 0 12px}.footer-content{padding:0 20px;gap:16px}.footer-bottom{padding:12px 20px 0}}.footer-note{margin-top:16px;text-align:center;color:#9ca3af;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;gap:6px}.card-payment-form{margin:20px 0;padding:20px;background-color:#1a1a1a;border:1px solid #374151;border-radius:8px}.payment-form-title{font-size:var(--font-size-md);font-weight:700;margin-bottom:16px;color:#fff}.security-features{margin-top:16px;padding:12px;background-color:#2a2a2a;border:1px solid #374151;border-radius:6px}.security-item{display:flex;align-items:center;margin-bottom:6px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.security-item:last-child{margin-bottom:0}.security-icon{margin-right:8px;font-size:var(--font-size-base)}.toast{position:fixed;top:20px;right:20px;background-color:#ef4444;color:#fff;padding:12px 16px;border-radius:8px;font-size:var(--font-size-base);z-index:1000;animation:slideInRight .3s ease-out}.toast.success{background-color:#10b981}.toast.error{background-color:#ef4444}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.confirmation-header{text-align:center;margin-bottom:40px}.success-badge{width:80px;height:80px;background-color:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.success-title{font-size:var(--font-size-5xl);font-weight:700;color:#10b981;margin-bottom:16px;text-transform:uppercase;letter-spacing:2px}.success-message{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.confirmation-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.confirmation-left,.confirmation-right{display:flex;flex-direction:column;gap:24px}.confirmation-card{background-color:#1a1a1a;border:1px solid #374151;border-radius:12px;padding:24px}.card-title{font-size:var(--font-size-xl);font-weight:700;color:#fff;margin-bottom:20px;border-bottom:1px solid #374151;padding-bottom:12px}.order-info{margin-bottom:20px}.order-item{display:flex;justify-content:space-between;margin-bottom:8px}.order-label{color:#9ca3af;font-size:var(--font-size-base)}.order-value{color:#fff;font-weight:500}.purchase-items{margin-bottom:20px;padding-top:16px;border-top:1px solid #374151}.purchase-item{display:flex;justify-content:space-between;margin-bottom:12px}.item-name{color:var(--color-text-secondary)}.item-price{color:#fff;font-weight:500}.order-total{display:flex;justify-content:space-between;padding-top:16px;border-top:2px solid #374151;font-size:var(--font-size-lg);font-weight:700}.total-label{color:var(--color-text-primary)}.total-amount{color:#f401f5}.membership-info{margin-bottom:24px}.membership-item{display:flex;justify-content:space-between;margin-bottom:12px}.membership-label{color:#9ca3af;font-size:var(--font-size-base)}.membership-value{color:#fff;font-weight:500}.login-btn{width:100%;padding:16px 24px;background-color:#f401f5;color:#fff;border:none;border-radius:8px;font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:background-color .3s ease;text-transform:uppercase}.login-btn:hover{background-color:#d401d5}.referral-promo{background:linear-gradient(135deg,#8b5cf6,#a855f7);border-radius:12px;padding:24px;text-align:center;position:relative;overflow:hidden}.referral-promo:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-100%) translateY(-100%) rotate(30deg)}50%{transform:translate(100%) translateY(100%) rotate(30deg)}}.promo-title{font-size:var(--font-size-2xl);font-weight:700;color:#fff;margin-bottom:12px;position:relative;z-index:1}.promo-text{font-size:var(--font-size-md);color:#ffffffe6;margin-bottom:20px;position:relative;z-index:1}.referral-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;background-color:#fff;color:#8b5cf6;border:none;border-radius:8px;font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:all .3s ease;position:relative;z-index:1}.referral-btn:hover{background-color:#f3f4f6;transform:translateY(-2px)}.terms-link{display:block;color:#ffffffb3;font-size:var(--font-size-sm);text-decoration:underline;margin-top:12px;position:relative;z-index:1}.terms-link:hover{color:#fff}.next-steps{background-color:#1a1a1a;border:1px solid #374151;border-radius:12px;padding:24px}.steps-title{font-size:var(--font-size-xl);font-weight:700;color:#fff;margin-bottom:20px}.steps-list{list-style:none;padding:0;margin:0}.step-item{display:flex;align-items:center;margin-bottom:16px;color:var(--color-text-secondary)}.step-item:last-child{margin-bottom:0}.step-icon{width:32px;height:32px;background-color:#f401f5;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16px;flex-shrink:0;color:#fff}.step-item span{font-size:var(--font-size-base);line-height:1.5}.step-indicator.hidden{display:none}@media (max-width: 640px){h1{font-size:var(--font-size-2xl)}.gym-item{padding:14px 16px}.gym-details{flex-direction:column;align-items:flex-start;gap:4px}.search-input{padding:14px 44px}}@media (max-width: 1024px){.confirmation-layout{grid-template-columns:1fr;gap:24px}.success-title{font-size:var(--font-size-4xl)}.success-message{font-size:var(--font-size-md)}}@media (max-width: 768px){.confirmation-header{margin-bottom:30px}.success-badge{width:60px;height:60px}.success-title{font-size:var(--font-size-2xl)}.confirmation-card,.referral-promo,.next-steps{padding:20px}}@media (max-width: 768px){#addonMode.plan-options{display:flex;flex-direction:column;gap:16px;overflow:visible;scroll-snap-type:none;padding:0;grid-template-columns:none}#addonMode .plan-card{width:100%;flex:none;scroll-snap-align:none;margin:0;min-width:auto}#addonMode+.scroll-indicator{display:none}body{background-position:30% center}}.form-group.error input,.form-group.error select,.country-selector.error,.select-container.error select{border-color:#ef4444!important;background-color:#ef44441a!important;animation:shake .5s ease-in-out}.form-group.error .error-message{display:block;color:#ef4444;font-size:var(--font-size-sm);margin-top:4px}.error-message{display:none}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (max-width: 1024px){.info-layout{grid-template-columns:1fr;gap:24px;max-width:none;margin-left:0;margin-right:0}.info-form-section{max-width:none}.order-summary-section,.order-summary{position:static}.plan-info-text{--plan-info-horizontal-padding: clamp(16px, 4vw, 32px);margin-top:28px;margin-bottom:28px}.plan-info-text p{font-size:var(--font-size-md)}}@media (max-width: 1024px) and (min-width: 768px){.plan-options{margin-left:0;margin-right:0;padding-left:-22px;padding-right:clamp(16px,4vw,32px)}}.payment-summary{background-color:#2a2a2a;border-radius:12px;padding:24px;margin-bottom:32px}.payment-summary h3{font-size:var(--font-size-xl);font-weight:700;margin-bottom:16px}.summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #374151}.summary-total{display:flex;justify-content:space-between;padding:16px 0 0;font-weight:700;font-size:var(--font-size-lg);color:#f0f}.success-content{text-align:center;max-width:600px;margin:0 auto}.success-icon{color:#f0f;margin-bottom:24px}.success-content h3{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:16px}.success-content p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:32px}.next-steps{background-color:#2a2a2a;border-radius:12px;padding:24px;margin:32px 0;text-align:left}.next-steps h4{font-size:var(--font-size-xl);font-weight:700;margin-bottom:16px;text-align:center}.next-steps ul{list-style:none}.next-steps li{color:var(--color-text-secondary);position:relative;padding:8px 0 8px 24px}.next-steps li:before{content:"→";position:absolute;left:0;color:#f0f;font-weight:700}.cta-button{background-color:#f0f;color:#fff;padding:16px 32px;border:none;border-radius:8px;font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:background-color .3s ease}.cta-button:hover{background-color:#7c3aed}.step-navigation{display:flex;justify-content:space-between;margin-top:40px;max-width:800px;margin-left:auto;margin-right:auto}.nav-button{padding:12px 24px;border:2px solid #f0f;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.prev-button{display:none;background-color:transparent;color:#f0f}.prev-button:hover:not(:disabled){background-color:#f0f;color:#fff}.prev-button:disabled{opacity:.5;cursor:not-allowed}.next-button{display:none;background-color:#f0f;color:#fff}.next-button:hover{background-color:#f401f5}@media (max-width: 767px){.step-indicator-content,.step{gap:4px}.step-circle{width:32px;height:32px;font-size:var(--font-size-sm)}.step-label{font-size:var(--font-size-xs);text-align:center}.step-connector{width:20px;margin:0 4px}.step-content{margin:20px -22px 0;max-height:calc(100vh - 220px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:40px}.step-panel-content{max-width:90%;padding:0 16px 20px}.main-subtitle{font-size:var(--font-size-md);padding-bottom:12px;margin-bottom:8px}.secondary-subtitle{font-size:var(--font-size-sm);padding-bottom:12px;margin-bottom:8px;line-height:1.3}.plan-section,#singlePlans,#quantityPlans{margin-top:32px;margin-left:0;margin-right:0}.plan-section.expanded{margin-top:32px}.plan-options{--carousel-edge-padding: max(12px, calc((100% - 280px)/2) );--carousel-scroll-padding: max(12px, calc((100% - 280px)/2) );display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding-top:16px;padding-bottom:16px;padding-left:var(--carousel-edge-padding);padding-right:var(--carousel-edge-padding);scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x mandatory;scroll-padding-left:var(--carousel-scroll-padding);scroll-padding-right:var(--carousel-scroll-padding);justify-content:flex-start;margin-left:0;margin-right:0}.plan-options::-webkit-scrollbar{display:none}.plan-options .plan-card{flex:0 0 auto;min-width:280px;scroll-snap-align:center;margin:0}.plan-options.is-centered{justify-content:center}.scroll-indicator{display:block}.plan-info-text{margin-top:24px;--plan-info-horizontal-padding: clamp(18px, 6vw, 28px)}.plan-info-text p{font-size:var(--font-size-md)}.quantity-selector{padding:8px 12px;display:flex;margin:0 auto;width:100%;justify-content:space-between;align-items:center;flex-direction:row;flex-wrap:nowrap;gap:12px}.total-price{text-align:center}}@media (min-width: 768px){.logo-title,.main-title{font-size:var(--font-size-2xl)}}.cart-empty{color:#9ca3af;font-size:var(--font-size-base)}.toggle-container:has(#parentGuardian){display:none}.parent-guardian-reminder{display:none!important}
