/* Pied de page partagé (.sany-footer) utilisé par les 385 fiches produit.
   Extrait de styles.css (voir audit A-14) : ces pages n'ont besoin que de ce
   bloc, pas du reste de la feuille (méga-menu, hero d'accueil, sections
   marques...). Variables reprises à l'identique du :root de styles.css. */
:root {
    --white: #ffffff;
    --primary-red: #db0d1e;
    --transition-smooth: all 0.3s ease;
    --radius-sm: 8px;
}

.region-tag {
    font-size: 0.7rem;
    background: #f0f0f0;
    padding: 4px 10px;
    border-radius: var(--radius-sm);
    color: #888;
    font-weight: bold;
}

/* Reset local équivalent à celui de styles.css (jamais de soulignement par
   défaut sur un lien) : product.css n'a pas cette règle globale, product.php
   n'ayant jamais eu besoin d'un lien texte avant ce pied de page. Les liens
   légaux gardent leur soulignement explicite (règle plus bas, même
   spécificité, qui l'emporte car déclarée après). */
.sany-footer a {
    text-decoration: none;
    color: inherit;
}

.sany-footer {
    background: #000;
    color: var(--white);
    padding-top: 80px;
    font-size: 0.95rem;
}

.footer-top {
    padding-bottom: 60px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 5%;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
    gap: 40px;
}

.footer-section h3 {
    color: var(--white);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 10px;
}

.footer-section h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--primary-red);
}

.footer-logo {
    display: block;
    width: auto;
    height: 50px;
    max-width: 100%;
    margin-bottom: 20px;
}

.brand-info p {
    color: #a1a1a6;
    line-height: 1.6;
}

.footer-section ul {
    list-style: none;
    padding: 0;
}

.footer-section ul li {
    margin-bottom: 12px;
}

.footer-section a {
    color: #888;
    transition: color 0.3s ease;
}

.footer-section a:hover {
    color: var(--primary-red);
}

.contact-info p {
    color: #a1a1a6;
    margin-bottom: 15px;
    line-height: 1.5;
}

.footer-agency {
    margin-bottom: 24px;
}

.footer-agency:last-child {
    margin-bottom: 0;
}

.footer-agency-name {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    color: var(--white);
    font-size: 0.95rem;
}

.footer-agency address {
    color: #a1a1a6;
    font-style: normal;
    line-height: 1.5;
}

.footer-agency .region-tag {
    background: rgba(255, 255, 255, 0.08);
    color: #ccc;
}

.footer-cta {
    display: block;
    color: var(--white);
    font-weight: 800;
    font-size: 1.2rem;
    margin-top: 14px;
}

.footer-mail {
    display: block;
    margin-top: 6px;
    font-size: 0.9rem;
    color: #a1a1a6;
}

.footer-socials {
    display: flex;
    gap: 12px;
    margin-top: 22px;
}

.footer-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #a1a1a6;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    transition: var(--transition-smooth);
}

.footer-socials svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
}

.footer-socials svg.is-solid {
    fill: currentColor;
    stroke: none;
}

.footer-socials a:hover {
    color: var(--white);
    background: var(--primary-red);
}

.footer-bottom {
    margin-top: 60px;
    padding: 30px 0;
    border-top: 1px solid #222;
}

.footer-bottom .footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-template-columns: none;
}

.footer-bottom p {
    color: #555;
    font-size: 0.85rem;
}

.footer-legal a {
    color: #555;
    margin-left: 20px;
    font-size: 0.85rem;
}

/* Liens légaux du pied de page (mentions légales, confidentialité, cookies). */
.dyna-legal-links{display:flex!important;margin-top:12px;gap:8px 18px;align-items:center;justify-content:center;flex-wrap:wrap}
.dyna-legal-links a{color:inherit!important;font-size:.72rem;text-decoration:underline;text-underline-offset:3px}
.footer-bottom .dyna-legal-links{margin-left:auto}
.legal-footer .dyna-legal-links{display:none!important}
.footer-legal,.dyna-legal-links{position:relative;z-index:20;pointer-events:auto!important}
.footer-legal a,.dyna-legal-links a{display:inline-flex;min-height:44px;padding:8px 4px;align-items:center;pointer-events:auto!important;touch-action:manipulation}
.sany-footer>.dyna-legal-links{margin:0;padding:18px 20px 24px;border-top:1px solid #222;color:#aaa;background:#000}
.sany-footer:has(.footer-legal)>.dyna-legal-links{display:none!important}

@media (max-width: 900px) {
    .footer-container {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 650px) {
    .footer-container {
        grid-template-columns: 1fr;
    }

    .footer-bottom .footer-container {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .region-tag {
        font-size: .63rem;
    }

    .sany-footer .footer-top {
        padding: 48px 0 30px;
    }

    .sany-footer .footer-section.links {
        display: none;
    }

    .sany-footer .footer-container {
        gap: 24px;
    }

    .footer-bottom .dyna-legal-links {
        width: 100%;
        margin-left: 0;
    }
}
