:root{
  --green:#087d3c;
  --green-dark:#065f31;
  --green-deep:#173a24;
  --green-footer:#116234;
  --green-light:#dfeadb;
  --green-pale:#f1f6ee;
  --text:#161916;
  --muted:#5b625b;
  --line:#dbe4db;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Montserrat,Arial,sans-serif;
  color:var(--text);
  background:#fff;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1280px,calc(100% - 42px));margin:auto}

/* HEADER */
.header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #edf1ed;
  backdrop-filter:blur(12px);
}
.header-inner{
  height:112px;
  display:grid;
  grid-template-columns:300px 1fr auto;
  align-items:center;
  gap:28px;
}
.logo-wrap{
  width:245px;
  height:92px;
  display:flex;
  align-items:center;
}
.logo-wrap img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:42px;
  font-size:12px;
  text-transform:uppercase;
  font-weight:600;
}
.nav a{
  padding:13px 0;
  border-bottom:2px solid transparent;
}
.nav a:hover,.nav a.active{
  color:var(--green);
  border-color:var(--green);
}
.phone{
  background:var(--green);
  color:#fff;
  border-radius:999px;
  padding:14px 23px;
  font-weight:700;
  font-size:13px;
  white-space:nowrap;
}
.menu-toggle{display:none}

/* HERO */
.hero{
  position:relative;
  min-height:610px;
  overflow:hidden;
  background:#f4f8f1;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(90deg,
      rgba(246,249,244,.99) 0%,
      rgba(246,249,244,.96) 30%,
      rgba(246,249,244,.70) 44%,
      rgba(246,249,244,.18) 58%,
      rgba(246,249,244,0) 72%),
    url("../images/hero-yadora-v6.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.hero-inner{
  position:relative;
  z-index:2;
  min-height:610px;
  display:flex;
  align-items:center;
}
.hero-copy{
  width:570px;
  margin-left:38px;
  padding-top:12px;
}
.kicker{
  margin:0 0 11px;
  color:var(--green);
  font-size:21px;
  font-weight:600;
}
.hero h1{
  margin:0 0 21px;
  font-size:36px;
  line-height:1.16;
  letter-spacing:-.025em;
}
.lead{
  margin:0 0 27px;
  max-width:520px;
  font-size:14px;
  line-height:1.72;
}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:47px;
  padding:0 24px;
  border-radius:999px;
  text-transform:uppercase;
  font-size:13px;
  font-weight:700;
}
.btn-main{
  background:var(--green);
  color:#fff;
  border:1px solid var(--green);
}
.btn-outline{
  color:var(--green-dark);
  border:1px solid #77a884;
  background:rgba(255,255,255,.72);
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  width:580px;
  margin-top:43px;
}
.trust{text-align:center}
.trust span{
  display:block;
  color:var(--green);
  font-size:29px;
  margin-bottom:8px;
}
.trust p{
  margin:0;
  font-size:11px;
  line-height:1.5;
}

/* SERVICES */
.services{
  padding:40px 0 30px;
  overflow:hidden;
  background:#fff;
}
.section-heading{
  text-align:center;
  position:relative;
  z-index:3;
}
.section-heading h2{
  margin:0 0 6px;
  font-size:30px;
}
.section-heading p{
  margin:0;
  font-size:12px;
}

/* Full-width ribbon: no side columns that can create white blocks */
.carousel-wrapper{
  position:relative;
  width:100%;
  margin:32px auto 0;
  overflow:hidden;
}
.carousel-viewport{
  width:100%;
  overflow:hidden;
  padding:0 72px;
}
.carousel-track{
  display:flex;
  gap:16px;
  align-items:center;
  will-change:transform;
  user-select:none;
  touch-action:pan-y;
  min-width:max-content;
}
.service-card{
  flex:0 0 230px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:linear-gradient(145deg,#f7faf5,#e5ede1);
  border:1px solid #edf1ea;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:28px 23px;
}
.service-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  background:linear-gradient(145deg,#10904a,#056b35);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:23px;
  font-weight:700;
  margin-bottom:13px;
}
.service-card h3{
  margin:0 0 9px;
  font-size:12.5px;
}
.service-card p{
  margin:0;
  font-size:10.6px;
  line-height:1.55;
}

/* Arrows float above the carousel instead of taking layout space */
.arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:10;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid var(--green);
  background:rgba(255,255,255,.96);
  color:var(--green);
  font-size:32px;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(19,77,41,.08);
}
#prevBtn{left:18px}
#nextBtn{right:18px}
.arrow:hover{
  background:var(--green);
  color:#fff;
}
.infinite-hint{
  margin-top:18px;
  text-align:center;
  font-size:11px;
}
.infinite-hint span{
  color:var(--green);
  font-size:27px;
  margin-right:7px;
  vertical-align:middle;
}

/* BENEFITS */
.benefits{
  background:linear-gradient(90deg,#f4f8f2,#eef4eb);
  padding:38px 0;
}
.benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.benefits article{
  display:flex;
  gap:18px;
  padding:0 28px;
  border-right:1px solid #d6e0d6;
}
.benefits article:last-child{border-right:0}
.benefit-icon{
  color:var(--green);
  font-size:38px;
  line-height:1;
}
.benefits h3{
  margin:0 0 8px;
  font-size:13px;
}
.benefits p{
  margin:0;
  font-size:10.5px;
  line-height:1.65;
}

/* ZONE */
.zone{
  padding:86px 0;
  background:#fff;
}
.zone-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.section-kicker{
  color:var(--green);
  font-size:16px;
  font-weight:600;
  margin:0 0 12px;
}
.zone h2{
  margin:0 0 18px;
  font-size:32px;
}
.zone-copy>p:last-child{
  color:var(--muted);
  line-height:1.78;
  max-width:560px;
}
.place-bubbles{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  align-items:center;
}
.place-bubbles span{
  width:118px;
  height:118px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e6eee2;
  color:var(--green-dark);
  font-size:11px;
  font-weight:600;
}
.place-bubbles span:nth-child(2n){
  width:140px;
  height:140px;
  background:#d5e2d1;
}

/* CONTACT */
.contact{
  background:var(--green-deep);
  color:#fff;
  padding:62px 0;
}
.contact-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.contact-kicker{
  color:#fff;
  font-size:14px;
  font-weight:600;
  margin:0 0 10px;
}
.contact h2{
  margin:0 0 10px;
  font-size:31px;
}
.contact p{
  color:#d8e3da;
  margin:0;
}
.contact-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.btn-light{
  background:#fff;
  color:var(--green-dark);
}
.btn-contact-outline{
  border:1px solid #9bb9a0;
  color:#fff;
}

/* FOOTER */
.footer{
  background:linear-gradient(90deg,#0a582f,#12683a);
  color:#fff;
  padding:42px 0 18px;
}
.footer-main{
  display:grid;
  grid-template-columns:260px 1.25fr 1fr 1fr;
  gap:50px;
  align-items:start;
}
.footer-logo{
  width:230px;
  height:130px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.footer-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.footer h3{
  margin:0 0 13px;
  font-size:13px;
}
.footer p,.footer a{
  display:block;
  margin:0 0 5px;
  color:#e2ece5;
  font-size:11px;
  line-height:1.7;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.30);
  margin-top:32px;
  padding-top:17px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  font-size:10px;
}

/* RESPONSIVE */
@media(max-width:1100px){
  .header-inner{grid-template-columns:250px 1fr auto}
  .logo-wrap{width:220px}
  .nav{gap:24px}
  .benefits-grid{grid-template-columns:repeat(2,1fr);gap:30px}
  .benefits article:nth-child(2){border-right:0}
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
  .header-inner{
    display:flex;
    height:94px;
  }
  .logo-wrap{width:205px;height:78px}
  .menu-toggle{
    display:block;
    margin-left:auto;
    border:0;
    background:none;
    font-size:26px;
  }
  .phone{display:none}
  .nav{
    display:none;
    position:absolute;
    top:94px;
    left:0;
    right:0;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    padding:24px;
    border-bottom:1px solid var(--line);
  }
  .nav.open{display:flex}
  .hero,.hero-inner{min-height:720px}
  .hero-bg{
    background-image:
      linear-gradient(90deg,rgba(246,249,244,.97),rgba(246,249,244,.70)),
      url("../images/hero-yadora-v6.jpg");
    background-position:62% center;
  }
  .hero-copy{margin-left:0;max-width:560px}
  .trust-grid{width:100%;max-width:560px}
  .zone-grid{grid-template-columns:1fr}
  .contact-grid{display:grid}
}
@media(max-width:620px){
  .container{width:min(100% - 24px,1280px)}
  .hero h1{font-size:28px}
  .hero-copy{width:100%}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .carousel-viewport{padding:0 52px}
  .service-card{flex-basis:205px;width:205px;height:205px}
  .arrow{width:40px;height:40px;font-size:28px}
  #prevBtn{left:8px}
  #nextBtn{right:8px}
  .benefits-grid{grid-template-columns:1fr}
  .benefits article{
    border-right:0;
    border-bottom:1px solid #d6e0d6;
    padding:0 0 24px;
  }
  .benefits article:last-child{border-bottom:0}
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}

/* YADORA VERSION 3 */
.nav{gap:25px}.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropbtn{border:0;background:transparent;font:inherit;font-size:11px;font-weight:700;text-transform:uppercase;color:#111;padding:13px 0;cursor:pointer;display:flex;align-items:center;gap:5px;border-bottom:2px solid transparent}
.nav-dropdown:hover .nav-dropbtn,.nav-dropdown:focus-within .nav-dropbtn{color:var(--green);border-color:var(--green)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:-16px;min-width:245px;background:#fff;border:1px solid #d9e2d8;border-radius:12px;padding:10px;box-shadow:0 16px 36px rgba(13,60,28,.16);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.18s ease;z-index:120}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none}
.nav-dropdown-menu a{display:flex!important;align-items:center;min-height:37px;padding:8px 10px!important;border:0!important;border-radius:8px;font-size:11px!important;font-weight:700!important;text-transform:none!important;color:#111!important}
.nav-dropdown-menu a::before{content:"✓";width:18px;height:18px;border-radius:50%;margin-right:8px;display:grid;place-items:center;background:#0a7138;color:#fff;font-size:9px}
.nav-dropdown-menu a:hover{background:#eef5eb!important;color:#000!important}

.hero{background:#f7faf5}.diagnostics-section{background:linear-gradient(180deg,#edf5e9,#e4efdf)!important}
.benefits{background:linear-gradient(90deg,#0c6333,#0a542d)!important;color:#fff}
.benefits h3,.benefits p{color:#fff!important}.benefit-icon{color:#fff!important}.benefits article{border-right:1px solid rgba(255,255,255,.22)!important}
.zone{background:linear-gradient(135deg,#e6f1e3,#d8e9d3)!important}.home-news{background:linear-gradient(180deg,#f2f7ef,#e8f1e4)}.contact{background:#173c27!important}

.diagnostics-section{padding:48px 0 32px;overflow:hidden}.diag-carousel-wrap{position:relative;width:100%;margin:30px auto 0;overflow:hidden}
.diag-carousel-viewport{width:100%;overflow:hidden;padding:0 70px}.diag-carousel-track{display:flex;gap:14px;align-items:center;min-width:max-content;will-change:transform;user-select:none;touch-action:pan-y}
.diag-card{flex:0 0 230px;width:230px;height:230px;border-radius:50%;background:#fff;border:1px solid #dce6d8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 22px;box-shadow:0 8px 20px rgba(35,75,40,.06);scroll-margin-top:140px}
.diag-icon{width:58px;height:58px;border-radius:16px;border:2px solid var(--green);color:var(--green);display:grid;place-items:center;font-size:25px;font-weight:700;margin-bottom:13px}
.diag-card h3{font-size:13px;margin:0 0 9px}.diag-card p{font-size:10.5px;line-height:1.55;margin:0;color:#4f5951}
.diag-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:46px;height:46px;border-radius:50%;border:1px solid #cfe0cc;background:#fff;color:#0a542d;font-size:32px;cursor:pointer;box-shadow:0 6px 18px rgba(20,65,30,.10)}
#diagPrev{left:18px}#diagNext{right:18px}.diag-arrow:hover{background:var(--green);color:#fff}
.diag-infinite{text-align:center;margin-top:18px;font-size:11px;font-weight:600}.diag-infinite span{color:var(--green);font-size:28px;vertical-align:middle;margin-right:6px}

.home-news{padding:50px 0 58px}.home-news-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:25px}
.home-news-head h2{font-size:27px;margin:4px 0 0}.home-news-head>a{color:var(--green);font-size:11px;font-weight:700}
.home-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-news-grid article{background:#fff;border:1px solid #dfe8dc;border-radius:16px;padding:24px;min-height:200px;display:flex;flex-direction:column}
.home-news-grid article>span{color:#adc5ad;font-size:34px;font-weight:700}.home-news-grid h3{font-size:16px;margin:12px 0 9px}.home-news-grid p{font-size:11px;line-height:1.65;color:#5d685f}.home-news-grid a{margin-top:auto;color:var(--green);font-size:11px;font-weight:700}

@media(max-width:1180px){.nav{gap:16px}.nav-dropbtn,.nav a{font-size:10px}}
@media(max-width:850px){.nav-dropdown{width:100%;display:block}.nav-dropbtn{width:100%;justify-content:space-between;padding:10px 0}.nav-dropdown-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:2px 0 8px 12px;min-width:0}.nav-dropdown.open .nav-dropdown-menu{display:block}.diag-carousel-viewport{padding:0 52px}.home-news-grid{grid-template-columns:1fr}}
@media(max-width:600px){.diag-card{flex-basis:205px;width:205px;height:205px}.diag-arrow{width:40px;height:40px;font-size:27px}#diagPrev{left:7px}#diagNext{right:7px}.home-news-head{flex-direction:column;align-items:flex-start}}


/* =========================================================
   YADORA V3 - FINAL CORRECTIONS
   ========================================================= */

/* Stronger section separation, green tones only */
.hero{
  background:#f7faf4 !important;
}
.diagnostics-section{
  background:linear-gradient(120deg,#d9ead4 0%,#e8f2e4 48%,#d2e5cc 100%) !important;
  border-top:1px solid #c8ddc3;
  border-bottom:1px solid #bfd6ba;
}
.benefits{
  background:linear-gradient(100deg,#075b30 0%,#0b7040 52%,#07552d 100%) !important;
}
.zone{
  background:linear-gradient(120deg,#cfe3c9 0%,#e3efdf 45%,#c4ddbd 100%) !important;
  border-bottom:1px solid #b7d1b1;
}
.home-news{
  background:linear-gradient(120deg,#edf5e9 0%,#dfeeda 55%,#e8f2e4 100%) !important;
}
.contact{
  background:linear-gradient(90deg,#133c25,#0c512c) !important;
}

/* Hero decorative circles / dots continue right up to the left edge */
.hero{position:relative}
.hero-left-art{
  position:absolute;
  inset:0 auto 0 0;
  width:300px;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
}
.left-bubble,.left-ring,.left-dot-field{position:absolute;display:block}
.lb1{
  width:260px;height:260px;border-radius:50%;
  left:-145px;top:-65px;background:rgba(82,135,80,.22);
}
.lb2{
  width:190px;height:190px;border-radius:50%;
  left:-100px;top:92px;background:rgba(142,177,132,.18);
}
.lb3{
  width:120px;height:120px;border-radius:50%;
  left:-56px;top:270px;background:rgba(197,217,190,.36);
}
.left-ring{
  width:145px;height:145px;border-radius:50%;
  left:-58px;top:185px;border:1.5px solid rgba(38,112,58,.45);
}
.left-dot-field{
  left:0;bottom:0;width:220px;height:190px;
  background-image:radial-gradient(circle,rgba(63,120,71,.42) 2.2px,transparent 2.5px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.75) 55%,transparent 100%);
}
.hero-inner{position:relative;z-index:3}

/* Dropdown items clearly black */
.nav-dropdown-menu a{
  color:#080b08 !important;
  font-weight:700 !important;
}
.nav-dropdown-menu a:hover{
  color:#000 !important;
}

/* Carousel must always have enough horizontal content */
.diag-carousel-wrap{
  width:100% !important;
  position:relative;
  overflow:hidden !important;
}
.diag-carousel-viewport{
  width:100% !important;
  overflow:hidden !important;
  padding:0 68px !important;
  cursor:grab;
}
.diag-carousel-viewport:active{cursor:grabbing}
.diag-carousel-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
  min-width:max-content !important;
  width:max-content !important;
  align-items:center;
}
.diag-card{
  flex:0 0 230px !important;
  width:230px !important;
  height:230px !important;
  background:#fff !important;
  transition:transform .18s ease,box-shadow .18s ease;
}
.diag-card.diag-link{cursor:pointer}
.diag-card.diag-link:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(17,82,38,.14);
}
.diag-arrow{
  z-index:25 !important;
  border:1px solid #7fad82 !important;
}
.diag-infinite{color:#264b2d}

/* Diagnostic dedicated pages */
.diag-page-hero{
  position:relative;
  min-height:300px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:linear-gradient(100deg,#eef6eb,#d5e7d0);
}
.diag-page-hero::before{
  content:"";position:absolute;left:-95px;top:-85px;width:260px;height:260px;
  border-radius:50%;background:rgba(88,143,84,.20);
}
.diag-page-hero::after{
  content:"";position:absolute;right:-60px;bottom:-95px;width:300px;height:300px;
  border-radius:50%;border:55px solid rgba(91,144,87,.15);
}
.diag-page-hero .container{position:relative;z-index:2}
.diag-page-kicker{color:var(--green);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;margin:0 0 10px}
.diag-page-hero h1{font-size:46px;margin:0 0 8px}
.diag-page-subtitle{font-size:18px;color:#536054;margin:0;max-width:720px}
.diag-content{padding:72px 0 84px;background:#fff}
.diag-content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.diag-summary{
  padding:28px;border-radius:24px;background:#e4f0e0;border:1px solid #cfe1ca;
  position:sticky;top:140px;
}
.diag-summary-icon{
  width:76px;height:76px;border-radius:50%;background:#fff;border:2px solid var(--green);
  display:grid;place-items:center;font-size:30px;color:var(--green);font-weight:700;margin-bottom:20px;
}
.diag-summary h2{font-size:23px;margin:0 0 12px}
.diag-summary p{font-size:12px;line-height:1.75;color:#526055}
.diag-main-block{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid #dce7da}
.diag-main-block:last-child{border-bottom:0}
.diag-main-block h2{font-size:26px;margin:0 0 14px}
.diag-main-block p{font-size:13px;line-height:1.8;color:#536055}
.diag-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.diag-checks div{
  background:#f0f6ed;border:1px solid #dce8d8;border-radius:13px;padding:15px;
  font-size:11px;line-height:1.5;
}
.diag-checks div::before{content:"✓";color:var(--green);font-weight:700;margin-right:8px}
.diag-cta{
  padding:32px;border-radius:24px;background:linear-gradient(100deg,#075b30,#0a6c3a);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:25px;
}
.diag-cta h2{margin:0 0 8px;font-size:23px}.diag-cta p{margin:0;color:#dce9df;font-size:12px}
.diag-cta .btn{background:#fff;color:#075b30;white-space:nowrap}

@media(max-width:900px){
  .hero-left-art{width:180px;opacity:.7}
  .diag-content-grid{grid-template-columns:1fr}
  .diag-summary{position:static}
}
@media(max-width:620px){
  .hero-left-art{width:120px;opacity:.45}
  .diag-page-hero h1{font-size:36px}
  .diag-checks{grid-template-columns:1fr}
  .diag-cta{align-items:flex-start;flex-direction:column}
}

/* ==========================================================
   YADORA V3 — CALAGE VISUEL SUR MAQUETTE VALIDÉE
   ========================================================== */
:root{
  --y-dark:#07572f;
  --y-deep:#064c29;
  --y-green:#08713c;
  --y-mid:#b9d5b4;
  --y-pale:#e6f0e2;
  --y-cream:#f4f7ef;
  --y-white:#ffffff;
  --y-ink:#111511;
}
body{background:#f5f7f1;color:var(--y-ink)}
.header{background:rgba(247,249,244,.97)!important;border-bottom:1px solid #dbe6d7}
.header-inner{max-width:1320px!important;min-height:78px!important}
.logo img{width:118px!important;max-height:64px!important;object-fit:contain}
.nav{gap:29px!important}
.nav>a,.nav-dropbtn{font-size:10px!important;font-weight:700!important;color:#101510!important}
.header-phone{background:#08713c!important;box-shadow:0 7px 18px rgba(8,113,60,.16)}

.hero{
  min-height:440px!important;
  background:linear-gradient(90deg,#edf4e9 0%,#f6f8f1 49%,#e5efe0 100%)!important;
  border:0!important;
}
.hero-bg{
  position:absolute!important;inset:0!important;
  background-image:url("../images/hero-yadora-v6.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  opacity:1!important;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(242,247,238,.98) 0%,rgba(242,247,238,.93) 38%,rgba(242,247,238,.30) 62%,rgba(242,247,238,0) 82%);
  z-index:1;pointer-events:none;
}
.hero-left-art{z-index:2!important;width:290px!important}
.hero-inner{max-width:1320px!important;min-height:440px!important;position:relative;z-index:3!important}
.hero-content{max-width:570px!important;padding:62px 0 50px!important}
.eyebrow{color:#08713c!important;font-size:17px!important;font-weight:700!important}
.hero h1{font-size:36px!important;line-height:1.08!important;letter-spacing:-.025em!important;max-width:550px}
.hero-text{font-size:13px!important;line-height:1.6!important;max-width:530px}
.hero-actions{margin-top:22px!important}
.hero-features{margin-top:42px!important;gap:0!important;width:720px!important}
.hero-feature{min-width:145px!important;padding:0 25px!important;border-right:1px solid #b9cfb7}
.hero-feature:first-child{padding-left:0}
.hero-feature:last-child{border-right:0}
.hero-feature-icon{font-size:26px!important;color:#08713c!important}

.diagnostics-section{
  padding:20px 0 12px!important;
  background:linear-gradient(90deg,#d7e8d2 0%,#e7f0e3 48%,#d3e5ce 100%)!important;
}
.section-heading h2{font-size:25px!important;margin-bottom:3px!important}
.section-heading p{font-size:10px!important}
.diag-carousel-wrap{margin-top:13px!important}
.diag-carousel-viewport{padding:0 72px!important}
.diag-carousel-track{gap:12px!important}
.diag-card{
  flex-basis:132px!important;width:132px!important;height:132px!important;
  padding:12px!important;border:0!important;box-shadow:none!important;background:#fff!important;
}
.diag-icon{
  width:45px!important;height:45px!important;border-radius:9px!important;
  font-size:22px!important;margin-bottom:6px!important
}
.diag-card h3{font-size:11px!important;margin:0!important;line-height:1.15!important}
.diag-card p{display:none!important}
.diag-arrow{width:37px!important;height:37px!important;font-size:25px!important;background:#fff!important}
.diag-infinite{margin-top:9px!important;font-size:9px!important}
.diag-infinite span{font-size:20px!important}

.benefits{padding:15px 0!important;background:#075c31!important}
.benefits-inner{max-width:1320px!important}
.benefit{min-height:65px!important;padding:5px 28px!important}
.benefit-icon{font-size:29px!important}
.benefit h3{font-size:12px!important;margin-bottom:4px!important}
.benefit p{font-size:9px!important;line-height:1.45!important}

.zone{padding:18px 0!important;background:linear-gradient(90deg,#e8f1e4,#dcebd7)!important}
.zone-inner{max-width:1320px!important;grid-template-columns:410px 1fr!important;gap:50px!important}
.zone h2{font-size:25px!important}
.zone p{font-size:11px!important;line-height:1.5!important}
.place-bubbles{justify-content:center!important;gap:18px!important}
.place-bubbles span{
  width:98px!important;height:98px!important;background:#fff!important;
  border:0!important;font-size:10px!important;font-weight:700!important;
  box-shadow:none!important
}

.home-news{padding:10px 0 14px!important;background:#f5f0e8!important}
.home-news .container{max-width:1320px!important}
.home-news-head{margin-bottom:8px!important}
.home-news-head h2{font-size:21px!important}
.home-news-grid{gap:16px!important}
.home-news-grid article{
  min-height:104px!important;padding:11px 14px!important;border-radius:5px!important;
  border:0!important;background:#fff!important
}
.home-news-grid article>span{font-size:10px!important;color:#222!important}
.home-news-grid h3{font-size:12px!important;margin:5px 0!important}
.home-news-grid p{font-size:9px!important;line-height:1.4!important}
.home-news-grid a{font-size:9px!important}

.contact{padding:11px 0!important;background:#07572f!important}
.contact-inner{max-width:1320px!important}
.contact h2{font-size:21px!important;margin:0 0 3px!important}
.contact p{font-size:10px!important}
.contact-actions .btn{min-width:190px!important}

.footer{background:#07572f!important}
.footer-main{padding:18px 0 14px!important;background:#07572f!important}
.footer-grid{max-width:1320px!important;grid-template-columns:190px 1fr 1fr 1fr!important;gap:35px!important}
.footer-logo img{
  width:150px!important;height:auto!important;max-height:none!important;object-fit:contain!important;
  filter:none!important;opacity:1!important;background:transparent!important
}
.footer h4{font-size:11px!important}
.footer p,.footer a{font-size:9px!important;line-height:1.55!important}
.footer-bottom{background:#064c29!important;padding:10px 0!important}

/* full left-side motif like mockup */
.hero-left-art{left:0!important;top:0!important;bottom:0!important}
.lb1{left:-145px!important;top:-70px!important;width:275px!important;height:275px!important}
.lb2{left:-100px!important;top:80px!important;width:190px!important;height:190px!important}
.left-ring{left:-55px!important;top:205px!important}
.left-dot-field{left:0!important;bottom:0!important;width:240px!important;height:175px!important}

/* diagnostic pages stay in same palette */
.diag-page-hero{background:linear-gradient(90deg,#dcebd7,#eef5eb)!important}
.diag-summary{background:#e1eedc!important}
.diag-checks div{background:#edf5e9!important}

@media(max-width:900px){
  .hero-features{width:100%!important}
  .zone-inner{grid-template-columns:1fr!important}
  .diag-card{flex-basis:125px!important;width:125px!important;height:125px!important}
}

/* Zone d'intervention — pictogrammes conformes à la maquette */
.place-bubbles span{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
}
.place-bubbles span b{
  font-size:10px!important;
  line-height:1.05!important;
  font-weight:700!important;
  color:#142417!important;
}
.city-icon{
  position:relative;
  display:block;
  width:34px;
  height:34px;
  color:#078344;
}

/* Mionnay : repère de localisation */
.icon-pin{
  width:20px;height:27px;border:3px solid currentColor;border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);margin-top:1px;
}
.icon-pin::after{
  content:"";position:absolute;width:5px;height:5px;border:2px solid currentColor;border-radius:50%;
  left:5px;top:5px;
}

/* Lyon : silhouette urbaine / basilique stylisée */
.icon-lyon{
  border:3px solid currentColor;border-top:0;border-radius:2px;
}
.icon-lyon::before{
  content:"";position:absolute;left:2px;right:2px;top:8px;height:17px;
  background:
    linear-gradient(65deg,transparent 46%,currentColor 47% 53%,transparent 54%) left top/50% 14px no-repeat,
    linear-gradient(-65deg,transparent 46%,currentColor 47% 53%,transparent 54%) right top/50% 14px no-repeat;
}
.icon-lyon::after{
  content:"";position:absolute;left:7px;top:-4px;width:3px;height:27px;background:currentColor;
  box-shadow:15px 0 currentColor;
}

/* Trévoux : pont */
.icon-bridge::before{
  content:"";position:absolute;left:0;right:0;top:17px;height:3px;background:currentColor;
  box-shadow:0 8px currentColor;
}
.icon-bridge::after{
  content:"";position:absolute;left:2px;top:8px;width:28px;height:19px;
  border:3px solid currentColor;border-bottom:0;border-radius:50% 50% 0 0;
}

/* Miribel : arbre */
.icon-tree::before{
  content:"";position:absolute;left:5px;top:0;width:24px;height:23px;
  border:3px solid currentColor;border-radius:48% 52% 55% 45%;
}
.icon-tree::after{
  content:"";position:absolute;left:15px;top:20px;width:4px;height:13px;background:currentColor;
  box-shadow:-8px 11px 0 -1px currentColor,8px 11px 0 -1px currentColor;
}

/* Montluel : tour / château */
.icon-tower{
  width:28px;height:30px;border:3px solid currentColor;border-top:0;margin-top:1px;
}
.icon-tower::before{
  content:"";position:absolute;left:-3px;top:-5px;width:7px;height:8px;background:currentColor;
  box-shadow:10px 0 currentColor,20px 0 currentColor;
}
.icon-tower::after{
  content:"";position:absolute;left:8px;bottom:0;width:7px;height:12px;border:3px solid currentColor;border-bottom:0;
}

/* Villefranche : ensemble d'immeubles */
.icon-buildings{
  width:34px;height:31px;border:3px solid currentColor;
}
.icon-buildings::before{
  content:"";position:absolute;left:8px;bottom:-3px;width:10px;height:37px;border:3px solid currentColor;background:#fff;
}
.icon-buildings::after{
  content:"··\A··\A··";white-space:pre;position:absolute;left:2px;top:-4px;
  font-style:normal;font-size:14px;line-height:8px;font-weight:900;color:currentColor;
}

/* Zone d'intervention — sans pictogrammes, villes sur une seule ligne */
.place-bubbles-inline{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:16px!important;
  overflow-x:auto;
  padding:6px 0 8px;
  scrollbar-width:none;
}
.place-bubbles-inline::-webkit-scrollbar{display:none}
.place-bubbles-inline span{
  flex:0 0 108px!important;
  width:108px!important;
  height:108px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:12px!important;
  background:#fff!important;
  border:0!important;
  color:#173b24!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.25!important;
  box-shadow:none!important;
}
.place-bubbles-inline span:last-child{
  flex-basis:132px!important;
  width:132px!important;
}
@media(max-width:900px){
  .place-bubbles-inline{
    justify-content:flex-start!important;
  }
}

/* Zone d'intervention — alignement final conforme à la maquette */
.zone-grid{
  display:grid!important;
  grid-template-columns:470px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
}
.zone-copy{
  min-width:0!important;
}
.zone-copy p:last-child{
  max-width:455px!important;
}
.place-bubbles-inline{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(6,minmax(82px,1fr))!important;
  gap:12px!important;
  justify-content:stretch!important;
  overflow:visible!important;
}
.place-bubbles-inline span,
.place-bubbles-inline span:last-child{
  width:100%!important;
  max-width:108px!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  min-width:0!important;
  flex:none!important;
  justify-self:center!important;
  padding:8px!important;
  font-size:9px!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:1050px){
  .zone-grid{grid-template-columns:390px minmax(0,1fr)!important}
  .place-bubbles-inline{gap:8px!important}
  .place-bubbles-inline span,
  .place-bubbles-inline span:last-child{font-size:8px!important}
}
@media(max-width:850px){
  .zone-grid{grid-template-columns:1fr!important}
  .place-bubbles-inline{
    display:flex!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
  }
  .place-bubbles-inline span,
  .place-bubbles-inline span:last-child{
    flex:0 0 100px!important;
    width:100px!important;
  }
}

/* Couleur validée - Zone d'intervention */
.zone {
    background: #C1D2BA !important;
}

/* ==========================================================
   NOS DIAGNOSTICS — AFFICHAGE FIXE VALIDÉ
   ========================================================== */
.diagnostics-section{
  padding:26px 0 30px!important;
  background:linear-gradient(90deg,#eef4ea 0%,#e5eee0 50%,#edf3e9 100%)!important;
  overflow:hidden!important;
}
.diagnostics-section .container{
  max-width:1360px!important;
}
.diagnostics-fixed{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:18px;
  align-items:start;
  margin-top:20px;
}
.diag-fixed-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  text-decoration:none;
  color:#142218;
}
.diag-fixed-card .diag-icon{
  width:112px!important;
  height:112px!important;
  min-width:112px;
  border-radius:50%!important;
  background:#fff!important;
  color:#08713c!important;
  border:0!important;
  box-shadow:0 2px 10px rgba(20,60,35,.04)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 auto 12px!important;
  font-size:39px!important;
  font-weight:500;
  line-height:1;
}
.diag-fixed-card .diag-letter{
  font-family:Arial,sans-serif;
  font-size:31px!important;
  border:3px solid #08713c!important;
  width:47px!important;
  height:47px!important;
  min-width:47px!important;
  border-radius:7px!important;
  margin:32px auto 44px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.diag-fixed-card h3{
  font-size:13px!important;
  line-height:1.2;
  margin:0 0 8px!important;
  font-weight:700;
  color:#12351f;
}
.diag-fixed-card p{
  display:block!important;
  max-width:145px;
  margin:0 auto!important;
  font-size:10px!important;
  line-height:1.45!important;
  color:#303b32!important;
}
.diag-fixed-card:hover .diag-icon{
  transform:translateY(-3px);
  transition:.2s ease;
}
.diag-fixed-card:hover h3{color:#08713c}

/* neutralise définitivement les éléments de l'ancien carrousel */
.diagnostics-section .diag-carousel-wrap,
.diagnostics-section .diag-infinite,
.diagnostics-section .diag-arrow{
  display:none!important;
}

@media(max-width:1100px){
  .diagnostics-fixed{
    grid-template-columns:repeat(4,minmax(0,1fr));
    row-gap:28px;
  }
}
@media(max-width:700px){
  .diagnostics-fixed{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .diag-fixed-card .diag-icon{
    width:100px!important;height:100px!important;min-width:100px;
  }
}

/* CORRECTION AFFICHAGE FIXE NOS DIAGNOSTICS */
.diagnostics-section{
  padding:30px 0 34px!important;
  background:linear-gradient(90deg,#eef4ea 0%,#e5eee0 50%,#edf3e9 100%)!important;
  overflow:visible!important;
}
.diagnostics-section .container{max-width:1380px!important}
.diagnostics-fixed{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
  margin-top:24px!important;
  width:100%!important;
}
.diag-fixed-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  color:#142218!important;
  text-decoration:none!important;
  min-width:0!important;
}
.diag-fixed-circle{
  width:128px!important;
  height:128px!important;
  border-radius:50%!important;
  background:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:12px!important;
  box-shadow:0 4px 14px rgba(25,70,35,.05)!important;
}
.diag-fixed-icon{
  color:#08713c!important;
  font-size:43px!important;
  font-weight:500!important;
  line-height:1!important;
}
.diag-fixed-icon.boxed{
  width:48px!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:3px solid #08713c!important;
  border-radius:7px!important;
  font-family:Arial,sans-serif!important;
  font-size:29px!important;
}
.diag-fixed-card h3{
  display:block!important;
  margin:0 0 7px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  color:#14341f!important;
}
.diag-fixed-card p{
  display:block!important;
  margin:0 auto!important;
  max-width:145px!important;
  font-size:10px!important;
  line-height:1.45!important;
  color:#374039!important;
}
.diag-fixed-card:hover .diag-fixed-circle{
  transform:translateY(-3px);
  transition:transform .18s ease;
}
@media(max-width:1150px){
  .diagnostics-fixed{grid-template-columns:repeat(4,minmax(0,1fr))!important;row-gap:28px!important}
}
@media(max-width:700px){
  .diagnostics-fixed{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .diag-fixed-circle{width:110px!important;height:110px!important}
}

/* Actualités avec photos réelles — présentation conforme à la maquette */
.home-news{
  background:#f5f0e8!important;
  padding:14px 0 16px!important;
}
.home-news-head{
  margin-bottom:10px!important;
}
.home-news-grid.news-with-photos{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:22px!important;
}
.home-news-card{
  display:grid!important;
  grid-template-columns:145px minmax(0,1fr)!important;
  min-height:138px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:7px!important;
  border:1px solid #e5e3dc!important;
  box-shadow:none!important;
}
.home-news-photo{
  display:block!important;
  width:145px!important;
  height:138px!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
}
.home-news-body{
  min-width:0;
  padding:13px 15px 11px!important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.home-news-date{
  font-size:9px!important;
  line-height:1!important;
  color:#222!important;
  font-weight:600!important;
  margin:0 0 8px!important;
}
.home-news-body h3{
  font-size:13px!important;
  line-height:1.25!important;
  margin:0 0 7px!important;
  color:#111!important;
}
.home-news-body p{
  display:block!important;
  font-size:10px!important;
  line-height:1.4!important;
  color:#333!important;
  margin:0 0 9px!important;
}
.home-news-body a{
  margin-top:auto!important;
  color:#08713c!important;
  font-size:10px!important;
  font-weight:700!important;
}
.photo-credits{
  margin:6px 0 0!important;
  font-size:7px!important;
  line-height:1.3!important;
  color:#7a807a!important;
  opacity:.85;
}

/* Page Actualités */
.news-card-photo{
  width:100%!important;
  height:180px!important;
  object-fit:cover!important;
  border-radius:14px!important;
  margin:0 0 18px!important;
}

@media(max-width:1000px){
  .home-news-grid.news-with-photos{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:520px){
  .home-news-card{
    grid-template-columns:115px minmax(0,1fr)!important;
  }
  .home-news-photo{
    width:115px!important;
    height:135px!important;
  }
}

/* ==========================================================
   PRÉSENTATION — ALIGNEMENT SUR UNE SEULE LIGNE
   ========================================================== */
.hero-copy{
  width:100%!important;
  max-width:none!important;
}
.presentation-strip{
  display:flex!important;
  align-items:center!important;
  gap:28px!important;
  width:min(100%,1180px)!important;
  margin-top:28px!important;
}
.presentation-actions{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex:0 0 auto!important;
}
.presentation-actions .btn{
  min-height:46px!important;
  padding:0 24px!important;
  white-space:nowrap!important;
}
.presentation-trust{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(125px,1fr))!important;
  align-items:stretch!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.trust-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:0 24px!important;
  min-height:76px!important;
  border-left:1px solid rgba(45,104,58,.22)!important;
}
.trust-item span{
  display:block!important;
  color:#08713c!important;
  font-size:30px!important;
  line-height:1!important;
  margin-bottom:7px!important;
}
.trust-item p{
  margin:0!important;
  font-size:11px!important;
  line-height:1.45!important;
  color:#18221a!important;
}

/* Neutralise l'ancienne disposition */
.actions,.trust-grid{display:none!important}

/* Ajustement du hero pour laisser la place à la ligne complète */
.hero-inner{
  align-items:center!important;
}
.hero-copy{
  padding-right:0!important;
}
@media(min-width:1181px){
  .hero-copy{
    padding-left:38px!important;
  }
}
@media(max-width:1180px){
  .presentation-strip{
    gap:18px!important;
  }
  .presentation-trust{
    grid-template-columns:repeat(4,minmax(105px,1fr))!important;
  }
  .trust-item{
    padding:0 14px!important;
  }
  .presentation-actions .btn{
    padding:0 18px!important;
    font-size:11px!important;
  }
}
@media(max-width:980px){
  .presentation-strip{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .presentation-trust{
    width:100%!important;
  }
  .trust-item:first-child{
    border-left:0!important;
  }
}
@media(max-width:620px){
  .presentation-actions{
    flex-wrap:wrap!important;
  }
  .presentation-trust{
    grid-template-columns:repeat(2,1fr)!important;
    gap:18px 0!important;
  }
  .trust-item:nth-child(odd){
    border-left:0!important;
  }
}

/* ==========================================================
   VERSION 3 — PRÉSENTATION SUR 2 LIGNES
   Ligne 1 : téléphone + devis
   Ligne 2 : 4 engagements
   ========================================================== */

.presentation-strip{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:22px!important;
  width:620px!important;
  max-width:100%!important;
  margin-top:28px!important;
}

.presentation-actions{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  flex-wrap:nowrap!important;
}

.presentation-actions .btn{
  min-height:46px!important;
  height:46px!important;
  white-space:nowrap!important;
}

.presentation-trust{
  width:620px!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  align-items:stretch!important;
  gap:0!important;
}

.trust-item{
  min-height:82px!important;
  padding:0 18px!important;
  border-left:1px solid rgba(45,104,58,.22)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.trust-item:first-child{
  border-left:0!important;
  padding-left:0!important;
}

.trust-item span{
  font-size:29px!important;
  margin-bottom:7px!important;
  color:#08713c!important;
}

.trust-item p{
  margin:0!important;
  font-size:10.8px!important;
  line-height:1.4!important;
}

/* Le hero garde le même visuel / mêmes proportions */
.hero-copy{
  width:620px!important;
  max-width:620px!important;
}

/* Tablette */
@media(max-width:900px){
  .presentation-strip,
  .presentation-trust,
  .hero-copy{
    width:100%!important;
    max-width:620px!important;
  }
}

/* Mobile */
@media(max-width:620px){
  .presentation-actions{
    flex-wrap:wrap!important;
  }

  .presentation-trust{
    grid-template-columns:repeat(2,1fr)!important;
    row-gap:18px!important;
  }

  .trust-item:nth-child(odd){
    border-left:0!important;
  }
}

/* ==========================================================
   FOOTER — ALIGNÉ SUR LA MAQUETTE
   ========================================================== */
.footer-maquette{
  background:linear-gradient(90deg,#0c5430,#0a4a2a)!important;
  color:#fff!important;
  padding:0!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
.footer-maquette-grid{
  display:grid!important;
  grid-template-columns:250px 1.2fr .9fr .7fr 1fr 180px!important;
  align-items:center!important;
  gap:0!important;
  min-height:150px!important;
  padding:18px 0!important;
}
.footer-maquette-grid > div{
  min-width:0!important;
  min-height:92px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:0 28px!important;
  border-left:1px solid rgba(255,255,255,.20)!important;
}
.footer-maquette-grid > div:first-child{
  border-left:0!important;
  padding-left:0!important;
}
.footer-brand img{
  width:205px!important;
  height:auto!important;
  max-height:110px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  opacity:1!important;
}
.footer-about p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.55!important;
  color:#e6eee7!important;
}
.footer-links h3,
.footer-contact-block h3{
  margin:0 0 7px!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#fff!important;
}
.footer-links a{
  display:block!important;
  margin:0 0 3px!important;
  font-size:11px!important;
  line-height:1.35!important;
  color:#f1f5f1!important;
  text-decoration:none!important;
}
.footer-links-secondary{
  justify-content:center!important;
  padding-top:22px!important;
}
.footer-contact-block p{
  margin:0 0 5px!important;
  font-size:11px!important;
  line-height:1.35!important;
  color:#f1f5f1!important;
}
.footer-social{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
}
.social-circle{
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:#0b5b32!important;
  font-size:18px!important;
  font-weight:700!important;
  text-decoration:none!important;
  border:2px solid rgba(255,255,255,.45)!important;
}
.footer-legal-row{
  border-top:1px solid rgba(255,255,255,.22)!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  min-height:34px!important;
  padding:8px 0!important;
  font-size:9px!important;
  color:#dbe7de!important;
}

/* neutralise l'ancien footer */
.footer-main,.footer-grid,.footer-bottom{display:none!important}

@media(max-width:1100px){
  .footer-maquette-grid{
    grid-template-columns:220px 1fr 1fr!important;
    row-gap:18px!important;
  }
  .footer-maquette-grid > div{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    padding:18px!important;
  }
  .footer-maquette-grid > div:nth-child(-n+3){
    border-top:0!important;
  }
}
@media(max-width:700px){
  .footer-maquette-grid{
    grid-template-columns:1fr!important;
  }
  .footer-maquette-grid > div{
    min-height:auto!important;
    align-items:flex-start!important;
  }
  .footer-social{
    flex-direction:row!important;
    justify-content:flex-start!important;
  }
  .footer-legal-row{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:6px!important;
  }
}

/* Footer - ajout CGV + réduction hauteur d'environ 15 % */
.footer-maquette-grid{
  min-height:128px!important; /* ~15 % de moins que 150px */
  padding:15px 0!important;
}
.footer-maquette-grid > div{
  min-height:78px!important; /* ~15 % de moins que 92px */
  padding-top:0!important;
  padding-bottom:0!important;
}
.footer-brand img{
  width:190px!important;
  max-height:94px!important;
}
.footer-about p{
  font-size:11px!important;
  line-height:1.45!important;
}
.footer-links h3,
.footer-contact-block h3{
  margin-bottom:5px!important;
  font-size:12px!important;
}
.footer-links a,
.footer-contact-block p{
  font-size:10px!important;
  line-height:1.3!important;
  margin-bottom:2px!important;
}
.footer-links-secondary{
  padding-top:16px!important;
}
.social-circle{
  width:38px!important;
  height:38px!important;
  font-size:16px!important;
}
.footer-legal-row{
  min-height:29px!important;
  padding:6px 0!important;
}

/* Footer — zone principale fixée à 100 px */
.footer-maquette-grid{
  min-height:100px!important;
  height:100px!important;
  padding:8px 0!important;
  box-sizing:border-box!important;
}
.footer-maquette-grid > div{
  min-height:68px!important;
  height:auto!important;
}
.footer-brand img{
  max-height:76px!important;
  width:170px!important;
}

/* Footer — réseaux sociaux alignés */
.footer-social{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
.footer-social .social-circle{
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  background:#fff!important;
  color:#0b5b32!important;
  border:0!important;
  text-decoration:none!important;
  font-family:Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:700!important;
  box-sizing:border-box!important;
}
.footer-social .social-mail{
  font-size:16px!important;
  padding-bottom:1px!important;
}
.footer-social .social-facebook{
  font-family:Arial,sans-serif!important;
  font-size:21px!important;
  font-weight:700!important;
  padding-top:2px!important;
}

/* Correction définitive : LinkedIn + Mail + Facebook sur UNE ligne horizontale */
.footer-maquette-grid .footer-social{
  display:grid!important;
  grid-template-columns:36px 36px 36px!important;
  grid-template-rows:36px!important;
  grid-auto-flow:column!important;
  column-gap:12px!important;
  row-gap:0!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  min-width:132px!important;
  height:68px!important;
  padding:0 12px!important;
}
.footer-maquette-grid .footer-social .social-circle{
  position:static!important;
  display:flex!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  margin:0!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:700px){
  .footer-maquette-grid .footer-social{
    display:grid!important;
    grid-template-columns:36px 36px 36px!important;
    grid-template-rows:36px!important;
    justify-content:start!important;
  }
}

/* ==========================================================
   VERSION 3 MODIFIÉE — PAGES DIAGNOSTICS PLUS COMPACTES
   ========================================================== */

/* Bandeau diagnostic moins haut */
.diag-page-hero{
  min-height:210px!important;
  padding:32px 0!important;
  display:flex!important;
  align-items:center!important;
  box-sizing:border-box!important;
}

/* Le contenu du bandeau reste verticalement centré */
.diag-page-hero .container{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

/* Suppression visuelle de tout ancien kicker éventuel */
.diag-page-kicker{
  display:none!important;
}

/* Titre légèrement resserré */
.diag-page-hero h1{
  margin:0 0 8px!important;
  font-size:44px!important;
  line-height:1.05!important;
}

/* Sous-titre rapproché du titre */
.diag-page-subtitle{
  margin:0!important;
  font-size:18px!important;
  line-height:1.35!important;
}

/* Ajustement des décorations circulaires à la nouvelle hauteur */
.diag-page-hero::before{
  width:220px!important;
  height:220px!important;
  left:-90px!important;
  top:-70px!important;
}
.diag-page-hero::after{
  width:245px!important;
  height:245px!important;
  right:-70px!important;
  bottom:-95px!important;
  border-width:45px!important;
}

@media(max-width:700px){
  .diag-page-hero{
    min-height:180px!important;
    padding:26px 0!important;
  }
  .diag-page-hero h1{
    font-size:36px!important;
  }
  .diag-page-subtitle{
    font-size:15px!important;
  }
}

/* ==========================================================
   PAGES DIAGNOSTICS — ILLUSTRATION + CONTEXTE VENTE/LOCATION
   ========================================================== */

.diag-content{
  padding:54px 0 62px!important;
}

.diag-content-grid{
  grid-template-columns:minmax(360px,.85fr) minmax(0,1.15fr)!important;
  gap:52px!important;
  align-items:start!important;
}

.diag-visual{
  position:sticky;
  top:120px;
  background:transparent;
  padding:0;
}

.diag-visual img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  border-radius:28px;
}

.diag-intro-block{
  padding-bottom:26px!important;
  margin-bottom:26px!important;
}

.diag-context{
  margin:0 0 8px!important;
  color:#08713c!important;
  font-size:15px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}

.diag-content-title{
  margin:0 0 6px!important;
  font-size:42px!important;
  line-height:1.05!important;
  color:#111!important;
}

.diag-content-subtitle{
  margin:0!important;
  color:#59635a!important;
  font-size:17px!important;
  line-height:1.4!important;
}

/* Supprime toute trace de l'ancien résumé */
.diag-summary{
  display:none!important;
}

@media(max-width:900px){
  .diag-content-grid{
    grid-template-columns:1fr!important;
  }
  .diag-visual{
    position:static!important;
    max-width:620px;
    margin:0 auto;
  }
}

/* ==========================================================
   VERSION 3 MODIFIÉE — VISUELS PHOTORÉALISTES
   ========================================================== */
.diag-photo{
  position:sticky!important;
  top:115px!important;
}
.diag-photo-frame{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1.22 / 1!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:#edf4e9!important;
  box-shadow:0 12px 34px rgba(24,67,39,.08)!important;
}
.diag-photo-frame img{
  position:absolute!important;
  left:0!important;
  width:100%!important;
  height:700%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center var(--photo-y)!important;
  border-radius:0!important;
}

/* Image source contains seven horizontal photo rows:
   each page reveals only the relevant real-photo area. */
.diag-photo-dpe .diag-photo-frame img{top:0!important;}
.diag-photo-amiante .diag-photo-frame img{top:-100%!important;}
.diag-photo-plomb .diag-photo-frame img{top:-200%!important;}
.diag-photo-gaz .diag-photo-frame img{top:-300%!important;}
.diag-photo-electricite .diag-photo-frame img{top:-400%!important;}
.diag-photo-termites .diag-photo-frame img{top:-500%!important;}
.diag-photo-erp .diag-photo-frame img{top:-600%!important;}

@media(max-width:900px){
  .diag-photo{position:static!important;}
  .diag-photo-frame{max-width:620px!important;margin:0 auto!important;}
}

/* ==========================================================
   CORRECTION PHOTOS DIAGNOSTICS
   Chaque page charge désormais une image individuelle.
   ========================================================== */
.diag-visual.diag-photo{
  position:sticky!important;
  top:115px!important;
  background:transparent!important;
  padding:0!important;
}
.diag-photo-direct{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  aspect-ratio:1.35/1!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:28px!important;
  box-shadow:0 12px 34px rgba(24,67,39,.10)!important;
}

/* Neutralise l'ancien système de recadrage de la planche */
.diag-photo-frame{
  display:none!important;
}

@media(max-width:900px){
  .diag-visual.diag-photo{
    position:static!important;
    max-width:620px!important;
    margin:0 auto!important;
  }
}

/* Photos fournies par l'utilisateur — intégration pages diagnostics */
.diag-photo-direct{
  width:100%!important;
  height:410px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:28px!important;
}
.diag-photo-electricite .diag-photo-direct,
.diag-photo-gaz .diag-photo-direct,
.diag-photo-plomb .diag-photo-direct{
  object-position:center!important;
}

/* DPE + Amiante — photos fournies par l'utilisateur */
.diag-photo-direct{
  width:100%!important;
  height:410px!important;
  object-fit:cover!important;
  border-radius:28px!important;
}
body:has(img[src*="dpe-utilisateur.jpg"]) .diag-photo-direct{
  object-position:center!important;
}
body:has(img[src*="amiante-utilisateur.jpg"]) .diag-photo-direct{
  object-position:center!important;
}

/* État des risques et pollutions — photo utilisateur */
body:has(img[src*="erp-utilisateur.jpg"]) .diag-photo-direct{
  width:100%!important;
  height:410px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:28px!important;
}

/* Texte détaillé — diagnostic électricité / vente */
.diag-sale-description{
  margin-top:22px;
  max-width:850px;
  color:#4f5951;
  font-size:15px;
  line-height:1.65;
}
.diag-sale-description p{
  margin:0 0 14px;
}

/* Texte détaillé — diagnostic électricité / location */
.diag-location-description{
  margin-top:22px;
  max-width:850px;
  color:#4f5951;
  font-size:15px;
  line-height:1.65;
}
.diag-location-description p{
  margin:0 0 14px;
}

/* Footer — réorganisation liens */
.footer-legal-row a{
  color:inherit!important;
  text-decoration:none!important;
}
.footer-legal-row a:hover{
  text-decoration:underline!important;
}

/* Footer légal : CGV, Mentions légales et Confidentialité sur une seule ligne */
.footer-legal-row > span:last-child{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  white-space:nowrap!important;
  gap:0!important;
}
.footer-legal-row > span:last-child a{
  display:inline!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}

/* Pages juridiques */
.footer-legal-row a{
  color:inherit!important;
  text-decoration:none!important;
}
.footer-legal-row a:hover{
  text-decoration:underline!important;
}
.legal-page-hero{
  min-height:165px!important;
  padding:26px 0!important;
}
.legal-page-content{
  padding:48px 0 64px;
  background:#f7faf5;
}
.legal-content-card{
  max-width:920px!important;
  background:#fff;
  border:1px solid #dce7d8;
  border-radius:20px;
  padding:38px 42px!important;
}
.legal-content-card h2{
  margin:28px 0 10px;
  font-size:22px;
  color:#123e25;
}
.legal-content-card h2:first-child{margin-top:0}
.legal-content-card p{
  margin:0;
  color:#4d5850;
  line-height:1.7;
  font-size:14px;
}
.legal-content-card a{
  color:#08713c;
  font-weight:600;
}
@media(max-width:700px){
  .legal-content-card{padding:26px 22px!important}
}

/* ==========================================================
   CONTACT — harmonisation avec le formulaire Demande de devis
   ========================================================== */

/* Fond général du bloc formulaire : même esprit vert pastel que le devis */
.contact-page .contact-form,
.contact-page .contact-form-card,
.contact-page .form-card,
.contact-page form{
  background:#E9EEE3!important;
}

/* Seules les zones réellement saisissables restent blanches */
.contact-page form input,
.contact-page form textarea,
.contact-page form select{
  background:#FFFFFF!important;
}

/* Cartes Téléphone / E-mail / Adresse :
   même famille visuelle que la carte "Besoin d'aide ?" du devis */
.contact-page .contact-info-card,
.contact-page .contact-card,
.contact-page .contact-item,
.contact-page .info-card{
  background:#EFF5EC!important;
}

/* Conserver les éléments internes transparents pour que la carte soit uniforme */
.contact-page .contact-info-card *,
.contact-page .contact-card *,
.contact-page .contact-item *,
.contact-page .info-card *{
  background-color:transparent;
}

/* Ne pas écraser les éventuels boutons */
.contact-page form button,
.contact-page form .btn{
  background:var(--green, #08713c)!important;
}

/* CONTACT — le formulaire se fond dans le fond général de la page */
.contact-page .contact-form,
.contact-page .contact-form-card,
.contact-page .form-card,
.contact-page form{
  background:transparent!important;
  box-shadow:none!important;
}

/* Les champs de saisie restent blancs */
.contact-page form input,
.contact-page form textarea,
.contact-page form select{
  background:#FFFFFF!important;
}

/* Version 3 Final - Contact : icônes noires pour une meilleure lisibilité */
.contact-page .info-card .info-icon,
.contact-page .contact-card .info-icon,
.contact-page .contact-item .info-icon,
.contact-page .contact-info-card .info-icon{
  color:#000000!important;
  background-color:transparent!important;
}


/* Pages diagnostics obligatoires vente / location */
.nav-dropdown-menu .nav-featured-link{font-weight:700;background:#eff5ec;border-radius:8px;margin-bottom:6px;color:#0b4f2b}
.nav-dropdown-menu .nav-featured-link::before{content:"▤";background:#0b4f2b;color:#fff}
.obligatory-hero{padding:72px 0 60px;background:linear-gradient(135deg,#f5f7f1 0%,#eff5ec 100%);text-align:center}
.obligatory-hero h1{font-size:clamp(30px,4vw,48px);margin:8px 0 14px;color:#172018}
.obligatory-hero>div>p:last-child{max-width:760px;margin:0 auto;color:#59645c;line-height:1.7}
.obligatory-content{padding:62px 0 82px;background:#fff}
.obligatory-intro{max-width:980px;text-align:center;margin-bottom:36px}
.obligatory-intro h2{font-size:28px;margin-bottom:18px}
.obligatory-intro p{font-size:14px;line-height:1.8;color:#59645c;margin:0 auto 12px}
.obligatory-table-card{max-width:1180px;background:#fff;border:1px solid #dfe8dc;border-radius:20px;padding:18px;box-shadow:0 12px 35px rgba(35,75,40,.08)}
.obligatory-table-image{display:block;width:100%;height:auto;border-radius:12px}
.obligatory-help-card{max-width:1180px;margin-top:34px;background:#eff5ec;border-radius:18px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.obligatory-help-card h2{font-size:23px;margin:0 0 8px}
.obligatory-help-card p{margin:0;color:#59645c;line-height:1.65;max-width:720px}
.obligatory-actions{display:flex;gap:12px;flex:0 0 auto}
@media(max-width:800px){.obligatory-help-card{flex-direction:column;align-items:flex-start}.obligatory-actions{width:100%;flex-wrap:wrap}.obligatory-actions .btn{flex:1;text-align:center}.obligatory-table-card{padding:8px;border-radius:12px}.obligatory-content{padding-top:42px}}

/* Session utilisateur persistante - V4 */
.header-user-session{display:flex;align-items:center;gap:6px;margin-left:8px;white-space:nowrap}
.header-user-badge{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #dce7d8;border-radius:999px;background:#eff5ec;color:#173f27;text-decoration:none;font-size:12px;font-weight:700;transition:.2s ease}
.header-user-badge:hover{background:#e5efe1;border-color:#bfd1b7;transform:translateY(-1px)}
.header-user-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2f7f43;color:#fff;font-size:8px}
.header-user-name{max-width:145px;overflow:hidden;text-overflow:ellipsis}
.header-user-logout{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dce7d8;border-radius:50%;background:#fff;color:#173f27;cursor:pointer;font-size:15px}
.header-user-logout:hover{background:#f4f7f2}
@media(max-width:1180px){.header-user-name{max-width:90px}.header-user-badge{padding:0 10px}}
@media(max-width:900px){.header-user-session{order:4;width:100%;justify-content:flex-end;margin:8px 0 0}.header-user-name{max-width:none}}


/* V4 FINAL — session client intégrée dans la barre d’en-tête */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}
.header-actions .phone{flex:0 0 auto}
.header-user-session{display:flex;align-items:center;gap:6px;margin-left:0;white-space:nowrap;flex:0 0 auto}
@media(min-width:851px){
  .header-inner{grid-template-columns:minmax(210px,245px) minmax(0,1fr) auto!important;gap:18px!important}
  .logo-wrap{width:220px}
  .nav{gap:22px!important}
  .header-actions .phone{padding:14px 20px}
  .header-user-badge{min-height:42px;padding:0 12px}
}
@media(max-width:1180px) and (min-width:851px){
  .header-inner{grid-template-columns:190px minmax(0,1fr) auto!important;gap:12px!important}
  .logo-wrap{width:185px}
  .nav{gap:14px!important}
  .nav>a,.nav-dropbtn{font-size:9px!important}
  .header-actions{gap:6px}
  .header-actions .phone{padding:12px 14px;font-size:11px}
  .header-user-badge{padding:0 9px;font-size:11px}
  .header-user-name{max-width:82px}
}
@media(max-width:850px){
  .header-actions{margin-left:auto}
  .header-actions .phone{display:none}
  .header-user-session{width:auto;order:initial;margin:0}
  .header-user-badge{min-height:38px;padding:0 10px}
  .header-user-name{max-width:120px}
  .header-user-logout{width:32px;height:32px}
}

/* Session client : masquer l’accès connexion lorsqu’un client est déjà connecté */
html.client-connected .nav-client{display:none !important;}
