/**
 * Dark footer matching the header (Magento_Theme/templates/html/footer.phtml).
 * Loaded site-wide via Magento_Theme/layout/default.xml. Scoped to .kz-footer.
 * Link columns: CMS block "footer_content" (Page Builder), social icons: footer/social.phtml,
 * copyright: Content > Design > Configuration > Footer > Copyright.
 */

.kz-footer {
    --kz-footer-bg: #111;
    --kz-footer-fg: #f4f1ea;
    --kz-footer-muted: #a3a3a3;
    --kz-footer-accent: #b39b5f;
    background: var(--kz-footer-bg);
    color: var(--kz-footer-fg);
}

.kz-footer > .container > .flex {
    justify-content: space-between;
    align-items: flex-start;
    gap: 2.5rem;
}

.kz-footer__heading {
    margin: 0 0 1rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--kz-footer-muted);
}

.kz-footer__links ul {
    display: grid;
    gap: 0.625rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kz-footer__links a {
    color: var(--kz-footer-fg);
    text-decoration: none;
}

.kz-footer__links a:hover,
.kz-footer__links a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.3em;
}

.kz-footer a:focus-visible {
    outline: 2px solid var(--kz-footer-fg);
    outline-offset: 2px;
}

/* Social icons */
.kz-footer-social__list {
    display: flex;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kz-footer-social__link {
    display: inline-flex;
    padding: 0.5rem;
    color: var(--kz-footer-fg);
    transition: color 0.2s;
}

.kz-footer-social__link:hover,
.kz-footer-social__link:focus-visible {
    color: var(--kz-footer-accent);
}

/* Bottom bar */
.kz-footer__bottom {
    border-top: 1px solid #2a2a2a;
}

.kz-footer__copyright {
    font-size: 0.8125rem;
    color: var(--kz-footer-muted);
}

@media (prefers-reduced-motion: reduce) {
    .kz-footer-social__link {
        transition: none;
    }
}

/* Align CMS block content, social icons and copyright on the same left edge */
.kz-footer [data-content-type="row"][data-appearance="contained"] {
    max-width: none;
    padding-inline: 0;
}

.kz-footer-social__list {
    margin-inline: -0.5rem; /* icon glyph aligned, full 38px touch target kept */
}

/* Tablet/desktop: link columns (one Page Builder row each) side by side on the left,
   social icons pushed to the right on the same line */
@media (min-width: 48rem) {
    .kz-footer > .container > .flex {
        flex-wrap: nowrap;
        column-gap: 4rem;
    }

    /* Page Builder rows get Hyvä's "container" (width: 100%) -> size them by their content */
    .kz-footer > .container > .flex > [data-content-type="row"] {
        flex: 0 1 auto;
        width: auto;
        min-width: 10rem;
        margin-inline: 0;
    }

    .kz-footer > .container > .flex > .kz-footer-social {
        margin-left: auto;
    }
}
