body.guide-modal-open{overflow:hidden}
.guide-modal{border:0;padding:0;margin:auto;width:min(960px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0006;border-radius:8px;overscroll-behavior:contain}
.guide-modal::backdrop{background:#05190dd1;backdrop-filter:blur(6px)}
.guide-modal[open]{animation:guide-enter .22s ease-out}
.guide-modal-grid{display:grid;grid-template-columns:39% 61%;min-height:625px}
.guide-modal-art{position:relative;background:#1ed75f;overflow:hidden;isolation:isolate}
.guide-modal-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;z-index:-1}
.guide-modal-art p{position:absolute;left:28px;right:20px;top:32px;font-size:27px;line-height:1.02;font-weight:900;letter-spacing:-.055em}
.guide-modal-content{padding:43px 42px 35px;min-width:0}
.guide-modal-close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);border:1px solid #10121230;border-radius:50%;cursor:pointer;z-index:2;color:var(--ink)}
.guide-modal-close .ico{width:20px;height:20px}
.guide-modal-eyebrow{font-size:11px;line-height:1.4;letter-spacing:.11em;font-weight:800;color:var(--green-ink);margin-bottom:14px}
.guide-modal h2{font-size:37px;font-weight:900;line-height:1.02;letter-spacing:-.055em;margin:0 0 15px}
.guide-modal-intro{font-size:15px;line-height:1.5;margin-bottom:25px;max-width:39ch}
.guide-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 15px}
.guide-field label{display:block;font-size:13px;font-weight:750;margin-bottom:7px}
.guide-field input{appearance:none;width:100%;min-width:0;height:47px;border:1px solid #a6afa3;background:#fff;padding:11px 12px;color:var(--ink);font:500 16px Montserrat,Arial,sans-serif;border-radius:3px}
.guide-field input:focus{outline:2px solid var(--green-ink);outline-offset:2px}
.guide-field input:user-invalid{border-color:#a62921}
.guide-consent{display:flex;align-items:flex-start;gap:11px;margin-top:21px;font-size:12px;line-height:1.5;cursor:pointer}
.guide-consent input{accent-color:#0d7036;width:19px;height:19px;margin-top:1px;flex:none;cursor:pointer}
.guide-consent a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.guide-modal-submit{width:100%;margin-top:21px;min-height:54px;font-size:15px}
.guide-modal-submit:disabled{cursor:wait;opacity:.7}
.guide-modal-meta{font-size:11px;color:#51604f;margin-top:11px;line-height:1.5}
.guide-status{font-size:13px;line-height:1.5;color:#a62921;margin-top:14px}
.guide-status:empty{display:none}
.guide-local-note{font-size:11px;line-height:1.4;color:#596454;border-top:1px solid #d5dace;padding-top:11px;margin-top:16px}
.guide-success{padding-top:38px}
.guide-success-icon{width:58px;height:58px;display:grid;place-items:center;background:var(--green);border-radius:50%;margin-bottom:25px;font-size:30px;font-weight:800}
.guide-success p{font-size:16px;line-height:1.6;margin:17px 0 27px}
.guide-success .button{font-size:14px;width:100%}
.guide-success-close{display:block;margin-top:22px;border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:650 13px Montserrat,Arial}
.guide-modal [hidden]{display:none!important}
@keyframes guide-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:680px){.guide-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.guide-modal-grid{display:block;min-height:0}.guide-modal-art{height:190px}.guide-modal-art img{left:auto;right:0;width:58%;object-position:50% 37%;height:100%;object-fit:cover}.guide-modal-art p{left:20px;top:30px;font-size:23px;width:44%;right:auto}.guide-modal-content{padding:25px 23px 27px}.guide-modal h2{font-size:32px}.guide-modal-intro{font-size:14px;margin-bottom:21px}.guide-modal-close{top:9px;right:9px}.guide-fields{gap:16px 12px}.guide-success{padding-top:4px}.guide-modal-eyebrow{margin-bottom:10px}}
@media(max-width:370px){.guide-fields{grid-template-columns:1fr}.guide-modal-content{padding-left:19px;padding-right:19px}}
@media(prefers-reduced-motion:reduce){.guide-modal[open]{animation:none}}
@media print{.guide-modal{display:none!important}}

/* ---------- modulo del libro (16 set 2026): indirizzo, cellulare facoltativo, ruolo ---------- */
.guide-modal-grid{min-height:0}
.guide-modal-art{display:grid;place-items:center;padding:36px 24px;min-height:100%}
.guide-modal-art p{position:static;margin-top:28px;text-align:center;color:var(--ink)}
.book-mini{--w:170px;--d:22px;animation:none;transform:rotateY(-22deg) rotateX(3deg);filter:drop-shadow(12px 22px 16px rgba(0,53,19,.35))}
.book-mini .book-title{font-size:23px}
.book-mini .book-author,.book-mini .book-sub{font-size:10px}
.guide-fields{grid-template-columns:repeat(6,minmax(0,1fr))}
.guide-field{grid-column:span 3}
.guide-field-full{grid-column:span 6}
.guide-field-zip{grid-column:span 2}
.guide-field-city{grid-column:span 3}
.guide-field-prov{grid-column:span 1}
.guide-field label small{font-weight:500;color:#51604f;font-size:12px;margin-left:4px}
.guide-field select{appearance:none;width:100%;height:47px;border:1px solid #a6afa3;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101212' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/18px;padding:11px 36px 11px 12px;color:var(--ink);font:500 16px Montserrat,Arial,sans-serif;border-radius:3px;cursor:pointer}
.guide-field select:focus{outline:2px solid var(--green-ink);outline-offset:2px}
.guide-field input.is-invalid,.guide-field select.is-invalid{border-color:#a62921;box-shadow:0 0 0 2px #a6292133}
.guide-field-prov input{text-transform:uppercase}
.guide-success .button + .button{margin-top:12px}
@media(max-width:680px){
  .guide-modal-art{height:auto;padding:22px 20px 18px;grid-template-columns:auto 1fr;gap:18px;justify-items:start}
  .guide-modal-art p{position:static;margin:0;text-align:left;width:auto;font-size:24px}
  .book-mini{--w:96px;--d:14px}
  .book-mini .book-title{font-size:14px}
  .book-mini .book-author,.book-mini .book-sub{font-size:7px}
  .guide-field{grid-column:span 6}
  .guide-field-zip,.guide-field-prov{grid-column:span 2}
  .guide-field-city{grid-column:span 4}
}
