/* PASSAPORTO DEL PRODOTTO · stile del modulo. Tutte le classi hanno il prefisso pp- (nessuna classe generica).
   I colori della marca arrivano dalle variabili --pp-marca e --pp-marca-scuro scritte dal guscio. */
:root{--pp-sfondo:#f5f7fa;--pp-carta:#ffffff;--pp-testo:#18212f;--pp-tenue:#5b6676;--pp-bordo:#dbe1ea;--pp-riga:#eef2f7;--pp-accento:var(--pp-marca,#1f3a5f);
--pp-su-accento:#ffffff;--pp-verde:#127a43;--pp-verde-f:#e3f4ea;--pp-rosso:#b3261e;--pp-rosso-f:#fbe9e7;--pp-giallo:#8a5a00;--pp-giallo-f:#fdf3d8;--pp-blu-f:#e6eefb;--pp-ombra:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.06)}
:root[data-theme=dark]{--pp-sfondo:#0f141b;--pp-carta:#171e28;--pp-testo:#e8edf4;--pp-tenue:#9aa6b6;--pp-bordo:#2a3442;--pp-riga:#1d2633;--pp-accento:var(--pp-marca-scuro,#9db8dc);
--pp-su-accento:#0f141b;--pp-verde:#5fd08f;--pp-verde-f:#123322;--pp-rosso:#ff8b80;--pp-rosso-f:#3a1816;--pp-giallo:#f1c05a;--pp-giallo-f:#3a2c0c;--pp-blu-f:#172741;--pp-ombra:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--pp-sfondo:#0f141b;--pp-carta:#171e28;--pp-testo:#e8edf4;--pp-tenue:#9aa6b6;--pp-bordo:#2a3442;--pp-riga:#1d2633;--pp-accento:var(--pp-marca-scuro,#9db8dc);
--pp-su-accento:#0f141b;--pp-verde:#5fd08f;--pp-verde-f:#123322;--pp-rosso:#ff8b80;--pp-rosso-f:#3a1816;--pp-giallo:#f1c05a;--pp-giallo-f:#3a2c0c;--pp-blu-f:#172741;--pp-ombra:none}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.pp-corpo{margin:0;background:var(--pp-sfondo);color:var(--pp-testo);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.pp-corpo a{color:var(--pp-accento)}
.pp-salta{position:absolute;left:-9999px}.pp-salta:focus{left:8px;top:8px;background:var(--pp-carta);padding:8px 12px;z-index:50;border-radius:6px}
.pp-barra{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--pp-carta);border-bottom:1px solid var(--pp-bordo);position:sticky;top:0;z-index:20}
.pp-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--pp-testo);font-weight:800;font-size:18px;min-width:0}
.pp-logo img{height:50px;width:auto;display:block}
.pp-logo-supporto{display:inline-flex;border-radius:10px}
:root[data-theme=dark] .pp-logo-supporto{background:#fff;padding:5px 10px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .pp-logo-supporto{background:#fff;padding:5px 10px}}
.pp-supporto-bianco{display:inline-flex;align-items:center;background:#fff;border-radius:14px;padding:14px 20px;box-shadow:0 8px 24px rgba(4,16,44,.25)}
.pp-supporto-bianco img{display:block;height:auto;max-width:100%}
.pp-barra-spazio{flex:1}
.pp-lingue{display:flex;gap:2px}
.pp-lingue a{padding:5px 8px;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600;color:var(--pp-tenue);text-transform:uppercase}
.pp-lingue a[aria-current=true]{background:var(--pp-blu-f);color:var(--pp-accento)}
.pp-tasto-tondo{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--pp-bordo);background:transparent;color:var(--pp-testo);cursor:pointer;padding:0}
.pp-tasto-tondo svg{width:18px;height:18px}
.pp-solo-telefono{display:none}
.pp-chi{font-size:13px;color:var(--pp-tenue);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-griglia{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 59px)}
.pp-menu{background:var(--pp-carta);border-right:1px solid var(--pp-bordo);padding:16px 12px}
.pp-menu-gruppo{margin:0 0 16px}
.pp-menu-titolo{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-tenue);padding:0 10px 6px}
.pp-menu a{display:block;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--pp-testo);font-weight:500}
.pp-menu a:hover{background:var(--pp-riga)}
.pp-menu a[aria-current=page]{background:var(--pp-blu-f);color:var(--pp-accento);font-weight:700}
.pp-contenuto{padding:24px 28px 48px;min-width:0}
.pp-stretta{max-width:980px;margin:0 auto;padding:24px 20px 48px}
.pp-corpo h1{font-size:26px;line-height:1.2;margin:0 0 6px;letter-spacing:-.01em}
.pp-corpo h2{font-size:18px;margin:28px 0 12px}
.pp-corpo h3{font-size:15px;margin:18px 0 8px}
.pp-occhiello{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-accento);margin:0 0 6px}
.pp-sotto{color:var(--pp-tenue);margin:0 0 18px}
.pp-testata{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:0 0 18px}
.pp-testata-testo{flex:1;min-width:220px}
.pp-azioni{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pp-scheda{background:var(--pp-carta);border:1px solid var(--pp-bordo);border-radius:12px;padding:18px 20px;box-shadow:var(--pp-ombra);margin:0 0 18px}
.pp-schede{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0 0 20px}
.pp-kpi{background:var(--pp-carta);border:1px solid var(--pp-bordo);border-radius:12px;padding:14px 16px;box-shadow:var(--pp-ombra)}
.pp-kpi-n{font-size:28px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.pp-kpi-e{font-size:13px;color:var(--pp-tenue);margin-top:2px}
.pp-tasto{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:8px;border:1px solid var(--pp-accento);background:var(--pp-accento);color:var(--pp-su-accento);font:600 14px/1.2 inherit;font-family:inherit;text-decoration:none;cursor:pointer}
.pp-corpo a.pp-tasto{color:var(--pp-su-accento)}
.pp-tasto-2,.pp-corpo a.pp-tasto-2{background:transparent;color:var(--pp-accento)}
.pp-tasto-3,.pp-corpo a.pp-tasto-3{background:transparent;border-color:var(--pp-bordo);color:var(--pp-testo)}
.pp-tasto-piccolo{padding:5px 10px;font-size:13px}
.pp-tasto:focus-visible,.pp-tasto-tondo:focus-visible,.pp-corpo a:focus-visible,.pp-campo:focus-visible{outline:3px solid var(--pp-accento);outline-offset:2px}
.pp-tab-riquadro{overflow-x:auto;border:1px solid var(--pp-bordo);border-radius:12px;background:var(--pp-carta);box-shadow:var(--pp-ombra);margin:0 0 18px}
.pp-tab{width:100%;border-collapse:collapse;font-size:14px}
.pp-tab th{font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--pp-tenue);font-weight:700;background:var(--pp-riga);text-align:left;padding:9px 12px;white-space:nowrap}
.pp-tab td{padding:9px 12px;border-top:1px solid var(--pp-bordo);vertical-align:top;overflow-wrap:anywhere}
.pp-tab .pp-cifre{font-variant-numeric:tabular-nums;white-space:nowrap}
.pp-tab .pp-stretto{white-space:nowrap}
.pp-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow-wrap:anywhere}
.pp-vuoto{padding:22px;text-align:center;color:var(--pp-tenue)}
.pp-pastiglia{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap;background:var(--pp-riga);color:var(--pp-tenue)}
.pp-pastiglia::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pp-st-registrato{background:var(--pp-riga);color:var(--pp-tenue)}
.pp-st-in_ancoraggio,.pp-st-da_ancorare,.pp-st-inviato,.pp-st-in_verifica,.pp-st-invitato,.pp-st-in_coda,.pp-st-ruotata{background:var(--pp-giallo-f);color:var(--pp-giallo)}
.pp-st-confermato,.pp-st-finalizzato,.pp-st-verificata,.pp-st-attivo,.pp-st-attiva,.pp-st-consegnata{background:var(--pp-verde-f);color:var(--pp-verde)}
.pp-st-sospesa,.pp-st-sospeso,.pp-st-fallita,.pp-st-revocata,.pp-st-aperto{background:var(--pp-rosso-f);color:var(--pp-rosso)}
.pp-avviso{border-radius:10px;padding:11px 14px;margin:0 0 16px;background:var(--pp-blu-f);border:1px solid var(--pp-bordo)}
.pp-avviso-ok{background:var(--pp-verde-f);color:var(--pp-verde);border-color:transparent}
.pp-avviso-ko{background:var(--pp-rosso-f);color:var(--pp-rosso);border-color:transparent}
.pp-avviso-att{background:var(--pp-giallo-f);color:var(--pp-giallo);border-color:transparent}
.pp-modulo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.pp-modulo-1{grid-template-columns:minmax(0,1fr)}
.pp-largo{grid-column:1/-1}
.pp-etichetta{display:block;font-size:13px;font-weight:600;margin:0 0 5px}
.pp-campo{width:100%;padding:9px 11px;border:1px solid var(--pp-bordo);border-radius:8px;background:var(--pp-carta);color:var(--pp-testo);font:inherit}
textarea.pp-campo{min-height:92px;resize:vertical}
.pp-aiuto{font-size:12.5px;color:var(--pp-tenue);margin:4px 0 0}
.pp-nascosto{display:none}
.pp-coppie{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:6px 18px;margin:0}
.pp-coppie dt{color:var(--pp-tenue);font-size:13px}
.pp-coppie dd{margin:0;overflow-wrap:anywhere}
.pp-codice{background:var(--pp-riga);border:1px solid var(--pp-bordo);border-radius:8px;padding:12px;overflow-x:auto;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.pp-corpo p,.pp-corpo li,.pp-corpo dd{overflow-wrap:break-word}
.pp-corpo code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--pp-riga);padding:1px 5px;border-radius:4px}
.pp-piede{border-top:1px solid var(--pp-bordo);padding:18px 20px;color:var(--pp-tenue);font-size:12.5px;text-align:center;background:var(--pp-carta)}
/* ingresso e accesso */
.pp-eroe{padding:56px 20px 34px;text-align:center;max-width:820px;margin:0 auto}
.pp-eroe h1{font-size:36px}
.pp-eroe p{font-size:17px;color:var(--pp-tenue)}
.pp-cerca{display:flex;gap:8px;max-width:520px;margin:22px auto 10px}
.pp-porta{max-width:430px;margin:48px auto;padding:0 16px}
.pp-porta .pp-scheda{padding:26px}
.pp-qr{display:inline-block;background:#fff;padding:6px;border-radius:10px;border:1px solid var(--pp-bordo);line-height:0;max-width:100%;overflow:visible}
.pp-qr svg{width:232px;height:232px;max-width:100%;display:block}
.pp-qr img{display:block;max-width:100%;height:auto}
/* passaporto pubblico */
.pp-pass-testa{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start}
.pp-linea{list-style:none;margin:0;padding:0;position:relative}
.pp-linea::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--pp-bordo)}
.pp-passo{position:relative;padding:0 0 18px 38px}
.pp-passo::before{content:"";position:absolute;left:4px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--pp-carta);border:3px solid var(--pp-accento)}
.pp-passo-testa{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;margin:0 0 6px}
.pp-passo-titolo{font-weight:700;font-size:16px}
.pp-passo-quando{color:var(--pp-tenue);font-size:13.5px}
.pp-passo .pp-scheda{margin:0;padding:14px 16px}
.pp-rettificato .pp-passo-titolo{text-decoration:line-through;text-decoration-thickness:1px}
.pp-nota-rettifica{font-size:13.5px;margin:0 0 8px;padding:7px 10px;border-radius:8px;background:var(--pp-giallo-f);color:var(--pp-giallo)}
.pp-verifica-esito{margin:12px 0 0}
.pp-verifica-esito ul{list-style:none;margin:8px 0 0;padding:0;font-size:13.5px}
.pp-verifica-esito li{display:flex;gap:8px;padding:3px 0;align-items:baseline}
.pp-segno{font-weight:800;flex:none;width:18px;text-align:center}
.pp-segno-ok{color:var(--pp-verde)}.pp-segno-ko{color:var(--pp-rosso)}.pp-segno-nd{color:var(--pp-giallo)}
.pp-verificata{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--pp-verde)}
@media(max-width:1180px){.pp-tab th,.pp-tab .pp-stretto{white-space:normal}.pp-tab th,.pp-tab td{padding:8px 9px}.pp-tab .pp-campo{max-width:150px}}
@media(max-width:860px){
.pp-griglia{grid-template-columns:minmax(0,1fr)}
.pp-menu{display:none;border-right:0;border-bottom:1px solid var(--pp-bordo)}
.pp-menu.pp-menu-aperto{display:block}
.pp-solo-telefono{display:inline-flex}
.pp-contenuto{padding:18px 14px 40px}
.pp-modulo{grid-template-columns:minmax(0,1fr)}
.pp-chi{display:none}
.pp-pass-testa{grid-template-columns:minmax(0,1fr)}
.pp-eroe h1{font-size:28px}
.pp-barra{padding:8px 12px;gap:8px}
.pp-logo img{height:40px}
.pp-coppie{grid-template-columns:minmax(0,1fr)}
.pp-coppie dt{margin-top:6px}
}
@media print{.pp-barra,.pp-menu,.pp-piede,.pp-azioni,.pp-tasto{display:none}.pp-griglia{display:block}}
/* ── pagina iniziale (pp-h-*) ── */
.pp-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-5px}
.pp-ico-grande{width:42px;height:42px;stroke-width:1.4;opacity:.6}
.pp-tasto .pp-ico{width:18px;height:18px;vertical-align:-4px}
.pp-h-dentro{max-width:1160px;margin:0 auto;padding:0 24px}
.pp-h-stretta{max-width:820px}
.pp-h-eroe{background:linear-gradient(135deg,#0f2550 0%,var(--pp-marca,#1f3a5f) 62%,#2f6fd0 130%);color:#fff;padding:54px 0 62px;position:relative;overflow:hidden}
.pp-h-eroe::after{content:"";position:absolute;right:-180px;top:-180px;width:560px;height:560px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.14),rgba(255,255,255,0));pointer-events:none}
.pp-h-eroe-griglia{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:44px;align-items:center;position:relative;z-index:1}
.pp-h-logo{margin:0 0 26px}
.pp-h-marca{font-size:28px;font-weight:800;margin:0 0 20px}
.pp-h-occhiello{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#cfe0ff;margin:0 0 10px}
.pp-corpo .pp-h-titolo{font-size:42px;line-height:1.12;letter-spacing:-.02em;margin:0 0 14px;color:#fff}
.pp-h-sotto{font-size:18px;line-height:1.55;color:#e3ecff;margin:0 0 24px;max-width:560px}
.pp-h-azioni{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 26px}
.pp-corpo a.pp-h-tasto-chiaro,.pp-h-tasto-chiaro{background:#fff;border-color:#fff;color:#12306b;padding:12px 20px;font-size:15px}
.pp-corpo a.pp-h-tasto-vetro,.pp-h-tasto-vetro{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff;padding:12px 20px;font-size:15px}
.pp-h-cerca-e{display:block;font-size:13px;color:#cfe0ff;margin:0 0 6px}
.pp-h-cerca-riga{display:flex;gap:8px;max-width:440px}
.pp-h-cerca .pp-campo{background:rgba(255,255,255,.96);color:#18212f;border-color:transparent}
.pp-h-mini{display:block;background:var(--pp-carta);color:var(--pp-testo);border-radius:18px;padding:22px;text-decoration:none;box-shadow:0 24px 60px rgba(4,16,44,.45);border:1px solid rgba(255,255,255,.2)}
.pp-corpo a.pp-h-mini{color:var(--pp-testo)}
.pp-h-mini-testa{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.pp-h-mini-occhiello{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-accento)}
.pp-h-mini-nome{display:block;font-size:22px;line-height:1.2;margin:6px 0 2px}
.pp-h-mini-sotto{display:block;font-size:13px;color:var(--pp-tenue)}
.pp-h-mini-qr{background:#fff;border-radius:10px;padding:6px;border:1px solid var(--pp-bordo);line-height:0;flex:none}
.pp-h-mini-qr img{display:block;width:92px;height:92px}
.pp-h-mini-linea{display:block;margin:16px 0 4px;position:relative}
.pp-h-mini-linea::before{content:"";position:absolute;left:18px;top:14px;bottom:14px;width:2px;background:var(--pp-bordo)}
.pp-h-tappa{display:flex;gap:12px;align-items:center;padding:7px 0;position:relative;font-size:14px}
.pp-h-tappa strong{display:block;line-height:1.25}
.pp-h-tappa-d{display:block;font-size:12.5px;color:var(--pp-tenue)}
.pp-h-tappa-ico{flex:none;width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--pp-blu-f);color:var(--pp-accento);position:relative;z-index:1}
.pp-h-tappa-ico .pp-ico{vertical-align:0}
.pp-h-tappa-ok{margin-left:auto;color:var(--pp-verde);flex:none}
.pp-h-mini-piede{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--pp-bordo);padding-top:12px;margin-top:8px}
.pp-h-sigillo{display:inline-flex;align-items:center;gap:6px;background:var(--pp-verde-f);color:var(--pp-verde);font-weight:700;font-size:13px;padding:5px 12px 5px 8px;border-radius:999px}
.pp-h-mini-n{font-size:12.5px;color:var(--pp-tenue)}
.pp-h-vivo-punto{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22b765;box-shadow:0 0 0 0 rgba(34,183,101,.55);animation:pp-h-battito 2.2s infinite}
@keyframes pp-h-battito{0%{box-shadow:0 0 0 0 rgba(34,183,101,.55)}70%{box-shadow:0 0 0 9px rgba(34,183,101,0)}100%{box-shadow:0 0 0 0 rgba(34,183,101,0)}}
.pp-h-fascia{padding:58px 0}
.pp-h-fascia-tinta{background:var(--pp-carta);border-top:1px solid var(--pp-bordo);border-bottom:1px solid var(--pp-bordo)}
.pp-corpo .pp-h-h2{font-size:30px;letter-spacing:-.015em;margin:0 0 6px}
.pp-h-h2-sotto{color:var(--pp-tenue);font-size:16.5px;margin:0 0 28px}
.pp-corpo .pp-h-h3{font-size:17px;margin:30px 0 12px}
.pp-h-testo{font-size:16.5px;line-height:1.65;color:var(--pp-tenue);margin:10px 0 0}
.pp-h-passi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;position:relative}
.pp-h-passo{background:var(--pp-carta);border:1px solid var(--pp-bordo);border-radius:14px;padding:22px 20px;position:relative;box-shadow:var(--pp-ombra)}
.pp-h-passo-n{position:absolute;right:16px;top:12px;font-size:34px;font-weight:800;color:var(--pp-riga);line-height:1}
.pp-h-passo-ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--pp-blu-f);color:var(--pp-accento);margin:0 0 14px}
.pp-h-passo-ico .pp-ico{width:28px;height:28px;vertical-align:0}
.pp-corpo .pp-h-passo h3,.pp-corpo .pp-h-carta h3{font-size:17px;margin:0 0 6px}
.pp-h-passo p,.pp-h-carta p{margin:0;color:var(--pp-tenue);font-size:14.5px;line-height:1.55}
.pp-h-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pp-h-kpi .pp-kpi{padding:20px}
.pp-h-kpi .pp-kpi-n{font-size:40px;color:var(--pp-accento)}
.pp-h-kpi-data{font-size:19px;font-weight:800;line-height:1.3;font-variant-numeric:tabular-nums;margin:6px 0 4px}
.pp-h-kpi-link{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;margin-top:8px}
.pp-h-kpi-link .pp-ico{width:15px;height:15px;vertical-align:0}
.pp-h-rete{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;margin:18px 0 0;padding:7px 14px;border-radius:999px}
.pp-h-rete-ok{background:var(--pp-verde-f);color:var(--pp-verde)}
.pp-h-rete-att{background:var(--pp-giallo-f);color:var(--pp-giallo)}
.pp-h-rete-att .pp-h-vivo-punto{background:#d99a00;animation:none}
.pp-h-nastro{overflow-x:auto;scrollbar-width:thin;border-radius:14px;border:1px solid var(--pp-bordo);background:var(--pp-sfondo);padding:12px}
.pp-h-nastro-striscia{display:flex;gap:12px;width:max-content}
.pp-corpo a.pp-h-nastro-voce{display:flex;gap:10px;align-items:center;background:var(--pp-carta);border:1px solid var(--pp-bordo);border-radius:12px;padding:10px 16px 10px 10px;text-decoration:none;color:var(--pp-testo);font-size:14px;min-width:230px}
.pp-h-prova{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.pp-h-prova .pp-scheda{margin:0}
.pp-h-prova-titolo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;margin:4px 0 14px}
.pp-h-prova-azioni{margin:18px 0 8px}
.pp-h-prova-esito .pp-verifica-esito{margin:0;min-height:230px}
.pp-h-prova-esito .pp-vuoto{padding:60px 10px}
.pp-verifica-esito li.pp-in-arrivo{opacity:0;transform:translateX(-8px)}
.pp-verifica-esito li{transition:opacity .25s ease,transform .25s ease}
.pp-h-carte{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}
.pp-h-carta{margin:0}
.pp-h-due{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.pp-h-due .pp-scheda{margin:0}
.pp-h-reg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.pp-h-reg-t{display:flex;align-items:center;gap:8px;font-weight:700;margin:0 0 6px}
.pp-h-reg-si{color:var(--pp-verde)}.pp-h-reg-no{color:var(--pp-rosso)}
.pp-h-reg ul{margin:0;padding-left:18px;color:var(--pp-tenue);font-size:14.5px;line-height:1.55}
.pp-h-faq{border:1px solid var(--pp-bordo);border-radius:12px;background:var(--pp-carta);margin:0 0 10px;padding:0 18px}
.pp-h-faq summary{cursor:pointer;font-weight:650;font-size:16px;padding:15px 0;list-style-position:outside}
.pp-h-faq p{margin:0 0 16px;color:var(--pp-tenue);line-height:1.6}
.pp-h-piede{background:#0f1c36;color:#c6d2ea;padding:44px 0 18px;font-size:14px}
.pp-h-piede-griglia{display:grid;grid-template-columns:1.4fr 1fr .8fr 1.4fr;gap:30px}
.pp-corpo .pp-h-piede h3{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 10px}
.pp-h-piede ul{list-style:none;margin:0 0 14px;padding:0}.pp-h-piede li{margin:0 0 7px}
.pp-corpo .pp-h-piede a{color:#c6d2ea;text-decoration:none}.pp-corpo .pp-h-piede a:hover{color:#fff;text-decoration:underline}
.pp-h-piede p{margin:0 0 14px;line-height:1.55}
.pp-h-piede-logo{margin:0 0 14px;padding:10px 14px;border-radius:10px;box-shadow:none}
.pp-h-piede-fine{text-align:center;border-top:1px solid rgba(255,255,255,.12);margin:26px 24px 0;padding-top:16px;font-size:12.5px}
/* ingresso (porta) e testata del passaporto */
.pp-porta-doppia{max-width:920px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:0;border-radius:16px;overflow:hidden;box-shadow:var(--pp-ombra);border:1px solid var(--pp-bordo)}
.pp-porta-doppia .pp-scheda{margin:0;border:0;border-radius:0;box-shadow:none}
.pp-porta-lato{background:linear-gradient(150deg,#0f2550,var(--pp-marca,#1f3a5f));color:#fff;padding:34px 30px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.pp-porta-lato .pp-supporto-bianco{align-self:flex-start}
.pp-porta-lato ul{list-style:none;margin:0;padding:0}
.pp-porta-lato li{display:flex;gap:10px;align-items:center;margin:0 0 12px;font-size:15px;color:#e3ecff}
.pp-pass-fascia{background:linear-gradient(135deg,#0f2550,var(--pp-marca,#1f3a5f));color:#fff;padding:26px 0 70px;margin-bottom:-54px}
.pp-pass-fascia .pp-h-occhiello{margin:0}
.pp-pass-sigillo{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;font-weight:700;font-size:13px;padding:5px 12px 5px 8px;border-radius:999px}
.pp-pass-fascia-riga{display:flex;gap:10px 16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
/* dagli vita: solo con gli script attivi e se la persona non ha chiesto meno movimento; a pagina ferma tutto resta leggibile */
@media(prefers-reduced-motion:no-preference){
.pp-js .pp-anim.pp-visto{animation:pp-entra .6s ease both;animation-delay:calc(var(--pp-i,0)*90ms)}
.pp-js .pp-h-mini.pp-visto .pp-h-tappa{animation:pp-entra-lato .5s ease both;animation-delay:calc(.35s + var(--pp-i,0)*.22s)}
.pp-js .pp-h-mini.pp-visto .pp-h-mini-linea::before{transform-origin:top;animation:pp-disegna 1.1s ease .3s both}
}
@keyframes pp-entra{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes pp-entra-lato{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes pp-disegna{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.pp-h-vivo-punto{animation:none}}
@media(max-width:1000px){
.pp-h-eroe-griglia,.pp-h-due,.pp-h-prova{grid-template-columns:minmax(0,1fr)}
.pp-h-passi,.pp-h-carte,.pp-h-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
.pp-h-piede-griglia{grid-template-columns:1fr 1fr}
.pp-corpo .pp-h-titolo{font-size:34px}
}
@media(max-width:600px){
.pp-h-passi,.pp-h-carte,.pp-h-kpi,.pp-h-reg,.pp-h-piede-griglia{grid-template-columns:minmax(0,1fr)}
.pp-h-eroe{padding:34px 0 40px}.pp-h-fascia{padding:40px 0}.pp-h-dentro{padding:0 16px}
.pp-corpo .pp-h-titolo{font-size:29px}.pp-h-sotto{font-size:16.5px}.pp-corpo .pp-h-h2{font-size:25px}
.pp-h-logo{padding:10px 14px;margin-bottom:18px}.pp-h-logo img{width:170px}
.pp-h-mini{padding:16px}.pp-h-mini-nome{font-size:19px}.pp-h-mini-qr img{width:76px;height:76px}
.pp-porta-doppia{grid-template-columns:minmax(0,1fr)}.pp-porta-lato{padding:22px}
.pp-h-kpi .pp-kpi-n{font-size:34px}
}
/* il tasto Indietro comune: stessa posizione su ogni pagina, sotto la barra; lo guida lo script comune della piattaforma */
.pp-sottobarra{background:var(--pp-carta);border-bottom:1px solid var(--pp-bordo);padding:6px 20px}
.pp-corpo a.pp-indietro{display:inline-flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--pp-accento);padding:4px 10px 4px 6px;border-radius:8px}
.pp-corpo a.pp-indietro:hover{background:var(--pp-blu-f)}
.pp-griglia{min-height:calc(100vh - 96px)}
@media(max-width:860px){.pp-sottobarra{padding:5px 12px}}
@media print{.pp-sottobarra{display:none}}
/* esportazioni comuni: stessi tasti nella stessa posizione su ogni pagina (a destra del tasto Indietro) */
.pp-sottobarra{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pp-esporta{margin-left:auto;display:inline-flex;gap:6px;flex-wrap:wrap}
/* declinazioni del logo, se la marca le ha: negativo sui fondi scuri, compatto in testata */
.pp-logo .pp-logo-su-scuro{display:none}
:root[data-theme=dark] .pp-logo .pp-logo-su-chiaro{display:none}:root[data-theme=dark] .pp-logo .pp-logo-su-scuro{display:block}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .pp-logo .pp-logo-su-chiaro{display:none}:root:not([data-theme=light]) .pp-logo .pp-logo-su-scuro{display:block}}
.pp-logo-nudo{display:block;height:auto;max-width:100%}
.pp-logo .pp-logo-su-chiaro,.pp-logo .pp-logo-su-scuro{height:40px}
.pp-logo-nudo.pp-h-logo{width:250px;margin:0 0 26px}.pp-logo-nudo.pp-h-piede-logo{width:160px;margin:0 0 14px;padding:0}
.pp-porta-lato .pp-logo-nudo{width:190px}
@media(max-width:600px){.pp-logo-nudo.pp-h-logo{width:190px}.pp-logo .pp-logo-su-chiaro,.pp-logo .pp-logo-su-scuro{height:34px}}
/* ── scene illustrate (pp-sc-*): in penombra, tinte del marchio, piccoli accenti chiari; piu' chiare nel tema chiaro ── */
:root{--pp-sc-cielo-a:#16346f;--pp-sc-cielo-b:#0e2148;--pp-sc-suolo:#0a1836;--pp-sc-ombra:#12295a;--pp-sc-scuro:#081329;--pp-sc-linea:#3a5a9c;--pp-sc-banco:#27478b;
--pp-sc-cassa:#8e7a5c;--pp-sc-apparato:#2f55a4;--pp-sc-apparato-c:#4a74c9;--pp-sc-mezzo:#25447f;--pp-sc-mezzo-c:#3a62ad;--pp-sc-figura:#5d86d6;--pp-sc-figura-c:#c9d6ee;
--pp-sc-acc:#8fb1ea;--pp-sc-acc-2:#f0c35a;--pp-sc-spia:#ffd866;--pp-sc-luce:#ffe9a8;--pp-sc-carta:#f3f6fc;--pp-sc-schermo:#bfe0ff;--pp-sc-schermo-s:#0f2a5c;--pp-sc-verde:#22b765;
--pp-sc-nodo:#4a74c9;--pp-sc-blocco:#1d3a78;--pp-sc-blocco-c:#3566c4}
:root[data-theme=dark]{--pp-sc-cielo-a:#0f2450;--pp-sc-cielo-b:#070f22;--pp-sc-suolo:#050b1a;--pp-sc-ombra:#0c1d42;--pp-sc-scuro:#040a18}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--pp-sc-cielo-a:#0f2450;--pp-sc-cielo-b:#070f22;--pp-sc-suolo:#050b1a;--pp-sc-ombra:#0c1d42;--pp-sc-scuro:#040a18}}
.pp-scena{display:block;width:100%;height:auto;max-width:560px;border-radius:18px;box-shadow:0 18px 44px rgba(8,22,56,.28)}
.pp-scena-piccola{width:300px;max-width:100%;box-shadow:none}
.pp-h-testa-scena{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:34px;align-items:center;margin:0 0 28px}
.pp-h-testa-scena .pp-h-h2-sotto{margin-bottom:0}
@media(prefers-reduced-motion:no-preference){
.pp-sc-lampeggia{animation:pp-sc-lampeggia 2.4s ease-in-out infinite}
.pp-sc-respira{animation:pp-sc-respira 3.2s ease-in-out infinite}
.pp-sc-fascio{animation:pp-sc-fascio 2.6s ease-in-out infinite}
.pp-sc-compare{animation:pp-sc-compare 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.pp-sc-scende{animation:pp-sc-scende 5s ease-in-out infinite}
.pp-sc-onda{animation:pp-sc-onda 5s ease-out infinite;transform-box:fill-box;transform-origin:center}
}
@keyframes pp-sc-lampeggia{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes pp-sc-respira{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes pp-sc-fascio{0%,100%{transform:translateY(-14px)}50%{transform:translateY(14px)}}
@keyframes pp-sc-compare{0%,25%{opacity:0;transform:scale(.4)}40%,90%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.4)}}
@keyframes pp-sc-scende{0%,15%{transform:translateY(-16px)}35%,90%{transform:translateY(22px)}100%{transform:translateY(-16px)}}
@keyframes pp-sc-onda{0%,34%{opacity:0;transform:scale(.6)}40%{opacity:.9}75%,100%{opacity:0;transform:scale(1.9)}}
@media(max-width:1000px){.pp-h-testa-scena{grid-template-columns:minmax(0,1fr)}.pp-scena{max-width:520px}}
/* cookie, pagine legali, guida, giro guidato */
.pp-piede-legali{display:block;margin-top:6px}
.pp-cookie{position:fixed;left:14px;right:14px;bottom:14px;z-index:40;max-width:760px;margin:0 auto;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;
background:var(--pp-carta);color:var(--pp-testo);border:1px solid var(--pp-bordo);border-radius:14px;padding:12px 16px;box-shadow:0 14px 40px rgba(8,22,56,.28);font-size:14px}
.pp-cookie[hidden]{display:none}
.pp-guida{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.pp-corpo a.pp-guida-voce{display:block;text-decoration:none;color:var(--pp-testo);background:var(--pp-carta);border:1px solid var(--pp-bordo);border-radius:14px;overflow:hidden;box-shadow:var(--pp-ombra)}
.pp-guida-cornice{display:block;border-bottom:1px solid var(--pp-bordo)}
.pp-guida-barra{display:flex;gap:5px;padding:7px 10px;background:var(--pp-riga)}
.pp-guida-barra i{width:8px;height:8px;border-radius:50%;background:var(--pp-bordo)}
.pp-guida-vista{display:block;position:relative;height:0;padding-bottom:62.5%;overflow:hidden;background:var(--pp-sfondo)}
.pp-guida-vista iframe{position:absolute;top:0;left:0;width:400%;height:400%;border:0;transform:scale(.25);transform-origin:0 0;pointer-events:none;background:#fff}
.pp-guida-testo{display:block;padding:12px 16px 16px}
.pp-guida-testo strong{display:block;margin:0 0 4px}
.pp-guida-testo span{color:var(--pp-tenue);font-size:14px;line-height:1.5}
body.pp-corpo{--accent-deep:var(--pp-accento);--surface:var(--pp-carta);--ink:var(--pp-testo);--line:var(--pp-bordo);--smoke:var(--pp-tenue);--cipria-soft:var(--pp-riga);--serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
.pp-guida-chiusa{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;color:var(--pp-tenue);font-size:14px;line-height:1.5}

/* il video della marca: riquadro 16:9 con lo spazio riservato, nessun salto */
.pp-video{position:relative;width:100%;max-width:1040px;margin:18px auto 0;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0b1630;border:1px solid var(--pp-bordo);box-shadow:0 40px 90px -40px rgba(8,22,56,.55),0 2px 6px rgba(8,22,56,.08)}
.pp-video video{position:absolute;top:0;left:0;width:100%;height:100%;display:block;background:#0b1630;object-fit:contain}
.pp-video-nota{text-align:center;margin:10px 0 0}
.pp-guida-video .pp-video{margin-top:12px;max-width:820px}
@media(max-width:640px){.pp-video{border-radius:12px}}
/* la prova sulla rete pubblica: valori interi, copiabili, col collegamento all'esploratore */
.pp-rete{border:1px solid var(--pp-bordo);border-left:4px solid var(--pp-verde,#1f7a4a);border-radius:10px;background:var(--pp-carta);padding:14px 16px;margin:0 0 16px}
.pp-rete-testa{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;font-size:15px}
.pp-rete-testa svg{width:20px;height:20px;fill:none;stroke:var(--pp-verde,#1f7a4a);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pp-rete-dove{color:var(--pp-tenue);font-size:13px}
.pp-rete-nota{margin:10px 0 0;font-size:12.5px;color:var(--pp-tenue)}
.pp-valore{display:inline-flex;align-items:baseline;gap:8px;flex-wrap:wrap;max-width:100%}
.pp-valore-testo{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow-wrap:anywhere;word-break:break-all;background:none;padding:0;user-select:all}
.pp-valore-copia{border:1px solid var(--pp-bordo);background:var(--pp-carta);color:var(--pp-tenue);border-radius:6px;font:600 11px/1 inherit;font-family:inherit;padding:4px 7px;cursor:pointer;flex:none}
.pp-valore-copia:hover{color:var(--pp-accento);border-color:var(--pp-accento)}
.pp-rete-grande{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center}
.pp-rete-numeri{display:flex;gap:10px 26px;flex-wrap:wrap;margin:6px 0 10px}
.pp-rete-numeri div{min-width:110px}.pp-rete-numeri b{display:block;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--pp-accento)}.pp-rete-numeri span{font-size:12.5px;color:var(--pp-tenue)}
.pp-rete-azione{display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:center}
.pp-rete-riga{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;margin:8px 0 0}
.pp-rete-riga svg{width:16px;height:16px;fill:none;stroke:var(--pp-verde,#1f7a4a);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:760px){.pp-rete-grande{grid-template-columns:minmax(0,1fr)}}
.pp-h-mini-col{min-width:0}
.pp-h-rete-prova{margin:12px 4px 0;color:#fff;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pp-h-rete-prova a{color:#fff;font-weight:700}
.pp-h-rete-prova .pp-ico{width:18px;height:18px;flex:none}
.pp-valore-testo a{color:var(--pp-accento);text-decoration:underline;text-underline-offset:2px}
/* galleria del prodotto: la prima immagine grande, le altre in miniatura; nessuno script */
.pp-galleria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:640px}
.pp-galleria-voce{position:relative;display:block;border-radius:10px;overflow:hidden;border:1px solid var(--pp-bordo);background:var(--pp-riga);aspect-ratio:4/3}
.pp-galleria-voce img{display:block;width:100%;height:100%;object-fit:cover}
.pp-galleria-prima{grid-column:1/-1}
.pp-galleria-nota{position:absolute;left:8px;bottom:8px;background:rgba(8,19,41,.78);color:#fff;font-size:11px;font-weight:600;border-radius:6px;padding:3px 7px}
.pp-galleria-pubblica{margin:0 auto}
.pp-scheda-prodotto-riga{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:20px;align-items:start}
.pp-scheda-prodotto-testo{margin:0;white-space:pre-line;line-height:1.6}
.pp-scheda-modifica{margin-top:14px}.pp-scheda-modifica>summary{list-style:none;cursor:pointer;display:inline-flex}.pp-scheda-modifica>summary::-webkit-details-marker{display:none}
.pp-scheda-modifica[open]>summary{margin-bottom:14px}
.pp-scheda-togli,.pp-anteprima-immagini{display:flex;gap:10px;flex-wrap:wrap}
.pp-scheda-togli label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;text-transform:none;letter-spacing:0;font-weight:500}
.pp-scheda-togli img,.pp-anteprima-immagini img{width:120px;height:90px;object-fit:cover;border-radius:8px;border:1px solid var(--pp-bordo);background:var(--pp-riga)}
@media(max-width:760px){.pp-scheda-prodotto-riga{grid-template-columns:minmax(0,1fr)}}
/* «ogni azienda configura la propria filiera»: due filiere diverse a colpo d'occhio */
.pp-h-filiere{display:grid;gap:14px;margin-top:22px}
.pp-h-filiera{background:var(--pp-carta);border:1px solid var(--pp-bordo);border-radius:14px;padding:16px 18px;box-shadow:var(--pp-ombra)}
.pp-h-filiera strong{display:block;margin:0 0 10px}
.pp-h-filiera ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 4px;counter-reset:f}
.pp-h-filiera li{counter-increment:f;display:inline-flex;align-items:center;gap:6px;background:var(--pp-blu-f);color:var(--pp-testo);border-radius:999px;padding:6px 12px 6px 6px;font-size:13.5px}
.pp-h-filiera li::before{content:counter(f);width:22px;height:22px;border-radius:50%;background:var(--pp-accento);color:var(--pp-su-accento);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.pp-h-filiera li:not(:last-child)::after{content:"→";margin-left:8px;color:var(--pp-tenue)}
.pp-h-filiere-nota{margin:16px 0 0}
