/* ==========================================================================
   GREENKUB - Page Hub MAISON
   Intégration responsive HTML/CSS/JS pur (vanilla) - reconstruite fidèlement
   depuis la maquette Figma "MAISON-Claude", section par section.
   --------------------------------------------------------------------------
   - Styles préfixés ".gkh" pour éviter tout conflit avec le thème / Elementor.
   - Header & footer du site NON gérés ici (déjà en place).
   - Charte univers MAISON : police AVENIR uniquement (titres inclus).
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. POLICE AVENIR : servie globalement par le site greenkub.fr.
   (@font-face locaux retirés pour ne pas entrer en conflit avec ceux du site.)
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   1. TOKENS DE CHARTE (variables Figma)
   -------------------------------------------------------------------------- */
:root{
  --gkh-yellow:#fedd63;
  --gkh-yellow-sub:#fff863;
  --gkh-green:#41b883;

  --gkh-black:#161616;
  --gkh-black-3:#2f2f2f;   /* titres chiffres */
  --gkh-grey-5:#4a4a4a;
  --gkh-grey-6:#6b6b6b;    /* texte descriptif */
  --gkh-grey-7:#9a9a9a;
  --gkh-light:#e0e0e0;
  --gkh-bg:#fafaf7;        /* fond de section clair (sections rassurances) */
  --gkh-btn-light:#f7f7f7;
  --gkh-white:#ffffff;

  --gkh-font:"Avenir","Avenir Next",system-ui,sans-serif;

  /* Gabarit : maquette 1920px, contenu calé à 83px des bords */
  --gkh-maxw:1920px;
  --gkh-gutter:clamp(16px,4.32vw,83px);
  --gkh-radius:16px;
}

/* --------------------------------------------------------------------------
   2. RESET LOCAL (scopé .gkh)
   -------------------------------------------------------------------------- */
.gkh,.gkh *{box-sizing:border-box;}
.gkh{
  font-family:var(--gkh-font);
  color:var(--gkh-black);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.gkh img{max-width:100%;display:block;}
.gkh h1,.gkh h2,.gkh h3,.gkh p{margin:0;}
.gkh ul{list-style:none;margin:0;padding:0;}
.gkh a{text-decoration:none; font-weight: 600; font-size: 17px;} /* pas de color:inherit : laisse les composants (.gkh-btn, .gkh-model__config…) gérer leur couleur */

/* --------------------------------------------------------------------------
   3. UTILITAIRES
   -------------------------------------------------------------------------- */
.gkh__container{
  width:100%;
  max-width:var(--gkh-maxw);
  margin-inline:auto;
  padding-inline:var(--gkh-gutter);
}

/* ==========================================================================
   4. SECTIONS
   ========================================================================== */

/* --- 1. HERO ------------------------------------------------------------- */
.gkh-hero{
  position:relative;
  width:100%;
  min-height:clamp(560px,51.5vw,900px);  /* ratio maquette 1920x990 */
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
}
.gkh-hero__bg{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0; }
.gkh-hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to top, rgba(0,0,0,.60) 0%, rgba(0,0,0,.25) 32%, rgba(0,0,0,0) 60%),
    radial-gradient(120% 90% at 0% 100%, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%);
}
.gkh-hero__content{
  position:relative;z-index:2;width:100%;max-width:1086px;
  padding-inline:var(--gkh-gutter);
  padding-bottom:clamp(48px,8.3vw,100px);
  display:flex;flex-direction:column;gap:clamp(10px,.8vw,12px);
}
.gkh-hero__eyebrow{
  font-weight:800;font-size:clamp(15px,1.15vw,22px);
  letter-spacing:.02em;text-transform:uppercase;color:var(--gkh-yellow);
}
.gkh-hero__title{ font-weight:900;font-size:clamp(34px,3.23vw,62px);line-height:1.1;max-width:18ch; }
.gkh-hero__sub{
  font-weight:400;font-size:clamp(16px,1.1vw,21px);line-height:1.48;
  max-width:818px;margin-top:clamp(8px,1.5vw,18px);
}
.gkh-hero__actions{ display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(18px,2.3vw,30px); }

.gkh-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:clamp(16px,1.4vw,21px) clamp(22px,1.8vw,28px);
  border-radius:var(--gkh-radius);
  font-weight:500;font-size:clamp(15px,.9vw,17px);
  color:var(--gkh-black);box-shadow:0 4px 4px rgba(0,0,0,.07);
  cursor:pointer;text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease;
}
.gkh-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.18);}
.gkh-btn--primary{background:var(--gkh-yellow);}
.gkh-btn--light{background:var(--gkh-btn-light);}

/* --- 2. RASSURANCES (3 chiffres clés) ------------------------------------ */
.gkh-rass{ background:var(--gkh-bg); }
.gkh-rass__inner{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:clamp(24px,2.4vw,47px);
  align-items:start;
  padding-block:clamp(56px,5.7vw,110px);
}
.gkh-rass__eyebrow{
  font-weight:800;font-size:clamp(15px,1.15vw,22px);
  letter-spacing:.02em;text-transform:uppercase;color:var(--gkh-yellow);
  padding-top:4px;
}
.gkh-rass__stat{ display:flex;flex-direction:column;gap:8px; }
.gkh-rass__icon{ width:32px;height:32px;margin-bottom:18px; }
.gkh-rass__num{
  font-weight:900;font-size:clamp(34px,2.6vw,50px);
  color:var(--gkh-black-3);letter-spacing:-.5px;line-height:1;
}
.gkh-rass__desc{ font-weight:400;font-size:16px;line-height:1.4;color:var(--gkh-grey-6); }

/* --- 3a. MODELES (grille de 6 cartes) ----------------------------------- */
.gkh-models{ padding-block:clamp(56px,6.2vw,120px);scroll-margin-top:100px; } /* offset pour l'ancre #nos-modeles sous le header fixe */
.gkh-models__head{ margin-bottom:clamp(32px,3.6vw,56px); }
.gkh-models__eyebrow{
  font-weight:800;font-size:clamp(15px,1.15vw,22px);
  letter-spacing:.02em;text-transform:uppercase;color:var(--gkh-yellow);
  display:block;margin-bottom:clamp(14px,1.4vw,24px);
}
.gkh-models__title{
  font-weight:900;font-size:clamp(30px,2.7vw,52px);line-height:1.08;
  color:#0a0a0a; margin-bottom: 12px !important;
}
.gkh-models__sub{
  font-weight:400;font-size:clamp(16px,1.05vw,20px);line-height:1.5;
  color:var(--gkh-grey-5);max-width:653px;margin-top:clamp(12px,1.4vw,22px);
}
.gkh-models__grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,2.65vw,51px);
}

.gkh-model{
  display:flex;flex-direction:column;
  background:var(--gkh-white);
  border:1px solid #f5f5f0;
  border-radius: 16px;overflow:hidden;
  box-shadow:0 8px 20px 0 rgba(224,224,224,.2);
  transition:transform .2s ease,box-shadow .2s ease;
}
.gkh-model:hover{ transform:translateY(-4px);box-shadow:0 14px 28px 0 rgba(180,180,180,.32); }
.gkh-model__media{ position:relative;aspect-ratio:11/10;overflow:hidden; }
.gkh-model__media img{ width:100%;height:100%;object-fit:cover; }
.gkh-model__badge{
  position:absolute;top:24px;left:24px;
  background:var(--gkh-yellow);
  padding:8px 16px;border-radius:32px;
  font-weight:500;font-size:16px;text-transform:uppercase;color:#4a4a4a;
}
.gkh-model__body{ display:flex;flex-direction:column;justify-content:space-between;gap:clamp(28px,2.6vw,36px);padding:clamp(28px,2.4vw,32px);flex:1; }
.gkh-model__kicker{ font-weight:500;font-size:16px;text-transform:uppercase;color:var(--gkh-grey-7);margin-bottom:8px !important; }
.gkh-model__size{ font-weight:900;font-size:clamp(36px,2.6vw,50px);line-height:1;color:#0a0a0a; }
.gkh-model__price{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  border-top:1px solid #f5f5f0;padding-top:20px;
}
.gkh-model__from{ font-weight:400;font-size:clamp(16px,1.05vw,20px);color:var(--gkh-black-3); }
.gkh-model__amount{ font-weight:900;font-size:clamp(22px,1.5vw,28px);color:#0a0a0a; }
.gkh-model__config{ font-weight:900;font-size:clamp(16px,1.05vw,20px);color:var(--gkh-yellow);letter-spacing:.2px;margin-left:auto;white-space:nowrap; }

/* Carte mise en avant : maison sur-mesure (style/layout distinct) */
.gkh-model--custom{
  background:var(--gkh-yellow);
  border:0;
  box-shadow:none;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:clamp(28px,3vw,40px);
}
.gkh-model--custom:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 28px 0 rgba(180,180,180,.32);
}
.gkh-model-custom__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.gkh-model-custom__icon{ width:48px; height:48px; color:#161616; }
.gkh-model-custom__kicker{
  font-weight:800;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5a5226;
}
.gkh-model-custom__title{
  font-weight:900;
  font-size:clamp(28px,2.4vw,40px);
  line-height:1.05;
  color:#161616;
}
.gkh-model-custom__text{
  font-weight:400;
  font-size:clamp(15px,1vw,17px);
  line-height:1.45;
  color:#3a3413;
  max-width:34ch;
}
.gkh-model-custom__btn{ margin-top:8px; }

/* Bouton noir (utilisé par la carte sur-mesure) */
.gkh-btn--dark{ background:#161616; color:#fff; }

/* --- 3b. LES TARIFS INCLUENT (bande) ------------------------------------ */
.gkh-tarifs-wrap{ padding-bottom:clamp(56px,6.2vw,120px); }
.gkh-tarifs{
  display:grid;grid-template-columns:minmax(220px,549px) 1fr;
  background:#fff8e0;border-radius:32px;overflow:hidden;
}
.gkh-tarifs__media{ min-height:300px; }
.gkh-tarifs__media img{ width:100%;height:100%;object-fit:cover; }
.gkh-tarifs__content{
  display:grid;grid-template-columns:auto 1fr;
  gap:clamp(24px,4vw,72px);align-items:baseline;
  padding:clamp(28px,3vw,48px);
}
.gkh-tarifs__title{ font-weight:900;font-size:clamp(30px,2.7vw,52px);line-height:1.08;color:#0a0a0a; }
.gkh-tarifs__list{ display:flex;flex-direction:column;gap:clamp(10px,1vw,15px); }
.gkh-tarifs__item{ display:flex;align-items:center;gap:16px; }
.gkh-tarifs__item img{ width:32px;height:32px;flex:none; }
.gkh-tarifs__item span{ font-weight:500;font-size:clamp(16px,1.15vw,22px);color:var(--gkh-black-3); }

/* --- 4. CATALOGUE -------------------------------------------------------- */
.gkh-cata-wrap{ padding-block:clamp(24px,3vw,48px); }
.gkh-cata{
  position:relative;
  background:#f5eaf2;
  border-radius:32px;overflow:hidden;
  aspect-ratio:1752/753;
  display:flex;align-items:center;justify-content:center;
}
.gkh-cata__img{ width:92%;height:auto;mix-blend-mode:darken; }
.gkh-cata__btn{
  position:absolute;left:0;right:0;bottom:clamp(24px,7%,80px);
  margin-inline:auto;width:max-content;       /* centrage sans transform : hover lift identique aux autres CTA */
  box-shadow:0 4px 4px rgba(0,0,0,.15);
}

/* --- 5. AVIS / SATISFACTION --------------------------------------------- */
.gkh-avis{ padding-block:clamp(56px,6vw,120px); }
.gkh-avis__title{
  font-weight:900;font-size:clamp(30px,2.7vw,52px);line-height:1.08;color:#0a0a0a;
  margin-bottom:clamp(28px,3.4vw,52px) !important;
}

/* 4 cartes stats */
.gkh-avis__stats{ display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,1.8vw,32px);margin-bottom:clamp(28px,3vw,56px) !important; }
.gkh-stat-card{
  position:relative;background:var(--gkh-bg);border-radius:16px;
  padding:clamp(28px,2.4vw,40px);display:flex;flex-direction:column;
  min-height:300px;
  align-items: flex-start;
}
.gkh-stat-card--label::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:8px;
  background:var(--gkh-green);border-radius:16px 0 0 16px;
}
.gkh-stat-card__eyebrow{
  font-weight:800;font-size:16px;letter-spacing:.64px;text-transform:uppercase;
  color:var(--gkh-yellow);
}
.gkh-stat-card--label .gkh-stat-card__eyebrow{ color:var(--gkh-green); }
.gkh-stat-card__num{
  font-weight:900;font-size:clamp(48px,3.6vw,70px);line-height:1;color:#000;
  letter-spacing:-.7px;margin-top:auto;display:flex;align-items:center;gap:10px; margin-bottom: 8px;
}
.gkh-stat-card__num small{ font-size:clamp(22px,1.9vw,36px);font-weight:900; }
.gkh-stat-card__star{ height:clamp(40px,3.4vw,56px);width:auto; }
.gkh-stat-card__sub{ font-weight:400;font-size:18px;line-height:1.4;color:var(--gkh-grey-7);margin-top:18px; }

/* Trustpilot (carte label) */
.gkh-stat-card__excellent{ font-weight:900;font-size:clamp(22px,1.7vw,26px);color:#191919;margin-top:auto; }
/* Trustpilot via images (carte label) : rangée d'étoiles puis logo */
.gkh-tp-stars-img{ height:clamp(28px,2.3vw,34px);width:auto;display:block;margin-top:14px; }
.gkh-tp-logo-img{ height:clamp(24px,2.7vw,35px);width:auto;display:block;margin-top:14px; }

/* Bas : panneau expérience + témoignage */
.gkh-avis__exp{ display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(24px,2.4vw,40px);align-items:stretch; }

.gkh-exp-panel{ background:rgba(254,221,99,.2);border-radius:16px;padding:clamp(32px,3vw,56px);display:flex;flex-direction:column;gap:clamp(28px,3vw,48px); }
.gkh-exp__title{ font-weight:900;font-size:clamp(26px,2.5vw,52px);line-height:1.08;color:#0a0a0a; }
.gkh-exp__mid{ display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3vw,48px);align-items:center; }

.gkh-bar + .gkh-bar{ margin-top:18px; }
.gkh-bar__head{ display:flex;align-items:center;gap:10px;margin-bottom:8px; }
.gkh-bar__head img{ width:25px;height:25px; }
.gkh-bar__head span{ font-weight:800;font-size:16px;letter-spacing:.02em;text-transform:uppercase;color:var(--gkh-grey-6); }
.gkh-bar__track{ height:12px;background:#fff;border:1px solid var(--gkh-yellow);border-radius:40px;overflow:hidden; }
.gkh-bar__fill{ display:block;height:100%;width:0;background:var(--gkh-yellow);border-radius:40px;transition:width 1.3s cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion: reduce){ .gkh-bar__fill{ transition:none; } }

.gkh-exp__callout{ position:relative;overflow:hidden;background:#fff;border-radius:12px;padding:clamp(24px,2vw,30px);box-shadow:0 4px 36px 0 rgba(255,80,145,.10); }
.gkh-exp__callout-bar{ position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--gkh-yellow);border-radius:0 2px 2px 0; }
.gkh-exp__slide{ display:none;flex-direction:column;gap:6px;animation:gkhFadeSlide .5s ease; }
.gkh-exp__slide.is-active{ display:flex; }
@keyframes gkhFadeSlide{ from{opacity:0;transform:translateX(10px);} to{opacity:1;transform:translateX(0);} }
.gkh-exp__callout-num{ font-weight:900;font-size:clamp(34px,3.2vw,46px);color:var(--gkh-yellow);letter-spacing:-.46px;line-height:1;margin-bottom:6px; }
.gkh-exp__callout-text{ font-weight:400;font-size:clamp(16px,1.2vw,18px);line-height:1.3;color:#222;min-height:clamp(48px,5vw,70px); }
.gkh-exp__dots{ display:flex;gap:6px;margin-top:20px; }
.gkh-exp__dot{ width:8px;height:8px;border-radius:50%;background:#f7f7f7;border:0;padding:0;cursor:pointer;transition:background .3s; }
.gkh-exp__dot.is-active{ background:var(--gkh-yellow); }

.gkh-exp__tags{ display:flex;flex-wrap:wrap;gap:10px; }
.gkh-chip{ display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gkh-yellow);border-radius:16px;padding:12px 16px;box-shadow:0 1px 2px rgba(50,50,50,.1); }
.gkh-chip span{ font-weight:400;font-size:18px;color:#ffba40; }
.gkh-chip b{ color:var(--gkh-yellow);font-weight:900;letter-spacing:1px; }

/* Témoignage */
.gkh-testi{ background:var(--gkh-yellow);border-radius:16px;overflow:hidden;padding:clamp(16px,1.4vw,24px);display:flex;flex-direction:column;gap:clamp(14px,1.2vw,20px); }
.gkh-testi__media{ border-radius:12px;overflow:hidden;aspect-ratio:16/9; }
.gkh-testi__media img{ width:100%;height:100%;object-fit:cover; }
.gkh-testi__card{ background:#fff;border-radius:12px;padding:clamp(20px,1.6vw,28px);display:flex;flex-direction:column;gap:12px; }
.gkh-testi__slide{ display:none;flex-direction:column;gap:12px;height:clamp(300px,30vw,340px);animation:gkhFadeSlide .5s ease; }
.gkh-testi__slide.is-active{ display:flex; }
.gkh-testi__dots{ display:flex;justify-content:center;gap:6px;margin-top:16px; }
.gkh-testi__dot{ width:8px;height:8px;border-radius:50%;background:var(--gkh-white);border:0;padding:0;cursor:pointer;transition:background .3s; }
.gkh-testi__dot.is-active{ background:var(--gkh-black); }
.gkh-testi__quote{ font-weight:900;font-size:48px;line-height:.6;color:var(--gkh-yellow); }
.gkh-testi__lead{ font-weight:900;font-size:18px;line-height:1.45;color:#1c1c1c; }
.gkh-testi__text{ font-weight:400;font-size:18px;line-height:1.45;color:#1c1c1c; }
.gkh-testi__author{ display:flex;align-items:center;gap:12px;margin-top:auto; }
.gkh-testi__avatar{ width:46px;height:46px;border-radius:50%;background:var(--gkh-light);display:grid;place-items:center;font-weight:800;font-size:15px;color:#161616;flex:none; }
.gkh-testi__name{ font-weight:800;font-size:15px;color:#161616; }
.gkh-testi__meta{ font-weight:400;font-size:15px;color:var(--gkh-grey-7); }
.gkh-testi__stars-img{ height:clamp(20px,1.6vw,24px);width:auto;margin-left:auto; }

/* Sources */
.gkh-avis__sources{ display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(20px,2vw,32px) !important;font-weight:400;font-size:clamp(13px,1vw,18px);line-height:1.5;color:var(--gkh-grey-7); }
.gkh-avis__sources b{ color:var(--gkh-yellow);font-weight:800;flex:none; }

/* --- 6. CONSTRUCTION REPENSÉE (3 étapes) -------------------------------- */
.gkh-construct{ background:var(--gkh-yellow);padding-block:clamp(56px,6vw,115px); }
.gkh-construct__head{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);
  align-items:start;margin-bottom:clamp(32px,3.6vw,56px); align-items: end;
}
.gkh-construct__title{ font-weight:900;font-size:clamp(28px,2.6vw,50px);line-height:1.2;color:#161616; }
.gkh-mark{
  background-repeat:no-repeat;
  background-size:100% 40%;
  background-position:0 85%;
  padding:0 2px;
  -webkit-box-decoration-break:clone;
  color:initial !important;
  background-image:linear-gradient(#FFF863,#FFF863);
}
.gkh-construct__intro{ font-weight:400;font-size:clamp(16px,1.05vw,19px);line-height:1.63;color:var(--gkh-grey-5);max-width:709px;margin-top:clamp(8px,3vw,50px); }

.gkh-construct__card{
  background:#fff;border:1px solid #fee792;border-radius:16px;
  box-shadow:0 8px 20px 0 rgba(154,154,154,.1);
  padding:clamp(20px,1.6vw,24px);
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2vw,40px);
}
.gkh-cstep__media{ border-radius:16px;overflow:hidden;aspect-ratio:544/459;margin-bottom:clamp(16px,1.6vw,24px); }
.gkh-cstep__media img{ width:100%;height:100%;object-fit:cover; }
.gkh-cstep__head{ display:flex;align-items:center;gap:16px;margin-bottom:14px; }
.gkh-cstep__num{
  width:clamp(56px,4vw,72px);height:clamp(56px,4vw,72px);flex:none;
  border-radius:8px;background:var(--gkh-yellow);color:#fff;
  font-weight:500;font-size:clamp(24px,2vw,32px);letter-spacing:-.32px;
  display:grid;place-items:center;
}
.gkh-cstep__name{ font-weight:500;font-size:clamp(22px,2vw,32px);text-transform:uppercase;color:var(--gkh-yellow);letter-spacing:-.32px; }
.gkh-cstep__text{ font-weight:400;font-size:clamp(16px,1.1vw,19px);line-height:1.63;color:var(--gkh-black); }

/* --- 7. SLOGAN (bannière pleine largeur) -------------------------------- */
.gkh-slogan{ background:var(--gkh-yellow-sub);padding:clamp(12px,1.25vw,24px); }
.gkh-slogan__media{ position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/9; }
.gkh-slogan__media img{ width:100%;height:100%;object-fit:cover; }
.gkh-slogan__overlay{ position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 100%, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 60%); }
.gkh-slogan__overlay::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-color:#00000000;
  background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/06/maison_experience_ombre.webp);
  --background-overlay:'';
  background-position:bottom right;
  background-repeat:no-repeat;
  background-size:auto;
}
.gkh-slogan__text{
  position:absolute;right:clamp(20px,3.4vw,66px);bottom:clamp(18px,4vw,80px);
  max-width:640px;
  font-weight:900;font-size:clamp(24px,2.8vw,48px);line-height:1.2;
  letter-spacing:.32px;color:var(--gkh-yellow-sub);
}

/* Placeholder image générique (asset non fourni par la maquette) */
.gkh-ph{
  background:repeating-linear-gradient(45deg,#ececec 0 12px,#f6f6f6 12px 24px);
  display:grid;place-items:center;color:var(--gkh-grey-7);font-size:.9rem;
}

/* --- 8. LA RÉVOLUTION CONSTRUCTIVE -------------------------------------- */
.gkh-revo{ padding-block:clamp(56px,6vw,110px); }
.gkh-revo__media{ max-width:1620px;margin-inline:auto;aspect-ratio:1620/911;border-radius:16px;overflow:hidden; }
.gkh-revo__media img,
.gkh-revo__media video{ width:100%;height:100%;object-fit:cover;display:block; }
.gkh-revo__head{ text-align:center;max-width:940px;margin:clamp(36px,4.4vw,90px) auto clamp(32px,3.6vw,56px); }
.gkh-revo__eyebrow{ font-weight:800;font-size:clamp(15px,1.15vw,22px);letter-spacing:.04em;text-transform:uppercase;color:var(--gkh-yellow);display:block;margin-bottom:clamp(14px,1.4vw,22px); }
.gkh-revo__title{ font-weight:900;font-size:clamp(30px,2.9vw,56px);line-height:1.05;color:#0a0a0a; margin-bottom: 12px !important;}
.gkh-revo__sub{ font-weight:400;font-size:clamp(16px,1.05vw,20px);line-height:1.5;color:var(--gkh-grey-5);margin-top:clamp(12px,1.4vw,20px); }

.gkh-revo__grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2vw,40px); }
.gkh-revo-card{
  background:var(--gkh-bg);border-radius:32px;
  padding:clamp(32px,3.2vw,50px);
  display:flex;flex-direction:column;gap:clamp(28px,3vw,46px);
}
.gkh-revo-card__icon{ width:32px;height:32px; }
.gkh-revo-card__title{ font-weight:900;font-size:clamp(24px,2vw,32px);line-height:1.25;color:#0a0a0a;margin-bottom:16px !important; }
.gkh-revo-card__text{ font-weight:400;font-size:clamp(16px,1.05vw,20px);line-height:1.3;color:var(--gkh-grey-6); }
.gkh-revo__cta{ text-align:center;margin-top:clamp(32px,3.6vw,56px); }

/* --- 9. INTÉRIEURS (sélecteur de pièce interactif, CSS-only) ------------- */
.gkh-interiors{ position:relative;width:100%;min-height:clamp(520px,80vh,900px);overflow:hidden;display:flex;align-items:center;color:#fff; }
.gkh-interiors__radio{ position:absolute;width:1px;height:1px;opacity:0; } /* masqué mais focusable au clavier */

.gkh-interiors__bg{
  position:absolute;inset:0;z-index:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  opacity:0;transition:opacity .5s ease;
}
.gkh-interiors__bg::after{ /* dégradé gauche pour lisibilité du menu */
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(10,10,10,.45) 0%, rgba(22,22,22,0) 34%);
}
.gkh-interiors__bg--salon{ background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/03/maison_interieur_salon_1x.webp);background-position:center; }
.gkh-interiors__bg--cuisine{ background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/03/maison_interieur_cuisine_1x.webp);background-position:center right; }
.gkh-interiors__bg--bain{ background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/03/maison_interieur_bain_1x.webp);background-position:center left; }
.gkh-interiors__bg--chambre{ background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/03/maison_interieur_chambre_1x.webp);background-position:center; }

#gkh-piece-salon:checked   ~ .gkh-interiors__bg--salon,
#gkh-piece-cuisine:checked ~ .gkh-interiors__bg--cuisine,
#gkh-piece-bain:checked    ~ .gkh-interiors__bg--bain,
#gkh-piece-chambre:checked ~ .gkh-interiors__bg--chambre{ opacity:1; }

.gkh-interiors__menu{ position:relative;z-index:2;padding-inline:var(--gkh-gutter); }
.gkh-interiors__eyebrow{ font-weight:800;font-size:clamp(15px,1.15vw,22px);text-transform:uppercase;color:var(--gkh-yellow);display:block;margin-bottom:clamp(16px,1.8vw,28px); }
.gkh-interiors__list{ display:flex;flex-direction:column;gap:clamp(6px,1vw,12px);list-style:none;margin:0;padding:0; }
.gkh-interiors__list li{ margin:0; }
.gkh-interiors__list label{
  cursor:pointer;display:inline-block;
  font-weight:800;font-size:clamp(22px,2.4vw,36px);line-height:1.45;color:#fff;
  opacity:.7;transition:opacity .2s ease,transform .2s ease;
}
.gkh-interiors__list label:hover{ opacity:1;transform:translateX(4px); }
#gkh-piece-salon:checked   ~ .gkh-interiors__menu label[for="gkh-piece-salon"],
#gkh-piece-cuisine:checked ~ .gkh-interiors__menu label[for="gkh-piece-cuisine"],
#gkh-piece-bain:checked    ~ .gkh-interiors__menu label[for="gkh-piece-bain"],
#gkh-piece-chambre:checked ~ .gkh-interiors__menu label[for="gkh-piece-chambre"]{ opacity:1;transform:translateX(8px); }
/* Accessibilité clavier : contour sur la pièce focalisée */
.gkh-interiors__radio:focus-visible ~ .gkh-interiors__menu label[for="gkh-piece-salon"],
.gkh-interiors__radio:focus-visible ~ .gkh-interiors__menu label[for="gkh-piece-cuisine"],
.gkh-interiors__radio:focus-visible ~ .gkh-interiors__menu label[for="gkh-piece-bain"],
.gkh-interiors__radio:focus-visible ~ .gkh-interiors__menu label[for="gkh-piece-chambre"]{ outline:2px solid #fff;outline-offset:4px;border-radius:2px; }

@media (max-width:768px){
  .gkh-interiors{ min-height:60vh; }
  .gkh-interiors__bg--salon{ background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/03/maison_interieur_salon_m_1x.webp);background-position:45% 50%; }
  .gkh-interiors__bg--bain{ background-image:url(https://www.greenkub.fr/wp-content/uploads/2026/03/maison_interieur_bain_m_1x.webp);background-position:45% 50%; }
}

/* --- 10. GARANTIES (section sombre) ------------------------------------- */
.gkh-gar{ background:#16181a;color:#fff;padding-block:clamp(70px,8vw,110px) clamp(90px,10vw,140px); }
.gkh-gar__head{ text-align:center;margin-bottom:clamp(48px,6vw,90px); }
.gkh-gar__eyebrow{ font-weight:500;font-size:clamp(15px,1.15vw,22px);text-transform:uppercase;color:var(--gkh-yellow);display:block;margin-bottom:clamp(20px,2.4vw,40px); }
.gkh-gar__title{ font-weight:900;font-size:clamp(28px,2.7vw,52px);line-height:1.08;color:#fff; }
.gkh-gar__grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,1.7vw,32px); }
.gkh-gar-card{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:32px;padding:clamp(28px,2.6vw,42px);
  display:flex;flex-direction:column;min-height:clamp(240px,22vw,300px);
}
.gkh-gar-card__icon{ width:32px;height:32px; }
.gkh-gar-card__body{ margin-top:auto;display:flex;flex-direction:column;gap:2px; }
.gkh-gar-card__title{ font-weight:900;font-size:clamp(20px,1.6vw,24px);line-height:1.15;color:#fff;letter-spacing:-.24px; }
.gkh-gar-card__value{ font-weight:900;font-size:clamp(22px,1.8vw,27px);color:var(--gkh-yellow);letter-spacing:-.27px; }

/* Badge pilule jaune translucide (réutilisé sections 11 & 12) */
.gkh-badge{ display:inline-flex;align-items:center;background:rgba(254,221,99,.7);border-radius:32px;padding:8px 16px;font-weight:500;font-size:16px;line-height:1.5;color:#2f2f2f;white-space:nowrap; }

/* --- 11. PROCÉDÉ CONSTRUCTIF -------------------------------------------- */
.gkh-proc{ background:rgba(254,251,238,.6);padding-block:clamp(56px,6vw,120px); }
.gkh-proc__top{ display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(24px,3vw,48px);align-items:center; }
.gkh-proc__eyebrow{ font-weight:800;font-size:clamp(15px,1.15vw,22px);text-transform:uppercase;color:var(--gkh-yellow);display:block;margin-bottom:clamp(14px,1.4vw,22px); }
.gkh-proc__title{ font-weight:900;font-size:clamp(30px,2.7vw,52px);line-height:1.08;color:#0a0a0a; margin-bottom: 12px !important;}
.gkh-proc__sub{ font-weight:400;font-size:clamp(16px,1.05vw,20px);line-height:1.5;color:var(--gkh-grey-5);max-width:653px;margin-top:clamp(12px,1.4vw,20px); }
.gkh-proc__media{ aspect-ratio:1122/450;border-radius:16px;overflow:hidden; }
.gkh-proc__media img{ width:100%;height:100%;object-fit:cover; }

.gkh-proc__grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,1.6vw,32px); }
.gkh-pcard{ background:#fff;border:1px solid #f4f1e4;border-radius:32px;padding:clamp(32px,3.2vw,50px);display:flex;flex-direction:column;gap:clamp(28px,3vw,46px); }
.gkh-pcard__icon{ width:32px;height:32px; }
.gkh-pcard__body{ display:flex;flex-direction:column;align-items:flex-start;gap:16px; }
.gkh-pcard__title{ font-weight:900;font-size:clamp(24px,2vw,32px);line-height:1.25;color:#0a0a0a; }
.gkh-pcard__text{ font-weight:400;font-size:clamp(16px,1.05vw,20px);line-height:1.5;color:var(--gkh-grey-6); }

.gkh-proc__beton{ margin-top:clamp(24px,2.4vw,40px);background:#161616;color:#fff;border-radius:32px;padding:clamp(32px,3.2vw,50px);display:flex;gap:clamp(24px,3vw,50px);align-items:center; }
.gkh-proc__beton-left{ flex:none; }
.gkh-proc__beton-num{ font-weight:900;font-size:clamp(44px,6vw,80px);line-height:.85;color:#fff; }
.gkh-proc__beton-label{ font-weight:800;font-size:18px;text-transform:uppercase;color:var(--gkh-yellow);margin-top:10px; }
.gkh-proc__beton-text{ font-weight:400;font-size:clamp(16px,1.05vw,20px);line-height:1.5;color:#e0e0e0; }

/* --- 12. LE PARCOURS (bannière + 5 étapes) ------------------------------ */
.gkh-parc-banner{ position:relative;width:100%;aspect-ratio:1920/1080;overflow:hidden;display:flex;align-items:flex-end; }
.gkh-parc-banner__bg{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.gkh-parc-banner__overlay{ position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 42%); }
.gkh-parc-banner__text{ position:relative;z-index:2;padding:clamp(28px,4vw,80px) var(--gkh-gutter);max-width:900px;font-weight:900;font-size:clamp(26px,2.7vw,52px);line-height:1.08;color:#fff; }

.gkh-parc{ background:var(--gkh-yellow);padding-block:clamp(48px,6vw,110px); }
.gkh-parc__inner{ display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,3vw,60px);align-items:start; }
.gkh-parc__eyebrow{ font-weight:800;font-size:clamp(15px,1.15vw,22px);text-transform:uppercase;color:var(--gkh-grey-7);display:block;margin-bottom:clamp(16px,1.6vw,28px); }
.gkh-parc__title{ font-weight:900;font-size:clamp(30px,2.7vw,52px);line-height:1.08;color:#0a0a0a; }
.gkh-parc__steps{ display:flex;flex-direction:column;gap:clamp(16px,1.4vw,24px); }
.gkh-step-card{ background:var(--gkh-bg);border-radius:32px;padding:clamp(24px,2.2vw,40px);display:flex;gap:clamp(18px,2.4vw,46px);align-items:flex-start; }
.gkh-step-card__num{ font-weight:400;font-size:clamp(24px,2vw,32px);line-height:1.25;color:var(--gkh-light-2);flex:none; }
.gkh-step-card__body{ display:flex;flex-direction:column;gap:14px;flex:1;min-width:0; }
.gkh-step-card__head{ display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap; }
.gkh-step-card__title{ font-weight:900;font-size:clamp(22px,1.8vw,30px);line-height:1.2;color:var(--gkh-black-3); }
.gkh-step-card__text{ font-weight:400;font-size:clamp(16px,1.1vw,18px);line-height:1.45;color:var(--gkh-grey-6); }

/* --- 13. COMPARATIF ----------------------------------------------------- */
.gkh-comp{ padding-block:clamp(56px,6vw,110px); }
.gkh-comp__title{ font-weight:900;font-size:clamp(28px,2.7vw,52px);line-height:1.08;color:#161616;text-align:center;margin-bottom:clamp(32px,3.6vw,56px) !important; }
.gkh-comp__panel{ max-width:1080px;margin-inline:auto;background:var(--gkh-bg);border-radius:32px;padding:clamp(28px,3vw,56px) clamp(20px,3vw,50px); }
.gkh-comp__grid{ display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,3.4vw,52px) clamp(16px,3vw,60px); }
.gkh-comp__colhead{ text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:12px; }
.gkh-comp__colhead--trad{ font-weight:900;font-size:clamp(16px,1.4vw,22px);text-transform:uppercase;color:#161616;line-height:1.3; }
.gkh-comp__badge{ background:var(--gkh-yellow);color:#fff;border-radius:20px;padding:8px 18px;font-weight:800;font-size:clamp(12px,1.1vw,18px);text-transform:uppercase;line-height:1.1; }
.gkh-comp__logo{ height:clamp(36px,3.4vw,52px);width:auto; }
.gkh-comp__cell{ text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px; }
.gkh-comp__icon{ width:32px;height:32px;margin-bottom:6px; }
.gkh-comp__cell--trad .gkh-comp__icon{ color:var(--gkh-grey-7); }   /* croix grisée */
.gkh-comp__cell--gk .gkh-comp__icon{ color:var(--gkh-green); }      /* icônes vertes Greenkub */
.gkh-comp__cell-title{ font-weight:800;font-size:clamp(16px,1.4vw,22px);line-height:1.2;color:var(--gkh-black-3); }
.gkh-comp__cell-sub{ font-weight:400;font-size:clamp(14px,1.1vw,18px);line-height:1.4;color:var(--gkh-grey-6); }

/* --- 14. VISUEL (bannière pleine largeur) ------------------------------- */
.gkh-visuel{ width:100%;aspect-ratio:1920/920;overflow:hidden; }
.gkh-visuel img{ width:100%;height:100%;object-fit:cover; }

/* --- 15. FINANCEMENT ---------------------------------------------------- */
.gkh-fin{ padding-block:clamp(56px,6vw,110px); }
.gkh-fin__inner{ display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:center; }
.gkh-fin__content{ display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(24px,3vw,40px);max-width:560px;margin-inline:auto; }
.gkh-fin__eyebrow{ font-weight:500;font-size:clamp(15px,1.15vw,22px);text-transform:uppercase;color:var(--gkh-yellow); }
.gkh-fin__title{ font-weight:900;font-size:clamp(28px,2.7vw,52px);line-height:1.08;color:#161616; }
.gkh-fin__card{ width:100%;max-width:440px;background:#fff;border:1px solid #f0f0ea;border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(180,180,180,.18);text-align:left; }
.gkh-fin__card-head{ background:var(--gkh-yellow);padding:clamp(18px,1.6vw,24px); }
.gkh-fin__card-kicker{ font-weight:500;font-size:14px;color:#5a5226;margin-bottom:4px; }
.gkh-fin__card-amount{ font-weight:900;font-size:clamp(20px,1.8vw,26px);color:#161616; }
.gkh-fin__card-body{ padding:clamp(18px,1.6vw,24px); }
.gkh-fin__row{ display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0; }
.gkh-fin__row + .gkh-fin__row{ border-top:1px solid #f0f0ea; }
.gkh-fin__row-label{ font-weight:400;font-size:15px;color:var(--gkh-grey-6); }
.gkh-fin__row-value{ font-weight:900;font-size:16px;color:#161616; }
.gkh-fin__row-value--big{ font-size:clamp(18px,1.4vw,20px); }
.gkh-fin__note{ font-size:12px;line-height:1.4;color:var(--gkh-grey-7);margin-top:12px; }
.gkh-fin__media{ aspect-ratio:877/902;border-radius:16px;overflow:hidden; }
.gkh-fin__media img{ width:100%;height:100%;object-fit:cover; }

/* --- 16. RECHERCHE TERRAIN (bannière + 2 CTA) --------------------------- */
.gkh-terrain{ background:var(--gkh-yellow-sub);padding:clamp(12px,1.25vw,24px); }
.gkh-terrain__media{ position:relative;border-radius:16px;overflow:hidden;aspect-ratio:1872/902;display:flex;align-items:center; }
.gkh-terrain__media img{ position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.gkh-terrain__overlay{ position:absolute;inset:0;background:radial-gradient(75% 95% at 0% 50%, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%); }
.gkh-terrain__content{ position:relative;z-index:2;padding-inline:clamp(20px,3vw,59px); }
.gkh-terrain__title{ font-weight:900;font-size:clamp(24px,2.7vw,52px);line-height:1.2;color:var(--gkh-yellow-sub);max-width:817px; }
.gkh-terrain__actions{ display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(20px,2.4vw,36px); }

/* --- 17. FAQ (accordéon) ------------------------------------------------ */
.gkh-faq{ padding-block:clamp(72px,8vw,150px); }
.gkh-faq__head{ max-width:880px;margin:0 auto clamp(32px,3.6vw,56px);text-align:center; }
.gkh-faq__eyebrow{ font-weight:800;font-size:clamp(15px,1.15vw,22px);text-transform:uppercase;color:var(--gkh-yellow);display:block;margin-bottom:clamp(14px,1.4vw,22px); }
.gkh-faq__title{ font-weight:900;font-size:clamp(28px,2.7vw,52px);line-height:1.08;color:#0a0a0a; }
.gkh-faq__list{ max-width:880px;margin-inline:auto;border-top:1px solid #f5f5f0; }
.gkh-faq__item{ border-bottom:1px solid #f5f5f0; }
.gkh-faq__q{ width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;font-family:inherit;background:none;border:0;cursor:pointer;text-align:left;font-weight:800;font-size:clamp(15px,1.2vw,18px);color:#000; }
.gkh-faq__icon{ flex:none;width:24px;height:24px;border:.6px solid var(--gkh-light);border-radius:50px;display:grid;place-items:center;font-weight:300;font-size:16px;color:#161616;line-height:1;transition:transform .25s ease; }
.gkh-faq__q[aria-expanded="true"] .gkh-faq__icon{ transform:rotate(45deg); }
.gkh-faq__a{ overflow:hidden;max-height:0;transition:max-height .3s ease; }
.gkh-faq__a-inner{ padding:0 24px 24px;font-weight:400;font-size:16px;line-height:1.55;color:var(--gkh-grey-6); }
.gkh-faq__cta{ text-align:center;margin-top:clamp(32px,3.6vw,48px); }

/* --- 18. CTA FINAL ------------------------------------------------------- */
.gkh-final{ background:var(--gkh-yellow);padding-block:clamp(72px,11vw,140px);text-align:center; }
.gkh-final__title{ font-weight:900;font-size:clamp(34px,5vw,72px);line-height:1.2;color:#161616; margin-inline:auto; }
.gkh-final__sub{ font-weight:400;font-size:clamp(16px,1.3vw,20px);line-height:1.5;color:var(--gkh-grey-5); margin:18px auto 0; }
.gkh-final__actions{ display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:clamp(32px,4vw,50px); }
.gkh-btn--white{ background:#fff; }
.gkh-final__phone{ display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:clamp(18px,1.6vw,22px);color:#0a0a0a; }
.gkh-final__phone img{ width:24px;height:24px; }

/* ==========================================================================
   5. RESPONSIVE
   ========================================================================== */
@media (max-width:900px){
  .gkh-rass__inner{ grid-template-columns:1fr 1fr; }
  .gkh-rass__eyebrow{ grid-column:1 / -1; }

  .gkh-models__grid{ grid-template-columns:repeat(2,1fr); }

  .gkh-tarifs{ grid-template-columns:1fr; }
  .gkh-tarifs__media{ min-height:240px; }
  .gkh-tarifs__content{ grid-template-columns:1fr;gap:24px; }

  .gkh-avis__stats{ grid-template-columns:repeat(2,1fr); }
  .gkh-avis__exp{ grid-template-columns:1fr; }
  .gkh-exp__mid{ grid-template-columns:1fr; }

  .gkh-construct__head{ grid-template-columns:1fr; }
  .gkh-construct__intro{ margin-top:0; }
  .gkh-construct__card{ grid-template-columns:1fr; }

  .gkh-revo__grid{ grid-template-columns:1fr; }

  .gkh-gar__grid{ grid-template-columns:repeat(2,1fr); }

  .gkh-proc__top{ grid-template-columns:1fr; }
  .gkh-proc__grid{ grid-template-columns:repeat(2,1fr); }
  .gkh-proc__beton{ flex-direction:column;align-items:flex-start; }
  .gkh-parc__inner{ grid-template-columns:1fr; }

  .gkh-fin__inner{ grid-template-columns:1fr; }
}
@media (max-width:700px){
  .gkh-cata{ aspect-ratio:auto;flex-direction:column;padding:clamp(24px,6vw,40px); }
  .gkh-cata__img{ width:100%; }
  .gkh-cata__btn{ position:static;transform:none;margin-top:20px; }
}
@media (max-width:600px){
  /* Bannières avec texte superposé : boîte plus haute pour éviter la compression du texte */
  .gkh-slogan__media{ aspect-ratio:4/3; }
  .gkh-parc-banner{ aspect-ratio:1/1; }
  .gkh-terrain__media{ aspect-ratio:1/1; }
  .gkh-visuel{ aspect-ratio:3/2; }
  /* Avis : slides plus hautes (texte plus long en colonne étroite) */
  .gkh-testi__slide{ height:clamp(360px,100vw,440px); }
}
@media (max-width:560px){
  .gkh-rass__inner{ grid-template-columns:1fr; }
  .gkh-models__grid{ grid-template-columns:1fr; }
  .gkh-avis__stats{ grid-template-columns:1fr; }
  .gkh-stat-card{ min-height:0; }
  .gkh-gar__grid{ grid-template-columns:1fr; }
  .gkh-gar-card{ min-height:180px; }
  .gkh-proc__grid{ grid-template-columns:1fr; }
  .gkh-hero__actions{ flex-direction:column;align-items:stretch; }
  .gkh-btn{ width:100%; }
  .gkh-hero__title{ max-width:100%; }
  .gkh-comp__cell-title{ font-size:15px; }
  .gkh-comp__cell-sub{ font-size:13px; }
  /* Cartes modèles : moins de padding et badge rapproché sur mobile */
  .gkh-model__body{ padding:16px; }
  .gkh-model__badge{ top:16px; left:16px; }
  .gkh-slogan__text{ left:18px; }
}
@media (max-width:480px){
  /* Comparatif : resserrer pour garder les 2 colonnes lisibles */
  .gkh-comp__panel{ padding:24px 14px; }
  .gkh-comp__grid{ gap:24px 10px; }
  .gkh-comp__icon{ width:26px;height:26px; }
}

/* ==========================================================================
   6. DURCISSEMENT ANTI-CONFLIT (thème / Elementor)
   Sélecteurs d'ID (#gkh-hub-maison) = spécificité maximale, pour passer
   par-dessus les styles globaux du thème/Elementor (titres Raleway, liens
   verts, fonds de boutons roses servis via le CDN).
   ========================================================================== */
#gkh-hub-maison, #gkh-hub-maison *{ font-family:var(--gkh-font) !important; }
#gkh-hub-maison a{ color:inherit !important; }
#gkh-hub-maison .gkh-btn{ color:var(--gkh-black) !important; }
#gkh-hub-maison .gkh-btn--dark{ color:#fff !important; }
#gkh-hub-maison .gkh-model__config{ color:var(--gkh-yellow) !important; }
#gkh-hub-maison .gkh-final__phone{ color:#0a0a0a !important; }

/* Boutons natifs (FAQ, points de carrousel) : neutraliser le style bouton du thème */
#gkh-hub-maison .gkh-faq__q{ background:transparent !important; color:#000 !important; border:0 !important; box-shadow:none !important; white-space:normal !important; overflow-wrap:anywhere; align-items:center; gap:16px; }
#gkh-hub-maison .gkh-exp__dot,
#gkh-hub-maison .gkh-testi__dot{
  appearance:none !important; -webkit-appearance:none !important;
  background:#f7f7f7 !important; border:0 !important; box-shadow:none !important;
  min-width:0 !important; min-height:0 !important; padding:0 !important;
  width:8px !important; height:8px !important; border-radius:50% !important;
}
#gkh-hub-maison .gkh-exp__dot.is-active{ background:var(--gkh-yellow) !important; }
#gkh-hub-maison .gkh-testi__dot.is-active{ background:#161616 !important; }
#gkh-hub-maison .gkh-testi__stars-img{ max-width:100%; }

/* Images étoiles / logos : forcer la taille (le thème impose img{height:auto}) */
#gkh-hub-maison .gkh-stat-card__star{ height:clamp(40px,3.4vw,56px) !important; width:auto !important; }
#gkh-hub-maison .gkh-tp-stars-img{ height:clamp(28px,2.3vw,34px) !important; width:auto !important; max-width:100% !important; }
#gkh-hub-maison .gkh-tp-logo-img{ height:clamp(24px,2.7vw,35px) !important; width:auto !important; max-width:100% !important; }
#gkh-hub-maison .gkh-testi__stars-img{ height:clamp(20px,1.6vw,24px) !important; width:auto !important; max-width:100% !important; }

/* Garde-fou : empêche tout débordement horizontal du composant */
#gkh-hub-maison{ overflow-x:clip; }


/* Images plein-cadre : remplir toute la hauteur du conteneur (annule img{height:auto} du thème) */
#gkh-hub-maison .gkh-hero__bg,
#gkh-hub-maison .gkh-parc-banner__bg,
#gkh-hub-maison .gkh-slogan__media img,
#gkh-hub-maison .gkh-terrain__media img,
#gkh-hub-maison .gkh-visuel img,
#gkh-hub-maison .gkh-model__media img,
#gkh-hub-maison .gkh-tarifs__media img,
#gkh-hub-maison .gkh-testi__media img,
#gkh-hub-maison .gkh-cstep__media img,
#gkh-hub-maison .gkh-fin__media img,
#gkh-hub-maison .gkh-proc__media img,
#gkh-hub-maison .gkh-revo__media img,
#gkh-hub-maison .gkh-revo__media video{ width:100% !important; height:100% !important; object-fit:cover !important; }
