/* AFPM Vitrine 6.2 — modernisation, navigation et contact. Scope strict pour isoler le thème historique. */
:root {--av-accent:#f1aa52;--av-ease:cubic-bezier(.2,.8,.2,1)}
body.av-site {--afpm-shell:1360px;overflow-x:clip}
body.av-site a,body.av-site button { -webkit-tap-highlight-color:transparent }
body.av-site :focus-visible {outline:3px solid #d58931;outline-offset:4px}
/* En-tête desktop : compact, accessible, équilibré */
.av-topline__hours,.av-topline__contacts{display:flex;align-items:center;gap:11px}
.av-topline__hours{font-weight:550}
.av-topline__contacts{gap:20px;white-space:nowrap}
.av-topline__contacts>a{display:inline-flex;align-items:center;gap:6px}
.av-topline__contacts>span{opacity:.75}
.av-topline__hours-sep{opacity:.5}
body.av-site .av-header{background:rgba(255,255,255,.96);box-shadow:0 10px 25px rgba(21,35,44,.045)}
body.av-site .av-header__inner{height:88px;gap:20px}
body.av-site .av-logo img{width:170px;max-height:66px}
body.av-site .av-nav{gap:clamp(9px,1.1vw,18px);margin-left:auto;align-items:center}
body.av-site .av-nav>a,body.av-site .av-nav-parent{font-size:13px;font-weight:720;white-space:nowrap;color:#273b43;text-decoration:none;line-height:1.35}
body.av-site .av-nav>a{padding:15px 0}
body.av-site .av-nav>a:hover,body.av-site .av-nav>a.is-current,body.av-site .av-nav>a[aria-current],body.av-site .av-nav-group.is-current>.av-nav-parent{color:#ac7326}
.av-nav-group{position:relative;display:flex;align-items:center;gap:2px;flex-shrink:0}
.av-nav-parent{padding:15px 0;transition:color .2s}
.av-nav-expand{border:0;background:transparent;color:#596b70;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;width:21px;height:31px;border-radius:6px;margin-left:0}
.av-nav-expand:hover{color:#111e26;background:#edf1ee}
.av-nav-expand span{display:block;transform:translateY(-3px);transition:transform .2s}
.av-nav-group.is-expanded .av-nav-expand span,.av-nav-group:hover .av-nav-expand span{transform:translateY(-1px) rotate(180deg)}
.av-nav-menu{position:absolute;left:-22px;top:calc(100% + 4px);min-width:290px;max-width:min(460px,90vw);max-height:min(72vh,600px);overflow:auto;padding:19px;background:#fff;border:1px solid #e8ece8;border-radius:16px;box-shadow:0 20px 60px rgba(13,31,38,.17);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:151}
.av-nav-group:nth-of-type(2) .av-nav-menu{width:450px}
.av-nav-group:hover .av-nav-menu,.av-nav-group:focus-within .av-nav-menu,.av-nav-group.is-expanded .av-nav-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.av-nav-menu__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 6px 14px;border-bottom:1px solid #edf1ed;margin-bottom:8px}
.av-nav-menu__head small{font-size:10px;font-weight:800;letter-spacing:.11em;color:#bd873c}
.av-nav-menu__head strong{font-size:15px;color:#1c2e36}
.av-nav-menu__links{display:grid;gap:2px}
.av-nav-group:nth-of-type(2) .av-nav-menu__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px}
.av-nav-menu__links>a{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:12px;line-height:1.4;font-weight:660;padding:10px 8px;border-radius:7px;color:#415157;white-space:normal}
.av-nav-menu__links>a>span{color:#c99b56;flex-shrink:0}
.av-nav-menu__links>a:hover,.av-nav-menu__links>a[aria-current]{background:#f7f3eb;color:#1c3037}
.av-nav-menu__all{display:flex;justify-content:space-between;padding:15px 7px 0;border-top:1px solid #edf1ed;color:#986326;font-weight:800;font-size:12px;margin-top:10px}
.av-nav-menu__all:hover{color:#58390c}
.av-header__actions{gap:7px}
.av-header__quote{font-size:12px;padding:13px 16px;border-radius:10px}
.av-search-button{padding:8px;border-radius:8px}
/* Partenaires réels : logos présents dans les assets AFPM */
body.av-site .av-partners-section{background:linear-gradient(165deg,#f4f6f2 0%,#fff 95%);border-top:1px solid #e9eee8}
.av-partner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.av-partner-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:22px 15px 23px;background:#fff;border:1px solid #e5ebe7;border-radius:17px;text-decoration:none;min-width:0;transition:transform .3s var(--av-ease),box-shadow .3s,border-color .3s}
.av-partner-card:hover{transform:translateY(-6px);border-color:#f1d8b1;box-shadow:0 16px 38px rgba(21,39,41,.09)}
.av-partner-card__image{display:grid;place-items:center;width:100%;height:100px;padding:12px;margin-bottom:16px;background:#fff;border-radius:10px}
.av-partner-card__image img{max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain;filter:saturate(.95)}
.av-partner-card>strong{font-size:15px;font-weight:780;color:#1d333c;line-height:1.4}
.av-partner-card>p{margin:9px 0 0;color:#63747a;line-height:1.65;font-size:12px;flex:1}
.av-partner-card__link{font-weight:750;font-size:11px;color:#a56e29;margin-top:17px}
.av-partner-grid--details{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}
.av-partner-grid--details .av-partner-card{padding:28px}
.av-partner-grid--details .av-partner-card__image{height:110px}
.av-partner-grid--details .av-partner-card__image img{max-height:88px}
/* Contact : le h1 reste foncé sur un fond blanc, même si main.css force le texte blanc dans les anciens héros. */
body.av-site .av-contact-page{color:#1b3038;background:#fff;overflow:clip}
body.av-site .av-contact-hero{background:linear-gradient(114deg,#fff 0%,#fff 56%,#f4f5f2 100%);position:relative;border-bottom:1px solid #e8eee9}
body.av-site .av-contact-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(25px,4vw,65px);align-items:center;min-height:565px;padding-top:65px;padding-bottom:70px}
body.av-site .av-contact-hero__copy{padding:14px 0}
body.av-site .av-contact-hero .av-kicker{color:#bb7928;font-size:11px;letter-spacing:.15em;font-weight:850}
body.av-site .av-contact-hero h1{font-size:clamp(45px,4.75vw,74px)!important;line-height:1.06!important;font-weight:830!important;color:#162d37!important;letter-spacing:-.064em!important;margin:24px 0 24px!important;text-wrap:balance}
body.av-site .av-contact-hero h1 em{font-style:normal;color:#be812f!important;display:block}
body.av-site .av-contact-hero__copy>p{font-size:16px;line-height:1.85;color:#586b72;max-width:590px;margin:0}
.av-contact-hero__actions{display:flex;gap:13px;align-items:center;margin-top:33px;flex-wrap:wrap}
body.av-site .av-btn--outline{background:#fff;border:1px solid #d9e2db;color:#1d363e}
body.av-site .av-btn--outline:hover{background:#f8f5ee;border-color:#edc288}
.av-contact-mini{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:38px;color:#61757b;font-size:12px;font-weight:650}
.av-contact-mini__dot{width:8px;height:8px;border-radius:50%;background:#5cae84;box-shadow:0 0 0 5px #e9f6ed}
.av-contact-hero__visual{position:relative;min-width:0;min-height:360px;align-self:stretch}
.av-contact-hero__visual>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;border-radius:22px;box-shadow:0 25px 45px rgba(25,44,52,.1)}
.av-contact-hero__note{position:absolute;bottom:24px;left:-30px;right:25px;display:flex;gap:13px;align-items:center;background:rgba(255,255,255,.98);padding:18px 21px;border-radius:14px;box-shadow:0 15px 40px rgba(17,31,41,.15);max-width:340px}
.av-contact-hero__note-icon{background:#fff3dd;border-radius:12px;min-width:46px;height:46px;display:grid;place-items:center;color:#bf8130}
.av-contact-hero__note-icon .afpm-icon{width:23px;height:23px}
.av-contact-hero__note b,.av-contact-hero__note small{display:block}
.av-contact-hero__note b{font-size:12px;color:#233942;line-height:1.35}
.av-contact-hero__note small{font-size:11px;color:#6e7f85;margin-top:5px}
body.av-site .av-contact-info{padding:90px 0 95px;background:#f9faf7}
.av-contact-section-heading{max-width:700px;margin-bottom:30px}
.av-contact-section-heading .av-kicker,.av-contact-lower .av-kicker{color:#b98135}
.av-contact-section-heading h2,.av-contact-lower h2{font-size:clamp(34px,3.3vw,52px)!important;line-height:1.15;margin:13px 0 11px;color:#1a3139;letter-spacing:-.055em}
.av-contact-section-heading h2 em,.av-contact-lower h2 em{font-style:normal;color:#b78036}
.av-contact-section-heading p,.av-contact-lower__intro>p{font-size:15px;color:#607178;line-height:1.8}
.av-contact-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.av-contact-tile{background:#fff;border:1px solid #e3e9e4;border-radius:17px;padding:28px 23px;box-shadow:0 9px 25px rgba(31,49,53,.025);min-width:0}
.av-contact-tile__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#fdf2df;color:#af772e;margin-bottom:24px}
.av-contact-tile__icon .afpm-icon{width:23px;height:23px}
.av-contact-tile h3{color:#1b313b;font-size:18px;line-height:1.25;margin:0 0 21px;font-weight:800}
.av-contact-tile__links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.av-contact-tile__links a{font-size:13px;color:#284952;font-weight:680;overflow-wrap:anywhere;line-height:1.6}
.av-contact-tile__links a:hover{color:#a76f21;text-decoration:underline}
.av-contact-tile__links span{font-size:11px;color:#839296;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.av-contact-tile>small{display:block;margin-top:22px;color:#718087;font-size:12px}
.av-contact-tile--highlight{background:#1c343d;color:#f5f7f4;border-color:#1c343d}
.av-contact-tile--highlight h3,.av-contact-tile--highlight p{color:#f6f8f5}
.av-contact-tile--highlight .av-contact-tile__icon{background:rgba(244,177,89,.18);color:#ffca7e}
.av-contact-tile__hours{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:25px;font-size:12px}
.av-contact-tile__hours span{color:#c6d4d5}
.av-contact-tile__hours b{color:#ffce8b;font-size:12px;white-space:nowrap}
.av-contact-tile--highlight>p{font-size:11px;line-height:1.7;color:#dae2df;overflow-wrap:anywhere}
body.av-site .av-contact-lower{padding:100px 0;background:#fff}
.av-contact-lower__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,115px);align-items:start}
.av-contact-lower__intro{padding-top:20px}
.av-contact-lower__intro>p{max-width:490px;margin-top:17px}
.av-contact-steps{display:grid;gap:26px;margin:43px 0}
.av-contact-steps>div{display:flex;gap:17px;align-items:flex-start}
.av-contact-steps>div>span{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:12px;background:#fff2df;color:#a36b26;font-weight:850;font-size:13px}
.av-contact-steps p{font-size:13px;color:#63747a;line-height:1.65;margin:0}
.av-contact-steps strong{font-size:14px;color:#1d333b;display:block;margin-bottom:4px}
.av-contact-route{background:#f4f7f3;border:1px solid #e4ece5;padding:26px;border-radius:16px}
.av-contact-route h3{font-size:19px;margin:0 0 12px;color:#1b333b}
.av-contact-route p{line-height:1.7;color:#536b71;font-size:13px;margin:0 0 17px}
.av-contact-form-card{background:#fff;border:1px solid #e5ece6;padding:clamp(23px,3.4vw,47px);border-radius:21px;box-shadow:0 20px 60px rgba(23,45,52,.085)}
.av-contact-form-card>h2{font-size:32px!important;letter-spacing:-.04em;margin:8px 0}
.av-contact-form-card>p{color:#6b7c81;font-size:13px;margin:0 0 29px}
.av-contact-form{display:grid;gap:19px}
.av-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.av-contact-form label{display:flex;flex-direction:column;gap:9px;color:#344b53;font-size:12px;font-weight:750}
.av-contact-form input:not([type=checkbox]),.av-contact-form select,.av-contact-form textarea{width:100%;min-width:0;padding:14px 15px;font-size:14px;line-height:1.5;color:#1b353e;background:#f8faf8;border:1px solid #dce5df;border-radius:10px;font-family:inherit;outline:0;transition:border-color .2s,box-shadow .2s}
.av-contact-form textarea{resize:vertical;min-height:160px}
.av-contact-form input:focus,.av-contact-form select:focus,.av-contact-form textarea:focus{border-color:#c79550;box-shadow:0 0 0 4px rgba(244,177,89,.13);background:#fff}
.av-contact-form .av-contact-form__consent{display:flex;flex-direction:row;align-items:flex-start;gap:11px;font-weight:500;font-size:12px;line-height:1.65;color:#61757a}
.av-contact-form__consent input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:#ca923b}
.av-contact-form button[type=submit]{width:fit-content;max-width:100%;font-weight:850}
.av-contact-form>small{font-size:12px;color:#77888c;line-height:1.6}
.av-contact-form>small a{font-weight:700;text-decoration:underline;color:#976923}
.av-contact-alert{font-size:13px;padding:15px;margin-bottom:18px;border-radius:10px;line-height:1.65}
.av-contact-alert--success{border:1px solid #aad6bd;color:#135d34;background:#f0faf4}
.av-contact-alert--error{border:1px solid #edb5b5;color:#872e36;background:#fff4f4}
/* Pied de page harmonisé */
.av-footer-contact__label{font-size:10px!important;color:#ecc48d!important;letter-spacing:.09em;text-transform:uppercase;font-weight:850;margin:15px 0 5px!important}
.av-footer-contact .av-footer-contact__address{font-size:12px;line-height:1.8;margin-top:20px;color:#d1dbdc}
.av-footer-bottom a{text-decoration:underline;text-underline-offset:3px}
/* Autres rubriques : harmoniser contrastes sans compromettre les backgrounds sombres */
body.av-site .afpm-rich-page .afpm-rich-hero{background:#f6f7f4}
body.av-site .afpm-rich-page .afpm-rich-hero__copy h1{color:#20343e;line-height:1.14}
body.av-site .afpm-rich-page .afpm-rich-hero__copy p{color:#5a6e76}
body.av-site .afpm-rich-page .afpm-rich-card{border-radius:16px;transition:transform .3s,box-shadow .3s}
body.av-site .afpm-rich-page .afpm-rich-card:hover{transform:translateY(-4px);box-shadow:0 17px 40px rgba(28,44,48,.085)}
/* Breakpoints : menu hamburger volontairement plus tôt pour éviter l'encombrement. */
@media(max-width:1260px){body.av-site .av-header__inner{gap:14px}body.av-site .av-logo img{width:145px}body.av-site .av-nav{gap:9px}body.av-site .av-nav>a,body.av-site .av-nav-parent{font-size:12px}.av-header__quote{padding:12px;font-size:11px}}
@media(max-width:1140px){
 body.av-site .av-mobile-toggle{display:grid}
 body.av-site .av-header__inner{height:77px}
 body.av-site .av-logo img{width:158px}
 body.av-site .av-nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 110px);overflow:auto;padding:12px max(24px,calc((100vw - 950px)/2)) 20px;background:#fff;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 22px 40px rgba(11,32,38,.13)}
 body.av-site .av-nav.is-open{display:flex}
 body.av-site .av-nav>a{font-size:14px;padding:15px 8px;border-bottom:1px solid #eef0ef}
 .av-nav-group{display:grid;grid-template-columns:1fr 35px;align-items:center;border-bottom:1px solid #eef0ef}
 body.av-site .av-nav-parent{padding:15px 8px;font-size:14px}
 .av-nav-expand{width:35px;height:35px;background:#f4f6f2}
 .av-nav-group .av-nav-menu{display:none;position:static!important;grid-column:1/-1;min-width:0!important;max-width:100%!important;width:100%!important;max-height:none;padding:10px 12px 18px;border:0;border-radius:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .av-nav-group:hover .av-nav-menu,.av-nav-group:focus-within .av-nav-menu{display:none}
 .av-nav-group.is-expanded .av-nav-menu,.av-nav-group.is-expanded:hover .av-nav-menu{display:block}
 .av-nav-group:nth-of-type(2) .av-nav-menu__links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .av-topline__contacts>span{display:none}
 .av-contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .av-partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
 .av-topline__contacts>a:first-child{display:none}
 .av-topline__hours{font-size:10px}
 .av-contact-hero__grid{grid-template-columns:1fr!important;padding-block:55px!important;min-height:0!important;gap:36px!important}
 .av-contact-hero__visual{min-height:300px}
 .av-contact-hero__note{left:16px;bottom:14px}
 .av-contact-lower__grid{grid-template-columns:1fr;gap:32px}
 body.av-site .av-contact-lower{padding:67px 0}
 body.av-site .av-contact-info{padding:65px 0}
 .av-partner-grid--details{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .av-topline__inner{justify-content:center}
 .av-topline__contacts{display:none!important}
 .av-topline__hours{gap:7px;line-height:1.5;text-align:center}
 .av-topline__hours-sep{display:none}
 body.av-site .av-logo img{width:133px}
 .av-contact-cards{grid-template-columns:1fr}
 .av-contact-tile{padding:24px}
 body.av-site .av-contact-hero h1{font-size:clamp(42px,10.5vw,58px)!important}
 body.av-site .av-contact-hero__copy>p{font-size:14px}
 .av-contact-hero__actions{flex-direction:column;align-items:stretch}
 .av-contact-hero__actions .av-btn{width:100%}
 .av-contact-hero__visual{min-height:265px}
 .av-contact-form__row{grid-template-columns:1fr;gap:18px}
 .av-partner-grid,.av-partner-grid--details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .av-partner-card{padding:16px 8px;border-radius:12px}
 .av-partner-card__image{height:73px;padding:8px}
 .av-partner-card__image img{max-height:63px}
 .av-partner-card>strong{font-size:12px}
 .av-partner-card>p{font-size:11px}
 .av-nav-group:nth-of-type(2) .av-nav-menu__links{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.av-partner-card,.av-nav-menu,.av-nav-expand span,.av-contact-form input,.av-contact-form select,.av-contact-form textarea{transition:none!important}}
