/* PennyWeb Core – prezzi, preventivatore, contatti. Usa le variabili del tema con valori di riserva. */
.pw-prices,.pw-quote,.pw-contactbox,.pw-contactform{
  --_p:var(--pw-primary,#3b5bff);--_a:var(--pw-accent,#ff7a45);--_d:var(--pw-dark,#0b1230);
  --_ink:var(--pw-ink,#101735);--_mute:var(--pw-muted,#5a6384);--_line:var(--pw-line,#e1e6f6);--_soft:var(--pw-soft,#f4f6ff);--_r:var(--pw-radius,18px);
  font-family:var(--pw-font-body,"Poppins",system-ui,sans-serif);color:var(--_ink)
}
/* ---------- schede prezzo ---------- */
.pw-prices{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.pw-price{position:relative;display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--_line);border-radius:var(--_r);padding:28px 26px;box-shadow:0 1px 2px rgba(16,23,53,.04),0 12px 32px -18px rgba(16,23,53,.18);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pw-price:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--_p) 40%,var(--_line));box-shadow:0 18px 44px -20px rgba(59,91,255,.35)}
.pw-price--featured{background:linear-gradient(160deg,var(--_d),#16205a);color:#fff;border-color:transparent}
.pw-price--featured::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(420px 220px at 90% -10%,rgba(255,122,69,.35),transparent 60%);pointer-events:none}
.pw-price>*{position:relative}
.pw-price__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--_p) 12%,#fff);color:var(--_p)}
.pw-price--featured .pw-price__icon{background:rgba(255,255,255,.12);color:#fff}
.pw-price h3{margin:4px 0 0;font-family:var(--pw-font-heading,"Montserrat","Poppins",sans-serif);font-size:1.25rem;line-height:1.25;color:inherit}
.pw-price__desc{margin:0;color:var(--_mute);font-size:.95rem;line-height:1.6}
.pw-price--featured .pw-price__desc{color:rgba(255,255,255,.78)}
.pw-price__amount{margin:6px 0 2px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;color:var(--_mute);font-size:.9rem}
.pw-price__amount strong{font-family:var(--pw-font-heading,"Montserrat","Poppins",sans-serif);font-size:2.4rem;line-height:1;color:var(--_ink);letter-spacing:-.02em}
.pw-price--featured .pw-price__amount,.pw-price--featured .pw-price__amount strong{color:#fff}
.pw-price__list{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:9px;font-size:.93rem}
.pw-price__list li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.pw-price__list svg{flex:none;margin-top:2px;color:var(--_a)}
.pw-price__cta{margin-top:auto;display:inline-flex;justify-content:center;align-items:center;padding:13px 20px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;background:var(--_p);color:#fff;transition:transform .2s ease,background .2s ease}
.pw-price__cta:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--_p) 85%,#000)}
.pw-price--featured .pw-price__cta{background:var(--_a);color:#fff}
.pw-prices__all{margin:22px 0 0;text-align:center}
.pw-prices__all a{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--_p);text-decoration:none}
.pw-prices__all a:hover{text-decoration:underline}
/* ---------- preventivatore ---------- */
.pw-quote{width:100%;max-width:1200px;margin-inline:auto}
.pw-quote__layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.pw-quote__steps{display:grid;gap:22px}
.pw-step-card{margin:0;border:1px solid var(--_line);border-radius:var(--_r);padding:24px;background:#fff;min-width:0}
.pw-step-card legend{display:flex;align-items:center;gap:12px;padding:0 6px;font-family:var(--pw-font-heading,"Montserrat","Poppins",sans-serif);font-weight:700;font-size:1.1rem}
.pw-step-card__n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--_d);color:#fff;font-size:.85rem}
.pw-step-card__d{margin:2px 0 14px;color:var(--_mute);font-size:.92rem}
.pw-choices{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));margin-top:12px}
.pw-choice{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1.5px solid var(--_line);border-radius:14px;cursor:pointer;background:#fff;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.pw-choice:hover{border-color:color-mix(in srgb,var(--_p) 45%,var(--_line))}
.pw-choice input{position:absolute;opacity:0;pointer-events:none}
.pw-choice__body{display:grid;gap:3px;min-width:0}
.pw-choice__body strong{font-weight:600;font-size:.95rem;line-height:1.3}
.pw-choice__body small{color:var(--_mute);font-size:.8rem;line-height:1.45}
.pw-choice__price{margin-top:auto;font-weight:600;font-size:.82rem;color:var(--_p);white-space:nowrap}
.pw-choice--row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
.pw-choice--row .pw-choice__price{margin-top:0;flex:none}
.pw-choice:has(input:checked){border-color:var(--_p);background:color-mix(in srgb,var(--_p) 6%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--_p) 16%,transparent)}
.pw-choice:has(input:focus-visible){outline:3px solid var(--_a);outline-offset:2px}
.pw-quote__summary{position:sticky;top:96px;background:linear-gradient(165deg,var(--_d),#141d52);color:#fff;border-radius:var(--_r);padding:26px;box-shadow:0 24px 60px -28px rgba(11,18,48,.7)}
.pw-quote__summary h3{margin:0 0 14px;font-family:var(--pw-font-heading,"Montserrat","Poppins",sans-serif);font-size:1.15rem;color:#fff}
.pw-sum__lines,.pw-sum__rec ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:.88rem}
.pw-sum__lines li,.pw-sum__rec li{display:flex;justify-content:space-between;gap:14px;color:rgba(255,255,255,.82)}
.pw-sum__lines b,.pw-sum__rec b{font-weight:600;color:#fff;white-space:nowrap}
.pw-sum__total{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:18px 0 6px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}
.pw-sum__total small{color:rgba(255,255,255,.7);font-size:.85rem}
.pw-sum__total strong{font-family:var(--pw-font-heading,"Montserrat","Poppins",sans-serif);font-size:2.3rem;line-height:1;letter-spacing:-.02em;color:#fff}
.pw-sum__rec{margin-top:14px}
.pw-sum__rec h4{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.65);font-weight:600}
.pw-sum__actions{display:grid;gap:10px;margin-top:20px}
.pw-sum__btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:14px 18px;border-radius:999px;border:0;font:600 .95rem var(--pw-font-body,"Poppins",sans-serif);text-decoration:none;cursor:pointer;transition:transform .2s ease,filter .2s ease}
.pw-sum__btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.pw-sum__btn--wa{background:#25d366;color:#04230f}
.pw-sum__btn--mail{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.28)}
.pw-sum__btn--send{background:var(--_a);color:#fff;justify-self:start;margin-top:6px}
.pw-sum__btn[disabled]{opacity:.6;cursor:wait}
.pw-sum__note{margin:16px 0 0;font-size:.76rem;line-height:1.5;color:rgba(255,255,255,.62)}
/* ---------- moduli ---------- */
.pw-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
.pw-field{display:grid;gap:6px;font-size:.85rem;font-weight:500}
.pw-field--full,.pw-consent,.pw-form__status,.pw-form .pw-sum__btn{grid-column:1/-1}
.pw-field input,.pw-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid var(--_line);border-radius:12px;font:400 .95rem var(--pw-font-body,"Poppins",sans-serif);background:#fff;color:var(--_ink)}
.pw-field input:focus,.pw-field textarea:focus{outline:none;border-color:var(--_p);box-shadow:0 0 0 3px color-mix(in srgb,var(--_p) 18%,transparent)}
.pw-consent{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;color:var(--_mute);line-height:1.5}
.pw-consent input{margin-top:3px}
.pw-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pw-form__status{margin:0;font-size:.9rem;min-height:1.2em}
.pw-form__status.is-ok{color:#13783f}
.pw-form__status.is-error{color:#b3261e}
.pw-form .pw-sum__btn--send{justify-self:start}
.pw-quote__loading{color:var(--_mute)}
/* ---------- contatti ---------- */
.pw-contactbox{background:#fff;border:1px solid var(--_line);border-radius:var(--_r);padding:26px}
.pw-contactbox ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pw-contactbox li>a,.pw-contactbox__static{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:14px;border:1.5px solid var(--_line);color:var(--_ink);text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.pw-contactbox li>a:hover{border-color:var(--_p);transform:translateX(3px)}
.pw-contactbox svg{flex:none;color:var(--_p)}
.pw-contactbox__wa{background:#effcf3;border-color:#bdecca!important}
.pw-contactbox__wa svg{color:#128c4a}
.pw-contactbox span>strong{display:block;font-size:.95rem}
.pw-contactbox span>small{display:block;color:var(--_mute);font-size:.85rem;margin-top:2px}
.pw-contactbox__vat{margin:18px 0 0;font-size:.8rem;color:var(--_mute)}
.pw-contactform{background:#fff;border:1px solid var(--_line);border-radius:var(--_r);padding:26px}
@media (max-width:980px){
  .pw-quote__layout{grid-template-columns:1fr}
  .pw-quote__summary{position:static;order:-1}
}
@media (max-width:600px){
  .pw-form{grid-template-columns:1fr}
  .pw-step-card{padding:18px}
  .pw-choices{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.pw-price,.pw-choice,.pw-sum__btn,.pw-price__cta{transition:none}}

/* Pulsanti piatti: nessuna ombra né sfumatura. */
.pw-price__cta,.pw-sum__btn,.pw-contactbox li>a{box-shadow:none!important;background-image:none!important;text-shadow:none!important}

/* Scheda prezzo: icona centrata in alto, intestazione centrata, elenco a sinistra */
.pw-price{text-align:center}
.pw-price__icon{margin-inline:auto}
.pw-price__amount{justify-content:center}
.pw-price__list{text-align:left}
