/* ==========================================================================
   Burocaz — Header / Home / Footer (refonte 2026)
   Scope : .bzh
   ========================================================================== */
.bzh{
  --bz-o:#F07E13; --bz-o-d:#D26A06; --bz-o-l:#FDEBD8; --bz-o-xl:#FFF6EE;
  --bz-ink:#2E2E2E; --bz-ink-2:#3A3A3A; --bz-dark:#2B2B2B;
  --bz-cream:#F8F6F2; --bz-line:#ECE7E0; --bz-muted:#6A6A6A;
  --bz-eco:#3F8F5B; --bz-eco-l:#E6F2EA;
  --bz-r:18px; --bz-r-sm:12px;
  --bz-sh:0 4px 20px rgba(46,46,46,.06); --bz-sh-lg:0 18px 48px rgba(46,46,46,.12);
  --bz-display:var(--bpc-font-display,"Manrope",system-ui,sans-serif);
  --bz-body:var(--bpc-font-body,"Inter",system-ui,sans-serif);
  font-family:var(--bz-body); color:var(--bz-ink);
}
.bzh *,.bzh *::before,.bzh *::after{ box-sizing:border-box; }
html body .bzh a{ color:inherit; text-decoration:none; }
html body .bzh a:hover{ color:inherit; }
.bzh img{ display:block; max-width:100%; height:auto; }
.bzh ul,.bzh ol{ list-style:none; margin:0; padding:0; }
.bzh p{ margin:0; }
.bzh .bzh-ico{ width:1.15em; height:1.15em; flex:none; }
.bzh-wrap{ max-width:1240px; margin:0 auto; padding:0 28px; }
.bzh .bzh-hp{ position:absolute !important; left:-9999px !important; opacity:0; height:0; width:0; }
.bzh :focus-visible{ outline:3px solid rgba(240,126,19,.55); outline-offset:2px; border-radius:6px; }

/* ---------- Titres ---------- */
.bzh h1,.bzh h2,.bzh h3,.bzh h4{ font-family:var(--bz-display); color:var(--bz-ink); letter-spacing:-.02em; margin:0; }
.bzh .bzh-hl{ color:var(--bz-o); }
.bzh .bzh-kicker{ display:block; font-family:var(--bz-display); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--bz-o); margin-bottom:8px; }
.bzh .bzh-kicker-eco{ color:var(--bz-eco); }
.bzh h2.bzh-title{ font-size:clamp(1.55rem,2.8vw,2.1rem); line-height:1.15; font-weight:800; }
.bzh .bzh-head{ margin-bottom:34px; }
.bzh .bzh-head p{ color:var(--bz-muted); margin-top:10px; font-size:1.02rem; }
.bzh .bzh-center{ text-align:center; max-width:860px; margin-left:auto; margin-right:auto; }
.bzh .bzh-head-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; }

/* ---------- Boutons ---------- */
.bzh .bzh-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:.95rem 1.6rem; border-radius:999px; font-family:var(--bz-display); font-weight:700; font-size:.98rem; line-height:1; border:1.5px solid transparent; cursor:pointer; transition:background .2s,color .2s,border-color .2s,transform .15s,box-shadow .2s; white-space:nowrap; }
.bzh .bzh-btn .bzh-ico{ width:18px; height:18px; transition:transform .2s; }
.bzh .bzh-btn:hover .bzh-ico{ transform:translateX(3px); }
.bzh .bzh-btn-sm{ padding:.7rem 1.15rem; font-size:.88rem; }
html body .bzh a.bzh-btn-primary,.bzh button.bzh-btn-primary{ background:var(--bz-o); color:#fff; box-shadow:0 8px 22px rgba(240,126,19,.28); }
html body .bzh a.bzh-btn-primary:hover,.bzh button.bzh-btn-primary:hover{ background:var(--bz-o-d); color:#fff; border-color:transparent; transform:translateY(-1px); }
html body .bzh a.bzh-btn-ghost{ background:#fff; color:var(--bz-ink); border-color:#DDD6CC; }
html body .bzh a.bzh-btn-ghost:hover{ border-color:var(--bz-ink); color:var(--bz-ink); }
html body .bzh a.bzh-btn-outline{ background:#fff; color:var(--bz-ink); border-color:var(--bz-line); box-shadow:var(--bz-sh); }
html body .bzh a.bzh-btn-outline:hover{ border-color:var(--bz-o); color:var(--bz-o-d); }
html body .bzh a.bzh-btn-white,.bzh button.bzh-btn-white{ background:#fff; color:var(--bz-o-d); }
html body .bzh a.bzh-btn-white:hover,.bzh button.bzh-btn-white:hover{ background:var(--bz-ink); color:#fff; border-color:transparent; }
html body .bzh a.bzh-btn-soft{ background:var(--bz-o-l); color:var(--bz-o-d); }
html body .bzh a.bzh-btn-soft:hover{ background:var(--bz-o); color:#fff; }
.bzh .bzh-actions{ display:flex; flex-wrap:wrap; gap:12px; }

/* ==========================================================================
   HEADER
   ========================================================================== */
.bzh-header{ box-shadow:0 1px 0 var(--bz-line); }
.bzh-topbar{ background:var(--bz-cream); border-bottom:1px solid var(--bz-line); font-size:.8rem; color:var(--bz-muted); }
.bzh-topbar-in{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:38px; }
.bzh-topbar-l,.bzh-topbar-r{ display:flex; align-items:center; gap:22px; }
html body .bzh a.bzh-top-link{ display:inline-flex; align-items:center; gap:7px; color:var(--bz-muted); white-space:nowrap; }
html body .bzh a.bzh-top-link:hover{ color:var(--bz-o-d); }
.bzh-top-link .bzh-ico{ width:15px; height:15px; color:var(--bz-o); }
.bzh-top-link strong{ color:var(--bz-ink); font-weight:700; }

.bzh-nav{ display:flex; align-items:center; gap:26px; min-height:76px; }
.bzh-logo{ flex:none; }
.bzh .bzh-logo img{ height:46px; width:auto; }
.bzh .bzh-menu{ display:flex; align-items:center; flex-wrap:wrap; gap:0 2px; margin:0; flex:0 1 auto; min-width:0; }
.bzh .bzh-menu > li{ position:relative; }
html body .bzh .bzh-menu > li > a{ display:block; padding:10px 10px; font-family:var(--bz-display); font-weight:600; font-size:.92rem; color:var(--bz-ink); border-radius:8px; white-space:nowrap; }
html body .bzh .bzh-menu > li > a:hover,
html body .bzh .bzh-menu > li.current-menu-item > a{ color:var(--bz-o-d); }
.bzh .bzh-menu > li.menu-item-has-children > a::after{ content:""; display:inline-block; width:6px; height:6px; margin-left:7px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:translateY(-3px) rotate(45deg); }
.bzh .bzh-menu .sub-menu{ position:absolute; top:100%; left:0; min-width:230px; background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r-sm); box-shadow:var(--bz-sh-lg); padding:8px; opacity:0; visibility:hidden; transform:translateY(6px); transition:.18s; z-index:50; }
.bzh .bzh-menu li:hover > .sub-menu,.bzh .bzh-menu li:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:none; }
html body .bzh .bzh-menu .sub-menu a{ display:block; padding:9px 12px; border-radius:8px; font-size:.9rem; color:var(--bz-ink-2); }
html body .bzh .bzh-menu .sub-menu a:hover{ background:var(--bz-o-xl); color:var(--bz-o-d); }
.bzh .bzh-menu .sub-menu .sub-menu{ display:none; }

.bzh-search{ flex:1; min-width:180px; max-width:340px; margin-left:auto; position:relative; }
.bzh-search .bzh-ico{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:var(--bz-muted); width:17px; height:17px; pointer-events:none; }
.bzh .bzh-search input[type=search]{ width:100%; height:44px; border:1px solid var(--bz-line); background:var(--bz-cream); border-radius:999px; padding:0 16px 0 40px; font:500 .88rem var(--bz-body); color:var(--bz-ink); outline:none; transition:.2s; margin:0; }
.bzh .bzh-search input[type=search]:focus{ background:#fff; border-color:var(--bz-o); box-shadow:0 0 0 3px rgba(240,126,19,.14); }
.bzh-nav-actions{ display:flex; align-items:center; gap:6px; flex:none; }
html body .bzh a.bzh-icon-btn{ position:relative; width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:var(--bz-ink); }
html body .bzh a.bzh-icon-btn:hover{ background:var(--bz-cream); color:var(--bz-o-d); }
.bzh-icon-btn .bzh-ico{ width:21px; height:21px; }
.bzh-cart-count{ position:absolute; top:3px; right:2px; min-width:17px; height:17px; padding:0 4px; border-radius:999px; background:var(--bz-o); color:#fff; font-size:.66rem; font-weight:700; display:flex; align-items:center; justify-content:center; }
.bzh .bzh-nav-cta{ margin-left:6px; border-radius:10px; }

@media (max-width:1180px){
  .bzh-nav{ flex-wrap:wrap; gap:14px; row-gap:0; min-height:0; padding:8px 0 12px; }
  html body .bzh .bzh-menu > li > a{ padding:10px 8px; font-size:.88rem; }
  .bzh-nav-actions{ margin-left:auto; }
  .bzh-search{ order:3; flex:1 1 100%; max-width:none; margin:4px 0 0; }
}
@media (max-width:1100px){
  html body .bzh .bzh-menu > li > a{ padding:10px 6px; font-size:.84rem; }
  .bzh .bzh-nav-cta{ padding:.62rem .9rem; font-size:.82rem; }
}
@media (max-width:1024px){
  .bzh .bzh-menu{ order:2; flex:1 1 100%; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin:0 -6px; -webkit-overflow-scrolling:touch; }
  .bzh .bzh-menu::-webkit-scrollbar{ display:none; }
  .bzh .bzh-menu .sub-menu{ display:none; }
  .bzh .bzh-menu > li.menu-item-has-children > a::after{ display:none; }
  .bzh-nav-actions{ order:1; }
  .bzh-search{ order:3; }
}
@media (max-width:820px){
  .bzh .bzh-menu{ display:none; }
}
@media (max-width:1024px){ .bzh-hide-s{ display:none !important; } }
@media (max-width:640px){
  .bzh-topbar{ font-size:.76rem; }
  .bzh-topbar-in{ min-height:34px; }
  .bzh .bzh-logo img{ height:38px; }
  .bzh .bzh-nav-cta{ padding:.6rem .9rem; font-size:.8rem; }
  .bzh-wrap{ padding:0 18px; }
}

/* ==========================================================================
   HERO
   ========================================================================== */
.bzh-hero{ position:relative; overflow:hidden; background:#F7F4F0; }
.bzh-hero-bg{ position:absolute; inset:0; z-index:0; }
.bzh .bzh-hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:right center; }
.bzh-hero::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(248,246,242,.97) 0%,rgba(248,246,242,.93) 34%,rgba(248,246,242,.55) 48%,rgba(248,246,242,0) 60%); }
.bzh-hero-in{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:30px; min-height:560px; padding-top:56px; padding-bottom:56px; }
.bzh .bzh-eyebrow{ display:inline-block; font-family:var(--bz-display); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--bz-ink-2); margin-bottom:16px; }
.bzh-hero h1{ font-size:clamp(2rem,3.5vw,3rem); line-height:1.08; font-weight:800; max-width:19ch; margin-bottom:18px; }
.bzh .bzh-lead{ font-size:1.05rem; line-height:1.65; color:#555; max-width:52ch; margin-bottom:26px; }
.bzh .bzh-hero-trust{ display:flex; flex-wrap:wrap; gap:14px 26px; margin-top:34px; }
.bzh-hero-trust li{ display:flex; align-items:center; gap:10px; font-size:.78rem; color:var(--bz-muted); line-height:1.35; }
.bzh-hero-trust strong{ display:block; color:var(--bz-ink); font-family:var(--bz-display); font-size:.82rem; }
.bzh .bzh-round{ width:40px; height:40px; border-radius:50%; background:#fff; border:1px solid #F4D7BB; color:var(--bz-o); display:flex; align-items:center; justify-content:center; flex:none; }
.bzh-round .bzh-ico{ width:19px; height:19px; }

.bzh-hero-side{ position:relative; height:100%; min-height:420px; }
.bzh-price-card{ position:absolute; left:4%; top:0; width:250px; background:var(--bz-o); color:#fff; border-radius:20px; padding:24px 24px 22px; transform:rotate(-4deg); box-shadow:0 24px 48px rgba(210,106,6,.35); }
.bzh .bzh-price-kicker{ font-family:var(--bz-display); font-weight:700; font-size:1.02rem; }
.bzh .bzh-price{ font-family:var(--bz-display); font-weight:800; font-size:4.1rem; line-height:1; letter-spacing:-.04em; margin:4px 0 14px; display:flex; align-items:flex-start; gap:6px; }
.bzh-price small{ font-size:.9rem; font-weight:600; letter-spacing:0; align-self:flex-start; margin-top:6px; }
.bzh-price sup{ font-size:1.9rem; top:0; line-height:1; margin-top:14px; }
.bzh-price-card ul{ margin-bottom:18px; }
.bzh-price-card li{ display:flex; align-items:center; gap:8px; font-size:.86rem; font-weight:500; padding:3px 0; }
.bzh-price-card li .bzh-ico{ width:16px; height:16px; padding:2px; border:1.5px solid rgba(255,255,255,.8); border-radius:50%; }
.bzh-discount{ position:absolute; right:4%; bottom:4%; width:132px; height:132px; border-radius:50%; background:var(--bz-ink); border:3px solid var(--bz-o); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow:0 16px 36px rgba(0,0,0,.25); }
.bzh-discount strong{ font-family:var(--bz-display); font-size:2.1rem; line-height:1; color:var(--bz-o); letter-spacing:-.03em; margin:3px 0; }
.bzh-discount small{ font-size:.58rem; text-transform:uppercase; letter-spacing:.06em; line-height:1.2; max-width:90px; }

@media (max-width:900px){
  .bzh-hero::before{ background:linear-gradient(180deg,rgba(248,246,242,0) 0,rgba(248,246,242,0) 260px,#F8F6F2 340px,#F8F6F2 100%); }
  .bzh-hero-bg{ height:340px; bottom:auto; }
  .bzh .bzh-hero-bg img{ object-position:72% center; }
  .bzh-hero-in{ grid-template-columns:1fr; min-height:0; padding-top:350px; padding-bottom:40px; }
  .bzh-hero-side{ min-height:0; height:auto; position:static; }
  .bzh-price-card{ position:relative; left:auto; top:auto; width:auto; max-width:420px; transform:none; display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:20px; padding:16px 18px; border-radius:16px; }
  .bzh .bzh-price-card .bzh-price-kicker{ grid-column:1/-1; font-size:.9rem; }
  .bzh .bzh-price-card .bzh-price{ font-size:2.8rem; margin:2px 0 0; }
  .bzh .bzh-price-card ul{ margin:4px 0 0; }
  .bzh-price-card li{ font-size:.8rem; padding:2px 0; white-space:nowrap; }
  .bzh .bzh-price-card .bzh-btn{ grid-column:1/-1; margin-top:12px; }
  .bzh-discount{ width:96px; height:96px; right:18px; bottom:auto; top:24px; }
  .bzh-discount strong{ font-size:1.5rem; }
  .bzh-discount small{ font-size:.48rem; }
  .bzh-hero h1{ max-width:none; }
}
@media (max-width:520px){
  .bzh-hero-bg{ height:260px; }
  .bzh-hero::before{ background:linear-gradient(180deg,rgba(248,246,242,0) 0,rgba(248,246,242,0) 200px,#F8F6F2 260px,#F8F6F2 100%); }
  .bzh-hero-in{ padding-top:272px; }
  .bzh-discount{ top:16px; width:84px; height:84px; }
  .bzh .bzh-actions .bzh-btn{ flex:1 1 100%; }
}

/* ==========================================================================
   STATS
   ========================================================================== */
.bzh-stats{ background:var(--bz-cream); border-top:1px solid var(--bz-line); border-bottom:1px solid var(--bz-line); }
.bzh-stats-in{ display:grid; grid-template-columns:repeat(4,1fr); }
.bzh-stat{ display:flex; align-items:center; gap:16px; padding:26px 20px; }
.bzh-stat + .bzh-stat{ border-left:1px solid var(--bz-line); }
.bzh-stat > .bzh-ico{ width:40px; height:40px; color:var(--bz-o); stroke-width:1.5; }
.bzh-stat strong{ display:block; font-family:var(--bz-display); font-size:1.45rem; font-weight:800; line-height:1.1; color:var(--bz-ink); }
.bzh-stat span{ font-size:.82rem; color:var(--bz-muted); }
@media (max-width:900px){
  .bzh-stats-in{ grid-template-columns:repeat(2,1fr); }
  .bzh-stat:nth-child(3){ border-left:0; }
  .bzh-stat:nth-child(n+3){ border-top:1px solid var(--bz-line); }
  .bzh-stat{ padding:18px 12px; gap:12px; }
  .bzh-stat > .bzh-ico{ width:30px; height:30px; }
  .bzh-stat strong{ font-size:1.15rem; }
}

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.bzh-section{ padding:76px 0; }
.bzh-cream{ background:var(--bz-cream); }
.bzh-pt0{ padding-top:0; }
@media (max-width:640px){ .bzh-section{ padding:52px 0; } .bzh .bzh-head{ margin-bottom:24px; } }

/* ---------- Catégories ---------- */
.bzh-cats{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.bzh-cat{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r); overflow:hidden; transition:box-shadow .25s,transform .25s,border-color .25s; }
.bzh-cat:hover{ box-shadow:var(--bz-sh-lg); transform:translateY(-3px); border-color:transparent; }
.bzh-cat-img{ display:block; aspect-ratio:1.55; overflow:hidden; background:var(--bz-cream); }
.bzh .bzh-cat-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.bzh .bzh-cat:hover .bzh-cat-img img{ transform:scale(1.04); }
.bzh-cat-body{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 16px; background:#FBFAF8; }
.bzh-cat-name{ font-family:var(--bz-display); font-weight:700; font-size:1rem; line-height:1.25; color:var(--bz-ink); }
.bzh-cat-arrow{ width:34px; height:34px; border-radius:50%; background:var(--bz-o-l); color:var(--bz-o); display:flex; align-items:center; justify-content:center; flex:none; transition:.2s; }
.bzh-cat-arrow .bzh-ico{ width:16px; height:16px; }
.bzh-cat:hover .bzh-cat-arrow{ background:var(--bz-o); color:#fff; }
@media (max-width:1024px){ .bzh-cats{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){
  .bzh-cats{ grid-template-columns:repeat(2,1fr); gap:12px; }
  .bzh-cat-body{ padding:11px 12px; }
  .bzh-cat-name{ font-size:.86rem; }
  .bzh-cat-arrow{ width:28px; height:28px; }
}

/* ---------- Cartes (services / solutions) ---------- */
.bzh-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.bzh-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.bzh-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r); overflow:hidden; box-shadow:var(--bz-sh); transition:box-shadow .25s,transform .25s; }
.bzh-card:hover{ box-shadow:var(--bz-sh-lg); transform:translateY(-3px); }
.bzh-card-img{ display:block; aspect-ratio:1.6; overflow:hidden; }
.bzh .bzh-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.bzh .bzh-card:hover .bzh-card-img img{ transform:scale(1.04); }
.bzh-card-body{ position:relative; display:flex; flex-direction:column; flex:1; padding:22px 24px 24px; }
.bzh-card h3{ font-size:1.12rem; font-weight:800; line-height:1.25; margin-bottom:8px; }
.bzh-card p{ color:var(--bz-muted); font-size:.92rem; line-height:1.55; margin-bottom:16px; }
.bzh-more{ margin-top:auto; display:inline-flex; align-items:center; gap:6px; color:var(--bz-o-d); font-family:var(--bz-display); font-weight:700; font-size:.88rem; }
.bzh-more .bzh-ico{ width:16px; height:16px; transition:transform .2s; }
.bzh-card:hover .bzh-more .bzh-ico{ transform:translateX(3px); }
.bzh-service .bzh-card-body{ padding-top:36px; }
.bzh-bubble{ position:absolute; top:-26px; left:22px; width:52px; height:52px; border-radius:50%; background:var(--bz-o); color:#fff; display:flex; align-items:center; justify-content:center; border:4px solid #fff; box-shadow:0 8px 18px rgba(240,126,19,.3); }
.bzh-bubble .bzh-ico{ width:22px; height:22px; }
.bzh-solution .bzh-card-img{ aspect-ratio:1.75; }
.bzh-solution .bzh-card-body{ padding:18px 20px 20px; }
.bzh-solution h3{ font-size:1rem; }
.bzh-solution p{ font-size:.86rem; }
@media (max-width:1024px){ .bzh-grid-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:820px){ .bzh-grid-3{ grid-template-columns:1fr; max-width:520px; margin:0 auto; } }
@media (max-width:520px){ .bzh-grid-4{ grid-template-columns:1fr; } }

/* ---------- Étapes ---------- */
.bzh-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:44px; counter-reset:none; }
.bzh-steps li{ position:relative; background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r); padding:28px 20px 24px; text-align:center; box-shadow:var(--bz-sh); }
.bzh-steps li:not(:last-child)::after{ content:""; position:absolute; right:-30px; top:50%; width:16px; height:16px; border-top:2px solid var(--bz-o); border-right:2px solid var(--bz-o); transform:translateY(-50%) rotate(45deg); }
.bzh-step-num{ width:44px; height:44px; margin:0 auto 14px; border-radius:50%; background:var(--bz-o); color:#fff; font-family:var(--bz-display); font-weight:800; font-size:1.15rem; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 6px var(--bz-o-l); }
.bzh-steps h3{ font-size:1rem; font-weight:800; line-height:1.3; margin-bottom:6px; }
.bzh-steps p{ font-size:.86rem; color:var(--bz-muted); line-height:1.5; }
@media (max-width:1024px){
  .bzh-steps{ grid-template-columns:repeat(2,1fr); gap:18px; }
  .bzh-steps li::after{ display:none; }
}
@media (max-width:520px){
  .bzh-steps{ grid-template-columns:1fr; }
  .bzh-steps li{ display:grid; grid-template-columns:auto 1fr; column-gap:16px; text-align:left; padding:18px; align-items:center; }
  .bzh-step-num{ grid-row:1/3; margin:0; }
}

/* ---------- RSE ---------- */
.bzh-rse{ display:grid; grid-template-columns:1.05fr 1fr 190px; gap:36px; align-items:center; }
.bzh-rse-img{ border-radius:var(--bz-r); overflow:hidden; aspect-ratio:1.45; }
.bzh .bzh-rse-img img{ width:100%; height:100%; object-fit:cover; }
.bzh-rse-body p{ color:var(--bz-muted); margin:12px 0 18px; line-height:1.6; }
.bzh .bzh-checks{ display:grid; gap:10px; margin-bottom:26px; }
.bzh .bzh-checks li{ display:flex; align-items:center; gap:10px; font-size:.94rem; color:var(--bz-ink-2); }
.bzh .bzh-checks .bzh-ico{ width:20px; height:20px; padding:3px; border-radius:50%; background:var(--bz-o); color:#fff; stroke-width:3; }
.bzh-rse-note{ align-self:stretch; background:var(--bz-cream); border-radius:var(--bz-r); padding:30px 22px; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.bzh-rse-leaf{ width:54px; height:54px; border-radius:50%; border:1.5px solid var(--bz-eco); color:var(--bz-eco); display:flex; align-items:center; justify-content:center; }
.bzh-rse-leaf .bzh-ico{ width:26px; height:26px; }
.bzh-rse-note p{ font-family:var(--bz-display); font-weight:600; color:var(--bz-ink-2); line-height:1.45; }
@media (max-width:1024px){
  .bzh-rse{ grid-template-columns:1fr 1fr; }
  .bzh-rse-note{ grid-column:1/-1; flex-direction:row; align-items:center; padding:18px 22px; }
}
@media (max-width:760px){ .bzh-rse{ grid-template-columns:1fr; gap:24px; } }

/* ---------- Rachat ---------- */
.bzh-buyback{ display:grid; grid-template-columns:1.15fr 1fr .85fr; background:var(--bz-dark); border-radius:var(--bz-r); overflow:hidden; color:#fff; }
.bzh-buyback-text{ padding:38px 36px; display:flex; flex-direction:column; justify-content:center; }
.bzh .bzh-buyback h2{ color:#fff; font-size:clamp(1.35rem,2.2vw,1.7rem); line-height:1.2; font-weight:800; margin-bottom:12px; }
.bzh-buyback p{ color:#C9C9C9; font-size:.94rem; line-height:1.55; margin-bottom:22px; }
.bzh-buyback .bzh-btn{ align-self:flex-start; }
.bzh-buyback-img{ position:relative; min-height:220px; }
.bzh .bzh-buyback-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bzh-buyback-list{ padding:30px 30px; display:flex; flex-direction:column; justify-content:center; gap:20px; }
.bzh-buyback-list li{ display:flex; align-items:center; gap:14px; font-family:var(--bz-display); font-weight:600; font-size:.95rem; }
.bzh-buyback-list .bzh-ico{ width:40px; height:40px; padding:9px; border-radius:50%; border:1.5px solid rgba(240,126,19,.6); color:var(--bz-o); }
@media (max-width:1024px){
  .bzh-buyback{ grid-template-columns:1fr 1fr; }
  .bzh-buyback-list{ grid-column:1/-1; flex-direction:row; flex-wrap:wrap; justify-content:space-around; padding:22px; border-top:1px solid rgba(255,255,255,.1); }
}
@media (max-width:640px){
  .bzh-buyback{ grid-template-columns:minmax(0,1fr); }
  .bzh .bzh-buyback .bzh-btn{ white-space:normal; text-align:center; }
  .bzh-buyback-img{ order:-1; min-height:0; aspect-ratio:1.8; }
  .bzh-buyback-text{ padding:26px 22px; }
  .bzh-buyback-list{ flex-direction:column; align-items:flex-start; gap:12px; }
}

/* ---------- Formulaire devis ---------- */
.bzh-form-section{ background:linear-gradient(180deg,#fff 0%,var(--bz-o-xl) 100%); scroll-margin-top:90px; }
.bzh-form-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; }
.bzh-form-intro p{ color:var(--bz-muted); margin:12px 0 22px; line-height:1.6; max-width:44ch; }
.bzh-form-card{ background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r); padding:30px; box-shadow:var(--bz-sh-lg); }
.bzh-form{ display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.bzh .bzh-full{ grid-column:1/-1; }
.bzh-field label{ display:block; font-size:.8rem; font-weight:600; color:var(--bz-ink-2); margin-bottom:6px; }
.bzh .bzh-field input,.bzh .bzh-field textarea{ width:100%; border:1px solid #E2DCD3; border-radius:10px; padding:12px 14px; font:400 .95rem var(--bz-body); color:var(--bz-ink); background:#fff; transition:.2s; margin:0; }
.bzh .bzh-field textarea{ resize:vertical; min-height:110px; }
.bzh .bzh-field input:focus,.bzh .bzh-field textarea:focus{ outline:none; border-color:var(--bz-o); box-shadow:0 0 0 3px rgba(240,126,19,.14); }
.bzh .bzh-form button{ width:100%; margin-top:4px; }
.bzh-legal{ text-align:center; font-size:.76rem; color:var(--bz-muted); }
.bzh-alert{ padding:16px 18px; border-radius:10px; font-size:.94rem; margin-bottom:16px; }
.bzh-alert-ok{ background:var(--bz-eco-l); color:#255c38; margin:0; }
.bzh-alert-err{ background:#FDECEC; color:#9b2c2c; }
@media (max-width:900px){ .bzh-form-grid{ grid-template-columns:1fr; gap:28px; } }
@media (max-width:520px){ .bzh-form{ grid-template-columns:1fr; } .bzh-form-card{ padding:22px 18px; } }

/* ---------- Contact direct ---------- */
.bzh-talk{ display:grid; grid-template-columns:1fr 1.25fr; gap:44px; align-items:center; }
.bzh-talk-text p{ color:var(--bz-muted); margin:12px 0 24px; }
.bzh-talk-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.bzh-mini{ background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r); padding:24px 16px 20px; text-align:center; display:flex; flex-direction:column; align-items:center; box-shadow:var(--bz-sh); }
.bzh-mini-ico{ width:48px; height:48px; border-radius:50%; background:var(--bz-o); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.bzh-mini-ico .bzh-ico{ width:22px; height:22px; }
.bzh-mini-ico.bzh-wa{ background:#25D366; }
.bzh-mini h3{ font-size:1rem; font-weight:800; margin-bottom:4px; }
.bzh-mini p{ font-size:.84rem; color:var(--bz-muted); line-height:1.45; margin-bottom:14px; }
.bzh-mini p strong{ color:var(--bz-ink); font-family:var(--bz-display); }
html body .bzh a.bzh-pill{ margin-top:auto; display:inline-block; padding:.55rem 1rem; border-radius:999px; border:1.5px solid var(--bz-o); color:var(--bz-o-d); font-family:var(--bz-display); font-weight:700; font-size:.8rem; transition:.2s; }
html body .bzh a.bzh-pill:hover{ background:var(--bz-o); color:#fff; }
html body .bzh a.bzh-pill-wa{ border-color:#25D366; color:#1b9e4e; }
html body .bzh a.bzh-pill-wa:hover{ background:#25D366; color:#fff; }
@media (max-width:1024px){ .bzh-talk{ grid-template-columns:1fr; gap:28px; } }
@media (max-width:640px){ .bzh-talk-cards{ grid-template-columns:1fr; } .bzh-mini{ display:grid; grid-template-columns:auto 1fr; text-align:left; align-items:center; column-gap:14px; padding:16px; } .bzh-mini-ico{ grid-row:1/4; margin:0; } .bzh-mini p{ margin-bottom:10px; } html body .bzh a.bzh-pill{ justify-self:start; } }

/* ---------- Showrooms ---------- */
.bzh-shops{ display:grid; grid-template-columns:1fr 1fr; gap:24px; scroll-margin-top:90px; }
#showrooms{ scroll-margin-top:90px; }
.bzh-shop{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--bz-line); border-radius:var(--bz-r); overflow:hidden; box-shadow:var(--bz-sh); transition:box-shadow .25s; }
.bzh-shop:hover{ box-shadow:var(--bz-sh-lg); }
.bzh-shop-media{ position:relative; display:grid; grid-template-columns:1fr 1.3fr; height:230px; }
.bzh-shop-photo{ position:relative; }
.bzh .bzh-shop-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bzh-shop-map{ background:var(--bz-cream); }
.bzh-shop-map iframe{ width:100%; height:100%; border:0; display:block; }
.bzh-shop-badge{ position:absolute; top:12px; left:12px; background:var(--bz-o); color:#fff; font-family:var(--bz-display); font-size:.72rem; font-weight:700; padding:.3rem .75rem; border-radius:999px; }
.bzh-shop-body{ padding:22px 24px 24px; display:grid; grid-template-columns:1fr auto; gap:6px 20px; align-items:end; }
.bzh .bzh-shop h3{ grid-column:1/-1; font-size:1.2rem; font-weight:800; margin-bottom:6px; }
.bzh-shop-info{ display:grid; gap:8px; }
.bzh .bzh-shop-row{ display:flex; gap:8px; font-size:.9rem; color:var(--bz-ink-2); line-height:1.45; }
.bzh-shop-row .bzh-ico{ width:17px; height:17px; color:var(--bz-muted); margin-top:1px; }
.bzh .bzh-shop-hours{ font-weight:700; color:#2f6e45; }
.bzh-shop-actions{ display:flex; flex-direction:column; gap:8px; min-width:150px; }
.bzh .bzh-shop-actions .bzh-btn{ padding:.68rem .9rem; font-size:.84rem; gap:7px; }
.bzh-shop-actions .bzh-ico{ width:15px; height:15px; }
.bzh .bzh-shop-actions .bzh-btn:hover .bzh-ico{ transform:none; }
@media (max-width:1100px) and (min-width:821px){ .bzh-shop-body{ grid-template-columns:1fr; } .bzh-shop-actions{ flex-direction:row; } .bzh .bzh-shop-actions .bzh-btn{ flex:1; } }
@media (max-width:820px){ .bzh-shops{ grid-template-columns:1fr; } }
@media (max-width:480px){
  .bzh-shop-media{ grid-template-columns:1fr; height:auto; }
  .bzh-shop-photo{ aspect-ratio:1.9; }
  .bzh-shop-map{ height:180px; }
  .bzh-shop-body{ grid-template-columns:1fr; padding:18px; }
  .bzh-shop-actions{ flex-direction:row; }
  .bzh .bzh-shop-actions .bzh-btn{ flex:1; }
}

/* ---------- Être rappelé ---------- */
.bzh-callback{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; background:var(--bz-o); border-radius:var(--bz-r); padding:28px 34px; color:#fff; scroll-margin-top:90px; }
#rappel{ scroll-margin-top:90px; }
.bzh-callback-ico{ width:60px; height:60px; border-radius:50%; border:1.5px solid rgba(255,255,255,.7); display:flex; align-items:center; justify-content:center; }
.bzh-callback-ico .bzh-ico{ width:28px; height:28px; }
.bzh .bzh-callback h2{ color:#fff; font-size:clamp(1.2rem,2vw,1.45rem); font-weight:800; margin-bottom:4px; }
.bzh-callback p{ color:rgba(255,255,255,.92); font-size:.92rem; }
.bzh-callback-form{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end; }
.bzh .bzh-callback-form input{ height:48px; border:0; border-radius:999px; padding:0 18px; font:500 .92rem var(--bz-body); color:var(--bz-ink); background:#fff; width:170px; margin:0; }
.bzh .bzh-callback-form input:focus{ outline:3px solid rgba(255,255,255,.55); }
.bzh .bzh-callback-form input[aria-invalid=true]{ box-shadow:0 0 0 2px #7a1f1f; }
.bzh .bzh-callback-form button{ height:48px; }
.bzh .bzh-callback-err{ flex-basis:100%; text-align:right; font-weight:600; font-size:.82rem; }
.bzh .bzh-callback-ok{ display:flex; align-items:center; gap:8px; font-family:var(--bz-display); font-weight:700; font-size:1rem; background:rgba(255,255,255,.16); padding:12px 18px; border-radius:999px; }
@media (max-width:1024px){
  .bzh-callback{ grid-template-columns:auto 1fr; }
  .bzh-callback-form,.bzh .bzh-callback-ok{ grid-column:1/-1; justify-content:flex-start; }
  .bzh .bzh-callback-err{ text-align:left; }
}
@media (max-width:560px){
  .bzh-callback{ grid-template-columns:1fr; padding:24px 20px; gap:16px; }
  .bzh-callback-ico{ display:none; }
  .bzh .bzh-callback-form input,.bzh .bzh-callback-form button{ width:100%; }
  .bzh .bzh-callback-err{ text-align:left; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.bzh-footer{ background:#262626; color:#BDBDBD; padding-top:60px; margin-top:0; }
.bzh-footer-grid{ display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:36px; padding-bottom:44px; }
.bzh .bzh-footer-logo img{ width:140px; height:auto; margin-bottom:16px; }
.bzh-footer-brand p{ font-size:.88rem; line-height:1.6; max-width:34ch; margin-bottom:18px; }
.bzh-footer-contact li{ margin-bottom:8px; }
html body .bzh .bzh-footer-contact a{ display:inline-flex; align-items:center; gap:9px; color:#fff; font-size:.88rem; font-weight:600; }
html body .bzh .bzh-footer-contact a:hover{ color:var(--bz-o); }
.bzh-footer-contact .bzh-ico{ color:var(--bz-o); width:17px; height:17px; }
.bzh.bzh-footer h4{ color:#fff; font-size:.95rem; font-weight:700; margin-bottom:14px; }
html body .bzh .bzh-footer-col a{ display:block; padding:4px 0; font-size:.86rem; color:#BDBDBD; }
html body .bzh .bzh-footer-col a:hover{ color:var(--bz-o); }
.bzh-footer-bottom{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.1); padding-top:18px; padding-bottom:22px; font-size:.8rem; color:#8f8f8f; }
@media (max-width:1024px){ .bzh-footer-grid{ grid-template-columns:repeat(2,1fr); } .bzh-footer-brand{ grid-column:1/-1; } }
@media (max-width:520px){ .bzh-footer{ padding-top:44px; } .bzh-footer-grid{ gap:26px 18px; } }

@media (prefers-reduced-motion:reduce){
  .bzh *{ transition:none !important; }
  .bzh .bzh-cat:hover,.bzh .bzh-card:hover,.bzh .bzh-btn:hover{ transform:none; }
}
.bzh .screen-reader-text{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
