/* =========================================================
   FOOTER
========================================================= */

.site-footer {
    margin-top: auto;

    padding: 70px 0 0;

    color: var(--color-text);

    background: #f8faf9;

    border-top: 1px solid var(--color-border);
}


/* =========================================================
   GRILLE
========================================================= */

.site-footer__grid {
    display: grid;

    grid-template-columns:
        minmax(260px, 1.4fr)
        repeat(3, minmax(150px, 0.7fr));

    gap: 50px;

    padding-bottom: 55px;
}


/* =========================================================
   MARQUE
========================================================= */

.site-footer__brand {
    max-width: 360px;
}

.site-footer__logo {
    display: inline-flex;

    align-items: center;

    margin-bottom: 20px;

    color: var(--color-text);

    font-size: 1.4rem;
    font-weight: 800;

    text-decoration: none;
}

.site-footer__logo-image {
    display: block;

    width: auto;
    max-width: 180px;

    max-height: 60px;

    object-fit: contain;
}

.site-footer__description {
    margin: 0 0 22px;

    color: var(--color-text-light);

    line-height: 1.75;
}

.site-footer__trust {
    display: grid;

    gap: 8px;

    color: var(--color-primary-dark);

    font-size: 0.86rem;
    font-weight: 600;
}


/* =========================================================
   TITRES
========================================================= */

.site-footer__title {
    margin: 0 0 20px;

    color: var(--color-text);

    font-size: 1rem;
    font-weight: 700;
}


/* =========================================================
   LIENS
========================================================= */

.site-footer__links {
    display: grid;

    gap: 12px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.site-footer__links li {
    margin: 0;
}

.site-footer__links a {
    color: var(--color-text-light);

    font-size: 0.92rem;

    text-decoration: none;

    transition: var(--transition);
}

.site-footer__links a:hover {
    color: var(--color-primary-dark);
}


/* =========================================================
   CONTACT
========================================================= */

.site-footer__contact-text {
    margin: 0 0 18px;

    color: var(--color-text-light);

    font-size: 0.9rem;
    line-height: 1.65;
}

.site-footer__email {
    display: inline-flex;

    align-items: center;

    gap: 9px;

    max-width: 100%;

    margin-bottom: 20px;

    color: var(--color-primary-dark);

    font-size: 0.88rem;
    font-weight: 600;

    text-decoration: none;
}

.site-footer__email svg {
    flex-shrink: 0;
}

.site-footer__email span {
    overflow-wrap: anywhere;
}

.site-footer__email:hover {
    color: var(--color-primary);
}

.site-footer__contact-button {
    min-height: 44px;

    padding: 0 20px;

    font-size: 0.88rem;
}


/* =========================================================
   BARRE INFÉRIEURE
========================================================= */

.site-footer__bottom {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 30px;

    min-height: 76px;

    border-top: 1px solid var(--color-border);
}

.site-footer__bottom p {
    margin: 0;

    color: var(--color-text-light);

    font-size: 0.82rem;
}

.site-footer__legal {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 20px;
}

.site-footer__legal a {
    color: var(--color-text-light);

    font-size: 0.82rem;

    text-decoration: none;

    transition: var(--transition);
}

.site-footer__legal a:hover {
    color: var(--color-primary-dark);
}