/*
 * GF_abstract_Addon – DÖAK 2027 CI
 *
 * Die Gestaltung greift Farben und Linienlogik des Veranstaltungs-Keyvisuals
 * auf, ohne das Formular unnötig bunt zu machen. Das Hintergrundmotiv selbst
 * bleibt Sache des Seitenlayouts in Elementor.
 */

:root {
    --gf-abstract-addon-blue: #2b4d8a;
    --gf-abstract-addon-red: #d63626;
    --gf-abstract-addon-pink: #c97ca5;
    --gf-abstract-addon-yellow: #f2bf5e;
    --gf-abstract-addon-mint: #8cded9;
    --gf-abstract-addon-sage: #abc7b8;
    --gf-abstract-addon-ink: #121212;
    --gf-abstract-addon-muted: #5d6674;
    --gf-abstract-addon-line: #dfe5ec;
    --gf-abstract-addon-surface: rgba(255, 255, 255, 0.94);
    --gf-abstract-addon-soft-blue: rgba(43, 77, 138, 0.07);
    --gf-abstract-addon-radius: 16px;
}

/* Der komplette GF-Block wird zur ruhigen, leicht transparenten Formularfläche. */
.gform_wrapper:has(form.gf-abstract-addon-form) {
    box-sizing: border-box;
    padding: clamp(1.35rem, 3vw, 2.8rem);
    border: 1px solid rgba(43, 77, 138, 0.14);
    border-radius: var(--gf-abstract-addon-radius);
    background: var(--gf-abstract-addon-surface);
    box-shadow: 0 18px 50px rgba(20, 35, 58, 0.08);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.gform_wrapper:has(form.gf-abstract-addon-form),
form.gf-abstract-addon-form {
    color: var(--gf-abstract-addon-ink);
    font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}

.gform_wrapper:has(form.gf-abstract-addon-form) .gform_title {
    margin-bottom: 0.35rem;
    color: var(--gf-abstract-addon-ink);
    font-weight: 600;
    letter-spacing: 0.01em;
}

.gform_wrapper:has(form.gf-abstract-addon-form) .gform_description {
    color: var(--gf-abstract-addon-muted);
    line-height: 1.55;
}

/* --------------------------------------------------------------------------
 * Fortschritt / Liniennetz
 * ----------------------------------------------------------------------- */

form.gf-abstract-addon-form .gf_page_steps {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 1.65rem 0 2.4rem !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible;
}

form.gf-abstract-addon-form .gf_step {
    --gf-abstract-addon-station: var(--gf-abstract-addon-blue);
    position: relative;
    display: grid !important;
    grid-template-rows: auto auto;
    justify-items: center;
    gap: 0.45rem;
    margin: 0 !important;
    padding: 0 0.3rem !important;
    opacity: 1 !important;
    text-align: center;
}

form.gf-abstract-addon-form .gf_step:nth-child(1) {
    --gf-abstract-addon-station: var(--gf-abstract-addon-pink);
}

form.gf-abstract-addon-form .gf_step:nth-child(2) {
    --gf-abstract-addon-station: var(--gf-abstract-addon-mint);
}

form.gf-abstract-addon-form .gf_step:nth-child(3) {
    --gf-abstract-addon-station: var(--gf-abstract-addon-yellow);
}

form.gf-abstract-addon-form .gf_step:nth-child(4) {
    --gf-abstract-addon-station: var(--gf-abstract-addon-sage);
}

form.gf-abstract-addon-form .gf_step:nth-child(5) {
    --gf-abstract-addon-station: var(--gf-abstract-addon-blue);
}

/* Verbindung zwischen den Stationen. */
form.gf-abstract-addon-form .gf_step:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 17px;
    left: 50%;
    width: 100%;
    height: 4px;
    border-radius: 999px;
    background: var(--gf-abstract-addon-line);
}

form.gf-abstract-addon-form .gf_step.gf_step_completed:not(:last-child)::after {
    background: var(--gf-abstract-addon-station);
}

form.gf-abstract-addon-form .gf_step_number {
    position: relative;
    z-index: 2;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
    margin: 0 !important;
    border: 2px solid #c8d0da !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #6f7885 !important;
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

form.gf-abstract-addon-form .gf_step.gf_step_completed .gf_step_number {
    border-color: var(--gf-abstract-addon-station) !important;
    background: color-mix(in srgb, var(--gf-abstract-addon-station) 18%, #fff) !important;
    color: var(--gf-abstract-addon-ink) !important;
}

form.gf-abstract-addon-form .gf_step.gf_step_active .gf_step_number {
    border-color: var(--gf-abstract-addon-station) !important;
    color: var(--gf-abstract-addon-ink) !important;
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--gf-abstract-addon-station) 22%, transparent) !important;
}

form.gf-abstract-addon-form .gf_step_label {
    position: relative;
    z-index: 2;
    max-width: 10rem;
    color: var(--gf-abstract-addon-muted) !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

form.gf-abstract-addon-form .gf_step.gf_step_active .gf_step_label,
form.gf-abstract-addon-form .gf_step.gf_step_completed .gf_step_label {
    color: var(--gf-abstract-addon-ink) !important;
}

form.gf-abstract-addon-form .gf_step.gf_step_active .gf_step_label {
    font-weight: 700 !important;
}

/* --------------------------------------------------------------------------
 * Seitenüberschriften und normale Felder
 * ----------------------------------------------------------------------- */

form.gf-abstract-addon-form .h3_form {
    position: relative;
    margin: 0 0 1.3rem;
    padding-left: 1.45rem;
    color: var(--gf-abstract-addon-ink);
    font-size: clamp(1.55rem, 2.4vw, 2.1rem);
    font-weight: 500;
    line-height: 1.18;
}

form.gf-abstract-addon-form .h3_form::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.34em;
    width: 11px;
    height: 11px;
    box-sizing: border-box;
    border: 2px solid var(--gf-abstract-addon-blue);
    border-radius: 50%;
    background: #fff;
}

form.gf-abstract-addon-form .h3_form::after {
    content: "";
    position: absolute;
    left: 4px;
    top: calc(0.34em + 10px);
    width: 3px;
    height: 1.1em;
    border-radius: 999px;
    background: var(--gf-abstract-addon-blue);
}

form.gf-abstract-addon-form .gfield_html p {
    color: #343a43;
    line-height: 1.65;
}

form.gf-abstract-addon-form .gfield_label,
form.gf-abstract-addon-form .gform-field-label {
    color: #27303b;
    font-weight: 600;
}

form.gf-abstract-addon-form .gfield_required,
form.gf-abstract-addon-form .gfield_required_text {
    color: var(--gf-abstract-addon-red) !important;
    font-weight: 500;
}

form.gf-abstract-addon-form input[type="text"],
form.gf-abstract-addon-form input[type="email"],
form.gf-abstract-addon-form input[type="tel"],
form.gf-abstract-addon-form input[type="url"],
form.gf-abstract-addon-form input[type="number"],
form.gf-abstract-addon-form select,
form.gf-abstract-addon-form textarea {
    border: 1px solid #b7c1ce !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: var(--gf-abstract-addon-ink) !important;
    box-shadow: none !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

form.gf-abstract-addon-form input[type="text"],
form.gf-abstract-addon-form input[type="email"],
form.gf-abstract-addon-form input[type="tel"],
form.gf-abstract-addon-form input[type="url"],
form.gf-abstract-addon-form input[type="number"],
form.gf-abstract-addon-form select {
    min-height: 48px;
}

form.gf-abstract-addon-form textarea {
    line-height: 1.55;
}

form.gf-abstract-addon-form input[type="text"]:focus,
form.gf-abstract-addon-form input[type="email"]:focus,
form.gf-abstract-addon-form input[type="tel"]:focus,
form.gf-abstract-addon-form input[type="url"]:focus,
form.gf-abstract-addon-form input[type="number"]:focus,
form.gf-abstract-addon-form select:focus,
form.gf-abstract-addon-form textarea:focus {
    border-color: var(--gf-abstract-addon-blue) !important;
    outline: 0 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(43, 77, 138, 0.12) !important;
}

form.gf-abstract-addon-form input[type="checkbox"],
form.gf-abstract-addon-form input[type="radio"] {
    accent-color: var(--gf-abstract-addon-blue);
}

/* Datei-Upload: Der native Browser-Text ist absichtlich ausgeblendet.
 * Button und Dateiname werden separat ausgegeben, damit Firefox, Safari und
 * Chrome an dieser Stelle gleich aussehen. Das eigentliche File-Feld bleibt
 * im DOM und übernimmt weiterhin Auswahl und Gravity-Forms-Validierung. */
form.gf-abstract-addon-form .ginput_container_fileupload {
    display: block;
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker__input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker__button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.58rem 0.95rem;
    border: 1px solid var(--gf-abstract-addon-blue);
    border-radius: 7px;
    background: #fff;
    color: var(--gf-abstract-addon-blue);
    font: inherit;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker__button:hover {
    background: var(--gf-abstract-addon-soft-blue);
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker__input:focus-visible + .gf-abstract-addon-file-picker__button {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(43, 77, 138, 0.16);
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker__name {
    min-width: 0;
    overflow: hidden;
    color: #4f5967;
    text-overflow: ellipsis;
    white-space: nowrap;
}

form.gf-abstract-addon-form .gf-abstract-addon-file-picker__name--empty {
    color: #6f7884;
}

form.gf-abstract-addon-form .ginput_container_fileupload .gform_fileupload_rules {
    display: block;
    margin-top: 0.45rem;
}

@media (max-width: 560px) {
    form.gf-abstract-addon-form .gf-abstract-addon-file-picker {
        flex-wrap: wrap;
        gap: 0.55rem 0.7rem;
    }

    form.gf-abstract-addon-form .gf-abstract-addon-file-picker__name {
        flex: 1 1 12rem;
    }
}

/* --------------------------------------------------------------------------
 * Navigation und Absenden
 * ----------------------------------------------------------------------- */

form.gf-abstract-addon-form .gform_page_footer,
form.gf-abstract-addon-form .gform_footer {
    display: flex;
    gap: 0.7rem;
    align-items: center;
    margin-top: 2rem;
    padding-top: 1.35rem;
    border-top: 1px solid rgba(43, 77, 138, 0.12);
}

form.gf-abstract-addon-form .gform_next_button,
form.gf-abstract-addon-form .gform_button,
form.gf-abstract-addon-form input[type="submit"] {
    min-height: 46px;
    padding: 0.75rem 1.25rem !important;
    border: 2px solid var(--gf-abstract-addon-blue) !important;
    border-radius: 8px !important;
    background: var(--gf-abstract-addon-blue) !important;
    color: #fff !important;
    font: inherit !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

form.gf-abstract-addon-form .gform_next_button:hover,
form.gf-abstract-addon-form .gform_button:hover,
form.gf-abstract-addon-form input[type="submit"]:hover {
    border-color: #213c6c !important;
    background: #213c6c !important;
    transform: translateY(-1px);
}

form.gf-abstract-addon-form .gform_previous_button {
    min-height: 46px;
    padding: 0.75rem 1.25rem !important;
    border: 2px solid var(--gf-abstract-addon-blue) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    color: var(--gf-abstract-addon-blue) !important;
    font: inherit !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    cursor: pointer;
}

form.gf-abstract-addon-form .gform_previous_button:hover {
    background: var(--gf-abstract-addon-soft-blue) !important;
}

form.gf-abstract-addon-form .gform_next_button:focus-visible,
form.gf-abstract-addon-form .gform_previous_button:focus-visible,
form.gf-abstract-addon-form .gform_button:focus-visible,
form.gf-abstract-addon-form input[type="submit"]:focus-visible {
    outline: 3px solid var(--gf-abstract-addon-yellow) !important;
    outline-offset: 3px;
}

/* --------------------------------------------------------------------------
 * Fehlerzustände
 * ----------------------------------------------------------------------- */

form.gf-abstract-addon-form .gform_validation_errors {
    border: 1px solid var(--gf-abstract-addon-red) !important;
    border-left-width: 5px !important;
    border-radius: 9px !important;
    background: rgba(214, 54, 38, 0.055) !important;
    box-shadow: none !important;
}

form.gf-abstract-addon-form .gform_validation_errors h2,
form.gf-abstract-addon-form .validation_message,
form.gf-abstract-addon-form .gfield_validation_message {
    color: #a82b20 !important;
}

form.gf-abstract-addon-form .gfield_error input,
form.gf-abstract-addon-form .gfield_error select,
form.gf-abstract-addon-form .gfield_error textarea {
    border-color: var(--gf-abstract-addon-red) !important;
}

/* --------------------------------------------------------------------------
 * Autorenliste
 * ----------------------------------------------------------------------- */

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gfield_list_group.gf-abstract-addon-author-row {
    border-bottom: 1px solid rgba(43, 77, 138, 0.11);
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-order-controls {
    color: #27303b;
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-drag-handle,
form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-move {
    border-color: #91a0b3;
    background: rgba(255, 255, 255, 0.7);
    color: var(--gf-abstract-addon-blue);
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-drag-handle:hover,
form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-move:not(:disabled):hover {
    border-color: var(--gf-abstract-addon-mint);
    background: color-mix(in srgb, var(--gf-abstract-addon-mint) 16%, #fff);
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-position {
    color: var(--gf-abstract-addon-blue);
    font-weight: 700;
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-corresponding-badge {
    border-color: #64bdb8;
    background: color-mix(in srgb, var(--gf-abstract-addon-mint) 22%, #fff);
    color: #245f5c;
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gfield_list_group.gf-abstract-addon-is-corresponding {
    border: 1px solid #74c8c3 !important;
    border-left: 4px solid var(--gf-abstract-addon-mint) !important;
    background: color-mix(in srgb, var(--gf-abstract-addon-mint) 7%, #fff);
    box-shadow: 0 8px 24px rgba(43, 77, 138, 0.04);
}

form.gf-abstract-addon-form .gf-abstract-addon-authors-field .gf-abstract-addon-author-sort-placeholder {
    border-color: var(--gf-abstract-addon-mint);
    background: color-mix(in srgb, var(--gf-abstract-addon-mint) 7%, transparent);
}

/* --------------------------------------------------------------------------
 * Prüfansicht: vertikale, ruhige Interpretation des Linien-Keyvisuals
 * ----------------------------------------------------------------------- */

form.gf-abstract-addon-form .gf-abstract-addon-preview {
    gap: 1rem;
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__intro {
    color: var(--gf-abstract-addon-muted);
    line-height: 1.55;
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section {
    --gf-abstract-addon-preview-station: var(--gf-abstract-addon-blue);
    position: relative;
    padding: 1.2rem 1.3rem 1.2rem 1.65rem;
    border: 1px solid rgba(43, 77, 138, 0.12);
    border-left: 4px solid var(--gf-abstract-addon-preview-station);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 8px 24px rgba(20, 35, 58, 0.035);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section:nth-of-type(1) {
    --gf-abstract-addon-preview-station: var(--gf-abstract-addon-pink);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section:nth-of-type(2) {
    --gf-abstract-addon-preview-station: var(--gf-abstract-addon-mint);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section:nth-of-type(3) {
    --gf-abstract-addon-preview-station: var(--gf-abstract-addon-yellow);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section:nth-of-type(4) {
    --gf-abstract-addon-preview-station: var(--gf-abstract-addon-sage);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section:nth-of-type(5) {
    --gf-abstract-addon-preview-station: var(--gf-abstract-addon-blue);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 1.25rem;
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 2px solid var(--gf-abstract-addon-preview-station);
    border-radius: 50%;
    background: #fff;
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__section h4 {
    color: var(--gf-abstract-addon-ink);
    font-weight: 650;
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__row {
    border-top-color: rgba(43, 77, 138, 0.09);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__label {
    color: #3c4652;
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__author {
    border-color: rgba(43, 77, 138, 0.14);
    background: rgba(255, 255, 255, 0.7);
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__badge {
    border-color: #64bdb8;
    background: color-mix(in srgb, var(--gf-abstract-addon-mint) 20%, #fff);
    color: #245f5c;
}

form.gf-abstract-addon-form .gf-abstract-addon-preview__figure img {
    border-color: rgba(43, 77, 138, 0.18);
    background: #fff;
}

/* --------------------------------------------------------------------------
 * Bestätigung nach dem Absenden
 * ----------------------------------------------------------------------- */

.gf-abstract-addon-confirmation {
    position: relative;
    border: 1px solid rgba(43, 77, 138, 0.16);
    border-left: 5px solid var(--gf-abstract-addon-mint);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--gf-abstract-addon-ink);
    box-shadow: 0 14px 38px rgba(20, 35, 58, 0.07);
    font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}

.gf-abstract-addon-confirmation::before {
    content: "";
    position: absolute;
    left: -11px;
    top: 2rem;
    width: 15px;
    height: 15px;
    box-sizing: border-box;
    border: 2px solid var(--gf-abstract-addon-mint);
    border-radius: 50%;
    background: #fff;
}

.gf-abstract-addon-confirmation__reference {
    border-color: rgba(43, 77, 138, 0.16);
    background: var(--gf-abstract-addon-soft-blue);
}

.gf-abstract-addon-confirmation__reference-value {
    color: var(--gf-abstract-addon-blue);
}

.gf-abstract-addon-confirmation__notice {
    border-top-color: rgba(43, 77, 138, 0.12);
}

.gf-abstract-addon-confirmation--warning {
    border-left-color: var(--gf-abstract-addon-red);
}

.gf-abstract-addon-confirmation--warning::before {
    border-color: var(--gf-abstract-addon-red);
}

/* --------------------------------------------------------------------------
 * Kleine Bildschirme
 * ----------------------------------------------------------------------- */

@media (max-width: 760px) {
    .gform_wrapper:has(form.gf-abstract-addon-form) {
        padding: 1.15rem;
        border-radius: 12px;
    }

    form.gf-abstract-addon-form .gf_page_steps {
        margin: 1.25rem 0 1.8rem !important;
    }

    form.gf-abstract-addon-form .gf_step {
        padding-inline: 0.12rem !important;
    }

    form.gf-abstract-addon-form .gf_step_number {
        width: 31px !important;
        height: 31px !important;
        min-width: 31px;
        font-size: 0.76rem !important;
    }

    form.gf-abstract-addon-form .gf_step:not(:last-child)::after {
        top: 14px;
    }

    form.gf-abstract-addon-form .gf_step_label {
        font-size: 0.66rem !important;
        hyphens: auto;
    }

    form.gf-abstract-addon-form .h3_form {
        font-size: 1.55rem;
    }

    form.gf-abstract-addon-form .gform_page_footer,
    form.gf-abstract-addon-form .gform_footer {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    form.gf-abstract-addon-form .gform_next_button,
    form.gf-abstract-addon-form .gform_previous_button,
    form.gf-abstract-addon-form .gform_button,
    form.gf-abstract-addon-form input[type="submit"] {
        width: 100% !important;
        margin-inline: 0 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    form.gf-abstract-addon-form *,
    .gf-abstract-addon-confirmation {
        scroll-behavior: auto !important;
        transition: none !important;
    }
}

/* Auf sehr schmalen Displays bleiben die Stationen sichtbar, die langen
 * Bezeichnungen aber nur für den aktuellen Schritt. So kollidieren die Texte
 * nicht miteinander. */
@media (max-width: 520px) {
    form.gf-abstract-addon-form .gf_page_steps {
        margin-bottom: 2.35rem !important;
    }

    form.gf-abstract-addon-form .gf_step_label {
        display: none !important;
    }

    form.gf-abstract-addon-form .gf_step.gf_step_active .gf_step_label {
        position: absolute;
        top: 39px;
        left: 50%;
        display: block !important;
        width: max-content;
        max-width: 7.5rem;
        transform: translateX(-50%);
        white-space: nowrap;
        font-size: 0.7rem !important;
    }
}

/* Übergang: frühere Submitter-Felder bleiben bis zur finalen Formularabnahme unsichtbar. */
form.gf-abstract-addon-form .gf-abstract-addon-legacy-field {
    display: none !important;
}

/* Bereits erreichte Stationen können direkt angesprungen werden. */
form.gf-abstract-addon-form .gf_step.gf-abstract-addon-step--clickable {
    cursor: pointer;
}

form.gf-abstract-addon-form .gf_step.gf-abstract-addon-step--clickable:hover .gf_step_number,
form.gf-abstract-addon-form .gf_step.gf-abstract-addon-step--clickable:focus-visible .gf_step_number {
    border-color: var(--gf-abstract-addon-station) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--gf-abstract-addon-station) 18%, transparent) !important;
}

form.gf-abstract-addon-form .gf_step.gf-abstract-addon-step--clickable:focus-visible {
    outline: 0;
}

form.gf-abstract-addon-form .gf-abstract-addon-author-affiliation-add,
form.gf-abstract-addon-form .gf-abstract-addon-author-affiliation-remove {
    border-color: #91a0b3;
    color: var(--gf-abstract-addon-blue);
}

form.gf-abstract-addon-form .gf-abstract-addon-author-affiliation-add:hover,
form.gf-abstract-addon-form .gf-abstract-addon-author-affiliation-remove:hover {
    border-color: var(--gf-abstract-addon-mint);
    background: color-mix(in srgb, var(--gf-abstract-addon-mint) 13%, #fff);
}
