/**
 * MSP FOOTER — Pied de page global (Divi Theme Builder)
 * -----------------------------------------------------
 */

/* === Variables locales === */
.et-db #page-container #et-boc footer.et-l .msp-footer {
    --msp-footer-accent:  var(--msp-red); 
    --msp-footer-texte:   var(--msp-white);
    --msp-footer-texte-2: #807D7D;                /* liens légaux */
    --msp-footer-filet:   #3D3C3C;
    --msp-footer-icone:   1.2em;
    --msp-footer-ecart:   1.75rem;                   /* écart mail / tél */
    --msp-footer-row-margin: 0 2% 0 auto;
    --msp-row-top: 68px 0 50px;
    --msp-row-bottom: 22px 0;
}

/* === Section : fond & décor === */

/* Image de fond (icon mecaspin grise) placer et positionner
    directement en fond de section sur le divi buider.

    background-repeat: no-repeat;
    background-position: left bottom
    background-size: auto 100% */
.et-db #page-container #et-boc footer.et-l .msp-footer.et_pb_section {     
    padding: 0;
}

/* Neutralisation des espacements internes Divi.
   :where() = spécificité nulle sur la partie ciblée → nos classes
   BEM reprennent la main sans surenchère. */
.et-db #page-container #et-boc footer.et-l .msp-footer :where(.et_pb_row) { 
    padding: 0; 
}
.et-db #page-container #et-boc footer.et-l .msp-footer :where(.et_pb_image) { 
    margin-bottom: 0; 
}
.et-db #page-container #et-boc footer.et-l .msp-footer :where(.et_pb_text_inner p) { 
    margin: 0; padding-bottom: 0; 
}

/* === Rangée principale === */
.et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__principal {
    display: flex;
    align-items: center;                       
    margin: var(--msp-footer-row-margin); 
    padding: var(--msp-row-top);
}

/* === Logo Mecaspin === */
.et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__principal .msp-footer__logo { 
    margin-bottom: 1.675rem; 
}

.et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__logo img {
    max-width: 325px;                            
    height: auto;
}

/* === Bloc contact === */
.et-db #page-container #et-boc footer.et-l .msp-footer__contact {
    color: var(--msp-footer-texte);
    font-size: 16px;
    line-height: 1.4;
    width: max-content;
}

.et-db #page-container #et-boc footer.et-l .msp-footer__contact a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease;
}

.et-db #page-container #et-boc footer.et-l .msp-footer__contact a:hover { 
    color: var(--msp-footer-accent); 
}

.et-db #page-container #et-boc footer.et-l .msp-footer__adresse {
    display: flex;
    align-items: center;
    gap: 14px;
    font-weight: bold;
    margin-bottom: 1.1rem;
    font-size: 1.125rem;
    line-height: 1.22em;
}

.et-db #page-container #et-boc footer.et-l .msp-footer__lignes {
    display: flex;
    align-items: center;
    gap: 14px var(--msp-footer-ecart);
}

.et-db #page-container #et-boc footer.et-l .msp-footer__mail,
.et-db #page-container #et-boc footer.et-l .msp-footer__tel {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 1.125rem;
    line-height: 1.33em;
}

/* Séparateur vertical entre mail et téléphone */
.et-db #page-container #et-boc footer.et-l .msp-footer__tel {
    border-left: 1px solid var(--msp-footer-filet);
    padding-left: var(--msp-footer-ecart);
}

/* === Icônes === */
.et-db #page-container #et-boc footer.et-l .msp-footer__adresse::before,
.et-db #page-container #et-boc footer.et-l .msp-footer__mail::before,
.et-db #page-container #et-boc footer.et-l .msp-footer__tel::before {
    font-family: 'ETmodules' !important;
    font-size: var(--msp-footer-icone);
    font-weight: 100;
    color: var(--msp-footer-accent);
}

.et-db #page-container #et-boc footer.et-l .msp-footer__adresse::before {
    content: '\e01d';
}

.et-db #page-container #et-boc footer.et-l .msp-footer__mail::before {
    content: '\e010';
}

.et-db #page-container #et-boc footer.et-l .msp-footer__tel::before {
    content: '\e090';
}

/* === Logo La French Fab === */
.et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__ffab img {
    max-width: 96px;
    height: auto;
}

/* === Rangée basse : filet + liens légaux === */
.et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__bas {
    border-top: 1px solid var(--msp-footer-filet);
    margin-top: 52px;
    padding-top: 26px;
    margin: var(--msp-footer-row-margin); 
    padding: var(--msp-row-bottom);
}

.et-db #page-container #et-boc footer.et-l .msp-footer__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 44px;
}

.et-db #page-container #et-boc footer.et-l .msp-footer__nav a {
    color: var(--msp-footer-texte-2) !important;
    font-size: 0.875rem;
    text-decoration: none;
    transition: color .2s ease;
    line-height: 1.64em;
}

.et-db #page-container #et-boc footer.et-l .msp-footer__nav a:hover { 
    color: var(--msp-footer-texte); 
}

.et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__ffab{
    display: grid;
    place-items: center;
}


/* === Accessibilité === */
.et-db #page-container #et-boc footer.et-l .msp-footer a:focus-visible {
    outline: 2px solid var(--msp-footer-accent);
    outline-offset: 3px;
}

/* === Responsive === */
@media (max-width: 980px) {
    .et-db #page-container #et-boc footer.et-l .msp-footer :is(.msp-footer__principal, .msp-footer__bas) {
        --msp-footer-row-margin: 0 auto;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__principal {
        align-items: flex-start;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__ffab {
        place-items: end;
    }
}

@media (max-width: 750px) {
    .et-db #page-container #et-boc footer.et-l .msp-footer__lignes {
        display: block;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer__tel {
        border-left: none;
        padding-left: 0;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer__mail{
        margin-bottom: 1.1rem;
    }
}

@media (max-width: 640px) {
    .et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__principal{
        flex-direction: column;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer__lignes {
        flex-direction: column;
        align-items: flex-start;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer__tel {
        border-left: 0;
        padding-left: 0;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__ffab{
        place-items: start;
    }
}

@media (max-width: 540px){
    .et-db #page-container #et-boc footer.et-l .msp-footer__contact{
        width: auto;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__logo img {
        max-width: 230px;
    }
    .et-db #page-container #et-boc footer.et-l .msp-footer .msp-footer__ffab img {
        max-width: 60px;
    }
}

@media(max-width: 320px){
    .et-db #page-container #et-boc footer.et-l .msp-footer__adresse, 
    .et-db #page-container #et-boc footer.et-l .msp-footer__mail, 
    .et-db #page-container #et-boc footer.et-l .msp-footer__tel {
        font-size: 1rem;
    }
}