/* ============================================
   ÈRE HABITAT — feuille de style
   Palette : navy / brique, motif "plan technique"
   ============================================ */

:root{
  --navy:#141B12;
  --navy-deep:#0D110B;
  --navy-mid:#1E2A19;
  --brick:#4F7A2E;
  --brick-dark:#3D5F23;
  --amber:#8CC152;
  --cream:#F7F6F2;
  --paper:#FFFFFF;
  --ink:#181B22;
  --ink-soft:#5C6470;
  --line:#E2E0D6;
  --line-dark:#2E3A26;
  --radius:2px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  line-height:1.12;
  margin:0 0 0.5em;
  letter-spacing:-0.01em;
}
p{margin:0 0 1em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
:focus-visible{outline:2px solid var(--brick); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;}
}

.wrap{max-width:1160px; margin:0 auto; padding:0 28px;}

.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:var(--brick);
  margin-bottom:14px;
  display:flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{
  content:"";
  width:22px; height:1px;
  background:var(--brick);
  display:inline-block;
}

.tag.lead{font-size:1.1rem; color:var(--ink-soft); max-width:52ch;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  font-size:0.95rem;
  padding:13px 22px;
  border-radius:var(--radius);
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn svg{width:16px; height:16px; transition:transform .15s ease;}
.btn:hover svg{transform:translateX(3px);}
.btn-primary{background:var(--brick); color:#fff;}
.btn-primary:hover{background:var(--brick-dark);}
.btn-outline{background:transparent; color:var(--navy); border-color:var(--line-dark);}
.btn-outline:hover{border-color:var(--navy);}
.btn-outline-light{background:transparent; color:#fff; border-color:rgba(255,255,255,0.35);}
.btn-outline-light:hover{border-color:#fff;}

/* ---------- Images solutions ---------- */
.hero-photo{
  width:100%; height:auto; display:block;
  border:1px solid var(--line-dark);
}
.card-img{
  width:calc(100% + 52px);
  margin:-32px -26px 22px;
  display:block;
  border-bottom:1px solid var(--line);
}
.solution-photo{
  width:100%; height:auto; display:block;
  border:1px solid var(--line);
}

/* ---------- Bouton WhatsApp flottant ---------- */
.whatsapp-btn{
  position:fixed; bottom:14px; right:14px; z-index:100;
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px;
  background:#25D366; color:#fff;
  border-radius:50%;
  opacity:0.75;
  box-shadow:0 2px 6px rgba(0,0,0,0.15);
  transition:opacity .15s ease, transform .15s ease;
}
.whatsapp-btn:hover{opacity:1; transform:scale(1.1);}
.whatsapp-btn svg{width:19px; height:19px; flex-shrink:0;}
.whatsapp-btn span{display:none;}

/* ---------- Marques partenaires ---------- */
.brands{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:18px 48px; align-items:center;
  margin-top:8px;
}
.brands span{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:1.25rem;
  letter-spacing:0.04em;
  color:#9AA0A8;
  text-transform:uppercase;
  transition:color .2s ease;
  cursor:default;
}
.brands span:hover{color:var(--navy);}

/* ---------- Badge Qualipac ---------- */
.badge-qualipac{
  display:inline-flex; align-items:center; gap:20px; flex-wrap:wrap;
  background:#fff; padding:12px 18px; border-radius:4px;
  margin-top:30px;
}
.badge-qualipac-main{display:flex; align-items:center; gap:14px;}
.badge-qualipac-divider{width:1px; align-self:stretch; background:#E3E3E3;}
.badge-qualipac img{height:54px; width:auto; display:block;}
.badge-qualipac span{
  font-family:'IBM Plex Mono', monospace; font-size:0.72rem;
  color:var(--ink-soft); line-height:1.5;
}
.footer-badge{
  display:inline-flex; align-items:center; gap:20px; background:#fff; padding:10px 14px;
  border-radius:4px; margin-top:16px;
}
.footer-badge img{height:44px; width:auto; display:block;}
.value-badge{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.value-badge img{height:60px; width:auto; display:block; margin-top:12px;}

/* ---------- Header ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:rgba(246,242,234,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:16px 28px;}
.logo-mark{display:flex; align-items:center; gap:10px;}
.nav-toggle{display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:36px; height:36px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0;}
.nav-toggle span{display:block; width:22px; height:2px; background:var(--ink,#1A1B1F); border-radius:2px; transition:transform .25s ease, opacity .25s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.logo-img{height:84px; width:auto; display:block;}
.footer-logo{
  background:#fff;
  padding:10px 18px;
  border-radius:4px;
  height:56px;
}
.nav-links{display:flex; gap:30px;}
.nav-links a{font-size:0.92rem; font-weight:700; color:var(--ink-soft); position:relative; padding:4px 0;}
.nav-links a:hover, .nav-links a.active{color:var(--navy);}
.nav-links a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--brick);
}
.nav-cta{white-space:nowrap;}

.logo-mark{flex-shrink:0;}
.nav-cta{flex-shrink:0;}
.nav-links{flex-shrink:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
.nav-links::-webkit-scrollbar{display:none;}
.nav-links a{flex-shrink:0;white-space:nowrap;}
@media (max-width:1700px) and (min-width:861px){
  .nav{padding:16px 16px;}
  .logo-img{height:68px;}
  .nav-links{gap:12px;}
  .nav-links a{font-size:0.8rem;}
  .nav-cta{padding:10px 16px; font-size:0.85rem;}
}
@media (max-width:860px){
  .nav-toggle{display:flex;}
  .nav-links{display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; background:var(--bg,#F6F2EA); border-bottom:1px solid var(--line,#ddd); padding:8px 24px 20px; max-height:calc(100vh - 72px); overflow-y:auto; box-shadow:0 12px 24px rgba(0,0,0,.08);}
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 0; font-size:1rem; border-bottom:1px solid rgba(0,0,0,.07); white-space:normal;}
  header{position:relative;}
  .nav{position:relative;}
}

/* ---------- Blueprint signature background ---------- */
.blueprint-bg{
  position:relative;
  background:var(--navy);
  color:#fff;
  overflow:hidden;
}
.blueprint-bg::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.055) 1px, transparent 1px);
  background-size:42px 42px;
  pointer-events:none;
}
.blueprint-bg::after{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 78% 20%, rgba(232,166,107,0.16), transparent 55%);
  pointer-events:none;
}
.cote{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.06em;
  color:rgba(255,255,255,0.5);
}

/* ---------- Hero (home) ---------- */
.hero{padding:96px 0 110px; position:relative;}
.hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:50px; align-items:center; position:relative; z-index:1;}
.hero h1{font-size:clamp(2.4rem, 4.4vw, 3.6rem); color:#fff;}
.hero .lead{color:rgba(255,255,255,0.72); margin:18px 0 32px;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap;}
.hero-stats{
  margin-top:56px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  border-top:1px solid var(--line-dark);
  padding-top:24px;
}
.hero-stats div{border-left:1px solid var(--line-dark); padding-left:18px;}
.hero-stats div:first-child{border-left:none; padding-left:0;}
.hero-stats .num{font-family:'Space Grotesk'; font-size:2rem; font-weight:700; color:var(--amber);}
.hero-stats .lbl{font-family:'IBM Plex Mono'; font-size:0.72rem; color:rgba(255,255,255,0.55); text-transform:uppercase; letter-spacing:0.08em;}

.hero-panel{
  border:1px solid var(--line-dark);
  background:rgba(255,255,255,0.03);
  padding:28px;
  position:relative;
}
.hero-panel .cote{display:block; margin-bottom:16px;}
.hero-panel .diagram{width:100%; height:auto;}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{padding:64px 0 58px;}

/* ---------- Sections ---------- */
section{padding:88px 0;}
.section-head{max-width:640px; margin-bottom:48px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

/* ---------- Cards / grid ---------- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
.card{
  background:var(--paper);
  border:1px solid var(--line);
  padding:32px 26px;
  border-radius:var(--radius);
}
.card .icon{
  width:44px; height:44px;
  border:1px solid var(--line-dark);
  color:var(--brick);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
}
.card .icon svg{width:22px; height:22px;}
.card h3{font-size:1.15rem; margin-bottom:10px;}
.card p{color:var(--ink-soft); font-size:0.95rem; margin-bottom:0;}

.solution-row{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:center;
  padding:52px 0; border-bottom:1px solid var(--line);
}
.solution-row:last-child{border-bottom:none;}
.solution-row .cote{margin-bottom:10px;}
.solution-visual{
  background:var(--navy); aspect-ratio:4/3; position:relative; overflow:hidden;
}
.solution-visual::before{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size:30px 30px;
}
.solution-visual svg{position:relative; z-index:1; width:100%; height:100%;}
.chip-list li{
  display:flex; gap:10px; align-items:flex-start;
  font-size:0.95rem; color:var(--ink-soft); margin-bottom:10px;
}
.chip-list svg{width:16px; height:16px; flex-shrink:0; margin-top:3px; color:var(--brick);}

/* ---------- Stats / process ---------- */
.process{counter-reset:step;}
.step{
  display:grid; grid-template-columns:60px 1fr; gap:20px;
  padding:26px 0; border-bottom:1px solid var(--line);
}
.step:last-child{border-bottom:none;}
.step .idx{
  font-family:'IBM Plex Mono'; color:var(--brick); font-size:0.95rem; padding-top:2px;
}
.step h4{margin-bottom:6px; font-size:1.05rem;}
.step p{color:var(--ink-soft); font-size:0.93rem; margin:0;}

/* ---------- Aides / financement table ---------- */
.aid-table{width:100%; border-collapse:collapse; margin-top:8px;}
.aid-table th, .aid-table td{
  text-align:left; padding:16px 14px; border-bottom:1px solid var(--line); font-size:0.93rem;
}
.aid-table th{
  font-family:'IBM Plex Mono'; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--ink-soft); font-weight:500;
}
.aid-table td:first-child{font-family:'Space Grotesk'; font-weight:600; color:var(--navy);}

/* ---------- Realisations gallery ---------- */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.gallery-item{
  background:var(--navy); aspect-ratio:4/3; position:relative; overflow:hidden;
}
.gallery-item::before{
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size:26px 26px;
}
.gallery-item .cap{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:16px; background:linear-gradient(to top, rgba(11,22,38,0.92), transparent);
}
.gallery-item .cap .cote{color:var(--amber); display:block; margin-bottom:4px;}
.gallery-item .cap strong{color:#fff; font-family:'Space Grotesk'; font-size:0.98rem;}

.testimonial{
  background:var(--paper); border:1px solid var(--line); padding:30px; border-left:3px solid var(--brick);
}
.testimonial p{font-size:1rem; color:var(--ink); margin-bottom:14px;}
.testimonial .who{font-family:'IBM Plex Mono'; font-size:0.78rem; color:var(--ink-soft);}

/* ---------- About / team ---------- */
.value-row{display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--line);}
.value-row:last-child{border-bottom:none;}
.value-row .cote{min-width:70px;}
.value-row h4{margin-bottom:6px; font-size:1.05rem;}
.value-row p{color:var(--ink-soft); margin:0; font-size:0.93rem;}

/* ---------- Contact ---------- */
.field{margin-bottom:18px;}
.field label{
  display:block; font-family:'IBM Plex Mono'; font-size:0.72rem; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--ink-soft); margin-bottom:7px;
}
.field input, .field select, .field textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line-dark, var(--line));
  border:1px solid #C9BFA9; background:var(--paper); font-family:'Inter'; font-size:0.95rem; border-radius:var(--radius);
}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--brick); outline:none;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
#form-note{
  display:none; margin-top:16px; padding:14px 16px; background:#EFEAE0; border-left:3px solid var(--brick); font-size:0.9rem;
}
.contact-info-list li{
  display:flex; gap:12px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--line);
}
.contact-info-list li:last-child{border-bottom:none;}
.contact-info-list svg{width:18px; height:18px; color:var(--brick); margin-top:3px; flex-shrink:0;}
.contact-info-list strong{display:block; font-family:'Space Grotesk'; font-size:0.95rem; margin-bottom:2px;}
.contact-info-list span{color:var(--ink-soft); font-size:0.9rem;}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:var(--navy); color:#fff; padding:64px 0; text-align:center; position:relative; overflow:hidden;
}
.cta-banner h2{color:#fff; font-size:clamp(1.7rem,3vw,2.3rem);}
.cta-banner p{color:rgba(255,255,255,0.68); max-width:46ch; margin:0 auto 28px;}

/* ---------- Legal pages ---------- */
.legal-content{max-width:760px;}
.legal-content h2{font-size:1.2rem; margin-top:36px;}
.legal-content p{color:var(--ink-soft); font-size:0.95rem;}

/* ---------- Footer ---------- */
footer{background:var(--navy-deep); color:rgba(255,255,255,0.75); padding:64px 0 0;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:44px;}
.footer-grid h4{color:#fff; font-family:'IBM Plex Mono'; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px; font-size:0.9rem;}
.footer-grid ul li a:hover{color:#fff;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.1);
  padding:20px 28px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
  font-size:0.82rem; color:rgba(255,255,255,0.45);
  max-width:1160px; margin:0 auto;
}
.footer-bottom a:hover{color:#fff;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-grid, .grid-3, .grid-2, .solution-row, .gallery, .footer-grid, .field-row{grid-template-columns:1fr !important;}
  .hero-stats{grid-template-columns:1fr; gap:16px;}
  .hero-stats div{border-left:none; padding-left:0; border-top:1px solid var(--line-dark); padding-top:14px;}
  .hero-stats div:first-child{border-top:none;}
}


/* ---------- FAQ Accordion ---------- */
.faq-list{border-top:1px solid var(--line); margin-top:8px;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:20px 4px;
  font-family:'Space Grotesk', sans-serif;
  font-weight:600;
  font-size:1.02rem;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::marker{content:"";}
.faq-item summary::after{
  content:"+";
  flex-shrink:0;
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  line-height:1;
  color:var(--brick);
  transition:transform .2s ease;
}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .faq-answer{
  padding:0 28px 22px 4px;
  color:var(--ink-soft);
  font-size:0.95rem;
  line-height:1.65;
  max-width:70ch;
}
.faq-item .faq-answer p{margin:0;}
.city-photo{width:100%;height:320px;object-fit:cover;border-radius:var(--radius);display:block;}

/* ===== Header v2 : bandeau a etages avec icones (2026-09) ===== */
header{position:static;background:none;backdrop-filter:none;border-bottom:none;}

.topbar{background:var(--navy-deep);color:#C9D2BE;font-family:'Inter',sans-serif;font-size:0.78rem;}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px;}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.topbar a{color:#C9D2BE;text-decoration:none;}
.topbar a:hover{color:#fff;}
.topbar-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;}
.topbar-item svg{width:14px;height:14px;flex:none;color:var(--amber);}

.brand-row{background:var(--paper);border-bottom:1px solid var(--line);}
.brand-row .wrap{display:flex;align-items:center;gap:22px;padding-top:14px;padding-bottom:14px;}
.brand-row .logo-mark{flex:none;}
.brand-row .logo-img{height:58px;width:auto;display:block;}
.brand-text{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:0;}
.brand-text .brand-name{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.3rem;color:var(--ink);line-height:1.1;}
.brand-text .brand-tag{font-family:'Inter',sans-serif;font-size:0.82rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.nav-row{background:var(--navy);}
.nav-row-2{background:var(--cream);border-top:1px solid var(--line-dark);}
.nav-tier{display:flex;align-items:stretch;justify-content:center;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.nav-tier li{display:flex;}
.nav-tier a{display:flex;align-items:center;gap:8px;padding:12px 20px;text-decoration:none;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:0.88rem;white-space:nowrap;border-bottom:2px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;}
.nav-tier a svg{width:16px;height:16px;flex:none;}
.nav-row-1 .nav-tier a{color:#fff;}
.nav-row-1 .nav-tier a:hover,.nav-row-1 .nav-tier a.active{background:var(--navy-mid);border-color:var(--amber);}
.nav-row-2 .nav-tier a{color:var(--ink);}
.nav-row-2 .nav-tier a:hover,.nav-row-2 .nav-tier a.active{background:#fff;border-color:var(--brick);color:var(--brick-dark);}

@media (max-width:860px){
  #site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--paper);box-shadow:0 12px 24px rgba(0,0,0,.14);max-height:calc(100vh - 64px);overflow-y:auto;border-bottom:1px solid var(--line);z-index:60;}
  #site-nav.open{display:flex;}
  header{position:sticky;top:0;z-index:50;}
  .nav-tier{flex-direction:column;}
  .nav-tier a{padding:14px 24px;border-bottom:1px solid rgba(0,0,0,.06);border-left:3px solid transparent;}
  .nav-row-1 .nav-tier a:hover,.nav-row-1 .nav-tier a.active{border-left-color:var(--amber);}
  .nav-row-2 .nav-tier a:hover,.nav-row-2 .nav-tier a.active{border-left-color:var(--brick);}
  .topbar .topbar-right{display:none;}
  .brand-text .brand-tag{display:none;}
}
@media (max-width:480px){
  .brand-row .logo-img{height:44px;}
}

/* ==================== Cookie consent banner ==================== */
#cookie-consent-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:9999;
  background:var(--navy-deep); color:var(--cream);
  transform:translateY(110%); transition:transform .35s ease;
  box-shadow:0 -4px 24px rgba(0,0,0,.25);
}
#cookie-consent-banner.cc-visible{ transform:translateY(0); }
#cookie-consent-banner .cc-inner{
  max-width:1200px; margin:0 auto; padding:20px 24px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px;
}
#cookie-consent-banner .cc-text{ flex:1 1 420px; font-size:.92rem; line-height:1.55; color:var(--cream); margin:0; }
#cookie-consent-banner .cc-text a{ color:var(--amber); text-decoration:underline; }
#cookie-consent-banner .cc-actions{ display:flex; align-items:center; gap:20px; flex:0 0 auto; }
#cookie-consent-banner .cc-btn{ font-family:inherit; font-size:.9rem; cursor:pointer; border-radius:var(--radius); }
#cookie-consent-banner .cc-btn-refuse{
  background:var(--cream); border:1px solid var(--cream); color:#1a1a1a; font-weight:600; padding:11px 28px; border-radius:999px; white-space:nowrap;
}
#cookie-consent-banner .cc-btn-refuse:hover{ opacity:1; }
#cookie-consent-banner .cc-btn-accept{
  background:var(--brick); border:1px solid var(--brick); color:#fff; font-weight:600; padding:11px 28px; border-radius:999px; white-space:nowrap;
}
#cookie-consent-banner .cc-btn-accept:hover{ background:var(--brick-dark); border-color:var(--brick-dark); }
@media (max-width:640px){
  #cookie-consent-banner .cc-inner{ flex-direction:column; align-items:stretch; text-align:center; padding:18px 18px 20px; }
  #cookie-consent-banner .cc-actions{ justify-content:center; }
}

/* ==================== Legal page tables (cookies) ==================== */
.legal-content .table-scroll{ overflow-x:auto; margin:18px 0 28px; border:1px solid var(--line); border-radius:var(--radius); }
.legal-content table{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:560px; }
.legal-content table th, .legal-content table td{ padding:11px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.legal-content table thead th{ background:var(--cream); font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--ink); }
.legal-content table tbody tr:last-child td{ border-bottom:none; }


.partner-group{margin-bottom:28px;}
.partner-group:last-child{margin-bottom:0;}
.partner-group-label{font-size:0.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:14px;text-align:center;}
.partner-badges{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;}
.partner-badge{display:flex;align-items:center;justify-content:center;padding:10px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);}
.partner-badge-img{height:44px;width:auto;display:block;}
.partner-badge-text{display:block;font-size:0.85rem;color:var(--ink);text-align:center;line-height:1.4;}
.partner-badge-text span{display:block;font-size:0.75rem;color:var(--ink-soft);margin-top:2px;}
.partner-note{max-width:52ch;margin:18px auto 0;text-align:center;font-size:0.82rem;color:var(--ink-soft);}

.partner-badge-withimg{flex-direction:column;gap:8px;max-width:300px;}
.partner-badge-img-wide{height:50px;width:auto;max-width:100%;display:block;}
.partner-badge-caption{display:block;font-size:0.78rem;color:var(--ink);text-align:center;line-height:1.4;}
.partner-badge-caption span{display:block;font-size:0.7rem;color:var(--ink-soft);margin-top:4px;}

.partner-badge-img-lg{height:60px;}

/* articles-conseils */
.article-wrap .table-scroll{overflow-x:auto;margin:18px 0 22px;}
.article-wrap table{width:100%;border-collapse:collapse;font-size:0.95rem;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;}
.article-wrap th,.article-wrap td{padding:10px 14px;text-align:left;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top;}
.article-wrap thead th{background:rgba(0,0,0,.05);font-weight:600;}
.article-wrap ul,.article-wrap ol{margin:10px 0 18px;padding-left:1.4em;}
.article-wrap ul{list-style:disc;}
.article-wrap ol{list-style:decimal;}
.article-wrap li{margin:6px 0;}

/* Mobile : en-tete, eviter le chevauchement nom / bouton devis */
@media (max-width:480px){.nav .wrap,header .wrap{gap:8px}.logo-img{height:44px}.brand-text{margin-right:auto;flex-shrink:0}.brand-text .brand-name{font-size:1rem;white-space:nowrap}.nav-cta{padding:8px 10px;font-size:0.75rem;line-height:1.1}.nav-toggle{flex-shrink:0}}
