@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap');:root{--ink:#111;--muted:#50565a;--petrol:#426575;--red:#d4161f;--green:#087d40;--border:#dbe3e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.5 Archivo,Arial,sans-serif;background:#fff}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #174e79;outline-offset:3px}.wrap{max-width:1150px;margin:auto;padding:0 22px}.header{position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:30}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px}.brand{font-size:24px;font-weight:800;text-decoration:none;display:flex;gap:10px;align-items:center}.brandmark{background:var(--petrol);color:white;padding:7px 11px;border-radius:12px}.links{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.links a{text-decoration:none;font-size:14px;font-weight:600}.small-call{background:var(--red);color:#fff;padding:10px 18px;border-radius:12px}.hero{background:linear-gradient(180deg,#fff 2%,#f3f8f9 40%,#c3dbe3 72%,#6795a5 100%);padding:68px 0 76px;text-align:center}.hero h1{font-size:clamp(34px,5vw,64px);line-height:1.08;letter-spacing:-.04em;margin:0 auto 18px;max-width:940px}.lead{font-size:clamp(17px,2vw,22px);color:#343d41;max-width:760px;margin:0 auto 30px}.actions{display:flex;justify-content:center;gap:14px;max-width:740px;margin:0 auto 25px}.cta{display:flex;justify-content:center;align-items:center;gap:10px;min-height:66px;border-radius:16px;padding:16px 24px;text-decoration:none;font-weight:800;font-size:19px}.call{background:var(--red);color:#fff;flex:1.4}.wa{background:var(--green);color:#fff;flex:1}.cta[aria-disabled=true],.small-call[aria-disabled=true]{opacity:.6;cursor:not-allowed}.pillrow{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:12px auto 22px}.pill{border:1px solid #d9e4e8;background:#ffffffc9;border-radius:99px;padding:9px 14px;font-size:14px;font-weight:600}.warning{max-width:760px;margin:20px auto 0;background:#ffffffc9;border-radius:12px;padding:12px 16px;font-size:14px}.availability{display:none;align-items:center;justify-content:center;gap:8px;margin:0 auto 18px;font-size:14px;font-weight:700}.availability.on{display:flex}.dot{height:9px;width:9px;background:#0a9c58;border-radius:50%}section.content{padding:65px 0}section.tint{background:#f3f6f7}h2{font-size:clamp(28px,3.2vw,42px);line-height:1.2;letter-spacing:-.03em;margin:0 0 12px}.intro{color:var(--muted);margin:0 0 28px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;text-decoration:none;min-height:210px}.card h3{margin:0;font-size:19px}.card p{margin:0;color:var(--muted);font-size:15px}.card .more{margin-top:auto;color:#315d70;font-weight:700;font-size:14px}.ico{display:inline-grid;place-items:center;width:38px;height:38px;background:#e9f2f5;color:#315d70;border-radius:12px;font-size:21px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.step{border:1px solid var(--border);border-radius:20px;padding:24px}.step b{font-size:25px;color:var(--petrol)}.step h3{font-size:19px}.step p{color:var(--muted)}.zone-links{display:flex;flex-wrap:wrap;gap:10px}.zone-links a{border:1px solid var(--border);border-radius:99px;padding:10px 17px;text-decoration:none}.faq details{border-bottom:1px solid var(--border);padding:18px 0}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted);margin:12px 0 0}.footer{background:#152c36;color:white;padding:48px 0 110px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px}.footer a{color:#fff}.footer p{font-size:14px;color:#e3e9eb}.sticky{display:none}.breadcrumbs{font-size:14px;color:#4c5960;margin:28px 0}.detail-hero{padding:42px 0;background:linear-gradient(#fff,#e1eef1)}.detail-hero h1{font-size:clamp(32px,5vw,52px);line-height:1.15}.detail-hero .actions{margin:25px 0}.bullets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.bullets li{padding:10px}.form{max-width:650px;display:grid;gap:16px}.form label{display:grid;gap:5px;font-weight:600}.form input,.form select{border:1px solid #b7c6cb;border-radius:10px;padding:13px;min-height:48px}.form button{border:0;background:var(--petrol);color:#fff;padding:15px;border-radius:12px;font-weight:700}.notice{background:#fff4e4;border:1px solid #e3c7a4;border-radius:14px;padding:14px;font-size:14px}@media(max-width:800px){.links{gap:10px}.links a{font-size:13px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:599px){body{padding-bottom:calc(85px + env(safe-area-inset-bottom))}.wrap{padding:0 16px}.nav{min-height:60px;align-items:center}.brand{font-size:20px}.links a:not(.small-call){display:none}.hero{padding:36px 0 42px}.hero h1{font-size:34px}.lead{font-size:16px}.actions{flex-direction:column;gap:10px}.cta{width:100%;min-height:58px}.pillrow{gap:7px}.pill{font-size:14px}.cards,.steps,.bullets,.footgrid{grid-template-columns:1fr}.card{min-height:170px}.content{padding:44px 0!important}.sticky.visible{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:50;background:#fffffff0;backdrop-filter:blur(15px);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;border-top:1px solid var(--border)}.sticky .cta{min-height:54px;font-size:15px;padding:10px;flex:1}.sticky .wa{flex:0 0 60px}.footer{padding-bottom:110px}}
.free-contact{display:flex;align-items:center;justify-content:center;gap:9px;max-width:fit-content;margin:-11px auto 24px;padding:8px 14px;border:1px solid #b6d9cc;background:#f2faf6;border-radius:999px;color:#1d6645;font-size:15px;font-weight:700}.free-contact svg{flex:none}@media(max-width:599px){.free-contact{font-size:14px;margin:-6px auto 17px;padding:8px 12px}.hero{padding-top:28px}.hero h1{margin-bottom:12px}.hero .lead{margin-bottom:20px}}


/* Pronto Intervento 360 Variante B: layout proporzionato — desktop, tablet e smartphone */
:root{--content-width:1120px}
.wrap{max-width:var(--content-width)}
.nav{min-height:64px;gap:12px}
.brand{font-size:23px}.brandmark{border-radius:11px}
.variant-mark{font-size:14px;padding:4px 9px}
.links{gap:17px}
.small-call{padding:9px 15px;border-radius:10px}
.hero{padding:42px 0 48px}
.hero h1{font-size:clamp(31px,3.9vw,48px);max-width:800px;line-height:1.12;margin:0 auto 12px}
.hero .lead{font-size:clamp(16px,1.7vw,19px);max-width:690px;line-height:1.43;margin:0 auto 19px}
.free-contact{font-size:14px;line-height:1.3;margin:0 auto 16px;padding:7px 12px}
.actions{max-width:550px;gap:11px;margin:0 auto 17px}
.cta{min-height:54px;font-size:17px;line-height:1.25;border-radius:12px;padding:12px 16px;gap:9px}
.cta svg{width:20px;height:20px}
.pillrow{gap:8px;margin:10px auto 15px}
.pill{font-size:14px;padding:7px 11px;line-height:1.3}
.pill svg{width:17px;height:17px}
.warning{max-width:740px;font-size:14px;line-height:1.4;margin:13px auto 0;padding:9px 12px}
section.content{padding:39px 0}
h2{font-size:clamp(25px,2.4vw,32px);line-height:1.2;margin:0 0 9px}
.intro{font-size:15px;line-height:1.4;margin:0 0 18px}
.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.card{min-height:0;border-radius:15px;padding:15px;gap:6px;box-shadow:0 4px 15px #18394408}
.card .ico,.ico{width:33px;height:33px;border-radius:10px;font-size:17px}
.card .ico svg,.ico svg{width:19px;height:19px}
.card h3{font-size:16px;line-height:1.25;letter-spacing:-.01em;overflow-wrap:break-word}
.card p{font-size:14px;line-height:1.38;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.card .more{font-size:14px;line-height:1.35;margin-top:auto;padding-top:4px}
.steps{gap:12px}
.step{padding:17px;border-radius:15px}
.step b{width:36px;height:36px;font-size:19px;border-radius:10px}
.step h3{font-size:17px;line-height:1.32;margin:10px 0 7px}
.step p{font-size:15px;line-height:1.47;margin:0}
.zone-links{gap:8px}
.zone-links a{font-size:14px;padding:7px 12px}
.faq details{padding:13px 0}
.faq summary,.faq p{font-size:15px;line-height:1.5}
.footer{padding:36px 0 90px}
.breadcrumbs{margin:15px 0 20px;font-size:14px}
.detail-hero{padding:24px 0 32px}
.detail-hero h1{font-size:clamp(29px,3.5vw,42px);line-height:1.15;margin:8px 0 13px;letter-spacing:-.025em}
.detail-hero .lead{font-size:17px;line-height:1.45;margin:0 0 15px}
.detail-hero .actions{max-width:550px;margin:17px 0 0}
.bullets{gap:6px 16px}
.bullets li{font-size:15px;line-height:1.45;padding:6px}
.mobile-expand{display:none}
@media(max-width:1000px) and (min-width:600px){
 .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero{padding:39px 0 43px}
 section.content{padding:35px 0}
 .step h3{font-size:16px}
}
@media(max-width:599px){
 html{scroll-padding-top:65px}
 .wrap{padding:0 16px}
 .nav{min-height:58px}
 .brand{font-size:21px}
 .brandmark{padding:6px;border-radius:10px}
 .brandmark svg{width:22px;height:22px}
 .hero{padding:24px 0 27px}
 .hero h1{font-size:clamp(27px,7.5vw,31px);line-height:1.12;margin:0 auto 10px;letter-spacing:-.035em}
 .hero .lead{font-size:15px;line-height:1.4;margin:0 auto 14px}
 .free-contact{font-size:14px;line-height:1.3;max-width:100%;margin:0 auto 14px;padding:6px 10px;text-align:center}
 .free-contact svg{width:17px;height:17px}
 .actions{flex-direction:column;gap:8px;margin:0 auto 13px}
 .main.actions{margin-bottom:13px}
 .cta{width:100%;min-height:51px;font-size:16px;padding:10px 12px;border-radius:11px}
 .pillrow{gap:6px;margin:9px auto 12px}
 .pill{font-size:14px;padding:6px 9px;line-height:1.25}
 .warning{font-size:14px;padding:9px 11px;line-height:1.42;margin-top:11px}
 section.content{padding:29px 0!important}
 h2{font-size:24px;line-height:1.18;margin:0 0 9px}
 .intro{font-size:14px;margin:0 0 14px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .card{min-height:0;padding:11px;border-radius:13px;gap:6px}
 .card .ico,.ico{width:30px;height:30px;border-radius:9px}
 .card .ico svg,.ico svg{width:18px;height:18px}
 .card h3{font-size:15px;line-height:1.24;margin:0}
 .card p{font-size:14px;line-height:1.3;-webkit-line-clamp:2;line-clamp:2}
 .card .more{font-size:14px;line-height:1.3;padding-top:4px}
 .service-grid.is-collapsed>.card:nth-child(n+7){display:none}
 .mobile-expand{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:43px;border:1px solid #b8ccd4;border-radius:10px;background:#eef5f7;color:#264d5d;font-size:14px;font-weight:700;padding:9px 13px;margin-top:12px}
 .mobile-expand svg{width:17px;height:17px;transition:transform .2s}
 .mobile-expand[aria-expanded="true"] svg{transform:rotate(180deg)}
 .steps,.footgrid,.bullets{grid-template-columns:1fr}
 .steps{gap:9px}
 .step{display:grid;grid-template-columns:32px 1fr;gap:4px 10px;padding:12px;border-radius:13px}
 .step b{grid-row:1/span 2;width:32px;height:32px;font-size:16px;border-radius:9px}
 .step h3{font-size:15px;line-height:1.3;margin:0 0 2px}
 .step p{font-size:14px;line-height:1.4;grid-column:2;margin:0}
 .zone-links{gap:7px}
 .zone-links a{padding:6px 10px;font-size:14px}
 .faq details{padding:12px 0}
 .faq summary,.faq p{font-size:14px}
 .breadcrumbs{font-size:14px;line-height:1.45;margin:8px 0 13px}
 .detail-hero{padding:18px 0 23px}
 .detail-hero h1{font-size:clamp(26px,7.5vw,31px);line-height:1.14;margin:8px 0 12px}
 .detail-hero .lead{font-size:15px;line-height:1.43;margin:0 0 12px}
 .detail-hero .actions{margin:14px 0 0}
 .bullets li{font-size:14px;padding:4px}
 .footer{padding:30px 0 110px}
 .footgrid{gap:16px}
 .sticky .cta{min-height:49px;font-size:15px;padding:8px 10px}
 .sticky .wa{flex:0 0 53px}
 
}
@media(max-width:359px){
 .cards{gap:7px}
 .card{padding:9px}
 .hero h1{font-size:27px}
}

/* Pronto Intervento 360 B compatta — WhatsApp prioritario; pulsanti di uguale misura. */
.actions{align-items:stretch}
.actions>.cta{box-sizing:border-box;flex:1 1 0;min-width:0;width:auto}
.actions>.cta.wa{box-shadow:0 4px 12px rgba(6,111,66,.20)}
.sticky .cta,.sticky .wa{box-sizing:border-box;flex:1 1 0;min-width:0;width:0}
.small-call.small-wa{background:var(--green);color:#fff}
@media(max-width:599px){
  .actions>.cta{flex:0 0 auto;width:100%}
  .sticky.visible .cta,.sticky.visible .wa{flex:1 1 0;width:0;min-width:0;padding:8px 6px;white-space:nowrap;font-size:14px}
}

/* 5 modifiche approvate — schede Come funziona uniformi e compatte. */
.steps{align-items:stretch}
.step{box-sizing:border-box;padding:16px 18px;border-radius:15px}
.step b{font-size:21px}
.step h3{font-size:17px;line-height:1.3;margin:8px 0 6px}
.step p{font-size:14px;line-height:1.38;margin:0}
@media(min-width:600px) and (max-width:1000px){.step{padding:14px 13px}.step h3{font-size:16px}}
@media(max-width:599px){
 .steps{grid-auto-rows:1fr;gap:8px}
 .step{min-height:99px;padding:10px 12px;align-content:center}
 .step b{font-size:16px}
 .step h3{font-size:15px;line-height:1.3;margin:0 0 2px}
 .step p{font-size:14px;line-height:1.35}
}

/* Punto 7: modulo per le imprese; mantiene il resto del design della B compatta. */
.form-availability{max-width:650px;color:#46545b;background:#f3f6f7;border:1px solid #dbe3e7;border-radius:12px;padding:12px 14px;font-size:14px;margin:0 0 18px}
.form-availability[data-state="ok"]{background:#eaf6ee;border-color:#c8e5d2;color:#135b35}
.form-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.45;font-size:14px}
.form-consent input{min-height:auto!important;width:18px;height:18px;flex:none;margin-top:3px}
.form-consent a{font-weight:700;text-underline-offset:3px}
.form-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form button:disabled{cursor:not-allowed;opacity:.52}
.form-status{min-height:24px;margin:0;font-size:14px;color:#374650}
.form-status[data-state="ok"]{color:#135b35}
.form-status[data-state="error"]{color:#b22222}

/* Pronto Intervento 360 — Richiesta di collaborazione tramite WhatsApp, nessun invio email. */
.partner-hint{font-size:14px;line-height:1.45;color:#48585e;margin:0}
.partner-review{border:1px solid #c3dad1;border-radius:14px;background:#f4faf6;padding:16px;display:grid;gap:12px}
.partner-review[hidden],.partner-wa-send[hidden]{display:none!important}
.partner-review pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:14px/1.55 Archivo,Arial,sans-serif;margin:0;padding:12px;background:#fff;border:1px solid #dbe7e0;border-radius:10px}
.partner-wa-send{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:11px;padding:10px 15px;background:var(--green);color:#fff;font-weight:800;text-decoration:none;text-align:center}
.partner-wa-send:focus-visible{outline:3px solid #155e42;outline-offset:3px}
#partner-submit{background:var(--green);min-height:48px}

/* Pronto Intervento 360: ONLY photographic backgrounds inside existing emergency/work cards.
   No change to layout, dimensions, typography, navigation, CTAs or page sections. */
.card.edile-photo {
  background-color: #29404a;
  background-image: linear-gradient(180deg, rgba(12,24,31,.16) 0%, rgba(12,24,31,.38) 40%, rgba(12,24,31,.80) 100%), var(--edile-bg);
  background-position: center;
  background-size: cover;
  color: #fff;
}
.card.edile-photo h3, .card.edile-photo .more { color:#fff; text-shadow:0 1px 4px rgba(0,0,0,.35); }
.card.edile-photo p { color:rgba(255,255,255,.96); text-shadow:0 1px 4px rgba(0,0,0,.38); }

/* Solo modifica richiesta: Chiama bianco, WhatsApp verde prioritario.
   Restano identici misure, layout, contenuti e immagini. */
.cta.call {
  background: #ffffff;
  color: #202b30;
  border: 1px solid #cbd7dc;
  box-shadow: 0 3px 10px rgba(21,44,54,.08);
}
.cta.call svg { color: #202b30; }

/* Bordo trasparente su WhatsApp per conservare l'identica larghezza con Chiama. */
.actions > .cta.wa { border: 1px solid transparent; }

/* Punto verde alla destra del messaggio di gratuità — solo dettaglio visivo. */
.free-contact .free-contact-green-dot{display:inline-block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:#0a9c58;box-shadow:0 0 0 2px rgba(10,156,88,.12)}

/* Informazioni in forma di domanda, nelle pagine dei soli interventi urgenti. */
.service-response{margin:16px 0 0;max-width:960px;font-size:16px;line-height:1.6}
@media(max-width:600px){.service-response{font-size:15px;line-height:1.55}}

/* Ripristino fedele del brand e delle icone della Variante B approvata. */
.brand-divider{color:#b3bec4;font-weight:400}
.variant-mark{font-size:12px;color:#536974;font-weight:600;background:#edf3f5;padding:5px 9px;border-radius:99px;white-space:nowrap}
.brandmark{display:inline-grid;place-items:center;padding:7px 9px}
.brandmark svg{width:24px;height:24px}
.icon{display:inline-block;flex-shrink:0;vertical-align:middle}
.pill{display:inline-flex;align-items:center;gap:7px}
.pill .icon{color:#316879;width:17px;height:17px}
/* La configurazione dei numeri è ancora vuota: preservare la palette approvata anche nelle anteprime. */
.cta[aria-disabled="true"],.small-call[aria-disabled="true"]{opacity:1;cursor:not-allowed}
@media(max-width:800px){.variant-mark{display:none}}
@media(max-width:599px){.brand-divider{display:none}}

/* Punto 6: elenco 20 km in pagina, senza appesantire lo scorrimento su mobile. */
.zone-all{border:1px solid #d8e3e7;border-radius:14px;background:#fff;margin:18px 0;padding:12px 16px}
.zone-all>summary{cursor:pointer;font-weight:700;padding:8px 0;color:#1b343e}
.zone-band{margin:16px 0}.zone-band h3{font-size:17px;margin:0 0 8px}
.zone-chip{display:inline-flex;align-items:center;border:1px solid #d5e0e4;border-radius:999px;padding:9px 13px;color:#38515a;background:#f9fbfc;font-size:14px;min-height:40px}
.zone-method{font-size:14px;color:#526770;line-height:1.6;margin-top:14px}
.zone-local{font-size:15px;line-height:1.6;margin-top:16px}
#zone .zone-links{margin:12px 0;display:flex;flex-wrap:wrap;gap:9px}
@media(max-width:600px){.zone-all{padding:10px 13px}.zone-all .zone-links{gap:7px}.zone-chip{font-size:14px}}

/* Pronto Intervento 360: logo ufficiale e menu responsive. Nessun intervento sulle sezioni del sito. */
.brand{flex:0 1 auto;min-width:0;line-height:1}
.brand-logo{display:block;width:235px;max-width:100%;height:auto}
.menu-toggle{display:none}
@media(max-width:800px){
 .header .nav{position:relative;flex-wrap:nowrap}
 .brand-logo{width:min(215px,calc(100vw - 108px))}
 .menu-toggle{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--border);border-radius:11px;background:#fff;color:#244c5b}
 .menu-bars{display:flex;flex-direction:column;justify-content:space-between;width:20px;height:16px}
 .menu-bars span{height:2px;width:100%;background:currentColor;border-radius:2px}
 .header .links{display:none;position:absolute;top:100%;right:16px;left:16px;z-index:31;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 12px 28px rgba(21,44,54,.14);flex-direction:column;align-items:stretch;gap:2px;flex-wrap:nowrap}
 .header .links.is-open{display:flex}
 .header .links a,.header .links a:not(.small-call){display:block;padding:11px 13px;font-size:15px;line-height:1.4;text-decoration:none;border-radius:9px}
 .header .links a:hover,.header .links a:focus-visible{background:#f2f7f8}
 .header .links .small-call{background:var(--green);color:#fff;text-align:center;margin-top:5px}
}

/* Sottolocalita mostrate sotto il comune, con i pulsanti e i colori gia approvati. */
#zone .zone-links .zone-area{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;max-width:230px}
#zone .zone-links .zone-area a{display:inline-block;white-space:normal;text-align:center}
#zone .zone-subplaces{font-size:12px;line-height:1.3;color:#526770;text-align:center;max-width:205px}

/* Navigazione indietro nelle sole pagine interne */
.back-nav{padding-top:14px;padding-bottom:4px}
.back-link{display:inline-flex;align-items:center;gap:7px;font-weight:650;color:var(--ink,#17262d);font-size:14px;text-decoration:none;padding:8px 10px;border-radius:10px;border:1px solid rgba(0,45,63,.12);background:#fff}
.back-link:hover,.back-link:focus-visible{background:#eff7f8;text-decoration:underline}
