/* ============================================================
   Rivalta Green Village — diventa-socio.css
   Estende homepage.css. Solo componenti specifici della pagina
   conversione: hero-conv, listino/price-card, callout, confronto
   tessere, form-band. Token = design.md §2–§4.
   ============================================================ */

/* ---------- Hero conversione (lead-gen: form nell'header) ---------- */
.hero-lead{position:relative;overflow:hidden;color:#fff;margin-top:-120px;padding-top:120px;
  background:
    radial-gradient(56% 68% at 90% 8%, rgba(236,154,78,.22), transparent 56%),
    radial-gradient(54% 64% at 4% 98%, rgba(46,148,86,.34), transparent 60%),
    linear-gradient(165deg, var(--green-800), var(--green-900) 90%)}
.hero-lead .orb{position:absolute;width:460px;height:460px;border-radius:50%;background:rgba(46,148,86,.4);
  filter:blur(80px);top:-130px;right:4%;z-index:0;pointer-events:none}
.hero-lead .hi-mark{position:absolute;left:-44px;bottom:-26px;width:300px;opacity:.06;
  filter:brightness(0) invert(1);z-index:0;pointer-events:none}
.hero-lead .hl-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.04fr .96fr;
  gap:clamp(32px,4.5vw,64px);align-items:center;
  padding-top:clamp(34px,4.5vw,60px);padding-bottom:clamp(120px,14vw,184px)}
.hl-copy{max-width:560px}
.hero-lead .eyebrow{color:var(--orange-400)}
.hero-lead h1{color:#fff;margin-top:14px;font-size:clamp(2.4rem,4.4vw,3.5rem)}
.hero-lead h1 .accent-it{color:var(--orange-400)}
.hl-intro{margin-top:20px;font-size:clamp(1.04rem,1.4vw,1.18rem);line-height:1.6;color:rgba(255,255,255,.9);max-width:48ch}
.hl-points{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:12px}
.hl-points li{position:relative;padding-left:33px;font-size:1rem;line-height:1.45;color:rgba(255,255,255,.94)}
.hl-points li::before{content:"✓";position:absolute;left:0;top:1px;width:22px;height:22px;line-height:22px;
  text-align:center;font-size:12px;font-weight:700;color:#fff;background:var(--green-500);border-radius:50%}
.hl-points strong{color:#fff;font-weight:700}
.hl-trust{margin-top:26px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.03em;
  color:rgba(255,255,255,.72);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.hl-trust svg{color:var(--orange-400);flex-shrink:0}
.hl-form{position:relative;z-index:3}
@media (max-width:860px){
  .hero-lead .hl-grid{grid-template-columns:1fr;gap:30px;padding-bottom:clamp(100px,18vw,150px)}
}

/* ---------- Listino / quote (3 card pari, premium, con CTA) ---------- */
.pricing-sec{background:var(--band);position:relative;overflow:hidden}
.pricing-sec .pricing-watermark{position:absolute;left:-60px;bottom:-70px;width:320px;opacity:.05;pointer-events:none;transform:rotate(8deg)}
.pricing-sec > .container{position:relative;z-index:1}
.pricing-intro{color:var(--ink-700);margin-top:18px;font-size:1.05rem}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px;align-items:stretch}
.price-card{position:relative;background:var(--bg-elevated);border:1px solid var(--rule-strong);
  border-radius:var(--radius-lg);padding:52px 30px 36px;display:flex;flex-direction:column;align-items:center;text-align:center;
  box-shadow:0 1px 2px rgba(36,31,27,.04),0 18px 44px -26px rgba(36,31,27,.32);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.price-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--green-500)}
.pc-ic{position:absolute;top:-33px;left:50%;transform:translateX(-50%);width:66px;height:66px;border-radius:50%;
  background:var(--bg-elevated);border:1px solid var(--rule-strong);box-shadow:var(--shadow-md);
  display:flex;align-items:center;justify-content:center;color:var(--green-700)}
.pc-ic svg{width:28px;height:28px}
.pc-kicker{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-500)}
.price-card h3{font-size:1.2rem;margin-top:5px}
.importo{font-family:var(--font-mono);font-weight:500;font-size:clamp(2rem,2.8vw,2.6rem);color:var(--green-700);
  line-height:1.04;margin:14px 0 14px;letter-spacing:-.02em}
.importo .per{font-size:1rem;color:var(--ink-500);letter-spacing:0;font-weight:400}
.pc-rule{height:3px;width:44px;background:var(--orange-400);margin:0 auto 16px;border-radius:3px}
.price-card p{font-size:.92rem;color:var(--ink-700);line-height:1.55}

/* ---------- Condizioni (elenco sotto titoletto) ---------- */
.condizioni{margin-top:44px}
.cond-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--orange-600);margin-bottom:6px}
.cond-list{margin-top:10px;max-width:860px}
.cond-row{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--rule-strong)}
.cond-ic{width:40px;height:40px;border-radius:11px;background:var(--green-50);color:var(--green-700);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cond-ic svg{width:21px;height:21px}
.cond-row .ii-lab{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-900);display:block;margin-bottom:5px}
.cond-row p{font-size:.94rem;color:var(--ink-700);line-height:1.55}
.cond-row strong{color:var(--ink-900);font-weight:700}
.info-note{margin-top:18px;font-size:.84rem;color:var(--ink-900);line-height:1.55}

/* ---------- Rimando discreto all'unico form, a fine sezione ---------- */
.sec-cta{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-family:var(--font-mono);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green-700);text-decoration:none;
  padding-bottom:3px;border-bottom:1.5px solid var(--green-500);
  transition:gap .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.sec-cta:hover{color:var(--orange-600);border-color:var(--orange-500);gap:11px}
.sec-cta .arr{transition:transform .2s var(--ease)}
.sec-cta:hover .arr{transform:translateX(2px)}
.sec-cta-wrap{text-align:center;margin-top:38px}
.sec-cta-wrap .sec-cta{margin-top:0}
@media (max-width:560px){
  .cond-row{gap:13px}
}

/* ---------- Confronto Premium / Base (tabella comparativa) ---------- */
.confronto-intro{color:var(--ink-700);margin-top:16px;font-size:1.05rem}
.cmp{margin-top:30px;border:1px solid var(--rule-strong);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elevated)}
.cmp-head,.cmp-row{display:grid;grid-template-columns:1.5fr 1fr 1fr}
.cmp-head{background:var(--green-800);color:#fff}
.cmp-head .cmp-c{padding:15px 20px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.cmp-head .cmp-plan{justify-content:center;border-left:1px solid rgba(255,255,255,.15)}
.cmp-head .cmp-svc{color:#fff}
.cmp-head .cmp-plan.base{color:#fff}
.cmp-row{border-top:1px solid var(--rule)}
.cmp-row:nth-child(even){background:var(--bg-base)}
.cmp-c{padding:15px 20px;display:flex;align-items:center}
.cmp-svc{font-size:.97rem;color:var(--ink-900);font-weight:600}
.cmp-row .cmp-c:not(.cmp-svc){justify-content:center;border-left:1px solid var(--rule)}
.st{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;font-weight:600;line-height:1.2}
.st-ic{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}
.st.incl{color:var(--green-700)} .st.incl .st-ic{background:var(--green-600)}
.st.agev{color:var(--green-500)} .st.agev .st-ic{background:#5CB87D}
.st.full{color:var(--ink-700)} .st.full .st-ic{background:var(--ink-500)}
.st.no{color:var(--ink-500)} .st.no .st-ic{background:var(--ink-300)}
.cmp-legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px}
.cmp-legend .lg{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ink-700)}
.cmp-legend .lg::before{content:"";width:13px;height:13px;border-radius:50%}
.cmp-legend .lg.incl::before{background:var(--green-600)}
.cmp-legend .lg.agev::before{background:#5CB87D}
.cmp-legend .lg.full::before{background:var(--ink-500)}
.cmp-legend .lg.no::before{background:var(--ink-300)}
.confronto-note{margin-top:24px;font-size:1.02rem;color:var(--ink-700)}
.confronto-note strong{color:var(--green-700)}

/* mobile: card impilate per servizio (tabella non leggibile sotto i 680px) */
@media (max-width:680px){
  .cmp{border:none;background:none;border-radius:0;overflow:visible}
  .cmp-head{display:none}
  .cmp-row{grid-template-columns:1fr;border:1px solid var(--rule-strong);border-radius:var(--radius-md);
    overflow:hidden;margin-bottom:14px;background:var(--bg-elevated)}
  .cmp-row:nth-child(even){background:var(--bg-elevated)}
  .cmp-svc{background:var(--green-800);color:#fff;padding:13px 18px}
  .cmp-row .cmp-c:not(.cmp-svc){justify-content:space-between;border-left:none;border-top:1px solid var(--rule)}
  .cmp-row .cmp-c:not(.cmp-svc)::before{content:attr(data-plan);font-family:var(--font-mono);font-size:.64rem;
    letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}
}

/* ---------- Form lead band ---------- */
.form-band{position:relative;overflow:hidden;background:linear-gradient(165deg,var(--green-800),var(--green-900));color:#fff}
.form-band .pitto-bg{position:absolute;left:-70px;bottom:-80px;width:420px;opacity:.1;filter:brightness(0) invert(1);z-index:1;pointer-events:none}
.form-band .fb-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,68px);align-items:center}
.form-band h2{color:#fff}
.form-band .fb-copy p{color:rgba(255,255,255,.9);margin-top:18px;font-size:1.08rem;line-height:1.6;max-width:46ch}
.form-band .fb-addr{margin-top:24px;font-family:var(--font-mono);font-size:.82rem;letter-spacing:.04em;color:var(--orange-400);display:flex;align-items:center;gap:9px}

.form-card{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:clamp(26px,3vw,36px);box-shadow:var(--shadow-xl);color:var(--ink-900)}
.form-card h3{font-size:1.3rem}
.form-card .fc-sub{font-size:.9rem;color:var(--ink-500);margin:6px 0 22px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500)}
.field label .opt{color:var(--ink-300);text-transform:none;letter-spacing:0}
.field input,.field textarea{
  border:1px solid var(--rule-strong);border-radius:var(--radius-sm);padding:0 14px;height:48px;
  font-family:var(--font-body);font-size:.95rem;color:var(--ink-900);background:#fff;transition:border-color .15s,box-shadow .15s;
}
.field textarea{height:auto;min-height:92px;padding:12px 14px;resize:vertical;line-height:1.5}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px var(--green-100)}
.field input.err,.field textarea.err{border-color:var(--terracotta-600);box-shadow:0 0 0 3px rgba(196,78,47,.14)}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.85rem;color:var(--ink-700);line-height:1.45;margin:6px 0 20px}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--green-700);flex-shrink:0}
.consent a{color:var(--green-700);text-decoration:underline}
.form-card .btn{width:100%;justify-content:center}
.form-note{font-size:.78rem;color:var(--ink-500);text-align:center;margin-top:12px}
.form-success{display:none;text-align:center;padding:18px 8px}
.form-success.show{display:block}
.form-success .fs-ic{width:56px;height:56px;border-radius:50%;background:var(--green-100);color:var(--green-700);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.form-success h3{margin-bottom:8px}
.form-success p{color:var(--ink-700);font-size:.95rem}
.form-card.sent .form-inner{display:none}

/* ---------- Responsive ---------- */
@media (max-width:920px){
  .pricing{grid-template-columns:1fr;gap:16px}
}
@media (max-width:860px){
  .hero-conv .hc-grid{grid-template-columns:1fr;gap:32px}
  .hero-conv .hc-media{order:-1}
  .hero-conv .hc-media .media{aspect-ratio:16/11}
  .confronto{grid-template-columns:1fr}
  .form-band .fb-grid{grid-template-columns:1fr;gap:30px}
}

/* ============================================================
   Occhielli + didascalie in MONTSERRAT (solo questa pagina).
   I numeri/prezzi (.importo) restano in mono: lì il monospace ha senso.
   ============================================================ */
.eyebrow,
.hl-trust,
.pc-kicker,
.cond-row .ii-lab,
.field label,
.sec-cta,
.cmp-head .cmp-c,
.cmp-legend .lg,
.st,
.importo,
.form-band .fb-addr{
  font-family:"Montserrat",system-ui,sans-serif;
}
.cmp-row .cmp-c:not(.cmp-svc)::before{font-family:"Montserrat",system-ui,sans-serif}

/* ============================================================
   LEVE DI CONVERSIONE — aggiunta (rimovibile in blocco)
   eb-* : banner early-bird (nel listino)
   od-* : pannello open day
   sicurezza riusa il componente .dato di homepage.css
   ============================================================ */

/* ---- Early bird banner ---- */
.eb-banner{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(20px,2.6vw,34px);
  margin-top:30px;padding:26px clamp(24px,3vw,38px);
  background:linear-gradient(150deg,var(--green-800),var(--green-900));
  color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);
  position:relative;overflow:hidden;
}
.eb-ic{
  width:56px;height:56px;flex-shrink:0;border-radius:var(--radius-md);
  background:rgba(255,255,255,.1);color:var(--orange-400);
  display:flex;align-items:center;justify-content:center;
}
.eb-ic svg{width:28px;height:28px}
.eb-kicker{
  font-family:var(--font-mono);font-size:.66rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--orange-400);
}
.eb-banner h3{
  font-family:var(--font-display);font-weight:600;color:#fff;
  font-size:clamp(1.16rem,1.7vw,1.4rem);line-height:1.2;margin-top:6px;
}
.eb-banner p{
  margin-top:10px;color:rgba(255,255,255,.9);font-size:.97rem;line-height:1.58;max-width:66ch;
}
.eb-banner .hl{color:var(--orange-400);font-weight:600}
.eb-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;
  height:46px;padding:0 22px;border-radius:var(--radius-pill);
  font-family:var(--font-body);font-weight:600;font-size:.92rem;
  background:var(--orange-500);color:#fff;border:1.5px solid var(--orange-500);
  transition:background .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease);
}
.eb-cta:hover{background:var(--orange-600);border-color:var(--orange-600);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.eb-cta .arr{transition:transform .25s var(--ease)}
.eb-cta:hover .arr{transform:translateX(3px)}

/* ---- Open day ---- */
.od-panel{
  display:grid;grid-template-columns:1fr auto;align-items:center;
  gap:clamp(24px,3.5vw,48px);
  margin-top:36px;padding:clamp(26px,3vw,42px);
  background:var(--bg-elevated);border:1px solid var(--rule-strong);
  border-radius:var(--radius-xl);box-shadow:var(--shadow-md);
  position:relative;overflow:hidden;
}
.od-panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--orange-500)}
.od-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:50px;height:50px;border-radius:var(--radius-md);
  background:var(--orange-100);color:var(--orange-600);margin-bottom:14px;
}
.od-ic svg{width:26px;height:26px}
.od-copy h3{font-family:var(--font-display);font-weight:600;font-size:clamp(1.18rem,1.7vw,1.45rem);color:var(--ink-900);line-height:1.2}
.od-copy p{margin-top:10px;color:var(--ink-700);font-size:.98rem;line-height:1.6;max-width:60ch}
.od-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.od-chip{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-mono);font-size:.65rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--green-800);background:var(--green-50);border:1px solid var(--green-100);
  border-radius:var(--radius-pill);padding:7px 14px;
}
.od-chip svg{width:14px;height:14px;flex-shrink:0}
.od-chip.urgent{color:var(--terracotta-700);background:var(--orange-100);border-color:var(--orange-400)}
.od-action{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:230px}
.od-action .btn{width:100%}
.od-action .od-hint{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;color:var(--ink-500);text-align:center}

@media (max-width:820px){
  .eb-banner{grid-template-columns:auto 1fr;gap:20px 22px}
  .eb-banner .eb-cta{grid-column:1 / -1;justify-self:start;margin-top:4px}
  .od-panel{grid-template-columns:1fr;gap:24px}
  .od-action{min-width:0}
}
@media (max-width:520px){
  .eb-banner{grid-template-columns:1fr}
  .eb-ic{margin-bottom:2px}
}
/* ============================================================
   FINE LEVE DI CONVERSIONE
   ============================================================ */
