    /* === Footer === */
    .wc-footer {
        background: var(--color-bg-canvas);
        border-top: 1px solid var(--color-border-default);
        padding: var(--space-15) 0 var(--space-13);
    }
    .wc-footer__columns {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1.5fr;
        gap: var(--space-13);
    }

    /* Brand column — icon + text like header */
    .wc-footer__logo-link {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        text-decoration: none;
        margin-bottom: var(--space-10);
    }
    .wc-footer__logo-icon {
        height: 44px;
        width: 44px;
        object-fit: contain;
        flex-shrink: 0;
    }
    .wc-footer__brand-text {
        font-weight: 700;
        font-size: 1.25rem;
        letter-spacing: -0.5px;
        color: var(--color-text-primary);
        text-decoration: none;
    }
    .wc-footer__brand-desc {
        font: var(--text-body);
        color: var(--color-text-link-muted);
        margin: 0;
    }

    /* Column headings */
    .wc-footer__heading {
        font: var(--text-label);
        letter-spacing: var(--text-label-ls);
        text-transform: uppercase;
        color: var(--color-text-muted);
        margin-bottom: var(--space-10);
    }

    /* Link lists */
    .wc-footer__links {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    .wc-footer__links a {
        color: var(--color-text-link-muted);
        text-decoration: none;
        font: var(--text-body);
        display: block;
        padding: var(--space-3) 0;
        transition: color var(--motion-default) var(--motion-easing);
    }
    .wc-footer__links a:hover {
        color: var(--color-primary-text);
        text-decoration: underline;
    }

    /* Contact column — single HQ block, icon + text rows (szbf legacy style) */
    .wc-footer__contact-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: var(--space-9);
    }
    .wc-footer__contact-item {
        display: flex;
        align-items: flex-start;
        gap: var(--space-7);
    }
    .wc-footer__contact-icon {
        flex-shrink: 0;
        color: var(--color-primary-text);
        margin-top: 2px;
    }
    .wc-footer__contact-icon svg {
        width: 18px;
        height: 18px;
        display: block;
    }
    .wc-footer__contact-text {
        font: var(--text-body);
        color: var(--color-text-link-muted);
        text-decoration: none;
        line-height: 1.5;
        transition: color var(--motion-default) var(--motion-easing);
    }
    a.wc-footer__contact-text:hover {
        color: var(--color-primary-text);
        text-decoration: underline;
    }

    /* Copyright row */
    .wc-footer__copyright {
        margin-top: var(--space-14);
        padding-top: var(--space-11);
        border-top: 1px solid var(--color-border-default);
        display: flex;
        justify-content: space-between;
        align-items: center;
        font: var(--text-caption);
        color: var(--color-text-link-muted);
    }
    .wc-footer__copyright a {
        color: var(--color-text-link-muted);
        text-decoration: none;
    }
    .wc-footer__copyright a:hover {
        color: var(--color-primary-text);
    }
    .wc-footer__city-name--secondary {
        color: var(--color-text-muted);
        font-size: 0.85em;
    }

    /* Responsive: 2-column at tablet (canonical 992px breakpoint) */
    @media (max-width: 991px) {
        .wc-footer__columns {
            grid-template-columns: 1fr 1fr;
        }
    }

    /* Responsive: 1-column at mobile with <details> accordion (canonical 768px breakpoint) */
    @media (max-width: 767px) {
        .wc-footer__columns {
            grid-template-columns: 1fr;
        }
        .wc-footer__col > details > summary {
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            list-style: none;
        }
        .wc-footer__col > details > summary::-webkit-details-marker { display: none; }
        .wc-footer__col > details > summary::after {
            content: '+';
            font-size: 20px;
        }
        .wc-footer__col > details[open] > summary::after {
            content: '\2212'; /* minus sign */
        }
        .wc-footer__copyright {
            flex-direction: column;
            gap: var(--space-7);
            text-align: center;
        }
    }

    /* Desktop: lock <details> open, hide toggle indicator */
    @media (min-width: 768px) {
        .wc-footer__col > details {
            display: contents; /* transparent box — children flow as siblings */
        }
        .wc-footer__col > details > summary {
            pointer-events: none;
            list-style: none;
        }
        .wc-footer__col > details > summary::-webkit-details-marker { display: none; }
        .wc-footer__col > details > summary::after { display: none; }
    }
