/* ══ Mira · stili con movimento nelle pagine di dono e nei moduli (body.pp-mv) ════════════
   Racconto, Calore, Griglia, Notte, Energia: la stessa struttura (_pp_layout.html, ramo
   look.mv) e la stessa card del modulo (donate.html, modulo.html), vestite da token diversi —
   caratteri, fondi, raggi, schede degli importi, frequenza, bottoni — più qualche variante
   propria di ogni stile. Si carica solo con queste grafiche (_pp_mv_head.html), dopo
   pubpage.css. I colori derivati dall'ente (--acc-text, --acc-ink, --btn-ink, --pop) arrivano
   da _mv_tokens; il movimento della pagina intera è static/stili/movimento.js. */

/* ── token: valori comuni, poi ogni stile ── */
.pp-mv{
  --ink:#171512;--ink-soft:#47423C;--muted:#6E6860;--line:rgba(23,21,18,.13);--line-strong:rgba(23,21,18,.24);
  --bg:#F7F5F1;--bg-2:#EFEAE2;--card:#FFFFFF;--ok:#0F8A56;
  --acc-text:var(--accent);--acc-ink:#fff;--btn-ink:#fff;--pop:#FFC31F;--pop-ink:#171512;
  --f-d:system-ui,sans-serif;--f-b:system-ui,sans-serif;--f-h:var(--f-d);
  --d-w:800;--d-ls:-.03em;--d-lh:.95;--d-var:normal;
  --r-card:24px;--r-tile:16px;--r-btn:999px;--r-field:12px;
  --sh:0 1px 2px rgba(23,21,18,.06),0 14px 34px -12px rgba(23,21,18,.18);
  --tile-bg:var(--bg);--tile-bd:var(--line-strong);--tile-on-bg:var(--ink);--tile-on-fg:#fff;--tile-on-num:var(--pop);
  --seg-bg:var(--bg-2);--seg-on:var(--ink);--seg-on-fg:#fff;
  --impact-bg:color-mix(in srgb,var(--accent) 10%,#fff);
  --ease:cubic-bezier(.16,1,.3,1);
  --font-d:var(--f-d);--font-t:var(--f-b);
  font-family:var(--f-b);background:var(--bg);color:var(--ink);text-rendering:optimizeLegibility}
/* Racconto: rivista. Grazie sottili, carta, filetti, angoli quasi vivi */
.pp-l-racconto{--f-d:'Instrument Serif Mira','Instrument Serif',Georgia,serif;--f-b:'Instrument Sans Mira','Instrument Sans',system-ui,sans-serif;
  --d-w:400;--d-ls:-.015em;--d-lh:.98;--bg:#F5F2EC;--bg-2:#ECE6DC;--card:#FBFAF7;--ink:#151413;--line:rgba(21,20,19,.14);--line-strong:rgba(21,20,19,.3);
  --r-card:6px;--r-tile:3px;--r-btn:3px;--r-field:3px;--sh:0 30px 60px -40px rgba(21,20,19,.45);
  --tile-bg:transparent;--tile-on-num:#fff;--impact-bg:var(--bg-2)}
/* Calore: morbido. Tondo e amichevole, tinte del colore dell'ente, note scritte a mano */
.pp-l-calore{--f-d:'Nunito Mira','Nunito',system-ui,sans-serif;--f-b:'Nunito Mira','Nunito',system-ui,sans-serif;--f-h:'Kalam Mira','Kalam',cursive;
  --d-w:900;--d-ls:-.025em;--bg:color-mix(in srgb,var(--accent) 6%,#FFFCF8);--bg-2:color-mix(in srgb,var(--accent) 12%,#FFF8F1);--card:#fff;--ink:#22201D;
  --r-card:32px;--r-tile:22px;--r-btn:999px;--r-field:16px;--sh:0 30px 60px -36px color-mix(in srgb,var(--accent) 45%,rgba(34,32,29,.5));
  --tile-bg:color-mix(in srgb,var(--accent) 5%,#fff);--tile-bd:color-mix(in srgb,var(--accent) 22%,#E9E2DA);--tile-on-bg:var(--accent);--tile-on-fg:var(--acc-ink);--tile-on-num:var(--acc-ink);
  --seg-bg:color-mix(in srgb,var(--accent) 12%,#fff);--seg-on:var(--accent);--seg-on-fg:var(--acc-ink);--impact-bg:color-mix(in srgb,var(--accent) 12%,#fff)}
/* Griglia: svizzero. Bianco e nero, filetti, angoli vivi, cifre tabellari */
.pp-l-griglia{--f-d:'Schibsted Mira','Schibsted Grotesk',system-ui,sans-serif;--f-b:'Schibsted Mira','Schibsted Grotesk',system-ui,sans-serif;
  --d-w:800;--d-ls:-.04em;--d-lh:.92;--bg:#fff;--bg-2:#F2F2F0;--card:#fff;--ink:#0D0D0D;--ink-soft:#333;--muted:#5E5E5E;--line:#E2E2E0;--line-strong:#0D0D0D;
  --r-card:0;--r-tile:0;--r-btn:0;--r-field:0;--sh:none;--tile-bg:#fff;--tile-bd:#0D0D0D;--tile-on-num:#fff;--seg-bg:#fff;--impact-bg:var(--bg-2)}
/* Notte: cinema. Fondo scuro, grazie alte e contrastate, vetro e luce del colore dell'ente */
.pp-l-notte{--f-d:'Bodoni Mira','Bodoni Moda',Didot,Georgia,serif;--f-b:'Inter Mira','Inter',system-ui,sans-serif;
  --d-w:600;--d-ls:-.02em;--d-lh:.96;--bg:#0C0C0E;--bg-2:#17171B;--card:rgba(255,255,255,.04);--ink:#F2EFEA;--ink-soft:#C9C4BC;--muted:#9A958E;
  --line:rgba(255,255,255,.12);--line-strong:rgba(255,255,255,.28);--r-card:22px;--r-tile:14px;--r-btn:12px;--r-field:12px;
  --sh:0 40px 90px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06);
  --tile-bg:rgba(255,255,255,.03);--tile-on-bg:var(--accent);--tile-on-fg:var(--acc-ink);--tile-on-num:var(--acc-ink);
  --seg-bg:rgba(255,255,255,.06);--seg-on:var(--ink);--seg-on-fg:#0C0C0E;--impact-bg:color-mix(in srgb,var(--accent) 18%,#0C0C0E);color-scheme:dark}
/* Energia: campagna. Grotesk audace, colori pieni, il «pop» complementare, ombre spostate */
.pp-l-energia{--f-d:'Bricolage Mira','Bricolage Grotesque',system-ui,sans-serif;--f-b:'Bricolage Mira','Bricolage Grotesque',system-ui,sans-serif;
  --d-w:800;--d-ls:-.035em;--d-lh:.9;--bg:#FAFAF6;--bg-2:#F0F0EA;--card:#fff;--ink:#121212;--line:rgba(18,18,18,.14);--line-strong:#121212;
  --r-card:28px;--r-tile:18px;--r-btn:999px;--r-field:14px;--sh:8px 8px 0 color-mix(in srgb,var(--accent) 30%,transparent);
  --tile-bg:#fff;--tile-bd:#121212;--tile-on-bg:var(--pop);--tile-on-fg:var(--pop-ink);--tile-on-num:var(--pop-ink);
  --seg-bg:#fff;--seg-on:#121212;--seg-on-fg:#fff;--impact-bg:color-mix(in srgb,var(--pop) 22%,#fff)}
.pp-mv.pub-embed{background:transparent}
.pp-mv ::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}
.pp-mv :focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.pp-mv :is(.pp-h1,.pp-card-t,.thx h1,.pp-mod-thx-t,.pp-goalrow b,.ppi-t,.ppi-org-txt b,.pp-tier b,.pp-mod-count-n,.lbl-q){font-family:var(--f-d);font-weight:var(--d-w);letter-spacing:var(--d-ls)}
.pp-mv .pp-eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-b);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.pp-mv .pp-eyebrow::before{width:8px;height:8px;border-radius:50%;background:var(--accent)}
/* accento del titolo: lo decide lo stile */
.pp-mv .mv-acc{color:var(--acc-text)}
.pp-mv .mv-acc-b{position:relative}
.pp-mv .mv-scribble{display:none}
.pp-l-racconto .mv-acc,.pp-l-notte .mv-acc{font-style:italic}
.pp-l-calore .mv-scribble{display:block;position:absolute;left:0;right:0;bottom:-.1em;width:100%;height:.24em;overflow:visible}
.pp-l-calore .mv-scribble path{fill:none;stroke:color-mix(in srgb,var(--accent) 45%,transparent);stroke-width:9;stroke-linecap:round}
.mv-js .pp-l-calore .mv-scribble path{stroke-dasharray:320;stroke-dashoffset:320;animation:mvf-draw 1.4s .8s var(--ease) forwards}
.pp-l-griglia .mv-acc{color:var(--muted)}
.pp-l-energia .mv-acc{color:inherit;background:linear-gradient(var(--pop),var(--pop)) no-repeat 0 88%/100% 38%;padding:0 .06em}
.mv-js .pp-l-energia .mv-acc{animation:mvf-mark 1s .5s var(--ease) both}

/* ── la pagina intera ── */
.ppc{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.ppc-in{width:100%;max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.ppc-top{position:sticky;top:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;width:calc(100% - 2 * clamp(10px,2.4vw,28px));max-width:1240px;min-height:58px;margin:12px auto 0;padding:7px 10px 7px 20px;
  background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid var(--line);border-radius:var(--r-btn);box-shadow:0 12px 32px -18px rgba(0,0,0,.25)}
.ppc-top .pp-logo{height:40px;max-width:170px;object-fit:contain;display:block}
.ppc-top .pp-orgname{font-family:var(--f-d);font-weight:var(--d-w);font-size:1.08rem;letter-spacing:-.01em}
.ppc-top .pp-secure{background:var(--bg-2);border-radius:var(--r-btn);padding:.45rem .85rem;color:var(--ink-soft);font-size:.78rem;font-weight:700}
.ppc-top .pp-secure svg{color:var(--ok)}
.ppc-hero{position:relative;overflow:clip;padding:clamp(36px,6vw,84px) 0 clamp(26px,4vw,48px)}
.ppc-glow{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:linear-gradient(#000 45%,transparent);mask-image:linear-gradient(#000 45%,transparent)}
.ppc-glow span{position:absolute;border-radius:50%;filter:blur(80px);opacity:.45}
.ppc-glow span:first-child{width:46vw;height:46vw;right:-10vw;top:-14vw;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 65%)}
.ppc-glow span:last-child{width:38vw;height:38vw;left:-14vw;bottom:-18vw;background:radial-gradient(circle,color-mix(in srgb,var(--pop) 30%,transparent),transparent 65%)}
.pp-l-racconto .ppc-glow,.pp-l-griglia .ppc-glow{display:none}
.ppc-intro{position:relative;z-index:1}
.mv-js .ppc-intro>*{animation:mvf-up 1.1s var(--ease) both}
.mv-js .ppc-intro>:nth-child(2){animation-delay:.08s}.mv-js .ppc-intro>:nth-child(3){animation-delay:.16s}
.ppc-intro .pp-h1{margin:22px 0 0;max-width:14ch;font-size:clamp(2.6rem,1.4rem + 4.6vw,6rem);line-height:var(--d-lh);text-wrap:balance}
.ppc-intro .pp-lead{margin-top:24px;max-width:46ch;color:var(--ink-soft);font-size:clamp(1.08rem,1rem + .45vw,1.3rem);line-height:1.5}
.ppc-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,3.4vw,48px);align-items:start;padding-bottom:clamp(40px,6vw,88px)}
.ppc-side{position:sticky;top:96px;display:grid;gap:22px;min-width:0}
.ppc-photo{position:relative;overflow:hidden;background:var(--bg-2);border-radius:var(--r-card);aspect-ratio:4/3}
.ppc-photo img{display:block;width:100%;height:100%;object-fit:cover}
.mv-js .ppc-photo img{animation:mvf-zoom 2.4s var(--ease) both}
@media (min-width:920px){.ppc .pp-card{top:96px}}
.ppc-side .pp-goal{margin:0;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.pp-mv .pp-goalbar{height:10px;background:var(--bg-2)}
.pp-mv .pp-goalfill{background:var(--accent)}
.pp-mv .pp-goalrow b{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);color:var(--acc-text)}
.pp-mv .pp-impact{margin:0;gap:10px}
.pp-mv .pp-impact-t{font-family:var(--f-b);letter-spacing:.14em;color:var(--ink-soft)}
.pp-mv .pp-tier{align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-tile);padding:12px 16px}
.pp-mv .pp-tier b{min-width:3.2em;text-align:center;padding:.3rem .6rem;border-radius:var(--r-tile);background:var(--impact-bg);color:var(--ink);font-size:1.15rem}
.pp-mv .pp-tier span{padding:0;font-size:.95rem;color:var(--ink)}
.ppc-side .pp-trust{display:grid;gap:8px;margin:0;padding-left:6px;font-size:.88rem;color:var(--ink-soft)}
.pp-mv .pp-trust svg{color:var(--ok)}
.pp-mv .pp-mod-count{max-width:none;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card)}
.pp-mv .pp-mod-count-n{font-size:clamp(2.4rem,1.8rem + 2vw,3.4rem);color:var(--acc-text)}
.pp-mv .pp-mod-story p{color:var(--ink-soft)}
.ppc-story{padding-top:clamp(8px,2vw,24px);padding-bottom:clamp(40px,6vw,80px)}
.ppc-story-in{max-width:780px}
.ppc-story-in p{font-size:clamp(1.05rem,1rem + .3vw,1.22rem);line-height:1.7;color:var(--ink-soft);margin-top:1.1em}
.ppc-story-in p:first-child{margin-top:0;font-family:var(--f-d);font-weight:var(--d-w);font-size:clamp(1.5rem,1.2rem + 1.4vw,2.3rem);line-height:1.15;letter-spacing:var(--d-ls);color:var(--ink)}
.ppc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding-bottom:clamp(40px,6vw,80px)}
.ppc-tiles .ppi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:22px 24px;color:var(--ink)}
.pp-mv .ppi-ic{background:var(--impact-bg);color:var(--ink);border-radius:var(--r-tile)}
.pp-mv .ppi-t{font-size:1.25rem}
.pp-mv .ppi-copy{border-radius:var(--r-btn);background:var(--card);color:var(--ink);border-color:var(--line-strong)}
.pp-mv .ppi-small{color:var(--muted)}
.pp-mv .ppi-org{margin-top:auto;padding:clamp(40px,6vw,72px) 0 28px;background:#111;color:rgba(255,255,255,.62);border-radius:var(--r-card) var(--r-card) 0 0}
.pp-l-notte .ppi-org{background:#000;border-top:1px solid var(--line)}
.pp-l-griglia .ppi-org{background:#0D0D0D}
.pp-mv .ppi-org-txt{color:rgba(255,255,255,.62);font-size:.86rem}
.pp-mv .ppi-org-txt b{color:#fff;font-size:clamp(1.7rem,1.1rem + 2.2vw,3rem);line-height:1;margin-bottom:.4rem}
.pp-mv .ppi-org-brand .pp-logo{background:#fff;padding:8px 14px;border-radius:12px}
.pp-mv .ppi-org-brand .pp-orgname{color:#fff}
.pp-mv:not(.pub-embed) .ppc>.pp-foot{margin:auto 0 0;padding:22px 16px 28px}
.pp-mv:not(.pub-embed) .ppi-org+.pp-foot{margin:0;background:#111;color:rgba(255,255,255,.5)}
.pp-l-notte:not(.pub-embed) .ppi-org+.pp-foot{background:#000}
.pp-l-griglia:not(.pub-embed) .ppi-org+.pp-foot{background:#0D0D0D}
.pp-mv .ppi-org+.pp-foot b{color:#fff}

/* ── la card del modulo ── */
.pp-mv .pp-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(22px,3vw,38px);box-shadow:var(--sh);color:var(--ink)}
body.pub-embed.pp-mv .pp-card{box-shadow:none}
/* incorporato in una Pagina con lo stesso stile: la card della pagina fa da cornice */
.pp-inpage.pp-mv .pp-card{background:transparent;border:0;box-shadow:none;padding:2px 2px 0;-webkit-backdrop-filter:none;backdrop-filter:none}
.pp-mv .pp-card:has(#steps)>.pp-card-t:not(h1){display:none}
.pp-mv .pp-card-t{font-size:clamp(1.4rem,1.2rem + .8vw,1.9rem);line-height:1.05}
.pp-mv .pp-card-s{font-size:.95rem;color:var(--muted)}
.pp-mv .steps{position:relative;justify-content:space-between;gap:6px;margin:0 0 24px;padding:0 0 16px}
.pp-mv .steps::before,.pp-mv .steps::after{content:"";position:absolute;left:0;bottom:0;height:3px;border-radius:3px}
.pp-mv .steps::before{right:0;background:var(--bg-2)}
.pp-mv .steps::after{width:33.4%;background:var(--accent);transition:width .7s var(--ease)}
.pp-mv .steps:has([data-s="2"].on)::after{width:66.7%}
.pp-mv .steps:has([data-s="3"].on)::after{width:100%}
.pp-mv .steps li{flex:0 1 auto;gap:8px;padding:0;border:0;font-size:.85rem;font-weight:700;color:var(--muted);transition:color .3s}
.pp-mv .steps li b{width:26px;height:26px;border:1.5px solid currentColor;background:transparent;color:inherit;font-family:var(--f-b);font-size:.78rem;transition:background .3s,color .3s,border-color .3s}
.pp-mv .steps li.on{color:var(--ink)}
.pp-mv .steps li.on b{background:var(--ink);border-color:var(--ink);color:var(--card)}
.pp-l-notte .steps li.on b{color:#0C0C0E}
.pp-mv .steps li.done{color:var(--ok)}
.pp-mv .steps li.done b{background:var(--ok);border-color:var(--ok);color:#fff}
.pp-mv .step.on{animation:mvf-in .6s var(--ease) both}
.pp-mv .lbl-q{display:block;margin:0 0 18px;font-size:clamp(1.45rem,1.2rem + 1.1vw,2.15rem);line-height:1.05;color:var(--ink)}
.pp-mv .step>.lbl:first-child{display:none}
.pp-mv #step1.on{display:flex;flex-direction:column}
.pp-mv #step1>.lbl-q{order:0}
.pp-mv #step1>.freq{order:1;margin:0 0 18px}
.pp-mv #step1>.upsell{order:2;margin:-6px 0 16px}
.pp-mv #step1>.ask-hi{order:-1;margin:0 0 16px}
.pp-mv .linkbtn{color:var(--acc-text)}
.pp-mv .ask-hi-t{font-family:var(--f-d);font-variation-settings:var(--d-var);font-weight:var(--d-w);letter-spacing:var(--d-ls)}
.pp-mv .ask-hi-t b{color:var(--acc-text)}
.pp-mv #step1>.amt-ask-wide{order:4}
.pp-mv #step1>.amts{order:5}
.pp-mv #step1>.custom{order:6}
.pp-mv #step1>.impact{order:7}
.pp-mv #step1>.stepnav{order:8}
.pp-mv #step1>.pp-paymarks{order:9}
/* frequenza: la scelta scivola sotto le due voci */
.pp-mv .freq{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:0;padding:5px;border:0;border-radius:var(--r-btn);background:var(--seg-bg)}
.pp-mv .freq::before{content:"";position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);border-radius:var(--r-btn);background:var(--seg-on);transition:transform .55s var(--ease)}
.pp-mv .freq:has(>button:nth-child(2).on)::before{transform:translateX(100%)}
.pp-mv .freq button,.pp-mv .freq button.on{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:var(--r-btn);background:transparent;box-shadow:none;font-family:var(--f-b);font-weight:700;font-size:.98rem;color:var(--ink);transition:color .4s}
.pp-mv .freq button.on{color:var(--seg-on-fg)}
.pp-mv .upsell{border-radius:var(--r-field);background:var(--bg-2);font-size:.88rem;color:var(--ink)}
/* importi */
.pp-mv .amts{grid-template-columns:repeat(4,1fr);gap:10px}
.pp-mv .amt{position:relative;display:flex;align-items:baseline;justify-content:center;gap:2px;height:84px;min-height:0;padding:22px 0 0;border:1.5px solid var(--tile-bd);border-radius:var(--r-tile);background:var(--tile-bg);
  font-family:var(--f-d);font-weight:var(--d-w);font-size:clamp(1.5rem,1.1rem + 1.6vw,2rem);line-height:1;letter-spacing:-.02em;color:var(--ink);box-shadow:none;
  transition:background .35s,border-color .35s,color .35s,transform .45s var(--ease),box-shadow .45s var(--ease)}
.pp-mv .amt-e{font-family:var(--f-b);font-weight:700;font-size:.5em;letter-spacing:0}
.pp-mv .amt:hover{transform:translateY(-3px);border-color:var(--ink)}
.pp-mv .amt.on{background:var(--tile-on-bg);border-color:var(--tile-on-bg);color:var(--tile-on-num);transform:translateY(-3px);box-shadow:0 16px 28px -16px rgba(0,0,0,.55);animation:mvf-pop .45s var(--ease)}
.pp-mv .amt.on .amt-e{color:var(--tile-on-fg)}
.pp-mv .amts .amt-ask::after{top:-11px;padding:3px 9px;border-radius:999px;background:var(--accent);color:var(--acc-ink);font-family:var(--f-b);font-size:.62rem;font-weight:800;letter-spacing:.06em}
.pp-mv .amt-ask-wide{height:auto;min-height:64px;padding:.7rem 1.1rem;align-items:center;justify-content:space-between;margin-bottom:10px}
.pp-mv .amt-ask-wide b{font-size:1.6rem}
@media (max-width:420px){.pp-mv .amts{grid-template-columns:repeat(2,1fr)}}
.pp-mv .custom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;height:64px;margin-top:10px;padding:0 20px;border:1.5px dashed var(--line-strong);border-radius:var(--r-tile);background:var(--tile-bg);transition:border-color .3s,background .3s,box-shadow .3s}
.pp-mv .custom::before{content:"Altro importo";font-size:.85rem;font-weight:700;color:var(--muted);white-space:nowrap}
.pp-mv .custom span{order:3;font-family:var(--f-b);font-weight:800;font-size:1.2rem;color:var(--ink)}
.pp-mv .custom input{order:2;min-width:0;padding:0;text-align:right;font-family:var(--f-d);font-weight:var(--d-w);font-size:1.7rem;color:var(--ink)}
.pp-mv .custom input::placeholder{color:transparent}
.pp-mv .custom:focus-within{border-style:solid;border-color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.pp-mv .impact{margin-top:14px;padding:14px 16px;border-radius:var(--r-field);background:var(--impact-bg);color:var(--ink);font-family:var(--f-d);font-weight:var(--d-w);font-size:1.12rem;line-height:1.3;letter-spacing:-.01em;animation:mvf-swap .5s var(--ease)}
.pp-mv .impact svg{color:var(--ok);margin-top:.22rem}
/* bottoni: il colore sale dal basso; «Continua con 30€ →» */
.pp-mv .btn{--bh:color-mix(in srgb,var(--cta) 80%,#000);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:60px;padding:0 1.6em;border:0;border-radius:var(--r-btn);
  background:var(--cta);color:var(--btn-ink);font-family:var(--f-b);font-weight:750;font-size:1.06rem;letter-spacing:-.005em;isolation:isolate;overflow:hidden;box-shadow:none;filter:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease),color .3s}
.pp-mv .btn::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--bh);transform:translateY(101%);transition:transform .5s var(--ease)}
.pp-mv .btn:hover::before{transform:translateY(0)}
.pp-mv .btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.45);filter:none}
.pp-mv .btn:active{transform:translateY(0) scale(.98)}
.pp-mv .btn:disabled{transform:none;box-shadow:none}
.pp-mv .btn.btn-ghost{--bh:var(--ink);background:transparent;color:var(--ink);border:0;box-shadow:inset 0 0 0 1.5px var(--ink);padding-inline:1.3rem}
.pp-mv .btn.btn-ghost:hover{color:var(--card)}
.pp-l-notte .btn.btn-ghost:hover{color:#0C0C0E}
.pp-mv .stepnav{margin-top:18px;gap:10px}
.pp-mv #next1{justify-content:flex-start}
.pp-mv .nx-a{display:none}
.pp-mv .nx-d{display:inline}
.pp-mv #next1 .amtlbl{font-weight:800;opacity:1}
.pp-mv .nx-arrow{display:inline-block;margin-left:auto;transition:transform .5s var(--ease)}
.pp-mv #next1:hover .nx-arrow{transform:translateX(4px)}
.pp-mv .pay .btn{width:100%}
.pp-mv .pp-paymarks{display:flex}
.pp-l-notte .pm{background:rgba(255,255,255,.92)}
/* i tuoi dati */
.pp-mv #step2.on{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.pp-mv #step2>*{grid-column:1/-1}
.pp-mv #step2>label:has(#dfld_first_name),.pp-mv #step2>label:has(#dfld_last_name){grid-column:auto}
.pp-mv .pp-mod-flbl{font-size:.85rem;font-weight:700;color:var(--ink)}
.pp-mv .fld input,.pp-mv .fld select{height:54px;padding:0 16px;border:1.5px solid var(--line-strong);border-radius:var(--r-field);background:var(--tile-bg);font-family:var(--f-b);color:var(--ink)}
.pp-mv .fld textarea{padding:14px 16px;border:1.5px solid var(--line-strong);border-radius:var(--r-field);background:var(--tile-bg);font-family:var(--f-b);color:var(--ink)}
.pp-mv .fld :is(input,select,textarea):focus{border-color:var(--ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent)}
.pp-mv .consent{font-size:.84rem;color:var(--muted)}
.pp-mv .pv-note{font-size:.8rem;color:var(--muted)}
.pp-mv .summary,.pp-mv .bank,.pp-mv .cover,.pp-mv .err{border-radius:var(--r-field)}
.pp-mv .summary{background:var(--bg-2);color:var(--ink)}
.pp-mv .summary b{font-family:var(--f-d);font-weight:var(--d-w);font-size:1.15rem}
.pp-mv .bank{background:var(--tile-bg);border-color:var(--line);color:var(--ink-soft)}
.pp-mv .bank b,.pp-mv .bank .row span:last-child{color:var(--ink)}
.pp-mv .lock,.pp-mv .ft{color:var(--muted)}
.pp-mv .lock svg{color:var(--ok)}
.pp-mv .ft{border-top-color:var(--line)}
.pp-mv .ft b{color:var(--ink)}
@media (max-width:520px){.pp-mv #step2.on{grid-template-columns:1fr}}
/* grazie */
.pp-mv .thx .ic{background:var(--accent);color:var(--acc-ink)}
.pp-mv .thx h1{font-size:clamp(2.4rem,1.8rem + 2.4vw,3.6rem);line-height:1;color:var(--acc-text);animation:mvf-stamp .7s cubic-bezier(.2,1.4,.4,1) .15s both}
.pp-mv .thx .desc{color:var(--muted)}
.pp-l-calore .thx h1{font-family:var(--f-h);font-weight:700;letter-spacing:0}
.pp-mv .pp-mod-thx-t{font-size:1.7rem;line-height:1.1}
.pp-mv .pp-chip{border-color:var(--line-strong);font-weight:700;background:var(--card);color:var(--ink);border-radius:var(--r-btn)}
.pp-mv .pp-chip:hover{background:var(--ink);border-color:var(--ink);color:var(--card)}
.pp-mv .pp-chip:hover svg{color:inherit}
.pp-mv .pp-mod-count--card{background:var(--impact-bg);border:0;border-radius:var(--r-tile);box-shadow:none}
.pp-mv .pp-sticky{background:color-mix(in srgb,var(--bg) 92%,transparent);border-top-color:var(--line)}

/* ══ varianti di ogni stile ══ */
/* Racconto: titoli con le grazie sottili, frequenza come schede sottolineate, importi su filetti */
.pp-l-racconto .ppc-hero{text-align:center}
.pp-l-racconto .ppc-intro .pp-h1{margin-left:auto;margin-right:auto;max-width:16ch;font-size:clamp(2.8rem,1.4rem + 5vw,6.6rem)}
.pp-l-racconto .ppc-intro .pp-lead{margin-left:auto;margin-right:auto}
.pp-l-racconto .ppc-intro .pp-eyebrow::before{width:28px;height:1px;border-radius:0;background:var(--ink)}
.pp-l-racconto .ppc-photo{border-radius:4px;aspect-ratio:4/5}
.pp-l-racconto .freq{padding:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:none}
.pp-l-racconto .freq::before{top:auto;bottom:-1px;left:0;width:50%;height:2px;border-radius:0;background:var(--ink)}
.pp-l-racconto .freq button,.pp-l-racconto .freq button.on{border-radius:0;font-weight:600;color:var(--muted)}
.pp-l-racconto .freq button.on{color:var(--ink)}
.pp-l-racconto .amt{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.4rem);border-width:1px}
.pp-l-racconto .amt.on{box-shadow:none}
.pp-l-racconto .impact{font-style:italic;font-size:1.25rem;border-left:2px solid var(--accent);border-radius:0;padding:10px 0 10px 16px;background:none}
.pp-l-racconto .lbl-q{font-size:clamp(1.8rem,1.4rem + 1.4vw,2.6rem)}
/* Calore: foto ad arco, frequenza a pillola nel colore dell'ente */
.pp-l-calore .ppc-photo{border-radius:999px 999px 32px 32px;aspect-ratio:1/1.08;box-shadow:0 40px 80px -36px rgba(34,32,29,.45)}
.pp-l-calore #freq button[data-f="month"]::before{content:"";flex:none;width:17px;height:17px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.6-3.7.6.6 0 0 0 .8 0A5.5 5.5 0 0 1 22 9.5c0 2.3-1.5 4-3 5.5l-5.5 5.3a2 2 0 0 1-3 0L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 9.5a5.5 5.5 0 0 1 9.6-3.7.6.6 0 0 0 .8 0A5.5 5.5 0 0 1 22 9.5c0 2.3-1.5 4-3 5.5l-5.5 5.3a2 2 0 0 1-3 0L5 15c-1.5-1.5-3-3.2-3-5.5'/%3E%3C/svg%3E") center/contain no-repeat}
.pp-l-calore .amt.on{box-shadow:0 18px 30px -16px color-mix(in srgb,var(--accent) 70%,transparent)}
.pp-l-calore .steps::before{height:6px;border-radius:6px}.pp-l-calore .steps::after{height:6px;border-radius:6px}
/* Griglia: importi in una tabella a filetti, tutto ad angoli vivi */
.pp-l-griglia .ppc-top{border-color:#0D0D0D;box-shadow:none}
.pp-l-griglia .ppc-intro .pp-h1{max-width:13ch;font-size:clamp(2.8rem,1.4rem + 5vw,6.4rem)}
.pp-l-griglia .ppc-photo{aspect-ratio:1/1;filter:grayscale(.15)}
.pp-l-griglia .pp-card{border:1.5px solid #0D0D0D}
.pp-l-griglia .amts{gap:0;border:1.5px solid #0D0D0D}
.pp-l-griglia .amt{border:0;border-right:1.5px solid #0D0D0D;height:76px;font-variant-numeric:tabular-nums}
.pp-l-griglia .amt:last-child{border-right:0}
.pp-l-griglia .amt:hover{transform:none;background:var(--bg-2)}
.pp-l-griglia .amt.on{transform:none;box-shadow:none}
.pp-l-griglia .freq{padding:0;border:1.5px solid #0D0D0D}
.pp-l-griglia .freq::before{top:0;bottom:0;left:0;width:50%}
.pp-l-griglia .custom{border-style:solid;border-width:1.5px}
.pp-l-griglia .steps::before,.pp-l-griglia .steps::after{border-radius:0;height:2px}
.pp-l-griglia .impact{border-left:4px solid var(--accent);font-weight:700}
@media (max-width:420px){.pp-l-griglia .amt:nth-child(2n){border-right:0}.pp-l-griglia .amt:nth-child(-n+2){border-bottom:1.5px solid #0D0D0D}}
/* Notte: vetro scuro, l'importo scelto si accende */
.pp-l-notte .ppc-top{background:rgba(12,12,14,.7)}
.pp-l-notte .ppc-intro .pp-h1{font-size:clamp(2.8rem,1.4rem + 5.2vw,6.8rem)}
.pp-l-notte .ppc-photo{border-radius:var(--r-card);box-shadow:0 40px 90px -30px color-mix(in srgb,var(--accent) 40%,rgba(0,0,0,.8))}
.pp-l-notte .pp-card{-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}
.pp-l-notte .amt.on{box-shadow:0 0 0 1px var(--accent),0 18px 40px -12px color-mix(in srgb,var(--accent) 70%,transparent)}
.pp-l-notte .amt:hover{border-color:var(--ink)}
.pp-l-notte .custom:focus-within,.pp-l-notte .fld :is(input,select,textarea):focus{background:rgba(255,255,255,.06)}
.pp-l-notte .ppc-glow span{opacity:.6}
/* incorporato in un sito qualsiasi (fondo chiaro o scuro): la scheda resta scura e piena */
.pp-l-notte.pub-embed:not(.pp-inpage) .pp-card{background:#111114;border:1px solid rgba(255,255,255,.12)}
/* Energia: schede con il bordo pieno, quella scelta ruota appena, colore «pop» */
.pp-l-energia .ppc-top{border:2px solid #121212;box-shadow:4px 4px 0 #121212}
.pp-l-energia .ppc-intro .pp-h1{font-size:clamp(2.8rem,1.4rem + 5.4vw,7rem);text-transform:none}
.pp-l-energia .ppc-photo{border:2.5px solid #121212;border-radius:var(--r-card);rotate:-2deg;box-shadow:10px 10px 0 var(--accent)}
.pp-l-energia .pp-card{border:2.5px solid #121212}
.pp-l-energia .amt{border-width:2px}
.pp-l-energia .amt.on{rotate:-3deg;box-shadow:4px 4px 0 #121212}
.pp-l-energia .freq{border:2px solid #121212;padding:4px}
.pp-l-energia .freq::before{top:4px;bottom:4px;left:4px;width:calc(50% - 4px)}
.pp-l-energia .btn{border:2px solid #121212;box-shadow:4px 4px 0 #121212}
.pp-l-energia .btn:hover{box-shadow:6px 6px 0 #121212}
.pp-l-energia .steps::after{background:var(--pop)}
.pp-l-energia .steps li.on b{background:var(--pop);border-color:#121212;color:var(--pop-ink)}

/* ── movimento (movimento.js): stati iniziali solo con lo script attivo ── */
.mv-js:not(.mv-still) .pp-mv :is(.ppc-side>*,.ppc-story-in>*,.ppc-tiles>*){opacity:0;transform:translateY(34px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
@media (max-width:919px){
  .ppc-grid{grid-template-columns:minmax(0,1fr)}
  .ppc-grid>.pp-cardcol{order:1}
  .ppc-side{position:static;order:2}
  .ppc-intro .pp-h1{max-width:12ch}
}
@media (max-width:480px){.ppc-top .pp-secure{display:none}}
@keyframes mvf-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes mvf-in{from{opacity:0;transform:translateX(24px)}}
@keyframes mvf-zoom{from{transform:scale(1.15)}}
@keyframes mvf-draw{to{stroke-dashoffset:0}}
@keyframes mvf-mark{from{background-size:0 38%}}
@keyframes mvf-pop{40%{scale:1.06}}
@keyframes mvf-swap{from{opacity:0;transform:translateY(6px)}}
@keyframes mvf-stamp{from{opacity:0;transform:scale(2.2) rotate(-6deg)}to{opacity:1;transform:rotate(-2deg)}}
