/*
 * Footer — OC 3-column layout with Shopify-style top/bottom separation.
 * Structure emits from footer.php; colors + type scale come from tokens.css.
 * The <footer> carries both `main-footer` (Shopify's class) and `hw-footer`
 * (our layout class) so rules targeting either name resolve. `main-footer`
 * applies the Shopify palette via --color-*-footer tokens.
 */

.main-footer {
    margin-top: var(--container-vertical-space);
    border-top: 1px solid var(--color-borders-footer);
    background: var(--color-background-footer);
    color: var(--color-text-footer);
}

.hw-footer {
    font-size: var(--bs-body-font-size);
}

.hw-footer a {
    color: var(--color-text-footer, #ffffff);
    text-decoration: none;
    transition: opacity 0.1s linear;
    opacity: 0.85;
}

.hw-footer a:hover,
.hw-footer a:focus {
    color: var(--color-text-footer, #ffffff);
    opacity: 1;
}

.hw-footer__inner {
    max-width: var(--theme-max-width);
    margin: 0 auto;
    padding: 0 3rem;
}

/* Top: three columns of links */
.hw-footer__top {
    padding: 2.5rem 0 2rem;
}

.hw-footer__top .hw-footer__inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.hw-footer__heading {
    margin: 0 0 1rem;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.3px;
    color: var(--color-text-footer, #ffffff);
}

.hw-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.hw-footer__list li {
    margin: 0 0 0.4rem;
}

/* Bottom: copyright strip separated by a thin divider (the Shopify pattern) */
.hw-footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 1rem 0;
}

.hw-footer__bottom .hw-footer__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hw-footer__copy {
    margin: 0;
    font-size: var(--bs-body-font-size);
    opacity: 0.75;
}

/* Stack on mobile */
@media (max-width: 767px) {
    .hw-footer__top .hw-footer__inner {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .hw-footer__inner {
        padding: 0 1.5rem;
    }
}
