/* recuperateureaudepluie.fr — le hero : la cuve qui se remplit.
   La mise en page du hero est commune à l'usine ; la cuve, la pluie animée et
   la saisie du code postal sont propres à cette niche. */

/* ---------------- hero ---------------- */
.hero{position:relative;padding-top:clamp(46px,7vw,84px);padding-bottom:clamp(40px,6vw,72px)}
.hero::before{
  content:"";position:absolute;inset:-30% -20% auto -20%;height:120%;
  background:radial-gradient(52% 46% at 62% 8%,rgba(91,200,216,.16),transparent 68%),
             radial-gradient(40% 40% at 8% 42%,rgba(227,163,60,.09),transparent 70%);
  pointer-events:none;
}
.hero-in{position:relative}
.hero h1{
  font-family:var(--dsp);font-weight:800;font-stretch:78%;
  font-size:clamp(2.5rem,5.5vw,4.6rem);line-height:.95;letter-spacing:-.022em;
  margin-top:16px;text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-lede{margin-top:clamp(22px,2.6vw,30px);max-width:44ch;color:var(--txt-1,#BCD0D5);font-size:1.02rem}

/* instrument */
.hero-grid{display:grid;gap:clamp(34px,5vw,60px);grid-template-columns:1fr}
@media(min-width:980px){.hero-grid{grid-template-columns:1.34fr .66fr;align-items:center}}

.readout{display:flex;align-items:flex-start;gap:14px;margin-top:clamp(34px,5vw,56px)}
.readout-n{
  font-family:var(--dsp);font-weight:800;font-stretch:100%;
  font-size:clamp(5.6rem,17vw,12.5rem);line-height:.78;letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;
  color:var(--texte);
}
.readout-u{font-family:var(--dsp);font-weight:800;font-size:clamp(1rem,2.4vw,1.5rem);color:var(--vif);padding-top:.9rem;letter-spacing:.02em}
.verdict{
  margin-top:6px;font-family:var(--dsp);font-weight:800;font-stretch:80%;
  font-size:clamp(1.3rem,3.4vw,2rem);letter-spacing:-.01em;line-height:1.05;
  transition:color .35s;
}
.verdict-note{font-size:.88rem;color:var(--mute);margin-top:6px;max-width:34ch}

/* conversion + estimation */
.mgl{font-size:.84rem;color:var(--txt-3,#7E99A1);margin-top:10px}
.mgl b{color:var(--txt-1,#BCD0D5);font-weight:500}

/* entrée : signes visibles ou curseur */
.modes{
  display:inline-flex;gap:4px;padding:4px;margin-top:clamp(28px,4vw,42px);
  border:1px solid var(--ligne);border-radius:999px;
}
.modes button{
  font:inherit;font-size:.79rem;font-weight:500;padding:8px 16px;
  border:0;border-radius:999px;background:transparent;color:var(--mute);cursor:pointer;
  transition:background .18s,color .18s;
}
.modes button:hover{color:var(--texte)}
.modes button[aria-selected="true"]{background:var(--texte);color:var(--fond)}
.modes button:focus-visible{outline:2px solid var(--vif);outline-offset:2px}

.panel{margin-top:22px}
.panel[hidden]{display:none}
.qs{display:grid;gap:20px;max-width:52ch}
.q > p{font-size:.86rem;color:var(--txt-1,#BCD0D5);margin-bottom:10px}
.q > p b{display:inline-block;width:20px;color:var(--accent);font-family:var(--dsp);font-weight:800}
.opts{display:flex;flex-wrap:wrap;gap:7px}
.opts button{
  font:inherit;font-size:.8rem;padding:9px 14px;border-radius:2px;cursor:pointer;
  background:transparent;color:var(--mute);border:1px solid var(--ligne);
  transition:background .18s,border-color .18s,color .18s;
}
.opts button:hover{color:var(--texte);border-color:rgba(232,226,212,.32)}
.opts button[aria-pressed="true"]{background:rgba(227,163,60,.15);border-color:rgba(227,163,60,.6);color:var(--texte)}
.opts button:focus-visible{outline:2px solid var(--vif);outline-offset:2px}
.est{margin-top:22px;font-size:.84rem;color:var(--mute);max-width:50ch}
.est b{color:var(--accent);font-weight:600}

/* slider */
.gauge{margin-top:0}
.gauge-lab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.gauge-lab span{font-size:.7rem;text-transform:uppercase;letter-spacing:.17em;color:var(--mute)}
.track{
  position:relative;height:14px;border-radius:999px;
  background:linear-gradient(90deg,#1B6E7C 0%,#2E8FA0 30%,#8FA36E 46%,var(--accent) 66%,var(--alerte) 100%);
  opacity:.9;
}
.track::after{content:"";position:absolute;inset:0;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)}
.gauge input{
  -webkit-appearance:none;appearance:none;width:100%;background:transparent;
  margin:-14px 0 0;height:14px;display:block;position:relative;z-index:2;cursor:grab;
}
.gauge input:active{cursor:grabbing}
.gauge input::-webkit-slider-thumb{
  -webkit-appearance:none;width:30px;height:30px;border-radius:50%;
  background:var(--texte);border:4px solid var(--fond);margin-top:-8px;
  box-shadow:0 0 0 2px var(--texte),0 6px 18px rgba(0,0,0,.5);cursor:grab;
}
.gauge input::-moz-range-thumb{
  width:30px;height:30px;border-radius:50%;
  background:var(--texte);border:4px solid var(--fond);
  box-shadow:0 0 0 2px var(--texte),0 6px 18px rgba(0,0,0,.5);cursor:grab;
}
.gauge input:focus-visible{outline:none}
.gauge input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--vif),0 0 0 7px rgba(91,200,216,.32)}
.gauge input:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--vif),0 0 0 7px rgba(91,200,216,.32)}
.ticks{display:flex;justify-content:space-between;margin-top:14px;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--mute)}
.ticks b{font-weight:500;color:var(--txt-3,#63808A)}
.ticks u{text-decoration:none}
@media(max-width:520px){.ticks u{display:none}}

/* reco */
.reco{
  margin-top:clamp(30px,4.5vw,46px);
  border:1px solid var(--ligne);border-left:3px solid var(--accent);
  background:linear-gradient(90deg,rgba(227,163,60,.09),rgba(227,163,60,0) 55%);
  padding:clamp(18px,2.6vw,26px);
  display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;
}
.reco-txt{min-width:min(100%,300px);flex:1}
.reco-txt .eyebrow{color:var(--accent)}
.reco-txt strong{
  display:block;font-family:var(--dsp);font-weight:800;font-stretch:82%;
  font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.15;margin-top:7px;
}
.reco-txt p{font-size:.9rem;color:var(--txt-2,#A9C0C6);margin-top:7px;max-width:52ch}
.btn{
  display:inline-flex;align-items:center;gap:9px;flex:none;
  font-weight:600;font-size:.92rem;padding:14px 22px;border-radius:2px;
  background:var(--accent);color:#1A1206;
  transition:transform .18s,box-shadow .18s,background .18s;
}
.btn:hover,.btn:focus-visible{background:#F0B354;transform:translateY(-2px);box-shadow:0 10px 26px rgba(227,163,60,.26)}
.btn-ghost{background:transparent;color:var(--texte);border:1px solid var(--ligne)}
.btn-ghost:hover,.btn-ghost:focus-visible{background:rgba(232,226,212,.07);box-shadow:none}
.hero-alt{margin-top:20px;font-size:.86rem;color:var(--mute)}
.hero-alt a{border-bottom:1px solid rgba(91,200,216,.45);color:var(--vif);padding-bottom:1px}

/* ─────────── la cuve ─────────── */

.cuve{position:relative;justify-self:center;width:min(320px,76vw);margin:0}
.cuve svg{width:100%;height:auto;display:block}
#niveau{transition:y .9s cubic-bezier(.22,.8,.3,1),height .9s cubic-bezier(.22,.8,.3,1)}
#pluie line{animation:rnk-pleut 1.6s linear infinite}
#pluie line:nth-child(2){animation-delay:.4s}
#pluie line:nth-child(3){animation-delay:.8s}
#pluie line:nth-child(4){animation-delay:1.2s}

@keyframes rnk-pleut{
  0%{transform:translateY(0);opacity:0}
  20%{opacity:1}
  100%{transform:translateY(46px);opacity:0}
}

.cuve-lab{
  margin-top:14px;text-align:center;
  font-family:var(--dsp);font-weight:800;font-stretch:84%;
  font-size:clamp(.98rem,2.2vw,1.2rem);letter-spacing:-.01em;color:var(--vif);
}

@media (prefers-reduced-motion:reduce){
  #niveau{transition:none}
  #pluie line{animation:none}
}

/* ─────────── la saisie du code postal ─────────── */

.cp-form-bloc{margin-top:clamp(28px,4vw,40px)}
.cp-form{display:flex;flex-wrap:wrap;gap:9px;max-width:460px}
.cp-form input{
  flex:1 1 160px;min-width:0;font:inherit;font-size:1.15rem;font-weight:600;
  letter-spacing:.14em;padding:12px 16px;border-radius:2px;
  background:rgba(222,234,238,.06);color:var(--texte);border:1px solid var(--ligne);
}
.cp-form input::placeholder{color:var(--txt-3);letter-spacing:.14em}
.cp-form input:focus{outline:none;border-color:var(--vif);background:rgba(95,194,201,.09)}
.cp-form button{
  font:inherit;font-size:.88rem;font-weight:600;padding:12px 20px;border:0;
  border-radius:2px;background:var(--texte);color:var(--fond);cursor:pointer;
  transition:background .18s;
}
.cp-form button:hover{background:#fff}
.cp-form button[disabled]{opacity:.5;cursor:progress}
.cp-err{margin-top:10px;font-size:.85rem;color:#E8927B}
.cp-communes{margin-top:16px}
.cp-communes p{font-size:.82rem;color:var(--mute);margin-bottom:9px}
.cp-list{display:flex;flex-wrap:wrap;gap:7px}
.cp-list button{
  font:inherit;font-size:.8rem;padding:8px 14px;border-radius:2px;cursor:pointer;
  background:transparent;color:var(--mute);border:1px solid var(--ligne);
  transition:border-color .18s,color .18s,background .18s;
}
.cp-list button:hover{color:var(--texte);border-color:rgba(95,194,201,.5);background:rgba(95,194,201,.08)}
.cp-list button small{color:var(--vif);font-weight:600}
.mesure{
  margin-top:16px;font-size:.86rem;color:var(--txt-2);max-width:54ch;
  border-left:2px solid rgba(95,194,201,.45);padding-left:12px;
}
.mesure b{color:var(--vif);font-weight:600}

/* la barre du curseur : de l'abri de jardin à la grande toiture */
.track{
  background:linear-gradient(90deg,#2A7F8C 0%,#3E9AA6 34%,#5FC2C9 66%,#7FD8DE 100%);
}

/* Le volume annuel atteint six chiffres (154 107 L) : à la taille prévue pour
   un « 25 », il déborderait sur la colonne du visuel. */
.readout-n{font-size:clamp(3rem,8.5vw,6.4rem)}
.readout-u{padding-top:.55rem;white-space:nowrap}
