/* Step 30 - Form invia segnalazione placeholder avanzato */
.spr-submit-head{padding-bottom:0}
.spr-submit-head h1{font-size:34px;margin-bottom:8px}
.spr-submit-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:34px;align-items:start}
.spr-submit-form{padding:26px 28px;border-radius:18px;background:#fff}
.spr-submit-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;margin:12px 0 16px;padding-top:4px}
.spr-submit-step:not(:first-child){border-top:1px solid var(--spr-border);padding-top:22px;margin-top:24px}
.spr-submit-step span{width:30px;height:30px;border-radius:999px;background:var(--spr-red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;box-shadow:0 10px 20px rgba(229,9,20,.15)}
.spr-submit-step h2{font-size:21px;line-height:1.2;margin:2px 0 5px;color:var(--spr-text)}
.spr-submit-step h2:after{display:none}
.spr-submit-step p{margin:0;color:var(--spr-muted);font-size:14px;line-height:1.45}
.spr-submit-fieldset{display:grid;gap:16px;margin-left:56px}
.spr-submit-fieldset label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:var(--spr-text)}
.spr-submit-fieldset label em{color:var(--spr-red);font-style:normal}
.spr-submit-fieldset input,.spr-submit-fieldset select,.spr-submit-fieldset textarea{width:100%;border:1px solid var(--spr-border);border-radius:9px;background:#fff;color:var(--spr-text);padding:13px 14px;font-size:14px;box-shadow:none}
.spr-submit-fieldset textarea{resize:vertical;min-height:118px;line-height:1.5}
.spr-submit-fieldset small{font-size:12px;color:var(--spr-muted);font-weight:500;line-height:1.35}
.spr-submit-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.spr-submit-location-grid input:disabled{background:#f8fafc;color:#64748b}
.spr-submit-media-fields{gap:14px}
.spr-submit-media-row{border-top:1px solid #eef2f7;padding-top:14px;display:grid;gap:10px}
.spr-submit-media-row:first-child{border-top:0;padding-top:0}
.spr-submit-media-row strong{display:block;font-size:14px;color:var(--spr-text);margin-bottom:4px}
.spr-submit-media-row p{margin:0;color:var(--spr-muted);font-size:13px;line-height:1.4}
.spr-submit-fileline{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center}
.spr-submit-fileline input[type=file]{padding:10px;background:#fff}
.spr-submit-add{width:max-content;border:1px solid var(--spr-border);background:#fff;border-radius:9px;padding:8px 12px;color:var(--spr-text);font-weight:800}
.spr-submit-final{gap:14px}
.spr-submit-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:700!important;color:var(--spr-text)!important}
.spr-submit-check input{width:auto!important;margin-top:3px}
.spr-submit-final .spr-btn{width:max-content}
.spr-submit-safe-note{border:1px solid #cfe4ff;background:#f3f8ff;border-radius:10px;padding:14px 16px;color:#27557f;font-size:13px;line-height:1.45}
.spr-submit-sidebar{display:grid;gap:20px;position:sticky;top:104px}
.spr-submit-sidebar .spr-card{padding:22px;border-radius:16px;background:#fff}
.spr-submit-sidebar h3{font-size:20px;margin:0 0 16px;color:var(--spr-text)}
.spr-submit-sidebar ol,.spr-submit-sidebar ul{margin:0;padding-left:20px;color:var(--spr-text)}
.spr-submit-sidebar li{margin:0 0 16px;line-height:1.45;color:var(--spr-muted)}
.spr-submit-sidebar li:last-child{margin-bottom:0}
.spr-submit-sidebar strong{color:var(--spr-text)}
.spr-submit-sidebar p{margin:0 0 13px;color:var(--spr-muted);line-height:1.5}
.spr-submit-sidebar .spr-btn{width:100%;justify-content:center}
.spr-form .spr-btn{width:auto}.spr-form input:focus,.spr-form textarea:focus,.spr-form select:focus{outline:2px solid rgba(229,9,20,.18);border-color:var(--spr-red)}
@media(max-width:980px){.spr-submit-layout{grid-template-columns:1fr}.spr-submit-sidebar{position:static}.spr-submit-fieldset{margin-left:0}.spr-submit-form{padding:22px}.spr-submit-location-grid{grid-template-columns:1fr}.spr-submit-fileline{grid-template-columns:1fr}}
@media(max-width:640px){.spr-submit-step{grid-template-columns:1fr}.spr-submit-fieldset{margin-left:0}.spr-submit-final .spr-btn{width:100%}.spr-submit-head h1{font-size:30px}}

/* Step 31 - Salvataggio base form segnalazione */
.spr-submit-message{margin-top:18px;border-radius:14px;padding:14px 16px;display:grid;gap:5px;max-width:920px;border:1px solid var(--spr-border);background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.05)}
.spr-submit-message strong{color:var(--spr-text);font-size:15px}
.spr-submit-message span{color:var(--spr-muted);font-size:14px;line-height:1.45}
.spr-submit-message-ok{border-color:#bbf7d0;background:#f0fdf4}
.spr-submit-message-error{border-color:#fecaca;background:#fef2f2}
.spr-submit-reference{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;margin:4px 0 6px;padding:10px 12px;border:1px solid #86efac;border-radius:10px;background:rgba(255,255,255,.68)}
.spr-submit-reference span{font-weight:700;color:var(--spr-text)}
.spr-submit-reference b{letter-spacing:.06em;color:#166534;font-size:15px}
.spr-submit-reference small{width:100%;color:var(--spr-muted);font-size:12px}
.spr-submit-final .spr-submit-safe-note strong{color:#163b60}


/* Step 31.1 - Regione / Provincia / Comune da JSON */
.spr-submit-location-cascade select:disabled{background:#f8fafc;color:#64748b;cursor:not-allowed}
.spr-submit-optional{font-size:12px;color:var(--spr-muted);font-weight:600;margin-left:4px}
.spr-submit-location-cascade.is-location-error:after{content:'Non è stato possibile caricare l’elenco comuni. Ricarica la pagina e riprova.';grid-column:1/-1;color:#b42318;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700}


/* Step 35 - Upload foto base form segnalazione */
.spr-submit-fileline-single{grid-template-columns:1fr}
.spr-submit-fileline input[type=file]:not(:disabled){border:1px solid #d7e0ea;border-radius:12px;background:#fff;color:var(--spr-text);cursor:pointer}

/* Rifinitura chirurgica form segnalazione: label obbligatorie, focus neutro */
.spr-submit-label-text{display:inline-flex;align-items:center;gap:4px;line-height:1.25}
.spr-submit-label-text em{display:inline;color:var(--spr-red);font-style:normal;line-height:1}
.spr-submit-fieldset input:focus,
.spr-submit-fieldset select:focus,
.spr-submit-fieldset textarea:focus{border-color:#9fb3c8!important;outline:2px solid rgba(15,23,42,.10)!important;box-shadow:0 0 0 1px rgba(15,23,42,.04)}
.spr-submit-fieldset input:focus-visible,
.spr-submit-fieldset select:focus-visible,
.spr-submit-fieldset textarea:focus-visible{border-color:#9fb3c8!important;outline:2px solid rgba(15,23,42,.10)!important;box-shadow:0 0 0 1px rgba(15,23,42,.04)}
.spr-submit-fieldset input:user-invalid,
.spr-submit-fieldset select:user-invalid,
.spr-submit-fieldset textarea:user-invalid{border-color:#d7e0ea}

/* Step coordinate precise: selezione manuale punto mappa nel form */
.spr-submit-map-picker{border:1px solid var(--spr-border);border-radius:14px;background:#f8fafc;padding:14px;display:grid;gap:12px}
.spr-submit-map-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.spr-submit-map-head strong{display:block;font-size:15px;color:var(--spr-text);line-height:1.3}
.spr-submit-map-head strong em{color:var(--spr-red);font-style:normal}
.spr-submit-map-head p{margin:5px 0 0;color:var(--spr-muted);font-size:13px;line-height:1.4;font-weight:500}
.spr-submit-map-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.spr-submit-map-actions .spr-btn,.spr-submit-map-modal-actions .spr-btn{min-height:38px;border-radius:10px;padding:9px 13px;font-size:13px;white-space:nowrap}
.spr-submit-map-actions .spr-btn:disabled{opacity:.55;cursor:not-allowed}
.spr-submit-map-canvas{height:360px;border-radius:13px;border:1px solid #cbd5e1;background:#e2e8f0;overflow:hidden;z-index:1}
.spr-submit-map-status{font-size:12px;color:var(--spr-muted);font-weight:700;line-height:1.35;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:9px 11px}
.spr-submit-map-picker.is-active .spr-submit-map-status{color:#164e63;background:#ecfeff;border-color:#bae6fd}
.spr-submit-map-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);z-index:99999;display:none;padding:24px}
.spr-submit-map-modal.is-open{display:flex;align-items:center;justify-content:center}
.spr-submit-map-modal-panel{width:min(1100px,100%);height:min(760px,92vh);background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.35);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.spr-submit-map-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid #e2e8f0}
.spr-submit-map-modal-head strong{display:block;font-size:18px;color:var(--spr-text);line-height:1.2}
.spr-submit-map-modal-head span{display:block;margin-top:4px;color:var(--spr-muted);font-size:13px;line-height:1.35}
.spr-map-modal-close{width:38px;height:38px;border:1px solid #e2e8f0;background:#fff;border-radius:999px;font-size:26px;line-height:1;color:var(--spr-text);cursor:pointer}
.spr-submit-map-modal-canvas{width:100%;height:100%;background:#e2e8f0;z-index:1}
.spr-submit-map-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}
@media(max-width:760px){.spr-submit-map-head{display:grid}.spr-submit-map-actions{justify-content:stretch}.spr-submit-map-actions .spr-btn{width:100%;justify-content:center}.spr-submit-map-canvas{height:300px}.spr-submit-map-modal{padding:0}.spr-submit-map-modal-panel{width:100%;height:100%;border-radius:0}.spr-submit-map-modal-actions{display:grid}.spr-submit-map-modal-actions .spr-btn{width:100%;justify-content:center}.spr-submit-map-modal-head{align-items:flex-start}}
.spr-antispam-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
