.registration-section{max-width:640px;margin:3rem auto;padding:0 1.5rem}.registration-section h1{color:var(--color-text-heading);margin-bottom:.5rem}.registration-intro{color:var(--color-text-muted);margin-bottom:2rem}.registration-form{background-color:var(--color-white);border-radius:8px;box-shadow:0 2px 10px var(--color-shadow);padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:700;color:var(--color-text-heading);margin-bottom:.4rem}.form-group input[type=text],.form-group input[type=email],.form-group select{width:100%;box-sizing:border-box;padding:.65rem .8rem;border:1px solid var(--color-border-card);border-radius:6px;font-family:inherit;font-size:1rem;color:var(--color-text-main);background-color:var(--color-bg-main)}.form-group input:focus,.form-group select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.form-help{font-size:.8rem;color:var(--color-text-muted);margin-top:.3rem}.form-help a{color:var(--color-primary);font-weight:700}.fee-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:30rem){.fee-options{grid-template-columns:1fr}}.fee-option{position:relative;cursor:pointer;height:100%}.fee-option input[type=radio]{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.fee-option-card{border:2px solid var(--color-border-card);border-radius:8px;padding:1rem;height:100%;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease}.fee-option input[type=radio]:checked+.fee-option-card{border-color:var(--color-primary);background-color:var(--color-bg-section-hero)}.fee-option input[type=radio]:focus-visible+.fee-option-card{outline:2px solid var(--color-primary);outline-offset:2px}.fee-option-name{font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;color:var(--color-secondary)}.fee-option-price{font-size:1.4rem;font-weight:700;color:var(--color-text-heading);margin:.2rem 0 .4rem}.fee-option-desc{font-size:.82rem;color:var(--color-text-muted);margin:0}.form-payment-note{font-size:.85rem;color:var(--color-text-muted);background-color:var(--color-bg-main);border-left:3px solid var(--color-border-card);padding:.75rem 1rem;border-radius:0 6px 6px 0;margin:1.5rem 0}.form-group-checkbox{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1rem}.form-group-checkbox input[type=checkbox]{margin-top:.2rem;flex:0 0 auto}.form-group-checkbox label{font-weight:400;color:var(--color-text-main);margin-bottom:0}.form-group-checkbox a{color:var(--color-primary);font-weight:700}#btn-submit{display:block;width:100%;padding:.9rem;border:0;border-radius:999px;background-color:var(--color-primary);color:var(--color-white);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease}#btn-submit:hover:not(:disabled){background-color:var(--color-secondary)}#btn-submit:disabled{opacity:.6;cursor:default}#form-msg{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin-top:1rem}#form-msg.form-msg-error{color:var(--color-primary);font-weight:700}#form-msg.form-msg-ok{color:var(--color-secondary);font-weight:700}.success-dialog{position:relative;max-width:26rem;width:calc(100% - 2rem);border:0;border-radius:8px;padding:2.25rem 1.75rem 1.75rem;box-shadow:0 4px 24px var(--color-shadow);color:var(--color-text-main);background-color:var(--color-white);text-align:center}.success-dialog::backdrop{background-color:#00000080}.success-dialog p{margin:0;font-weight:700;color:var(--color-secondary)}.success-dialog-close{position:absolute;top:.5rem;right:.6rem;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:.2rem .5rem}.success-dialog-close:hover{color:var(--color-primary)}.registration-closed-box{background-color:var(--color-bg-main);border-radius:8px;padding:2rem;text-align:center}.registration-closed-badge{display:inline-block;background-color:var(--color-primary);color:var(--color-white);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .8rem;border-radius:999px;margin-bottom:1rem}
