/* ===== Level-up : composants trust/conversion supplementaires ===== */
/* #54 Comparateur + #92 Anti-arnaque. Thème sombre, accents --red / or. */

.lvl{padding:74px 0;background:var(--ink,#141110)}
.lvl .wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.lvl-head{text-align:center;max-width:680px;margin:0 auto 38px}
.lvl-eye{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--red,#C8102E)}
.lvl-t{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:clamp(26px,4vw,40px);line-height:1.1;color:#fff;margin:10px 0 0}
.lvl-sub{color:rgba(255,255,255,.6);font-size:15px;line-height:1.65;margin-top:12px}

/* #54 Comparateur */
.cmp{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.03)}
.cmp-row{display:contents}
.cmp-c{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:9px;font-size:14.5px}
.cmp-head .cmp-c{font-weight:800;font-size:14px;letter-spacing:.3px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.12)}
.cmp-c.lbl{color:rgba(255,255,255,.82);font-weight:600}
.cmp-c.us{color:#fff;background:rgba(var(--red-rgb,200,16,46),.10)}
.cmp-c.them{color:rgba(255,255,255,.45)}
.cmp-head .cmp-c.us{color:#fff;background:rgba(var(--red-rgb,200,16,46),.18)}
.cmp-c .ic{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.cmp-c.us .ic{background:rgba(52,168,83,.16)}
.cmp-c.them .ic{background:rgba(255,90,90,.12)}
.cmp-badge{display:inline-flex;align-items:center;gap:6px}
.cmp-badge .g{width:18px;height:18px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#4285F4;font-size:12px;font-family:Arial,sans-serif}
@media(max-width:720px){
  .cmp{grid-template-columns:1.3fr .8fr .8fr}
  .cmp-c{padding:13px 11px;font-size:12.5px}
  .cmp-c .txt-them{display:none}
}

/* #92 Anti-arnaque */
.warn{margin-top:54px;display:grid;grid-template-columns:1.1fr 1fr;gap:26px;align-items:center}
.warn-list{display:flex;flex-direction:column;gap:13px}
.warn-it{display:flex;gap:13px;align-items:flex-start;padding:15px 17px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-left:3px solid #E0A43B;border-radius:12px}
.warn-it .n{flex:0 0 auto;width:26px;height:26px;border-radius:8px;background:rgba(224,164,59,.15);color:#E0A43B;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.warn-it p{margin:0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.82)}
.warn-it p b{color:#fff}
.warn-card{background:linear-gradient(160deg,rgba(var(--red-rgb,200,16,46),.16),rgba(255,255,255,.03));border:1px solid rgba(var(--red-rgb,200,16,46),.3);border-radius:18px;padding:30px}
.warn-card h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;color:#fff;font-size:21px;margin:0 0 12px}
.warn-card p{color:rgba(255,255,255,.72);font-size:14.5px;line-height:1.65;margin:0 0 18px}
.warn-card ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:9px}
.warn-card li{display:flex;gap:9px;align-items:center;color:#fff;font-size:14px;font-weight:600}
.warn-card li svg{flex:0 0 auto}
.warn-cta{display:inline-flex;align-items:center;gap:9px;background:var(--red,#C8102E);color:#fff;text-decoration:none;font-weight:800;font-size:15px;padding:13px 22px;border-radius:12px;transition:transform .18s,box-shadow .18s}
.warn-cta:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(var(--red-rgb,200,16,46),.4)}
@media(max-width:760px){.warn{grid-template-columns:1fr;gap:20px}}

/* ===== #64 Calculateur de prix instantané ===== */
.calc-sec{padding:74px 0;background:linear-gradient(180deg,var(--ink,#141110),#0d0b0a)}
.calc{max-width:920px;margin:34px auto 0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px;display:grid;grid-template-columns:1.25fr .9fr;gap:30px;align-items:stretch}
.calc-controls{display:flex;flex-direction:column;gap:20px}
.calc-grp .calc-lab{font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:11px}
.calc-opts{display:flex;flex-wrap:wrap;gap:9px}
.calc-svc,.calc-hr{appearance:none;cursor:pointer;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:rgba(255,255,255,.82);font-size:13.5px;font-weight:600;padding:10px 14px;border-radius:11px;transition:all .16s;font-family:inherit}
.calc-svc:hover,.calc-hr:hover{border-color:rgba(255,255,255,.32);color:#fff}
.calc-svc.on,.calc-hr.on{background:var(--red,#C8102E);border-color:var(--red,#C8102E);color:#fff;box-shadow:0 6px 18px rgba(var(--red-rgb,200,16,46),.34)}
.calc-svc:focus-visible,.calc-hr:focus-visible{outline:2px solid #E0A43B;outline-offset:2px}

.calc-result{background:linear-gradient(160deg,rgba(var(--red-rgb,200,16,46),.14),rgba(0,0,0,.25));border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px 22px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.calc-result .calc-rlab{font-size:13px;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.4px}
.calc-amt{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;color:#fff;font-size:clamp(40px,7vw,62px);line-height:1;margin:6px 0 2px}
.calc-amt::after{content:" €";font-size:.5em;color:#E0A43B;font-weight:700}
.calc-result.is-devis .calc-amt{font-size:34px}
.calc-result.is-devis .calc-amt::after{content:""}
.calc-note{font-size:12px;line-height:1.5;color:rgba(255,255,255,.5);margin:12px 0 18px;min-height:32px}
.calc-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--red,#C8102E);color:#fff;text-decoration:none;font-weight:800;font-size:16px;padding:14px 20px;border-radius:12px;transition:transform .18s,box-shadow .18s}
.calc-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(var(--red-rgb,200,16,46),.42)}
.calc-call2{display:block;margin-top:11px;font-size:12.5px;color:rgba(255,255,255,.5);text-decoration:none}
.calc-call2:hover{color:#fff}
@media(max-width:760px){.calc{grid-template-columns:1fr;padding:22px}}

/* ===== #16 slider avant/apres (FLUX ba-before/ba-after) ===== */
.ba-sec .ba{position:relative;max-width:1000px;margin:26px auto 0;aspect-ratio:1216/832;border-radius:20px;overflow:hidden;cursor:ew-resize;user-select:none;touch-action:pan-y;--pos:50%;box-shadow:0 30px 80px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.07)}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-tag{position:absolute;top:14px;z-index:3;padding:6px 13px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ba-tag-before{left:14px;background:rgba(20,17,16,.72);color:#fff}
.ba-tag-after{right:14px;background:rgba(200,16,46,.92);color:#fff}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:46px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;cursor:ew-resize}
.ba-line{position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translateX(-50%);background:#fff;box-shadow:0 0 14px rgba(0,0,0,.55)}
.ba-grip{position:relative;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--red,#C8102E);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;line-height:1;box-shadow:0 6px 22px rgba(0,0,0,.45);transition:transform .16s ease}
.ba.ba-drag .ba-grip,.ba-handle:hover .ba-grip{transform:scale(1.12)}
.ba-handle:focus-visible{outline:none}
.ba-handle:focus-visible .ba-grip{box-shadow:0 0 0 4px rgba(200,16,46,.45),0 6px 22px rgba(0,0,0,.45)}
@media(max-width:760px){.ba-sec .ba{aspect-ratio:4/3}.ba-grip{width:40px;height:40px;font-size:19px}}

/* ===== bandeau engagements / garanties ===== */
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1040px;margin:28px auto 0}
.eng-c{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:26px 20px;text-align:center;transition:transform .2s,border-color .2s}
.eng-c:hover{transform:translateY(-4px);border-color:rgba(200,16,46,.4)}
.eng-ic{width:54px;height:54px;margin:0 auto 14px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(200,16,46,.14);color:#C8102E}
.eng-ic svg{width:26px;height:26px}
.eng-c h3{font-size:16px;margin:0 0 6px;color:#fff;font-weight:800}
.eng-c p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.62);margin:0}
@media(max-width:820px){.eng-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.eng-grid{grid-template-columns:1fr}}

/* ===== conseils pratiques ===== */
.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1040px;margin:28px auto 0}
.tip{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:26px 22px;text-align:left;transition:transform .2s,border-color .2s}
.tip:hover{transform:translateY(-4px);border-color:rgba(224,164,59,.45)}
.tip-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(224,164,59,.16);color:#E0A43B;margin-bottom:14px}
.tip-ic svg{width:24px;height:24px}
.tip h3{font-size:17px;margin:0 0 8px;color:#fff;font-weight:800}
.tip p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.66);margin:0}
@media(max-width:820px){.tips-grid{grid-template-columns:1fr}}

/* ===== selecteur d'urgence (triage) ===== */
.triage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:860px;margin:26px auto 20px}
.triage-b{display:flex;align-items:center;gap:11px;text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:15px 16px;color:#fff;font-family:inherit;font-size:14.5px;font-weight:700;cursor:pointer;transition:border-color .18s,background .18s,transform .12s}
.triage-b:hover{border-color:rgba(200,16,46,.5);transform:translateY(-2px)}
.triage-b.on{background:rgba(200,16,46,.16);border-color:#C8102E}
.triage-b svg{width:22px;height:22px;flex:0 0 auto;color:#C8102E}
.triage-res{max-width:860px;margin:0 auto;background:linear-gradient(135deg,rgba(200,16,46,.13),rgba(255,255,255,.03));border:1px solid rgba(200,16,46,.3);border-radius:16px;padding:24px;display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.triage-res .ri{flex:1;min-width:250px}
.triage-res h3{margin:0 0 6px;color:#fff;font-size:18px;font-weight:800}
.triage-res .rd{margin:0 0 12px;color:rgba(255,255,255,.74);font-size:14px;line-height:1.55}
.triage-meta{display:flex;gap:20px;font-size:13px;color:#E0A43B;font-weight:700}
.triage-cta{display:flex;flex-direction:column;gap:8px}
.triage-call{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#C8102E;color:#fff;text-decoration:none;font-weight:800;padding:14px 22px;border-radius:12px;font-size:16px;white-space:nowrap}
.triage-call:hover{background:#8E0B22}
.triage-call svg{width:19px;height:19px}
.triage-rappel{color:rgba(255,255,255,.6);text-decoration:none;font-size:13px;text-align:center}
.triage-rappel:hover{color:#fff}
@media(max-width:760px){.triage-grid{grid-template-columns:1fr}}

/* ===== galerie de realisations (FLUX) ===== */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1080px;margin:28px auto 0}
.gal-c{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;margin:0;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.gal-c img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.gal-c:hover img{transform:scale(1.07)}
.gal-cap{position:absolute;left:0;right:0;bottom:0;margin:0;padding:32px 16px 14px;background:linear-gradient(to top,rgba(20,17,16,.92),rgba(20,17,16,0));color:#fff;font-size:13.5px;font-weight:700;line-height:1.35}
@media(max-width:860px){.gal-grid{grid-template-columns:repeat(2,1fr)}}

/* ===== marques & moyens de paiement ===== */
.mp-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:820px;margin:24px auto 0}
.mp-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:9px 18px;color:#fff;font-weight:700;font-size:14px;letter-spacing:.01em}
.mp-sub{text-align:center;color:rgba(255,255,255,.48);font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin:36px 0 0}
.mp-pay{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:16px auto 0}
.mp-pc{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 18px;color:#fff;font-weight:700;font-size:14px}
.mp-pc svg{width:20px;height:20px;color:#E0A43B;flex:0 0 auto}

/* ===== mini-quiz securite ===== */
.quiz{max-width:720px;margin:26px auto 0;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:10px 28px 28px}
.quiz-q{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.07);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.quiz-q:last-of-type{border-bottom:0}
.quiz-q p{margin:0;color:#fff;font-weight:600;font-size:15px;flex:1;min-width:210px}
.quiz-opts{display:flex;gap:8px}
.quiz-o{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:10px;padding:9px 20px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;transition:.15s}
.quiz-o:hover{border-color:rgba(200,16,46,.5)}
.quiz-o.on{background:#C8102E;border-color:#C8102E}
.quiz-res{margin-top:22px;border-radius:14px;padding:24px;text-align:center}
.quiz-res .qbadge{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 15px;border-radius:999px;margin-bottom:12px}
.quiz-res h3{margin:0 0 8px;color:#fff;font-size:22px;font-weight:800}
.quiz-res .qr-d{margin:0 auto 18px;color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.6;max-width:520px}
.quiz-res.q-good{background:rgba(29,185,84,.1);border:1px solid rgba(29,185,84,.3)}
.q-good .qbadge{background:#1DB954;color:#052012}
.quiz-res.q-mid{background:rgba(224,164,59,.1);border:1px solid rgba(224,164,59,.32)}
.q-mid .qbadge{background:#E0A43B;color:#2a1c00}
.quiz-res.q-bad{background:rgba(200,16,46,.12);border:1px solid rgba(200,16,46,.36)}
.q-bad .qbadge{background:#C8102E;color:#fff}

/* ===== delais d'intervention par zone du 66 ===== */
.zones66{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:1000px;margin:28px auto 0}
.zone-c{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:20px;display:flex;gap:14px;align-items:flex-start;transition:border-color .2s,transform .15s}
.zone-c:hover{border-color:rgba(200,16,46,.4);transform:translateY(-3px)}
.zone-ic{width:42px;height:42px;flex:0 0 auto;border-radius:11px;background:rgba(200,16,46,.14);color:#C8102E;display:flex;align-items:center;justify-content:center}
.zone-ic svg{width:22px;height:22px}
.zone-tx h3{margin:0 0 2px;color:#fff;font-size:15px;font-weight:800}
.zone-tx .zd{color:#E0A43B;font-weight:800;font-size:14px}
.zone-tx p{margin:5px 0 0;color:rgba(255,255,255,.55);font-size:12.5px;line-height:1.45}
.zones-note{text-align:center;color:rgba(255,255,255,.5);font-size:12.5px;margin:20px 0 0}
@media(max-width:860px){.zones66{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.zones66{grid-template-columns:1fr}}

/* ===== FAQ : recherche live ===== */
.faq-search{max-width:520px;margin:0 auto 20px;position:relative}
.faq-search input{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 44px 13px 16px;color:#fff;font-family:inherit;font-size:15px;box-sizing:border-box}
.faq-search input:focus{outline:none;border-color:#C8102E}
.faq-search input::placeholder{color:rgba(255,255,255,.42)}
.faq-search svg{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:rgba(255,255,255,.4);pointer-events:none}
.faq-nores{display:block;text-align:center;color:rgba(255,255,255,.62);font-size:13.5px;margin-top:14px}
.faq-it.faq-hide{display:none}

/* ===== niveaux de securite (guide de choix) ===== */
.slv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:34px auto 0}
.slv-c{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px 22px;position:relative}
.slv-c.slv-reco{border-color:#C8102E;background:rgba(200,16,46,.08)}
.slv-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:#C8102E;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:5px 13px;border-radius:999px;white-space:nowrap}
.slv-c h3{margin:0 0 4px;color:#fff;font-size:18px;font-weight:800}
.slv-lead{color:#E0A43B;font-weight:700;font-size:13px;margin:0 0 6px}
.slv-price{color:rgba(255,255,255,.55);font-size:13px;margin:0 0 14px}
.slv-c ul{list-style:none;margin:0;padding:0}
.slv-c li{display:flex;gap:9px;color:rgba(255,255,255,.74);font-size:13.5px;line-height:1.45;padding:6px 0}
.slv-c li svg{width:16px;height:16px;color:#C8102E;flex:0 0 auto;margin-top:2px}
@media(max-width:820px){.slv-grid{grid-template-columns:1fr}}
