.membership-wizard-page{display:flex;flex-direction:column;gap:var(--spacing-5)}
.membership-wizard-hero,.membership-wizard-card,.membership-wizard-progress,.membership-wizard-success{padding:var(--spacing-7);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-xl);background:linear-gradient(145deg,rgba(17,24,39,.98),rgba(15,23,42,.96));box-shadow:0 18px 42px rgba(0,0,0,.22)}
.membership-wizard-eyebrow,.membership-wizard-heading>span{color:var(--color-primary-400);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;text-transform:uppercase}
.membership-wizard-hero h1,.membership-wizard-success h1{margin:var(--spacing-2) 0 var(--spacing-3);font-size:clamp(2rem,5vw,3.5rem);line-height:1.08}
.membership-wizard-hero p,.membership-wizard-success__header>p{max-width:880px;margin:0;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1.7}
.membership-wizard-heading{margin-bottom:var(--spacing-5)}
.membership-wizard-heading h2,.membership-wizard-heading h3{margin:var(--spacing-1) 0 var(--spacing-2)}
.membership-wizard-heading p{max-width:840px;margin:0;color:var(--text-muted);line-height:1.65}
.membership-wizard-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-5)}
.membership-wizard-progress button{display:flex;align-items:center;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-2);border:0;background:transparent;color:var(--text-muted);font:inherit;opacity:1}
.membership-wizard-progress button>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:var(--border-width) solid var(--border-color-strong);border-radius:var(--radius-round);background:var(--color-slate-900);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}
.membership-wizard-progress button small{font-size:var(--font-size-xs);text-align:center}.membership-wizard-progress button.is-active{color:var(--text-primary)}.membership-wizard-progress button.is-active>span{border-color:var(--color-primary-500);background:var(--color-primary);color:#fff}.membership-wizard-progress button.is-complete>span{border-color:rgba(34,197,94,.48);background:rgba(34,197,94,.16);color:#86efac}
.membership-wizard-form,.membership-wizard-step{display:flex;flex-direction:column;gap:var(--spacing-5)}.membership-wizard-step[hidden]{display:none}.membership-wizard-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}
.membership-wizard-welcome>p{max-width:820px;color:var(--text-muted);line-height:1.65}.membership-wizard-welcome__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-3);margin:var(--spacing-5) 0}.membership-wizard-welcome__facts article{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-4);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);background:rgba(2,6,23,.42)}.membership-wizard-welcome__facts strong{color:var(--text-primary);font-size:var(--font-size-xl)}.membership-wizard-welcome__facts span{color:var(--text-muted);font-size:var(--font-size-sm)}
.membership-wizard-documents{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:var(--border-width) solid var(--border-color)}.membership-wizard-document-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-3)}.membership-wizard-document-grid a{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);border:var(--border-width) solid var(--border-color-strong);border-radius:var(--radius-lg);background:rgba(2,6,23,.42);color:var(--text-primary);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.membership-wizard-document-grid a:hover,.membership-wizard-document-grid a:focus-visible{transform:translateY(-1px);border-color:var(--color-primary-500);background:rgba(37,99,235,.12)}.membership-wizard-document-grid span{color:var(--text-muted);font-size:var(--font-size-sm)}
.membership-wizard-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-4)}.membership-wizard-type-card{position:relative;cursor:pointer}.membership-wizard-type-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.membership-wizard-type-card>span{display:flex;flex-direction:column;gap:var(--spacing-2);min-height:146px;box-sizing:border-box;padding:var(--spacing-5);border:var(--border-width) solid var(--border-color-strong);border-radius:var(--radius-lg);background:rgba(2,6,23,.46);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.membership-wizard-type-card:hover>span{transform:translateY(-1px);border-color:var(--color-primary-500)}.membership-wizard-type-card input:checked+span{border-color:var(--color-primary-500);background:rgba(37,99,235,.14);box-shadow:0 10px 24px rgba(37,99,235,.16)}.membership-wizard-type-card strong{color:var(--text-primary);font-size:var(--font-size-lg)}.membership-wizard-type-card small{color:var(--text-muted);line-height:1.55}.membership-wizard-student{margin-top:var(--spacing-5);padding:var(--spacing-5);border:var(--border-width) solid rgba(59,130,246,.35);border-radius:var(--radius-lg);background:rgba(37,99,235,.08)}
.membership-wizard-form-grid,.membership-wizard-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-4)}.membership-wizard-address-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,.7fr) minmax(140px,.8fr) minmax(0,1.4fr) minmax(0,1fr);gap:var(--spacing-4)}.membership-wizard-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.membership-wizard-field>span{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.membership-wizard-field input,.membership-wizard-field select,.membership-wizard-field textarea{width:100%;box-sizing:border-box;padding:var(--spacing-3) var(--spacing-4);border:var(--border-width) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--color-slate-950);color:var(--text-primary);font:inherit}.membership-wizard-field input,.membership-wizard-field select{min-height:44px}.membership-wizard-field textarea{resize:vertical}.membership-wizard-field input:focus,.membership-wizard-field select:focus,.membership-wizard-field textarea:focus{border-color:var(--color-primary-500);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.18)}.membership-wizard-field input[readonly]{opacity:.68}.membership-wizard-field small{color:var(--text-muted);line-height:1.5}
.membership-wizard-option{display:flex;align-items:flex-start;flex-direction:row;gap:var(--spacing-3);padding:var(--spacing-4);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);background:rgba(2,6,23,.42);cursor:pointer}.membership-wizard-option input{flex-shrink:0;width:18px;height:18px;margin-top:2px}.membership-wizard-option>span{display:flex;flex-direction:column;gap:var(--spacing-1);color:var(--text-secondary);line-height:1.55}.membership-wizard-option strong{color:var(--text-primary)}.membership-wizard-option small{color:var(--text-muted)}
.membership-wizard-passive-payment{padding:var(--spacing-5);border:var(--border-width) solid rgba(245,158,11,.38);border-radius:var(--radius-lg);background:rgba(120,53,15,.14)}.membership-wizard-passive-payment strong{color:#fde68a}.membership-wizard-passive-payment p{margin:var(--spacing-2) 0 0;color:var(--text-secondary);line-height:1.6}.membership-wizard-money-input{display:flex}.membership-wizard-money-input input{border-radius:var(--radius-md) 0 0 var(--radius-md)}.membership-wizard-money-input>span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;border:var(--border-width) solid var(--border-color-strong);border-left:0;border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-slate-800);color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.membership-wizard-payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-3);margin-top:var(--spacing-5)}.membership-wizard-payment-summary>div{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);background:rgba(2,6,23,.42)}.membership-wizard-payment-summary span{color:var(--text-muted);font-size:var(--font-size-sm)}.membership-wizard-payment-summary strong{color:var(--text-primary)}
.membership-wizard-confirmation-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.membership-wizard-confirmation-list article{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-3);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);background:rgba(2,6,23,.34)}.membership-wizard-confirmation-list article .membership-wizard-option{flex:1;border:0;background:transparent}.membership-wizard-confirmation-list article>a{flex-shrink:0;color:var(--text-link);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.membership-wizard-confirmation-list article>a:hover{color:var(--text-link-hover);text-decoration:underline}
.membership-wizard-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-4)}.membership-wizard-review article{padding:var(--spacing-5);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);background:rgba(2,6,23,.42)}.membership-wizard-review article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.membership-wizard-review h3{margin:0}.membership-wizard-review button{border:0;background:transparent;color:var(--text-link);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.membership-wizard-review button:hover{color:var(--text-link-hover);text-decoration:underline}.membership-wizard-review dl,.membership-wizard-summary-list{margin:0}.membership-wizard-review dl>div,.membership-wizard-summary-list>div{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:var(--spacing-3);padding:var(--spacing-3) 0;border-bottom:var(--border-width) solid var(--border-color)}.membership-wizard-review dl>div:last-child,.membership-wizard-summary-list>div:last-child{border-bottom:0}.membership-wizard-review dt,.membership-wizard-summary-list dt{color:var(--text-muted);font-size:var(--font-size-sm)}.membership-wizard-review dd,.membership-wizard-summary-list dd{margin:0;color:var(--text-primary);font-weight:var(--font-weight-semibold)}.membership-wizard-submit-notice{padding:var(--spacing-4);border:var(--border-width) solid rgba(245,158,11,.38);border-radius:var(--radius-lg);background:rgba(120,53,15,.14)}.membership-wizard-submit-notice strong{color:#fde68a}.membership-wizard-submit-notice p{margin:var(--spacing-2) 0 0;color:var(--text-secondary)}
.membership-wizard-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;padding:var(--spacing-2) var(--spacing-5);border:var(--border-width) solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.membership-wizard-button:hover,.membership-wizard-button:focus-visible{transform:translateY(-1px)}.membership-wizard-button--primary{background:var(--color-primary);color:#fff}.membership-wizard-button--primary:hover,.membership-wizard-button--primary:focus-visible{background:var(--color-primary-hover);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.25)}.membership-wizard-button--secondary{border-color:var(--border-color-strong);background:var(--color-slate-800);color:var(--text-primary)}.membership-wizard-button--secondary:hover,.membership-wizard-button--secondary:focus-visible{background:var(--color-slate-700);color:#fff}.membership-wizard-alert{padding:var(--spacing-4) var(--spacing-5);border:var(--border-width) solid rgba(239,68,68,.48);border-radius:var(--radius-lg);background:rgba(239,68,68,.12);color:#fecaca}
.membership-wizard-success{display:flex;flex-direction:column;gap:var(--spacing-6)}.membership-wizard-success__status{display:inline-flex;padding:var(--spacing-1) var(--spacing-4);border:var(--border-width) solid rgba(34,197,94,.45);border-radius:var(--radius-round);background:rgba(34,197,94,.12);color:#86efac;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.membership-wizard-success__notice,.membership-wizard-success__summary,.membership-wizard-success__next{padding:var(--spacing-5);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);background:rgba(2,6,23,.42)}.membership-wizard-success__notice{border-color:rgba(59,130,246,.38);background:rgba(37,99,235,.1)}.membership-wizard-success__notice p{margin:var(--spacing-2) 0 0;color:var(--text-secondary);line-height:1.65}.membership-wizard-success__notice a{color:var(--text-link);font-weight:var(--font-weight-semibold)}.membership-wizard-success__next ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-3);margin:0;padding-left:var(--spacing-5);color:var(--text-secondary);line-height:1.6}.membership-wizard-success__actions{display:flex;justify-content:flex-end;gap:var(--spacing-3)}.membership-wizard-login{text-align:center}.membership-wizard-login__widget{display:flex;justify-content:center;margin-top:var(--spacing-4)}
@media(max-width:1050px){.membership-wizard-document-grid,.membership-wizard-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-wizard-type-grid{grid-template-columns:minmax(0,1fr)}.membership-wizard-type-card>span{min-height:0}.membership-wizard-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.membership-wizard-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.membership-wizard-form-grid,.membership-wizard-payment-grid,.membership-wizard-review,.membership-wizard-success__next ol{grid-template-columns:minmax(0,1fr)}.membership-wizard-confirmation-list article{align-items:stretch;flex-direction:column}.membership-wizard-confirmation-list article>a{align-self:flex-start}.membership-wizard-hero,.membership-wizard-card,.membership-wizard-success{padding:var(--spacing-5)}}
@media(max-width:560px){.membership-wizard-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-wizard-document-grid,.membership-wizard-payment-summary,.membership-wizard-address-grid{grid-template-columns:minmax(0,1fr)}.membership-wizard-navigation,.membership-wizard-success__actions{align-items:stretch;flex-direction:column-reverse}.membership-wizard-button{width:100%}.membership-wizard-review dl>div,.membership-wizard-summary-list>div{grid-template-columns:minmax(0,1fr);gap:var(--spacing-1)}}
@media print{body{background:#fff!important;color:#000!important}body>*{visibility:hidden}#membership-application-confirmation,#membership-application-confirmation *{visibility:visible}#membership-application-confirmation{position:absolute;inset:0;width:100%;padding:0;border:0;box-shadow:none;background:#fff!important;color:#000!important}#membership-application-confirmation *{color:#000!important;background:transparent!important;box-shadow:none!important}.membership-wizard-success__actions{display:none!important}.membership-wizard-success__notice,.membership-wizard-success__summary,.membership-wizard-success__next{break-inside:avoid;border-color:#999!important}a{text-decoration:none!important}}


/*
|--------------------------------------------------------------------------
| Schritt „Über dich“
|--------------------------------------------------------------------------
*/

.membership-wizard-field--spaced,
.membership-wizard-heading--spaced {
    margin-top: var(--spacing-5);
}

.membership-wizard-interest-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--spacing-3);
}

.membership-wizard-interest-option {
    position: relative;
    cursor: pointer;
}

.membership-wizard-interest-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.membership-wizard-interest-option span {
    display: flex;
    align-items: center;
    min-height: 58px;
    box-sizing: border-box;
    padding: var(--spacing-3) var(--spacing-4);
    border: var(--border-width) solid var(--border-color-strong);
    border-radius: var(--radius-lg);
    background: rgba(2, 6, 23, 0.42);
    color: var(--text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        background 0.18s ease,
        color 0.18s ease;
}

.membership-wizard-interest-option:hover span {
    transform: translateY(-1px);
    border-color: var(--color-primary-500);
}

.membership-wizard-interest-option input:checked + span {
    border-color: var(--color-primary-500);
    background: rgba(37, 99, 235, 0.14);
    color: var(--text-primary);
}

@media (max-width: 900px) {
    .membership-wizard-interest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .membership-wizard-interest-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/*
|--------------------------------------------------------------------------
| Bevorzugte Zahlungsart
|--------------------------------------------------------------------------
*/

.membership-wizard-payment-method {
    margin-top: var(--spacing-6);
}

.membership-wizard-payment-method-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-4);
}

.membership-wizard-payment-method-card {
    position: relative;
    display: block;
    cursor: pointer;
}

.membership-wizard-payment-method-card > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.membership-wizard-payment-method-card > span {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2);

    min-height: 132px;
    box-sizing: border-box;
    padding: var(--spacing-5);

    border: var(--border-width) solid var(--border-color-strong);
    border-radius: var(--radius-lg);

    background: rgba(2, 6, 23, 0.48);

    transition:
        border-color 0.18s ease,
        background 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.membership-wizard-payment-method-card:hover > span {
    transform: translateY(-1px);
    border-color: var(--color-primary-500);
}

.membership-wizard-payment-method-card
> input:checked
+ span {
    border-color: var(--color-primary-500);
    background: rgba(37, 99, 235, 0.15);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.membership-wizard-payment-method-card
> input:focus-visible
+ span {
    outline: 2px solid var(--color-primary-400);
    outline-offset: 3px;
}

.membership-wizard-payment-method-card strong {
    color: var(--text-primary);
    font-size: var(--font-size-lg);
}

.membership-wizard-payment-method-card small {
    color: var(--text-muted);
    line-height: 1.55;
}

.membership-wizard-payment-method-note {
    margin-top: var(--spacing-4);
    padding: var(--spacing-4);

    border: var(--border-width) solid rgba(59, 130, 246, 0.35);
    border-radius: var(--radius-lg);

    background: rgba(37, 99, 235, 0.1);
}

.membership-wizard-payment-method-note strong {
    color: var(--color-primary-300);
}

.membership-wizard-payment-method-note p {
    margin: var(--spacing-2) 0 0;
    color: var(--text-secondary);
    line-height: 1.55;
}

@media (max-width: 800px) {
    .membership-wizard-payment-method-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .membership-wizard-payment-method-card > span {
        min-height: 0;
    }
}
