/* footer.css — four-column footer on the deepest black + mandatory CANADA HITECH credit */

.site-footer {
    position: relative;
    background-color: var(--color-bg);
    padding-block-start: var(--section-pad);
    font-size: var(--fs-sm);
    color: var(--color-text-muted);
}
.site-footer::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-start: 0;
    block-size: var(--hairline);
    background: var(--gradient-gold-rule);
}

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

.site-footer__brand { display: grid; align-content: start; justify-items: start; gap: var(--space-lg); }
.site-footer__logo { display: flex; align-items: center; min-block-size: var(--touch-target); }
.site-footer__logo-image { inline-size: auto; block-size: var(--logo-height-footer); }
.site-footer__about { display: grid; gap: var(--space-md); max-inline-size: 38rem; line-height: var(--lh-body); }
.site-footer__brand .social-links { margin-inline-start: calc(var(--space-md) * -1); }

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

.site-footer__title {
    margin-block-end: var(--space-md);
    font-family: var(--font-body);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-label);
    line-height: var(--lh-snug);
    text-transform: uppercase;
    color: var(--color-accent);
}

/* Link lists are block multi-column containers (column-count does not apply to grid) */
.site-footer__links {
    column-count: 2;
    column-gap: var(--space-lg);
}
.site-footer__links li { break-inside: avoid; }
.site-footer__link {
    display: flex;
    align-items: center;
    min-block-size: var(--touch-target);
    color: var(--color-text-muted);
    transition: color var(--transition-fast);
}

@media (hover: hover) {
    .site-footer__link:hover { color: var(--color-accent-highlight); }
}

.site-footer__address { display: grid; gap: var(--space-xs); }
.site-footer__address-line {
    display: grid;
    grid-template-columns: var(--icon-sm) minmax(0, 1fr);
    align-items: start;
    gap: var(--space-md);
    min-block-size: var(--touch-target);
    padding-block: var(--space-sm);
    line-height: var(--lh-body);
}
.site-footer__address-line .icon {
    inline-size: var(--icon-sm);
    block-size: var(--icon-sm);
    margin-block-start: var(--space-xs);
    color: var(--color-accent);
}
.site-footer__address-link { color: var(--color-text); transition: color var(--transition-fast); }

@media (hover: hover) {
    .site-footer__address-link:hover { color: var(--color-accent-highlight); }
}

.site-footer__trust {
    display: grid;
    gap: var(--space-sm);
    margin-block-start: var(--space-xl);
    padding-block-start: var(--space-lg);
    border-block-start: var(--hairline) solid var(--color-border-subtle);
}
.site-footer__trust-item {
    display: grid;
    grid-template-columns: var(--space-sm) minmax(0, 1fr);
    align-items: center;
    gap: var(--space-md);
    color: var(--color-text);
    font-size: var(--fs-xs);
    letter-spacing: var(--tracking-button);
}
.site-footer__trust-item::before {
    content: "";
    inline-size: var(--space-xs);
    block-size: var(--space-xs);
    background-color: var(--color-accent);
    transform: rotate(45deg);
}

/* Bottom bar + credit (engineering §4 markup) */
.site-footer__bottom {
    border-block-start: var(--hairline) solid var(--color-border-subtle);
    padding-block: var(--space-lg);
    padding-block-end: calc(var(--space-lg) + var(--btn-height-lg));
    font-size: var(--fs-xs);
}
.site-footer__credit p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: var(--space-md);
    row-gap: var(--space-xs);
    line-height: var(--lh-body);
}
.site-footer__credit-separator { color: var(--color-accent); }
.site-footer__credit a {
    position: relative;
    color: var(--color-accent);
    font-weight: var(--fw-semibold);
    letter-spacing: var(--tracking-button);
    transition: color var(--transition-fast);
}
/* 44px hit area without touching layout (Fix 10) */
.site-footer__credit a::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-start: 50%;
    block-size: var(--touch-target);
    transform: translateY(-50%);
}

@media (hover: hover) {
    .site-footer__credit a:hover { color: var(--color-accent-highlight); }
}

.site-footer__credit-separator { display: none; }

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

@media (min-width: 768px) {
    .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-footer__brand { grid-column: 1 / -1; }
    .site-footer__bottom { padding-block-end: var(--space-lg); }
}

@media (min-width: 992px) {
    .site-footer__credit-separator { display: inline; }
}

@media (min-width: 1200px) {
    .site-footer__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr) minmax(0, 1.15fr); column-gap: var(--space-3xl); }
    .site-footer__brand { grid-column: auto; }
    .site-footer__nav { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); }
    .site-footer__links--split { column-count: 2; column-gap: var(--space-xl); }
}
