/* ============================================================
   Label Isolation 2026 — Module "Confort d'été & Canicule"
   Thème : labeliso26 (ne touche pas au thème d'origine labeliso)
   Tout est namespacé .li26-* pour éviter tout conflit.
   Palette : chaud (canicule) -> frais (solution isolation)
   ============================================================ */

:root {
  --li26-hot-1: #ff6a3d;   /* orange chaud */
  --li26-hot-2: #ff3d3d;   /* rouge canicule */
  --li26-cool-1: #0ea5e9;  /* bleu frais */
  --li26-cool-2: #0369a1;  /* bleu profond */
  --li26-cool-3: #06b6d4;  /* cyan */
  --li26-ink: #14233a;     /* texte foncé */
  --li26-muted: #5b6b7e;
  --li26-bg-soft: #f3f8fc;
  --li26-line: #e3ebf3;
  --li26-radius: 16px;
  --li26-shadow: 0 18px 50px rgba(20, 35, 58, .14);
  --li26-shadow-sm: 0 8px 24px rgba(20, 35, 58, .10);
  --li26-cta: #ff6a00;     /* CTA primaire (orange = urgence/chaleur) */
  --li26-cta-hover: #e85d00;
}

.li26 * { box-sizing: border-box; }
.li26 img { max-width: 100%; height: auto; }

/* ---------- Boutons ---------- */
.li26-btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-weight: 800; font-size: 17px; line-height: 1;
  padding: 18px 30px; border-radius: 60px; border: 0;
  text-decoration: none; cursor: pointer; transition: .2s ease;
  letter-spacing: -.2px; white-space: nowrap;
}
.li26-btn--primary { background: var(--li26-cta); color: #fff; box-shadow: 0 12px 30px rgba(255,106,0,.35); }
.li26-btn--primary:hover { background: var(--li26-cta-hover); color:#fff; transform: translateY(-2px); box-shadow: 0 16px 38px rgba(255,106,0,.45); }
.li26-btn--ghost { background: rgba(255,255,255,.14); color:#fff; border:2px solid rgba(255,255,255,.7); backdrop-filter: blur(4px); }
.li26-btn--ghost:hover { background:#fff; color: var(--li26-cool-2); transform: translateY(-2px); }
.li26-btn--phone { background:#0f9d58; color:#fff; box-shadow:0 12px 30px rgba(15,157,88,.32); }
.li26-btn--phone:hover { background:#0c7c45; color:#fff; transform: translateY(-2px); }
.li26-btn--cool { background: var(--li26-cool-1); color:#fff; }
.li26-btn--cool:hover { background: var(--li26-cool-2); color:#fff; transform: translateY(-2px); }
.li26-btn--lg { font-size: 19px; padding: 20px 36px; }
.li26-btn--block { display:flex; width:100%; justify-content:center; }

/* ---------- HERO ---------- */
.li26-hero {
  position: relative; overflow: hidden; color:#fff;
  background:
    linear-gradient(118deg, rgba(13,30,52,.86) 0%, rgba(13,30,52,.55) 48%, rgba(3,105,161,.55) 100%);
  min-height: 88vh; display:flex; align-items:center;
}
.li26-hero__bg {
  position:absolute; inset:0; z-index:-2;
  background-size: cover; background-position: center; background-repeat:no-repeat;
}
.li26-hero::after { /* dégradé chaleur en bas */
  content:""; position:absolute; left:0; right:0; bottom:0; height:38%; z-index:-1;
  background: linear-gradient(0deg, rgba(255,61,61,.30), rgba(255,61,61,0));
  pointer-events:none;
}
.li26-hero__inner { padding: 90px 0; max-width: 720px; }
.li26-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background: linear-gradient(90deg, var(--li26-hot-1), var(--li26-hot-2));
  color:#fff; font-weight:800; font-size:13px; letter-spacing:.6px; text-transform:uppercase;
  padding:9px 16px; border-radius:60px; margin-bottom:22px;
  box-shadow: 0 8px 20px rgba(255,61,61,.35);
}
.li26-eyebrow .li26-pulse { width:9px; height:9px; border-radius:50%; background:#fff; animation: li26-pulse 1.4s infinite; }
@keyframes li26-pulse { 0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)} 70%{box-shadow:0 0 0 10px rgba(255,255,255,0)} 100%{box-shadow:0 0 0 0 rgba(255,255,255,0)} }
.li26-hero h1 {
  font-size: clamp(34px, 5vw, 60px); line-height: 1.04; font-weight: 800;
  letter-spacing: -1.5px; margin: 0 0 18px; color:#fff;
}
.li26-hero h1 .li26-accent {
  background: linear-gradient(90deg, #ffd23f, #ff6a3d);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.li26-hero__sub { font-size: clamp(17px, 2vw, 21px); line-height:1.5; color:#eaf2fb; max-width: 600px; margin: 0 0 30px; }
.li26-hero__cta { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.li26-hero__phone { display:flex; align-items:center; gap:10px; margin-top:18px; color:#fff; font-weight:700; }
.li26-hero__phone a { color:#fff; font-size:24px; text-decoration:none; letter-spacing:-.5px; }
.li26-hero__phone small { display:block; font-weight:500; font-size:13px; color:#cfe0f1; }

/* bande de confiance sous le hero */
.li26-trust-strip {
  display:flex; flex-wrap:wrap; gap: 10px 28px; margin-top: 34px;
  padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18);
}
.li26-trust-strip span { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:14.5px; color:#eaf2fb; }
.li26-trust-strip i, .li26-trust-strip .li26-ic { color:#ffd23f; }

/* ---------- Section générique ---------- */
.li26-section { padding: 78px 0; }
.li26-section--soft { background: var(--li26-bg-soft); }
.li26-section--ink { background: var(--li26-ink); color:#fff; }
.li26-wrap { max-width: 1200px; margin:0 auto; padding: 0 20px; }
.li26-head { text-align:center; max-width: 760px; margin: 0 auto 48px; }
.li26-kicker { color: var(--li26-cta); font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:13px; margin-bottom:10px; display:block; }
.li26-h2 { font-size: clamp(27px, 3.5vw, 40px); line-height:1.12; font-weight:800; letter-spacing:-1px; color: var(--li26-ink); margin:0 0 14px; }
.li26-section--ink .li26-h2 { color:#fff; }
.li26-lead { font-size: 18px; line-height:1.6; color: var(--li26-muted); }
.li26-section--ink .li26-lead { color:#cfe0f1; }

/* ---------- Bloc "maison surchauffe" (problème) ---------- */
.li26-problem { display:grid; grid-template-columns: 1.1fr 1fr; gap: 50px; align-items:center; }
.li26-problem__media { position:relative; border-radius: var(--li26-radius); overflow:hidden; box-shadow: var(--li26-shadow); }
.li26-problem__media img { display:block; width:100%; }
.li26-thermo {
  position:absolute; top:18px; left:18px; background:#fff; border-radius:14px; padding:14px 18px;
  box-shadow: var(--li26-shadow-sm); display:flex; align-items:center; gap:12px;
}
.li26-thermo b { font-size:26px; color: var(--li26-hot-2); line-height:1; }
.li26-thermo small { color: var(--li26-muted); font-weight:600; }
.li26-painlist { list-style:none; margin: 22px 0 28px; padding:0; }
.li26-painlist li { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; font-size:16.5px; color: var(--li26-ink); font-weight:500; }
.li26-painlist li::before { content:"🔥"; font-size:18px; line-height:1.4; }

/* ---------- Produits (ITE / Combles) ---------- */
.li26-products { display:grid; grid-template-columns: repeat(2,1fr); gap: 28px; }
.li26-product {
  background:#fff; border:1px solid var(--li26-line); border-radius: var(--li26-radius);
  overflow:hidden; box-shadow: var(--li26-shadow-sm); display:flex; flex-direction:column;
  transition: .25s ease;
}
.li26-product:hover { transform: translateY(-6px); box-shadow: var(--li26-shadow); }
.li26-product__img { height: 220px; background-size:cover; background-position:center; position:relative; }
.li26-product__tag { position:absolute; top:14px; left:14px; background: var(--li26-cool-2); color:#fff; font-weight:700; font-size:12px; padding:7px 13px; border-radius:60px; }
.li26-product__body { padding: 26px 26px 30px; display:flex; flex-direction:column; flex:1; }
.li26-product h3 { font-size: 23px; font-weight:800; color: var(--li26-ink); margin:0 0 8px; letter-spacing:-.5px; }
.li26-product__intro { color: var(--li26-muted); font-size:15.5px; margin:0 0 16px; }
.li26-checks { list-style:none; margin:0 0 22px; padding:0; }
.li26-checks li { display:flex; gap:10px; align-items:flex-start; margin-bottom:11px; font-size:15.5px; color: var(--li26-ink); }
.li26-checks li::before { content:"✓"; color:#0f9d58; font-weight:900; }
.li26-product .li26-btn { margin-top:auto; }

/* ---------- Lead magnets ---------- */
.li26-magnets { display:grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.li26-magnet {
  background:#fff; border:1px solid var(--li26-line); border-radius: var(--li26-radius);
  padding: 28px 22px; text-align:center; box-shadow: var(--li26-shadow-sm);
  transition:.25s ease; display:flex; flex-direction:column;
}
.li26-magnet:hover { transform: translateY(-6px); box-shadow: var(--li26-shadow); border-color: var(--li26-cool-3); }
.li26-magnet__ic { width:64px; height:64px; margin:0 auto 16px; border-radius:18px; display:flex; align-items:center; justify-content:center; font-size:30px; background: linear-gradient(135deg, #e0f3ff, #d2f7f0); }
.li26-magnet h3 { font-size:18px; font-weight:800; color: var(--li26-ink); margin:0 0 8px; letter-spacing:-.3px; }
.li26-magnet p { font-size:14px; color: var(--li26-muted); margin:0 0 18px; flex:1; }
.li26-magnet .li26-btn { font-size:14px; padding:13px 20px; }
.li26-badge-free { display:inline-block; background:#e7f8ef; color:#0f9d58; font-weight:800; font-size:11px; padding:5px 12px; border-radius:60px; margin-bottom:14px; text-transform:uppercase; letter-spacing:.5px; }

/* ---------- Réassurance ---------- */
.li26-stats { display:grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin-bottom: 46px; }
.li26-stat { text-align:center; padding: 26px 16px; background:#fff; border-radius: var(--li26-radius); border:1px solid var(--li26-line); box-shadow: var(--li26-shadow-sm); }
.li26-stat b { display:block; font-size: 40px; font-weight:900; letter-spacing:-1.5px; background: linear-gradient(90deg, var(--li26-cool-1), var(--li26-cool-2)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; line-height:1; }
.li26-stat span { display:block; margin-top:8px; color: var(--li26-muted); font-weight:600; font-size:14.5px; }
.li26-reassure-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.li26-reassure { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--li26-line); border-radius:14px; padding:20px; box-shadow: var(--li26-shadow-sm); }
.li26-reassure .li26-ic { font-size:26px; }
.li26-reassure h4 { margin:0 0 4px; font-size:16px; font-weight:800; color: var(--li26-ink); }
.li26-reassure p { margin:0; font-size:14px; color: var(--li26-muted); }
.li26-logos { display:flex; flex-wrap:wrap; gap:26px; align-items:center; justify-content:center; margin-top:42px; }
.li26-logos img { height:62px; width:auto; opacity:.92; filter: grayscale(.1); }

/* avant / après */
.li26-beforeafter { display:grid; grid-template-columns: repeat(2,1fr); gap:18px; }
.li26-ba { border-radius: var(--li26-radius); overflow:hidden; position:relative; box-shadow: var(--li26-shadow-sm); }
.li26-ba img { display:block; width:100%; height:260px; object-fit:cover; }
.li26-ba span { position:absolute; bottom:12px; left:12px; background:rgba(20,35,58,.85); color:#fff; font-weight:700; font-size:12.5px; padding:6px 12px; border-radius:60px; }

/* ---------- Bandeau aides ---------- */
.li26-aides { display:grid; grid-template-columns: 1fr 1fr; gap:40px; align-items:center; }
.li26-aides__list { list-style:none; margin:18px 0 0; padding:0; }
.li26-aides__list li { display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; font-size:16px; color: var(--li26-ink); }
.li26-aides__list li::before { content:"€"; flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:#e7f8ef; color:#0f9d58; font-weight:900; display:flex; align-items:center; justify-content:center; font-size:14px; }

/* ---------- FAQ ---------- */
.li26-faq { max-width: 860px; margin:0 auto; }
.li26-faq details { background:#fff; border:1px solid var(--li26-line); border-radius:14px; margin-bottom:14px; box-shadow: var(--li26-shadow-sm); overflow:hidden; }
.li26-faq summary { list-style:none; cursor:pointer; padding:20px 24px; font-weight:700; font-size:17px; color: var(--li26-ink); display:flex; justify-content:space-between; align-items:center; gap:16px; }
.li26-faq summary::-webkit-details-marker { display:none; }
.li26-faq summary::after { content:"+"; font-size:26px; color: var(--li26-cta); font-weight:400; transition:.2s; }
.li26-faq details[open] summary::after { transform: rotate(45deg); }
.li26-faq details > div { padding: 0 24px 22px; color: var(--li26-muted); font-size:15.5px; line-height:1.6; }

/* ---------- Formulaire rapide ---------- */
.li26-form-card { background:#fff; border-radius: var(--li26-radius); box-shadow: var(--li26-shadow); padding: 32px; border:1px solid var(--li26-line); }
.li26-form-card--hero { box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.li26-form-card h3 { font-size:23px; font-weight:800; color: var(--li26-ink); margin:0 0 4px; letter-spacing:-.4px; }
.li26-form-card p.li26-form-sub { color: var(--li26-muted); font-size:14.5px; margin:0 0 20px; }
.li26-field { margin-bottom:14px; }
.li26-field label { display:block; font-size:13.5px; font-weight:700; color: var(--li26-ink); margin-bottom:6px; }
.li26-field input, .li26-field select, .li26-field textarea {
  width:100%; padding:14px 16px; border:1.5px solid var(--li26-line); border-radius:12px;
  font-size:15.5px; color: var(--li26-ink); transition:.15s; background:#fbfdff;
}
.li26-field input:focus, .li26-field select:focus, .li26-field textarea:focus { outline:none; border-color: var(--li26-cool-1); background:#fff; box-shadow:0 0 0 4px rgba(14,165,233,.12); }
.li26-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.li26-form-trust { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; font-size:13px; color: var(--li26-muted); }
.li26-form-trust::before { content:"🔒"; }

/* multi-étapes (micro-engagement) */
.li26-steps { display:flex; gap:10px; margin-bottom:20px; }
.li26-steps .li26-step { flex:1; height:6px; border-radius:6px; background: var(--li26-line); }
.li26-steps .li26-step.is-active { background: var(--li26-cta); }

/* ---------- Barre CTA sticky ---------- */
.li26-sticky-cta {
  position: fixed; left:0; right:0; bottom:0; z-index: 9990;
  display:none; gap:0; background: var(--li26-ink); box-shadow:0 -8px 30px rgba(0,0,0,.25);
}
.li26-sticky-cta a { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:15px 8px; font-weight:800; font-size:15px; text-decoration:none; color:#fff; }
.li26-sticky-cta a.is-phone { background:#0f9d58; }
.li26-sticky-cta a.is-devis { background: var(--li26-cta); }
.li26-sticky-cta a.is-rappel { background: var(--li26-cool-1); }

/* CTA flottant desktop (rappel) */
.li26-float-rappel {
  position: fixed; right: 22px; bottom: 22px; z-index: 9980;
  background: var(--li26-cta); color:#fff; border-radius:60px; padding:14px 22px;
  font-weight:800; text-decoration:none; box-shadow: 0 14px 34px rgba(255,106,0,.45);
  display:inline-flex; align-items:center; gap:9px; transition:.2s;
}
.li26-float-rappel:hover { transform: translateY(-3px); color:#fff; }

/* ---------- Bandeau urgence canicule ---------- */
.li26-alert-bar {
  background: linear-gradient(90deg, var(--li26-hot-1), var(--li26-hot-2));
  color:#fff; text-align:center; padding:11px 16px; font-weight:700; font-size:14.5px;
}
.li26-alert-bar a { color:#fff; text-decoration:underline; }

/* ---------- Prose (textes d'origine préservés) ---------- */
.li26-prose{ max-width:880px; margin:0 auto; color:#33465c; font-size:16.5px; line-height:1.75; }
.li26-prose h3{ font-size:22px; font-weight:800; color:var(--li26-ink); letter-spacing:-.4px; margin:30px 0 10px; padding-top:22px; border-top:1px solid var(--li26-line); }
.li26-prose h3:first-of-type{ border-top:0; padding-top:0; }
.li26-prose p{ margin:0 0 14px; }
.li26-prose ul{ margin:0 0 14px; padding-left:22px; }
.li26-prose li{ margin-bottom:7px; }
.li26-prose b{ color:var(--li26-ink); }
.li26-prose__note{ font-size:12.5px; color:var(--li26-muted); margin-top:20px; }

/* ---------- Avis Google ---------- */
.li26-reviews__head{ display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:32px; }
.li26-reviews__score{ display:flex; align-items:center; gap:18px; }
.li26-reviews__num{ font-size:54px; font-weight:900; line-height:1; letter-spacing:-2px; color:var(--li26-ink); }
.li26-reviews__meta{ display:flex; align-items:center; gap:8px; margin-top:6px; color:var(--li26-muted); font-size:14.5px; }
.li26-reviews__actions{ display:flex; gap:12px; flex-wrap:wrap; }

.li26-stars{ position:relative; display:inline-block; white-space:nowrap; line-height:1; font-family:Arial,sans-serif; }
.li26-stars__bg{ color:#dfe6ee; }
.li26-stars__fg{ position:absolute; left:0; top:0; overflow:hidden; color:#fbbc05; }

.li26-reviews__carousel{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(300px,1fr);
  gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 16px;
  scrollbar-width:thin;
}
.li26-reviews__carousel::-webkit-scrollbar{ height:8px; }
.li26-reviews__carousel::-webkit-scrollbar-thumb{ background:var(--li26-line); border-radius:8px; }
.li26-review{
  scroll-snap-align:start; background:#fff; border:1px solid var(--li26-line);
  border-radius:var(--li26-radius); padding:22px; box-shadow:var(--li26-shadow-sm);
  display:flex; flex-direction:column;
}
.li26-review__top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.li26-review__avatar{ width:46px; height:46px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.li26-review__avatar--initial{ display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--li26-cool-1),var(--li26-cool-2)); color:#fff; font-weight:800; font-size:20px; }
.li26-review__id{ flex:1; min-width:0; }
.li26-review__id strong{ display:block; color:var(--li26-ink); font-size:15.5px; }
.li26-review__id span{ font-size:12.5px; color:var(--li26-muted); }
.li26-review__g{ flex:0 0 auto; opacity:.9; }
.li26-review__stars{ margin-bottom:10px; }
.li26-review__text{
  margin:0; color:#3a4a5e; font-size:14.5px; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden;
}
.li26-reviews__nav{ display:flex; gap:10px; justify-content:flex-end; margin-top:8px; }
.li26-rev-arrow{
  width:44px; height:44px; border-radius:50%; border:1.5px solid var(--li26-line);
  background:#fff; color:var(--li26-cool-2); font-size:24px; line-height:1; cursor:pointer; transition:.18s;
}
.li26-rev-arrow:hover{ background:var(--li26-cool-2); color:#fff; border-color:var(--li26-cool-2); }
.li26-reviews__cta{ text-align:center; margin-top:22px; color:var(--li26-muted); font-size:16px; }
.li26-reviews__cta a{ color:var(--li26-cta); font-weight:800; }

@media (max-width:640px){
  .li26-reviews__head{ flex-direction:column; align-items:flex-start; }
  .li26-reviews__carousel{ grid-auto-columns:minmax(82%,82%); }
}

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
  .li26-problem, .li26-aides { grid-template-columns:1fr; gap:32px; }
  .li26-products { grid-template-columns:1fr; }
  .li26-magnets { grid-template-columns: repeat(2,1fr); }
  .li26-stats { grid-template-columns: repeat(2,1fr); }
  .li26-reassure-grid { grid-template-columns:1fr; }
  .li26-beforeafter { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .li26-section { padding: 54px 0; }
  .li26-hero__inner { padding: 64px 0; }
  .li26-magnets { grid-template-columns:1fr; }
  .li26-form-row { grid-template-columns:1fr; }
  .li26-hero__cta { gap:10px; }
  .li26-hero__cta .li26-btn { flex:1 1 100%; justify-content:center; }
  .li26-sticky-cta { display:flex; }     /* visible mobile uniquement */
  .li26-float-rappel { display:none; }   /* le sticky remplace le flottant sur mobile */
  body.li26-has-sticky { padding-bottom: 64px; }
}
@media (min-width: 641px) {
  .li26-sticky-cta { display:none; }
}
