.cta-att-group { display: flex; flex-direction: column; gap: var(--abstand-2); }
.cta-msg-counter { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-pille); }
.cta-phone-number:hover {
    color: var(--accent);
}
.cta-prerequisite-gate .cta-form-gated { display: none; }
.cta-section hgroup h2 {
    margin: 0;
}
.cta-msg-counter.cta-counter-low {
    background: var(--danger); color: var(--on-danger); border-color: var(--danger);
}
.cta-msg-counter { display: block; width: max-content; margin: var(--abstand-1) 0 0 auto; padding: var(--abstand-1) var(--abstand-2); font-variant-numeric: tabular-nums; font-size: 0.96em; font-weight: 700; color: var(--text-muted); align-self: flex-end; }
.cta-msg-counter.cta-counter-ok {
    background: var(--success); color: var(--on-success); border-color: var(--success);
}
.cta-section {
    margin-top: 40px;
    padding: 32px;
    min-width: 0;
    max-width: 100%;
}
.cta-section .cta-att-trigger { max-width: 100%; }
.cta-section hgroup { margin: 0 0 20px; }
.cta-section hgroup p, .cta-section hgroup h3 {
    font-size: var(--schrift-3);
    font-weight: 700;
    color: var(--text);
    margin: 4px 0 0;
}
.cta-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--abstand-6);
}
@media (min-width: 600px) {
.cta-columns {
            grid-template-columns: 1fr auto;
            align-items: start;

    }
}
.cta-prereq-claim { margin-top: var(--abstand-6); }
.cta-prereq-claim-input, .cta-prereq-test { margin-inline-end: var(--abstand-2); }
.cta-prereq-claim-option {
    padding: var(--abstand-2) 0;
    cursor: pointer;
}
.cta-prerequisite-gate:has(.cta-prereq-claim-input:checked) .cta-form-gated {
    display: block;
    margin-top: var(--abstand-5);
}
.cta-login-required {
    padding: var(--abstand-4);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-1);
}
.cta-login-link { text-align: center; display: block; text-decoration: none; }
.cta-phone {
    text-align: center;
    padding: var(--abstand-4);
}
.cta-phone p {
    font-size: var(--schrift-2);
    color: var(--text-muted);
    margin-bottom: var(--abstand-2);
}
.cta-phone-number {
    display: block;
    font-size: var(--schrift-5);
    font-weight: 700;
    color: var(--primary);
    text-decoration: none;
}
.cta-login-required { display: flex; flex-direction: column; gap: var(--abstand-3); }
