:root{--primary: #5394c7;--primary-light: #6ba8d6;--accent: #dc3545;--bg: #fafaf8;--surface: #ffffff;--text: #1a1a1a;--text-light: #6b6b6b;--border: #e5e5e0;--success: #28a745;--required: #dc3545;--button-red: #dc3545}.membership-registration *,.membership-registration *:before,.membership-registration *:after{box-sizing:border-box}.membership-registration{font-family:Open Sans,sans-serif;background:#fff;color:var(--text);min-height:100vh;padding:2rem 1rem}.membership-registration .container{max-width:1200px;margin:0 auto}.membership-registration .wizard-layout{display:flex;gap:2rem;align-items:flex-start}.membership-registration .wizard-main{flex:1;min-width:0}.membership-registration .wizard-sidebar{width:280px;flex-shrink:0}.membership-registration .sidebar-box{background:var(--surface);border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000000f;position:sticky;top:2rem}.membership-registration .sidebar-title{font-size:1rem;font-weight:700;color:var(--primary);margin:0 0 1rem}.membership-registration .sidebar-group{margin-bottom:.75rem}.membership-registration .sidebar-group:last-child{margin-bottom:0}.membership-registration .sidebar-group-header{font-size:.75rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.8px;margin-bottom:.25rem}.membership-registration .sidebar-box .summary-card-title{font-size:1rem;margin-bottom:.5rem}.membership-registration .sidebar-list{list-style:none;padding:0;margin:0}.membership-registration .sidebar-item{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--border)}.membership-registration .sidebar-item:last-child{border-bottom:none}.membership-registration .sidebar-item-name{font-size:.9rem;color:var(--text);font-weight:600}.membership-registration .sidebar-item-price{font-size:.85rem;color:var(--text-light);white-space:nowrap;margin-left:.5rem}.membership-registration .sidebar-empty{font-size:.9rem;color:var(--text-light);font-style:italic;margin:0}.membership-registration .header{text-align:center;margin-bottom:3rem;animation:fadeInDown .6s ease}.membership-registration .header h1{font-family:Open Sans,sans-serif;font-size:2.5rem;color:var(--primary);margin-bottom:.5rem;font-weight:700}.membership-registration .header p{color:var(--text-light);font-size:1.1rem}.membership-registration .progress-container{background:var(--surface);border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000000f;animation:fadeIn .6s ease .2s both}.membership-registration .progress-steps{display:flex;justify-content:space-between;position:relative;margin-bottom:1rem}.membership-registration .progress-line{position:absolute;top:20px;height:3px;background:var(--border);z-index:0}.membership-registration .progress-line-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));transition:width .5s ease;border-radius:3px}.membership-registration .step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;flex:1;cursor:default}.membership-registration .step.completed{cursor:pointer}.membership-registration .step-circle{width:40px;height:40px;border-radius:50%;background:var(--surface);border:3px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s ease;margin-bottom:.5rem}.membership-registration .step.active .step-circle{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #5394c74d}.membership-registration .step.completed .step-circle{background:var(--primary);border-color:var(--primary);color:#fff}.membership-registration .step-label{font-size:.85rem;color:var(--text-light);text-align:center;max-width:120px}.membership-registration .step.active .step-label{color:var(--primary);font-weight:600}.membership-registration .progress-mobile{display:none}.membership-registration .card{background:var(--surface);border-radius:16px;padding:3rem;box-shadow:0 8px 32px #00000014;animation:slideUp .6s ease .3s both}.membership-registration .step-content{animation:fadeIn .4s ease}.membership-registration .step-title{font-family:Open Sans,sans-serif;font-size:2rem;color:var(--primary);margin-bottom:.5rem}.membership-registration .step-description{color:var(--text-light);margin-bottom:2rem;font-size:1.05rem}.membership-registration .required-badge{display:inline-block;background:var(--required);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;margin-left:.5rem}.membership-registration .membership-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.membership-registration .membership-option{background:var(--bg);border:2px solid var(--border);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column}@media (hover: hover){.membership-registration .membership-option:hover:not(.disabled):not(.existing):not(.in-basket){transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:var(--primary-light)}}.membership-registration .membership-option.existing{background:#23aa1a;border-color:#1d9115;color:#fff;cursor:pointer}.membership-registration .membership-option.existing .option-title,.membership-registration .membership-option.existing .option-price,.membership-registration .membership-option.existing .option-description{color:#fff}.membership-registration .membership-option.in-basket{background-color:#168900;border-color:#137400;color:#fff;cursor:not-allowed}.membership-registration .membership-option.in-basket .option-title,.membership-registration .membership-option.in-basket .option-price,.membership-registration .membership-option.in-basket .option-description{color:#fff}.membership-registration .membership-option.disabled{background-color:#e3e3e3;border-color:#d1d1d1;color:#999;cursor:not-allowed;opacity:.7}.membership-registration .membership-option.disabled .option-title,.membership-registration .membership-option.disabled .option-price,.membership-registration .membership-option.disabled .option-description{color:#999}.membership-registration .membership-option.selected{background:var(--primary);border-color:var(--primary);color:#fff;cursor:pointer}.membership-registration .membership-option.selected .option-title,.membership-registration .membership-option.selected .option-price,.membership-registration .membership-option.selected .option-description{color:#fff}.membership-registration .membership-option.existing.selected{background:#23aa1a;border-color:#1d9115}.membership-registration .option-title{font-size:1.3rem;font-weight:600;margin-bottom:.5rem;color:var(--primary)}.membership-registration .option-price{font-size:1.8rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.membership-registration .price-period{font-size:.5em;font-weight:400}.membership-registration .option-description{font-size:.9rem;color:var(--text-light);line-height:1.5;margin-top:auto}.membership-registration .option-info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;font-size:.7rem;font-weight:700;font-style:italic;margin-left:.4rem;cursor:help;opacity:.8;vertical-align:middle;font-family:Georgia,serif}.membership-registration .membership-option .option-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.85rem;font-weight:400;line-height:1.4;max-width:250px;z-index:10;text-align:left}.membership-registration .membership-option .option-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}@media (hover: hover){.membership-registration .membership-option:hover .option-tooltip{display:block}}.membership-registration .checkmark{position:absolute;top:1rem;left:auto;right:1rem;width:24px;height:24px;border-radius:50%;background:#fff;display:none;align-items:center;justify-content:center;color:var(--primary);font-weight:700}.membership-registration .membership-option.selected .checkmark{display:flex}.membership-registration .existing-badge{display:none;position:absolute;top:1rem;left:auto;right:1rem;background:#ffffff40;color:#fff;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.membership-registration .membership-option.existing .existing-badge{display:inline-block}.membership-registration .membership-option.existing .checkmark{display:none}.membership-registration .location-options{display:flex;gap:1.5rem;margin-bottom:2rem}.membership-registration .location-btn{flex:1;padding:2rem;background:var(--bg);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s ease;text-align:center;font-family:Open Sans,sans-serif;font-size:1rem}@media (hover: hover){.membership-registration .location-btn:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:var(--primary-light)}}.membership-registration .location-btn.selected{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);border-color:var(--primary);color:#fff}.membership-registration .location-btn .icon{font-size:3rem;margin-bottom:1rem}.membership-registration .location-btn .label{font-size:1.3rem;font-weight:600}.membership-registration .regional-select{margin-bottom:2rem}.membership-registration .regional-select label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--primary)}.membership-registration .regional-select select{width:100%;padding:1rem;border:2px solid var(--border);border-radius:8px;font-size:1rem;font-family:Open Sans,sans-serif;background:var(--surface);cursor:pointer;transition:all .3s ease}.membership-registration .regional-select select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5394c71a}.membership-registration .summary-section-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:1.5rem 0 .75rem}.membership-registration .summary-card{background:var(--surface);border-radius:16px;padding:1.5rem 2rem;margin-bottom:1rem;box-shadow:0 1px 4px #0000000f,0 4px 16px #0000000a}.membership-registration .summary-card-existing{background:#f0faf0}.membership-registration .summary-card-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.8px;margin-bottom:.5rem}.membership-registration .summary-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.membership-registration .dot-primary{background:var(--primary)}.membership-registration .dot-success{background:var(--success)}.membership-registration .dot-muted{background:var(--border)}.membership-registration .summary-card-title{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:1rem}.membership-registration .summary-card-row{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0}.membership-registration .summary-card-row+.summary-card-row{border-top:1px solid var(--border)}.membership-registration .summary-card-label{color:var(--text-light);font-size:.95rem}.membership-registration .summary-card-price{font-weight:700;color:var(--text);font-size:1rem;white-space:nowrap}.membership-registration .summary-card-status{display:flex;align-items:center;gap:.4rem;color:var(--success);font-weight:600;font-size:.95rem}.membership-registration .summary-card-detail{font-size:.95rem;color:var(--text-light);padding:.4rem 0}.membership-registration .total-section{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border-radius:12px;padding:1.5rem;margin-top:1.5rem}.membership-registration .total-section .total-label{font-size:1.1rem;margin-bottom:.5rem}.membership-registration .total-section .total-amount{font-size:2.5rem;font-weight:700;color:#fff}.membership-registration .success-message{background:var(--success);color:#fff;padding:1.5rem;border-radius:12px;text-align:center;margin-bottom:2rem;animation:slideDown .5s ease}.membership-registration .success-message h3{margin-bottom:.5rem}.membership-registration .loading-spinner{text-align:center;padding:4rem;color:var(--text-light);font-size:1.2rem}.membership-registration .error-message{background:#fce4e4;color:var(--accent);padding:1rem 1.5rem;border-radius:8px;border:1px solid rgba(220,53,69,.2);margin:1rem 0}.membership-registration .no-products{text-align:center;color:var(--text-light);padding:2rem;font-style:italic}.membership-registration .button-group{display:flex;gap:1rem;margin-top:2rem}.membership-registration button{padding:1rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Open Sans,sans-serif}.membership-registration .btn-primary{background:var(--button-red);color:#fff;flex:1}@media (hover: hover){.membership-registration .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #dc35454d}}.membership-registration .btn-primary:disabled{opacity:.5;cursor:not-allowed}.membership-registration .btn-secondary{background:var(--border);color:var(--text)}@media (hover: hover){.membership-registration .btn-secondary:hover{background:var(--text-light);color:#fff}}.wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch}.wizard-overlay .membership-registration{min-height:auto}.overlay-close{position:fixed;top:12px;right:12px;z-index:1001;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--border);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;padding:0}.wizard-reopen-btn{width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;font-family:Open Sans,sans-serif}.membership-registration .sidebar-toggle{display:none}.membership-registration .sidebar-content{max-height:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.membership-registration{padding:0}.membership-registration .wizard-layout{flex-direction:column;align-items:stretch;gap:0}.membership-registration .wizard-sidebar{width:100%;order:-1}.membership-registration .header{padding:1rem 1rem 0;margin-bottom:1rem}.membership-registration .header h1{font-size:1.6rem}.membership-registration .header p{font-size:.95rem}.membership-registration .progress-container{border-radius:0;box-shadow:none;margin-bottom:0;border-bottom:1px solid var(--border);padding:.75rem 1rem}.membership-registration .progress-steps{display:none}.membership-registration .progress-mobile{display:block}.membership-registration .progress-mobile-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.membership-registration .progress-mobile-step{font-size:.8rem;font-weight:600;color:var(--primary);white-space:nowrap}.membership-registration .progress-mobile-title{font-size:.9rem;font-weight:700;color:var(--text)}.membership-registration .progress-mobile-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.membership-registration .progress-mobile-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:2px;transition:width .5s ease}.membership-registration .card{border-radius:0;box-shadow:none;padding:1.5rem 1rem;padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px));animation:none}.membership-registration .step-title{font-size:1.4rem}.membership-registration .step-description{font-size:.95rem}.membership-registration .membership-grid{grid-template-columns:1fr;gap:.5rem}.membership-registration .membership-option{flex-direction:row;align-items:center;padding:.75rem 1rem;min-height:44px;border-radius:8px;gap:.75rem}.membership-registration .option-title{font-size:.95rem;margin-bottom:0;flex:1;min-width:0}.membership-registration .option-price{font-size:1rem;margin-bottom:0;white-space:nowrap;text-align:right}.membership-registration .checkmark{position:static;width:20px;height:20px;font-size:.7rem;flex-shrink:0;order:-1}.membership-registration .membership-option.selected .checkmark{display:flex}.membership-registration .existing-badge{position:static;order:3;font-size:.65rem;white-space:nowrap}.membership-registration .membership-option .option-tooltip{position:fixed;bottom:0;left:0;right:0;top:auto;transform:none;max-width:100%;border-radius:12px 12px 0 0;z-index:1002;padding:1.25rem 1.5rem}.membership-registration .membership-option .option-tooltip:before{display:none}.membership-registration .location-options{flex-direction:column;gap:1rem}.membership-registration .location-btn{padding:1.5rem;width:100%}.membership-registration .location-btn .icon{font-size:2rem;margin-bottom:.5rem}.membership-registration .location-btn .label{font-size:1.1rem}.membership-registration .summary-card{padding:1rem}.membership-registration .summary-card-header{font-size:.85rem}.membership-registration .summary-card-title{font-size:1rem;margin-bottom:.5rem}.membership-registration .total-section{padding:1rem}.membership-registration .total-section .total-amount{font-size:1.5rem}.membership-registration .success-message h2{font-size:1.3rem}.wizard-overlay .button-group{position:fixed;bottom:0;left:0;right:0;background:var(--surface);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));margin:0;border-top:1px solid var(--border);box-shadow:0 -2px 8px #00000014;z-index:1001;flex-direction:row;align-items:center}.wizard-overlay .button-group .btn-secondary{flex:0 0 auto;padding:1rem;min-width:48px;font-size:0}.wizard-overlay .button-group .btn-secondary:before{content:"‹";font-size:1.4rem;line-height:1}.wizard-overlay .button-group .btn-primary{flex:1}.membership-registration button{min-height:48px;padding:1rem;font-size:1rem}.membership-registration .sidebar-box{position:static;border-radius:0;box-shadow:none;border-bottom:1px solid var(--border)}.membership-registration .sidebar-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:0;background:none;border:none;cursor:pointer;font-family:Open Sans,sans-serif;margin-bottom:0}.membership-registration .sidebar-toggle h3{font-size:1rem;font-weight:700;color:var(--primary);margin:0;flex:1;text-align:left}.membership-registration .sidebar-badge{background:var(--primary);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.membership-registration .chevron{font-size:1.2rem;color:var(--text-light);transition:transform .3s ease;flex-shrink:0}.membership-registration .chevron.open{transform:rotate(180deg)}.membership-registration .sidebar-title-desktop{display:none}.membership-registration .sidebar-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.membership-registration .sidebar-content.open{max-height:2000px}}
