/* =========================================
   PIED DE PAGE — colonnes (présentation, coordonnées, horaires, menu) + bandeau légal
   ========================================= */

.site-footer {
    margin-top: var(--space-xl);
    padding-top: var(--space-xl);
    background-color: var(--color-footer-background);
    color: var(--color-footer-text);
    font-size: var(--text-sm);
}

.site-footer a {
    color: inherit;
}

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

.site-footer__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--column-min-sm), 1fr));
    gap: var(--space-lg);
}

.site-footer__name {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: var(--weight-heading);
    color: var(--color-text);
}

.site-footer__text {
    margin-top: var(--space-2xs);
}

.site-footer__title,
.contact-details__title,
.opening-hours__title {
    margin-bottom: var(--space-2xs);
    font-weight: var(--weight-semibold);
    color: var(--color-text);
}

.site-footer__menu,
.contact-details__list {
    display: grid;
    gap: var(--space-3xs);
}

.contact-details address {
    font-style: normal;
}

.opening-hours__row {
    display: flex;
    justify-content: space-between;
    gap: var(--space-sm);
}

.opening-hours__note {
    margin-top: var(--space-2xs);
    font-size: var(--text-sm);
}

.social-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-sm);
}

.site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
    padding-block: var(--space-md);
    border-top: var(--border-width) solid var(--color-border);
}

.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
}
