/* Reference client du 15 octobre 2026 : images d'origine, proportions conservees. */
header.epv-site-header {
    font-size: 0.90311987vw;
    line-height: 1.35;
    min-height: 0;
}
header.epv-site-header .epv-header-canvas { position: relative; height: 21.34646962vw; width: 100%; }
header.epv-site-header a { color: #fff; }
header.epv-site-header .epv-header-canvas img { display: block; height: auto; max-width: none; }
header.epv-site-header .epv-header-brand h1 { margin: 0; padding: 0; }
header.epv-site-header .epv-header-brand img,
header.epv-site-header .epv-anniversary img { width: 100%; }
header.epv-site-header .epv-phone-social { position: absolute; left: 51.47783251%; top: 1.88834154vw; display: flex; align-items: center; gap: 2.62725780vw; margin: 0; }
header.epv-site-header .epv-phone { display: flex; align-items: flex-start; width: 9.03119869vw; gap: 0.16420361vw; margin: 0; }
header.epv-site-header .epv-phone p { margin: 0; }
header.epv-site-header .epv-phone .headimg { flex: 0 0 2.38095238vw; }
header.epv-site-header .epv-phone img { width: 2.38095238vw; }
header.epv-site-header .epv-phone a { white-space: nowrap; }
header.epv-site-header .social-container { display: flex; gap: 1.23152709vw; margin: 0; }
header.epv-site-header .social-container > a { display: block; margin: 0; }
header.epv-site-header .social-container > a > img { width: 2.62725780vw; border-radius: 0.57471264vw; }
header.epv-site-header .epv-header-hours { position: absolute; left: 51.47783251%; top: 6.56814450vw; width: 22.98850575vw; margin: 0; }
header.epv-site-header .epv-header-hours > div { display: flex; }
header.epv-site-header .epv-header-hours p { margin: 0; }
header.epv-site-header .epv-header-hours .headimg { flex: 0 0 3.20197044vw; height: auto !important; margin: 0; }
header.epv-site-header .epv-header-hours .headimg img { width: 2.54515599vw !important; margin-right: 0.65681445vw !important; }
header.epv-site-header .epv-header-hours p:not(.headimg) { flex: 1; min-width: 0; }
header.epv-site-header .epv-header-hours span[style*="font-size"] { font-size: .88em !important; }
header.epv-site-header .epv-header-hours span[style*="background-color"] { padding: 0.57471264vw !important; margin: 0.32840722vw 0 !important; border-radius: 0.49261084vw !important; }
header.epv-site-header .epv-header-address { position: absolute; left: 76.43678161%; top: 1.88834154vw; width: 22.66009852vw; display: flex; align-items: flex-start; margin: 0; }
header.epv-site-header .epv-header-address p { margin: 0; }
header.epv-site-header .epv-header-address .headimg { flex: 0 0 2.38095238vw; width: 2.38095238vw; float: none; margin: 0; }
header.epv-site-header .epv-header-address p:not(.headimg) { flex: 1; min-width: 0; }
header.epv-site-header .epv-header-address > br { display: none; }
header.epv-site-header .epv-header-address img { width: 2.38095238vw; }
header.epv-site-header .epv-header-certifications { position: absolute; left: 76.76518883%; top: 8.78489327vw; display: flex; align-items: flex-start; gap: 0.73891626vw; margin: 0; }
header.epv-site-header .epv-logo-header { width: 11.41215107vw; flex: none; margin: -0.98522167vw 0 0; }
header.epv-site-header .epv-origine-france { width: 10.18062397vw; flex: none; margin: 0; }
header.epv-site-header .epv-header-menu { width: 75%; margin: 0 0 0 25%; }
header.epv-site-header .langue { padding: 0.24630542vw; border-radius: 0.41050903vw; }
header.epv-site-header .langue a.langen,
header.epv-site-header .langue a.langfr { background-size: 1.55993432vw auto; padding-left: 1.97044335vw; }
header.epv-site-header .epv-header-brand {
    position: absolute;
    left: 2.95566502%;
    top: -0.16420361vw;
    width: 19.12972085vw;
    height: auto;
    margin: 0;
}
header.epv-site-header .epv-logo-nf {
    position: absolute;
    left: 7.06075534%;
    top: 15.27093596vw;
    width: 11.98686371vw;
    height: auto;
    margin: 0;
}
header.epv-site-header .epv-anniversary {
    position: absolute;
    left: 31.44499179%;
    top: 1.88834154vw;
    width: 13.87520525vw;
    height: auto;
    margin: 0;
}

footer.epv-site-footer {
    position: relative;
    color: #fff;
    padding: 0;
    min-height: 38.53135314vw;
    font-size: 0.90759076vw;
    line-height: 1.4;
    background-image: url('/template/images/bg_footer.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
footer.epv-site-footer img { display: block; max-width: none; height: auto; }
footer.epv-site-footer h4 { font-size: 1.48514851vw; line-height: 1.1; margin: 0 0 0.57755776vw; }
footer.epv-site-footer .epv-footer-sitemap { position: relative; width: 34%; margin: 0 0 0 25.24752475%; padding: 1.32013201vw 0 1.32013201vw; }
footer.epv-site-footer .epv-footer-sitemap .arbofooter { line-height: 1.78217822vw; }
footer.epv-site-footer .epv-footer-contacts { position: absolute; left: 59.07590759%; top: 1.32013201vw; width: 25%; margin: 0; }
footer.epv-site-footer .epv-footer-contacts > br { display: none; }
footer.epv-site-footer .epv-footer-contacts p { margin: 0; }
footer.epv-site-footer .epv-footer-contacts .pictoadresse { min-height: 3.30033003vw; padding-left: 2.22772277vw; margin-bottom: 1.23762376vw; background-size: 1.48514851vw auto; background-position: left top; }
footer.epv-site-footer .epv-footer-badge { position: absolute; left: 43.72937294%; top: 9.07590759vw; width: 15.67656766vw; height: 15.67656766vw; margin: 0; background: #fff; border-radius: 50%; }
footer.epv-site-footer .epv-footer-badge > img { position: absolute; left: -7.89473684%; top: -7.89473684%; width: 116.84210526%; max-width: none; height: auto; margin: 0; padding: 0; background: transparent; border-radius: 0; }
footer.epv-site-footer .epv-footer-brand-logo {
    position: absolute;
    left: 1.81518152%;
    top: 0.57755776vw;
    width: 19.71947195vw;
    height: auto;
    margin: 0;
}
footer.epv-site-footer .epv-footer-nf {
    position: absolute;
    left: 2.88778878%;
    top: 18.64686469vw;
    width: 19.05940594vw;
    height: auto;
    margin: 0;
}
footer.epv-site-footer .epv-footer-ofg {
    position: absolute;
    left: 82.34323432%;
    top: 2.22772277vw;
    width: 16.17161716vw;
    height: auto;
    margin: 0;
}
footer.epv-site-footer .epv-footer-life {
    position: absolute;
    left: 56.10561056%;
    top: 23.59735974vw;
    width: 15.26402640vw;
    height: auto;
    margin: 0;
}
footer.epv-site-footer .epv-footer-natural {
    position: absolute;
    left: 72.60726073%;
    top: 19.71947195vw;
    width: 18.31683168vw;
    height: auto;
    margin: 0;
}

/* Sous 1100 px, les blocs reprennent leur place dans le flux et restent lisibles. */
@media (max-width: 1099px) {
    header.epv-site-header { font-size: 16px; line-height: 1.45; }
    header.epv-site-header .epv-header-canvas { display: flex; flex-direction: column; align-items: center; gap: 24px; height: auto; padding: 28px 18px; }
    header.epv-site-header .epv-header-brand,
    header.epv-site-header .epv-logo-nf,
    header.epv-site-header .epv-anniversary,
    header.epv-site-header .epv-phone-social,
    header.epv-site-header .epv-header-hours,
    header.epv-site-header .epv-header-address,
    header.epv-site-header .epv-header-certifications { position: static; top: auto; left: auto; margin: 0 auto; }
    header.epv-site-header .epv-header-brand { grid-row: 1; width: 280px; max-width: 100%; }
    header.epv-site-header .epv-logo-nf { grid-row: 2; width: 200px; }
    header.epv-site-header .epv-anniversary { grid-row: 3; width: 200px; }
    header.epv-site-header .epv-phone-social { grid-row: 4; width: 100%; justify-content: center; flex-wrap: wrap; gap: 20px; }
    header.epv-site-header .epv-phone { width: auto; gap: 6px; }
    header.epv-site-header .epv-phone .headimg { flex-basis: 36px; }
    header.epv-site-header .epv-phone img { width: 36px; }
    header.epv-site-header .social-container { gap: 12px; }
    header.epv-site-header .social-container > a > img { width: 36px; border-radius: 7px; }
    header.epv-site-header .epv-header-hours { grid-row: 5; width: 100%; max-width: 430px; }
    header.epv-site-header .epv-header-hours .headimg { flex-basis: 44px; }
    header.epv-site-header .epv-header-hours .headimg img { width: 36px !important; margin-right: 8px !important; }
    header.epv-site-header .epv-header-hours span[style*="background-color"] { padding: 10px !important; margin: 5px 0 !important; border-radius: 8px !important; }
    header.epv-site-header .epv-header-address { grid-row: 6; width: 100%; max-width: 430px; }
    header.epv-site-header .epv-header-address .headimg { width: 36px; flex-basis: 36px; }
    header.epv-site-header .epv-header-address img { width: 36px; }
    header.epv-site-header .epv-header-certifications { grid-row: 7; width: auto; gap: 24px; }
    header.epv-site-header .epv-logo-header { width: 161.53171348px; margin-top: -9.84222248px; }
    header.epv-site-header .epv-origine-france { width: 155px; }
    header.epv-site-header .epv-header-menu { width: 100%; margin: 0; }
    header.epv-site-header .langue { padding: 3px; font-size: 13px; border-radius: 5px; }
    header.epv-site-header .langue a.langen,
    header.epv-site-header .langue a.langfr { padding-left: 24px; background-size: 19px auto; }
    footer.epv-site-footer { display: flex; flex-direction: column; gap: 28px; min-height: 0; padding: 28px 20px; font-size: 15px; line-height: 1.55; }
    footer.epv-site-footer .epv-footer-brand { display: flex; flex-direction: column; align-items: center; gap: 24px; margin: 0; }
    footer.epv-site-footer .epv-footer-brand-logo,
    footer.epv-site-footer .epv-footer-nf,
    footer.epv-site-footer .epv-footer-contacts,
    footer.epv-site-footer .epv-footer-sitemap,
    footer.epv-site-footer .epv-footer-badge,
    footer.epv-site-footer .epv-footer-ofg,
    footer.epv-site-footer .epv-footer-life,
    footer.epv-site-footer .epv-footer-natural { position: relative; top: auto; left: auto; margin: 0 auto; }
    footer.epv-site-footer .epv-footer-brand-logo { width: 240px; max-width: 100%; }
    footer.epv-site-footer .epv-footer-nf { width: 230px; max-width: 100%; }
    footer.epv-site-footer h4 { font-size: 24px; margin-bottom: 12px; }
    footer.epv-site-footer .epv-footer-sitemap,
    footer.epv-site-footer .epv-footer-contacts { width: 100%; max-width: 500px; padding: 0; }
    footer.epv-site-footer .epv-footer-sitemap .arbofooter { line-height: 1.8; }
    footer.epv-site-footer .epv-footer-contacts .pictoadresse { min-height: 40px; padding-left: 30px; margin-bottom: 15px; background-size: 20px auto; }
    footer.epv-site-footer .epv-footer-badge { width: 240px; height: 240px; }
    footer.epv-site-footer .epv-footer-ofg { width: 240px; }
    footer.epv-site-footer .epv-footer-life { width: 230px; }
    footer.epv-site-footer .epv-footer-natural { width: 260px; max-width: 100%; }
}
@media (max-width: 379px) {
    header.epv-site-header .epv-header-certifications { gap: 12px; }
    header.epv-site-header .epv-logo-header { width: 135.47821131px; margin-top: -8.25476724px; }
    header.epv-site-header .epv-origine-france { width: 130px; }
    header.epv-site-header .epv-phone-social { gap: 12px; }
    header.epv-site-header .social-container > a > img { width: 32px; }
}
