/* --- Footer ------------------------------------------------------------------------------------ */

footer .alignwide {
    /* background-color: var(--color--primary-3); */
    /* padding: clamp(2rem, 2vw + 1rem, 4rem) 2rem; */
    /* color: var(--color--primary-2); */
    /* color: white; */
    /* font-family: var(--font-family--primary); */
}

/* footer .alignwide p {
    font-family: var(--font-family--primary);
    font-weight: var(--font-weight--copy);
    font-size: var(--font-size--small);
    line-height: 133%;
    letter-spacing: 0;
} */

footer [aria-label="Footer Navigation 3"] ul {
    gap: 5.5rem;
}

/* footer {
    box-shadow: 0px -4px 32px 0px rgba(30, 30, 30, 0.05);
} */

footer .footer-logo {
    max-width: 200px;
    height: auto;
}

footer > div > div {
    padding: 3.5rem 2rem 6rem 2rem !important;
}

footer div.wp-block-group.community,
footer div.wp-block-group:has(> .footer-logo-wrapper) {
    /* max-width: calc(var(--wp--style--global--wide-size) + 5rem); */
    max-width: 1600px;
}

footer div.wp-block-group:has(> .footer-logo-wrapper) {
    background-color: #222222 !important;
}

footer li > a > span {
    /* color: var(--color--primary-2); */
    font-family: var(--font-family--primary);

    line-height: 100%;
    font-weight: var(--font-weight--copy);
    transition: all 0.3s ease;
}

footer li:hover > a > span {
    color: var(--color--secondary-3);
}

footer .wp-block-columns.alignfull {
    align-items: flex-start;
    margin-bottom: 5.5rem;
}

footer .wp-block-columns .wp-block-column:nth-of-type(1) .custom-logo-link {
    margin-bottom: 1.375rem;
}

footer .wp-block-columns .wp-block-column:nth-of-type(1) p {
    font-weight: var(--font-weight--headline);
}

footer div.wp-block-group:has(nav),
footer .alignwide .wp-block-group.alignfull {
    gap: 5.5rem;
    justify-content: flex-end;
}

footer > div > div > nav > ul li span {
    color: var(--color--secondary-2) !important;
}

footer div.wp-block-columns div.wp-block-column p {
    margin-bottom: clamp(0.5rem, 2vw + 1rem, 1rem);
}

footer figcaption a {
    color: white !important;
}

footer .wp-block-column:has(.wp-block-file) {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

footer div.wp-block-file {
    gap: 1rem;
    padding: 1rem 1rem;
    min-width: 15rem;
}

.wp-site-blocks footer div.wp-block-file a {
    color: var(--color--primary-3);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    font-size: var(--font-size--small) !important;
    font-weight: 400;
}

footer div.wp-block-file a:visited {
    color: var(--color--primary-3);
}

footer div.wp-block-file a:hover {
    color: var(--color--primary-2);
}

footer .wp-block-file:has(a:hover) {
    opacity: .7;
}

/* Link bleibt im normalen Flow */
footer .wp-block-file a {
    display: inline-flex; /* falls du Text/Icon ausrichten willst */
    align-items: center;
    gap: 0.5rem; /* Abstand zum Link-Text, falls vorhanden */
}

/* Icon als Inline-Box, KEIN position:absolute */
footer .wp-block-file a::before {
    content: "";
    display: inline-block;
    width: 49px;
    height: 62px;
    background-color: #fff; /* Startfarbe (weiß) */
    transition: background-color 0.3s ease;

    /* Maske aus deinem SVG (alpha wird als Form benutzt) */
    -webkit-mask: url('data:image/svg+xml,<svg width="49" height="62" viewBox="0 0 49 62" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.12049 43.0703V31.0352H13.7598C16.3043 31.0352 17.8001 32.7545 17.8001 34.938C17.8001 37.2075 16.2356 38.858 13.7254 38.858H9.94294V43.0703H8.12049ZM9.94294 37.431H13.3815C14.9117 37.431 15.9261 36.3822 15.9261 34.938C15.9261 33.511 14.9117 32.4622 13.3815 32.4622H9.94294V37.431ZM20.3436 43.0703V31.0352H25.3468C26.3612 31.0352 27.3068 31.3103 28.1492 31.7917C30.0233 32.9093 30.8313 34.8865 30.8485 37.0356C30.8485 39.1847 30.0233 41.265 28.1492 42.3138C27.3068 42.8124 26.2408 43.0703 25.3468 43.0703H20.3436ZM22.1661 41.6433H24.917C25.897 41.6433 27.0145 41.2479 27.7022 40.5945C28.5103 39.8036 28.9229 38.5314 28.9229 37.0184C28.9229 35.2819 28.3384 33.9236 27.2724 33.1843C26.5331 32.6686 25.6391 32.4622 24.9341 32.4622H22.1661V41.6433ZM42.0823 31.0352V32.4622H35.4974V36.6401H41.171V38.0672H35.4974V43.0703H33.6749V31.0352H42.0823Z" fill="white"/><path d="M29.4756 0.5L48.5 18.1875V61.3945H0.5V0.5H29.4756Z" stroke="white"/><path d="M29.7119 17.5527L29.7119 1.13281L47.71 17.5527L29.7119 17.5527Z" stroke="white"/></svg>')
        center/contain no-repeat;
    mask: url('data:image/svg+xml,<svg width="49" height="62" viewBox="0 0 49 62" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.12049 43.0703V31.0352H13.7598C16.3043 31.0352 17.8001 32.7545 17.8001 34.938C17.8001 37.2075 16.2356 38.858 13.7254 38.858H9.94294V43.0703H8.12049ZM9.94294 37.431H13.3815C14.9117 37.431 15.9261 36.3822 15.9261 34.938C15.9261 33.511 14.9117 32.4622 13.3815 32.4622H9.94294V37.431ZM20.3436 43.0703V31.0352H25.3468C26.3612 31.0352 27.3068 31.3103 28.1492 31.7917C30.0233 32.9093 30.8313 34.8865 30.8485 37.0356C30.8485 39.1847 30.0233 41.265 28.1492 42.3138C27.3068 42.8124 26.2408 43.0703 25.3468 43.0703H20.3436ZM22.1661 41.6433H24.917C25.897 41.6433 27.0145 41.2479 27.7022 40.5945C28.5103 39.8036 28.9229 38.5314 28.9229 37.0184C28.9229 35.2819 28.3384 33.9236 27.2724 33.1843C26.5331 32.6686 25.6391 32.4622 24.9341 32.4622H22.1661V41.6433ZM42.0823 31.0352V32.4622H35.4974V36.6401H41.171V38.0672H35.4974V43.0703H33.6749V31.0352H42.0823Z" fill="white"/><path d="M29.4756 0.5L48.5 18.1875V61.3945H0.5V0.5H29.4756Z" stroke="white"/><path d="M29.7119 17.5527L29.7119 1.13281L47.71 17.5527L29.7119 17.5527Z" stroke="white"/></svg>')
        center/contain no-repeat;
}

/* Farbe weich überblenden */
footer .wp-block-file a:hover::before {
    opacity: .7;
}

footer .community {
    background: #bcb7a7;
    color: white;
    text-align: center;
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

footer .community div {
    width: 100%;
}

footer .community figure a {
    min-width: 8rem;
}

footer .community figure:hover a img{
    opacity: 0.75;
} 

footer .community figure a img {
    width: unset;
}

footer .community figure,
footer .community figure figcaption {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

footer .community figure figcaption {
    color: white;
}

footer .wp-block-group:has(.wp-block-image) {
    /* display: flex;
    gap: 2rem; */
}

footer .footer-nav-wrapper {
    gap: 6rem;
    margin-bottom: 0;
}

footer .footer-nav-wrapper div.wp-block-column,
footer .footer-nav-wrapper div.wp-block-column > nav {
    min-width: fit-content;
}

footer div.wp-block-group .footer-nav-wrapper div.wp-block-column {
    flex-grow: 0;
}

footer .footer-nav-wrapper div.wp-block-column:nth-of-type(3) {
    margin-right: auto;
}

footer .footer-nav-wrapper div.wp-block-column:nth-of-type(4) {
    margin-right: 5%;
}

footer .footer-logo-wrapper {
    margin-bottom: 6rem;
}

footer .footer-logo-wrapper > div.wp-block-column:first-of-type {
    max-width: 200px;
    position: absolute;
}

footer .footer-logo-wrapper > div.wp-block-column:last-of-type {
    margin-top: 0;
}

footer .footer-logo-wrapper div.wp-block-file {
    border: 1px solid #525252;
    width: 18rem;
    transition:
        border-color 0.3s ease,
        border-width 0.3s ease;
}

footer nav ul {
    gap: 0.75rem;
}

footer div.wp-block-group:has(> .footer-logo-wrapper) .footer-menu-middle .wp-block-navigation a.wp-block-navigation-item__content {
    color: #ACACAC;
}

footer .wp-block-navigation a.wp-block-navigation-item__content:hover span.wp-block-navigation-item__label,
footer div.wp-block-group:has(> .footer-logo-wrapper) .wp-block-column a:hover {
    opacity: .7;
    color: var(--color--primary-3);
}

footer div.wp-block-group:has(> .footer-logo-wrapper) .wp-block-column a {
    font-size: var(--font-size--small);
    color: var(--color--primary-3);
}

footer ul.wp-block-navigation__container.is-vertical.wp-block-navigation {
    gap: 0.6rem;
}

footer .community .wp-block-group.alignwide.is-content-justification-space-between {
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
}

footer p strong {
    font-weight: 700;
}
footer .footer-nav-wrapper div.wp-block-column:last-of-type p,
footer .footer-nav-wrapper div.wp-block-column:last-of-type p a{ 
    /* font-size: var(--font-size--x-small); */
    font-size: 1rem;
}

footer .footer-nav-wrapper div.wp-block-column:last-of-type p a:not([data-type="tel"]) {
    text-decoration: underline;
    text-underline-offset: 4px;
}

footer .footer-nav-wrapper div.wp-block-column:last-of-type p strong{
    font-size: var(--font-size--small);
    font-weight: 600;
}

@media (min-width: 780px) and (max-width: 960px) {
    footer > div {
        padding: 2rem 0rem;
    }
}


@media (max-width: 1200px){
    footer div.wp-block-group:has(> .footer-logo-wrapper),
    footer .is-layout-constrained > .alignwide.community {
        max-width: 100% !important;
        padding: 3.5rem 2rem 6rem 2rem !important;
    }

     footer .footer-logo-wrapper > div.wp-block-column:last-of-type {
                padding-left: 10rem;
    }
}

@media (max-width: 1024px){
    footer .community figure a img {
        margin: 1.5rem 1rem 0;
        max-width: 80px;
    }
}

@media (max-width: 960px){
    footer div.wp-block-group:has(> .footer-logo-wrapper),
    footer .is-layout-constrained > .alignwide.community {
        max-width: 100% !important;
        padding: 3.5rem 2rem 6rem 2rem !important;
    }

    footer .wp-block-columns.alignwide.footer-nav-wrapper.has-white-color.has-text-color.has-link-color {
        flex-wrap: wrap !important;
    }

    footer .footer-nav-wrapper {
        row-gap: 3rem;
    }
}

@media (max-width: 940px){
    footer .footer-logo-wrapper div.wp-block-file {
        padding: 1.25rem;
    }

    .wp-site-blocks footer div.wp-block-file a {
        flex-direction: row;
    }

    .wp-block-columns.alignwide.footer-logo-wrapper.is-layout-flex {
        flex-direction: column;
    }

    footer .footer-logo-wrapper > div.wp-block-column:first-of-type {
        position: static;
    }

    footer .footer-logo-wrapper > div.wp-block-column:last-of-type {
        padding-left: 0;
        justify-content: flex-start;
    }
}

@media (max-width: 780px) {
    footer nav.wp-block-navigation > ul {
        /* flex-direction: column; */
        gap: 0.5rem;
        justify-content: flex-start;
        align-items: flex-start;
    }

    footer .wp-block-columns .wp-block-column:nth-of-type(2) > div {
        /* flex-direction: column; */
        justify-content: flex-start;
        gap: 0rem;
    }

    footer > div.wp-block-group.is-layout-constrained > div.wp-block-group.alignwide {
        padding: 2rem 0rem !important;
    }

    footer > div > div > nav > ul {
        gap: 0rem !important;
    }

    footer .wp-block-columns .wp-block-column:nth-of-type(1) {
        flex-basis: 60%;
    }
    footer > div > div > nav > ul > li:nth-of-type(1) {
        flex-basis: 60%;
    }

    footer .wp-block-columns .wp-block-column:nth-of-type(2) > div > nav:nth-of-type(1) {
        flex-basis: 60%;
        align-items: flex-start;
    }

    /* footer .wp-block-group:has(> .wp-block-image) {
        display: grid;
        gap: 1rem;
        padding: 0 1rem;
        grid-template-columns: 1fr 1fr;
    } */

    ul.wp-block-navigation__container.is-vertical.footer-menu-middle.wp-block-navigation {
        width: 100%;
        display: grid;
        flex-wrap: wrap;
        flex-direction: row;
        gap: 10px;
        grid-template-columns: 1fr 1fr;
        row-gap: 0.25rem;
    }

    .footer-menu-middle li.wp-block-navigation-item.wp-block-navigation-link {
        background-color: #4e4e4e;
        color: white;
        padding: 0.5rem 0.5rem 0.35rem;
        border-radius: 4px;
    }


    footer div.wp-block-group:has(> .footer-logo-wrapper) .footer-menu-middle .wp-block-navigation a.wp-block-navigation-item__content {
        color: var(--color--primary-3);
    }


    footer div.wp-block-group .footer-nav-wrapper div.wp-block-column:has(.footer-menu-middle) {
        width: 100%;
    }

    footer .footer-nav-wrapper {
        gap: 1rem;
        row-gap: 3rem;
    }

    footer div.wp-block-group .footer-nav-wrapper div.wp-block-column {
        flex-grow: 0;
        width: calc(50% - 1rem);
        flex-basis: unset !important;
    }

    footer .footer-logo-wrapper > div.wp-block-column:last-of-type {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    footer .wp-block-columns .wp-block-column:nth-of-type(2) > div {
        width: 100%;
        align-items: flex-start;
    }

    footer .footer-logo-wrapper {
            margin-bottom: 4rem;
    }

    .footer-menu-middle li.wp-block-navigation-item.wp-block-navigation-link:hover {
        opacity: 0.7;
    }
}

@media (max-width: 960px) and (orientation: portrait) {
    /* footer > div > div > nav > ul > li:nth-of-type(1) {
        flex-basis: 60%;
    }

    footer > div > div > div.wp-block-columns {
        gap: 2.75rem;
    }

    footer nav.wp-block-navigation > ul {
        gap: 0.75rem;
      } */

    footer .community .wp-block-group.alignwide.is-content-justification-space-between {
        gap: 1rem;
    }
}

/*----------------------------------------------------------------------------------------------------------------------------------------*/
