/* ===========================================================
   E-BRH — Elementor custom widgets · styles scopés .ebrh-*
   Charte : Archivo + IBM Plex Sans · dégradé 135° vert→bleu
   =========================================================== */
.ebrh, .ebrh *{box-sizing:border-box;}
.ebrh{
  --blue:#2C82C9; --green:#4CB16A; --navy:#173F75; --teal:#3A8E84;
  --ink:#1B2733; --grey:#647480; --mist:#F3F6F8; --line:#E1E8ED; --white:#fff;
  --grad:linear-gradient(135deg,#4CB16A 0%,#3A8E84 48%,#2C82C9 100%);
  --shadow-sm:0 2px 10px rgba(23,63,117,.06);
  --shadow:0 14px 40px rgba(23,63,117,.10);
  --shadow-lg:0 24px 60px rgba(23,63,117,.16);
  --r:14px; --r-lg:20px;
  font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink); font-size:18px; line-height:1.7;
}
.ebrh h1,.ebrh h2,.ebrh h3,.ebrh h4{font-family:'Archivo',system-ui,sans-serif; margin:0; line-height:1.12; color:var(--ink); letter-spacing:-.01em;}
.ebrh p{margin:0 0 1rem;}
.ebrh a{color:var(--blue); text-decoration:none;}
.ebrh img{max-width:100%; display:block;}
.ebrh-wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
.ebrh-sec{padding:clamp(56px,7vw,96px) 0;}
.ebrh-sec.alt{background:var(--mist);}
.ebrh-kicker{font-family:'Archivo'; font-weight:700; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); margin:0 0 12px;}
.ebrh-h2{font-size:clamp(1.9rem,3.6vw,2.7rem); font-weight:800; color:var(--navy);}
.ebrh-lead{font-size:clamp(1.05rem,1.6vw,1.22rem); color:var(--grey); max-width:64ch;}
.ebrh-center{text-align:center;} .ebrh-mx{margin-left:auto;margin-right:auto;}

/* buttons */
.ebrh-btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 26px; border-radius:11px; font-family:'Archivo'; font-weight:700; font-size:1.02rem; border:2px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s; white-space:nowrap;}
.ebrh-btn-pri{background:var(--grad); color:#fff; box-shadow:0 8px 22px rgba(44,130,201,.28);}
.ebrh-btn-pri:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(44,130,201,.36); color:#fff;}
.ebrh-btn-sec{background:#fff; color:var(--navy); border-color:var(--blue);}
.ebrh-btn-sec:hover{background:var(--mist); transform:translateY(-2px);}
.ebrh-btn-light{background:#fff; color:var(--navy);} .ebrh-btn-light:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
.ebrh-btn-ol{background:transparent; color:#fff; border-color:rgba(255,255,255,.85);}
.ebrh-btn-ol:hover{background:rgba(255,255,255,.14); transform:translateY(-2px); color:#fff;}

.ebrh-badge{display:inline-flex; align-items:center; gap:8px; padding:8px 15px; border:1.5px solid var(--line); border-radius:999px; background:#fff; font-size:.92rem; font-weight:500; color:var(--ink); box-shadow:var(--shadow-sm);}
.ebrh-badge svg,.ebrh-badge i{width:17px;height:17px; color:var(--green); flex:none; font-size:15px;}
.ebrh-badge.on-grad{background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.45); color:#fff;}
.ebrh-badge.on-grad svg,.ebrh-badge.on-grad i{color:#fff;}

/* ---------- header ---------- */
.ebrh-hdr{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.ebrh-hdr-in{display:flex; align-items:center; gap:22px; min-height:78px;}
.ebrh-logo img{height:52px; width:auto;}
.ebrh-nav{display:flex; gap:6px; margin-left:14px;}
.ebrh-nav a{color:var(--ink); font-weight:500; font-size:1rem; padding:10px 12px; border-radius:8px; position:relative;}
.ebrh-nav a::after{content:""; position:absolute; left:12px; right:12px; bottom:6px; height:2px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .22s ease;}
.ebrh-nav a:hover{color:var(--navy);} .ebrh-nav a:hover::after{transform:scaleX(1);}
.ebrh-hdr-cta{margin-left:auto; display:flex; align-items:center; gap:16px;}
.ebrh-tel{display:inline-flex; align-items:center; gap:10px; color:var(--navy); font-family:'Archivo'; font-weight:700; font-size:1.12rem; white-space:nowrap;}
.ebrh-tel .ic{width:38px;height:38px;border-radius:50%; background:var(--mist); border:1.5px solid var(--blue); display:flex;align-items:center;justify-content:center; color:var(--blue);}
.ebrh-tel .ic svg{width:18px;height:18px;}
.ebrh-burger{display:none; width:52px;height:52px;border:1.5px solid var(--line);border-radius:11px; flex-direction:column; gap:5px; align-items:center; justify-content:center; background:#fff; cursor:pointer;}
.ebrh-burger span{width:24px;height:2.5px;background:var(--navy);border-radius:2px;}
.ebrh-mmenu{display:none; border-top:1px solid var(--line); background:#fff;}
.ebrh-mmenu a{display:block; padding:16px 0; font-size:1.1rem; font-weight:500; color:var(--ink); border-bottom:1px solid var(--mist);}
.ebrh-mmenu .ebrh-btn-pri{margin:18px 0; width:100%;}
.ebrh-mtoggle{display:none;}
.ebrh-mtoggle:checked ~ .ebrh-mmenu{display:block;}
@media(max-width:980px){ .ebrh-nav{display:none;} .ebrh-hdr-cta .ebrh-btn-pri{display:none;} .ebrh-burger{display:flex;} }

/* ---------- hero ---------- */
.ebrh-hero{position:relative; min-height:clamp(540px,80vh,740px); display:flex; align-items:center; overflow:hidden;}
.ebrh-hero-bg{position:absolute; inset:0; z-index:0; background:var(--grad); background-size:cover; background-position:center;}
.ebrh-hero-bg::after{content:""; position:absolute; inset:0; background:radial-gradient(120% 80% at 80% 0%, rgba(255,255,255,.12), transparent 60%), linear-gradient(180deg, rgba(23,39,51,.10) 0%, rgba(23,39,51,.40) 100%);}
.ebrh-hero .ebrh-wrap{position:relative; z-index:3; width:100%;}
.ebrh-hero-card{background:rgba(255,255,255,.96); border-radius:var(--r-lg); padding:clamp(28px,3.4vw,46px); max-width:640px; box-shadow:var(--shadow-lg);}
.ebrh-hero-badges{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px;}
.ebrh-hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem); font-weight:900; color:var(--ink);}
.ebrh-hero h1 .g{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.ebrh-hero .ebrh-lead{margin:18px 0 26px; color:#3a4a57;}
.ebrh-hero-actions{display:flex; flex-wrap:wrap; gap:14px;}

/* ---------- proofstrip / counters ---------- */
.ebrh-proof{background:var(--navy); color:#fff;}
.ebrh-proof .ebrh-grid{display:grid; grid-template-columns:repeat(4,1fr);}
.ebrh-proof .it{padding:22px 16px; text-align:center; border-right:1px solid rgba(255,255,255,.12);}
.ebrh-proof .it:last-child{border-right:0;}
.ebrh-proof b{display:block; font-family:'Archivo'; font-weight:800; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1;}
.ebrh-proof small{font-size:.9rem; color:#b9c8d6;}
@media(max-width:680px){ .ebrh-proof .ebrh-grid{grid-template-columns:1fr 1fr;} .ebrh-proof .it:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12);} }
.ebrh-counters{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
@media(max-width:680px){ .ebrh-counters{grid-template-columns:1fr 1fr;} }
.ebrh-counter{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px 16px; text-align:center; box-shadow:var(--shadow-sm);}
.ebrh-counter b{display:block; font-family:'Archivo'; font-weight:900; font-size:clamp(2rem,4vw,2.8rem); color:var(--navy); line-height:1;}
.ebrh-counter small{color:var(--grey); font-size:.96rem;}

/* ---------- services ---------- */
.ebrh-svc{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:38px;}
@media(max-width:900px){ .ebrh-svc{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .ebrh-svc{grid-template-columns:1fr;} }
.ebrh-card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:28px; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; display:block; color:inherit;}
.ebrh-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.ebrh-card .ic{width:56px;height:56px;border-radius:14px; background:linear-gradient(135deg,rgba(76,177,106,.14),rgba(44,130,201,.14)); display:flex;align-items:center;justify-content:center; color:var(--blue); margin-bottom:18px; font-size:26px;}
.ebrh-card .ic svg{width:30px;height:30px;}
.ebrh-card h3{font-size:1.3rem; font-weight:700; color:var(--navy); margin-bottom:8px;}
.ebrh-card p{color:var(--grey); margin:0; font-size:1rem;}
.ebrh-card .more{display:inline-block; margin-top:14px; color:var(--blue); font-weight:600; font-size:.95rem;}

/* ---------- cycle ---------- */
.ebrh-cyc{position:relative; width:440px; height:440px; max-width:92vw; margin:46px auto 0;}
.ebrh-cyc-ring{position:absolute; inset:64px; border-radius:50%; border:2px dashed rgba(58,142,132,.5);}
.ebrh-cyc-center{position:absolute; inset:33%; border-radius:50%; background:var(--grad); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-shadow:var(--shadow); padding:10px;}
.ebrh-cyc-center b{font-family:'Archivo'; font-weight:800; font-size:1.1rem; line-height:1.05;}
.ebrh-cyc-center small{font-size:.72rem; opacity:.9; letter-spacing:.06em; text-transform:uppercase;}
.ebrh-cyc-node{position:absolute; width:138px; height:138px; margin:-69px 0 0 -69px; border-radius:50%; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:12px; transition:transform .2s ease;}
.ebrh-cyc-node:hover{transform:scale(1.05);}
.ebrh-cyc-node b{font-family:'Archivo'; font-weight:800; color:#fff; width:38px;height:38px;border-radius:50%; display:flex;align-items:center;justify-content:center; margin-bottom:7px; font-size:1.1rem;}
.ebrh-cyc-node span{font-family:'Archivo'; font-weight:700; font-size:1.02rem; color:var(--navy); line-height:1.1;}
.ebrh-cyc-node small{font-size:.78rem; color:var(--grey); margin-top:3px;}
.ebrh-cyc-node.n1{top:0; left:50%;} .ebrh-cyc-node.n1 b{background:var(--blue);}
.ebrh-cyc-node.n2{top:50%; left:100%;} .ebrh-cyc-node.n2 b{background:var(--green);}
.ebrh-cyc-node.n3{top:100%; left:50%;} .ebrh-cyc-node.n3 b{background:var(--teal);}
.ebrh-cyc-node.n4{top:50%; left:0;} .ebrh-cyc-node.n4 b{background:var(--navy);}
@media(max-width:560px){
  .ebrh-cyc{width:auto; height:auto; margin-top:30px; display:grid; gap:14px;}
  .ebrh-cyc-ring{display:none;}
  .ebrh-cyc-center{position:static; inset:auto; width:100%; border-radius:var(--r); padding:18px; flex-direction:row; gap:10px; justify-content:center;}
  .ebrh-cyc-node{position:static; width:100%; height:auto; margin:0; flex-direction:row; gap:14px; justify-content:flex-start; text-align:left; border-radius:var(--r); padding:16px 18px;}
  .ebrh-cyc-node b{margin:0;}
}

/* ---------- features / why ---------- */
.ebrh-feat{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:34px;}
@media(max-width:760px){ .ebrh-feat{grid-template-columns:1fr;} }
.ebrh-feat .item{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow-sm);}
.ebrh-feat .item h3{font-size:1.2rem; color:var(--navy); margin-bottom:8px; font-weight:700;}
.ebrh-feat .item p{color:var(--grey); margin:0; font-size:1rem;}

/* ---------- zones ---------- */
.ebrh-zone{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start;}
@media(max-width:860px){ .ebrh-zone{grid-template-columns:1fr;} }
.ebrh-deps{display:flex; flex-wrap:wrap; gap:10px; margin-top:14px;}
.ebrh-dep{min-width:60px;height:56px; padding:0 14px; border:1.5px solid var(--line); border-radius:12px; display:flex;align-items:center;justify-content:center; font-family:'Archivo'; font-weight:800; font-size:1.1rem; color:var(--navy); background:#fff; box-shadow:var(--shadow-sm); gap:8px;}
.ebrh-dep small{font-family:'IBM Plex Sans'; font-weight:500; font-size:.78rem; color:var(--grey);}
.ebrh-zone-links{margin-top:18px; font-size:1rem; color:var(--grey);}

/* ---------- bilan / feature gradient block ---------- */
.ebrh-bilan{background:var(--grad); border-radius:var(--r-lg); color:#fff; padding:clamp(30px,4vw,52px); display:grid; grid-template-columns:1.15fr .85fr; gap:38px; align-items:center; box-shadow:var(--shadow);}
@media(max-width:860px){ .ebrh-bilan{grid-template-columns:1fr; padding:30px;} }
.ebrh-bilan h2{color:#fff; font-size:clamp(1.7rem,3.2vw,2.5rem); font-weight:800;}
.ebrh-bilan .ebrh-kicker{color:rgba(255,255,255,.9);}
.ebrh-bilan p{color:rgba(255,255,255,.94);}
.ebrh-bilan ul{list-style:none; padding:0; margin:18px 0 26px; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
@media(max-width:520px){ .ebrh-bilan ul{grid-template-columns:1fr;} }
.ebrh-bilan li{display:flex; align-items:flex-start; gap:10px; font-weight:500;}
.ebrh-bilan li svg{width:22px;height:22px; flex:none; color:#fff; margin-top:3px;}
.ebrh-bilan-visual{background:rgba(255,255,255,.12); border:1px dashed rgba(255,255,255,.5); border-radius:var(--r); min-height:230px; display:flex; align-items:center; justify-content:center; text-align:center; color:rgba(255,255,255,.92); font-size:.92rem; padding:20px; background-size:cover; background-position:center;}

/* ---------- gallery before/after ---------- */
.ebrh-gal{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px;}
@media(max-width:860px){ .ebrh-gal{grid-template-columns:1fr;} }
.ebrh-ba{border:1px solid var(--line); border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-sm); background:#fff;}
.ebrh-ba .imgs{display:grid; grid-template-columns:1fr 1fr;}
.ebrh-ph{background:repeating-linear-gradient(45deg,#eef3f6 0 12px,#e6edf1 12px 24px); min-height:170px; display:flex; align-items:flex-end; justify-content:flex-start; padding:10px; color:#56636c; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; background-size:cover; background-position:center;}
.ebrh-ph .tag{background:rgba(255,255,255,.85); padding:3px 8px; border-radius:6px;}
.ebrh-ba .imgs .ebrh-ph + .ebrh-ph{border-left:1px solid var(--line);}
.ebrh-ba .cap{padding:14px 18px; color:var(--grey); font-size:.96rem; border-top:1px solid var(--line);}

/* ---------- testimonials ---------- */
.ebrh-testi{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px;}
@media(max-width:860px){ .ebrh-testi{grid-template-columns:1fr;} }
.ebrh-quote{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;}
.ebrh-stars{color:#E0A93B; font-size:1.1rem; letter-spacing:3px; margin-bottom:12px;}
.ebrh-quote p{color:var(--ink); font-size:1.04rem;}
.ebrh-who{display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:16px;}
.ebrh-who .av{width:46px;height:46px;border-radius:50%; background:var(--grad); flex:none; background-size:cover;}
.ebrh-who b{font-family:'Archivo'; font-weight:700; color:var(--navy); display:block; font-size:1rem;}
.ebrh-who small{color:var(--grey);}

/* ---------- about split ---------- */
.ebrh-about{display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center;}
@media(max-width:860px){ .ebrh-about{grid-template-columns:1fr;} }
.ebrh-media{min-height:340px; border-radius:var(--r); background:repeating-linear-gradient(45deg,#eef3f6 0 12px,#e6edf1 12px 24px); display:flex; align-items:center; justify-content:center; color:#7d8c96; font-size:.85rem; text-align:center; background-size:cover; background-position:center;}
.ebrh-chips{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;}

/* ---------- faq ---------- */
.ebrh-faq{max-width:840px; margin:36px auto 0;}
.ebrh-q{border:1px solid var(--line); border-radius:var(--r); background:#fff; margin-bottom:14px; overflow:hidden; box-shadow:var(--shadow-sm);}
.ebrh-q summary{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; cursor:pointer; font-family:'Archivo'; font-weight:700; font-size:1.1rem; color:var(--navy); list-style:none; min-height:60px;}
.ebrh-q summary::-webkit-details-marker{display:none;}
.ebrh-q .pm{width:32px;height:32px;border-radius:50%; background:var(--mist); display:flex;align-items:center;justify-content:center; color:var(--blue); font-size:1.4rem; flex:none; transition:transform .22s ease;}
.ebrh-q[open] .pm{transform:rotate(45deg);}
.ebrh-q .ans{padding:0 24px 22px; color:var(--grey); font-size:1.02rem;}

/* ---------- final CTA ---------- */
.ebrh-finalcta{background:var(--grad); border-radius:var(--r-lg); color:#fff; padding:clamp(40px,5vw,68px) 32px; text-align:center; box-shadow:var(--shadow);}
.ebrh-finalcta h2{color:#fff; font-size:clamp(1.9rem,4vw,3rem); font-weight:900;}
.ebrh-finalcta p{color:rgba(255,255,255,.92); max-width:560px; margin:14px auto 28px; font-size:1.1rem;}
.ebrh-finalcta .row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}

/* ---------- richtext ---------- */
.ebrh-rt{max-width:860px;}
.ebrh-rt.wide{max-width:1100px;}
.ebrh-rt h2{color:var(--navy); font-size:clamp(1.6rem,3vw,2.3rem); font-weight:800; margin:0 0 18px;}
.ebrh-rt h3{color:var(--navy); font-size:1.35rem; font-weight:700; margin:28px 0 10px;}
.ebrh-rt p{margin:0 0 16px;}
.ebrh-rt ul{margin:0 0 18px; padding-left:22px;} .ebrh-rt li{margin:6px 0;}
.ebrh-rt a{color:var(--blue); text-decoration:underline;}

/* ---------- contact form ---------- */
.ebrh-contact{display:grid; grid-template-columns:1fr .9fr; gap:40px; align-items:start;}
@media(max-width:860px){ .ebrh-contact{grid-template-columns:1fr;} }
.ebrh-form{background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(24px,3vw,38px); box-shadow:var(--shadow);}
.ebrh-form .grid2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media(max-width:560px){ .ebrh-form .grid2{grid-template-columns:1fr;} }
.ebrh-field{display:block; margin-bottom:16px;}
.ebrh-field label{display:block; font-weight:600; font-size:.95rem; color:var(--ink); margin-bottom:6px;}
.ebrh-field input,.ebrh-field select,.ebrh-field textarea{width:100%; min-height:52px; padding:12px 14px; border:1.5px solid var(--line); border-radius:10px; font-family:inherit; font-size:1rem; color:var(--ink); background:#fff;}
.ebrh-field textarea{min-height:120px; resize:vertical;}
.ebrh-field input:focus,.ebrh-field select:focus,.ebrh-field textarea:focus{outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(44,130,201,.15);}
.ebrh-consent{display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--grey); margin-bottom:18px;}
.ebrh-consent input{width:20px;height:20px;min-height:auto; flex:none; margin-top:2px;}
.ebrh-form .ebrh-btn{width:100%;}
.ebrh-form-note{font-size:.86rem; color:var(--grey); margin-top:14px; text-align:center;}
.ebrh-coords{display:grid; gap:16px;}
.ebrh-coords .li{display:flex; gap:12px; align-items:flex-start;}
.ebrh-coords .li svg{width:22px;height:22px;color:var(--green);flex:none;margin-top:3px;}
.ebrh-coords .li b{font-family:'Archivo'; color:var(--navy); display:block;}
.ebrh-alert{padding:14px 18px; border-radius:10px; margin-bottom:18px; font-weight:500;}
.ebrh-alert.ok{background:#e8f6ed; color:#1d6b39; border:1px solid #b6e0c5;}

/* ---------- footer ---------- */
.ebrh-ftr{background:#142230; color:#c2cdd6; padding:60px 0 28px; font-family:'IBM Plex Sans',sans-serif;}
.ebrh-ftr-grid{display:grid; grid-template-columns:1.5fr 1fr 1.1fr 1fr; gap:34px;}
@media(max-width:860px){ .ebrh-ftr-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .ebrh-ftr-grid{grid-template-columns:1fr;} }
.ebrh-ftr .ebrh-logo img{height:56px; margin-bottom:16px;}
.ebrh-ftr h4{font-family:'Archivo'; font-weight:700; color:#fff; font-size:1.05rem; margin-bottom:14px;}
.ebrh-ftr a{color:#c2cdd6;} .ebrh-ftr a:hover{color:#fff;}
.ebrh-ftr .muted{color:#90a1ad; font-size:.96rem;}
.ebrh-ftr-list{list-style:none; padding:0; margin:0; display:grid; gap:9px;}
.ebrh-ftr-contact{display:grid; gap:9px;}
.ebrh-ftr-contact .li{display:flex; gap:10px; align-items:flex-start;}
.ebrh-ftr-contact svg{width:18px;height:18px; color:var(--green); flex:none; margin-top:3px;}
.ebrh-ftr-badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;}
.ebrh-ftr-badges .ebrh-badge{background:transparent; border-color:#33424f; color:#aebdc8; box-shadow:none;}
.ebrh-ftr-bottom{border-top:1px solid #243440; margin-top:40px; padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.9rem; color:#8595a1;}
.ebrh-ftr-bottom a{color:#8595a1;}

/* reveal */
@media(prefers-reduced-motion:no-preference){
  .ebrh-reveal{opacity:0; transform:translateY(22px); transition:opacity .5s ease, transform .5s ease;}
  .ebrh-reveal.in{opacity:1; transform:none;}
}
/* Elementor editor : neutralise le sticky qui gêne l'édition */
.elementor-editor-active .ebrh-hdr{position:relative;}

/* ---------- page hero (intérieur) ---------- */
.ebrh-phero{position:relative; overflow:hidden; padding:clamp(40px,5vw,72px) 0 clamp(48px,6vw,80px); color:#fff;}
.ebrh-phero-bg{position:absolute; inset:0; z-index:0; background:var(--grad); background-size:cover; background-position:center;}
.ebrh-phero.has-img .ebrh-phero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(120deg, rgba(23,63,117,.86), rgba(58,142,132,.74));}
.ebrh-phero .ebrh-wrap{position:relative; z-index:2;}
.ebrh-crumb{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.92rem; margin-bottom:18px;}
.ebrh-crumb a{color:rgba(255,255,255,.9); text-decoration:underline; text-underline-offset:3px;}
.ebrh-crumb a:hover{color:#fff;}
.ebrh-crumb span[aria-hidden]{color:rgba(255,255,255,.6);}
.ebrh-crumb .cur{color:#fff; font-weight:600;}
.ebrh-phero-card{max-width:760px;}
.ebrh-phero h1{font-family:'Archivo'; font-weight:900; font-size:clamp(1.9rem,4.4vw,3.1rem); color:#fff; line-height:1.1;}
.ebrh-phero .ebrh-kicker.on-grad{color:#fff; opacity:.92;}
.ebrh-phero .ebrh-lead{color:rgba(255,255,255,.94); margin:16px 0 26px; max-width:60ch;}
.ebrh-phero .ebrh-hero-actions{display:flex; flex-wrap:wrap; gap:14px;}

/* ---------- steps (méthode numérotée) ---------- */
.ebrh-steps{list-style:none; margin:28px 0 0; padding:0; display:grid; gap:16px; counter-reset:none;}
.ebrh-step{display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:22px 24px; box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease;}
.ebrh-step:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
.ebrh-step .num{flex:none; width:48px; height:48px; border-radius:50%; background:var(--grad); color:#fff; font-family:'Archivo'; font-weight:800; font-size:1.3rem; display:flex; align-items:center; justify-content:center;}
.ebrh-step h3{font-family:'Archivo'; font-weight:700; font-size:1.18rem; color:var(--navy); margin:6px 0 0;}
.ebrh-step p{margin:8px 0 0; color:var(--grey); font-size:1rem;}
@media(min-width:861px){ .ebrh-steps.cols{grid-template-columns:1fr 1fr;} }

/* ===== CONTRASTE & HEADER rework 2026-06-06 ===== */
.ebrh{ --grad-btn:linear-gradient(135deg,#2C82C9 0%,#173F75 100%); }
.ebrh .ebrh-btn-pri{ background:var(--grad-btn); color:#fff !important; font-weight:800; box-shadow:0 8px 22px rgba(23,63,117,.30); }
.ebrh .ebrh-btn-pri:hover{ color:#fff !important; }
.ebrh .ebrh-btn-light{ background:#fff; color:var(--navy) !important; font-weight:800; }
.ebrh .ebrh-btn-light:hover{ color:var(--navy) !important; background:#fff; }
.ebrh .ebrh-btn-ol{ background:rgba(15,32,52,.30); color:#fff !important; border:2px solid #fff; font-weight:800; }
.ebrh .ebrh-btn-ol:hover{ background:rgba(15,32,52,.46); color:#fff !important; }
.ebrh .ebrh-btn-sec{ color:var(--navy) !important; border-color:var(--navy); font-weight:800; }
.ebrh .ebrh-tel, .ebrh .ebrh-tel a{ color:var(--navy) !important; font-weight:800; text-decoration:none; }
.ebrh .ebrh-tel .ic{ background:#fff; border-color:var(--navy); }
.ebrh .ebrh-tel .ic svg{ color:var(--navy); }
.ebrh-phero h1, .ebrh-phero .ebrh-lead, .ebrh-phero .ebrh-kicker, .ebrh-phero .ebrh-crumb .cur, .ebrh-phero .ebrh-crumb a{ color:#fff !important; }

/* ===== HEADER nav + sous-menus déroulants 2026-06-06 ===== */
.ebrh-nav{display:flex; gap:2px; margin-left:14px;}
.ebrh-nav-item{position:relative;}
.ebrh-nav-item>a{display:inline-flex; align-items:center; gap:5px; color:var(--ink); font-weight:600; font-size:1rem; padding:12px 14px; border-radius:8px;}
.ebrh-nav-item>a .chev{width:15px; height:15px; transition:transform .2s;}
.ebrh-nav-item>a:hover{color:var(--navy); background:var(--mist);}
.ebrh-nav-item.has-sub:hover>a .chev,.ebrh-nav-item.has-sub:focus-within>a .chev{transform:rotate(180deg);}
.ebrh-nav-item>a::after{display:none !important;}
.ebrh-sub{position:absolute; top:100%; left:0; min-width:290px; padding-top:10px; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease, transform .2s ease; z-index:80;}
.ebrh-nav-item.has-sub:hover .ebrh-sub,.ebrh-nav-item.has-sub:focus-within .ebrh-sub{opacity:1; visibility:visible; transform:none;}
.ebrh-sub-in{background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-lg); padding:10px; display:flex; flex-direction:column; gap:2px;}
.ebrh-sub-in a{padding:12px 16px; border-radius:10px; color:var(--ink) !important; font-weight:600; font-size:.97rem;}
.ebrh-sub-in a::after{display:none !important;}
.ebrh-sub-in a:hover{background:var(--mist); color:var(--navy) !important;}
.ebrh-macc{border-bottom:1px solid var(--mist);}
.ebrh-macc summary{display:flex; justify-content:space-between; align-items:center; padding:16px 0; font-size:1.1rem; font-weight:600; color:var(--ink); cursor:pointer; list-style:none;}
.ebrh-macc summary::-webkit-details-marker{display:none;}
.ebrh-macc summary::after{content:"+"; color:var(--blue); font-size:1.5rem; line-height:1;}
.ebrh-macc[open] summary::after{content:"\2013";}
.ebrh-macc a{display:block; padding:12px 0 12px 18px; font-size:1.02rem; color:var(--grey); border-top:1px solid var(--mist);}
.ebrh-mmenu .ebrh-tel-m{padding:18px 0;}
@media(min-width:981px){ .ebrh-tel-m{display:none;} }

/* ===== HEADER v3 — menu off-canvas (panneau droit) 2026-06-07 ===== */
.ebrh-hdr-in{min-height:74px;}
.ebrh-logo img{height:46px !important; width:auto !important;}
.ebrh-nav{display:none !important;}
.ebrh-hdr-cta{margin-left:auto; display:flex; align-items:center; gap:14px;}
.ebrh-burger{display:flex !important; width:50px; height:50px;}
@media(max-width:600px){ .ebrh-hdr-devis{display:none !important;} .ebrh-hdr-cta .ebrh-tel{display:none !important;} }
.ebrh-mback{position:fixed; inset:0; background:rgba(15,32,52,.55); opacity:0; visibility:hidden; transition:opacity .25s ease; z-index:190; cursor:pointer; border:0;}
.ebrh-mtoggle:checked ~ .ebrh-mback{opacity:1; visibility:visible;}
.ebrh-drawer{position:fixed; top:0; right:0; height:100dvh; width:min(380px,88vw); background:#fff; box-shadow:-20px 0 60px rgba(23,63,117,.20); transform:translateX(102%); transition:transform .32s cubic-bezier(.4,0,.2,1); z-index:200; overflow-y:auto; display:flex; flex-direction:column;}
.ebrh-mtoggle:checked ~ .ebrh-drawer{transform:none;}
body:has(.ebrh-mtoggle:checked){overflow:hidden;}

/* ===== HEADER drawer style "Menu" (réf. type Hims) 2026-06-07 ===== */
.ebrh-drawer{padding:0 0 26px !important;}
.ebrh-drawer-top{display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; z-index:2;}
.ebrh-drawer-title{font-family:'Archivo'; font-weight:800; font-size:1.3rem; color:var(--navy);}
.ebrh-mclose{position:static !important; width:44px; height:44px; display:flex; align-items:center; justify-content:center; color:var(--navy); cursor:pointer; border-radius:10px; margin:-6px -8px -6px 0;}
.ebrh-mclose svg{width:22px; height:22px;}
.ebrh-mclose:hover{background:var(--mist);}
.ebrh-drawer-sec{font-family:'Archivo'; font-weight:700; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grey); margin:22px 24px 4px;}
.ebrh-dnav{padding:0 12px; display:flex; flex-direction:column;}
.ebrh-dnav>a,.ebrh-dacc>summary{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 12px; font-family:'Archivo'; font-weight:600; font-size:1.08rem; color:var(--ink) !important; border-bottom:1px solid var(--mist); cursor:pointer; list-style:none; text-decoration:none;}
.ebrh-dnav>a .cr,.ebrh-dacc>summary .cr{width:18px; height:18px; color:var(--blue); transition:transform .2s ease; flex:none;}
.ebrh-dnav>a::after,.ebrh-dacc a::after{display:none !important;}
.ebrh-dnav>a:hover,.ebrh-dacc>summary:hover{color:var(--navy) !important;}
.ebrh-dacc>summary::-webkit-details-marker{display:none;}
.ebrh-dacc[open]>summary .cr{transform:rotate(90deg);}
.ebrh-dacc a{display:block; padding:13px 12px 13px 28px; font-size:1rem; color:var(--grey) !important; border-bottom:1px solid var(--mist); text-decoration:none;}
.ebrh-dacc a:hover{color:var(--navy) !important;}
.ebrh-drawer-foot{margin-top:auto; padding:10px 24px 0;}
.ebrh-drawer-tel{display:flex !important; gap:10px; align-items:center; padding:16px 0 !important; font-size:1.12rem;}
.ebrh-drawer-cta{width:100%; margin-top:8px;}

/* FIX drawer : backdrop-filter sur le header piégeait le position:fixed du drawer */
.ebrh-hdr{ backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:#fff !important; }

/* ===== HEADER + DRAWER polish v4 (réf. Hims, charte E-BRH) 2026-06-07 ===== */
.ebrh-hdr{box-shadow:0 1px 0 var(--line); border-bottom:0 !important;}
.ebrh-hdr-in{min-height:80px;}
.ebrh-logo img{height:44px !important;}
.ebrh-hdr-cta{gap:20px;}
.ebrh-burger{border:0 !important; background:transparent !important; width:46px; height:46px; gap:6px;}
.ebrh-burger:hover{background:var(--mist) !important;}
.ebrh-burger span{width:26px; height:2.5px; background:var(--navy);}
.ebrh-tel{font-size:1.12rem;}
.ebrh-hdr-devis{padding:0 24px; min-height:50px;}
.ebrh-drawer{width:min(420px,90vw) !important;}
.ebrh-drawer-top{padding:24px 28px !important; border-bottom:1px solid var(--line) !important;}
.ebrh-drawer-title{font-size:1.5rem !important; font-weight:800 !important; color:var(--navy) !important; letter-spacing:-.01em;}
.ebrh-mclose svg{width:24px !important; height:24px !important;}
.ebrh-drawer-sec{margin:28px 28px 2px !important; color:var(--teal) !important; font-size:.72rem !important; font-weight:700; letter-spacing:.16em;}
.ebrh-dnav{padding:0 16px !important;}
.ebrh-dnav>a, .ebrh-dacc>summary{padding:22px 12px !important; font-size:1.18rem !important; font-weight:600 !important; color:var(--ink) !important; border-bottom:1px solid var(--line) !important; transition:padding-left .2s ease, color .2s ease;}
.ebrh-dnav>a .cr, .ebrh-dacc>summary .cr{width:20px !important; height:20px !important; color:var(--blue) !important;}
.ebrh-dnav>a:hover, .ebrh-dacc>summary:hover{color:var(--navy) !important; padding-left:18px !important;}
.ebrh-dacc a{padding:15px 12px 15px 26px !important; font-size:1.04rem !important; color:var(--grey) !important; border-bottom:1px solid var(--line) !important;}
.ebrh-dacc a:hover{color:var(--navy) !important;}
.ebrh-drawer-foot{margin-top:20px !important; padding:20px 28px 0 !important; border-top:1px solid var(--line);}
.ebrh-drawer-tel{font-size:1.2rem !important; color:var(--navy) !important; font-weight:700; padding:6px 0 14px !important;}
.ebrh-drawer-cta{min-height:58px; font-size:1.06rem; margin-top:6px;}

/* Header minimal : logo + burger seulement (tel & CTA restent dans le drawer) */
.ebrh-hdr-cta .ebrh-tel{display:none !important;}
.ebrh-hdr-cta .ebrh-hdr-devis{display:none !important;}

/* ===== Header transparent sur le hero, fond blanc fixe au scroll (v5) ===== */
.ebrh-hdr{position:fixed !important; top:0; left:0; right:0; background:transparent !important; box-shadow:none !important; border:0 !important; transition:background .3s ease, box-shadow .3s ease;}
.ebrh-hdr:not(.ebrh-scrolled) .ebrh-logo img{filter:brightness(0) invert(1);}
.ebrh-hdr:not(.ebrh-scrolled) .ebrh-burger span{background:#fff;}
.ebrh-hdr.ebrh-scrolled{background:#fff !important; box-shadow:0 2px 20px rgba(23,63,117,.10) !important;}
.ebrh-hdr.ebrh-scrolled .ebrh-burger span{background:var(--navy);}
.ebrh-phero{padding-top:120px !important;}

/* La section Elementor du header = overlay sans espace ; neutralise l'AOS (transform) qui piège le position:fixed */
.elementor-top-section:has(.ebrh-hdr){position:absolute !important; top:0; left:0; right:0; width:100%; min-height:0 !important; padding:0 !important; margin:0 !important; transform:none !important; opacity:1 !important; z-index:300;}
.elementor-top-section:has(.ebrh-hdr) .elementor-container,
.elementor-top-section:has(.ebrh-hdr) .elementor-column,
.elementor-top-section:has(.ebrh-hdr) .elementor-widget-wrap,
.elementor-top-section:has(.ebrh-hdr) .elementor-widget-ebrh-header{min-height:0 !important; padding:0 !important; margin:0 !important;}
/* Supprime l'espace haut (body/.elementor/section hero) pour coller le hero sous le header overlay */
body.elementor-page{margin-top:0 !important; padding-top:0 !important;}
.elementor-page .elementor{margin-top:0 !important; padding-top:0 !important;}
.elementor>.elementor-top-section:nth-child(2){margin-top:0 !important; padding-top:0 !important;}

/* ===== Aération header + descente de la carte hero (v7) ===== */
.ebrh-hdr-in{min-height:96px !important;}
.ebrh-logo img{height:48px !important;}
.ebrh-hero{align-items:flex-start !important; min-height:clamp(640px,92vh,880px) !important; padding-top:clamp(155px,19vh,215px) !important; padding-bottom:clamp(70px,9vh,110px) !important;}

/* ===== Badge Avant/Après galerie + responsive (v8) ===== */
.ebrh-ph{position:relative;}
.ebrh-ba-tag{position:absolute; top:10px; left:10px; z-index:2; color:#fff; font-family:'Archivo'; font-weight:800; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:999px; box-shadow:0 2px 10px rgba(0,0,0,.30);}
.ebrh-ba-tag-before{background:var(--navy);}
.ebrh-ba-tag-after{background:var(--green);}
@media(max-width:560px){ .ebrh-ph{min-height:140px;} .ebrh-ba-tag{font-size:.62rem; padding:4px 9px; top:8px; left:8px;} }
@media(max-width:768px){
  .ebrh-hdr-in{min-height:72px !important;}
  .ebrh-logo img{height:42px !important;}
  .ebrh-hero{min-height:auto !important; padding-top:118px !important; padding-bottom:54px !important;}
  .ebrh-phero{padding-top:104px !important;}
}

/* ===== Fix mobile : débordement texte (grid blowout), bord image bilan, overflow-x (v9) ===== */
html,body{overflow-x:hidden;}
.ebrh-bilan>div{min-width:0;}
.ebrh-bilan p,.ebrh-bilan h2,.ebrh-bilan li{overflow-wrap:break-word;}
.ebrh-bilan-visual{border:0 !important;}
.ebrh-zone>div,.ebrh-hero-card,.ebrh-phero-card{min-width:0; max-width:100%;}
@media(max-width:860px){ .ebrh-bilan{padding:26px 22px !important;} }

/* ===== Boutons d'action alignés au cadre sur mobile (v10) ===== */
@media(max-width:860px){ .ebrh-bilan .ebrh-btn{width:100%; white-space:normal;} }
@media(max-width:560px){
  .ebrh-btn{white-space:normal; max-width:100%;}
  .ebrh-hero-actions .ebrh-btn,
  .ebrh-finalcta .row .ebrh-btn,
  .ebrh-phero .ebrh-hero-actions .ebrh-btn{width:100%;}
}

/* Fix centrage sous-titre (lead) dans sections centrees : un override de margin sur <p> neutralisait margin:auto -> inline-block centre via text-align du parent (2026-06-08) */
.ebrh-center > .ebrh-lead.ebrh-mx{ display:inline-block; }

/* Espacement bas du CTA drawer (2026-06-08) */
.ebrh-drawer-foot{padding-bottom:28px !important;}
.ebrh-drawer-cta{border-radius:12px;}

/* FAB Etre rappele : a gauche + vert marque (2026-06-08) */
.ebrh-fab{left:18px !important;right:auto !important;background:linear-gradient(135deg,#34b36a,#1c8a4f) !important;box-shadow:0 12px 30px rgba(28,138,79,.34) !important;}
.ebrh-fab:hover{box-shadow:0 16px 40px rgba(28,138,79,.46) !important;}
@media(max-width:560px){.ebrh-fab{left:14px !important;right:auto !important;}}
