/* footer.css — the one darker zone: espresso with parchment text and gold accents */

.site-footer {
    background-color: var(--color-footer-bg);
    color: var(--color-footer-muted);
}

.site-footer :focus-visible { outline-color: var(--color-footer-accent); }

.site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xl) var(--space-xl);
    padding-block: var(--space-3xl) var(--space-2xl);
}

/* Same size as the header logo (BASAM 2026-09-15); scales down if its column is narrower */
.site-footer__logo {
    inline-size: var(--logo-width);
    block-size: auto;
}

.site-footer__about {
    margin-block-start: var(--space-lg);
    max-inline-size: 36ch;
    font-size: var(--fs-md);
}

.site-footer__title {
    position: relative;
    margin-block-end: var(--space-md);
    padding-block-end: var(--space-sm);
    color: var(--color-footer-accent);
    font-size: var(--fs-md);
}

.site-footer__title::after {
    content: "";
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    inline-size: var(--space-xl);
    block-size: 1px;
    background-color: var(--color-footer-accent);
}

/* Stacked links: 44.8px rows with no gap → ≥ 44px centre-to-centre (Fix 9) */
.site-footer__link {
    font-family: var(--font-heading);
    display: inline-block;
    padding-block: var(--space-sm);
    color: var(--color-footer-muted);
    font-size: var(--fs-md);
    transition: color var(--transition-fast);
}

.site-footer__link:hover {
    color: var(--color-footer-text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.4em;
}

/* Contact rows follow the 44.8px link rhythm of the other footer columns (Fix 9) */
.site-footer__contact-list { display: grid; }

.site-footer__contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    font-size: var(--fs-md);
}

/* Icon centred on the first text line: row padding + half of (line box − icon) */
.site-footer__contact-item .icon {
    margin-block-start: calc(var(--space-sm) + (var(--lh-body) * 1em - var(--icon-sm)) / 2);
    color: var(--color-footer-accent);
}

/* Unlinked row (working hours): same face and rhythm as the linked rows */
.site-footer__contact-text {
    font-family: var(--font-heading);
    padding-block: var(--space-sm);
}

/* Social profile links (Company:Social) — .NET build addition */
.site-footer__social {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--space-md);
}

.site-footer__bottom { border-block-start: 1px solid var(--color-footer-line); }

.site-footer__credit {
    padding-block: var(--space-lg);
    font-size: var(--fs-sm);
}

.site-footer__credit-separator { margin-inline: var(--space-sm); }

.site-footer__credit a {
    color: var(--color-footer-accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
    transition: color var(--transition-fast);
}

.site-footer__credit a:hover { color: var(--color-footer-text); }

@media (min-width: 576px) {
    .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
    .site-footer__grid {
        grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
        padding-block: calc(var(--space-3xl) + var(--space-md)) var(--space-3xl);
    }

    .site-footer__logo { inline-size: var(--logo-width-lg); }
}
