/* DOM: views/partials/footer-v2.twig + column/region-selector partials */
/* Loaded via ../s5-rebrand.css */

#s5-footer.s5-footer,
footer.s5-footer {
    --s5-footer-bg: #000000;
    --s5-footer-fg: var(--s5-text-on-dark, #ffffff);
    --s5-footer-accent: var(--s5-color-yellow, #fbc72f);
    --s5-footer-icon: var(--s5-color-gray-600, #707070);
    --s5-footer-muted: rgba(255, 255, 255, 0.72);
    --s5-footer-line: rgba(255, 255, 255, 0.14);
    --s5-footer-max: 1330px;
    --s5-footer-pad-x: 20px;
    --s5-footer-pad-y: 48px;

    display: block;
    position: relative;
    width: 100%;
    background-color: #000000;
    color: var(--s5-footer-fg);
    font-family: var(--s5-nav-font-family, 'PT Sans', sans-serif);
    box-sizing: border-box;

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    a {
        color: inherit;
        text-decoration: none;

        &:hover {
            color: var(--s5-footer-accent);
        }
    }

    .s5-footer-main {
        padding: var(--s5-footer-pad-y) var(--s5-footer-pad-x);
        background-color: #000000;
    }

    .s5-footer-main-inner,
    .s5-footer-bottom-inner {
        width: min(100%, var(--s5-footer-max));
        margin-inline: auto;
    }

    .s5-footer-columns {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    .s5-footer-column-heading {
        margin: 0 0 16px;
        font-size: 0.8125rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--s5-footer-accent);
        line-height: 1.3;
    }

    .s5-footer-brand {
        margin-bottom: 20px;
    }

    .s5-footer-brand-logo {
        display: inline-block;
        line-height: 0;

        img {
            display: block;
            max-width: 232px;
            width: 100%;
            height: auto;
        }
    }

    .s5-footer-social {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin: 0 0 20px;
        padding: 0;
        list-style: none;
    }

    .s5-footer-social-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        color: var(--s5-footer-icon);
        font-size: 1.125rem;
        transition: color 0.2s ease;

        &:hover {
            color: var(--s5-footer-accent);
        }
    }

    .s5-footer-flags {
        display: block;
        height: 60px;
        width: auto;
        margin: 0 0 20px;
    }

    .s5-footer-contact {
        margin: 0;
    }

    .s5-footer-contact-line {
        margin: 0 0 4px;
        font-size: 0.9375rem;
        line-height: 1.5;
        color: var(--s5-footer-fg);
    }

    .s5-footer-links {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .s5-footer-link {
        display: inline-block;
        padding: 4px 0;
        font-size: 0.9375rem;
        line-height: 1.5;
        color: var(--s5-footer-fg);
        transition: color 0.2s ease;

        &:hover {
            color: var(--s5-footer-accent);
        }
    }

    .s5-footer-cta-text {
        margin: 0 0 20px;
        font-size: 0.9375rem;
        line-height: 1.55;
        color: var(--s5-footer-muted);
        max-width: 28ch;
    }

    .s5-footer-cta-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        padding: 0.75rem 1.125rem;
        border-radius: var(--s5-btn-radius, 0.25rem);
        background: var(--s5-footer-accent);
        color: var(--s5-color-black, #000);
        font-size: 0.9375rem;
        font-weight: 700;
        line-height: 1.2;
        box-shadow: var(--s5-btn-shadow, 0 2px 8px rgba(0, 0, 0, 0.15));
        transition: background-color 0.2s ease, transform 0.2s ease;

        &:hover {
            background: var(--s5-color-yellow-hover, #e4b82b);
            color: var(--s5-color-black, #000);
            transform: translateY(-1px);
        }

        &:focus-visible {
            outline: 2px solid var(--s5-focus-ring, #0b57d0);
            outline-offset: 2px;
        }
    }

    .s5-footer-bottom {
        border-top: 1px solid var(--s5-footer-line);
        padding: 24px var(--s5-footer-pad-x) 32px;
        background-color: #000000;
    }

    .s5-footer-bottom-top {
        display: flex;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 20px;
    }

    .s5-footer-locale-dropdown {
        position: relative;
        width: fit-content;
        max-width: 100%;
    }

    .s5-footer-locale-trigger {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 14px;
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: var(--s5-btn-radius, 0.25rem);
        background: transparent;
        color: var(--s5-footer-fg);
        font-size: 0.875rem;
        line-height: 1.3;
        cursor: pointer;
        list-style: none;

        &::-webkit-details-marker {
            display: none;
        }

        &:hover {
            border-color: rgba(255, 255, 255, 0.55);
        }
    }

    .s5-footer-locale-icon,
    .s5-footer-locale-chevron {
        color: var(--s5-footer-icon);
    }

    .s5-footer-locale-icon {
        font-size: 0.875rem;
    }

    .s5-footer-locale-chevron {
        font-size: 0.625rem;
        transition: transform 0.2s ease;
    }

    .s5-footer-locale-dropdown[open] .s5-footer-locale-chevron {
        transform: rotate(180deg);
    }

    .s5-footer-locale-panel {
        position: absolute;
        z-index: 10;
        bottom: calc(100% + 8px);
        left: 0;
        min-width: 220px;
        padding: 12px;
        border: 1px solid var(--s5-footer-line);
        border-radius: var(--s5-btn-radius, 0.25rem);
        background: var(--s5-color-gray-900, #1f1f1f);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    }

    .s5-footer-locale-section + .s5-footer-locale-section {
        margin-top: 12px;
        padding-top: 12px;
        border-top: 1px solid var(--s5-footer-line);
    }

    .s5-footer-locale-section-title {
        margin: 0 0 8px;
        font-size: 0.6875rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--s5-footer-muted);
    }

    .s5-footer-locale-list {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .s5-footer-locale-link {
        display: block;
        padding: 6px 8px;
        border-radius: 4px;
        font-size: 0.875rem;
        color: var(--s5-footer-fg);
        cursor: pointer;
        transition: background-color 0.15s ease, color 0.15s ease;

        &:hover,
        &.is-active {
            background: rgba(255, 255, 255, 0.08);
            color: var(--s5-footer-accent);
        }
    }

    .s5-footer-locale-region {
        display: block;
        cursor: pointer;
    }

    .s5-footer-legal-list {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 16px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .s5-footer-legal-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font-size: 0.8125rem;
        line-height: 1.4;
        color: var(--s5-footer-muted);
        transition: color 0.2s ease;

        &:hover {
            color: var(--s5-footer-accent);
        }
    }

    .s5-footer-ccpa-icon {
        width: 2rem;
        height: auto;
        flex-shrink: 0;
    }

    .s5-footer-copyright-line,
    .s5-footer-disclosure {
        margin: 0;
        font-size: 0.8125rem;
        line-height: 1.5;
        color: var(--s5-footer-muted);
    }

    .s5-footer-disclosure {
        margin-top: 12px;
    }

    @media (min-width: 768px) {
        --s5-footer-pad-x: 40px;
        --s5-footer-pad-y: 56px;

        .s5-footer-columns {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 32px 40px;
        }

        .s5-footer-bottom-top {
            flex-direction: row;
            align-items: flex-start;
            justify-content: space-between;
            gap: 24px;
        }

        .s5-footer-legal-list {
            justify-content: flex-end;
        }
    }

    @media (min-width: 1024px) {
        --s5-footer-pad-x: 48px;
        --s5-footer-pad-y: 64px;

        .s5-footer-columns {
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 32px 48px;
        }
    }
}

body.new--globals footer.s5-footer,
body.new--globals #s5-footer.s5-footer {
    background-color: #000000;
}
