.tournament-registration-form{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1000px;padding:20px}.form-logo{margin-bottom:30px;text-align:center}.form-logo img{height:auto;max-width:200px}.form-header{margin-bottom:40px;text-align:center}.form-header h1{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 10px}.form-subtitle{color:#6b7280;font-size:18px;font-weight:400;margin:0}.step-description{color:#6b7280;font-size:16px;line-height:1.5;margin-bottom:25px}.form-progress{justify-content:center;margin-bottom:40px;overflow-x:auto;padding:0 10px}.form-progress,.progress-step{align-items:center;display:flex}.progress-step{flex-direction:column;flex-shrink:0;min-width:80px;text-align:center}.step-number{align-items:center;background-color:#e5e7eb;border-radius:50%;display:flex;font-size:14px;font-weight:700;height:35px;justify-content:center;margin-bottom:8px;width:35px}.step-label,.step-number{color:#6b7280;transition:all .3s ease}.step-label{font-size:12px}.progress-step.active .step-number{background-color:var(--progress-active-bg,#3b82f6);color:#fff}.progress-step.active .step-label{color:var(--progress-active-bg,#3b82f6);font-weight:600}.progress-step.completed .step-number{background-color:var(--progress-completed-bg,#10b981);color:#fff}.progress-step.completed .step-label{color:var(--progress-completed-bg,#10b981)}.progress-line{background-color:#e5e7eb;flex:1;height:2px;margin:0 10px;min-width:20px;position:relative;top:-15px}.progress-line.completed{background-color:var(--progress-completed-bg,#10b981)}.promo-code-checkbox-container{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin-top:20px;padding:16px;transition:all .2s ease}.promo-code-checkbox-container:hover{background:#f1f5f9;border-color:#cbd5e1}.promo-checkbox{display:none}.promo-checkbox-label{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;margin:0;user-select:none;width:100%}.checkbox-icon{background:#fff;border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;height:20px;position:relative;transition:all .2s ease;width:20px}.promo-checkbox:checked+.promo-checkbox-label .checkbox-icon{background:var(--brand-primary,#2563eb);border-color:var(--brand-primary,#2563eb)}.promo-checkbox:checked+.promo-checkbox-label .checkbox-icon:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.promo-checkbox:checked+.promo-checkbox-label{color:var(--brand-primary,#2563eb)}.promo-code-input-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:16px;max-height:500px;opacity:1;overflow:hidden;padding:16px;transition:all .3s ease}.promo-code-input-section.hidden{background:none;border:none;margin-top:0;max-height:0;opacity:0;padding:0 16px}.promo-code-input-container{align-items:flex-start;display:flex;gap:12px}.promo-code-input-container .form-input{flex:1;text-transform:uppercase}.btn-promo{background-color:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;min-width:80px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.btn-promo:hover{background-color:#047857;transform:translateY(-1px)}.btn-promo:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.promo-success{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid #059669;border-radius:8px;margin-top:16px;padding:16px}.promo-success.hidden{display:none}.promo-success-content{align-items:center;display:flex;gap:12px}.promo-success-icon{align-items:center;background:#059669;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:24px;justify-content:center;width:24px}.promo-success-details{flex:1}.promo-success-text{color:#059669;display:block;font-weight:600;margin-bottom:4px}.promo-success-description{color:#047857;display:block;font-size:.875rem}.promo-remove{background:none;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.75rem;padding:6px 12px;transition:all .2s ease}.promo-remove:hover{background:#f9fafb;color:#374151}.field-error{color:#dc2626;margin-top:5px}.field-description{color:#6b7280;font-size:14px;line-height:1.4;margin-bottom:10px;margin-top:5px}.form-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:16px;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:var(--accent-color,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.team-validation-error{animation:slideDown .3s ease-out;background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:8px;margin-top:16px;padding:16px}.validation-error-header{align-items:center;color:#dc2626;display:flex;font-weight:600;gap:8px;margin-bottom:8px}.validation-error-list{color:#b91c1c;margin:0;padding-left:20px}.validation-error-list li{line-height:1.4;margin-bottom:4px}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:200px;opacity:1;transform:translateY(0)}}.team-card-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:16px;transition:background .2s ease}.team-card-header:hover{background:#f1f5f9}.team-card.collapsed .team-card-header{border-bottom:none}.accordion-icon{color:#6b7280;font-size:12px;margin-left:8px;transition:transform .2s ease}.team-card.collapsed .accordion-icon{transform:rotate(-90deg)}.team-form{transition:all .3s ease}.team-card.collapsed .team-form{display:none!important}.registration-summary-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:20px;padding:20px;text-align:left!important}.registration-summary-success h3{color:#059669;font-size:20px;font-weight:600;margin:0 0 20px;text-align:center}.team-summary-card{background:#fff;border-radius:6px;margin-bottom:15px;padding:12px;text-align:left}.team-summary-header{color:#374151;font-weight:600;margin-bottom:8px}.team-summary-details{color:#6b7280;font-size:14px}.tournament-list{color:#4b5563;margin:8px 0 0;padding-left:20px}.tournament-list li{line-height:1.4;margin-bottom:12px}.tournament-date,.tournament-location{color:#6b7280;font-size:13px;font-weight:400;margin-left:4px}.form-section{background:var(--background-color,#fff);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);margin-bottom:20px;padding:30px;transition:all .3s ease-in-out}.form-section.hidden{display:none}.form-section h2{color:#1f2937;font-size:24px;font-weight:600;margin:0 0 10px}.form-section p{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 25px}.tournament-selection-container{margin-bottom:30px}.tournaments-grid{display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:25px}@media (min-width:768px){.tournaments-grid{grid-template-columns:repeat(2,1fr)}}.tournament-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:20px;transition:all .3s ease}.tournament-card:hover{border-color:var(--accent-color,#3b82f6);box-shadow:0 4px 12px rgba(59,130,246,.1)}.tournament-card.selected{background:var(--section-bg,#eff6ff);border-color:var(--accent-color,#3b82f6);box-shadow:0 4px 12px rgba(59,130,246,.2)}.tournament-card.inactive{background:#f9fafb;cursor:not-allowed;opacity:.6}.tournament-card.inactive:hover{border-color:#e5e7eb;box-shadow:none}.tournament-name{color:#1f2937;font-size:18px;font-weight:600;margin-bottom:8px}.tournament-details{font-size:14px;margin-bottom:12px}.tournament-detail{display:flex;justify-content:space-between;margin-bottom:4px}.tournament-fee{border-top:1px solid #e5e7eb;color:#059669;font-size:16px;font-weight:600;margin-top:15px;padding-top:15px;text-align:center}.tournament-age-divisions{color:#6b7280;font-size:12px;margin-top:8px}.tournament-status{background:#dc2626;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;position:absolute;right:10px;top:10px}.tournament-card{position:relative}.tournament-status.active{background:#059669}.selected-tournaments-summary{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:8px;margin:20px 0;padding:20px}.selected-tournaments-summary h3{color:#0c4a6e;font-size:18px;margin:0 0 15px}.selected-tournament-item{align-items:center;border-bottom:1px solid #bae6fd;display:flex;justify-content:space-between;padding:8px 0}.selected-tournament-item:last-child{border-bottom:none}.total-cost{border-top:2px solid #0ea5e9;font-size:18px;font-weight:600;margin-top:15px;padding-top:15px;text-align:right}.cost-label{color:#0c4a6e}.cost-amount{font-size:24px;margin-left:10px}.team-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.team-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.team-number{color:#1e293b;font-size:18px;font-weight:600}.remove-team-btn{border-radius:4px;font-size:12px;padding:6px 12px;transition:background .2s}.team-fields{display:grid;gap:15px;grid-template-columns:1fr}@media (min-width:768px){.team-fields{grid-template-columns:repeat(2,1fr)}}.add-team-btn{background:var(--button-primary-bg,#3b82f6);padding:12px 16px;transition:background .3s ease;width:100%}.add-team-btn:hover{background:var(--button-primary-hover,#2563eb)}.validation-messages{margin-top:20px}.validation-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b}.validation-error,.validation-warning{font-size:14px;margin-bottom:10px;padding:12px 16px}.validation-warning{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;color:#92400e}.form-group{margin-bottom:24px}.form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input,.form-select{background:#fff;border:2px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.form-input:invalid,.form-select:invalid{border-color:#ef4444}.field-error{color:#ef4444;font-size:14px;margin-top:6px;min-height:20px}.registration-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;padding:20px}.registration-summary h3{color:#1e293b;font-size:18px;margin:0 0 15px}.summary-section{margin-bottom:20px}.summary-section h4{color:#475569;font-size:16px;margin:0 0 10px}.summary-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.summary-row:last-child{border-bottom:none;font-size:16px;font-weight:600}.summary-label{color:#64748b}.summary-value{color:#1e293b;font-weight:500}.payment-element-container{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin:25px 0;padding:20px}#payment-element{margin-bottom:15px}.payment-note{margin-top:8px}.payment-note small{color:#6b7280;font-style:italic}.submit-btn{background:var(--button-primary-bg,linear-gradient(135deg,#667eea 0,#764ba2 100%));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:16px 24px;text-transform:uppercase;transition:all .3s ease;width:100%}.submit-btn:hover{background:var(--button-primary-hover,var(--button-primary-bg,#667eea));box-shadow:0 8px 25px rgba(102,126,234,.4);transform:translateY(-2px)}.submit-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.form-actions{margin-top:30px;text-align:center}.success-message{padding:40px 20px;text-align:center}.success-icon{font-size:48px;margin-bottom:20px}.success-message h2{color:#10b981;margin-bottom:15px}.success-message p{color:#6b7280;margin-bottom:15px}.success-message a{color:#3b82f6;text-decoration:none}.success-message a:hover{text-decoration:underline}.thank-you-content{font-size:16px;line-height:1.6;margin-bottom:20px}.additional-info{color:#6b7280;font-size:14px;line-height:1.5}.loading-overlay{align-items:center;background:rgba(0,0,0,.75);display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-overlay.hidden{display:none}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:20px;width:40px}.loading-text{color:#fff;font-size:16px;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.tournament-registration-form{padding:15px}.form-section{padding:20px}.form-progress{gap:5px;padding:0 5px}.progress-step{min-width:60px}.step-number{font-size:12px;height:28px;width:28px}.step-label{font-size:10px}.progress-line{margin:0 5px;min-width:10px}.team-fields,.tournaments-grid{grid-template-columns:1fr}.cost-amount{font-size:20px}.summary-row{align-items:flex-start;flex-direction:column;gap:4px}.summary-row:last-child{align-items:center;flex-direction:row;justify-content:space-between}}@media (max-width:480px){.progress-step{min-width:50px}.step-number{font-size:11px;height:25px;width:25px}.step-label{font-size:9px}.progress-line{margin:0 3px;min-width:8px}}#hubspot-form-container .hs-form{max-width:100%}#hubspot-form-container .hs-form-field{margin-bottom:20px}#hubspot-form-container .hs-fieldtype-date input,#hubspot-form-container .hs-fieldtype-email input,#hubspot-form-container .hs-fieldtype-phonenumber input,#hubspot-form-container .hs-fieldtype-select select,#hubspot-form-container .hs-fieldtype-text input{border:2px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;width:100%}#hubspot-form-container .hs-form-required{color:#ef4444}#hubspot-form-container .hs-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px 24px;transition:all .3s ease}#hubspot-form-container .hs-button:hover{box-shadow:0 8px 25px rgba(102,126,234,.4);transform:translateY(-2px)}.teams-container{margin-bottom:30px}.team-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:20px;padding:24px;transition:all .3s ease}.team-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px rgba(59,130,246,.15)}.team-card-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.team-card-header h3{color:#1f2937;font-size:20px;font-weight:600;margin:0}.remove-team-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:32px;justify-content:center;transition:background-color .2s ease;width:32px}.remove-team-btn:hover{background:#dc2626}.team-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-row-three{display:grid;gap:20px;grid-template-columns:2fr 1fr 1fr}@media (max-width:768px){.form-row,.form-row-three{gap:16px;grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#374151;font-size:14px;font-weight:600}.team-age-group-select,.team-gender-select,.team-name-input,.team-strength-select{background:#fff;border:2px solid #d1d5db;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .2s ease}.team-age-group-select:focus,.team-gender-select:focus,.team-name-input:focus,.team-strength-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.tournaments-multiselect{background:#f9fafb;border:2px solid #d1d5db;border-radius:8px;max-height:300px;overflow-y:auto;padding:16px}.tournament-checkbox{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:block;margin-bottom:8px;padding:12px;transition:all .2s ease}.tournament-checkbox:hover{background:#f3f4f6;border-color:#3b82f6}.tournament-checkbox:last-child{margin-bottom:0}.tournament-checkbox input[type=checkbox]{margin-right:12px;transform:scale(1.2)}.tournament-checkbox span{color:#1f2937;font-weight:500}.tournament-details{color:#6b7280;display:block;font-size:12px;margin-left:24px;margin-top:4px}.no-tournaments{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;font-style:italic;padding:20px;text-align:center}.team-summary{background:#f0f9ff;border:2px solid #bae6fd;border-radius:8px;margin-top:16px;padding:16px}.team-cost{color:#0c4a6e;font-size:18px;font-weight:600;text-align:right}.add-team-btn{align-items:center;background:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin:0 auto;padding:16px 24px;transition:all .2s ease;width:fit-content}.add-team-btn:hover{background:#059669;box-shadow:0 4px 12px rgba(16,185,129,.3);transform:translateY(-1px)}.registration-summary{background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-top:30px;padding:24px}.registration-summary h3{border-bottom:2px solid #f3f4f6;color:#1f2937;font-size:20px;font-weight:600;margin:0 0 20px;padding-bottom:12px}.summary-team{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:16px}.summary-team:last-child{margin-bottom:0}.summary-team strong{color:#1f2937;font-size:16px}.team-tournaments{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.tournament-item{background:#dbeafe;border-radius:20px;color:#1e40af;font-size:12px;font-weight:500;padding:4px 12px}.team-subtotal{color:#059669;font-weight:600;margin-top:8px;text-align:right}.total-cost{align-items:center;border-top:2px solid #e5e7eb;display:flex;font-size:20px;font-weight:700;justify-content:space-between;margin-top:20px;padding-top:16px}.cost-label{color:#374151}.cost-amount{color:#059669}.payment-breakdown-section{background-color:var(--cost-bg,#fef3c7);border-left:4px solid var(--cost-border,#f59e0b);border-radius:8px;margin:20px 0;padding:20px}.breakdown-content{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:16px}.breakdown-header{margin-bottom:16px}.breakdown-description{color:#374151;font-weight:500;margin:0}.breakdown-details{margin-bottom:16px}.breakdown-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.breakdown-row:last-child{border-bottom:none}.breakdown-row.remaining-payments{border-top:1px solid #e5e7eb;font-style:italic;margin-top:8px;padding-top:12px}.breakdown-label{color:#374151;font-weight:500}.breakdown-value{color:#92400e;font-weight:600}.breakdown-note{background:#fffbeb;border:1px solid #fed7aa;border-radius:6px;margin-top:16px;padding:12px}.breakdown-note p{color:#92400e;font-size:.875rem;margin:0}.summary-discount{background:#f0f9ff;border:1px solid #e0f2fe;border-radius:8px;margin-top:16px;padding:16px}.discount-row{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.discount-row.discount-amount{color:#059669;font-weight:500}.discount-row.total-row{border-top:2px solid #e5e7eb;font-size:1.1em;margin-top:8px;padding-top:8px}.discount-label{color:#374151}.discount-value{color:#374151;font-weight:500}.discount-row.discount-amount .discount-value{color:#059669}.discount-row.total-row .discount-label,.discount-row.total-row .discount-value{color:#1f2937;font-weight:600}