/* M-Pellet — modulo di richiesta B2B condiviso (markup in docs/snippet-form.html) · regole 28/10/2026 */
.richiesta{--errore:#ff9d8f;position:relative;z-index:2;background:#111112;border-top:1px solid var(--line);padding:120px var(--gutter) 110px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start;scroll-margin-top:40px}
.richiesta__intro{display:grid;gap:22px;position:sticky;top:110px}
.richiesta__contatti{list-style:none;margin:10px 0 0;padding:0;display:grid;border-top:1px solid var(--line)}
.richiesta__contatti li{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.richiesta__contatti a{font-weight:700;width:max-content;max-width:100%;padding:4px 0}
.richiesta__contatti a:hover{color:var(--yellow)}

.richiesta__form{display:grid;gap:24px;background:var(--steel);border:1px solid var(--line);padding:clamp(20px,3vw,36px)}
.richiesta__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px}
.campo{display:grid;gap:7px;align-content:start;min-width:0}
.campo--full{grid-column:1/-1}
.campo label{font-size:14px;font-weight:600;color:var(--ink)}
.campo label small{font-weight:400;color:var(--muted)}
.campo label span{color:var(--yellow)}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:12px 14px;background:var(--void);color:var(--ink);border:1px solid rgba(244,244,242,.22);border-radius:0;font:400 16px/1.4 var(--display);transition:border-color .25s,box-shadow .25s}
.campo textarea{resize:vertical;min-height:110px}
.campo select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.campo select option,.campo select optgroup{background:var(--steel);color:var(--ink)}
.campo input::placeholder,.campo textarea::placeholder{color:#8c8c88}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:rgba(244,244,242,.4)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 1px var(--yellow)}
.campo--err input,.campo--err select,.campo--err textarea{border-color:var(--errore)}
.campo__err{margin:0;font:600 12px/1.4 var(--mono);color:var(--errore)}
.campo__err:empty{display:none}
.campo--check{grid-template-columns:24px 1fr;gap:6px 12px;align-items:start}
.campo--check input{width:22px;height:22px;min-height:0;margin:2px 0 0;padding:0;accent-color:var(--yellow)}
.campo--check label{font-weight:400;font-size:14px;line-height:1.5;color:#d6d6d2}
.campo--check .campo__err{grid-column:2}
.richiesta__config{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:12px 14px;border-left:2px solid var(--yellow);background:rgba(242,210,10,.06)}
.richiesta [hidden]{display:none} /* senza: display:grid vince sull'attributo hidden e il riquadro "Configurazione scelta" compare vuoto */
.richiesta__config .lbl{grid-column:1}
.richiesta__config p{grid-column:1;font-size:14px}
.richiesta__rimuovi{grid-column:2;grid-row:1/3;font:600 12px var(--mono);text-decoration:underline;text-underline-offset:3px;color:var(--muted);padding:10px 4px}
.richiesta__rimuovi:hover{color:var(--ink)}
.richiesta__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* riepilogo dinamico (prezzi da assets/js/prezzi.js; il server ricalcola) */
.richiesta__riepilogo{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--yellow);background:rgba(242,210,10,.05);font-size:15px;line-height:1.5}
.richiesta__riepilogo:empty{display:none}
.richiesta__riepilogo p{margin:0}
.richiesta__riepilogo b{font-family:var(--mono);font-weight:700;white-space:nowrap}
.richiesta__riep-tit{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.richiesta__riep-tit b{font-family:var(--display)}
.richiesta__riep-qta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.richiesta__riep-nota{font:500 12px/1.5 var(--mono);color:#b4b4b0}
.richiesta__badge{display:inline-flex;align-items:center;padding:2px 7px;background:var(--yellow);color:var(--yellow-ink);font:700 13px/1.2 var(--mono);border:1px solid var(--yellow-ink)}
.campo--check label a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--yellow)}
.campo--check label a:hover{color:var(--yellow)}
@media (forced-colors:active){.richiesta__badge{border-color:CanvasText}}

.richiesta__invio{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.richiesta__invio .note{max-width:40ch;color:#a4a4a0}
.richiesta__form .btn.is-sending{opacity:.7;cursor:progress}
.richiesta__form .btn.is-sent{background:var(--ink)}
.richiesta__stato{font-size:15px;line-height:1.55;outline:none}
.richiesta__stato:empty{display:none}
.richiesta__stato.is-ok,.richiesta__stato.is-err{padding:16px 18px;border:1px solid var(--line);display:grid;gap:10px}
.richiesta__stato.is-ok{border-left:3px solid var(--yellow);background:rgba(242,210,10,.06)}
.richiesta__stato.is-err{border-left:3px solid var(--errore);background:rgba(255,157,143,.06)}
.richiesta__stato:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.richiesta__alt{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:4px}

@media (max-width:900px){
  .richiesta{grid-template-columns:1fr;padding-top:90px}
  .richiesta__intro{position:static}
}
@media (max-width:560px){
  .richiesta__grid{grid-template-columns:1fr}
  .richiesta__invio .btn{width:100%;justify-content:center}
  .richiesta__contatti li{grid-template-columns:80px 1fr}
}
