/* ===== Flairat v4 : pages zones, simulateur, formulaire de devis, galerie, contrat de suivi ===== */

/* --- Hero des pages intérieures --- */
.hero2.sub{padding:130px 0 50px}
.hero2.sub h1{font-size:clamp(2.3rem,8vw,4.6rem)}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;font-size:.82rem;color:var(--dim);margin-top:18px}
.crumbs li+li:before{content:"›";margin-right:6px;color:var(--teal-l)}
.crumbs a{color:#c9d1d5;text-decoration:none}.crumbs a:hover{color:#fff}
.sub .hdog{width:min(72vw,400px)}
@media (min-width:1000px){.hero2.sub{min-height:0;padding:150px 0 70px}.hero2.sub h1{font-size:clamp(3.4rem,5vw,4.8rem)}}

/* --- Puces de villes --- */
.towns{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;position:relative}
.towns li{padding:6px 13px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.04);font-size:.86rem;color:#dfe5e8}
.towns li.p{border-color:rgba(242,132,71,.45);background:rgba(242,132,71,.1);color:#fff}
.g .towns{margin-top:14px}
.prose p{color:var(--mute);margin-top:12px;max-width:70ch}
.prose p b{color:#fff}
.kv{list-style:none;display:grid;gap:10px;margin-top:16px;position:relative}
.kv li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);color:#e3e8ea;font-size:.95rem}
.kv li b{color:#fff;white-space:nowrap}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;position:relative}
.alinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;position:relative}
.alinks a{padding:8px 14px;border-radius:999px;border:1px solid rgba(95,196,196,.3);background:rgba(63,143,144,.08);color:#dff3f3;text-decoration:none;font-size:.9rem;font-weight:600}
.alinks a:hover{background:rgba(63,143,144,.2);color:#fff}

/* --- Simulateur --- */
.sim{display:grid;gap:18px;margin-top:36px}
.sim form,.sim .sim-f{display:grid;gap:18px}
.sim fieldset{border:0;display:grid;gap:10px;min-width:0}
.sim legend{font-size:.82rem;font-weight:600;color:#cfd7db;margin-bottom:8px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:flex;flex-direction:column;gap:2px;height:100%;padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.3);color:#e9eef0;font-weight:600;font-size:.93rem;transition:border-color .2s,background .2s,box-shadow .2s}
.opt span small{font-weight:400;color:var(--dim);font-size:.78rem}
.opt input:checked+span{border-color:var(--orange-l);background:rgba(242,132,71,.12);box-shadow:0 0 0 3px rgba(242,132,71,.15);color:#fff}
.opt input:focus-visible+span{outline:3px solid var(--teal-l);outline-offset:2px}
.sim .hint{font-size:.82rem;color:var(--dim)}
.sim-out{position:relative;display:flex;flex-direction:column;gap:12px;min-height:280px}
.sim-out .t{font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--teal-l);font-weight:600}
.sim-res{position:relative}
.sim-range{font-weight:850;font-size:clamp(2.2rem,7vw,3.4rem);line-height:1;letter-spacing:-.04em;background:var(--sun);-webkit-background-clip:text;background-clip:text;color:transparent;margin-top:6px}
.sim-range.sd{font-size:clamp(1.8rem,5vw,2.4rem)}
.sim-lines{list-style:none;display:grid;gap:6px;margin-top:14px}
.sim-lines li{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:#d6dde0;border-bottom:1px solid rgba(255,255,255,.06);padding:7px 0}
.sim-lines li b{color:#fff;white-space:nowrap}
.sim-note{font-size:.84rem;color:var(--mute);margin-top:10px}
.js .sim-out.is-locked .sim-res{filter:blur(10px) saturate(.8);user-select:none;-webkit-user-select:none}
.sim-res{transition:filter .7s cubic-bezier(.2,.7,.2,1)}
.sim-ov{display:none}
.js .sim-out.is-locked .sim-ov{display:flex;position:absolute;inset:0;z-index:3;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:20px}
.sim-ov p{color:#e7ecee;font-size:.9rem;text-shadow:0 2px 12px #000}
@media (min-width:1000px){.sim{grid-template-columns:7fr 5fr;align-items:start}.sim-out{position:sticky;top:100px}}

/* --- Formulaire de devis --- */
.fhead{font-size:1.15rem;font-weight:700;color:#fff;position:relative}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .opt span{flex-direction:row;padding:9px 14px;border-radius:999px;font-size:.88rem}
.drop{display:grid;gap:8px;padding:16px;border:1.5px dashed rgba(255,255,255,.18);border-radius:16px;background:rgba(0,0,0,.25);cursor:pointer;text-align:center;color:#cfd7db;font-weight:600}
.drop:hover,.drop:focus-within{border-color:var(--teal-l)}
.drop input{font-size:.85rem;padding:8px;background:transparent;border:0}
.drop small{font-weight:400;color:var(--dim)}
.thumbs{display:flex;flex-wrap:wrap;gap:8px}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--border)}
.fbtns{display:flex;flex-wrap:wrap;gap:10px}
.fbtns .btn{flex:1 1 220px}
.fmsg{font-size:.86rem;color:#dff3f3;background:rgba(63,143,144,.12);border:1px solid rgba(95,196,196,.3);padding:10px 12px;border-radius:12px}
.fmsg[hidden]{display:none}
.req{color:var(--orange-l)}

/* --- Galerie --- */
.gal{display:grid;gap:18px;margin-top:40px;grid-template-columns:1fr 1fr}
.gal .g{padding:0;aspect-ratio:9/16;display:flex}
.gal figure{position:relative;width:100%;height:100%;margin:0}
.gal img,.gal video{width:100%;height:100%;object-fit:cover;display:block}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 16px;background:linear-gradient(transparent,rgba(5,5,7,.88));font-size:.9rem;color:#e7ecee;z-index:2}
.gal figcaption b{display:block;color:#fff;font-size:1rem}
.vsoon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;text-align:center;padding:20px;background:radial-gradient(80% 60% at 50% 30%,rgba(95,196,196,.18),transparent 70%),radial-gradient(70% 50% at 50% 100%,rgba(242,132,71,.16),transparent 70%)}
.vsoon .play{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:#1b120c;box-shadow:0 0 0 8px rgba(242,132,71,.12),0 14px 40px -8px rgba(242,132,71,.7)}
.vsoon .play svg{width:30px;height:30px;margin-left:4px}
.vsoon b{color:#fff;font-size:1.05rem}
.vsoon small{color:var(--mute);font-size:.85rem;max-width:22ch}
@media (prefers-reduced-motion:no-preference){.vsoon .play{animation:bob 3s ease-in-out infinite alternate}}
@media (min-width:720px){.gal{grid-template-columns:repeat(4,1fr)}}

/* --- Contrat de suivi --- */
.tl{list-style:none;display:grid;gap:18px;margin-top:40px;counter-reset:t}
.tl .g{padding-left:84px}
.tl .g:after{counter-increment:t;content:"0" counter(t);position:absolute;left:24px;top:24px;font-weight:850;font-size:2rem;letter-spacing:-.05em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tl .g h3{margin-top:0}
@media (min-width:720px){.tl{grid-template-columns:1fr 1fr}}
.report{font-size:.92rem}
.report .kv li{font-size:.9rem}
.report .kv li span{color:var(--mute)}

/* footer : liens zones */
.f2 .fzones a{color:#d6dde0}
.f2 .fzones a:hover{color:#fff}
.f2 .fzones b a{color:#fff}
