/* «Scopri il prezzo»: pulsanti e finestra. Autonomo: vale sia nella home sia nelle pagine del catalogo. */
.ask{display:inline-flex;align-items:center;gap:6px;background:#2B8EC9;color:#fff;font-weight:600;font-size:13.5px;line-height:1;padding:9px 13px;border-radius:2px;cursor:pointer;white-space:nowrap;transition:background .2s;font-family:inherit;letter-spacing:0}
.ask::after{content:"→";font-weight:400}
.ask:hover,.ask:focus-visible{background:#1F6FA0;outline:none}
.ask:focus-visible{box-shadow:0 0 0 3px rgba(43,142,201,.35)}
.pf-c .pf-p.ask{font-size:13.5px}
.buy .buy-ask{width:100%;margin:14px 0 4px}
.opts-l{margin-top:16px;border-top:1px solid #E1E6EA;padding-top:12px}
.opts-l ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.opts-l li b{display:block;font-size:.88rem}
.opts-l li small{display:block;font-size:.8rem;color:#5C6771;line-height:1.35}

.pz-dlg{position:fixed;inset:0;margin:auto;height:fit-content;border:0;padding:0;width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 24px);background:transparent;color:#11161B;font-family:"IBM Plex Sans",system-ui,sans-serif}
.pz-dlg::backdrop{background:rgba(9,14,19,.62);backdrop-filter:blur(2px)}
.pz-box{position:relative;background:#fff;border-top:4px solid #2B8EC9;padding:26px 26px 22px;max-height:calc(100vh - 24px);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.pz-attesa{min-height:120px;display:grid;place-items:center;color:#5C6771}
.pz-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#5C6771;padding:4px 8px}
.pz-x:hover{color:#11161B}
.pz-h{padding-right:34px;margin-bottom:16px}
.pz-k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;color:#1F6FA0;text-transform:uppercase}
/* nome del servizio a sinistra e richiamo a destra, della stessa dimensione:
   il servizio è l'informazione che conta, non deve stare in piccolo sotto il titolo */
.pz-hh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:4px 24px;align-items:baseline;margin-top:7px}
.pz-h h2,.pz-claim{font-family:Archivo,system-ui,sans-serif;font-size:1.3rem;font-weight:700;line-height:1.2;margin:0;text-wrap:balance}
/* il richiamo va a capo su due righe, altrimenti si prende metà intestazione e spezza il nome del servizio */
.pz-claim{color:#1F6FA0;text-align:right;max-width:13ch;justify-self:end}
@media (max-width:640px){
  .pz-hh{grid-template-columns:1fr;gap:6px}
  .pz-claim{text-align:left;justify-self:start;max-width:none;font-size:1.05rem}
}
.pz-ok h2{font-family:Archivo,system-ui,sans-serif;font-size:1.55rem;margin:6px 0 4px;line-height:1.15}
.pz-f fieldset{border:0;border-top:1px solid #E1E6EA;margin:0;padding:14px 0 6px}
.pz-f legend{font-weight:700;font-size:.95rem;padding:0 0 8px}
.pz-f legend small{font-weight:400;color:#5C6771}
.pz-opts{display:grid;gap:6px}
@media (min-width:560px){.pz-opts{grid-template-columns:1fr 1fr}}
.pz-opt{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 10px;border:1px solid #E1E6EA;cursor:pointer}
.pz-opt:has(input:checked){border-color:#2B8EC9;background:#EEF6FB}
.pz-opt input{margin-top:3px}
.pz-opt b{display:block;font-size:.9rem}
.pz-opt small{display:block;font-size:.8rem;color:#5C6771;line-height:1.35}
.pz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.pz-grid .full,.pz-fld.full{grid-column:1/-1}
.pz-fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.pz-fld label{font-size:12.5px;color:#5C6771}
.pz-fld input,.pz-fld textarea{border:1px solid #C9D2D9;padding:9px 10px;font:inherit;font-size:15px;width:100%;background:#fff;color:inherit;border-radius:0}
.pz-fld input:focus,.pz-fld textarea:focus{outline:none;border-color:#2B8EC9;box-shadow:0 0 0 3px rgba(43,142,201,.18)}
.pz-err{display:none;color:#B42318;font-size:12px}
.bad>.pz-err,.pz-ck.bad .pz-err{display:block}
.pz-fld.bad input,.pz-fld.bad textarea{border-color:#B42318}
.pz-fld label small{font-size:inherit;color:#8A949C}
.pz-ck{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:.88rem;align-items:start;cursor:pointer}
.pz-ck .pz-err{grid-column:2}
.pz-ck a,.pz-msg a{color:#1F6FA0}
.pz-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;border:1px solid #E1E6EA}
.pz-tabs button{border:0;background:#F3F5F7;padding:10px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;color:#5C6771}
.pz-tabs button[aria-selected="true"]{background:#fff;color:#11161B;box-shadow:inset 0 -3px 0 #2B8EC9}
.pz-io{margin:0;font-size:.92rem}
.pz-link{border:0;background:none;color:#1F6FA0;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.pz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pz-foot{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;border-top:1px solid #E1E6EA;padding-top:16px;margin-top:6px}
.pz-btn{background:#2B8EC9;color:#fff;border:0;padding:12px 20px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.pz-btn:hover{background:#1F6FA0}
.pz-btn:disabled{opacity:.6;cursor:wait}
.pz-msg{flex:1;min-width:220px;margin:0;font-size:12.5px;color:#5C6771}
.pz-msg.bad{color:#B42318;font-weight:600}
.pz-ok{text-align:center;padding:10px 6px}
.pz-ok p{color:#3A444D;max-width:46ch;margin:8px auto}
.pz-ok .pz-btn{margin-top:14px}
.pz-spunta{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#E7F5EC;color:#1B7F3B;font-size:26px;font-weight:700}
@media (max-width:560px){.pz-box{padding:22px 16px 18px}.pz-grid{grid-template-columns:1fr}}
