/* ── Nel foglio principale c'e' una regola che centra ogni titolo e ogni
      paragrafo del sito, scritta con tre :not(#) per vincere su tutto.
      Nelle sezioni nuove serve l'allineamento a sinistra, quindi qui
      uso la stessa arma con un colpo in piu'. Il resto del sito non si
      accorge di niente. ── */
html body:not(#_):not(#__):not(#___):not(#____) .vv
:is(.vv-h2,.vv-lede,.vv-col h3,.vv-col li,.vv-after,.vv-q summary,.vv-q-a,.vv-note,
    .vv-spec dt,.vv-spec dd,.vv-price,.vv-price small,.vv-fact b,.vv-fact span,
    .vv-eye,.vv-p-when,.vv-p-name,.vv-p-n,.vv-p-go,.vv-not,.vv-keep p,.vv-keep small)
{text-align:left !important;text-align-last:left !important;justify-content:flex-start !important}

/* La lista e la chiusura erano centrate. Erano le ultime due sezioni della
   pagina, cioe' proprio quelle dove si chiede qualcosa al lettore, e
   rompevano l'asse costruito da tutte le altre. Adesso seguono la stessa
   riga verticale: vedi assets/vae-axis.css. */
html body:not(#_):not(#__):not(#___):not(#____) .vv:is(.vv-end,.vv-list)
:is(.vv-h2,.vv-lede,.vv-eye,.vv-star,.vv-fine,.vv-nl,.vv-keep p)
{text-align:left !important;text-align-last:left !important;justify-content:flex-start !important}

html body:not(#_):not(#__):not(#___):not(#____) .vv .vv-act{justify-content:flex-start !important}
html body:not(#_):not(#__):not(#___):not(#____) .vv:is(.vv-end,.vv-list) .vv-act{justify-content:flex-start !important}
/* le liste non devono ereditare i puntini o i margini del foglio vecchio */
html body:not(#_):not(#__):not(#___):not(#____) .vv .vv-col ul{list-style:none !important;padding-left:0 !important;margin:0 !important}
html body:not(#_):not(#__):not(#___):not(#____) .vv .vv-spec{margin:0 !important}

/* ===== Le sezioni nuove. Prefisso vv- per non toccare niente di esistente. ===== */
  .vv{padding:clamp(76px,10vw,148px) var(--pad);position:relative}
  .vv-in{max-width:1080px;margin:0 auto}
  .vv-rule{max-width:1080px;margin:0 auto;height:1px;background:var(--line);position:relative}
  .vv-rule::before{content:"";position:absolute;left:0;top:0;width:38px;height:1px;background:#e12c4f}

  .vv-eye{font-family:var(--mono);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;
    color:rgba(163,157,184,.9);margin:0 0 clamp(20px,3vw,32px);display:block}
  .vv-eye i{font-style:normal;color:#e12c4f;margin-right:.7em}

  .vv-h2{font-family:var(--disp);font-weight:300;font-size:clamp(2.05rem,4.5vw,3.35rem);
    line-height:1.1;letter-spacing:-.012em;color:var(--haze);max-width:20ch}
  .vv-h2 em{font-style:italic;color:#e2dcf0}
  .vv-lede{font-family:var(--sans);font-weight:300;font-size:clamp(1rem,1.5vw,1.1rem);
    line-height:1.75;color:rgba(238,236,246,.7);max-width:58ch;margin-top:1.5em}

  /* --- azioni: nessuna pillola, solo un rettangolo e una parola --- */
  .vv-act{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(16px,3vw,34px);margin-top:clamp(30px,4vw,44px)}
  .vv-btn{display:inline-block;padding:.85em 2.1em;border:1px solid #e12c4f;color:#e12c4f;
    font-family:var(--mono);font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
    text-decoration:none;border-radius:3px;transition:background .25s,color .25s}
  .vv-btn:hover,.vv-btn:focus-visible{background:#e12c4f;color:#fff}
  .vv-link{font-family:var(--sans);font-size:.94rem;color:rgba(238,236,246,.62);text-decoration:none;
    border-bottom:1px solid rgba(190,178,222,.28);padding-bottom:2px;transition:color .25s,border-color .25s}
  .vv-link:hover,.vv-link:focus-visible{color:var(--haze);border-color:#e12c4f}

  /* --- due colonne: chi sì, chi no --- */
  .vv-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,86px);margin-top:clamp(38px,5vw,60px)}
  .vv-col h3{font-family:var(--mono);font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;
    font-weight:500;color:var(--haze);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:22px}
  .vv-col.no h3{color:rgba(163,157,184,.75)}
  .vv-col ul{list-style:none;margin:0;padding:0}
  .vv-col li{font-family:var(--sans);font-weight:300;font-size:1rem;line-height:1.6;
    color:rgba(238,236,246,.76);padding:0 0 0 24px;margin-bottom:1.05em;position:relative}
  .vv-col li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:#e12c4f}
  .vv-col.no li{color:rgba(238,236,246,.5)}
  .vv-col.no li::before{background:rgba(163,157,184,.5)}
  .vv-after{margin-top:clamp(34px,4vw,48px);font-family:var(--disp);font-size:clamp(1.15rem,2vw,1.5rem);
    font-style:italic;font-weight:300;line-height:1.5;color:rgba(238,236,246,.82);max-width:46ch}

  /* --- le sette pratiche --- */
  .vv-pr{margin-top:clamp(34px,5vw,54px);border-top:1px solid var(--line)}
  .vv-p{display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:clamp(14px,3vw,30px);
    padding:clamp(20px,2.6vw,28px) 0;border-bottom:1px solid var(--line);
    text-decoration:none;color:inherit;transition:padding-left .3s}
  .vv-p:hover,.vv-p:focus-visible{padding-left:12px}
  .vv-p-n{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;color:rgba(163,157,184,.6);transition:color .3s}
  .vv-p:hover .vv-p-n{color:#e12c4f}
  .vv-p-when{font-family:var(--disp);font-weight:300;font-size:clamp(1.3rem,2.6vw,1.85rem);
    line-height:1.25;color:var(--haze)}
  .vv-p-name{display:block;font-family:var(--sans);font-weight:300;font-size:.84rem;letter-spacing:.02em;
    color:rgba(163,157,184,.85);margin-top:.5em}
  .vv-p-go{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(163,157,184,.45);white-space:nowrap;transition:color .3s}
  .vv-p:hover .vv-p-go{color:#e12c4f}
  .vv-note{margin-top:clamp(24px,3vw,32px);font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;
    text-transform:uppercase;color:rgba(163,157,184,.62)}

  /* --- l'offerta --- */
  .vv-offer{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,88px);align-items:start}
  .vv-spec{margin:0;border-top:1px solid var(--line)}
  .vv-spec div{display:grid;grid-template-columns:112px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}
  .vv-spec dt{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
    color:rgba(163,157,184,.75);padding-top:.28em}
  .vv-spec dd{margin:0;font-family:var(--sans);font-weight:300;font-size:.98rem;line-height:1.6;color:rgba(238,236,246,.82)}
  .vv-price{font-family:var(--disp);font-weight:300;font-size:clamp(2.1rem,4vw,2.9rem);
    color:var(--haze);line-height:1;letter-spacing:-.01em}
  .vv-price small{font-family:var(--mono);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
    color:rgba(163,157,184,.7);display:block;margin-bottom:.9em;letter-spacing:.24em}
  .vv-not{margin-top:clamp(30px,4vw,42px);padding-left:20px;border-left:1px solid rgba(225,44,79,.45);
    font-family:var(--sans);font-weight:300;font-size:.96rem;line-height:1.7;color:rgba(238,236,246,.66);max-width:52ch}

  /* --- chi sono, con i numeri --- */
  .vv-facts{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);margin-top:clamp(34px,4vw,48px);
    padding-top:clamp(26px,3vw,34px);border-top:1px solid var(--line)}
  .vv-fact b{display:block;font-family:var(--disp);font-weight:300;font-size:clamp(1.7rem,3vw,2.3rem);
    color:var(--haze);line-height:1}
  .vv-fact span{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.24em;
    text-transform:uppercase;color:rgba(163,157,184,.7);margin-top:.75em}

  /* --- domande --- */
  .vv-q{border-top:1px solid var(--line);margin-top:clamp(34px,4vw,52px)}
  .vv-q details{border-bottom:1px solid var(--line)}
  .vv-q summary{list-style:none;cursor:pointer;padding:clamp(19px,2.4vw,25px) 42px clamp(19px,2.4vw,25px) 0;
    position:relative;font-family:var(--disp);font-weight:300;font-size:clamp(1.15rem,2.2vw,1.5rem);
    color:var(--haze);transition:color .25s}
  .vv-q summary::-webkit-details-marker{display:none}
  .vv-q summary:hover{color:#f3f1fa}
  .vv-q summary::after{content:"";position:absolute;right:8px;top:50%;width:11px;height:1px;
    background:#e12c4f;transition:transform .3s}
  .vv-q summary::before{content:"";position:absolute;right:13px;top:50%;width:1px;height:11px;
    background:#e12c4f;margin-top:-5px;transition:opacity .3s,transform .3s}
  .vv-q details[open] summary::before{opacity:0;transform:rotate(90deg)}
  .vv-q-a{font-family:var(--sans);font-weight:300;font-size:.99rem;line-height:1.78;
    color:rgba(238,236,246,.7);max-width:62ch;padding:0 0 clamp(24px,3vw,30px)}

  /* --- la chiusura --- */
  .vv-end{text-align:left}
  .vv-end .vv-h2{max-width:24ch;margin:0;font-size:clamp(1.9rem,4.3vw,3.1rem)}
  .vv-end .vv-lede{margin-left:0;margin-right:0;text-align:left}
  .vv-end .vv-act{justify-content:flex-start}
  .vv-star{color:#e12c4f;font-family:var(--disp);font-size:1.6rem;display:block;margin-bottom:clamp(26px,4vw,38px)}

  /* --- la nota che appare quando tieni delle domande --- */
  .vv-keep{max-width:46ch;margin:clamp(26px,4vw,38px) 0 0;padding:22px 24px;
    border:1px solid var(--line);border-radius:4px;background:rgba(255,255,255,.018);text-align:left;display:none}
  .vv-keep.on{display:block;animation:vvIn .5s ease both}
  @keyframes vvIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  .vv-keep p{font-family:var(--sans);font-weight:300;font-size:.94rem;line-height:1.6;
    color:rgba(238,236,246,.78);margin:0 0 14px}
  .vv-keep p b{font-weight:400;color:#e12c4f}
  .vv-keep form{display:flex;gap:9px;flex-wrap:wrap}
  .vv-keep input{flex:1 1 170px;min-width:0;background:rgba(255,255,255,.03);border:1px solid var(--line);
    border-radius:3px;padding:.78em .95em;color:var(--haze);font-family:var(--sans);font-size:.92rem}
  .vv-keep input:focus{outline:none;border-color:rgba(225,44,79,.7)}
  .vv-keep button{background:none;border:1px solid #e12c4f;color:#e12c4f;border-radius:3px;
    padding:.78em 1.5em;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
    cursor:pointer;transition:background .25s,color .25s}
  .vv-keep button:hover{background:#e12c4f;color:#fff}
  .vv-keep small{display:block;margin-top:11px;font-family:var(--sans);font-size:.79rem;color:rgba(163,157,184,.75)}

  /* --- la lista in fondo --- */
  .vv-list{text-align:left}
  .vv-list .vv-h2{max-width:22ch;margin:0}
  .vv-list .vv-lede{margin:1.3em 0 0;text-align:left}
  .vv-nl{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;max-width:470px;margin:clamp(28px,4vw,38px) 0 0}
  .vv-nl input{flex:1 1 210px;min-width:0;background:rgba(255,255,255,.03);border:1px solid var(--line);
    border-radius:3px;padding:.9em 1.05em;color:var(--haze);font-family:var(--sans);font-size:.96rem}
  .vv-nl input:focus{outline:none;border-color:rgba(225,44,79,.7)}
  .vv-nl button{background:none;border:1px solid #e12c4f;color:#e12c4f;border-radius:3px;
    padding:.9em 1.9em;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
    cursor:pointer;transition:background .25s,color .25s}
  .vv-nl button:hover{background:#e12c4f;color:#fff}
  .vv-fine{margin-top:16px;font-family:var(--sans);font-size:.82rem;color:rgba(163,157,184,.75)}

  /* --- secondo link nell'hero --- */
  .ap-alt{display:inline-block;margin-left:clamp(14px,2.5vw,26px);font-family:var(--sans);font-size:.92rem;
    color:rgba(238,236,246,.6);text-decoration:none;border-bottom:1px solid rgba(190,178,222,.28);padding-bottom:2px}
  .ap-alt:hover{color:var(--haze);border-color:#e12c4f}

  @media(max-width:860px){
    .vv-cols,.vv-offer{grid-template-columns:1fr}
    .vv-p{grid-template-columns:38px 1fr;gap:14px}
    .vv-p-go{display:none}
    .vv-h2{max-width:none}
    .ap-alt{display:block;margin:16px 0 0}
  }
  @media(prefers-reduced-motion:reduce){
    .vv-p,.vv-keep.on{transition:none;animation:none}
  }
