:root{--spr-navy:#071523;--spr-navy-2:#0b2033;--spr-red:#e50914;--spr-red-soft:#fff0f1;--spr-border:#e5e9ef;--spr-text:#102033;--spr-muted:#637083;--spr-bg:#f7f9fc;--spr-green:#18a34a;--spr-orange:#f59e0b;--spr-blue:#2563eb;--spr-purple:#7c3aed;--spr-radius:16px;--spr-shadow:0 12px 34px rgba(8,20,34,.08)}
*{box-sizing:border-box}.spr-site{margin:0;background:var(--spr-bg);color:var(--spr-text);font-family:Inter,Arial,sans-serif}.spr-site a{text-decoration:none;color:inherit}.spr-container{width:min(1140px,calc(100% - 40px));margin:0 auto}.spr-topbar{background:linear-gradient(90deg,#06131f,#0d2338);color:#fff;font-size:13px}.spr-topbar .spr-container{display:flex;justify-content:space-between;padding:12px 0}.spr-header{background:#fff;border-bottom:1px solid var(--spr-border);position:sticky;top:0;z-index:20}.spr-header-inner{display:flex;align-items:center;gap:28px;min-height:78px}.spr-logo{font-size:25px;font-weight:900;color:#06131f;display:flex;align-items:center;gap:6px}.spr-logo span:not(.spr-logo-icon){color:var(--spr-red)}.spr-logo-icon{font-size:28px}.spr-nav{display:flex;gap:28px;margin-left:auto;font-weight:700;font-size:14px}.spr-nav a:hover,.spr-red-text{color:var(--spr-red)}.spr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--spr-border);border-radius:9px;padding:13px 20px;font-weight:800;cursor:pointer;background:#fff}.spr-btn-red{background:var(--spr-red);border-color:var(--spr-red);color:#fff!important;box-shadow:0 10px 20px rgba(229,9,20,.18)}.spr-btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#fff!important}.spr-btn-light{background:#fff;color:#102033!important}.spr-full{width:100%}.spr-main{min-height:60vh}.spr-page-head{padding:34px 0 12px}.spr-page-head h1{font-size:42px;line-height:1.05;margin:18px 0 8px;color:#071523}.spr-page-head p{color:var(--spr-muted);font-size:17px}.spr-breadcrumb{font-size:13px;color:var(--spr-muted)}.spr-breadcrumb strong{color:var(--spr-red)}.spr-section{padding:28px 0}.spr-section h2{font-size:26px;margin:0 0 24px}.spr-section h2:after{content:"";display:block;width:42px;height:3px;background:var(--spr-red);border-radius:3px;margin-top:12px}.spr-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.spr-section-head a{font-weight:800}.spr-card,.spr-filter-box,.spr-sidebar{background:#fff;border:1px solid var(--spr-border);border-radius:var(--spr-radius);box-shadow:var(--spr-shadow)}.spr-filter-box{padding:22px;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;align-items:end}.spr-filter-box label,.spr-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:var(--spr-muted)}.spr-filter-box input,.spr-filter-box select,.spr-form input,.spr-form select,.spr-form textarea,.spr-toolbar select{width:100%;border:1px solid var(--spr-border);border-radius:8px;padding:13px 14px;background:#fff;color:var(--spr-text)}.spr-chip-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.spr-chip-row span{background:#fff;border:1px solid var(--spr-border);border-radius:9px;padding:11px 18px;font-weight:800}.spr-chip-row .active{background:var(--spr-red-soft);border-color:#ffb8bd;color:var(--spr-red)}.spr-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.spr-kpi{background:#fff;border:1px solid var(--spr-border);border-radius:14px;padding:22px;box-shadow:var(--spr-shadow)}.spr-kpi-icon{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;color:#fff}.spr-kpi strong{display:block;font-size:27px;color:#06131f}.spr-kpi em,.spr-kpi small{display:block;font-style:normal;color:var(--spr-muted);font-size:13px}.spr-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.spr-report-grid-2,.spr-report-grid-cols-2{grid-template-columns:repeat(2,1fr)}.spr-report-grid-3,.spr-report-grid-cols-3{grid-template-columns:repeat(3,1fr)}.spr-report-grid-cols-4{grid-template-columns:repeat(4,1fr)}.spr-report-card{overflow:hidden}.spr-thumb{height:150px;display:block;position:relative;background:linear-gradient(135deg,#243447,#95a5b8)}.spr-thumb-road{background:linear-gradient(135deg,#4b5563,#111827)}.spr-thumb-trash{background:linear-gradient(135deg,#285943,#88927c)}.spr-thumb-park,.spr-thumb-trees{background:linear-gradient(135deg,#166534,#bbf7d0)}.spr-thumb-light{background:linear-gradient(135deg,#0f172a,#60a5fa)}.spr-thumb-wall{background:linear-gradient(135deg,#6b21a8,#f59e0b)}.spr-card-body{padding:14px}.spr-card h3{font-size:17px;line-height:1.2;margin:0 0 10px}.spr-card p{color:var(--spr-muted);font-size:13px}.spr-card-meta{display:flex;justify-content:space-between;color:var(--spr-muted);font-size:12px;margin-top:12px}.spr-badge,.spr-status{display:inline-flex;align-items:center;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:900;text-transform:uppercase}.spr-badge{position:absolute;top:10px;left:10px;color:#fff}.spr-status{margin-top:12px;text-transform:none}.spr-red{background:var(--spr-red);color:#fff}.spr-orange{background:var(--spr-orange);color:#fff}.spr-green{background:var(--spr-green);color:#fff}.spr-blue{background:var(--spr-blue);color:#fff}.spr-purple{background:var(--spr-purple);color:#fff}.spr-status.spr-red{background:#ffe6e8;color:var(--spr-red)}.spr-status.spr-orange{background:#fff4d8;color:#a16207}.spr-status.spr-green{background:#dcfce7;color:#166534}.spr-sidebar{padding:22px;align-self:start}.spr-sidebar h3{margin:0 0 16px}.spr-sidebar .spr-map-box{height:260px}.spr-two-col{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px}.spr-map-box{height:420px;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(160deg,#c7e5ff,#eefbd5 45%,#c7e5ff 46%,#d7f0bd);border:1px solid var(--spr-border)}.spr-map-box:before{content:"Mar Tirreno      Roma      Napoli      Sicilia";position:absolute;inset:45px 30px;color:#366c98;font-weight:800;opacity:.45}.spr-marker{position:absolute;width:38px;height:38px;border-radius:50%;background:var(--spr-red);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.18)}.spr-marker.m1{left:45%;top:38%}.spr-marker.m2{left:58%;top:23%;background:var(--spr-orange)}.spr-marker.m3{left:74%;top:28%;background:var(--spr-green)}.spr-marker.m4{left:66%;top:62%}.spr-marker.m5{left:32%;top:56%}.spr-map-legend{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin:16px;color:var(--spr-muted);font-size:13px}.spr-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0}.spr-list-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--spr-border);padding:9px 0}.spr-footer{background:linear-gradient(90deg,#06131f,#0d2338);color:#dce7f2;margin-top:35px}.spr-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding:42px 0}.spr-footer a{display:block;margin:9px 0;color:#dce7f2}.spr-logo-footer{color:#fff}.spr-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;color:#b9c5d2}.spr-footer-bottom span{margin-left:25px}.spr-center{text-align:center}.spr-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.spr-category-card{padding:28px}.spr-category-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px}.spr-detail{min-width:0}.spr-gallery-main{height:340px;border-radius:16px}.spr-tabs{display:flex;gap:8px;margin:14px 0}.spr-tabs span{padding:10px 16px;border:1px solid var(--spr-border);border-radius:8px;background:#fff;font-weight:800}.spr-tabs .active{background:var(--spr-red);color:#fff}.spr-video-placeholder,.spr-comment,.spr-chart-placeholder{border:1px dashed #b9c5d2;border-radius:12px;padding:22px;background:#fff;color:var(--spr-muted);margin-bottom:12px}.spr-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.spr-timeline div{background:#fff;border:1px solid var(--spr-border);border-radius:12px;padding:14px;text-align:center}.spr-timeline b{display:inline-flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;background:#e9eef5}.spr-timeline .done b{background:var(--spr-red);color:#fff}.spr-form{padding:24px}.spr-form textarea{min-height:130px}.spr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spr-form>*{margin-bottom:16px}.spr-form-steps{display:flex;gap:10px}.spr-form-steps span{background:#eef2f7;padding:10px 14px;border-radius:20px;font-weight:800}.spr-form-steps .active{background:var(--spr-red);color:#fff}.spr-upload-box{border:2px dashed #cbd5e1;border-radius:14px;padding:28px;text-align:center;background:#f8fafc;color:var(--spr-muted)}.spr-check{flex-direction:row!important;align-items:center!important}.spr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.spr-steps div{background:#fff;border-radius:16px;padding:26px;border:1px solid var(--spr-border)}.spr-steps b{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--spr-red);color:#fff;align-items:center;justify-content:center}.spr-steps strong{display:block;margin:16px 0 8px}@media(max-width:980px){.spr-nav{display:none}.spr-header-inner{justify-content:space-between}.spr-filter-box,.spr-report-grid,.spr-report-grid-2,.spr-report-grid-3,.spr-report-grid-cols-2,.spr-report-grid-cols-3,.spr-report-grid-cols-4,.spr-kpi-grid,.spr-two-col,.spr-footer-grid,.spr-category-grid,.spr-steps{grid-template-columns:1fr}.spr-hero-content h1,.spr-page-head h1{font-size:34px}.spr-map-box{height:330px}.spr-container{width:min(100% - 24px,1140px)}}

/* Step 2 refinement */
.spr-eyebrow{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 14px;font-weight:900;margin-bottom:18px}
.spr-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:42px}
.spr-hero-panel{background:#fff;color:var(--spr-text);border-radius:22px;padding:24px;box-shadow:0 22px 60px rgba(0,0,0,.18)}
.spr-hero-panel h3{font-size:24px;margin:12px 0 8px;color:#071523}
.spr-home-map-section{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.spr-home-side-card{padding:24px;margin-top:52px}
.spr-distance{position:absolute;right:10px;bottom:10px;background:#fff;color:#071523;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;box-shadow:var(--spr-shadow)}
.spr-toolbar-card{background:#fff;border:1px solid var(--spr-border);border-radius:16px;padding:16px;box-shadow:var(--spr-shadow)}
.spr-toolbar-card select{flex:1}
.spr-profile-grid{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-bottom:22px}
.spr-avatar-large{width:140px;height:140px}
.spr-partner-panel{padding:24px;margin-bottom:22px}
.spr-partner-panel label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:var(--spr-muted);margin-bottom:16px}
.spr-partner-panel input,.spr-partner-panel select,.spr-partner-panel textarea{width:100%;border:1px solid var(--spr-border);border-radius:8px;padding:13px 14px;background:#fff;color:var(--spr-text)}
.spr-partner-panel textarea{min-height:120px}
@media(max-width:980px){.spr-hero-grid,.spr-home-map-section,.spr-profile-grid{grid-template-columns:1fr}.spr-hero-panel,.spr-home-side-card{margin-top:0}.spr-toolbar-card{display:grid}.spr-toolbar-card select{width:100%}}

/* Step 2.1 - correzione tipografia standard */
.spr-site{font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.45}
.spr-site p,.spr-site li{font-size:14px;line-height:1.45}
.spr-topbar{font-size:12px}
.spr-header-inner{min-height:70px;gap:24px}
.spr-logo{font-size:22px}.spr-logo-icon{font-size:24px}
.spr-nav{font-size:13px;gap:22px}
.spr-btn{padding:10px 16px;font-size:14px}
.spr-page-head h1{font-size:34px;line-height:1.1}
.spr-page-head p{font-size:15px}
.spr-section{padding:24px 0}.spr-section h2{font-size:22px;margin-bottom:20px}
.spr-filter-box,.spr-sidebar{padding:18px}
.spr-filter-box input,.spr-filter-box select,.spr-form input,.spr-form select,.spr-form textarea,.spr-toolbar select{padding:10px 12px;font-size:14px}
.spr-chip-row span{padding:9px 14px;font-size:14px}
.spr-kpi{padding:18px}.spr-kpi strong{font-size:22px}
.spr-card h3{font-size:15px;line-height:1.25;margin-bottom:8px}.spr-card p{font-size:13px}
.spr-footer-grid{padding:34px 0;gap:34px;font-size:14px}.spr-footer p,.spr-footer a{font-size:14px}
.spr-category-card,.spr-form{padding:20px}
.spr-steps div{padding:22px;font-size:14px}.spr-steps strong{font-size:15px;margin:14px 0 6px}
.spr-hero-panel h3{font-size:20px}.spr-home-side-card,.spr-partner-panel{padding:20px}
@media(max-width:980px){.spr-hero-content h1,.spr-page-head h1{font-size:30px}}

/* Step 2.7 - pagina Accedi e pagina Partner pubblica */
.spr-nav-accedi{color:var(--spr-red)!important;border-bottom:3px solid var(--spr-red);padding-bottom:10px}
.spr-login-page{padding:28px 0 0}.spr-login-grid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:56px;align-items:start;margin-top:30px}.spr-login-info h1{font-size:36px;line-height:1.08;margin:22px 0 10px;color:var(--spr-navy)}.spr-login-info>p{font-size:16px;color:var(--spr-muted);max-width:560px}.spr-login-benefit{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--spr-border);border-radius:12px;padding:16px 18px;margin:12px 0;box-shadow:0 8px 24px rgba(8,20,34,.04)}.spr-login-benefit strong{display:block;margin-bottom:4px}.spr-login-benefit p{margin:0;color:var(--spr-muted)}.spr-login-icon{width:48px;height:48px;border:2px solid currentColor;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}.spr-login-icon-red{color:var(--spr-red)}.spr-login-icon-orange{color:var(--spr-orange)}.spr-login-icon-green{color:var(--spr-green)}.spr-login-icon-blue{color:var(--spr-blue)}.spr-login-preview{padding:16px;margin-top:16px;max-width:420px}.spr-login-preview>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.spr-login-preview b span{color:var(--spr-red)}.spr-login-preview button{border:0;background:transparent;font-size:22px}.spr-login-preview p span{display:inline-block;background:#fff1f2;color:var(--spr-red);font-size:11px;font-weight:800;border-radius:7px;padding:6px 8px;margin-right:5px}.spr-login-preview article{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;border:1px solid var(--spr-border);border-radius:10px;padding:10px;margin-top:10px}.spr-login-preview article em{height:56px;border-radius:8px;background:linear-gradient(135deg,#374151,#d1d5db)}.spr-login-preview article small{display:block;color:var(--spr-muted);margin-top:4px}.spr-login-preview mark{background:#ffe6e8;color:var(--spr-red);border-radius:6px;padding:5px 7px;font-weight:800}.spr-login-preview .spr-skeleton em,.spr-login-preview .spr-skeleton span{background:#eef2f7}.spr-login-preview .spr-skeleton span{height:22px;border-radius:8px}.spr-login-box{padding:28px;border-radius:18px}.spr-login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.spr-login-tabs button{border:1px solid var(--spr-border);border-radius:10px;background:#fff;padding:16px;font-weight:800;color:var(--spr-muted)}.spr-login-tabs button.active{border-color:#ff5b63;background:#fff7f8;color:var(--spr-red);box-shadow:0 0 0 1px #ff5b63 inset}.spr-login-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:var(--spr-muted);margin-bottom:18px}.spr-login-form input[type=text],.spr-login-form input[type=password]{border:1px solid var(--spr-border);border-radius:9px;padding:14px 16px;font-size:14px}.spr-login-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.spr-login-row label{flex-direction:row;margin:0;font-weight:400}.spr-login-row a,.spr-login-links a{color:var(--spr-red);font-weight:800}.spr-login-divider{display:flex;align-items:center;gap:14px;color:var(--spr-muted);font-weight:700;margin:22px 0}.spr-login-divider:before,.spr-login-divider:after{content:"";height:1px;background:var(--spr-border);flex:1}.spr-login-links{border:1px solid var(--spr-border);border-radius:12px;padding:6px 18px;margin-bottom:24px}.spr-login-links p+p{border-top:1px solid var(--spr-border);padding-top:13px}.spr-login-safe{display:flex;gap:16px;align-items:center;border:1px solid var(--spr-border);border-radius:12px;padding:18px}.spr-login-safe>span{width:46px;height:46px;border-radius:50%;border:2px solid var(--spr-green);color:var(--spr-green);display:flex;align-items:center;justify-content:center;font-weight:900}.spr-login-safe p{margin:4px 0 0;color:var(--spr-muted)}.spr-login-cards,.spr-partner-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0}.spr-login-cards article,.spr-partner-public-card{padding:24px}.spr-login-cards h3,.spr-partner-public-card h2{margin:12px 0 8px}.spr-partner-public-card p{min-height:66px}.spr-partner-public-head p{max-width:780px}@media(max-width:980px){.spr-login-grid,.spr-login-cards,.spr-partner-public-grid{grid-template-columns:1fr}.spr-login-grid{gap:28px}.spr-login-info h1{font-size:30px}.spr-login-box{padding:20px}}


/* Step 2.9 - registrazione partner */
.spr-register-page{padding:28px 0 0}.spr-register-grid{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:42px;align-items:start;margin-top:26px}.spr-register-info h1{font-size:34px;line-height:1.08;margin:18px 0 12px;color:var(--spr-navy)}.spr-register-info>p{font-size:16px;color:var(--spr-muted);max-width:620px}.spr-register-benefit{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--spr-border);border-radius:12px;padding:16px 18px;margin:12px 0;box-shadow:0 8px 24px rgba(8,20,34,.04)}.spr-register-benefit strong{display:block;margin-bottom:4px}.spr-register-benefit p{margin:0;color:var(--spr-muted)}.spr-register-preview{padding:16px;margin-top:16px;max-width:430px}.spr-register-preview-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.spr-register-preview-top b span{color:var(--spr-red)}.spr-register-preview-top button{border:0;background:transparent;font-size:22px}.spr-register-preview-header{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px}.spr-register-preview-header small{display:block;color:var(--spr-muted);margin-top:4px}.spr-register-preview-badge{display:inline-block;background:#ecfdf3;color:#198754;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.spr-register-preview p{color:var(--spr-muted);margin:0 0 12px}.spr-register-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 0;border-top:1px solid var(--spr-border);border-bottom:1px solid var(--spr-border);margin-bottom:12px}.spr-register-preview-stats span{font-size:11px;color:var(--spr-muted)}.spr-register-preview-stats b{display:block;color:var(--spr-navy);font-size:13px;margin-top:4px}.spr-register-preview-list{list-style:none;padding:0;margin:0}.spr-register-preview-list li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #eef2f7;font-size:13px}.spr-register-preview-list li:first-child{border-top:0}.spr-badge-green,.spr-badge-blue,.spr-badge-orange{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.spr-badge-green{background:#ecfdf3;color:#198754}.spr-badge-blue{background:#ebf3ff;color:#2d6cdf}.spr-badge-orange{background:#fff7e6;color:#c98200}.spr-register-box{padding:28px;border-radius:18px}.spr-register-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.spr-register-tabs button{border:1px solid var(--spr-border);border-radius:10px;background:#fff;padding:16px;font-weight:700;color:var(--spr-muted)}.spr-register-tabs button.active{border-color:#ff5b63;background:#fff7f8;color:var(--spr-red);box-shadow:0 0 0 1px #ff5b63 inset}.spr-register-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;color:var(--spr-muted);margin-bottom:16px}.spr-register-form input,.spr-register-form select,.spr-register-form textarea{border:1px solid var(--spr-border);border-radius:9px;padding:14px 16px;font-size:14px;background:#fff;color:var(--spr-text);width:100%}.spr-register-form textarea{min-height:106px;resize:vertical}.spr-register-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.spr-register-choice-label{font-size:13px;font-weight:700;color:var(--spr-muted);margin:2px 0 10px}.spr-register-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.spr-register-choice{border:1px solid var(--spr-border);background:#fff;border-radius:10px;padding:14px 10px;font-size:13px;font-weight:700;color:var(--spr-muted)}.spr-register-choice.active{border-color:#ff5b63;color:var(--spr-red);background:#fff7f8}.spr-register-checks{display:grid;gap:10px;margin:10px 0 18px}.spr-register-checks label{font-size:13px;font-weight:400;color:var(--spr-text);display:flex;flex-direction:row;gap:8px;align-items:flex-start;margin:0}.spr-register-checks a{color:var(--spr-red);font-weight:700}.spr-register-safe{display:flex;gap:16px;align-items:center;border:1px solid #dff3e4;background:#f4fff7;border-radius:12px;padding:18px;margin-top:18px}.spr-register-safe>span{width:46px;height:46px;border-radius:50%;border:2px solid var(--spr-green);color:var(--spr-green);display:flex;align-items:center;justify-content:center;font-weight:900}.spr-register-safe p{margin:4px 0 0;color:var(--spr-muted)}.spr-register-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:34px 0}.spr-register-card{padding:24px}.spr-register-card h3{margin:12px 0 10px}.spr-register-card ol,.spr-register-card ul{margin:0 0 18px;padding-left:18px;color:var(--spr-muted)}.spr-register-card li{margin:0 0 10px}.spr-partner-sidebar a{font-weight:400!important}.spr-partner-sidebar a strong{font-weight:400!important}@media(max-width:980px){.spr-register-grid,.spr-register-cards{grid-template-columns:1fr}.spr-register-grid{gap:28px}.spr-register-info h1{font-size:30px}.spr-register-box{padding:20px}.spr-register-form-grid,.spr-register-choice-grid,.spr-register-preview-stats{grid-template-columns:1fr}}


/* Step 3 - consolidamento navigazione e link */
.spr-nav a{border-bottom:3px solid transparent;padding-bottom:10px}.spr-nav a.active{color:var(--spr-red);border-bottom-color:var(--spr-red)}.spr-nav-accedi{color:inherit!important}.spr-nav-accedi.active{color:var(--spr-red)!important}.spr-logo-footer{display:flex;text-decoration:none}.spr-footer a[href]{cursor:pointer}.spr-register-box .spr-btn-light{color:var(--spr-red)!important;font-weight:800}


/* Step 14 - Header/Menu dinamico frontend */
.spr-header-inner{min-height:var(--spr-header-height,78px)}
.spr-header-static{position:relative!important;top:auto!important}
.spr-header-cta{background:var(--spr-header-cta-color,#e50914)!important;border-color:var(--spr-header-cta-color,#e50914)!important}
@media(max-width:980px){.spr-header-inner{min-height:var(--spr-header-mobile-height,68px)}}


/* Step 14.2 - dimensione logo header */
.spr-logo-img{
    display:block;
    max-height:var(--spr-logo-max-height,46px);
    max-width:var(--spr-logo-max-width,220px);
    width:auto;
    object-fit:contain;
}


/* Step 14.3 - Header/Menu responsive base */
.spr-menu-toggle{
    display:none;
    width:42px;
    height:42px;
    border:1px solid var(--spr-border);
    border-radius:10px;
    background:#fff;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}
.spr-menu-toggle span{
    display:block;
    width:19px;
    height:2px;
    border-radius:2px;
    background:var(--spr-navy);
}
@media(max-width:1100px){
    .spr-header-inner{
        gap:16px;
    }
    .spr-nav{
        gap:16px;
        font-size:13px;
    }
    .spr-header-cta{
        padding:11px 14px;
        white-space:nowrap;
    }
}
@media(max-width:900px){
    .spr-header{
        position:sticky;
        top:0;
    }
    .spr-header-inner{
        min-height:var(--spr-header-mobile-height,68px);
        position:relative;
    }
    .spr-logo{
        font-size:22px;
        max-width:calc(100% - 110px);
        overflow:hidden;
        white-space:nowrap;
    }
    .spr-logo-img{
        max-height:min(var(--spr-logo-max-height,46px),42px);
        max-width:min(var(--spr-logo-max-width,220px),180px);
    }
    .spr-menu-toggle{
        display:inline-flex;
        margin-left:auto;
        flex:0 0 auto;
    }
    .spr-nav{
        display:none;
        position:absolute;
        left:0;
        right:0;
        top:100%;
        margin-left:0;
        padding:12px;
        background:#fff;
        border:1px solid var(--spr-border);
        border-radius:0 0 14px 14px;
        box-shadow:var(--spr-shadow);
        flex-direction:column;
        gap:4px;
        z-index:50;
    }
    .spr-header.is-menu-open .spr-nav{
        display:flex;
    }
    .spr-nav a{
        display:block;
        padding:12px 10px;
        border-radius:9px;
    }
    .spr-nav a.active{
        background:var(--spr-red-soft);
        color:var(--spr-red);
    }
    .spr-header-cta{
        padding:10px 12px;
        font-size:13px;
    }
}
@media(max-width:640px){
    .spr-header-cta{
        display:none!important;
    }
    .spr-logo{
        max-width:calc(100% - 58px);
    }
}


/* Step 17 - Topbar dinamica frontend */
.spr-topbar{
    background:var(--spr-topbar-bg,#071523);
    color:var(--spr-topbar-color,#fff);
    font-size:var(--spr-topbar-font-size,13px);
}
.spr-topbar .spr-container{
    min-height:var(--spr-topbar-height,42px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0;
}
.spr-topbar-align-center .spr-container{
    justify-content:center;
}
.spr-topbar-align-center .spr-topbar-left{
    display:none;
}
.spr-topbar-right{
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.spr-topbar-social{
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:var(--spr-topbar-color,#fff);
    overflow:hidden;
}
.spr-topbar-social img{
    width:18px;
    height:18px;
    object-fit:contain;
    display:block;
}
.spr-topbar-social span{
    font-size:12px;
    font-weight:800;
    line-height:1;
}
@media(max-width:700px){
    .spr-topbar .spr-container{
        min-height:var(--spr-topbar-mobile-height,36px);
        font-size:12px;
    }
    .spr-topbar-hide-mobile{
        display:none!important;
    }
}


/* Step 20 - Footer dinamico frontend */
.spr-footer-dynamic{
    background:var(--spr-footer-bg,#071d33)!important;
    color:var(--spr-footer-text,#fff);
    margin-top:35px;
}
.spr-footer-dynamic .spr-footer-grid{
    padding:var(--spr-footer-padding,56px 0 28px);
    grid-template-columns:1.5fr repeat(var(--spr-footer-visible-cols,3),1fr);
}
.spr-footer-cols-3 .spr-footer-grid{
    grid-template-columns:1.5fr repeat(3,1fr);
}
.spr-footer-cols-4 .spr-footer-grid{
    grid-template-columns:1.5fr repeat(4,1fr);
}
.spr-footer-dynamic a,
.spr-footer-dynamic .spr-footer-column p{
    color:var(--spr-footer-link,#dbe8f4);
}
.spr-footer-dynamic a:hover{
    color:var(--spr-footer-hover,#ef0016);
}
.spr-footer-dynamic .spr-logo-footer{
    color:var(--spr-footer-text,#fff);
}
.spr-footer-dynamic .spr-logo-footer span:not(.spr-logo-icon){
    color:var(--spr-footer-logo,#ef0016);
}
.spr-footer-brand p{
    color:var(--spr-footer-description,#fff);
    margin:14px 0 18px;
    max-width:330px;
}
.spr-footer-logo-img{
    max-height:48px;
    max-width:220px;
    width:auto;
    object-fit:contain;
    display:block;
}
.spr-footer-socials{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    align-items:center;
}
.spr-footer-social{
    width:28px;
    height:28px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.18);
    margin:0!important;
    overflow:hidden;
    font-weight:800;
}
.spr-footer-social img{
    width:20px;
    height:20px;
    object-fit:contain;
    display:block;
}
.spr-footer-column h4{
    color:var(--spr-footer-text,#fff);
}
.spr-footer-column p{
    margin:9px 0;
    line-height:1.45;
}
.spr-footer-dynamic .spr-footer-bottom{
    color:var(--spr-footer-link,#dbe8f4);
}
.spr-footer-dynamic .spr-footer-bottom a{
    display:inline;
    margin:0 0 0 12px;
}
.spr-footer-legal{
    margin-left:25px;
}
@media(max-width:980px){
    .spr-footer-dynamic .spr-footer-grid,
    .spr-footer-cols-3 .spr-footer-grid,
    .spr-footer-cols-4 .spr-footer-grid{
        grid-template-columns:1fr;
        padding:var(--spr-footer-padding-mobile,38px 0 22px);
    }
    .spr-footer-hide-mobile{
        display:none!important;
    }
    .spr-footer-legal,
    .spr-footer-bottom span{
        display:block;
        margin:8px 0 0;
    }
}

/* Step 23 - Colori / Palette collegamento frontend */
.spr-colors-frontend .spr-teal{background:var(--spr-teal);color:#fff}
.spr-colors-frontend .spr-nav a:hover,
.spr-colors-frontend .spr-section-head a,
.spr-colors-frontend .spr-login-row a,
.spr-colors-frontend .spr-login-links a,
.spr-colors-frontend .spr-register-checks a{color:var(--spr-red)}
.spr-colors-frontend .spr-card,
.spr-colors-frontend .spr-filter-box,
.spr-colors-frontend .spr-sidebar,
.spr-colors-frontend .spr-form input,
.spr-colors-frontend .spr-form select,
.spr-colors-frontend .spr-form textarea{border-color:var(--spr-border)}
.spr-cards-primary-accent .spr-badge{background:var(--spr-red)!important;color:#fff}
.spr-cards-primary-accent .spr-status{background:var(--spr-red-soft)!important;color:var(--spr-red)!important}
.spr-cards-neutral .spr-badge{background:var(--spr-navy)!important;color:#fff}
.spr-cards-neutral .spr-status{background:#eef2f7!important;color:var(--spr-text)!important}
.spr-forms-primary-accent .spr-form input:focus,
.spr-forms-primary-accent .spr-form select:focus,
.spr-forms-primary-accent .spr-form textarea:focus{border-color:var(--spr-red);outline:2px solid var(--spr-red-soft)}
.spr-forms-neutral .spr-btn-red{background:var(--spr-navy);border-color:var(--spr-navy)}

/* Step 24 - CTA / Bottoni collegamento frontend */
.spr-buttons-frontend .spr-btn{
    border-radius:var(--spr-btn-radius,9px);
    padding:var(--spr-btn-padding-y,13px) var(--spr-btn-padding-x,20px);
    font-weight:var(--spr-btn-font-weight,800);
    text-transform:var(--spr-btn-text-transform,none);
    gap:var(--spr-btn-icon-gap,8px);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.spr-buttons-frontend .spr-btn-red{
    background:var(--spr-btn-primary-bg,var(--spr-red))!important;
    border-color:var(--spr-btn-primary-border,var(--spr-red))!important;
    color:var(--spr-btn-primary-text,#fff)!important;
}
.spr-buttons-frontend .spr-btn-light{
    background:var(--spr-btn-secondary-bg,#fff)!important;
    border-color:var(--spr-btn-secondary-border,var(--spr-border))!important;
    color:var(--spr-btn-secondary-text,#102033)!important;
}
.spr-buttons-frontend .spr-btn-ghost{
    background:var(--spr-btn-ghost-bg,rgba(255,255,255,.08))!important;
    border-color:var(--spr-btn-ghost-border,rgba(255,255,255,.55))!important;
    color:var(--spr-btn-ghost-text,#fff)!important;
}
.spr-buttons-shadow-none .spr-btn{box-shadow:none!important}
.spr-buttons-shadow-soft .spr-btn-red{box-shadow:0 10px 20px rgba(229,9,20,.18)}
.spr-buttons-shadow-strong .spr-btn-red{box-shadow:0 16px 34px rgba(229,9,20,.28)}
.spr-buttons-hover-lift .spr-btn:hover{transform:translateY(-1px)}
.spr-buttons-hover-darken .spr-btn:hover{filter:brightness(.92)}
.spr-buttons-frontend .spr-header-cta.spr-btn-red{
    background:var(--spr-btn-primary-bg,var(--spr-red))!important;
    border-color:var(--spr-btn-primary-border,var(--spr-red))!important;
    color:var(--spr-btn-primary-text,#fff)!important;
}
.spr-header-cta-small .spr-header-cta{padding:9px 14px;font-size:13px}
.spr-header-cta-large .spr-header-cta{padding:15px 24px;font-size:15px}
@media(max-width:700px){
    .spr-buttons-mobile-full .spr-btn:not(.spr-menu-toggle){width:100%}
}

/* Step 29.2 - card reali con fallback demo per dati non ancora presenti */
.spr-card-icon-meta{display:grid;gap:7px;margin-top:12px;color:var(--spr-muted);font-size:12px}
.spr-card-icon-meta span{display:block;line-height:1.35}
.spr-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px}
.spr-card-icon-meta-inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:0}
.spr-card-bottom .spr-status{margin-top:0;white-space:nowrap}
.spr-gallery-main.spr-thumb-real{background-size:cover;background-position:center}
@media(max-width:620px){.spr-card-bottom{align-items:flex-start;flex-direction:column}.spr-card-bottom .spr-status{align-self:flex-start}}


/* Step 35.1 - gallery foto dettaglio e link BO verso layout plugin */
.spr-photo-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.spr-photo-gallery a{display:block;min-height:92px;border:1px solid var(--spr-border);border-radius:12px;background-size:cover;background-position:center;box-shadow:0 8px 18px rgba(15,23,42,.08)}
@media(max-width:760px){.spr-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.spr-photo-gallery a{min-height:110px}}


/* Step 35.4 - dettaglio: media puliti, niente tab/video placeholder */
.spr-gallery-section{margin-top:14px}
.spr-gallery-section h2{margin:0 0 10px}


/* Step 35.5 - Stato segnalazione pulito nel dettaglio */
.spr-status-block{margin:18px 0 20px}
.spr-status-box{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--spr-border);border-radius:14px;background:#fff;box-shadow:var(--spr-shadow);padding:16px 18px}
.spr-status-box .spr-status{margin-top:0;white-space:nowrap}
.spr-status-box p{margin:0;color:var(--spr-muted);font-size:14px;line-height:1.45}

/* Video YouTube nella pagina della segnalazione: disponibile solo dopo pubblicazione. */
.spr-report-video{margin:26px 0}
.spr-report-video h2{margin-bottom:12px}
.spr-report-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--spr-border);border-radius:14px;background:#0b1220;box-shadow:var(--spr-shadow)}
.spr-report-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}


/* Step Partner 1: routing pubblico e protezione accesso area partner */
.spr-partner-public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.spr-partner-public-card strong{display:inline-block;margin-top:10px;color:var(--spr-red);font-size:13px}.spr-partner-public-split{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:22px;margin:0 auto 42px}.spr-partner-public-info{padding:28px}.spr-partner-public-info h2{margin:6px 0 14px;color:var(--spr-navy)}.spr-partner-public-info ol{margin:0 0 16px;padding-left:20px;color:var(--spr-muted)}.spr-partner-public-info li{margin-bottom:10px}.spr-section-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--spr-red)}.spr-muted-note{color:var(--spr-muted);margin:0}.spr-partner-public-demo{max-width:none;margin-top:0}.spr-partner-gate{padding:42px 0 64px}.spr-partner-gate-card{display:flex;gap:22px;align-items:flex-start;padding:30px;max-width:860px}.spr-partner-gate-card h1{margin:0 0 10px;color:var(--spr-navy)}.spr-partner-gate-card p{color:var(--spr-muted);max-width:680px}.spr-partner-gate-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}@media(max-width:980px){.spr-partner-public-split{grid-template-columns:1fr}.spr-partner-gate-card{display:block}.spr-partner-gate-card>.spr-login-icon{margin-bottom:16px}}

/* Step 44.1 - Partner public alignment fix */
.spr-partner-public-grid{
    margin:34px auto;
}
.spr-partner-public-card{
    min-height:260px;
    display:flex;
    flex-direction:column;
}
.spr-partner-public-card strong{
    margin-top:auto;
}

/* Step beta partner: box donazione separato dai profili */
.spr-donation-box{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin:22px 0;padding:24px;border-left:4px solid var(--spr-red);background:#fff}
.spr-donation-box h2{margin:4px 0 10px;color:var(--spr-navy);font-size:clamp(24px,3vw,34px)}
.spr-donation-box p{margin:0 0 10px;color:var(--spr-muted);line-height:1.6}.spr-donation-disclaimer{font-size:13px}.spr-donation-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.spr-donation-box-footer{margin:24px auto 0;max-width:1180px;background:rgba(255,255,255,.06);border-color:var(--spr-footer-hover,var(--spr-red))}.spr-donation-box-footer h2,.spr-donation-box-footer p{color:var(--spr-footer-text,#fff)}.spr-donation-page-wrap{padding:26px 0 60px}@media(max-width:780px){.spr-donation-box{grid-template-columns:1fr}.spr-donation-actions{justify-content:flex-start}.spr-donation-actions .spr-btn{width:100%;text-align:center}}

/* Step 13 - coerenza grafica finale BO/frontend: palette, CTA, card, empty state */
.spr-colors-frontend .spr-section h2:after,
.spr-colors-frontend .spr-steps b,
.spr-colors-frontend .spr-form-steps .active,
.spr-colors-frontend .spr-tabs .active{background:var(--spr-red)!important;color:#fff}
.spr-colors-frontend .spr-card,
.spr-colors-frontend .spr-filter-box,
.spr-colors-frontend .spr-sidebar,
.spr-colors-frontend .spr-category-card,
.spr-colors-frontend .spr-kpi,
.spr-colors-frontend .spr-map-box,
.spr-colors-frontend .spr-status-box,
.spr-colors-frontend .spr-steps div{border-color:var(--spr-border);background:#fff}
.spr-colors-frontend .spr-page-head h1,
.spr-colors-frontend .spr-section h2,
.spr-colors-frontend .spr-card h3,
.spr-colors-frontend .spr-sidebar h3,
.spr-colors-frontend .spr-logo{color:var(--spr-text)}
.spr-colors-frontend .spr-card p,
.spr-colors-frontend .spr-page-head p,
.spr-colors-frontend .spr-card-meta,
.spr-colors-frontend .spr-muted,
.spr-colors-frontend .spr-muted-note{color:var(--spr-muted)}
.spr-empty-state,
.spr-empty-grid article,
.spr-empty-state-soft,
.spr-video-placeholder,
.spr-comment,
.spr-chart-placeholder{border:1px dashed color-mix(in srgb,var(--spr-border) 72%,var(--spr-muted));background:color-mix(in srgb,var(--spr-bg) 72%,#fff);box-shadow:none;color:var(--spr-muted)}
.spr-empty-state h3,
.spr-empty-state strong,
.spr-empty-grid strong{color:var(--spr-text);font-weight:800;margin-bottom:6px}
.spr-empty-state p,
.spr-empty-grid p{color:var(--spr-muted);font-size:14px;line-height:1.55;margin:0}
.spr-buttons-frontend .spr-btn{min-height:44px;line-height:1.2;border-width:1px}
.spr-buttons-frontend .spr-btn-light:not(.spr-btn-red):not(.spr-btn-ghost){box-shadow:none}
.spr-buttons-frontend .spr-btn:focus-visible,
.spr-colors-frontend input:focus-visible,
.spr-colors-frontend select:focus-visible,
.spr-colors-frontend textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--spr-red) 22%,transparent);outline-offset:2px;border-color:var(--spr-red)}
.spr-colors-frontend .spr-filter-box input,
.spr-colors-frontend .spr-filter-box select,
.spr-colors-frontend .spr-form input,
.spr-colors-frontend .spr-form select,
.spr-colors-frontend .spr-form textarea,
.spr-colors-frontend .spr-toolbar select{border-color:var(--spr-border);color:var(--spr-text)}
.spr-colors-frontend .spr-chip-row .active{background:var(--spr-red-soft);border-color:color-mix(in srgb,var(--spr-red) 35%,#fff);color:var(--spr-red)}
.spr-colors-frontend .spr-kpi strong{color:var(--spr-text)}
.spr-colors-frontend .spr-badge,
.spr-colors-frontend .spr-status{letter-spacing:.01em}
.spr-colors-frontend .spr-public-partner-back,
.spr-colors-frontend .spr-section-kicker{color:var(--spr-red)}
.spr-colors-frontend .spr-map-empty{border-color:var(--spr-border);background:color-mix(in srgb,var(--spr-bg) 72%,#fff);color:var(--spr-muted)}
@supports not (color:color-mix(in srgb,#fff,#000)){
    .spr-empty-state,.spr-empty-grid article,.spr-empty-state-soft,.spr-video-placeholder,.spr-comment,.spr-chart-placeholder,.spr-colors-frontend .spr-map-empty{background:#f8fafc;border-color:#cbd5e1}
    .spr-buttons-frontend .spr-btn:focus-visible,.spr-colors-frontend input:focus-visible,.spr-colors-frontend select:focus-visible,.spr-colors-frontend textarea:focus-visible{outline-color:#ffe0e3}
}


/* Step mobile chirurgico - header/hamburger sinistra e contenimento viewport */
@media(max-width:900px){
    html,
    body.spr-site{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .spr-site *,
    .spr-site *::before,
    .spr-site *::after{
        max-width:100%;
    }

    .spr-container{
        width:100%;
        max-width:100%;
        padding-left:14px;
        padding-right:14px;
        margin-left:auto;
        margin-right:auto;
    }

    .spr-topbar{
        display:none;
    }

    .spr-header{
        position:sticky;
        top:0;
        z-index:90;
        width:100%;
        max-width:100%;
        overflow:visible;
        background:#fff;
    }

    .spr-header-inner{
        display:flex;
        align-items:center;
        justify-content:flex-start;
        gap:12px;
        width:100%;
        max-width:100%;
        min-height:var(--spr-header-mobile-height,68px);
        padding-top:10px;
        padding-bottom:10px;
        position:relative;
        overflow:visible;
    }

    .spr-menu-toggle{
        order:1;
        display:inline-flex!important;
        flex:0 0 52px;
        width:52px;
        height:46px;
        margin:0;
        padding:0;
        align-items:center;
        justify-content:center;
        flex-direction:column;
        gap:5px;
        border:0;
        border-radius:12px;
        background:var(--spr-red,#e50914);
        box-shadow:0 8px 20px rgba(229,9,20,.22);
        cursor:pointer;
        position:relative;
        z-index:120;
    }

    .spr-menu-toggle span{
        display:block;
        width:24px;
        height:3px;
        border-radius:999px;
        background:#fff;
    }

    .spr-logo{
        order:2;
        min-width:0;
        max-width:calc(100% - 64px);
        overflow:hidden;
        white-space:nowrap;
        flex:1 1 auto;
        justify-content:flex-start;
    }

    .spr-logo-img{
        max-height:42px;
        max-width:180px;
        width:auto;
    }

    .spr-nav{
        order:4;
        display:none!important;
        position:absolute;
        top:100%;
        left:14px;
        right:14px;
        width:auto;
        margin:0;
        padding:10px;
        background:#fff;
        border:1px solid var(--spr-border,#e5e9ef);
        border-radius:14px;
        box-shadow:0 18px 40px rgba(8,20,34,.18);
        z-index:110;
        flex-direction:column;
        gap:4px;
    }

    .spr-header.is-menu-open .spr-nav{
        display:flex!important;
    }

    .spr-nav a{
        display:block;
        width:100%;
        padding:12px 14px;
        border:0;
        border-radius:10px;
        color:var(--spr-text,#102033);
        font-size:14px;
        line-height:1.25;
        white-space:normal;
    }

    .spr-nav a.active,
    .spr-nav a:hover{
        background:var(--spr-red-soft,#fff0f1);
        color:var(--spr-red,#e50914);
    }

    .spr-header-cta{
        display:none!important;
    }

    .spr-filter-box,
    .spr-report-grid,
    .spr-report-grid-2,
    .spr-report-grid-3,
    .spr-report-grid-cols-2,
    .spr-report-grid-cols-3,
    .spr-report-grid-cols-4,
    .spr-kpi-grid,
    .spr-two-col,
    .spr-footer-grid,
    .spr-category-grid,
    .spr-steps,
    .spr-form-row{
        grid-template-columns:1fr!important;
    }

    .spr-filter-box{
        padding:14px;
        gap:12px;
    }

    .spr-section-head,
    .spr-toolbar,
    .spr-card-meta,
    .spr-card-bottom,
    .spr-list-line{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }

    .spr-btn,
    .spr-actions .spr-btn,
    .spr-filter-box .spr-btn{
        width:100%;
        max-width:100%;
        min-width:0;
        text-align:center;
        white-space:normal;
        overflow-wrap:anywhere;
        line-height:1.25;
    }

    .spr-map-box,
    .spr-live-map,
    .spr-sidebar .spr-map-box{
        width:100%;
        max-width:100%;
        height:330px;
        overflow:hidden;
    }
}

@media(max-width:480px){
    .spr-container{
        padding-left:12px;
        padding-right:12px;
    }

    .spr-header-inner{
        min-height:64px;
    }

    .spr-menu-toggle{
        flex-basis:48px;
        width:48px;
        height:44px;
    }

    .spr-logo-img{
        max-width:150px;
    }
}


/* Step mobile chirurgico - footer compatto a colonna unica */
@media(max-width:900px){
    .spr-footer-dynamic{
        margin-top:26px;
        overflow:hidden;
    }

    .spr-footer-dynamic .spr-footer-grid,
    .spr-footer-cols-3 .spr-footer-grid,
    .spr-footer-cols-4 .spr-footer-grid{
        display:grid;
        grid-template-columns:1fr!important;
        gap:18px;
        width:100%;
        max-width:100%;
        padding:28px 14px 18px!important;
    }

    .spr-footer-brand{
        text-align:left;
    }

    .spr-footer-brand .spr-logo-footer{
        display:inline-flex;
        align-items:center;
        gap:6px;
        max-width:100%;
        font-size:22px;
        line-height:1.1;
        white-space:normal;
    }

    .spr-footer-logo-img{
        max-width:160px;
        max-height:42px;
    }

    .spr-footer-brand p{
        max-width:100%;
        margin:12px 0 14px;
        font-size:14px;
        line-height:1.45;
    }

    .spr-footer-socials{
        gap:8px;
        margin-top:8px;
    }

    .spr-footer-social{
        width:34px;
        height:34px;
        flex:0 0 34px;
    }

    .spr-footer-column{
        border-top:1px solid rgba(255,255,255,.12);
        padding-top:14px;
    }

    .spr-footer-column h4{
        margin:0 0 10px;
        font-size:15px;
        line-height:1.25;
    }

    .spr-footer-dynamic .spr-footer-column a,
    .spr-footer-dynamic .spr-footer-column p{
        display:block;
        margin:0;
        padding:7px 0;
        font-size:14px;
        line-height:1.35;
        overflow-wrap:anywhere;
    }

    .spr-footer-dynamic .spr-footer-bottom{
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
        padding:16px 14px 20px;
        text-align:left;
        font-size:13px;
        line-height:1.35;
    }

    .spr-footer-dynamic .spr-footer-bottom span,
    .spr-footer-legal{
        display:block;
        margin:0!important;
    }

    .spr-footer-dynamic .spr-footer-bottom a{
        display:inline-block;
        margin:0 12px 6px 0;
        padding:0;
    }

    .spr-donation-box-footer{
        margin:18px 14px 0!important;
        padding:16px!important;
    }
}


/* Step mobile chirurgico - rifinitura finale mobile generale */
@media(max-width:900px){
    .spr-main{
        overflow:hidden;
    }

    .spr-section{
        padding-top:20px;
        padding-bottom:20px;
    }

    .spr-page-head{
        padding-top:22px;
        padding-bottom:8px;
    }

    .spr-page-head h1{
        font-size:30px;
        line-height:1.08;
        margin:12px 0 8px;
    }

    .spr-page-head p{
        font-size:14px;
        line-height:1.45;
        margin:0;
    }

    .spr-section-head{
        margin-bottom:14px;
    }

    .spr-section h2,
    .spr-section-head h2{
        font-size:23px;
        line-height:1.16;
        margin-bottom:8px;
    }

    .spr-section h2:after{
        margin-top:9px;
    }

    .spr-card,
    .spr-filter-box,
    .spr-sidebar{
        border-radius:14px;
    }

    .spr-filter-box input,
    .spr-filter-box select,
    .spr-form input,
    .spr-form select,
    .spr-form textarea,
    .spr-toolbar select{
        min-height:44px;
        font-size:14px;
    }

    .spr-chip-row{
        gap:8px;
        margin-top:12px;
    }

    .spr-chip-row span{
        width:100%;
        padding:10px 12px;
        font-size:13px;
        text-align:center;
    }

    .spr-badge,
    .spr-status{
        max-width:100%;
        white-space:normal;
        line-height:1.2;
    }
}

@media(max-width:480px){
    .spr-container{
        padding-left:12px;
        padding-right:12px;
    }

    .spr-section{
        padding-top:18px;
        padding-bottom:18px;
    }

    .spr-page-head h1{
        font-size:28px;
    }
}

/* Step chirurgico - altezza globale foto card segnalazioni pubbliche */
.spr-report-card .spr-thumb{
    height:var(--spr-card-thumb-height,240px);
}


/* Spazi pubblicitari pubblici */
.spr-ad-slot{box-sizing:border-box;max-width:min(1140px,calc(100% - 40px));overflow:hidden;margin-top:var(--spr-ad-margin-top,16px);margin-bottom:var(--spr-ad-margin-bottom,16px)}
.spr-ad-slot *{box-sizing:border-box;max-width:100%}
.spr-ad-slot-content{width:100%;max-width:100%;overflow:hidden}
.spr-ad-slot-content img{display:block;max-width:100%;height:auto;margin:0 auto;border:0}
.spr-ad-slot-content iframe,.spr-ad-slot-content ins{max-width:100%}
.spr-ad-slot-label{display:inline-flex;margin:0 0 8px;color:var(--spr-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.spr-ad-style-transparent{background:transparent;border:0;box-shadow:none;padding:0}
.spr-ad-style-white{background:#fff;border:1px solid var(--spr-border);border-radius:var(--spr-radius);box-shadow:var(--spr-shadow);padding:16px}
.spr-ad-style-border{background:transparent;border:1px solid var(--spr-border);border-radius:var(--spr-radius);padding:16px}
.spr-ad-style-soft{background:#f8fafc;border:1px solid var(--spr-border);border-radius:var(--spr-radius);padding:16px}
.spr-ad-visibility-mobile{display:none}
@media(max-width:980px){.spr-ad-slot{max-width:min(100% - 24px,1140px);margin-top:max(16px,var(--spr-ad-margin-top,16px));margin-bottom:max(16px,var(--spr-ad-margin-bottom,16px))}.spr-ad-visibility-desktop{display:none}.spr-ad-visibility-mobile{display:block}.spr-ad-style-white,.spr-ad-style-border,.spr-ad-style-soft{padding:14px}}

/* Fix collegamento colori BO Header/Menu e Topbar al frontend */
.spr-topbar{
    background:var(--spr-topbar-bg,#071523)!important;
    color:var(--spr-topbar-color,#fff)!important;
}
.spr-topbar .spr-container,
.spr-topbar .spr-topbar-left,
.spr-topbar .spr-topbar-right,
.spr-topbar .spr-topbar-right > span{
    color:var(--spr-topbar-color,#fff)!important;
}
.spr-topbar-social{
    color:var(--spr-topbar-color,#fff)!important;
}
.spr-header .spr-logo{
    color:var(--spr-header-text-color,#06131f)!important;
}
.spr-header .spr-nav a{
    color:var(--spr-header-text-color,var(--spr-text,#102033))!important;
}
.spr-header .spr-nav a.active,
.spr-header .spr-nav a:hover{
    color:var(--spr-header-highlight-color,var(--spr-red,#e50914))!important;
}
.spr-header .spr-nav .spr-header-partner-access{display:flex;flex-direction:column;gap:1px;min-width:116px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--spr-header-text-color,#06131f) 28%,transparent);border-radius:10px;line-height:1.1;color:var(--spr-header-text-color,#06131f)!important}.spr-header .spr-header-partner-access span{font-size:10px;font-weight:800;opacity:.72;text-transform:uppercase;letter-spacing:.04em}.spr-header .spr-header-partner-access strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.spr-header .spr-nav .spr-header-partner-access:hover,.spr-header .spr-nav .spr-header-partner-access.active{border-color:var(--spr-header-highlight-color,var(--spr-red,#e50914));color:var(--spr-header-highlight-color,var(--spr-red,#e50914))!important}
.spr-header .spr-logo span:not(.spr-logo-icon){
    color:var(--spr-header-highlight-color,var(--spr-red,#e50914))!important;
}


/* Step 33 - Header sfondo e allineamento menu */
.spr-header{
    background:var(--spr-header-bg-color,#fff)!important;
}
.spr-header.spr-menu-align-left .spr-nav{
    margin-left:24px;
    margin-right:auto;
}
.spr-header.spr-menu-align-center .spr-nav{
    margin-left:auto;
    margin-right:auto;
}
.spr-header.spr-menu-align-right .spr-nav{
    margin-left:auto;
    margin-right:0;
}
@media(max-width:980px){
    .spr-header.spr-menu-align-left .spr-nav,
    .spr-header.spr-menu-align-center .spr-nav,
    .spr-header.spr-menu-align-right .spr-nav{
        margin-left:0;
        margin-right:0;
    }
}


/* Step 34 - Header highlight color and logo percent sizing */
.spr-header .spr-logo-img{
    width:auto;
    height:auto;
    object-fit:contain;
}

/* Step 35 - stabilizzazione chirurgica header/menu mobile */
.spr-header{
    background:var(--spr-header-bg-color,#fff)!important;
}
.spr-header .spr-header-inner{
    min-height:var(--spr-header-height,78px);
    flex-wrap:nowrap;
}
.spr-header .spr-logo{
    min-width:0;
    color:var(--spr-header-text-color,#06131f)!important;
}
.spr-header .spr-logo-img{
    display:block;
    width:auto;
    height:auto;
    max-width:min(var(--spr-logo-max-width,220px),100%);
    max-height:var(--spr-logo-max-height,46px);
    object-fit:contain;
}
.spr-header .spr-menu-toggle{
    color:var(--spr-header-text-color,#06131f);
}
.spr-header .spr-menu-toggle span{
    background:var(--spr-header-text-color,#06131f);
}
@media(max-width:900px){
    .spr-header .spr-header-inner{
        min-height:var(--spr-header-mobile-height,68px);
        gap:10px;
        position:relative;
    }
    .spr-header-mobile-hamburger .spr-menu-toggle{
        display:inline-flex!important;
        margin-left:auto;
        flex:0 0 46px;
        width:46px;
        height:42px;
        background:#fff;
        border-color:var(--spr-border,#e5e9ef);
        box-shadow:none;
    }
    .spr-header-mobile-hidden .spr-menu-toggle,
    .spr-header-mobile-hidden .spr-nav{
        display:none!important;
    }
    .spr-header-mobile-hamburger .spr-nav{
        display:none!important;
        position:absolute;
        top:100%;
        left:12px;
        right:12px;
        width:auto;
        margin:0!important;
        padding:10px;
        background:var(--spr-header-bg-color,#fff);
        border:1px solid var(--spr-border,#e5e9ef);
        border-radius:14px;
        box-shadow:0 18px 40px rgba(8,20,34,.18);
        z-index:130;
        flex-direction:column;
        gap:4px;
    }
    .spr-header-mobile-hamburger.is-menu-open .spr-nav{
        display:flex!important;
    }
    .spr-header .spr-nav a{
        width:100%;
        padding:12px 14px;
        border:0;
        border-radius:10px;
        white-space:normal;
    }
    .spr-header .spr-nav .spr-header-partner-access{display:flex;width:100%;max-width:none;min-width:0;padding:12px 14px}
    .spr-header .spr-logo{
        flex:1 1 auto;
        max-width:calc(100% - 58px);
        overflow:hidden;
        white-space:nowrap;
        font-size:22px;
    }
    .spr-header .spr-logo-img{
        max-width:min(var(--spr-logo-max-width,220px),calc(100vw - 96px));
        max-height:min(var(--spr-logo-max-height,46px),42px);
    }
    .spr-header .spr-header-cta{
        display:none!important;
    }
}
@media(max-width:480px){
    .spr-header .spr-logo-img{
        max-width:min(var(--spr-logo-max-width,220px),calc(100vw - 86px));
        max-height:min(var(--spr-logo-max-height,46px),38px);
    }
}


/* Step 90 - ruoli colore CTA coerenti */
.spr-btn-accent{
    background:var(--spr-btn-accent-bg,#1f2a7a)!important;
    border-color:var(--spr-btn-accent-border,#1f2a7a)!important;
    color:var(--spr-btn-accent-text,#fff)!important;
    box-shadow:0 10px 20px rgba(31,42,122,.16);
}
.spr-btn-animal,
.spr-btn-cats{
    background:var(--spr-btn-animal-bg,#f97316)!important;
    border-color:var(--spr-btn-animal-border,#f97316)!important;
    color:var(--spr-btn-animal-text,#fff)!important;
    box-shadow:0 10px 20px rgba(249,115,22,.16);
}
.spr-btn-accent:hover,
.spr-btn-animal:hover,
.spr-btn-cats:hover{
    color:#fff!important;
}
