/* ACA schede attività sostenute: apertura editoriale senza fotografie non documentate. */
.aca-sp-theme-legami{--sp-color:#3D6B52;--sp-tint:#edf3ed;--sp-line:rgba(61,107,82,.19)}
.aca-sp-theme-cure{--sp-color:#1E5F8B;--sp-tint:#eef3f7;--sp-line:rgba(30,95,139,.18)}
.aca-sp-typographic .aca-sp-hero{padding-bottom:95px}
.aca-sp-typographic .aca-sp-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:74px;align-items:center}
.aca-sp-typographic .aca-sp-hero h1{font-size:clamp(53px,5.15vw,75px);overflow-wrap:break-word;line-height:1.035}
.aca-sp-summary{padding:43px 45px 44px;border-top:4px solid var(--sp-color);border-bottom:1px solid var(--sp-line);background:#fff;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-radius:0 30px 30px 0}
.aca-sp-summary-label{color:var(--sp-color);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 28px}
.aca-sp-summary h2{font-size:clamp(30px,2.8vw,41px);line-height:1.13;color:#073F49;margin:0 0 30px}
.aca-sp-summary ol{border-top:1px solid #dbe3df;list-style:none;padding:0;margin:0}
.aca-sp-summary li{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:baseline;padding:14px 0;color:#34575d;border-bottom:1px solid #dbe3df;font-size:15px;line-height:1.48}
.aca-sp-summary li:last-child{border-bottom:0}
.aca-sp-summary li span{color:var(--sp-color);font-weight:700;font-size:13px}
.aca-sp-method-list.aca-sp-method-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.aca-sp-typographic .aca-sp-why .aca-sp-section-label{display:block}
.aca-sp-typographic .aca-sp-related{background:#F8F4ED}
.aca-sp-typographic .aca-sp-method-list h3{font-size:39px}
.aca-sp-typographic .aca-sp-direction h3{font-size:38px}
@media(max-width:1040px){.aca-sp-typographic .aca-sp-hero-grid{gap:36px}.aca-sp-summary{padding:31px 29px}.aca-sp-summary h2{font-size:34px}}
@media(max-width:850px){.aca-sp-typographic .aca-sp-hero-grid{grid-template-columns:1fr}.aca-sp-summary{max-width:750px;padding:30px 34px;border-radius:0 26px 26px 0}.aca-sp-typographic .aca-sp-hero{padding-bottom:69px}}
@media(max-width:620px){.aca-sp-typographic .aca-sp-hero h1{font-size:clamp(44px,10.8vw,62px)}.aca-sp-summary{padding:29px 26px}.aca-sp-summary h2{font-size:32px}.aca-sp-summary-label{margin-bottom:16px}.aca-sp-summary li{font-size:15px}.aca-sp-method-list.aca-sp-method-two{grid-template-columns:1fr}.aca-sp-typographic .aca-sp-method-list h3{font-size:35px}.aca-sp-typographic .aca-sp-direction h3{font-size:35px}}

/* Extra-small phones: long project names and editorial links must wrap,
   without changing approved typography on normal mobiles or desktop. */
@media(max-width:359px){
  .aca-sp-typographic .aca-sp-hero-grid{grid-template-columns:minmax(0,1fr)}
  .aca-sp-typographic .aca-sp-intro,
  .aca-sp-typographic .aca-sp-summary,
  .aca-sp-typographic .aca-sp-related-links a,
  .aca-sp-typographic .aca-sp-related-links a span:first-child,
  .aca-sp-typographic .aca-sp-direction{min-width:0}
  .aca-sp-typographic .aca-sp-hero h1{font-size:40px;line-height:1.06;letter-spacing:-.025em;overflow-wrap:anywhere}
  .aca-sp-typographic .aca-sp-related-links a{font-size:27px;gap:10px;overflow-wrap:anywhere}
  .aca-sp-typographic .aca-sp-direction h3,
  .aca-sp-typographic .aca-sp-summary h2,
  .aca-sp-typographic .aca-sp-method-list h3{overflow-wrap:anywhere}
  .aca-sp-typographic .aca-sp-direction h3{font-size:32px}
  .aca-sp-typographic .aca-sp-summary{padding:25px 19px}
  .aca-sp-typographic .aca-sp-summary li{grid-template-columns:25px minmax(0,1fr);gap:9px}
}

/* Narrow 320px phones: wrap long words in the project detail headings. */
@media(max-width:359px){.aca-sp-typographic .aca-sp-copy h2,.aca-sp-typographic .aca-sp-method-heading h2,.aca-sp-typographic .aca-sp-role h2,.aca-sp-typographic .aca-sp-directions-heading h2,.aca-sp-typographic .aca-sp-related h2{overflow-wrap:anywhere;font-size:40px}.aca-sp-typographic .aca-sp-why,.aca-sp-typographic .aca-sp-copy,.aca-sp-typographic .aca-sp-method-heading,.aca-sp-typographic .aca-sp-role-grid,.aca-sp-typographic .aca-sp-directions-heading{min-width:0}}


/* Taxi Sociale — scheda territoriale, dati di servizio e percorso Comuni (preview) */
.aca-ts .aca-sp-summary{justify-content:flex-start}
.aca-ts .aca-ts-summary h2{margin-bottom:19px}
.aca-ts-hero-actions{display:flex;flex-wrap:wrap;gap:15px 27px;margin-top:24px}
.aca-ts-hero-actions a{color:var(--sp-color);font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.aca-ts-hero-actions a:hover,.aca-ts-summary-link:hover{text-decoration:underline;text-underline-offset:4px}
.aca-ts-places{list-style:none;margin:0;padding:0;border-top:1px solid #dbe3df}
.aca-ts-places li{padding:11px 0;border-bottom:1px solid #dbe3df;color:#123e39;font-weight:700;font-size:18px}
.aca-ts-places li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sp-color);margin-right:13px;vertical-align:middle}
.aca-ts-summary-note{font-size:13px;line-height:1.65;color:#5b6c67;margin:17px 0 11px}
.aca-ts-summary-link{font-size:14px;line-height:1.6;color:var(--sp-color);font-weight:700;max-width:380px}
.aca-ts-proof{background:#fff;border-bottom:1px solid var(--sp-line);padding:29px 0 25px}
.aca-ts-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.aca-ts-facts>div{padding:10px 28px;border-right:1px solid var(--sp-line)}
.aca-ts-facts>div:first-child{padding-left:0}
.aca-ts-facts>div:last-child{border-right:0}
.aca-ts-facts dt{font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:#557168;margin:0 0 7px}
.aca-ts-facts dd{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(36px,4.2vw,54px);font-weight:400;color:#073F49;line-height:1.12;margin:0}
.aca-ts-facts>div:last-child dd{font-size:clamp(30px,3.6vw,48px)}
.aca-ts-proof-source{font-size:12px;line-height:1.6;color:#687a73;margin:15px 0 0;max-width:900px}
.aca-ts-municipal{background:#eaf2e9;padding:102px 0 112px;scroll-margin-top:80px}
.aca-ts-municipal-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:90px;align-items:start}
.aca-ts-municipal h2{font-size:clamp(42px,4.2vw,60px);line-height:1.06;margin:26px 0 29px;max-width:750px}
.aca-ts-municipal-grid>div:first-child>p:not(.aca-sp-section-label){max-width:630px;font-size:16px;line-height:1.78;color:#46665b;margin:16px 0 0}
.aca-ts-municipal-grid .aca-ts-municipal-lead{font-size:20px!important;color:#1d4b3a!important;line-height:1.66!important}
.aca-ts-municipal-card{background:#fff;border-top:4px solid var(--sp-color);padding:39px 37px 34px;border-radius:0 25px 25px 25px;box-shadow:0 13px 34px rgba(15,60,40,.045)}
.aca-ts-municipal-card h3{font-size:34px;line-height:1.16;margin:0 0 26px}
.aca-ts-municipal-card ol{list-style:none;margin:0 0 30px;padding:0}
.aca-ts-municipal-card li{display:grid;grid-template-columns:27px minmax(0,1fr);gap:11px;border-top:1px solid #e4ece6;padding:14px 0;font-size:15px;line-height:1.6;color:#38564a}
.aca-ts-municipal-card li span{color:var(--sp-color);font-size:13px;font-weight:700}
.aca-ts-municipal-card .button{white-space:normal;text-align:center}
.aca-ts-municipal-card>p{font-size:12px;color:#6f8378;line-height:1.6;margin:15px 0 0}
.aca-ts #accesso{scroll-margin-top:70px}
@media(max-width:960px){.aca-ts-municipal-grid{grid-template-columns:1fr;gap:36px}.aca-ts-municipal{padding:80px 0}.aca-ts-municipal-card{max-width:680px}}
@media(max-width:620px){
 .aca-ts-hero-actions{gap:14px 19px}.aca-ts-summary h2{font-size:30px}
 .aca-ts-places li{font-size:16px;padding:9px 0}
 .aca-ts-proof{padding:18px 0 24px}
 .aca-ts-facts>div{padding:7px 10px}
 .aca-ts-facts dt{font-size:10px;letter-spacing:0;min-height:29px}
 .aca-ts-facts dd{font-size:31px}
 .aca-ts-facts>div:last-child dd{font-size:25px;white-space:nowrap}
 .aca-ts-proof-source{font-size:11px}
 .aca-ts-municipal{padding:65px 0 73px}
 .aca-ts-municipal h2{font-size:42px}
 .aca-ts-municipal-grid .aca-ts-municipal-lead{font-size:18px!important}
 .aca-ts-municipal-card{padding:30px 24px}.aca-ts-municipal-card h3{font-size:31px}
}
@media(max-width:359px){.aca-ts-facts>div{padding:6px 6px}.aca-ts-facts dt{font-size:9px}.aca-ts-facts dd{font-size:27px}.aca-ts-facts>div:last-child dd{font-size:21px}.aca-ts-municipal h2{font-size:39px}}

/* Mobile: evita l'overflow dei titoli lunghi e dei numeri del Taxi Sociale. */
@media(max-width:620px){
 .aca-ts h1,.aca-ts h2,.aca-ts h3{overflow-wrap:anywhere;hyphens:auto}
 .aca-ts-facts>div:last-child dd{white-space:normal;overflow-wrap:anywhere}
}
