/* =====================================================

   STARTSEITE

   FDP ANHALT-BITTERFELD

===================================================== */

/* =====================================================

   GRUNDLAGE

===================================================== */

.home-page {

    --home-section-gap: 76px;

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    overflow-x: hidden;

    background: var(--fdp-white);

}

.home-shell {

    width:

        min(

            var(--container),

            calc(100% - 64px)

        );

    margin-inline: auto;

}

/* =====================================================

   HERO

===================================================== */

.home-page .home-hero {

    width: 100%;

    height: auto !important;

    min-height: 0 !important;

    margin: 0 !important;

    padding:

        46px

        0

        0 !important;

    background: var(--fdp-white);

}

/* =====================================================

   STANDARD-HERO

===================================================== */

.home-hero-standard {

    display: grid;

    grid-template-columns:

        minmax(0, 0.95fr)

        minmax(420px, 1.05fr);

    align-items: center;

    gap:

        clamp(

            44px,

            5vw,

            78px

        );

    width: 100%;

}

/* =====================================================

   STANDARD-HERO BILD

===================================================== */

.home-hero-standard__media {

    min-width: 0;

    overflow: hidden;

    border-radius: 30px;

    background: var(--fdp-yellow);

}

.home-hero-standard__image {

    display: block;

    width: 100%;

    height: auto;

    aspect-ratio: 16 / 9;

    object-fit: cover;

}

.home-hero-standard__fallback {

    display: flex;

    width: 100%;

    aspect-ratio: 16 / 9;

    align-items: center;

    justify-content: center;

    padding: 60px;

    background: var(--fdp-yellow);

}

.home-hero-standard__fallback img {

    display: block;

    width:

        min(

            48%,

            300px

        );

    height: auto;

}

/* =====================================================

   STANDARD-HERO TEXT

===================================================== */

.home-hero-standard__content h1 {

    max-width: 650px;

    margin:

        0

        0

        25px;

    color: var(--fdp-blue);

    font-size:

        clamp(

            3.1rem,

            5vw,

            5.2rem

        );

    font-weight: 800;

    letter-spacing: -0.055em;

    line-height: 0.96;

}

.home-hero-standard__text {

    max-width: 620px;

    color: #171717;

    font-family: var(--fdp-font);

    font-size: var(--fdp-body-font-size);

    font-weight: var(--fdp-body-weight);

    line-height: var(--fdp-body-line-height);

    letter-spacing: var(--fdp-body-letter-spacing);

    hyphens: auto;

    -webkit-hyphens: auto;

    word-break: normal;

    overflow-wrap: normal;

}

.home-hero-standard__text p {

    margin:

        0

        0

        18px;

}

.home-hero-standard__text p:last-child {

    margin-bottom: 0;

}

/* =====================================================

   BUTTONS

===================================================== */

.home-hero-standard__actions {

    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 28px;

}

.home-button {

    display: inline-flex;

    min-height: 50px;

    align-items: center;

    justify-content: center;

    gap: 12px;

    padding:

        11px

        24px;

    border:

        2px solid

        var(--fdp-blue);

    border-radius: 999px;

    color: var(--fdp-blue);

    font-size: 0.92rem;

    font-weight: 800;

    text-decoration: none;

    transition:

        transform var(--transition),

background var(--transition),

        color var(--transition);

}

.home-button:hover {

    transform: translateY(-2px);

}

.home-button--yellow {

    border-color: var(--fdp-yellow);

    background: var(--fdp-yellow);

}

.home-button--outline {

    background: transparent;

}

.home-button--yellow:hover {

    border-color: var(--fdp-blue);

    background: var(--fdp-white);

    color: var(--fdp-blue);

}

.home-button--outline:hover {

    background: var(--fdp-white);

    color: var(--fdp-blue);

}

/* =====================================================

   MITMACH-/FORMULAR-HERO

===================================================== */

.home-hero-form {

    --home-form-card-overhang: 0px;

    position: relative;

    width: 100%;

    padding-bottom:

        var(--home-form-card-overhang);

}

.home-hero-form__visual {

    position: relative;

    width: 100%;

}

.home-hero-form__media {

    width: 100%;

    overflow: hidden;

    background: transparent;

}

.home-hero-form__image {

    display: block;

    width: 100%;

    height: auto;

    aspect-ratio: 16 / 5.5;

    object-fit: cover;

}

.home-hero-form__fallback {

    display: flex;

    width: 100%;

    aspect-ratio: 16 / 5.5;

    align-items: center;

    justify-content: center;

    background: var(--fdp-yellow);

}

.home-hero-form__fallback img {

    width:

        min(

            32%,

            300px

        );

    height: auto;

}

/* =====================================================

   TEXT DIREKT UNTER DEM BILD

===================================================== */

.home-hero-form__copy {

    width:

        calc(

            66%

            - 20px

        );

    padding-top: 25px;

    color: #171717;

    font-family: var(--fdp-font);

    font-size: var(--fdp-body-font-size);

    font-weight: var(--fdp-body-weight);

    line-height: var(--fdp-body-line-height);

    letter-spacing: var(--fdp-body-letter-spacing);

    hyphens: auto;

    -webkit-hyphens: auto;

    word-break: normal;

    overflow-wrap: normal;

}

.home-hero-form__copy p {

    margin:

        0

        0

        18px;

}

.home-hero-form__copy p:last-child {

    margin-bottom: 0;

}

/* =====================================================

   FORMULARBOX

===================================================== */

.home-hero-form__card {

    position: absolute;

    z-index: 4;

    top: 70px;

    right: 28px;

    box-sizing: border-box;

    width:

        min(

            390px,

            calc(

                34%

                - 28px

            )

        );

    padding: 30px;

    border-radius: 28px;

    background: var(--fdp-white);

    box-shadow:

        0

        16px

        44px

        rgba(

            3,

            45,

            103,

            0.16

        );

}

.home-hero-form__card > h1 {

    margin:

        0

        0

        13px;

    color: var(--fdp-blue);

    font-size:

        clamp(

            1.7rem,

            2.4vw,

            2.2rem

        );

    font-weight: 800;

    letter-spacing: -0.04em;

    line-height: 1.05;

}

.home-hero-form__campaign-link {

    display: inline;

    color: var(--fdp-blue);

    font-size: 0.94rem;

    font-weight: 700;

    line-height: 1.45;

    text-decoration: underline;

    text-decoration-color: var(--fdp-link-underline-color);

    text-decoration-thickness: var(--fdp-link-underline-thickness);

    text-underline-offset: var(--fdp-link-underline-offset);

}

.home-hero-form__campaign-link:hover {

    color: var(--fdp-cyan);

}

/* =====================================================

   KAMPAGNENFORMULAR

===================================================== */

.home-hero-form__form {

    width: 100%;

    margin-top: 22px;

    color: #171717;

    font-size: 0.94rem;

    font-weight: 500;

    line-height: 1.5;

}

.home-hero-form__form

.campaign-form-section {

    width: 100%;

    margin: 0 !important;

    padding: 0 !important;

    background: transparent !important;

}

.home-hero-form__form

.campaign-shell {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

}

.home-hero-form__form

.campaign-form-card {

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

}

.home-hero-form__form

.campaign-form-card__header h2 {

    display: none;

}

.home-hero-form__form

.campaign-form-card__header {

    margin:

        0

        0

        18px;

}

.home-hero-form__form

.campaign-form-card__header p {

    margin: 0;

    color: #171717;

    font-size: 0.9rem;

    font-weight: 500;

    line-height: 1.55;

}

.home-hero-form__form

.campaign-form {

    display: grid;

    gap: 14px;

    margin: 0;

}

.home-hero-form__form

.campaign-form__row {

    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;

}

.home-hero-form__form

.campaign-field {

    display: grid;

    gap: 6px;

}

.home-hero-form__form

.campaign-field > span {

    color: #171717;

    font-size: 0.85rem;

    font-weight: 700;

}

.home-hero-form__form

.campaign-field small {

    color: #68717c;

    font-size: 0.74rem;

    font-weight: 500;

    line-height: 1.45;

}

.home-hero-form__form

.campaign-field input[type="text"],

.home-hero-form__form

.campaign-field input[type="email"],

.home-hero-form__form

.campaign-field input[type="tel"],

.home-hero-form__form

.campaign-field input[type="url"],

.home-hero-form__form

.campaign-field input[type="number"],

.home-hero-form__form

.campaign-field select,

.home-hero-form__form

.campaign-field textarea {

    box-sizing: border-box;

    width: 100%;

    min-height: 47px;

    padding:

        10px

        13px;

    border:

        2px solid

        rgba(

            3,

            45,

            103,

            0.17

        );

    border-radius: 6px;

    outline: none;

    background: var(--fdp-white);

    color: #171717;

    font-family: inherit;

    font-size: 0.94rem;

    font-weight: 500;

}

.home-hero-form__form

.campaign-field textarea {

    min-height: 105px;

    resize: vertical;

}

.home-hero-form__form

.campaign-field input:focus,

.home-hero-form__form

.campaign-field select:focus,

.home-hero-form__form

.campaign-field textarea:focus {

    border-color: var(--fdp-cyan);

    box-shadow:

        0

        0

        0

        3px

        rgba(

            0,

            167,

            231,

            0.08

        );

}

/* =====================================================

   KAMPAGNEN-CHECKBOX

===================================================== */

.home-hero-form__form

.campaign-checkbox {

    display: grid;

    grid-template-columns:

        20px

        minmax(0, 1fr);

    align-items: start;

    gap: 9px;

    cursor: pointer;

}

.home-hero-form__form

.campaign-checkbox input {

    width: 18px;

    height: 18px;

    /* Mittig zur ersten Textzeile (0.82rem × 1.45) */

    margin:
        calc(
            (
                0.82rem
                * 1.45
                - 18px
            )
            / 2
        )
        0
        0;

    accent-color: var(--fdp-blue);

}

.home-hero-form__form

.campaign-checkbox > span {

    font-size: 0.82rem;

    font-weight: 500;

    line-height: 1.45;

}

.home-hero-form__form

.campaign-checkbox a {

    color: var(--fdp-blue);

    font-weight: 700;

    text-decoration: underline;

    text-decoration-color: var(--fdp-link-underline-color);

    text-decoration-thickness: var(--fdp-link-underline-thickness);

    text-underline-offset: var(--fdp-link-underline-offset);

}

/* =====================================================

   KAMPAGNEN-ABSENDEN

===================================================== */

.home-hero-form__form

.campaign-submit {

    display: inline-flex;

    width: 100%;

    min-height: 50px;

    align-items: center;

    justify-content: center;

    gap: 12px;

    margin-top: 5px;

    padding:

        11px

        18px;

    border: 2px solid var(--fdp-blue);

    border-radius: 6px;

    background: var(--fdp-blue);

    color: var(--fdp-white);

    cursor: pointer;

    font-family: inherit;

    font-size: 0.92rem;

    font-weight: 700;

    transition:
        background var(--transition),
        color var(--transition),
        transform var(--transition);

}

.home-hero-form__form
.campaign-submit:hover {

    background: var(--fdp-white);

    color: var(--fdp-blue);

    transform: translateY(-1px);

}

/* =====================================================

   KAMPAGNEN-MELDUNGEN

===================================================== */

.home-hero-form__form

.campaign-message {

    margin:

        0

        0

        17px;

    padding: 13px 14px;

    border-radius: 8px;

    font-size: 0.8rem;

    font-weight: 600;

    line-height: 1.45;

}

.home-hero-form__form

.campaign-message--success {

    background: #eef8f1;

    color: #195d32;

}

.home-hero-form__form

.campaign-message--error {

    background: #fff0f0;

    color: #8a2525;

}

.home-hero-form__form

.campaign-honeypot {

    position: absolute !important;

    width: 1px !important;

    height: 1px !important;

    overflow: hidden !important;

    clip:

        rect(

            0,

            0,

            0,

            0

        ) !important;

}

/* =====================================================

   FREIES FORMULAR / CONTACT FORM 7

===================================================== */

.home-hero-form__custom-form {

    width: 100%;

    margin-top: 22px;

    color: #171717;

    font-size: 0.9rem;

    font-weight: 500;

    line-height: 1.5;

}

.home-hero-form__custom-form h1,

.home-hero-form__custom-form h2,

.home-hero-form__custom-form h3 {

    display: none !important;

}

.home-hero-form__custom-form

.contact-form,

.home-hero-form__custom-form

.contact-form-section,

.home-hero-form__custom-form

.contact-form__wrapper,

.home-hero-form__custom-form

.contact-form__card,

.home-hero-form__custom-form

.contact-form__inner {

    width: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 0 !important;

    background: transparent !important;

    box-shadow: none !important;

}

.home-hero-form__custom-form

.contact-form__intro,

.home-hero-form__custom-form

.contact-form__description {

    margin:

        0

        0

        18px !important;

    color: #171717 !important;

    font-size: 0.9rem !important;

    font-weight: 500 !important;

    line-height: 1.5 !important;

}

.home-hero-form__custom-form

.wpcf7 {

    width: 100%;

    margin: 0;

    padding: 0;

}

.home-hero-form__custom-form

.wpcf7-form {

    display: grid;

    width: 100%;

    gap: 14px;

    margin: 0;

    padding: 0;

}

.home-hero-form__custom-form

.wpcf7-form p {

    margin: 0;

    color: #171717;

    font-size: 0.9rem;

    font-weight: 500;

    line-height: 1.5;

}

.home-hero-form__custom-form

.wpcf7-form label {

    display: block;

    margin: 0;

    color: #171717;

    font-size: 0.84rem;

    font-weight: 700;

    line-height: 1.35;

}

.home-hero-form__custom-form

.wpcf7-form-control-wrap {

    display: block;

    margin-top: 6px;

}

.home-hero-form__custom-form

input[type="text"],

.home-hero-form__custom-form

input[type="email"],

.home-hero-form__custom-form

input[type="tel"],

.home-hero-form__custom-form

input[type="url"],

.home-hero-form__custom-form

input[type="number"],

.home-hero-form__custom-form

select,

.home-hero-form__custom-form

textarea {

    box-sizing: border-box;

    width: 100%;

    min-height: 47px;

    margin: 0;

    padding:

        10px

        13px;

    border:

        2px solid

        rgba(

            3,

            45,

            103,

            0.17

        );

    border-radius: 6px;

    outline: none;

    background: #ffffff;

    color: #171717;

    font-family: inherit;

    font-size: 0.94rem;

    font-weight: 500;

    transition:

        border-color var(--transition),

        box-shadow var(--transition);

}

.home-hero-form__custom-form

textarea {

    min-height: 105px;

    resize: vertical;

}

.home-hero-form__custom-form

input:focus,

.home-hero-form__custom-form

select:focus,

.home-hero-form__custom-form

textarea:focus {

    border-color: var(--fdp-cyan);

    box-shadow:

        0

        0

        0

        3px

        rgba(

            0,

            167,

            231,

            0.08

        );

}

.home-hero-form__custom-form

input[type="checkbox"] {

    accent-color: var(--fdp-blue);

}

.home-hero-form__custom-form

input[type="submit"],

.home-hero-form__custom-form

button[type="submit"] {

    display: inline-flex;

    width: 100%;

    min-height: 50px;

    align-items: center;

    justify-content: center;

    margin: 0;

    padding:

        11px

        18px;

    border: 2px solid var(--fdp-blue);

    border-radius: 6px;

    background: var(--fdp-blue);

    color: #ffffff;

    cursor: pointer;

    font-family: inherit;

    font-size: 0.92rem;

    font-weight: 700;

    transition:

background var(--transition),
        color var(--transition),
        transform var(--transition);

}

.home-hero-form__custom-form
input[type="submit"]:hover,

.home-hero-form__custom-form
button[type="submit"]:hover {

    background: var(--fdp-white);

    color: var(--fdp-blue);

    transform: translateY(-1px);

}

.home-hero-form__custom-form

.wpcf7-not-valid-tip {

    margin-top: 5px;

    font-size: 0.74rem;

    font-weight: 600;

    line-height: 1.4;

}

.home-hero-form__custom-form

.wpcf7-response-output {

    margin:

        6px

        0

        0 !important;

    padding:

        12px

        14px !important;

    border-radius: 8px;

    font-size: 0.8rem;

    font-weight: 500;

    line-height: 1.45;

}

/* =====================================================
   KOMPAKTES NATIVES KONTAKTFORMULAR IM HERO
===================================================== */

.home-hero-form__card--contact {

    top: 52px;

    padding: 26px;

}

.home-hero-contact {

    width: 100%;

    margin-top: 14px;

    color: #171717;

}

.home-hero-contact__intro {

    color: #171717;

    font-family: var(--fdp-font);

    font-size: var(--fdp-body-font-size);

    font-weight: var(--fdp-body-weight);

    line-height: var(--fdp-body-line-height);

    letter-spacing: var(--fdp-body-letter-spacing);

    hyphens: auto;

    -webkit-hyphens: auto;

    word-break: normal;

    overflow-wrap: normal;

}

.home-hero-contact__intro p {

    margin:
        0
        0
        10px;

}

.home-hero-contact__intro p:last-child {

    margin-bottom: 0;

}

.home-hero-contact__links {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap:
        8px
        20px;

    margin-top: 10px;

}

.home-hero-contact__links a {

    color: var(--fdp-blue);

    font-family: var(--fdp-font);

    font-size: var(--fdp-body-font-size);

    font-weight: 700;

    line-height: var(--fdp-body-line-height);

    letter-spacing: var(--fdp-body-letter-spacing);

    text-decoration: underline;

    text-decoration-color: var(--fdp-link-underline-color);

    text-decoration-thickness: var(--fdp-link-underline-thickness);

    text-underline-offset: var(--fdp-link-underline-offset);

}

.home-hero-contact__links a:hover {

    color: var(--fdp-cyan);

}

.home-hero-contact__message {

    margin:
        0
        0
        12px;

    padding:
        10px
        12px;

    border-radius: 7px;

    font-size: 0.8rem;

    font-weight: 600;

    line-height: 1.4;

}

.home-hero-contact__message--success {

    background: #eef8f1;

    color: #195d32;

}

.home-hero-contact__message--error {

    background: #fff0f0;

    color: #8a2525;

}

.home-hero-contact__form {

    display: grid;

    gap: 9px;

    width: 100%;

    margin:
        15px
        0
        0;

}

.home-hero-contact__row {

    display: grid;

    grid-template-columns: 1fr;

    gap: 9px;

}

.home-hero-contact__field {

    display: grid;

    gap: 5px;

    margin: 0;

    color: #171717;

    font-size: 0.82rem;

    font-weight: 700;

    line-height: 1.35;

}

.home-hero-contact__field input,
.home-hero-contact__field textarea,
.home-hero-contact__field select {

    box-sizing: border-box;

    width: 100%;

    margin: 0;

    padding:
        9px
        12px;

    border:
        2px solid
        rgba(
            3,
            45,
            103,
            0.17
        );

    border-radius: 6px;

    outline: none;

    background: var(--fdp-white);

    color: #171717;

    font-family: var(--fdp-font);

    font-size: 0.94rem;

    font-weight: 500;

    line-height: 1.4;

    transition:
        border-color var(--transition),
        box-shadow var(--transition);

}

.home-hero-contact__field input {

    min-height: 44px;

}

.home-hero-contact__field textarea {

    height: 44px;

    min-height: 44px;

    resize: vertical;

}

.home-hero-contact__field select {

    min-height: 44px;

}

.home-hero-contact__field input:focus,
.home-hero-contact__field textarea:focus,
.home-hero-contact__field select:focus {

    border-color: var(--fdp-cyan);

    box-shadow:
        0
        0
        0
        3px
        rgba(
            0,
            167,
            231,
            0.08
        );

}

.home-hero-contact__privacy {

    display: grid;

    grid-template-columns:
        18px
        minmax(0, 1fr);

    align-items: start;

    gap: 9px;

    margin:
        5px
        0
        2px;

    /* Gleiche Größe wie die Feldbeschriftungen
       der kompakten Box */

    --home-check-font-size: 0.82rem;

    --home-check-line-height: 1.45;

    color: #171717;

    font-family: var(--fdp-font);

    font-size: var(--home-check-font-size);

    font-weight: 500;

    line-height: var(--home-check-line-height);

    cursor: pointer;

}

.home-hero-contact__privacy input {

    width: 17px;

    height: 17px;

    /* Mittig zur ersten Textzeile:
       (Zeilenhöhe - Häkchenhöhe) / 2 */

    margin:
        calc(
            (
                var(--home-check-font-size)
                * var(--home-check-line-height)
                - 17px
            )
            / 2
        )
        0
        0;

    accent-color: var(--fdp-blue);

}

.home-hero-contact__privacy a {

    color: var(--fdp-blue);

    font-weight: 700;

    text-decoration: underline;

    text-decoration-color: var(--fdp-link-underline-color);

    text-decoration-thickness: var(--fdp-link-underline-thickness);

    text-underline-offset: var(--fdp-link-underline-offset);

}

.home-hero-contact__privacy a:hover {

    color: var(--fdp-cyan);

}

.home-hero-contact__submit {

    display: inline-flex;

    width: 100%;

    min-height: 48px;

    align-items: center;

    justify-content: center;

    padding:
        10px
        18px;

    border:
        2px solid
        var(--fdp-blue);

    border-radius: 6px;

    background: var(--fdp-blue);

    color: var(--fdp-white);

    cursor: pointer;

    font-family: var(--fdp-font);

    font-size: 0.9rem;

    font-weight: 800;

    transition:
        background var(--transition),
        color var(--transition),
        transform var(--transition);

}

.home-hero-contact__submit:hover {

    background: var(--fdp-white);

    color: var(--fdp-blue);

    transform: translateY(-1px);

}

.home-hero-contact__submit:focus-visible {

    outline:
        3px solid
        var(--fdp-cyan);

    outline-offset: 3px;

}

/* =====================================================
   FEHLER UND ZWISCHENÜBERSCHRIFT
   (Formular kommt aus "Formulare", inc/forms.php)
===================================================== */

.home-hero-contact__error {

    display: block;

    color: #8a2525;

    font-size: 0.76rem;

    font-weight: 600;

    line-height: 1.35;

}

.home-hero-contact__field [aria-invalid="true"] {

    border-color: #c81e1e;

}

.home-hero-contact__section {

    margin: 6px 0 0;

    color: var(--fdp-blue);

    font-size: 0.9rem;

    font-weight: 800;

}

.home-hero-contact__honeypot {

    position: absolute !important;

    width: 1px !important;

    height: 1px !important;

    overflow: hidden !important;

    clip:
        rect(
            0,
            0,
            0,
            0
        ) !important;

    white-space: nowrap !important;

}

/* =====================================================
   LINKS IN ECHTEM HERO-FLIESSTEXT
===================================================== */

.home-hero-standard__text a,
.home-hero-form__copy a {

    color: var(--fdp-blue);

    font-weight: 700;

    text-decoration: underline;

    text-decoration-color: var(--fdp-link-underline-color);

    text-decoration-thickness: var(--fdp-link-underline-thickness);

    text-underline-offset: var(--fdp-link-underline-offset);

}

.home-hero-standard__text a:hover,
.home-hero-form__copy a:hover {

    color: var(--fdp-cyan);

}

/* =====================================================

   PROMO

===================================================== */

.home-hero-form__promo {

    margin-top: 25px;

}

.home-hero-form__promo-button {

    border-radius: 8px;

}

.home-hero-form__empty {

    margin:

        22px

        0

        0;

    padding: 15px;

    border:

        1px dashed

        rgba(

            3,

            45,

            103,

            0.25

        );

    border-radius: 10px;

    color: #69727c;

    font-size: 0.85rem;

    font-weight: 500;

    line-height: 1.5;

}

/* =====================================================

   ABSCHNITTE

===================================================== */

.home-page

.home-section {

    width: 100%;

    margin:

        var(--home-section-gap)

        0

        0 !important;

    padding: 0 !important;

}

.home-page

.home-hero

\+ .home-section {

    margin-top:

        var(--home-section-gap) !important;

}

/* =====================================================

   ABSCHNITTSKOPF

===================================================== */

.home-section__header {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 26px;

    margin:

        0

        0

        32px;

}

.home-section-heading h2 {

    position: relative;

    display: inline-block;

    margin: 0;

    padding-bottom: 14px;

    color: var(--fdp-blue);

    font-size:

        clamp(

            2.2rem,

            3.5vw,

            3.2rem

        );

    font-weight: 800;

    letter-spacing: -0.045em;

    line-height: 1;

}

.home-section-heading h2::after {

    position: absolute;

    bottom: 0;

    left: 0;

    width: 94px;

    height: 6px;

    background: var(--fdp-cyan);

    content: "";

}

/* =====================================================

   ÜBERSICHTSBUTTON

===================================================== */

.home-overview-button {

    display: inline-flex;

    min-height: 46px;

    flex:

        0

        0

        auto;

    align-items: center;

    justify-content: center;

    gap: 14px;

    padding:

        9px

        18px;

    border:

        2px solid

        var(--fdp-blue);

    border-radius: 9px;

    color: var(--fdp-blue);

    font-size: 0.88rem;

    font-weight: 700;

    text-decoration: none;

}

.home-overview-button:hover {

    background: var(--fdp-blue);

    color: var(--fdp-white);

}

/* =====================================================

   KARTEN-GRID DESKTOP

===================================================== */

.home-card-track {

    display: grid;

    grid-template-columns:

        repeat(

            3,

            minmax(0, 1fr)

        );

    align-items: stretch;

    gap: 28px;

}

.home-people-grid {

    grid-template-columns:

        repeat(

            3,

            minmax(

                0,

                340px

            )

        );

    justify-content: start;

}

/* =====================================================

   SLIDE-HÜLLE

   Auf Desktop ist sie nur ein neutraler Wrapper.

===================================================== */

.home-carousel-slide {

    display: flex;

    min-width: 0;

    align-items: stretch;

}

.home-carousel-slide

> .home-news-card,

.home-carousel-slide

> .home-person-card {

    width: 100%;

    min-width: 0;

    height: 100%;

}

/* =====================================================

   DOTS DESKTOP

===================================================== */

.home-carousel-dots {

    display: none;

}

/* =====================================================

   GEMEINSAME KARTEN

===================================================== */

.home-news-card,

.home-person-card {

    display: flex;

    min-width: 0;

    min-height: 100%;

    flex-direction: column;

    overflow: hidden;

    border-radius: 26px;

    background: var(--fdp-white);

    box-shadow:

        0

        8px

        30px

        rgba(

            3,

            45,

            103,

            0.08

        );

}

.home-card-placeholder {

    display: flex;

    width: 100%;

    height: 100%;

    align-items: center;

    justify-content: center;

    background: var(--fdp-yellow);

    color: var(--fdp-blue);

    font-size: 2.7rem;

    font-weight: 800;

}

.home-card-accent {

    display: block;

    width: 64px;

    height: 5px;

    margin-bottom: 18px;

    background: var(--fdp-cyan);

}

/* =====================================================

   META

===================================================== */

.home-meta-item {

    display: flex;

    min-width: 0;

    align-items: center;

    gap: 9px;

}

.home-meta-icon {

    display: block !important;

    width: 18px !important;

    height: 18px !important;

    min-width: 18px !important;

    min-height: 18px !important;

    flex:

        0

        0

        18px;

    overflow: visible;

    fill: none !important;

    stroke:

        var(--fdp-cyan) !important;

    stroke-width:

        1.9 !important;

}

.home-meta-icon path,

.home-meta-icon circle,

.home-meta-icon rect,

.home-meta-icon line,

.home-meta-icon polyline {

    fill: none !important;

    stroke:

        var(--fdp-cyan) !important;

    stroke-width:

        1.9 !important;

    stroke-linecap:

        round !important;

    stroke-linejoin:

        round !important;

}

/* =====================================================

   NEWS

===================================================== */

.home-news-card__media {

    display: block;

    overflow: hidden;

    aspect-ratio: 16 / 10;

    background: var(--fdp-yellow);

}

.home-news-card__media img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.home-news-card__content {

    display: flex;

    flex: 1;

    flex-direction: column;

    padding: 25px;

}

.home-news-card__meta {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    row-gap: 6px;

    margin: 0 0 10px -20px;

    clip-path: inset(0 0 0 19px);

    color: #747b83;

    font-size: 0.78rem;

    font-weight: 500;

}


/*
 * Trennpunkt vor jedem Eintrag, auch vor dem ersten:
 * Das Verschieben nach links und clip-path blenden ihn am
 * Zeilenanfang aus. So bleibt nach einem Umbruch kein Punkt
 * vorn stehen (wie in news-archive.css).
 */

.home-news-card__meta > *::before {
    display: inline-block;

    width: 20px;

    color: #747b83;

    font-weight: 500;

    text-align: center;

    content: "·";
}


/* Sonst rückt das Leerzeichen hinter dem Punkt den Text ein. */

.home-news-card__meta > * {
    display: inline-flex;
}


.home-news-card__meta > .home-news-card__category {
    color: var(--fdp-blue);
}

.home-news-card__content h3 {

    margin:

        0

        0

        13px;

    color: var(--fdp-blue);

    font-size: 1.4rem;

    font-weight: 800;

    line-height: 1.15;

}

.home-news-card__content h3 a {

    color: inherit;

    text-decoration: none;

}

.home-news-card__content p {

    display: -webkit-box;

    overflow: hidden;

    margin: 0;

    color: #171717;

    font-size: 0.94rem;

    font-weight: 500;

    line-height: 1.6;

    hyphens: auto;

    -webkit-hyphens: auto;

    word-break: normal;

    overflow-wrap: normal;

    line-clamp: 4;

    -webkit-line-clamp: 4;

    -webkit-box-orient: vertical;

}

/* =====================================================

   TERMINE

===================================================== */

.home-events-grid {

    grid-template-columns:

        repeat(

            2,

            minmax(

                0,

                1fr

            )

        );

    gap: 18px;

}


/*
 * Bei ungerader Anzahl, also bei einem oder drei Terminen,
 * geht die letzte Karte über die ganze Breite.
 * So bleibt rechts daneben keine Lücke.
 */

@media (min-width: 768px) {

    .home-events-grid
    > .home-carousel-slide:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

}


/*
 * Auf dem Handy bleibt es bei drei Terminen.
 */

@media (max-width: 767px) {

    .home-events-grid
    > .home-carousel-slide:nth-child(n + 4) {
        display: none;
    }

}

@media (hover: hover) and (pointer: fine) {

}

@media (hover: hover) and (pointer: fine) {

}

@media (hover: hover) and (pointer: fine) {

}

/* =====================================================

   PERSONEN

===================================================== */

.home-person-card {

    width: 100%;

    max-width: 340px;

}

.home-person-card__media {

    display: block;

    overflow: hidden;

    aspect-ratio: 1 / 1;

    background: #f3f5f7;

}

.home-person-card__media img {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position:

        center

        22%;

}

.home-person-card__fallback {

    display: flex;

    width: 100%;

    height: 100%;

    align-items: center;

    justify-content: center;

    background: var(--fdp-yellow);

    color: var(--fdp-blue);

    font-size: 2.7rem;

    font-weight: 800;

}

.home-person-card__content {

    display: flex;

    flex: 1;

    flex-direction: column;

    padding: 23px;

}

.home-person-card__content h3 {

    margin:

        0

        0

        8px;

    color: var(--fdp-blue);

    font-size: 1.35rem;

    font-weight: 800;

    line-height: 1.12;

}

.home-person-card__position {

    margin:

        0

        0

        5px;

    color: var(--fdp-blue);

    font-size: 0.91rem;

    font-weight: 700;

}

.home-person-card__secondary {

    margin:

        0

        0

        13px;

    color: #5c6671;

    font-size: 0.86rem;

    font-weight: 500;

}

.home-person-card__meta {

    display: grid;

    gap: 9px;

    margin:

        14px

        0

        22px;

    color: #66717d;

    font-size: 0.86rem;

    font-weight: 500;

}

.home-card-button {
    display: inline-flex;

    width: fit-content;
    min-height: 44px;

    align-items: center;
    justify-content: center;

    gap: 16px;

    margin-top: auto;

    padding:
        7px
        16px;

    border: 2px solid var(--fdp-blue);
    border-radius: 9px;

    background: var(--fdp-blue);
    color: var(--fdp-white);

    font-size: 0.86rem;
    font-weight: 700;

    text-decoration: none;

    transition:
        background var(--transition),
        color var(--transition),
        transform var(--transition);
}


.home-card-button:hover,
.home-card-button:active {
    background: var(--fdp-white);
    color: var(--fdp-blue);

    transform: translateY(-2px);
}


.home-card-button:focus-visible {
    outline: 3px solid var(--fdp-cyan);
    outline-offset: 3px;
}

/* =====================================================

   BILDLINKS

===================================================== */

.home-section--tiles {

    margin-bottom:

        var(--home-section-gap) !important;

}

.home-link-grid {

    display: grid;

    grid-template-columns:

        repeat(

            2,

            minmax(

                0,

                1fr

            )

        );

    grid-auto-rows: 275px;

    gap: 18px;

}

.home-link-grid--count-1 {

    grid-template-columns: 1fr;

    grid-auto-rows: 410px;

}

.home-link-grid--count-2 {

    grid-template-columns:

        repeat(

            2,

            minmax(

                0,

                1fr

            )

        );

    grid-auto-rows: 360px;

}

.home-link-grid--count-3

.home-link-tile:first-child {

    grid-row: span 2;

}

.home-link-grid--count-5,

.home-link-grid--count-6 {

    grid-template-columns:

        repeat(

            3,

            minmax(

                0,

                1fr

            )

        );

}

.home-link-tile {

    position: relative;

    display: block;

    overflow: hidden;

    background: #dfe3e7;

    color: var(--fdp-white);

    text-decoration: none;

}

.home-link-tile__image {

    display: block;

    width: 100%;

    height: 100%;

    object-fit: cover;

}

.home-link-tile__overlay {

    position: absolute;

    inset: 0;

    background:

        linear-gradient(

            to top,

            rgba(

                0,

                24,

                56,

                0.72

            )

            0%,

            rgba(

                0,

                24,

                56,

                0.32

            )

            38%,

            rgba(

                0,

                24,

                56,

                0.03

            )

            68%,

            transparent

            100%

        );

}

.home-link-tile__content {

    position: absolute;

    z-index: 2;

    right: 26px;

    bottom: 25px;

    left: 26px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}

.home-link-tile__accent {

    display: block;

    width: 66px;

    height: 5px;

    margin-bottom: 12px;

    background: var(--fdp-cyan);

}

.home-link-tile__title {

    display: block;

    max-width: 90%;

    color: #ffffff;

    font-size:

        clamp(

            1.45rem,

            2.2vw,

            2.1rem

        );

    font-weight: 800;

    line-height: 1.06;

}

/* =====================================================

   TABLET

===================================================== */

@media (max-width: 1050px) and (min-width: 768px) {

    .home-shell {

        width:

            calc(

                100%

                - 40px

            );

    }

    .home-card-track {

        grid-template-columns:

            repeat(

                2,

                minmax(

                    0,

                    1fr

                )

            );

    }

    .home-people-grid {

        grid-template-columns:

            repeat(

                2,

                minmax(

                    0,

                    330px

                )

            );

    }

    .home-hero-standard {

        grid-template-columns:

            minmax(

                0,

                1fr

            )

            minmax(

                350px,

                1fr

            );

        gap: 36px;

    }

    .home-hero-form__card {

        top: 50px;

        right: 20px;

        width:

            min(

                360px,

                calc(

                    40%

                    - 20px

                )

            );

    }

    .home-hero-form__copy {

        width:

            calc(

                58%

                - 10px

            );

    }

    .home-link-grid--count-5,

    .home-link-grid--count-6 {

        grid-template-columns:

            repeat(

                2,

                minmax(

                    0,

                    1fr

                )

            );

    }

    .home-events-grid {

        grid-template-columns:

            repeat(

                2,

                minmax(

                    0,

                    1fr

                )

            );

        gap: 18px;

    }

}

/* =====================================================

   SMARTPHONE

===================================================== */

@media (max-width: 767px) {

    .home-page {

        --home-section-gap: 54px;

    }

    /* =================================================

       HERO

    ================================================= */

    .home-page

    .home-hero {

        margin: 0 !important;

        padding: 0 !important;

        background: transparent;

    }

    .home-page

    .home-hero

    > .home-shell {

        width: 100% !important;

        max-width: none !important;

        margin: 0 !important;

        padding: 0 !important;

    }

    .home-page

    .home-section

    .home-shell {

        width:

            calc(

                100%

                - 32px

            );

        margin-inline: auto;

    }

    /* =================================================

       STANDARD-HERO

    ================================================= */

    .home-hero-standard {

        display: flex;

        flex-direction: column;

        gap: 0;

    }

    .home-hero-standard__media {

        order: 1;

        width: 100%;

        border-radius: 0;

    }

    .home-hero-standard__image,

    .home-hero-standard__fallback {

        width: 100%;

        aspect-ratio: 16 / 9;

    }

    .home-hero-standard__content {

        order: 2;

        width:

            calc(

                100%

                - 32px

            );

        margin-inline: auto;

        padding-top: 28px;

    }

    .home-hero-standard__content h1 {

        margin-bottom: 19px;

        font-size:

            clamp(

                2.45rem,

                11vw,

                3.3rem

            );

        line-height: 0.99;

    }

    .home-hero-standard__actions {

        display: grid;

        grid-template-columns: 1fr;

        gap: 10px;

        margin-top: 23px;

    }

    .home-button {

        width: 100%;

    }

    /* =================================================

       FORMULAR-HERO MOBIL

    ================================================= */

    .home-hero-form {

        display: flex;

        flex-direction: column;

        gap: 0;

        padding-bottom: 0 !important;

    }

    .home-hero-form__visual {

        display: contents;

    }

    .home-hero-form__media {

        order: 1;

        width: 100%;

    }

    .home-hero-form__image,

    .home-hero-form__fallback {

        width: 100%;

        aspect-ratio: 16 / 9;

        object-fit: cover;

    }

    .home-hero-form__copy {

        order: 2;

        box-sizing: border-box;

        width:

            calc(

                100%

                - 32px

            );

        margin-inline: auto;

        padding-top: 24px;

    }

    .home-hero-form__card {

        position: static;

        order: 3;

        box-sizing: border-box;

        width:

            calc(

                100%

                - 32px

            );

        margin:

            26px

            auto

            0;

        padding:

            25px

            21px;

        border-radius: 22px;

        box-shadow:

            0

            16px

            44px

            rgba(

                3,

                45,

                103,

                0.16

            );

    }

    .home-hero-form__card > h1 {

        font-size: 1.7rem;

    }

    .home-hero-form__campaign-link {

        font-size: 0.9rem;

    }

    .home-hero-form__promo-button {

        width: 100%;

    }

    /* =================================================

       FORMULARE MOBIL

    ================================================= */

    .home-hero-form__form,

    .home-hero-form__custom-form {

        margin-top: 20px;

    }

    .home-hero-form__form

    .campaign-field input[type="text"],

    .home-hero-form__form

    .campaign-field input[type="email"],

    .home-hero-form__form

    .campaign-field input[type="tel"],

    .home-hero-form__form

    .campaign-field input[type="url"],

    .home-hero-form__form

    .campaign-field input[type="number"],

    .home-hero-form__form

    .campaign-field select,

    .home-hero-form__form

    .campaign-field textarea,

    .home-hero-form__custom-form

    input[type="text"],

    .home-hero-form__custom-form

    input[type="email"],

    .home-hero-form__custom-form

    input[type="tel"],

    .home-hero-form__custom-form

    input[type="url"],

    .home-hero-form__custom-form

    input[type="number"],

    .home-hero-form__custom-form

    select,

    .home-hero-form__custom-form

    textarea {

        font-size: 16px;

    }

    .home-hero-form__card--contact {

        padding:
            22px
            18px;

    }

    .home-hero-contact {

        margin-top: 14px;

    }

    .home-hero-contact__intro {

        font-size: var(--fdp-body-font-size);

        font-weight: var(--fdp-body-weight);

        line-height: var(--fdp-body-line-height);

    }

    .home-hero-contact__field input,
    .home-hero-contact__field textarea {

        font-size: 16px;

    }

    /* =================================================

       SECTION HEADER

    ================================================= */

    .home-section__header {

        align-items: flex-end;

        gap: 14px;

        margin-bottom: 25px;

    }

    .home-section-heading h2 {

        font-size:

            clamp(

                1.9rem,

                9vw,

                2.5rem

            );

    }

    .home-section-heading h2::after {

        width: 76px;

        height: 5px;

    }

    .home-overview-button {

        min-height: 41px;

        padding:

            7px

            12px;

        font-size: 0.76rem;

    }

    /* =================================================

       MOBILE SLIDER

       Gleiche Grundtechnik wie beim Kreisparteitag:

       - echtes overflow-x: auto

       - browsernatives Wischen

       - CSS Scroll Snap

       - keine versteckten Karten

       - kein eigenes Swipe-JavaScript

       Der Track wird bis auf Bildschirmbreite

       erweitert. Dadurch sitzt die Karte weiterhin

       auf der normalen 16px-Fluchtlinie.

    ================================================= */

    .home-card-track,

    .home-people-grid,

    .home-events-grid {

        display: grid;

        box-sizing: border-box;

        width:

            calc(

                100%

                \+ 32px

            );

        grid-template-columns: none;

        grid-auto-flow: column;

        grid-auto-columns: 100%;

        align-items: stretch;

        gap: 0;

        margin:

            -28px

            -16px

            -30px;

        padding:

            28px

            0

            48px;

        overflow-x: auto;

        overflow-y: hidden;

        scroll-behavior: smooth;

        scroll-snap-type:

            x mandatory;

        overscroll-behavior-inline:

            contain;

        scrollbar-width: none;

        -webkit-overflow-scrolling:

            touch;

        /*

         * Der weiche Verlauf sorgt dafür, dass

         * lediglich der Schatten am Bildschirmrand

         * ausläuft. Die Karte beginnt erst dahinter.

         */

        -webkit-mask-image:

            linear-gradient(

                to right,

                transparent 0,

                #000 13px,

                #000 calc(100% - 13px),

                transparent 100%

            );

        mask-image:

            linear-gradient(

                to right,

                transparent 0,

                #000 13px,

                #000 calc(100% - 13px),

                transparent 100%

            );

    }

    .home-card-track::-webkit-scrollbar,

    .home-people-grid::-webkit-scrollbar,

    .home-events-grid::-webkit-scrollbar {

        display: none;

    }

    /* =================================================

       MOBILE SLIDE

       16px links/rechts entsprechen exakt dem

       normalen Seitenrand.

       Karte:

       viewport - 32px

       Also exakt die normale Contentbreite.

    ================================================= */

    .home-carousel-slide {

        display: flex;

        box-sizing: border-box;

        width: 100%;

        min-width: 0;

        align-items: stretch;

        padding:

            0

            16px;

        scroll-snap-align: start;

        scroll-snap-stop: always;

    }

    .home-carousel-slide

    > .home-news-card,

    .home-carousel-slide

    > .home-person-card {

        width: 100%;

        max-width: none;

        min-width: 0;

        height: auto;

        margin: 0;

    }

    .home-person-card {

        max-width: none;

    }

    /* =================================================

       MOBILE SCHATTEN

       Der optische Stand, mit dem wir zuletzt

       zufrieden waren, bleibt erhalten.

    ================================================= */

    .home-news-card,

    .home-person-card {

        border-radius: 22px;

        box-shadow:

            0

            12px

            36px

            rgba(

                3,

                45,

                103,

                0.11

            );

    }

    .home-news-card__content,

    .home-person-card__content {

        padding: 22px;

    }

    /* =================================================

       FORTSCHRITTS-STRICH

       Wie bei den Kacheln, siehe .fdp-slider-progress.

    ================================================= */

    .home-carousel-dots {

        display: flex;

        min-height: 10px;

        align-items: center;

        justify-content: center;

        gap: 8px;

        margin: 0;

        padding: 0;

    }

    .home-carousel-dots[hidden],

    .home-carousel-dots:empty {

        display: none !important;

    }

    /* =================================================

       TERMINE MOBIL

    ================================================= */


    /* =================================================

       BILDLINKS

    ================================================= */

    .home-link-grid,

    .home-link-grid--count-1,

    .home-link-grid--count-2,

    .home-link-grid--count-3,

    .home-link-grid--count-4,

    .home-link-grid--count-5,

    .home-link-grid--count-6 {

        display: grid;

        grid-template-columns: 1fr;

        grid-auto-rows: auto;

        gap: 14px;

    }

    .home-link-grid--count-3

    .home-link-tile:first-child {

        grid-row: auto;

    }

    .home-link-tile {

        aspect-ratio: 16 / 10;

    }

    .home-link-tile__content {

        right: 20px;

        bottom: 20px;

        left: 20px;

    }

    .home-link-tile__title {

        max-width: 100%;

        font-size: 1.4rem;

    }

}

/* =====================================================

   KLEINE SMARTPHONES

===================================================== */

@media (max-width: 440px) {

    .home-page {

        --home-section-gap: 50px;

    }

    .home-page

    .home-section

    .home-shell {

        width:

            calc(

                100%

                - 28px

            );

    }

    .home-hero-standard__content,

    .home-hero-form__copy,

    .home-hero-form__card {

        width:

            calc(

                100%

                - 28px

            );

    }

    /*

     * Der normale Seitenrand beträgt hier 14px.

     */

    .home-card-track,

    .home-people-grid,

    .home-events-grid {

        width:

            calc(

                100%

                \+ 28px

            );

        margin:

            -28px

            -14px

            -30px;

        -webkit-mask-image:

            linear-gradient(

                to right,

                transparent 0,

                #000 11px,

                #000 calc(100% - 11px),

                transparent 100%

            );

        mask-image:

            linear-gradient(

                to right,

                transparent 0,

                #000 11px,

                #000 calc(100% - 11px),

                transparent 100%

            );

    }

    .home-carousel-slide {

        padding:

            0

            14px;

    }

    .home-section__header {

        gap: 10px;

    }

    .home-section-heading h2 {

        font-size: 1.95rem;

    }

    .home-overview-button {

        padding:

            7px

            10px;

        font-size: 0.72rem;

    }

    .home-hero-standard__content h1 {

        font-size: 2.45rem;

    }

    .home-link-tile__content {

        right: 18px;

        bottom: 18px;

        left: 18px;

    }

    .home-link-tile__title {

        font-size: 1.3rem;

    }

}

/* =====================================================

   SEHR KLEINE SMARTPHONES

===================================================== */

@media (max-width: 360px) {

}


/* =====================================================
   TERMINE: KENNZEICHNUNG KREISPARTEITAG
===================================================== */



/* =====================================================
   EIGENE BLÖCKE AUF DER STARTSEITE

   Aufeinanderfolgende eigene Blöcke (Text, Bilder,
   FDP-Kacheln, Formulare …) bilden einen Abschnitt.
   Überschriften wie die übrigen Startseiten-Bereiche,
   Fließtext in Lesebreite, Kacheln in voller Breite.
===================================================== */

.home-page > .home-section:last-child {
    margin-bottom: var(--home-section-gap) !important;
}

.home-custom {
    color: #171717;

    font-family: var(--fdp-font);
    font-size: var(--fdp-body-font-size);
    font-weight: var(--fdp-body-weight);
    line-height: var(--fdp-body-line-height);
}

.home-custom > * {
    max-width: var(--fdp-body-content-width);
    margin-top: 0;
    margin-bottom: 1.4rem;
}

.home-custom > *:last-child {
    margin-bottom: 0;
}

.home-custom > .fdp-tiles,
.home-custom > .fdp-form,
.home-custom > .wp-block-image,
.home-custom > .wp-block-embed,
.home-custom > .wp-block-columns,
.home-custom > .alignwide,
.home-custom > .alignfull {
    max-width: none;
}

.home-custom > h2,
.home-custom .fdp-tiles__title {
    position: relative;

    display: inline-block;

    margin: 0 0 32px;
    padding-bottom: 14px;

    color: var(--fdp-blue);

    font-size: clamp(2.2rem, 3.5vw, 3.2rem);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1;
}

.home-custom > h2::after,
.home-custom .fdp-tiles__title::after {
    position: absolute;
    bottom: 0;
    left: 0;

    width: 94px;
    height: 6px;

    background: var(--fdp-cyan);

    content: "";
}

.home-custom > h3 {
    color: var(--fdp-blue);
    font-size: 1.5rem;
    font-weight: 800;
}

.home-custom a:not([class]) {
    color: var(--fdp-blue);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--fdp-link-underline-color);
    text-decoration-thickness: var(--fdp-link-underline-thickness);
    text-underline-offset: var(--fdp-link-underline-offset);
}

.home-custom a:not([class]):hover {
    color: var(--fdp-cyan);
}

@media (max-width: 767px) {

    .home-custom > h2,
    .home-custom .fdp-tiles__title {
        margin-bottom: 25px;

        font-size: clamp(1.9rem, 9vw, 2.5rem);
    }

    .home-custom > h2::after,
    .home-custom .fdp-tiles__title::after {
        width: 76px;
        height: 5px;
    }
}

@media (max-width: 440px) {

    .home-custom > h2,
    .home-custom .fdp-tiles__title {
        font-size: 1.95rem;
    }
}


/* =====================================================
   AKTUELLES: GANZE KARTE KLICKBAR
   (gleiches Prinzip wie die Termin-Karten)
===================================================== */

.home-news-card {
    position: relative;

    transition:
        transform var(--transition),
        box-shadow var(--transition);
}

.home-news-card__main-link {
    position: absolute;
    z-index: 3;
    inset: 0;

    border-radius: inherit;
}

.home-news-card__main-link:focus-visible {
    outline: 3px solid var(--fdp-cyan);
    outline-offset: -3px;
}

.home-news-card h3 {
    transition: color var(--transition);
}

@media (hover: hover) and (pointer: fine) {

    .home-news-card:hover {
        transform: translateY(-2px);

        box-shadow:
            0 14px 36px
            rgba(3, 45, 103, 0.12);
    }

    .home-news-card:hover h3 {
        color: var(--fdp-cyan);
    }
}



/* =====================================================
   PERSONENKARTEN: GLEICHE HÖHEN
   Über Subgrid teilen sich alle Karten einer Reihe
   dieselben Zeilen: Bild, Strich, Text (Name + Ämter),
   Wahlkreis/Ort, Button. Ist ein Amt bei einer Person
   länger, wächst die Textzeile aller Karten mit –
   Icons und Buttons stehen so überall auf einer Höhe.
===================================================== */

@supports (grid-template-rows: subgrid) {

    .home-people-grid > .home-carousel-slide,
    .home-people-grid .home-person-card,
    .home-person-card__content {
        display: grid;

        grid-template-rows: subgrid;

        row-gap: 0;
    }


    .home-people-grid > .home-carousel-slide,
    .home-people-grid .home-person-card {
        grid-row: span 5;
    }


    .home-people-grid .home-person-card {
        height: auto;
        min-height: 0;
    }


    .home-person-card__content {
        grid-row: 2 / span 4;
    }


    .home-person-card__content > .home-card-accent {
        grid-row: 1;
    }


    .home-person-card__text {
        grid-row: 2;
    }


    .home-person-card__meta {
        grid-row: 3;

        align-self: start;
    }


    .home-person-card__content > .home-card-button {
        grid-row: 4;

        align-self: end;
    }
}
