/*
 * TSS GROUP – CounterKompass Adventskalender 2026
 * Gestaltung für RSForm! Pro, Formular-ID 84
 * Konzept & Entwicklung: Lutz Kadner / TSS GROUP
 * Verwendung: Formular 84 -> Attribute -> CSS-Klasse: tssa-rsform84
 * Scoped: keine Veränderungen an anderen RSForm-Formularen.
 */

.tssa-rsform-embed form {
    --tss-green: #163d34;
    --tss-green-soft: #275247;
    --tss-gold: #b58b3d;
    --tss-cream: #f8f6f1;
    --tss-border: #e5dccb;
    box-sizing: border-box;
    position: relative;
    width: min(100%, 900px);
    margin: 28px auto 48px;
    padding: clamp(24px, 4vw, 46px);
    overflow: hidden;
    color: var(--tss-green);
    background: #fffdfa;
    border: 1px solid var(--tss-border);
    border-radius: 22px;
    box-shadow: 0 16px 42px rgb(25 47 38 / 9%);
    font: 400 1rem/1.6 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

.tssa-rsform-embed form *,
.tssa-rsform-embed form *::before,
.tssa-rsform-embed form *::after {
    box-sizing: border-box;
}

/* Dezenter Adventsakzent – keine Grafiken oder zusätzliche Plugins nötig. */
.tssa-rsform-embed form::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, #173d34, #b58b3d 48%, #d6bb7d 72%, #173d34);
}

/* RSForm 84 hat einen Formulartitel in seinem Layout. */
.tssa-rsform-embed form > h2 {
    margin: 4px 0 30px;
    color: var(--tss-green);
    font: 500 clamp(1.8rem, 3.4vw, 2.6rem)/1.18 Georgia, "Times New Roman", serif;
    text-align: center;
}

.tssa-rsform-embed form > h2::after {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    margin: 17px auto 0;
    background: var(--tss-gold);
}

/* Formularabstände – die RSForm-Paginierung bleibt unverändert. */
.tssa-rsform-embed form .rsform-block {
    margin-bottom: 23px;
}
.tssa-rsform-embed form .formControls {
    min-width: 0;
    max-width: 100%;
}
.tssa-rsform-embed form .formControlLabel,
.tssa-rsform-embed form .control-label {
    display: block;
    margin-bottom: 8px;
    color: #244a3f;
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.45;
}
.tssa-rsform-embed form .formRequired {
    margin-left: 3px;
    color: #a77724;
    font-weight: 800;
}

/* Normale Eingaben; interne Selectize- und CAPTCHA-Eingaben nicht überformen. */
.tssa-rsform-embed form .formControls > input[type="text"],
.tssa-rsform-embed form .formControls > input[type="email"],
.tssa-rsform-embed form .formControls > input[type="password"],
.tssa-rsform-embed form .formControls > input[type="tel"],
.tssa-rsform-embed form .formControls > select,
.tssa-rsform-embed form .formControls > textarea,
.tssa-rsform-embed form .formControls > .form-control,
.tssa-rsform-embed form .formControls > .inputbox {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 47px;
    padding: 11px 14px;
    color: #193b30;
    background: #fff;
    border: 1px solid #becbc2;
    border-radius: 10px;
    font: inherit;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.tssa-rsform-embed form .formControls > textarea {
    min-height: 112px;
    resize: vertical;
}
.tssa-rsform-embed form .formControls > input:focus,
.tssa-rsform-embed form .formControls > select:focus,
.tssa-rsform-embed form .formControls > textarea:focus,
.tssa-rsform-embed form .formControls > .form-control:focus {
    border-color: var(--tss-gold);
    outline: 2px solid transparent;
    box-shadow: 0 0 0 3px rgb(181 139 61 / 18%);
}

/* RSForm-Selectize: nur den äußeren Auswahlrahmen verändern. */
.tssa-rsform-embed form .selectize-control .selectize-input {
    min-height: 47px;
    padding: 11px 14px;
    border: 1px solid #becbc2;
    border-radius: 10px;
    background: #fff;
    color: #193b30;
    box-shadow: none;
}
.tssa-rsform-embed form .selectize-control .selectize-input.focus {
    border-color: var(--tss-gold);
    box-shadow: 0 0 0 3px rgb(181 139 61 / 18%);
}
.tssa-rsform-embed form .selectize-dropdown .active {
    background: #edf4ef;
    color: #173d34;
}

/* Vorname/Nachname und E-Mail/E-Mail-Wiederholung nebeneinander. */
@media (min-width: 720px) {
    .tssa-rsform-embed form #rsform_84_page_0 > .form-row:first-child > .col-md-12 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 22px;
    }
}

/* Newsletter-/Datenschutzbereich. Keine Veränderung der Auswahl oder Pflichtfelder. */
.tssa-rsform-embed form .rsform-block-newsletters,
.tssa-rsform-embed form .rsform-block-datenschutz {
    padding: 18px 20px;
    background: #f6f7f2;
    border: 1px solid #e1e7dd;
    border-radius: 13px;
}
.tssa-rsform-embed form .rsform-block-datenschutz {
    background: #faf6eb;
    border-color: #e9dcbf;
}
.tssa-rsform-embed form input[type="checkbox"],
.tssa-rsform-embed form input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
    accent-color: #1f5949;
}
.tssa-rsform-embed form .rsform-block-datenschutz label,
.tssa-rsform-embed form .rsform-block-newsletters label {
    color: #25463b;
    font-weight: 500;
    line-height: 1.6;
}
.tssa-rsform-embed form a {
    color: #216249;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* CAPTCHA bleibt technisch und optisch unverändert; nur die umgebende Fläche. */
.tssa-rsform-embed form .rsform-block-captcha {
    padding: 17px 20px;
    background: var(--tss-cream);
    border: 1px solid var(--tss-border);
    border-radius: 13px;
}

/* Hinweis- und Validierungsmeldungen. */
.tssa-rsform-embed form .formValidation:not(:empty) {
    display: block;
    margin-top: 7px;
    color: #9b352c;
    font-size: .89rem;
    font-weight: 600;
}
.tssa-rsform-embed form .rsform-error,
.tssa-rsform-embed form .alert-danger {
    padding: 12px 15px;
    background: #fff2ee;
    color: #87342b;
    border: 1px solid #e8b6aa;
    border-radius: 9px;
}

/* Einheitliche Weiter-/Zurück- und Registrieren-Schaltflächen. */
.tssa-rsform-embed form .rsform-type-pagebreak .formControls {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 11px;
}
.tssa-rsform-embed form .rsform-type-pagebreak .btn,
.tssa-rsform-embed form .rsform-block-registrieren .btn,
.tssa-rsform-embed form .rsform-type-pagebreak .rsform-button,
.tssa-rsform-embed form .rsform-block-registrieren .rsform-button,
.tssa-rsform-embed form .rsform-block-registrieren input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    min-height: 47px;
    padding: 11px 23px;
    color: #fff;
    background: linear-gradient(115deg, #ab8135, #c19a50);
    border: 1px solid #b58b3d;
    border-radius: 999px;
    font: 700 1rem/1.3 system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
    white-space: normal;
    box-shadow: none;
    cursor: pointer;
}
.tssa-rsform-embed form .rsform-type-pagebreak .btn:hover,
.tssa-rsform-embed form .rsform-block-registrieren .btn:hover,
.tssa-rsform-embed form .rsform-type-pagebreak .rsform-button:hover,
.tssa-rsform-embed form .rsform-block-registrieren .rsform-button:hover,
.tssa-rsform-embed form .rsform-block-registrieren input[type="submit"]:hover {
    background: #946d29;
    border-color: #946d29;
    color: #fff;
}
.tssa-rsform-embed form .rsform-type-pagebreak .btn-default,
.tssa-rsform-embed form .rsform-type-pagebreak .btn-secondary {
    background: #fff;
    border-color: #d2c2a6;
    color: #214d3d;
}
.tssa-rsform-embed form .rsform-type-pagebreak .btn-default:hover,
.tssa-rsform-embed form .rsform-type-pagebreak .btn-secondary:hover {
    background: #f1eee6;
    border-color: #baaa8c;
    color: #173d34;
}
.tssa-rsform-embed form .btn:focus-visible,
.tssa-rsform-embed form input:focus-visible,
.tssa-rsform-embed form select:focus-visible,
.tssa-rsform-embed form textarea:focus-visible {
    outline: 3px solid #d4a74a;
    outline-offset: 3px;
}

@media (max-width: 640px) {
    .tssa-rsform-embed form {
        margin: 12px auto 32px;
        padding: 24px 17px;
        border-radius: 16px;
    }
    .tssa-rsform-embed form > h2 { margin-bottom: 22px; }
    .tssa-rsform-embed form .rsform-block-newsletters,
    .tssa-rsform-embed form .rsform-block-datenschutz,
    .tssa-rsform-embed form .rsform-block-captcha { padding: 14px; }
    .tssa-rsform-embed form .rsform-type-pagebreak .formControls { display: flex; }
    .tssa-rsform-embed form .rsform-type-pagebreak .btn,
    .tssa-rsform-embed form .rsform-block-registrieren .btn,
    .tssa-rsform-embed form .rsform-type-pagebreak .rsform-button,
    .tssa-rsform-embed form .rsform-block-registrieren .rsform-button,
    .tssa-rsform-embed form .rsform-block-registrieren input[type="submit"] {
        flex: 1 1 auto;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tssa-rsform-embed form input,
    .tssa-rsform-embed form select,
    .tssa-rsform-embed form textarea { transition: none; }
}

/* Joomla module wrapper inside the Adventskalender registration view. */
.tssa-register-shell{max-width:960px;margin:22px auto 40px;min-width:0}
.tssa-register-shell>h1{font-family:Georgia,"Times New Roman",serif;color:#173d34;text-align:center;font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:500;margin:0 0 15px}
.tssa-register-shell>p{max-width:850px;text-align:center;margin:0 auto 16px;color:#35584b}
.tssa-register-shell .tssa-rsform-embed{min-width:0}
.tssa-register-shell .tssa-register-login{margin:4px auto 28px}
.tssa-register-shell .tssa-register-login a{color:#225a46;font-weight:700;text-decoration:underline}
@media(max-width:640px){.tssa-register-shell{margin:10px auto 25px}}
