/* =========================================================
   MY LAST RIGHT — pagina donazioni (stessa estetica screenprint)
   Riusa i token e le globali di style.css/pages.css (.page-hero,
   .band, .btn, .sbtn, .ty…): qui solo il modulo e la ricevuta.
   ========================================================= */

/* ---------- hero ---------- */
.donate-hero{padding-bottom:clamp(44px,6vw,72px)}
.donate-trust{
  list-style:none;margin:clamp(22px,3vw,30px) 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:10px 22px;
  font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(235,226,206,.85);
}
.donate-trust li{display:inline-flex;align-items:center;gap:8px}
.donate-trust span{color:var(--yellow)}
.donate-flag{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-top:22px;
  padding:12px 14px;border:2.5px solid rgba(235,226,206,.35);
  font-family:var(--mono);font-size:12px;line-height:1.45;letter-spacing:.02em;max-width:720px;
}
.donate-flag span{width:10px;height:10px;background:var(--coral);box-shadow:0 0 0 4px rgba(79,176,214,.2)}
.donate-flag strong{text-transform:uppercase;letter-spacing:.09em;color:var(--coral)}
.donate-flag--warn{border-color:var(--yellow);color:var(--kraft)}
.donate-flag--warn span{background:var(--yellow);box-shadow:0 0 0 4px rgba(242,197,61,.22)}

/* ---------- hero a due colonne: testo + contatore raccolta ---------- */
.donate-hero--counter .wrap{display:grid;grid-template-columns:1fr;gap:clamp(26px,4vw,48px);align-items:center}
@media(min-width:900px){ .donate-hero--counter .wrap{grid-template-columns:1.1fr .9fr} }
.dcount{
  background:var(--kraft);color:var(--ink);border:3px solid var(--ink);
  box-shadow:7px 7px 0 var(--coral);padding:clamp(18px,3vw,26px);max-width:520px;width:100%;
}
.dcount__top{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.dcount__num{
  font-family:var(--stencil);font-weight:900;font-size:clamp(44px,6vw,72px);line-height:1;
  letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
.dcount__lbl{font-family:var(--mono);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;line-height:1.4}
.dcount__bar{margin-top:14px;height:16px;border:2.5px solid var(--ink);background:var(--paper);overflow:hidden}
.dcount__bar i{
  display:block;height:100%;width:0;
  background:repeating-linear-gradient(45deg,var(--ink) 0 9px,var(--coral-d) 9px 18px);
  background-size:25.46px 25.46px;animation:stripes 1.6s linear infinite;
  transition:width 1.4s var(--ease-snap);
}
.dcount__meta{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:11px;
  border-top:2.5px solid var(--ink);font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
}
.dcount__meta strong{color:var(--coral-d)}
.dcount__donors{margin:10px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:#2A323A}
@media(prefers-reduced-motion:reduce){ .dcount__bar i{animation:none;transition:none} }

/* ---------- thank-you della firma: invito a donare ---------- */
.ty-donate{
  margin:clamp(28px,4.6vw,42px) auto 0;max-width:560px;
  background:var(--kraft);border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);
  padding:clamp(22px,4vw,32px);
}
.ty-donate__kick{margin:0;font-family:var(--stencil);font-weight:900;font-size:30px;line-height:1;color:var(--coral-d)}
.ty-donate__h{font-family:var(--stencil);font-weight:900;text-transform:uppercase;font-size:clamp(28px,6vw,44px);line-height:.92;margin:8px 0 0;color:var(--ink)}
.ty-donate__p{margin:12px 0 18px;font:500 clamp(15px,3.6vw,16.5px)/1.55 var(--arch);color:#2A323A}

/* ---------- impaginazione ---------- */
.donate-workspace{padding-top:clamp(38px,6vw,72px)}
.donate-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,370px);gap:clamp(28px,5vw,72px);align-items:start}
.donation-form{min-width:0}
.donate-step{padding:0 0 clamp(34px,5vw,56px);margin-bottom:clamp(30px,4.6vw,48px);border-bottom:3px solid var(--ink)}
.donate-step--last{border-bottom:0;margin-bottom:0;padding-bottom:clamp(22px,3vw,34px)}
.donate-step__head{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:22px}
.donate-step__no{
  display:grid;place-items:center;width:42px;height:42px;
  background:var(--ink);color:var(--kraft);font:700 13px/1 var(--mono);letter-spacing:.08em;
  box-shadow:4px 4px 0 var(--coral);
}
.donate-step h2,.donate-summary h2{
  font-family:var(--stencil);font-size:clamp(28px,4.2vw,46px);font-weight:900;line-height:.95;
  text-transform:uppercase;letter-spacing:.01em;
}
.donate-step__sub{margin:8px 0 0;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--coral-d)}
.field-help{margin-top:14px;max-width:64ch;color:#52616b;font:400 12.5px/1.55 var(--mono)}

/* ---------- 01 · importi: schede grandi, la cifra è il titolo ---------- */
.amount-grid{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.amount-option{position:relative;cursor:pointer;min-width:0;display:flex}   /* flex: le schede di una riga hanno tutte la stessa altezza */
.amount-option input{position:absolute;opacity:0;pointer-events:none}
.amount-option__box{
  min-height:118px;flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;gap:10px;
  padding:14px 14px 12px;border:3px solid var(--ink);background:var(--paper);color:var(--ink);
  transition:background .16s,color .16s,transform .14s var(--ease-snap),box-shadow .14s var(--ease-snap);
}
.amount-option__num{font:900 clamp(26px,3.4vw,40px)/1 var(--stencil);letter-spacing:.01em;white-space:nowrap}
.amount-option__desc{font:500 12.5px/1.35 var(--arch);color:#2A323A}
.amount-option:hover .amount-option__box{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.amount-option input:focus-visible+.amount-option__box{outline:3px solid var(--coral-d);outline-offset:3px}
.amount-option input:checked+.amount-option__box{background:var(--ink);color:var(--kraft);box-shadow:5px 5px 0 var(--coral);transform:translate(-2px,-2px)}
.amount-option input:checked+.amount-option__box .amount-option__desc{color:rgba(235,226,206,.8)}
.amount-option--custom .amount-option__num{color:var(--coral-d)}
.amount-option input:checked+.amount-option__box .amount-option__num{color:inherit}
.custom-amount{max-width:280px;margin-top:18px}
.custom-amount[hidden]{display:none!important}
.custom-amount>label{display:block;margin-bottom:8px;font:700 12px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.money-input{display:grid;grid-template-columns:48px 1fr;border:3px solid var(--ink);background:#fff;box-shadow:4px 4px 0 var(--ink)}
.money-input b{display:grid;place-items:center;border-right:2.5px solid var(--ink);background:var(--kraft);font:900 22px/1 var(--stencil)}
.money-input input{
  width:100%;min-height:54px;padding:10px 14px;border:0;border-radius:0;background:#fff;color:var(--ink);
  font:700 22px/1 var(--stencil);letter-spacing:.02em;outline:none;-moz-appearance:textfield;
}
.money-input input::-webkit-outer-spin-button,.money-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.money-input:focus-within{outline:3px solid var(--coral-d);outline-offset:2px}
.custom-amount .field-help{margin-top:10px}

/* ---------- 02 · dati ---------- */
.donate-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.donate-field{display:grid;gap:8px;font:700 12px/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.donate-field--wide{grid-column:1/-1}
.donate-field input,.donate-field select{
  width:100%;min-height:54px;padding:12px 14px;border:3px solid var(--ink);border-radius:0;
  background:#fff;color:var(--ink);font:500 16px/1.2 var(--arch);   /* ≥16px: niente zoom su iOS */
  -webkit-appearance:none;appearance:none;letter-spacing:0;text-transform:none;
  transition:box-shadow .12s var(--ease-snap);
}
.donate-field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='10'><path d='M1 1l6 7 6-7' fill='none' stroke='%2312181C' stroke-width='2'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer;
}
.donate-field input:focus,.donate-field select:focus{outline:3px solid var(--coral-d);outline-offset:2px;box-shadow:4px 4px 0 var(--ink)}
.donate-field.is-invalid input{box-shadow:3px 3px 0 var(--coral-d);border-color:var(--coral-d)}

/* ---------- 03 · metodi ---------- */
.payment-methods{border:0;padding:0;margin:0;display:grid;gap:12px}
.payment-method{
  position:relative;display:grid;grid-template-columns:72px 1fr 24px;gap:14px;align-items:center;
  padding:16px;border:3px solid var(--ink);background:var(--paper);cursor:pointer;
  transition:transform .14s var(--ease-snap),box-shadow .14s var(--ease-snap),background .16s;
}
.payment-method:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.payment-method:has(input:checked){background:#fff;box-shadow:5px 5px 0 var(--coral);transform:translate(-2px,-2px)}
.payment-method input{position:absolute;opacity:0;width:1px;height:1px}
.payment-method:has(input:focus-visible){outline:3px solid var(--coral-d);outline-offset:3px}
.payment-method.is-off{opacity:.55;cursor:not-allowed}
.payment-method.is-off:hover{transform:none;box-shadow:none}
/* icone disegnate: carta, wordmark PayPal, banca; ombra offset come i bottoni */
.payment-method__mark{display:block;width:64px;height:40px}
.pm-icon{display:block;width:64px;height:40px;overflow:visible;filter:drop-shadow(2.5px 2.5px 0 var(--ink))}
.payment-method.is-off .pm-icon{filter:grayscale(1) drop-shadow(2.5px 2.5px 0 var(--ink))}
/* marchi accettati sotto la descrizione: Visa, Mastercard, Amex; SEPA e IBAN per il bonifico */
.pm-brands{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:7px}
.pm-brand{display:block;height:22px;width:44px;flex:none}
.pm-brand--wide{width:58px}
.pm-brand--txt{
  width:auto;padding:0 7px;border:1.5px solid #C9D3DA;border-radius:3px;background:#fff;
  font:900 9.5px/19px var(--arch);letter-spacing:.08em;color:#10298E;
}
.payment-method__copy{display:grid;gap:4px;min-width:0}
.payment-method__copy strong{font:800 17px/1.15 var(--arch)}
.payment-method__copy small{color:#52616b;font:400 11.5px/1.45 var(--mono)}
.payment-method__tick{width:20px;height:20px;border:2.5px solid var(--ink);background:#fff}
.payment-method input:checked~.payment-method__tick{background:var(--ink);box-shadow:inset 0 0 0 4px var(--coral)}

/* ---------- consenso e invio ---------- */
.donate-consent{display:grid;gap:18px;padding-top:clamp(18px,3vw,26px);border-top:3px solid var(--ink)}
.donate-check{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;font:500 14px/1.5 var(--arch)}
.donate-check input{appearance:none;-webkit-appearance:none;width:21px;height:21px;margin:1px 0 0;border:2.5px solid var(--ink);background:#fff;cursor:pointer;display:inline-grid;place-content:center}
.donate-check input:checked{background:var(--ink)}
.donate-check input:checked::after{content:"✔";color:var(--kraft);font:900 13px/1 var(--stencil)}
.donate-check input:focus-visible{outline:3px solid var(--coral-d);outline-offset:2px}
.donate-check a{color:inherit;text-decoration:underline;text-decoration-thickness:2px;font-weight:700}
.donate-actions{display:grid;gap:14px}
.donate-submit{width:100%;justify-content:center;min-height:60px;font-size:16px}
.donate-submit[disabled]{opacity:.58;cursor:not-allowed;filter:grayscale(.35);transform:none}
.donate-submit.is-busy{opacity:.75;cursor:progress}
.donate-submit[hidden]{display:none!important}   /* .btn è inline-flex: senza questa riga [hidden] non nasconde */
.paypal-zone[hidden]{display:none!important}
.paypal-zone{display:grid;gap:10px;padding:16px;border:3px solid var(--ink);background:var(--kraft);box-shadow:5px 5px 0 var(--ink)}
.paypal-zone__hint{margin:0;font:700 12px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.paypal-zone__buttons{min-height:48px}
.donate-error{margin:0;padding:12px 14px;border:3px solid var(--coral-d);background:#fff;color:var(--ink);font:600 14px/1.45 var(--arch);box-shadow:4px 4px 0 var(--coral-d)}
.donate-error[hidden]{display:none!important}
.donate-notice{margin:14px 0 0;padding:12px 14px;border:3px solid var(--yellow);background:#fff;color:var(--ink);font:600 14px/1.45 var(--arch);box-shadow:4px 4px 0 var(--yellow)}
.donate-notice[hidden]{display:none!important}
.donate-notice span{color:var(--coral-d);margin-right:6px}
.donate-fine{margin:0;font:400 12px/1.5 var(--mono);color:#52616b}
.donate-fine span{color:var(--coral-d)}

/* ---------- riepilogo (sticky, inchiostro) ---------- */
.donate-summary{position:sticky;top:104px;border:4px solid var(--ink);background:var(--ink);color:var(--kraft);padding:clamp(24px,3vw,34px);box-shadow:9px 9px 0 var(--coral)}
.donate-summary .kick{color:var(--coral);margin-bottom:8px}
.donate-summary h2{color:var(--kraft);font-size:clamp(30px,4vw,44px)}
.donate-summary__amount{
  margin:26px 0 22px;padding-bottom:20px;border-bottom:2px solid rgba(235,226,206,.35);
  font:900 clamp(56px,7.5vw,84px)/.85 var(--stencil);color:var(--coral);letter-spacing:.01em;
  font-variant-numeric:tabular-nums;transition:transform .16s var(--ease-snap);
}
.donate-summary__amount.is-bump{transform:translateY(-4px)}
.donate-summary dl{display:grid;gap:13px;margin:0}
.donate-summary dl div{display:flex;justify-content:space-between;gap:18px}
.donate-summary dt{font:400 10.5px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:rgba(235,226,206,.68)}
.donate-summary dd{margin:0;font:700 13.5px/1.35 var(--arch);text-align:right}
.donate-summary__trust{display:grid;grid-template-columns:26px 1fr;gap:10px;margin:24px 0 0;padding:18px 0;border-top:2px solid rgba(235,226,206,.35)}
.donate-summary__trust span{color:var(--coral);font-size:20px}
.donate-summary__trust p{margin:0;font:400 12.5px/1.5 var(--arch)}
.donate-summary__trust strong{display:block;margin-bottom:3px;font-size:14px}
.donate-summary__fine{margin-top:14px;color:rgba(235,226,206,.62);font:400 11px/1.5 var(--mono)}

/* ---------- ringraziamento ---------- */
.donate-ty .ty-inner{max-width:820px}
.ty-mark{display:block;font:900 clamp(72px,12vw,110px)/1 var(--stencil);color:var(--ink);transform:rotate(-8deg);text-shadow:5px 5px 0 rgba(255,255,255,.6)}
.bank-card{
  margin:clamp(24px,4vw,36px) auto 0;max-width:640px;text-align:left;
  background:var(--paper);border:4px solid var(--ink);box-shadow:9px 9px 0 var(--ink);
  padding:clamp(20px,3.4vw,30px);
}
.bank-card__kick{margin:0 0 14px;font:700 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coral-d)}
.bank-card__rows{margin:0;display:grid;border-top:2.5px solid var(--ink)}
.bank-card__rows div{display:grid;grid-template-columns:130px 1fr;gap:6px 16px;align-items:center;padding:11px 0;border-bottom:1.5px solid rgba(18,24,28,.25)}
.bank-card__rows dt{font:700 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#52616b}
.bank-card__rows dd{margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font:600 15px/1.4 var(--arch);overflow-wrap:anywhere}
.bank-card__rows code{font:700 15px/1.4 var(--mono);letter-spacing:.03em;background:transparent;border:0;padding:0}
.bank-card__ref{background:var(--kraft);margin:0 -10px;padding:11px 10px!important}
.bank-card__ref code{font-size:17px;color:var(--coral-d)}
.copy-btn{
  flex:none;min-height:32px;padding:0 10px;cursor:pointer;border-radius:0;
  font:700 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;
  background:#fff;color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);
  transition:transform .1s var(--ease-snap),box-shadow .1s var(--ease-snap),background .12s;
}
.copy-btn:hover{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.copy-btn.is-copied{background:var(--yellow)}
.bank-card__note{margin:16px 0 0;font:500 14px/1.55 var(--arch);color:#2A323A}
.bank-card__print{margin-top:16px}
@media print{
  .nav,.foot,.ty-share,.ty-cta,.a11y,.grain,.scroll-progress,.cookie-banner,.skip-link,.bank-card__print,.copy-btn{display:none!important}
  .ty{background:#fff;min-height:0}
  .bank-card{box-shadow:none}
}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .donate-layout{grid-template-columns:1fr}
  .donate-summary{position:static;box-shadow:6px 6px 0 var(--coral)}
}
@media(max-width:640px){
  .payment-method{grid-template-columns:60px 1fr 22px;gap:12px;padding:14px}
  .payment-method__mark,.pm-icon{width:54px;height:34px}
  .amount-grid{grid-template-columns:repeat(2,1fr)}
  .amount-option__box{min-height:104px}
  .donate-fields{grid-template-columns:1fr}
  .donate-field--wide{grid-column:auto}
  .donate-step__head{grid-template-columns:40px 1fr}
  .donate-step__no{width:36px;height:36px}
  .donate-summary{padding:24px}
  .bank-card__rows div{grid-template-columns:1fr;gap:4px}
  .bank-card__ref{margin:0 -8px;padding:11px 8px!important}
}
@media(prefers-reduced-motion:reduce){
  .amount-option__box,.payment-method,.donate-summary__amount,.copy-btn{transition:none}
}
html.a11y-motion .amount-option__box,html.a11y-motion .payment-method{transition:none}
