/* Concept : showroom à facettes — photos plein cadre découpées par les triangles hexagonaux du logo */
:root{
  --ink:#0E1B33;        /* bleu nuit (bandeau EBOMAF) */
  --ink-2:#172846;
  --blue:#1678C2;       /* bleu BONKOUNGOU */
  --sky:#5BB4E8;
  --sun:#F2B91C;        /* jaune facette */
  --sand:#F6F3EC;       /* fond chaud latérite très clair */
  --paper:#FFFFFF;
  --line:#E3E1DA;
  --mute:#5E6878;
  --display:'Archivo',Impact,'Arial Narrow',sans-serif;
  --body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--sand);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3,h4{font-family:var(--display);font-stretch:112%;line-height:1.02;margin:0;text-wrap:balance;letter-spacing:-.01em}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:10px;height:10px;background:var(--sun);clip-path:polygon(0 0,100% 50%,0 100%)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;font-weight:600;border:0;cursor:pointer;transition:transform .2s, background .2s;font-size:15px}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn-blue{background:var(--blue);color:#fff}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.arrow{width:18px;height:18px}

/* ---------- En-tête ---------- */
.topbar{background:var(--ink);color:#C8D3E6;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:9px;flex-wrap:wrap}
.topbar b{color:#fff;font-weight:600}
.topbar .flags{display:flex;gap:18px}
header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px}
.logo img{height:52px;width:auto}
.menu{display:flex;gap:4px}
.menu a{padding:10px 11px;font-weight:600;font-size:14.5px;white-space:nowrap;color:var(--mute);position:relative}
.menu a:hover,.menu a.on{color:var(--ink)}
.menu a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;background:var(--sun)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

/* ---------- Pages ---------- */
main{animation:rise .5s ease both}
@keyframes rise{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- Hero accueil ---------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,27,51,.96) 0%,rgba(14,27,51,.82) 38%,rgba(14,27,51,.15) 75%)}
.facets{position:absolute;right:0;top:0;bottom:0;width:46%;pointer-events:none}
.facets i{position:absolute;inset:0;display:block;mix-blend-mode:multiply}
.facets .f1{background:var(--blue);clip-path:polygon(100% 0,100% 38%,62% 0);opacity:.9}
.facets .f2{background:var(--sun);clip-path:polygon(100% 62%,100% 100%,70% 100%);opacity:.95;mix-blend-mode:normal}
.facets .f3{background:var(--sky);clip-path:polygon(100% 38%,100% 62%,82% 50%);opacity:.8}
.hero .wrap{position:relative;padding-block:96px 150px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px}
.hero h1{font-size:clamp(44px,7vw,92px);font-weight:900;font-stretch:118%;text-transform:uppercase;letter-spacing:-.02em}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero p.lead{font-size:19px;color:#D3DCEA;max-width:52ch;margin:24px 0 32px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero .eyebrow{color:var(--sky);margin-bottom:22px}
.trust{display:flex;gap:28px;margin-top:44px;flex-wrap:wrap;font-size:14px;color:#B9C6DB}
.trust b{display:block;font-family:var(--display);font-size:30px;color:#fff;font-stretch:100%}

/* Recherche flottante */
.finder{position:relative;margin-top:-82px;z-index:5}
.finder .box{background:var(--paper);box-shadow:0 30px 60px -30px rgba(14,27,51,.45);display:grid;grid-template-columns:auto 1fr}
.finder .tabs{display:flex;flex-direction:column;background:var(--ink-2)}
.finder .tabs button{all:unset;cursor:pointer;color:#AFC0DA;padding:14px 22px;font-size:14px;font-weight:600;border-left:3px solid transparent}
.finder .tabs button.on{color:#fff;border-left-color:var(--sun);background:rgba(255,255,255,.06)}
.finder form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;padding:26px;align-items:end}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.field select,.field input,.field textarea{width:100%;padding:13px 12px;border:1.5px solid var(--line);background:#FBFAF7;color:var(--ink);border-radius:0}
.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--blue);outline:none}

/* Sections */
section.block{padding-block:110px}
.head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px;flex-wrap:wrap}
.head h2{font-size:clamp(34px,4.6vw,58px);font-weight:800;margin-top:14px}
.head p{max-width:46ch;color:var(--mute);margin:0}

/* Univers en accordéon photo */
.universes{display:flex;gap:10px;height:520px}
.uni{position:relative;flex:1;overflow:hidden;transition:flex .6s cubic-bezier(.2,.8,.2,1);cursor:pointer;color:#fff;min-width:0}
.uni:hover,.uni.open{flex:2.6}
.uni img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.uni:hover img{transform:scale(1.05)}
.uni::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,51,0) 35%,rgba(14,27,51,.92))}
.uni .in{position:absolute;left:0;right:0;bottom:0;padding:28px;z-index:2}
.uni .num{font-family:var(--mono);font-size:12px;color:var(--sun);letter-spacing:.1em}
.uni h3{font-size:28px;margin:8px 0;white-space:nowrap}
.uni p{margin:0 0 16px;color:#D6DEEA;max-width:34ch;opacity:0;transform:translateY(10px);transition:.4s;font-size:15px}
.uni:hover p,.uni.open p{opacity:1;transform:none}
.uni .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--sun);font-size:14px}
.uni .tag{position:absolute;top:22px;left:22px;z-index:2;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);padding:6px 12px;font-size:12px;font-weight:600}

/* Cartes véhicules */
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.car{background:var(--paper);display:flex;flex-direction:column;transition:transform .3s, box-shadow .3s;cursor:pointer}
.car:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(14,27,51,.4)}
.car .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dfe4ea}
.car .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.car:hover .ph img{transform:scale(1.06)}
.badge{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;background:var(--sun);color:var(--ink);font-weight:500}
.badge.b{background:var(--blue);color:#fff}
.badge.k{background:var(--ink);color:#fff}
.car .bd{padding:22px 22px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.car h3{font-size:21px;font-stretch:100%;font-weight:700}
.specs{display:flex;gap:8px;flex-wrap:wrap}
.specs span{font-size:12.5px;padding:5px 9px;background:var(--sand);color:var(--mute);font-weight:500}
.car .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--line)}
.car .price{font-family:var(--display);font-weight:800;font-size:18px;font-stretch:100%}
.car .price small{display:block;font-family:var(--body);font-size:12px;color:var(--mute);font-weight:500}
.car .cta{width:44px;height:44px;display:grid;place-items:center;background:var(--ink);color:#fff;transition:background .2s}
.car:hover .cta{background:var(--blue)}

/* Bandeau chiffres sur photo */
.numbers{position:relative;color:#fff;overflow:hidden}
.numbers>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.numbers::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,120,194,.95),rgba(14,27,51,.92) 60%)}
.numbers .wrap{position:relative;padding-block:90px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:60px;align-items:center}
.numbers h2{font-size:clamp(32px,4vw,50px)}
.numbers .eyebrow{color:var(--sun)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.stat{padding:26px 28px;border-left:1px solid rgba(255,255,255,.22)}
.stat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.22)}
.stat b{font-family:var(--display);font-size:clamp(44px,5.5vw,70px);font-weight:900;font-stretch:100%;display:block;line-height:1;font-variant-numeric:tabular-nums}
.stat span{color:#CFE0F2;font-size:15px}

/* Étapes */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
.step{padding:30px 26px 10px 0}
.step+.step{padding-left:26px;border-left:1px solid var(--line)}
.step .n{font-family:var(--mono);font-size:13px;color:var(--blue)}
.step h4{font-size:22px;font-stretch:100%;margin:12px 0 10px}
.step p{color:var(--mute);margin:0;font-size:15px}

/* Split showroom */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:560px}
.split .img{position:relative;overflow:hidden}
.split .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .txt{background:var(--ink);color:#fff;padding:80px max(20px,6vw);display:flex;flex-direction:column;justify-content:center;gap:22px}
.split .txt h2{font-size:clamp(32px,3.8vw,48px)}
.split .txt p{color:#C3CFE2;margin:0;max-width:46ch}
.checks{list-style:none;padding:0;margin:4px 0 10px;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;color:#E4EAF3}
.checks li::before{content:"";flex:none;margin-top:7px;width:12px;height:12px;background:var(--sun);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}

/* Pays */
.countries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.country{position:relative;min-height:340px;overflow:hidden;color:#fff;display:flex;align-items:flex-end}
.country img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.country::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,27,51,.95),rgba(14,27,51,.1) 70%)}
.country .in{position:relative;z-index:2;padding:32px;width:100%;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.country h3{font-size:36px}
.country p{margin:6px 0 0;color:#CCD7E7;font-size:15px}
.country .tel{font-family:var(--mono);font-size:15px;background:var(--sun);color:var(--ink);padding:10px 14px;user-select:all}

/* Actualités */
.news{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:26px}
.post{background:var(--paper);display:flex;flex-direction:column}
.post .ph{aspect-ratio:16/10;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post:hover .ph img{transform:scale(1.05)}
.post .bd{padding:22px;display:flex;flex-direction:column;gap:10px}
.post time{font-family:var(--mono);font-size:12px;color:var(--blue);letter-spacing:.06em}
.post h3{font-size:21px;font-stretch:100%}
.post p{margin:0;color:var(--mute);font-size:15px}
.post.big .ph{aspect-ratio:16/11}
.post.big h3{font-size:27px}

/* CTA final */
.cta-band{background:var(--sun);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-60px;top:-60px;width:380px;height:380px;background:var(--ink);opacity:.08;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.cta-band .wrap{padding-block:64px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;z-index:1}
.cta-band h2{font-size:clamp(28px,3.6vw,44px);max-width:20ch}

/* Pied */
footer{background:var(--ink);color:#B7C4D8;font-size:14.5px}
footer .wrap{padding-block:70px 30px}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px}
footer h4{color:#fff;font-family:var(--body);font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
footer a:hover{color:var(--sun)}
.flogo{background:#fff;display:inline-block;padding:10px 14px;margin-bottom:18px}
.flogo img{height:44px}
.news-in{display:flex;margin-top:14px}
.news-in input{flex:1;min-width:0;padding:13px;background:var(--ink-2);border:1px solid #2A3D60;color:#fff}
.legal{margin-top:50px;padding-top:24px;border-top:1px solid #253656;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}

/* ---------- Bandeau de page intérieure ---------- */
.pbanner{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.pbanner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.pbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,27,51,.95),rgba(14,27,51,.3))}
.pbanner .wrap{position:relative;z-index:2;padding-block:90px 70px}
.pbanner h1{font-size:clamp(40px,6vw,76px);font-weight:900;text-transform:uppercase;margin-top:16px}
.pbanner p{color:#D0DAE9;max-width:56ch;font-size:18px;margin:18px 0 0}
.crumb{font-family:var(--mono);font-size:12px;color:#9FB2CF;letter-spacing:.06em}
.crumb a{color:var(--sun)}

/* Catalogue */
.catalog{display:grid;grid-template-columns:270px minmax(0,1fr);gap:40px;align-items:start}
.filters{background:var(--paper);padding:26px;position:sticky;top:96px;display:grid;gap:22px}
.filters h4{font-family:var(--body);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--line);background:#fff;padding:8px 12px;font-size:14px;cursor:pointer;font-weight:500}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px;flex-wrap:wrap}
.bar b{font-family:var(--display);font-size:22px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}

/* Fiche produit */
.product{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:50px;align-items:start}
.gallery .main{aspect-ratio:16/11;overflow:hidden;background:#dde3ea}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.thumbs img{aspect-ratio:4/3;object-fit:cover;cursor:pointer;opacity:.6;transition:opacity .2s;width:100%}
.thumbs img.on,.thumbs img:hover{opacity:1;outline:3px solid var(--sun)}
.pinfo h1{font-size:clamp(32px,3.6vw,46px);margin:14px 0}
.ptable{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.ptable td{padding:12px 0;border-bottom:1px solid var(--line)}
.ptable td:first-child{color:var(--mute);width:45%}
.ptable td:last-child{font-weight:600;text-align:right}
.pbox{background:var(--paper);padding:26px;display:grid;gap:14px}
.pbox .price{font-family:var(--display);font-size:30px;font-weight:800}

/* Pièces */
.parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.part{background:var(--paper);overflow:hidden;cursor:pointer;transition:transform .3s}
.part:hover{transform:translateY(-4px)}
.part .ph{aspect-ratio:1;overflow:hidden}
.part .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.part:hover .ph img{transform:scale(1.08)}
.part .bd{padding:16px 18px}
.part h4{font-size:17px;font-stretch:100%;margin-bottom:4px}
.part span{font-size:13px;color:var(--mute)}
.ref-search{background:var(--ink);color:#fff;padding:36px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;margin-bottom:40px}
.ref-search h3{font-size:26px}
.ref-search form{display:flex;gap:0;min-width:0}
.ref-search input{padding:15px;border:0;min-width:0;width:340px;max-width:100%}

/* Groupes électrogènes */
.kva{width:100%;border-collapse:collapse;background:var(--paper);font-size:15px}
.kva th{background:var(--ink);color:#fff;text-align:left;padding:16px 18px;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.kva td{padding:16px 18px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.kva tr:hover td{background:#FBF6E6}
.kva .usage{color:var(--mute)}
.scroll{overflow-x:auto}

/* Contact */
.contact{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:start}
.form{background:var(--paper);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .full{grid-column:1/-1}
.toast{grid-column:1/-1;background:#E7F3EC;color:#1D6B3F;padding:14px;font-weight:600}
.agency{background:var(--paper);padding:28px;display:grid;gap:8px}
.agency+.agency{margin-top:20px}
.agency h3{font-size:24px}
.agency .mono{font-family:var(--mono);font-size:14px;user-select:all}

/* À propos */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.collage{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.collage img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.collage img:first-child{grid-row:span 2;aspect-ratio:auto}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.value{background:var(--paper);padding:30px}
.value h4{font-size:22px;font-stretch:100%;margin:14px 0 8px}
.value p{margin:0;color:var(--mute)}
.hex{width:44px;height:44px;background:var(--blue);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}
.hex.y{background:var(--sun)}.hex.s{background:var(--sky)}
.partners{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.partners span{padding:16px 22px;border:1.5px solid var(--ink);font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.04em}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .menu{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;padding:12px 20px 20px;border-bottom:1px solid var(--line)}
  .menu.open{display:flex}
  .burger{display:block}
  header .btn{display:none}
  .hero .wrap{grid-template-columns:1fr}
  .finder .box{grid-template-columns:1fr}
  .finder .tabs{flex-direction:row;overflow-x:auto}
  .finder .tabs button{border-left:0;border-bottom:3px solid transparent;white-space:nowrap}
  .finder .tabs button.on{border-bottom-color:var(--sun)}
  .finder form{grid-template-columns:1fr 1fr}
  .universes{flex-direction:column;height:auto}
  .uni{min-height:260px;flex:none}
  .uni p{opacity:1;transform:none}
  .grid3,.news{grid-template-columns:1fr 1fr}
  .numbers .wrap,.split,.about,.product,.contact,.catalog{grid-template-columns:1fr}
  .split .img{min-height:320px}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(3){padding-left:0;border-left:0}
  .fgrid{grid-template-columns:1fr 1fr}
  .parts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filters{position:static}
  .values{grid-template-columns:1fr}
  .ref-search{grid-template-columns:1fr}
}
@media (max-width:640px){
  .topbar .flags{display:none}
  .hero .wrap{padding-block:64px 130px}
  .facets{width:80%;opacity:.6}
  .finder form{grid-template-columns:1fr}
  .grid3,.grid2,.news,.countries,.steps,.fgrid{grid-template-columns:1fr}
  .step+.step{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .parts{grid-template-columns:1fr 1fr}
  .form{grid-template-columns:1fr;padding:24px}
  section.block{padding-block:70px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:18px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ---------- Ajouts site dynamique ---------- */
.flash{padding:14px 18px;font-weight:600;margin-bottom:22px}
.flash.success{background:#E7F3EC;color:#1D6B3F}
.flash.error{background:#FBE9E7;color:#9B2C1F}
.flash-bar{position:relative;z-index:40}
.flash-bar .flash{margin:0}
.err{color:#9B2C1F;font-size:13px;margin-top:6px;display:block}
.field.has-err input,.field.has-err select,.field.has-err textarea{border-color:#C0392B}
.pager{display:flex;gap:8px;margin-top:36px;flex-wrap:wrap}
.pager a,.pager span{min-width:42px;height:42px;display:grid;place-items:center;background:var(--paper);font-weight:600;padding:0 12px}
.pager span.on{background:var(--ink);color:#fff}
.empty{background:var(--paper);padding:40px;text-align:center;color:var(--mute)}
.empty h3{color:var(--ink);font-size:22px;font-stretch:100%;margin-bottom:8px}
.filters form{display:grid;gap:22px}
.chip{display:inline-block}
.article{max-width:760px;margin:0 auto}
.article .cover{aspect-ratio:16/9;overflow:hidden;margin:30px 0}
.article .cover img{width:100%;height:100%;object-fit:cover}
.article .body{font-size:18px;line-height:1.75}
.article .body p{margin:0 0 1.2em}
.status-pill{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;background:#FFF1C9;color:#7A5A00}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.news-in .btn{padding:13px 16px}
.related{margin-top:90px}

/* Bouton WhatsApp flottant */
.wa-float{position:fixed;right:max(18px,calc(env(safe-area-inset-right,0px) + 12px));bottom:max(18px,calc(env(safe-area-inset-bottom,0px) + 12px));z-index:60;display:inline-flex;align-items:center;gap:10px;background:#1FA855;color:#fff;padding:12px 18px 12px 14px;border-radius:40px;font-weight:700;box-shadow:0 12px 30px -10px rgba(14,27,51,.55);transition:transform .2s}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:26px;height:26px}
@media (max-width:640px){.wa-float span{display:none}.wa-float{padding:14px;border-radius:50%}}
.btn-wa{background:#1FA855;color:#fff;justify-content:center}

/* Pages légales */
.legal-doc{max-width:780px}
.legal-doc h2{font-size:24px;font-stretch:100%;margin:36px 0 10px}
.legal-doc h2:first-child{margin-top:0}
.legal-doc p,.legal-doc li{color:#2B3A55;font-size:16.5px;line-height:1.75}
.legal-doc ul{padding-left:20px;display:grid;gap:8px}
.legal-doc a{color:var(--blue);text-decoration:underline}
.todo{background:#FFF1C9;color:#7A5A00;padding:1px 6px;font-size:14px}

/* Consentement du formulaire */
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--mute);cursor:pointer}
.consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--blue)}
.consent a{color:var(--blue);text-decoration:underline}

/* Sélecteur de langue */
.langs{display:inline-flex;gap:2px;margin-right:6px}
.langs a{padding:1px 7px;color:#C8D3E6;font-weight:600;font-size:12px;letter-spacing:.06em}
.langs a.on{background:var(--sun);color:var(--ink)}
.langs a:hover{color:#fff}
.menu .menu-lang{display:none}
@media (max-width:1100px){.menu .menu-lang{display:block;border-top:1px solid var(--line);margin-top:6px;padding-top:14px;color:var(--blue)}}
@media (max-width:640px){.topbar .flags{display:flex}.topbar .flags>span:not(.langs){display:none}}
