/* ==========================================================
   Débarras de Belgique — design system (DESIGN_A) sur le thème Logisko
   Propriété : frontend 1. Composants réutilisables : _build/design/FE1_NOTES.md
   ========================================================== */

/* ---------- Polices ---------- */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dm-sans-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dm-sans-var-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DM Sans Fallback";src:local("Arial");size-adjust:104%;ascent-override:94%;descent-override:29%}

/* ---------- Tokens ---------- */
:root{
  --c-red-700:#b30d14;--c-red-600:#df1119;--c-red-100:#fde8e9;--c-red-50:#fff4f4;--c-red-on-dark:#ff5a60;
  --c-navy-900:#021628;--c-navy-800:#04223e;--c-navy-700:#0b3358;--c-navy-600:#1d4a73;--c-navy-100:#e6edf4;
  --c-sand-100:#f8f5f1;--c-sand-200:#efe9e1;--c-line:#e7e1d8;
  --c-ink:#1b2733;--c-text:#4a5561;--c-muted:#5d6670;--c-white:#fff;
  --c-wa-500:#25d366;--c-wa-700:#0e7a3e;--c-wa-800:#0a6332;
  --c-success:#0e7a3e;--c-warning:#a35b00;--c-danger:var(--c-red-700);
  --bg-page:var(--c-white);--bg-alt:var(--c-sand-100);--bg-inverse:var(--c-navy-800);
  --fg-heading:var(--c-navy-800);--fg-body:var(--c-text);--fg-on-inverse:#fff;--fg-on-inverse-muted:rgba(255,255,255,.82);
  --accent:var(--c-red-600);--accent-hover:var(--c-red-700);
  --focus-ring:0 0 0 3px #fff,0 0 0 6px var(--c-navy-800);
  --focus-ring-inverse:0 0 0 3px var(--c-navy-800),0 0 0 6px #fff;
  --font-sans:"DM Sans","DM Sans Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fw-regular:400;--fw-medium:500;--fw-bold:700;
  --fs-xs:.8125rem;--fs-sm:.875rem;
  --fs-base:clamp(1rem,.97rem + .14vw,1.0625rem);
  --fs-lead:clamp(1.0625rem,1rem + .3vw,1.25rem);
  --fs-h4:clamp(1.125rem,1.07rem + .28vw,1.3125rem);
  --fs-h3:clamp(1.25rem,1.15rem + .45vw,1.5rem);
  --fs-h2:clamp(1.75rem,1.45rem + 1.35vw,2.625rem);
  --fs-h1:clamp(2.125rem,1.6rem + 2.4vw,3.5rem);
  --fs-display:clamp(2.5rem,1.9rem + 2.8vw,4rem);
  --lh-tight:1.1;--lh-snug:1.25;--lh-base:1.7;--ls-tight:-.02em;--ls-caps:.08em;--measure:68ch;
  --sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--sp-16:4rem;--sp-20:5rem;--sp-24:6rem;
  --section-y:clamp(3.5rem,2.2rem + 5.5vw,6.5rem);--section-y-sm:clamp(2.5rem,1.8rem + 3vw,4rem);
  --gutter:clamp(1rem,.6rem + 1.8vw,1.5rem);--container:1240px;
  --r-xs:2px;--r-sm:4px;--r-md:8px;--r-pill:999px;--r-round:50%;
  --sh-1:0 1px 2px rgba(4,34,62,.06),0 2px 6px rgba(4,34,62,.05);
  --sh-2:0 6px 18px rgba(4,34,62,.08);
  --sh-3:0 14px 34px rgba(4,34,62,.14);
  --sh-4:0 22px 50px rgba(4,34,62,.22);
  --sh-up:0 -10px 30px rgba(4,34,62,.12);
  --sh-inset-line:inset 0 -3px 0 var(--accent);
  --ease-out:cubic-bezier(.165,.84,.44,1);--ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--dur-4:600ms;
  --z-base:1;--z-raised:5;--z-dropdown:50;--z-sticky:100;--z-header:200;--z-mobile-bar:300;--z-overlay:390;--z-drawer:400;--z-toast:500;--z-skip:1000;
  --topbar-h:0px;--dbb-bar-h:64px;
  /* alias thème Logisko */
  --primary-color:var(--c-red-600);--bg-dark:var(--c-navy-800);--bg-grey:var(--c-sand-100);--heading-color:var(--c-navy-800);--body-color:var(--c-text);
  --primary-font:var(--font-sans);--body-font:var(--font-sans);--box-shadow:var(--sh-1);--transition:all var(--dur-2) var(--ease-out);
  --wa:var(--c-wa-700);--line:var(--c-line);--ink:var(--c-ink);
}
@media (min-width:768px){:root{--topbar-h:36px}}
@media (min-width:992px){:root{--dbb-bar-h:76px}}
@media (prefers-reduced-motion:reduce){:root{--dur-1:0ms;--dur-2:0ms;--dur-3:0ms;--dur-4:0ms}}

/* ---------- Base ---------- */
:root{scroll-behavior:auto}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html{scroll-padding-top:calc(var(--dbb-bar-h) + 12px)}
@media (max-width:991.98px){html{scroll-padding-bottom:80px}}
body{font-family:var(--font-sans);color:var(--fg-body);font-size:var(--fs-base);line-height:var(--lh-base);background:var(--bg-page);overflow-x:clip}
img{max-width:100%;height:auto}
h1,h2,h3,h4,.h1,.h2,.h3,.h4{font-family:var(--font-sans);color:var(--fg-heading);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);text-wrap:balance}
h1,.h1{line-height:var(--lh-tight)}
p{text-wrap:pretty;font-size:inherit;line-height:inherit}
a{color:var(--c-red-700);transition:color var(--dur-1)}
a:hover{color:var(--c-navy-800)}
.i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.125em}
.dbb-sprite{position:absolute;width:0;height:0;overflow:hidden}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--r-xs)}
.is-inverse :where(a,button,summary,input):focus-visible,.dbb-cta :where(a,button):focus-visible{box-shadow:var(--focus-ring-inverse)}
.skip-link{position:absolute;left:var(--sp-3);top:-100px;background:var(--c-navy-800);color:#fff;padding:var(--sp-3) var(--sp-4);z-index:var(--z-skip);font-weight:700;border-radius:var(--r-sm)}
.skip-link:focus{top:var(--sp-3);color:#fff}
.container{max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter)}
main{position:relative}
.dbb-sentinel{position:absolute;left:0;top:0;width:1px;pointer-events:none;visibility:hidden}
.dbb-sentinel--top{height:8px}.dbb-sentinel--far{height:600px}
.dbb-mt{margin-top:var(--sp-8)}
.small{font-size:var(--fs-xs)}
.mt-4{margin-top:var(--sp-6)}

/* sections */
.section{padding-block:var(--section-y);position:relative;isolation:isolate}
.section--alt{background:var(--bg-alt)}
.section--inverse{background:var(--bg-inverse);color:var(--fg-on-inverse-muted)}
.section--inverse h2,.section--inverse h3{color:#fff}
.section--compact{padding-block:var(--section-y-sm)}
.about-home,.service-detail,.commune-intro,.content-page,.province-page,.zones-page,.guides-home,.seo-home,.zones-home,.gallery-home,.why-us,.padding{padding-block:var(--section-y);position:relative}
.dbb-cv{content-visibility:auto;contain-intrinsic-size:auto 900px}
.map-pattern{background-image:url(../img/theme/map-pattern.webp);opacity:.6}

/* ---------- Titres de section ---------- */
.section-heading{margin-bottom:var(--sp-10)}
.section-heading .sub-heading{display:inline-block;font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--c-red-700);margin-bottom:var(--sp-3)}
.section-heading .sub-heading .sh-underline{border-bottom-color:var(--accent)}
.section-heading h2,.section-heading h1{font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--ls-tight);margin:0}
.section-heading p.section-heading__lede,.section-heading__lede{font-size:var(--fs-lead);color:var(--c-text);max-width:60ch;margin:var(--sp-4) 0 0}
.section-heading--center .section-heading__lede{margin-inline:auto}
.section-heading--split{display:flex;flex-direction:column;gap:var(--sp-4)}
@media (min-width:768px){.section-heading--split{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:var(--sp-6)}}
.is-inverse .section-heading .sub-heading{color:var(--c-red-on-dark)}
.is-inverse .section-heading h2{color:#fff}
.is-inverse .section-heading__lede{color:var(--fg-on-inverse-muted)}
.js .section-heading .sh-truck{transition:transform var(--dur-3) var(--ease-out)}
.js .section-heading:not(.is-in) .sh-truck{transform:translateX(-12px)}

/* ---------- Boutons ---------- */
.default-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-6);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:700;line-height:1.2;text-transform:none;letter-spacing:0;border-radius:var(--r-xs);border:0;background:var(--accent);color:#fff;text-align:center;isolation:isolate;transition:color var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1)}
.default-btn::before{z-index:-1;transition:transform var(--dur-2) var(--ease-out)}
.default-btn:hover{color:#fff}
.default-btn:active{transform:translateY(1px)}
.default-btn .i{font-size:1.1em;margin:0;transition:transform var(--dur-1)}
.default-btn:hover .i:last-child:not(:first-child){transform:translateX(3px)}
.default-btn i{margin:0}
.btn--lg{min-height:56px;padding:0 var(--sp-8);font-size:1rem}
.btn--block,.default-btn.w-100{display:flex;width:100%}
.btn--secondary{background:var(--c-navy-800)}
.btn--secondary::before{background:var(--c-navy-700)!important}
.btn--wa,.btn-wa{background:var(--c-wa-700)}
.btn--wa::before,.btn-wa::before{background:var(--c-wa-800)!important}
.btn--ghost,.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}
.btn--ghost::before,.btn-ghost::before{background:#fff!important}
.btn--ghost:hover,.btn-ghost:hover{color:var(--c-navy-800)}
.btn--light,.btn-light{background:#fff;color:var(--c-navy-800)}
.btn--light:hover,.btn-light:hover{color:#fff}
.default-btn[aria-busy="true"]{pointer-events:none}
.default-btn[aria-busy="true"]::after{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dbb-spin .8s linear infinite}
@keyframes dbb-spin{to{transform:rotate(360deg)}}
.default-btn:disabled,.default-btn[aria-disabled="true"]{background:#e9a3a6;cursor:not-allowed}
.dbb-link-arrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;color:var(--c-red-700);text-decoration:none;background:linear-gradient(currentColor,currentColor) left bottom/0 2px no-repeat;padding-bottom:2px;transition:background-size var(--dur-2) var(--ease-out),color var(--dur-1)}
.dbb-link-arrow .i{transition:transform var(--dur-2) var(--ease-out)}
.dbb-link-arrow:hover{background-size:100% 2px;color:var(--c-red-700)}
.dbb-link-arrow:hover .i{transform:translateX(4px)}
.is-inverse .dbb-link-arrow{color:#fff}

/* ---------- Badges / chips ---------- */
.dbb-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font:700 var(--fs-xs)/1.2 var(--font-sans);border-radius:var(--r-xs);background:var(--c-navy-100);color:var(--c-navy-800);margin:0}
.dbb-badge--red{background:var(--c-red-600);color:#fff}
.dbb-badge--inverse{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff}
.dbb-badge--outline{background:transparent;border:1px solid currentColor}
.dbb-badge--wa{background:var(--c-wa-700);color:#fff}
.dbb-trust{list-style:none;padding:0;margin:0;display:grid;gap:var(--sp-2)}
.dbb-trust .i{color:var(--c-red-on-dark);stroke-width:3}
.dbb-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.dbb-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-pill);background:#fff;color:var(--c-navy-800);font-size:var(--fs-sm);font-weight:500;transition:background var(--dur-1),color var(--dur-1),border-color var(--dur-1)}
.dbb-chip:hover{background:var(--c-navy-800);border-color:var(--c-navy-800);color:#fff}
.dbb-chip--m{font-weight:700}

/* ---------- Header ---------- */
.main-header{position:sticky;top:calc(var(--topbar-h) * -1);z-index:var(--z-header);background:linear-gradient(90deg,var(--c-navy-800) 50%,#fff 50%);overflow:visible;transition:box-shadow var(--dur-2)}
.main-header.is-scrolled{box-shadow:var(--sh-2)}
.dbb-topbar{display:none;background:var(--c-navy-900);color:var(--fg-on-inverse-muted);font-size:var(--fs-xs);height:36px}
@media (min-width:768px){.dbb-topbar{display:block}}
.dbb-topbar__inner{display:flex;justify-content:space-between;align-items:center;height:100%;gap:var(--sp-4)}
.dbb-topbar__list{display:flex;align-items:center;gap:var(--sp-5);list-style:none;margin:0;padding:0;white-space:nowrap}
.dbb-topbar__list li{display:flex;align-items:center;gap:6px}
.dbb-topbar .i{color:var(--c-red-on-dark)}
.dbb-topbar strong{color:#fff}
.dbb-topbar a{color:#fff}
.dbb-topbar a:hover{color:#fff;text-decoration:underline}
.dbb-topbar .dbb-badge{padding:3px 8px}
.dbb-topbar__zones{display:none!important}
@media (min-width:1200px){.dbb-topbar__zones{display:flex!important}}
.main-header-wapper{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:stretch;height:var(--dbb-bar-h)}
.site-logo{position:relative;z-index:2;display:flex;align-items:center;padding-right:var(--sp-4)}
.site-logo img{width:150px;height:auto}
@media (min-width:1200px){.site-logo img{width:190px}}
.site-logo::before{content:"";position:absolute;left:calc(100% - 1px);top:0;width:50px;height:100%;background:var(--c-navy-800);clip-path:polygon(0 0,0 0,100% 100%,0 100%)}
.site-logo::after{content:"";position:absolute;left:calc(100% + 7px);top:0;width:8px;height:100%;background:var(--accent);transform:skewX(33deg)}
.main-header-info{position:static;background:#fff;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-4);padding-left:56px;height:100%}
.main-header-info::before,.main-header-info::after{content:none;display:none}
@media (min-width:992px){.main-header-info{justify-content:space-between;padding-left:72px}.site-logo::before{width:56px}.site-logo::after{transform:skewX(36deg);left:calc(100% + 9px)}}
.dbb-nav{display:none}
@media (min-width:992px){.dbb-nav{display:block;height:100%}}
.dbb-nav__list{display:flex;align-items:stretch;height:100%;gap:clamp(.9rem,.2rem + 1.2vw,1.75rem);list-style:none;margin:0;padding:0}
.dbb-nav__item{display:flex;align-items:stretch}
.dbb-nav__item--mega{position:static}
.dbb-nav__link,.dbb-nav__trigger{position:relative;display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:0;font:700 var(--fs-base)/1 var(--font-sans);color:var(--c-navy-800);cursor:pointer;white-space:nowrap}
@media (max-width:1199.98px){.dbb-nav__link,.dbb-nav__trigger{font-size:.9375rem}}
.dbb-nav__link::after,.dbb-nav__trigger::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-2) var(--ease-out)}
.dbb-nav__link:hover,.dbb-nav__trigger:hover,.dbb-nav__link[aria-current],.dbb-nav__link[data-active],.dbb-nav__trigger[data-active],.dbb-nav__trigger[aria-expanded="true"]{color:var(--c-red-700)}
.dbb-nav__link:hover::after,.dbb-nav__trigger:hover::after,.dbb-nav__link[aria-current]::after,.dbb-nav__link[data-active]::after,.dbb-nav__trigger[data-active]::after,.dbb-nav__trigger[aria-expanded="true"]::after{transform:scaleX(1)}
.dbb-nav__trigger .i{font-size:.85em;transition:transform var(--dur-2)}
.dbb-nav__trigger[aria-expanded="true"] .i{transform:rotate(180deg)}
.dbb-nav__link:focus-visible,.dbb-nav__trigger:focus-visible{box-shadow:none;outline:2px solid var(--c-navy-800);outline-offset:4px}

/* méga-menu */
.dbb-mega{position:absolute;left:var(--gutter);right:var(--gutter);top:100%;background:#fff;border-top:3px solid var(--accent);box-shadow:var(--sh-4);padding:var(--sp-8);z-index:var(--z-dropdown);border-radius:0 0 var(--r-md) var(--r-md);max-height:calc(100vh - var(--dbb-bar-h) - 24px);overflow:auto}
.dbb-mega[data-open]{opacity:1;transform:none;transition:opacity var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-out)}
@starting-style{.dbb-mega[data-open]{opacity:0;transform:translateY(8px)}}
.dbb-mega__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-6)}
@media (min-width:1200px){.dbb-mega__grid{grid-template-columns:1fr 1fr 1fr 280px}}
.dbb-mega__title{font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--c-muted);margin:0 0 var(--sp-2) 12px}
.dbb-mega ul{list-style:none;margin:0;padding:0}
.dbb-mega__item{display:flex;gap:var(--sp-3);align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);color:var(--c-navy-800);transition:background var(--dur-1)}
.dbb-mega__item:hover,.dbb-mega__item[aria-current]{background:var(--c-sand-100);color:var(--c-navy-800)}
.dbb-mega__icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-sm);background:var(--c-red-50);color:var(--c-red-600);font-size:18px;transition:background var(--dur-1),color var(--dur-1)}
.dbb-mega__item:hover .dbb-mega__icon{background:var(--c-red-600);color:#fff}
.dbb-mega__item strong{display:block;font-size:var(--fs-base);line-height:1.3}
.dbb-mega__item small{display:block;font-size:var(--fs-xs);color:var(--c-muted);line-height:1.4;margin-top:2px}
.dbb-mega__promo{display:none;background:var(--c-navy-800) url(../img/theme/map-pattern.webp) center/cover;background-blend-mode:soft-light;color:var(--fg-on-inverse-muted);border-radius:var(--r-md);padding:var(--sp-6);font-size:var(--fs-sm)}
@media (min-width:1200px){.dbb-mega__promo{display:flex;flex-direction:column;gap:var(--sp-3)}}
.dbb-mega__promo p{margin:0}
.dbb-mega__promo-t{color:#fff;font-weight:700;font-size:var(--fs-h4);line-height:1.25}
.dbb-mega__tel{display:inline-flex;align-items:center;gap:var(--sp-2);color:#fff;font-weight:700}
.dbb-mega__tel:hover{color:#fff;text-decoration:underline}
.dbb-mega__foot{margin:var(--sp-5) 0 0;padding-top:var(--sp-4);border-top:1px solid var(--c-line)}
.dbb-mega__map[data-lazy-map]{aspect-ratio:400/329}
.dbb-mega__zgrid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:var(--sp-8);align-items:start}
.dbb-mega__provs{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--sp-4);margin-bottom:var(--sp-5)!important}
.dbb-mega__provs a{display:flex;align-items:center;gap:var(--sp-2);padding:8px 12px;border-radius:var(--r-sm);color:var(--c-navy-800)}
.dbb-mega__provs a:hover{background:var(--c-sand-100);color:var(--c-red-700)}
.dbb-mega__provs .i{color:var(--c-red-600)}
.dbb-mega__provs small{margin-left:auto;color:var(--c-muted);font-size:var(--fs-xs)}
.dbb-mega--zones .dbb-chips{margin-left:12px}

/* carte de Belgique */
.dbb-map{display:block;width:100%;height:auto}
.dbb-map path{fill:var(--c-sand-200);stroke:#fff;stroke-width:1.5;stroke-linejoin:round;transition:fill var(--dur-1)}
.dbb-map path.is-served{fill:var(--c-navy-800)}
.section--alt .dbb-map path:not(.is-served){fill:#e3dbd0}
.dbb-map__hq circle:first-child{fill:var(--c-red-600);stroke:#fff;stroke-width:3}
.dbb-map__hq circle:last-child{fill:#fff}
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="bruxelles"]:is(:hover,:focus-visible)) path[data-prov="bruxelles"],
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="brabant-wallon"]:is(:hover,:focus-visible)) path[data-prov="brabant-wallon"],
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="brabant-flamand"]:is(:hover,:focus-visible)) path[data-prov="brabant-flamand"],
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="hainaut"]:is(:hover,:focus-visible)) path[data-prov="hainaut"],
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="namur"]:is(:hover,:focus-visible)) path[data-prov="namur"],
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="liege"]:is(:hover,:focus-visible)) path[data-prov="liege"],
:is(.dbb-mega--zones,.dbb-zones):has([data-prov="cote-belge"]:is(:hover,:focus-visible)) path[data-prov="cote-belge"]{fill:var(--c-red-600)}

/* CTA header */
.dbb-header-cta{display:flex;align-items:center;gap:var(--sp-3)}
.dbb-header-phone{display:none;align-items:center;gap:var(--sp-3);color:var(--c-navy-800);line-height:1.2}
@media (min-width:1200px){.dbb-header-phone{display:flex}}
.dbb-header-phone__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-round);background:var(--c-red-50);color:var(--c-red-600);font-size:20px;transition:background var(--dur-1),color var(--dur-1)}
.dbb-header-phone:hover .dbb-header-phone__icon{background:var(--c-red-600);color:#fff}
.dbb-header-phone small{display:block;font-size:var(--fs-xs);color:var(--c-muted)}
.dbb-header-phone strong{font-size:1.0625rem;white-space:nowrap}
.dbb-header-phone:hover{color:var(--c-navy-800)}
.dbb-header-call,.dbb-burger{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-round);font-size:20px;border:0;cursor:pointer;padding:0}
.dbb-header-call{background:var(--c-red-600);color:#fff}
.dbb-header-call:hover{color:#fff;background:var(--c-red-700)}
.dbb-burger{background:var(--c-navy-800);color:#fff;border-radius:var(--r-sm)}
.dbb-header-quote{display:none;white-space:nowrap}
@media (min-width:576px){.dbb-header-quote{display:inline-flex;min-height:44px;padding:0 var(--sp-4)}}
@media (min-width:992px){.dbb-header-call,.dbb-burger{display:none}.dbb-header-quote{min-height:48px;padding:0 var(--sp-6)}}

/* drawer mobile */
.dbb-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(100%,420px);max-width:100%;height:100%;max-height:100dvh;padding:0;border:0;background:#fff;color:var(--c-navy-800);display:none;flex-direction:column;box-shadow:var(--sh-4)}
.dbb-drawer[open]{display:flex;animation:dbb-drawer-in var(--dur-2) var(--ease-out)}
.dbb-drawer::backdrop{background:rgba(2,22,40,.55)}
@keyframes dbb-drawer-in{from{transform:translateX(100%)}to{transform:none}}
.dbb-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-line)}
.dbb-drawer__logo img{width:150px;height:auto}
.dbb-drawer__close{display:grid;place-items:center;width:44px;height:44px;border:0;background:var(--c-sand-100);border-radius:var(--r-sm);font-size:22px;color:var(--c-navy-800);cursor:pointer}
.dbb-drawer__nav{flex:1;overflow-y:auto;padding:var(--sp-2) var(--sp-4) var(--sp-6);overscroll-behavior:contain}
.dbb-drawer__group{border-bottom:1px solid var(--c-line)}
.dbb-drawer__group summary,.dbb-drawer__links a{display:flex;justify-content:space-between;align-items:center;min-height:52px;font-weight:700;font-size:1.0625rem;color:var(--c-navy-800);cursor:pointer;list-style:none}
.dbb-drawer__group summary::-webkit-details-marker{display:none}
.dbb-drawer__group summary .i{transition:transform var(--dur-2)}
.dbb-drawer__group[open] summary .i{transform:rotate(180deg)}
.dbb-drawer__group ul,.dbb-drawer__links{list-style:none;margin:0;padding:0}
.dbb-drawer__group ul{padding:0 0 var(--sp-3) var(--sp-3)}
.dbb-drawer__group ul a{display:flex;align-items:center;min-height:44px;color:var(--c-text);font-weight:500}
.dbb-drawer__links li{border-bottom:1px solid var(--c-line)}
.dbb-drawer a[aria-current]{color:var(--c-red-700)}
.dbb-drawer__info{display:flex;gap:var(--sp-2);align-items:center;margin:var(--sp-5) 0 0;font-size:var(--fs-sm);color:var(--c-muted)}
.dbb-drawer__actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--c-line)}
.dbb-drawer__actions .btn--block{grid-column:1/-1}
html.has-drawer{overflow:hidden}

/* ---------- Hero accueil ---------- */
.dbb-hero{position:relative;background:var(--c-navy-800);overflow:hidden;isolation:isolate;padding-block:clamp(2.5rem,1rem + 6vw,5.5rem) calc(clamp(2.5rem,1rem + 6vw,5.5rem) + var(--sp-12))}
.dbb-hero::before{content:"";position:absolute;inset:0;background:url(../img/theme/map-pattern.webp) right 10% top 20%/min(900px,90%) no-repeat;opacity:.08;z-index:-1;filter:invert(1)}
.dbb-hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-8);align-items:center}
.dbb-hero__grid>*{min-width:0}
.dbb-hero__text{display:flex;flex-direction:column;align-items:flex-start}
.dbb-hero__kicker{margin-bottom:var(--sp-5)}
.hero__title{color:#fff;font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700;letter-spacing:var(--ls-tight);margin:0 0 var(--sp-5);max-width:16ch;text-wrap:balance}
.hero__title span{color:var(--c-red-600)}
.hero__sub{color:var(--fg-on-inverse-muted);font-size:var(--fs-lead);max-width:56ch;margin:0 0 var(--sp-6)}
.dbb-hero__ctas{display:flex;flex-direction:column;gap:var(--sp-3);width:100%}
@media (min-width:576px){.dbb-hero__ctas{flex-direction:row;flex-wrap:wrap;width:auto}}
.dbb-hero__tel{margin:var(--sp-4) 0 0;color:#fff;font-size:var(--fs-base)}
.dbb-hero__tel a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.dbb-hero__tel a:hover{color:#fff;text-decoration-thickness:2px}
.dbb-hero__micro{margin:var(--sp-1) 0 var(--sp-6);font-size:var(--fs-xs);color:var(--fg-on-inverse-muted)}
.dbb-hero .dbb-trust{grid-template-columns:1fr;width:100%}
@media (min-width:576px){.dbb-hero .dbb-trust{grid-template-columns:1fr 1fr}}
.dbb-hero .dbb-trust .dbb-badge{padding:10px 12px;font-size:var(--fs-sm);font-weight:500}
.dbb-hero__aside{position:relative;display:flex;flex-direction:column;gap:var(--sp-6)}
.dbb-hero__photo{display:none;position:relative;order:2}
@media (min-width:576px){.dbb-hero__photo{display:block}.dbb-hero__photo img{aspect-ratio:16/9}}
.dbb-hero__photo img{display:block;width:100%;object-fit:cover;border-radius:var(--r-md);background:var(--c-navy-700)}
.dbb-hero__photo-tag{position:absolute;right:var(--sp-4);top:var(--sp-4);background:#fff;box-shadow:var(--sh-2)}
.dbb-hero__photo-tag .i{color:var(--c-success);stroke-width:3}
.dbb-hero-card{position:relative;background:#fff;color:var(--c-text);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:var(--sp-6);z-index:2}
.dbb-hero-card__t{font-size:var(--fs-h4);margin:0 0 var(--sp-4);color:var(--c-navy-800)}
.dbb-hero-card__chips{margin-top:var(--sp-3)}
.dbb-hero-card :focus-visible{box-shadow:var(--focus-ring)}
@media (min-width:992px){
  .dbb-hero__grid{grid-template-columns:7fr 5fr;gap:var(--sp-12);min-height:min(620px,calc(100svh - 112px))}
  .dbb-hero__aside{display:block;padding-bottom:var(--sp-16)}
  .dbb-hero__photo{display:block}
  .dbb-hero__photo img{aspect-ratio:4/5;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 9%);max-height:600px}
  .dbb-hero__photo::before{content:"";position:absolute;left:-14px;top:0;width:8px;height:60%;background:var(--accent);transform:skewX(-8deg);border-radius:1px}
  .dbb-hero-card{position:absolute;left:-32px;right:16%;bottom:0}
}

/* ---------- Commune finder ---------- */
.dbb-commune-finder{position:relative;margin:0}
.dbb-commune-finder__label{display:block;font-size:var(--fs-sm);font-weight:700;color:var(--c-navy-800);margin-bottom:6px}
.dbb-commune-finder__field{display:flex;align-items:stretch;border:1.5px solid var(--c-line);border-radius:var(--r-sm);background:#fff;transition:box-shadow var(--dur-1),border-color var(--dur-1)}
.dbb-commune-finder__field:focus-within{border-color:var(--c-navy-800);box-shadow:var(--focus-ring)}
.dbb-commune-finder__field>.i{align-self:center;margin-left:12px;color:var(--c-red-600);font-size:20px}
.dbb-commune-finder input{flex:1;min-width:0;height:52px;border:0;background:transparent;padding:0 10px;font:500 1rem var(--font-sans);color:var(--c-ink)}
.dbb-commune-finder input:focus{outline:none;box-shadow:none}
.dbb-commune-finder input::placeholder{color:var(--c-muted)}
.dbb-commune-finder .default-btn{min-height:52px;margin:-1.5px -1.5px -1.5px 0;border-radius:0 var(--r-sm) var(--r-sm) 0;padding:0 var(--sp-5)}
.dbb-commune-finder__hint{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--c-muted)}
.dbb-commune-finder__list{position:absolute;left:0;right:0;top:calc(100% - 22px);z-index:var(--z-dropdown);list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-sm);box-shadow:var(--sh-3);max-height:320px;overflow:auto}
.dbb-commune-finder__list li{display:flex;justify-content:space-between;gap:var(--sp-3);padding:10px 12px;border-radius:var(--r-xs);cursor:pointer;color:var(--c-navy-800);font-size:var(--fs-sm)}
.dbb-commune-finder__list li[aria-selected="true"],.dbb-commune-finder__list li:hover{background:var(--c-sand-100)}
.dbb-commune-finder__list mark{background:none;padding:0;font-weight:700;color:var(--c-red-700)}
.dbb-commune-finder__list small{color:var(--c-muted);font-size:var(--fs-xs);white-space:nowrap}
.dbb-commune-finder__list .is-empty{display:block;cursor:default;color:var(--c-text)}
.dbb-commune-finder__list .is-empty:hover{background:none}
.dbb-commune-finder--inline{margin-top:var(--sp-6)}

/* ---------- Bande de chiffres ---------- */
.dbb-stats-wrap{position:relative;z-index:3;margin-top:calc(var(--sp-12) * -1)}
.dbb-stats{display:grid;grid-template-columns:1fr 1fr;margin:0;background:#fff;border-radius:var(--r-md);box-shadow:var(--sh-3);border-bottom:4px solid var(--accent);overflow:hidden}
.dbb-stats>div{display:flex;flex-direction:column;padding:var(--sp-5) var(--sp-4);text-align:center;border-color:var(--c-line);border-style:solid;border-width:0}
.dbb-stats>div:nth-child(odd){border-right-width:1px}
.dbb-stats>div:nth-child(-n+2){border-bottom-width:1px}
@media (min-width:768px){.dbb-stats{grid-template-columns:repeat(4,1fr)}.dbb-stats>div{padding:var(--sp-8) var(--sp-4);border-width:0!important}.dbb-stats>div:not(:last-child){border-right-width:1px!important}}
.dbb-stats dt{order:2;font-size:var(--fs-sm);font-weight:500;color:var(--c-text);line-height:1.35}
.dbb-stats dd{order:1;margin:0 0 4px;font-size:var(--fs-display);font-weight:700;line-height:1;color:var(--c-navy-800);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-tight)}
.dbb-stats__suf{color:var(--c-red-600);font-size:.5em;margin-left:2px}

/* ---------- Cartes services ---------- */
.service-section .map-pattern{background-size:min(900px,90%)}
.dbb-svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--gutter)}
.dbb-svc{height:100%}
.dbb-svc__link{position:relative;display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--sh-1);color:var(--c-text);transition:box-shadow var(--dur-2) var(--ease-out)}
.dbb-svc__link:hover{color:var(--c-text);box-shadow:var(--sh-3)}
.dbb-svc__link:focus-visible{box-shadow:var(--focus-ring),var(--sh-3)}
.dbb-svc__media{aspect-ratio:3/2;overflow:hidden;background:var(--c-sand-200)}
.dbb-svc__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-3) var(--ease-out)}
.dbb-svc__body{position:relative;flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:0 var(--sp-6) var(--sp-6);background:url(../img/theme/wave-pattern.webp) right bottom/30% no-repeat}
.dbb-svc__body::before{content:"";position:absolute;left:50%;top:-2px;width:60%;height:4px;background:var(--accent);transform:translateX(-50%);transition:width var(--dur-2) var(--ease-out)}
.dbb-svc__icon{display:grid;place-items:center;width:56px;height:56px;margin-top:-28px;margin-bottom:var(--sp-4);background:var(--c-red-600);color:#fff;border:4px solid #fff;border-radius:var(--r-sm);font-size:24px;position:relative;z-index:1;box-shadow:var(--sh-1)}
.dbb-svc--compact .dbb-svc__icon{margin-top:var(--sp-6)}
.dbb-svc__title{font-size:var(--fs-h4);margin:0 0 var(--sp-2);color:var(--c-navy-800)}
.dbb-svc__excerpt{font-size:var(--fs-sm);line-height:1.6;margin:0 0 var(--sp-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dbb-svc__price{display:inline-block;margin:0 0 var(--sp-4);padding:4px 10px;background:var(--c-red-50);color:var(--c-red-700);font-size:var(--fs-xs);font-weight:700;border-radius:var(--r-xs)}
.dbb-svc__cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:var(--fs-sm);color:var(--c-red-700)}
.dbb-svc__cta .i{transition:transform var(--dur-2) var(--ease-out)}
.dbb-svc__link:is(:hover,:focus-visible) .dbb-svc__body::before{width:100%}
.dbb-svc__link:is(:hover,:focus-visible) .dbb-svc__cta .i{transform:translateX(4px)}
@media (prefers-reduced-motion:no-preference){.dbb-svc__link:is(:hover,:focus-visible) .dbb-svc__media img{transform:scale(1.04)}}
.dbb-svc-more{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-top:var(--sp-8)}
.dbb-svc-more__t{margin:0;font-weight:700;color:var(--c-navy-800)}
/* compat ancien markup */
.service-item{height:100%;background:#fff}

/* ---------- Process ---------- */
.dbb-process{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.dbb-process .process-item{position:relative;display:grid;grid-template-columns:72px 1fr;gap:var(--sp-4);text-align:left;padding-bottom:var(--sp-8)}
.dbb-process .process-item:not(:last-child)::before{content:"";position:absolute;left:35px;top:72px;bottom:0;width:2px;background:var(--c-line)}
.dbb-process .process-icon{display:grid;place-items:center;width:72px;height:72px;margin:0;line-height:1;font-size:28px;border-width:6px;color:var(--c-red-600);position:relative;background:var(--c-sand-100);box-shadow:var(--sh-1)}
.dbb-process .process-icon span{right:-14px;top:-8px;width:28px;height:28px;line-height:28px;font-size:var(--fs-sm)}
.dbb-process .process-content h3{font-size:var(--fs-h4);line-height:1.3;text-transform:none;margin:var(--sp-2) 0 var(--sp-2)}
.dbb-process .process-content p{font-size:var(--fs-sm);margin:0}
@media (min-width:992px){
  .dbb-process{grid-template-columns:repeat(4,1fr);gap:var(--sp-8)}
  .dbb-process::before{content:"";position:absolute;left:12%;right:12%;top:50px;border-top:2px dashed var(--c-line)}
  .dbb-process .process-item{grid-template-columns:1fr;text-align:center;justify-items:center;padding:0}
  .dbb-process .process-item:not(:last-child)::before{display:none}
  .dbb-process .process-icon{width:100px;height:100px;font-size:40px;border-width:10px}
  .dbb-process .process-icon span{right:-22px;top:6px;width:30px;height:30px;line-height:30px}
}
@media (min-width:1200px){.dbb-process .process-item:nth-child(2n){margin-top:50px}}
.dbb-process__cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-10);text-align:center}
.dbb-process__cta p{flex-basis:100%;margin:0 0 var(--sp-1);font-weight:700;font-size:var(--fs-h4);color:var(--c-navy-800)}

/* ---------- Avant / après (.dbb-ba, réutilisable) ---------- */
.dbb-ba{margin:0}
.dbb-ba__frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r-md);touch-action:pan-y;background:var(--c-navy-700);user-select:none}
.dbb-ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dbb-ba__img--before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.dbb-ba__frame::after{content:"";position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.35);pointer-events:none}
.dbb-ba__handle{position:absolute;top:50%;left:var(--pos,50%);z-index:2;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:var(--r-round);background:#fff;color:var(--c-navy-800);box-shadow:var(--sh-3);font-size:22px;pointer-events:none;transition:box-shadow var(--dur-1)}
.dbb-ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3;-webkit-appearance:none;appearance:none}
.dbb-ba__frame:has(.dbb-ba__range:focus-visible) .dbb-ba__handle{box-shadow:var(--focus-ring-inverse)}
.dbb-ba__tag{position:absolute;top:var(--sp-3);z-index:1;padding:5px 10px;font:700 var(--fs-xs)/1 var(--font-sans);letter-spacing:var(--ls-caps);text-transform:uppercase;color:#fff;border-radius:var(--r-xs);pointer-events:none}
.dbb-ba__tag--before{left:var(--sp-3);background:var(--c-navy-800)}
.dbb-ba__tag--after{right:var(--sp-3);background:var(--c-red-600)}
.dbb-ba.is-hinting .dbb-ba__frame{--pos:inherit}
.dbb-ba__cap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);font-size:var(--fs-sm)}
.is-inverse .dbb-ba__cap{color:var(--fg-on-inverse-muted)}
html:not(.js) .dbb-ba__frame{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:auto}
html:not(.js) .dbb-ba__img{position:static;clip-path:none;aspect-ratio:3/4}
html:not(.js) .dbb-ba__img--before{order:-1}
html:not(.js) .dbb-ba__range,html:not(.js) .dbb-ba__handle,html:not(.js) .dbb-ba__frame::after{display:none}

.dbb-ba-section__grid{display:grid;gap:var(--sp-10);align-items:center}
@media (min-width:992px){.dbb-ba-section__grid{grid-template-columns:5fr 7fr;gap:var(--sp-12)}}
.dbb-ba-section .section-heading{margin-bottom:var(--sp-6)}
.dbb-benefits{list-style:none;padding:0;margin:0 0 var(--sp-8);display:grid;gap:var(--sp-4)}
.dbb-benefits li{display:flex;gap:var(--sp-3);align-items:flex-start;color:var(--fg-on-inverse-muted);font-size:var(--fs-sm)}
.dbb-benefits .i{flex:none;width:40px;height:40px;padding:9px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);color:var(--c-red-on-dark)}
.dbb-benefits strong{display:block;color:#fff;font-size:var(--fs-base)}
.dbb-gallery{list-style:none;padding:0;margin:var(--sp-12) 0 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
@media (min-width:768px){.dbb-gallery{grid-template-columns:repeat(4,1fr);gap:var(--sp-4)}}
.dbb-gallery figure{margin:0}
.dbb-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm)}
.dbb-gallery figcaption{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--fg-on-inverse-muted)}

/* ---------- Qui sommes-nous + pourquoi ---------- */
.dbb-about__grid{display:grid;gap:var(--sp-10);align-items:center}
.dbb-about__media{display:none;position:relative}
@media (min-width:1200px){.dbb-about__grid{grid-template-columns:5fr 7fr;gap:var(--sp-16)}.dbb-about__media{display:block}}
.dbb-about__img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-md)}
.about-home__badge{position:absolute;left:-12px;bottom:30px;background:var(--accent);color:#fff;padding:var(--sp-4) var(--sp-6);text-align:center;border-radius:var(--r-xs);box-shadow:var(--sh-3)}
.about-home__badge strong{display:block;font-size:var(--fs-h2);line-height:1}
.about-home__badge span{font-size:var(--fs-sm);font-weight:500}
.dbb-about .section-heading{margin-bottom:var(--sp-6)}
.dbb-about__text .prose{font-size:var(--fs-base)}
.dbb-more{margin:0 0 var(--sp-6)}
.dbb-more>summary{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:44px;font-weight:700;color:var(--c-navy-800);cursor:pointer;list-style:none}
.dbb-more>summary::-webkit-details-marker{display:none}
.dbb-more>summary .i{transition:transform var(--dur-2)}
.dbb-more[open]>summary .i{transform:rotate(180deg)}
.dbb-more>summary:hover{color:var(--c-red-700)}
.dbb-why__h{font-size:var(--fs-h3);margin:var(--sp-16) 0 var(--sp-8);padding-top:var(--sp-10);border-top:1px solid var(--c-line)}
.dbb-why__h span{display:block;font-size:var(--fs-base);font-weight:500;color:var(--c-text);letter-spacing:0;margin-top:var(--sp-1)}
.dbb-why{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-8) var(--sp-10)}
@media (min-width:768px){.dbb-why{grid-template-columns:1fr 1fr}}
@media (min-width:992px){.dbb-why{grid-template-columns:repeat(3,1fr)}}
.dbb-why__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-sm);background:var(--c-red-50);color:var(--c-red-600);font-size:24px;margin-bottom:var(--sp-3)}
.dbb-why h3{font-size:var(--fs-h4);margin:0 0 var(--sp-2)}
.dbb-why p{margin:0;font-size:var(--fs-sm)}

/* ---------- Zones ---------- */
.dbb-zones__grid{display:grid;gap:var(--sp-8);align-items:start}
.dbb-zones__map{max-width:320px;margin-inline:auto;width:100%}
@media (min-width:992px){.dbb-zones__grid{grid-template-columns:1fr 1fr;gap:var(--sp-12)}.dbb-zones__map{max-width:560px;position:sticky;top:calc(var(--dbb-bar-h) + 24px)}}
.province-grid{list-style:none;padding:0;display:grid;grid-template-columns:1fr;gap:var(--sp-3);margin:0}
@media (min-width:576px){.province-grid{grid-template-columns:1fr 1fr}}
.province-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:var(--sp-3);align-items:center;background:#fff;padding:var(--sp-4) var(--sp-5);color:var(--c-navy-800);border-left:4px solid var(--accent);border-radius:var(--r-xs);box-shadow:var(--sh-1);transition:background var(--dur-1),color var(--dur-1)}
.province-card>.i:first-child{grid-row:1/3;font-size:22px;color:var(--c-red-600)}
.province-card strong{font-size:var(--fs-base);line-height:1.3}
.province-card span{grid-column:2;font-size:var(--fs-sm);color:var(--c-muted)}
.province-card__chev{grid-column:3;grid-row:1/3;color:var(--c-muted)}
.province-card:hover,.province-card:focus-visible{background:var(--c-navy-800);color:#fff}
.province-card:hover span,.province-card:focus-visible span,.province-card:hover .i,.province-card:focus-visible .i{color:#fff}
.dbb-zones__cities-t{margin:var(--sp-6) 0 var(--sp-3);font-weight:700;color:var(--c-navy-800)}
.link-grid{list-style:none;padding:0;margin:0 0 var(--sp-6);display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 18px}
.link-grid li{padding:7px 0;border-bottom:1px dashed var(--c-line);display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-sm)}
.link-grid li span{color:var(--c-muted);font-size:var(--fs-xs)}
.link-grid a{color:var(--c-navy-800);font-weight:500}
.link-grid a:hover{color:var(--c-red-700)}
.zone-block{margin-top:var(--sp-10)}
.zone-block h2{font-size:var(--fs-h3)}
.zone-block h2 span{font-size:var(--fs-base);color:var(--c-text);font-weight:400}
.zone-filter{background:var(--c-navy-800);padding:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;position:sticky;top:calc(var(--dbb-bar-h) + 8px);z-index:var(--z-raised);margin-top:24px;border-radius:var(--r-sm)}
.zone-filter label{font-weight:700;color:#fff;margin:0}
.zone-filter input{flex:1;min-width:200px;border:0;padding:10px 14px;border-radius:var(--r-xs)}
.neighbours{background:var(--bg-alt);padding:60px 0}
.neighbours__title{font-size:var(--fs-h3)}

/* ---------- SEO / guide d'achat ---------- */
.dbb-seo{max-width:900px;margin:0 auto}
.dbb-seo__intro h2{margin-top:0}
.dbb-price-table{overflow-x:auto;margin:var(--sp-4) 0 var(--sp-6);border:1px solid var(--c-line);border-radius:var(--r-md);background:#fff;box-shadow:var(--sh-2)}
.prose .dbb-price-table table{margin:0;font-size:var(--fs-base)}
.prose .dbb-price-table th{background:var(--c-navy-800)}
.prose .dbb-price-table td:last-child{font-weight:700;color:var(--c-navy-800);white-space:nowrap}
.dbb-price-table__note{margin:0!important;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);color:var(--c-muted);border-top:1px solid var(--c-line)}
.dbb-seo__more{border-top:1px solid var(--c-line);padding-top:var(--sp-3)}
@media (min-width:1200px){.dbb-seo{max-width:none}.dbb-seo__intro,.dbb-seo__price{max-width:900px;margin-inline:auto}.dbb-seo__more{max-width:none}.dbb-seo__more>summary{display:flex;justify-content:center;width:fit-content;margin-inline:auto}.dbb-seo__cols{columns:2;column-gap:var(--sp-12)}.dbb-seo__cols h3{break-after:avoid}.dbb-seo__cols ul,.dbb-seo__cols ol{break-inside:avoid}}

/* ---------- Guides ---------- */
.guide-card{height:100%}
.guide-card__link{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--sh-1);color:var(--c-text);transition:box-shadow var(--dur-2)}
.guide-card__link:hover{box-shadow:var(--sh-3);color:var(--c-text)}
.guide-card__img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--c-sand-200)}
.guide-card__img img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-3) var(--ease-out)}
@media (prefers-reduced-motion:no-preference){.guide-card__link:hover .guide-card__img img{transform:scale(1.04)}}
.guide-card__body{display:flex;flex-direction:column;flex:1;padding:var(--sp-6)}
.guide-card__meta{font-size:var(--fs-xs);color:var(--c-muted);font-weight:500;margin:0 0 6px}
.guide-card h3{font-size:var(--fs-h4);line-height:1.35;margin:0 0 var(--sp-2);color:var(--c-navy-800)}
.guide-card__excerpt{font-size:var(--fs-sm);margin:0 0 var(--sp-4)}
.guide-card__cta{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:var(--fs-sm);color:var(--c-red-700)}
.guide-card__link:hover .guide-card__cta .i{transform:translateX(4px)}
.guide-card__cta .i{transition:transform var(--dur-2)}
/* ancien markup éventuel */
.guide-card__img img{aspect-ratio:16/10}

/* ---------- FAQ ---------- */
.faq-list{max-width:920px;margin:0 auto;display:grid;gap:var(--sp-3)}
.faq-item{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-sm);transition:border-color var(--dur-1),box-shadow var(--dur-1);interpolate-size:allow-keywords}
.faq-item[open]{border-color:var(--c-navy-800);box-shadow:var(--sh-2)}
.faq-item summary{cursor:pointer;list-style:none;padding:var(--sp-5) var(--sp-16) var(--sp-5) var(--sp-6);position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:none}
.faq-item summary h3{font-size:var(--fs-h4);margin:0;line-height:1.4;transition:color var(--dur-1)}
.faq-item summary:hover h3{color:var(--c-red-700)}
.faq-item__icon{position:absolute;right:var(--sp-5);top:50%;width:32px;height:32px;margin-top:-16px;background:var(--c-navy-800);border-radius:var(--r-xs);transition:background var(--dur-2)}
.faq-item__icon::before,.faq-item__icon::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:#fff;transition:transform var(--dur-2) var(--ease-out)}
.faq-item__icon::after{transform:rotate(90deg)}
.faq-item[open] .faq-item__icon{background:var(--accent)}
.faq-item[open] .faq-item__icon::after{transform:rotate(0)}
.faq-item__a{padding:0 var(--sp-6) var(--sp-5)}
.faq-item__a p{margin:0}
.faq-item::details-content{block-size:0;overflow:clip;transition:block-size var(--dur-2) var(--ease-out),content-visibility var(--dur-2) allow-discrete}
.faq-item[open]::details-content{block-size:auto}
.faq-group-title{max-width:920px;margin:40px auto 16px;font-size:var(--fs-h3)}
.dbb-faq__grid{display:grid;gap:var(--sp-10)}
@media (min-width:992px){.dbb-faq__grid{grid-template-columns:4fr 8fr;gap:var(--sp-12);align-items:start}.dbb-faq__side{position:sticky;top:calc(var(--dbb-bar-h) + 24px)}}
.dbb-faq .faq-list{max-width:none}
.dbb-contact-card{background:var(--c-navy-800);color:var(--fg-on-inverse-muted);border-radius:var(--r-md);padding:var(--sp-6);display:grid;gap:var(--sp-3);border-top:4px solid var(--accent)}
.dbb-contact-card p{margin:0}
.dbb-contact-card__t{color:#fff;font-weight:700;font-size:var(--fs-h4)}

/* ---------- Bandeau CTA (.dbb-cta) ---------- */
.dbb-cta{position:relative;background:var(--c-red-600) url(../img/theme/line-pattern.png);color:rgba(255,255,255,.92);padding-block:var(--section-y-sm);overflow:hidden;isolation:isolate}
@media (min-width:768px){.dbb-cta{clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);padding-block:calc(var(--section-y-sm) + 2rem)}}
.dbb-cta--navy{background:var(--c-navy-800) url(../img/theme/map-pattern.webp) center/min(1100px,100%) no-repeat;background-blend-mode:soft-light}
.dbb-cta__inner{display:grid;gap:var(--sp-6);align-items:center}
@media (min-width:992px){.dbb-cta__inner{grid-template-columns:auto 1fr auto;gap:var(--sp-10)}}
.dbb-cta__truck{display:none;width:180px;aspect-ratio:300/208;background:url(../img/theme/red-truck.webp) center/contain no-repeat}
.dbb-cta:not(.dbb-cta--navy) .dbb-cta__truck{filter:brightness(0) invert(1);opacity:.3}
@media (min-width:992px){.dbb-cta__truck{display:block}}
.js .dbb-cta__truck{transition:transform var(--dur-3) var(--ease-out),opacity var(--dur-3)}
.js .dbb-cta:not(.is-in) .dbb-cta__truck{transform:translateX(-40px);opacity:0}
.dbb-cta__title{color:#fff;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.25rem);line-height:1.2;margin:0 0 var(--sp-2)}
.dbb-cta__text p{margin:0;font-size:var(--fs-lead)}
.dbb-cta__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}
@media (min-width:992px){.dbb-cta__actions{max-width:520px;justify-content:flex-end}}
.dbb-cta__tel{flex-basis:100%;color:#fff;font-size:var(--fs-sm)}
@media (min-width:992px){.dbb-cta__tel{text-align:right}}
.dbb-cta__tel:hover{color:#fff;text-decoration:underline}
.dbb-cta .btn--light::before{background:var(--c-navy-800)!important}
/* compat ancien bandeau */
.cta-band{background:var(--c-red-600) url(../img/theme/line-pattern.png);padding:56px 0}

/* ---------- Page header (intérieur) ---------- */
/* fond d’en-tête : vignette 480w sur mobile, image 1050w ≥768 (−80 Ko en moyenne sur mobile) */
.page-header{background-image:var(--ph-s,var(--ph))}
@media (min-width:768px){.page-header{background-image:var(--ph)}}
.page-header{position:relative;background-size:cover;background-position:center;padding:clamp(3rem,2rem + 4vw,5.5rem) 0;z-index:1}
.page-header::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,34,62,.97) 0%,rgba(4,34,62,.9) 60%,rgba(4,34,62,.6) 100%);z-index:-1}
.page-header-info{max-width:900px}
.page-header-info h1{color:#fff;font-size:clamp(1.875rem,1.3rem + 2.2vw,2.875rem);line-height:1.15;font-weight:700;margin:10px 0 14px}
.page-header-info .h4{color:#fff;font-size:var(--fs-base);font-weight:600;display:inline-flex;align-items:center;gap:10px;margin:8px 0 0}
.page-header-info .h4::before{content:"";width:34px;height:3px;background:var(--accent)}
.page-header-info p{color:var(--fg-on-inverse-muted);font-size:var(--fs-lead)}
.breadcrumb-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.breadcrumb-list li{color:var(--c-red-on-dark);font-size:var(--fs-sm);font-weight:600}
.breadcrumb-list li a{color:rgba(255,255,255,.85)}
.breadcrumb-list li a:hover{color:#fff;text-decoration:underline}
.breadcrumb-list li:not(:last-child)::after{content:"/";margin-left:6px;color:rgba(255,255,255,.5)}
.page-header__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* ---------- Prose ---------- */
.prose{color:#3c4650;font-size:var(--fs-base);line-height:1.8}
.prose--narrow{max-width:900px;margin:0 auto}
.prose h2{font-size:var(--fs-h2);line-height:1.25;margin:44px 0 14px}
.prose h3{font-size:var(--fs-h3);margin:30px 0 10px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin-bottom:8px;display:list-item}
.prose ul li::marker{color:var(--accent)}
.prose ol li::marker{color:var(--accent);font-weight:700}
.prose strong{color:var(--c-ink)}
.prose a:not(.default-btn){color:var(--c-red-700);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.prose a:not(.default-btn):hover{color:var(--c-navy-800);text-decoration-thickness:2px}
.prose blockquote{border-left:4px solid var(--accent);background:var(--bg-alt);padding:16px 20px;margin:20px 0;font-style:italic}
.prose table,.table-wrap table{width:100%;border-collapse:collapse;margin:0;font-size:var(--fs-sm)}
.prose table{margin:10px 0 24px}
.table-wrap{overflow-x:auto;margin:10px 0 24px;border:1px solid var(--c-line)}
.prose th,.prose td,.table-wrap th,.table-wrap td{padding:12px 14px;border-bottom:1px solid var(--c-line);text-align:left;vertical-align:top}
.prose th,.table-wrap th{background:var(--c-navy-800);color:#fff;font-weight:700}
.prose tr:nth-child(even) td,.table-wrap tr:nth-child(even) td{background:var(--bg-alt)}
@media (max-width:767px){.prose table{display:block;overflow-x:auto}}
.note{background:var(--c-red-50);border-left:4px solid var(--accent);padding:16px 20px;margin:20px 0;border-radius:0 var(--r-sm) var(--r-sm) 0}
.note p:last-child{margin:0}
.note::before{content:"Conseil de pro";display:block;font-weight:700;color:var(--c-red-700);margin-bottom:4px;font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.5px}
.commune-intro .note::before{content:"Bon à savoir"}
.answer-first.lead{font-size:var(--fs-lead);color:var(--c-ink);line-height:1.7}
/* « En bref » */
.key-takeaways{background:var(--c-navy-800);color:#fff;padding:var(--sp-6) var(--sp-8);margin:24px 0 30px;position:relative;overflow:hidden;border-radius:var(--r-md)}
.key-takeaways::after{content:"";position:absolute;right:0;top:0;width:64px;height:64px;background:var(--accent);clip-path:polygon(100% 0,0 0,100% 100%)}
.key-takeaways__title{color:#fff;font-weight:700;font-size:var(--fs-h4);margin-bottom:10px}
.key-takeaways__title i{color:var(--c-red-on-dark)}
.key-takeaways ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--sp-2)}
.key-takeaways li{position:relative;padding-left:28px;color:rgba(255,255,255,.92)}
.key-takeaways li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;background:var(--c-red-on-dark);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
@media (min-width:768px){.key-takeaways ul:has(li:nth-child(5)){display:block;columns:2;column-gap:var(--sp-8)}.key-takeaways ul:has(li:nth-child(5)) li{break-inside:avoid;margin-bottom:var(--sp-2)}}
.service-detail__fig img{width:100%;max-height:520px;object-fit:cover;margin-bottom:10px}
.author-box{background:var(--bg-alt);padding:16px 20px;margin-top:30px;border-radius:var(--r-sm)}

/* ---------- Sidebar ---------- */
aside .side-card{background:#fff;border:1px solid var(--c-line);padding:26px;margin-bottom:24px;border-radius:var(--r-sm)}
.side-card--quote{background:var(--c-navy-800)!important;border:0!important;color:var(--fg-on-inverse-muted);border-top:4px solid var(--accent)!important}
.side-card--quote a:not(.default-btn){color:#fff}
.side-card .default-btn{margin-bottom:10px}
.side-card__title{font-weight:700;font-size:var(--fs-h4);color:var(--c-navy-800);margin-bottom:12px}
.side-card--quote .side-card__title{color:#fff}
.side-card__phone{display:block;text-align:center;font-weight:700;font-size:var(--fs-h4);margin-top:6px}
.side-links{list-style:none;margin:0;padding:0}
.side-links li{border-bottom:1px solid var(--c-line)}
.side-links a{display:block;padding:9px 0;color:var(--c-navy-800);font-size:var(--fs-sm);font-weight:500}
.side-links a:hover{color:var(--c-red-700)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:var(--fs-sm)}
.facts dt{color:var(--c-text);font-weight:500}
.facts dd{margin:0;color:var(--c-ink);font-weight:700;text-align:right}
.checks{list-style:none;padding:0;margin:0}
.checks li{margin-bottom:8px;font-size:var(--fs-sm)}
.checks i{color:var(--accent)}

/* ---------- Formulaire ---------- */
.form-card{background:#fff;padding:clamp(1.25rem,.8rem + 2vw,2.25rem);border-radius:var(--r-md);box-shadow:var(--sh-2);border-top:4px solid var(--accent)}
.dbb-form label{font-weight:700;color:var(--c-navy-800);font-size:var(--fs-sm);margin-bottom:6px;display:block}
.dbb-form input,.dbb-form select,.dbb-form textarea{width:100%;min-height:52px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);padding:12px 14px;font:1rem var(--font-sans);background:#fff;color:var(--c-ink)}
.dbb-form textarea{min-height:120px}
.dbb-form input:focus,.dbb-form select:focus,.dbb-form textarea:focus{outline:none;border-color:var(--c-navy-800);box-shadow:var(--focus-ring)}
.dbb-form input:user-invalid,.dbb-form textarea:user-invalid,.dbb-form select:user-invalid{border-color:var(--c-danger)}
.dbb-form .check{font-weight:400;display:flex;gap:10px;align-items:flex-start}
.dbb-form .check input{width:auto;min-height:0;margin-top:6px}
.hp{position:absolute;left:-9999px}
.form-hint{font-size:var(--fs-sm);margin-top:12px}

/* ---------- Footer ---------- */
.footer-section{position:relative;border-top:0;overflow:hidden;background:#fff}
.dbb-prefooter{background:var(--bg-alt);border-bottom:1px solid var(--c-line)}
.dbb-prefooter__list{list-style:none;margin:0 auto;padding-block:var(--sp-6);display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media (min-width:576px){.dbb-prefooter__list{grid-template-columns:1fr 1fr}}
@media (min-width:992px){.dbb-prefooter__list{grid-template-columns:repeat(4,1fr)}}
.dbb-prefooter li{display:flex;gap:var(--sp-3);align-items:center;font-size:var(--fs-sm);color:var(--c-text);line-height:1.35}
.dbb-prefooter .i{flex:none;width:40px;height:40px;padding:9px;border-radius:var(--r-round);background:#fff;color:var(--c-red-600);box-shadow:var(--sh-1)}
.dbb-prefooter strong{display:block;color:var(--c-navy-800)}
.footer-wrapper{background:url(../img/theme/footer-shape.webp) bottom center/contain no-repeat;padding:var(--sp-16) 0 120px;position:relative}
.dbb-footer__grid{display:grid;gap:var(--sp-8)}
@media (min-width:576px){.dbb-footer__grid{grid-template-columns:1fr 1fr}}
@media (min-width:992px){.dbb-footer__grid{grid-template-columns:2fr 1fr 1fr 1.4fr;gap:var(--sp-10)}}
.footer-logo img{width:190px;height:auto;margin-bottom:var(--sp-4)}
.dbb-footer__brand p{color:var(--c-text);font-size:var(--fs-sm);max-width:44ch}
.dbb-footer__btns{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0}
.dbb-footer__btns .default-btn{min-height:44px;padding:0 var(--sp-5)}
.footer-legal{font-size:var(--fs-xs)!important;font-weight:600;color:var(--c-muted)!important}
.widget-title__h{position:relative;display:inline-block;font-size:var(--fs-h4);margin:0 0 var(--sp-5);padding-bottom:15px;line-height:1}
.widget-title__h::before,.widget-title__h::after{content:"";position:absolute;bottom:3px;height:4px;background:var(--accent)}
.widget-title__h::before{left:0;width:15px}
.widget-title__h::after{left:20px;width:40px}
.dbb-fcol>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;border-bottom:1px solid var(--c-line);min-height:48px}
.dbb-fcol>summary::-webkit-details-marker{display:none}
.dbb-fcol>summary .widget-title__h{margin:var(--sp-3) 0}
.dbb-fcol__chev{transition:transform var(--dur-2);color:var(--c-navy-800)}
.dbb-fcol[open] .dbb-fcol__chev{transform:rotate(180deg)}
@media (min-width:576px){.dbb-fcol>summary{pointer-events:none;border:0;min-height:0}.dbb-fcol>summary .widget-title__h{margin:0 0 var(--sp-5)}.dbb-fcol__chev{display:none}}
.dbb-flinks{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:var(--sp-3)}
@media (min-width:576px){.dbb-flinks{margin-top:0}}
.dbb-flinks a{display:grid;grid-template-columns:14px 1fr;gap:8px;align-items:start;color:var(--c-navy-800);font-weight:500;font-size:var(--fs-sm);line-height:1.4}
.dbb-flinks a .i{color:var(--accent);margin-top:.2em;transition:transform var(--dur-1)}
.dbb-flinks a:hover{color:var(--c-red-700)}
.dbb-flinks a:hover .i{transform:translateX(2px)}
.dbb-address{display:grid;gap:2px;font-style:normal;font-size:var(--fs-sm);color:var(--c-navy-800);margin-bottom:var(--sp-4)}
.dbb-address__l{font-size:var(--fs-xs);font-weight:700;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--c-red-700);margin-top:var(--sp-3)}
.dbb-address__l:first-child{margin-top:0}
.dbb-address a{color:var(--c-navy-800);font-weight:600}
.dbb-address a:hover{color:var(--c-red-700)}
.running-truck .truck{background-image:url(../img/theme/truck-1.webp)}
.running-truck .truck-2{background-image:url(../img/theme/truck-2.webp)}
.running-truck .truck-3{background-image:url(../img/theme/truck-3.webp)}
.running-truck>div{right:auto!important;left:0!important;animation:none}
.running-truck .truck{transform:translateX(70vw)}
.running-truck .truck-2{transform:translateX(35vw)}
.running-truck .truck-3{transform:translateX(5vw)}
@media (prefers-reduced-motion:no-preference){
  .running-truck .truck{animation:dbb-truck-r 20s linear infinite}
  .running-truck .truck-2{animation:dbb-truck-l 30s linear infinite}
  .running-truck .truck-3{animation:dbb-truck-r 35s linear infinite -12s}
  .running-truck:not(.is-in)>div{animation-play-state:paused}
}
@keyframes dbb-truck-r{from{transform:translateX(100vw)}to{transform:translateX(-220px)}}
@keyframes dbb-truck-l{from{transform:translateX(-220px)}to{transform:translateX(100vw)}}
.copyright-area{background:var(--c-navy-900);color:var(--fg-on-inverse-muted);padding:var(--sp-5) 0 calc(var(--sp-6) + 64px + env(safe-area-inset-bottom));text-align:center;font-size:var(--fs-sm)}
@media (min-width:992px){.copyright-area{padding-bottom:var(--sp-5)}}
.copyright-area a{color:#fff;font-weight:500;text-decoration:none}
.copyright-area a:hover{color:#fff;text-decoration:underline}

/* ---------- Barre d'appel mobile ---------- */
.dbb-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-mobile-bar);display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:var(--sp-2);height:calc(64px + env(safe-area-inset-bottom));padding:8px var(--sp-3) calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--c-line);box-shadow:var(--sh-up);transition:transform var(--dur-2) var(--ease-out)}
.js .dbb-mobilebar:not(.is-visible){transform:translateY(110%)}
.dbb-mobilebar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:700;color:var(--c-navy-800);line-height:1.1}
.dbb-mobilebar .i{font-size:20px}
.dbb-mobilebar__wa .i{color:#1fae55}
.dbb-mobilebar__quote{background:var(--accent);color:#fff!important;flex-direction:row!important;gap:6px!important;font-size:var(--fs-sm)!important}
.dbb-mobilebar__quote:hover{background:var(--c-red-700)}
@media (min-width:992px){
  .dbb-mobilebar{left:auto;right:22px;bottom:22px;height:auto;padding:0;display:flex;flex-direction:column;gap:12px;background:none;border:0;box-shadow:none}
  .js .dbb-mobilebar:not(.is-visible){transform:translateX(140%)}
  .dbb-mobilebar__call{display:none!important}
  .dbb-mobilebar a{position:relative;width:56px;height:56px;min-height:0;padding:0;border-radius:var(--r-round);box-shadow:var(--sh-3);font-size:0}
  .dbb-mobilebar a span{display:none}
  .dbb-mobilebar .i{font-size:24px}
  .dbb-mobilebar__wa{background:var(--c-wa-500)}
  .dbb-mobilebar__wa .i{color:var(--c-navy-800)}
  .dbb-mobilebar__quote{background:var(--accent)}
  .dbb-mobilebar a::after{content:attr(aria-label);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);padding:6px 10px;background:var(--c-navy-800);color:#fff;font-size:var(--fs-xs);white-space:nowrap;border-radius:var(--r-xs);opacity:0;pointer-events:none;transition:opacity var(--dur-1)}
  .dbb-mobilebar a:is(:hover,:focus-visible)::after{opacity:1}
}

/* ---------- Galeries (pages intérieures) ---------- */
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}
@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
.gallery-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform var(--dur-3)}
.gallery-grid a{overflow:hidden;display:block;border-radius:var(--r-xs)}
@media (prefers-reduced-motion:no-preference){.gallery-grid a:hover img{transform:scale(1.05)}}
.gallery-strip{padding:10px 0 70px}
.gallery-strip__title,.gallery-title{font-weight:700;color:var(--c-navy-800);font-size:var(--fs-h3);margin-top:30px}

/* ---------- Reduced motion global ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
  .running-truck>div{animation:none!important}
}
.dbb-mega::-webkit-scrollbar{width:6px;background:#fff}
.dbb-mega::-webkit-scrollbar-thumb{background:var(--c-line)}
@media (max-width:767.98px){.dbb-svc__media{aspect-ratio:2/1}}
.is-inverse .dbb-badge--outline{color:#fff}

/* Sans JS : méga-menus accessibles au survol et au clavier (focus-within), carte différée masquée */
html:not(.js) .dbb-nav__item--mega:is(:hover,:focus-within)>.dbb-mega{display:block}
html:not(.js) .dbb-mega__map[data-lazy-map]{display:none}

/* bandeau cookies */
.dbb-cookiebar{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:calc(var(--z-mobile-bar) + 1);background:#fff;color:var(--c-ink,#14213d);border:1px solid var(--c-line);border-radius:14px;box-shadow:0 20px 50px -20px rgba(10,20,40,.45);padding:16px}
.dbb-cookiebar[hidden]{display:none}
.dbb-cookiebar p{margin:0 0 12px;font-size:.875rem;line-height:1.5;color:inherit}
.dbb-cookiebar p a{text-decoration:underline;color:inherit}
.dbb-cookiebar__btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dbb-cookiebar__btns .default-btn{width:100%;justify-content:center;padding:10px 12px;min-height:44px}
.dbb-cookiebar__no{background:#fff!important;color:var(--c-ink,#14213d)!important;border:1px solid var(--c-line)!important}
@media (min-width:992px){.dbb-cookiebar{left:22px;right:auto;bottom:22px;max-width:420px}}
