/* ==========================================================================
   ICONIA — solo le parti che la pagina Piscine non ha.
   La base (tipografia del tema, header, bento, pin, lista, nastro, footer)
   arriva da piscine-nuova.css, caricato prima. Prefisso .ic- per le novità.
   ========================================================================== */

/* --------------------------------------------------------------- hero video
   Nelle Piscine lo stage è appeso a un binario alto 400vh (fotogrammi a
   scorrimento). Qui c'è un video in loop: lo stage è alto uno schermo e
   scorre via normalmente.                                                  */
.ic-hero .pn-hero-stage{position:relative;height:100svh;min-height:560px}
.ic-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  background:#000}
.ic-hero .pn-hero-title{max-width:14ch}

/* --------------------------------------------------------------- bento
   Da fermo (bento appeso) le righe della griglia le detta l'altezza dello
   schermo: a 900px una card da due righe è alta ~140px, e numero + grafico
   impilati ne chiedono ~210. Il disegno veniva tagliato. Qui numero e
   grafico stanno AFFIANCATI: bastano ~140px. Solo quando il bento è appeso
   (stesse soglie di piscine-nuova.css), altrimenti le card sono alte.     */
@media (min-width:1081px) and (min-height:781px){
  .pn-iconia .pn-sec--pin .pn-card--data,
  .pn-iconia .pn-sec--pin .pn-card--green{flex-direction:row;align-items:flex-end;gap:22px}
  .pn-iconia .pn-sec--pin .pn-chart,
  .pn-iconia .pn-sec--pin .pn-bars{width:44%;flex:0 0 44%;margin-top:0}
}

/* --------------------------------------------------------------- chiusura
   "Al resto pensiamo noi." a 22ch lasciava "NOI." da solo sulla riga.   */
.pn-iconia .pn-cta-in .pn-h2{max-width:26ch}

/* --------------------------------------------------------------- finiture */
.ic-fins{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,36px)}
.ic-fin{margin:0}
.ic-fin-fig{margin:0;overflow:hidden;aspect-ratio:1/1;background:#efece6}
.ic-fin-fig img{width:100%;height:100%;object-fit:cover}
.ic-fin-txt{padding-top:20px}
.ic-fin-sub{color:var(--green)}
.ic-fin .pn-h3{margin:6px 0 10px;font-size:clamp(24px,2.3vw,32px);letter-spacing:4px}

@media (max-width:900px){
  .ic-fins{grid-template-columns:1fr;gap:28px}
  /* impilate diventano righe: campione a sinistra, testo a destra */
  .ic-fin{display:grid;grid-template-columns:36% 1fr;gap:18px;align-items:start}
  .ic-fin-txt{padding-top:0}
}

/* --------------------------------------------------------------- spaccato
   I colori stanno negli attributi dell'SVG. Qui solo i due movimenti
   d'ambiente: le bollicine e l'acqua che scende nella vasca di compenso.
   Con "riduci movimento" la regola globale di piscine-nuova.css li ferma. */
.ic-bub{transform-box:fill-box;opacity:0;animation:ic-bub 3.4s linear infinite}
@keyframes ic-bub{
  0%{transform:translateY(0);opacity:0}
  10%{opacity:.95}
  85%{opacity:.6}
  100%{transform:translateY(-148px);opacity:0}
}
.ic-flow{stroke-dasharray:4 7;animation:ic-flow 1.3s linear infinite}
@keyframes ic-flow{to{stroke-dashoffset:-22}}
.ic-fig-note{margin:10px 0 0;font-family:'Mulish',sans-serif;font-weight:600;font-size:10.5px;
  letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* --------------------------------------------------------------- misure */
.ic-conf{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(28px,5vw,80px);align-items:center}

.ic-step{padding:22px 0 18px;border-top:1px solid var(--line)}
.ic-step-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ic-step-range{color:var(--muted)}
.ic-step-row{display:flex;align-items:center;gap:16px;margin-top:12px}
.ic-step-btn{width:48px;height:48px;flex:0 0 auto;border:2px solid var(--black);display:grid;place-items:center;
  transition:background .25s var(--ease),color .25s var(--ease),opacity .25s var(--ease)}
.ic-step-btn:hover{background:var(--black);color:var(--white)}
.ic-step-btn[disabled]{opacity:.22;cursor:default;background:none;color:inherit}
.ic-step-val{flex:1;text-align:center;font-family:'Roboto',sans-serif;font-weight:100;
  font-size:clamp(42px,4.6vw,60px);line-height:1;letter-spacing:1px}
.ic-step-val b{font-weight:100}
.ic-step-val span{font-size:.34em;font-weight:300;margin-left:6px;letter-spacing:1px}

/* una tacca per ogni misura del catalogo: si riempiono fino a quella scelta */
.ic-step-dots{display:flex;gap:6px;margin-top:14px}
.ic-step-dots button{flex:1;height:24px;position:relative}
.ic-step-dots button::after{content:"";position:absolute;left:0;right:0;top:50%;height:3px;
  transform:translateY(-50%);background:var(--line);transition:background .3s var(--ease)}
.ic-step-dots button.is-on::after{background:var(--green)}
.ic-step-dots button:hover::after{background:var(--green-dark)}

.ic-conf-sum{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:6px 0 0;
  padding-top:22px;border-top:1px solid var(--line)}
.ic-conf-sum dt{color:var(--muted)}
.ic-conf-sum dd{margin:6px 0 0;font-family:'Roboto',sans-serif;font-weight:100;
  font-size:clamp(28px,2.6vw,36px);letter-spacing:1px;line-height:1.1}
.ic-note{margin:18px 0 0;font-size:13px;line-height:1.6;color:var(--muted)}

.ic-conf-fig{margin:0;background:#f3f0ea;border:1px solid var(--line);padding:clamp(8px,1.6vw,20px)}
.ic-conf-fig svg{display:block;width:100%;height:auto}
.ic-conf-fig figcaption{margin-top:6px;text-align:right;color:var(--muted)}
.ic-dim path{fill:none;stroke:#1b1b1b;stroke-width:1}
.ic-dim text{font-family:'Mulish',sans-serif;font-weight:700;font-size:14px;letter-spacing:1.5px;fill:#1b1b1b}

@media (max-width:900px){
  .ic-conf{grid-template-columns:1fr}
}

/* --------------------------------------------------------------- accessori */
.ic-acc-title{margin:clamp(60px,8vw,110px) 0 clamp(22px,3vw,36px)}
.ic-acc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(14px,1.8vw,26px)}
.ic-acc li{border-top:1px solid var(--line);padding-top:18px}
.ic-acc b{display:block;font-family:'Roboto',sans-serif;font-weight:100;font-size:clamp(22px,2vw,28px);
  line-height:1;letter-spacing:4px;text-transform:uppercase;color:var(--text)}
.ic-acc .pn-mono{display:block;color:var(--green);margin:12px 0 8px}

@media (max-width:1080px){ .ic-acc{grid-template-columns:repeat(3,1fr)} }
@media (max-width:640px){ .ic-acc{grid-template-columns:1fr 1fr} }
@media (max-width:420px){ .ic-acc{grid-template-columns:1fr} }
