/* Palette e header/footer pubblici condivisi. */
:root{--fc-logo-blue:#0094da;--fc-brand-blue:#4db4e5;--fc-brand-text-on-light:#0878b0;--fc-brand-text-on-dark:#7ac7ec;--fc-brand-text:var(--fc-brand-text-on-light);--fc-navy:#1a3a52}
/* Azzurro più leggibile sul bianco, chiaro sul navy; le card bianche ripristinano il tono scuro. */
.mockup-slider,.fd-video-story,.fd-home-goals,.cta-contatto,footer.fd-footer{--fc-brand-text:var(--fc-brand-text-on-dark)}
.fd-goal-card{--fc-brand-text:var(--fc-brand-text-on-light)}
/* Footer completo: stessi margini fluidi delle pagine del template approvato. */
@media(max-width:1799px){
 body.fd-site footer.footer-v2.fd-footer--full>.container{width:100%;max-width:none;padding-left:3.8vw;padding-right:3.8vw}
}
@media(max-width:991px){
 body.fd-site footer.footer-v2.fd-footer--full>.container{padding-left:clamp(15px,3.125vw,24px);padding-right:clamp(15px,3.125vw,24px)}
}
/* Il breakpoint ampio della home e delle pagine fd-site resta quello già approvato. */
@media(min-width:1800px){
 body.fd-site footer.footer-v2 .container{width:1560px;max-width:1560px;padding-left:15px;padding-right:15px}
}
header.header-minimal-v2 .header-minimal-v2-logo img,
header.header-legal .header-legal-logo img{width:230px;height:auto;max-width:100%;max-height:none}
header.header-minimal-v2 .header-minimal-v2-phone-icon,
header.header-legal .header-legal-phone-icon{background:var(--fc-navy);color:#fff;flex-shrink:0}
header.header-minimal-v2 .header-minimal-v2-phone-number,
header.header-legal .header-legal-phone-number{color:#1a3a52;font-size:17px}
header.header-minimal-v2 .header-minimal-v2-inner,
header.header-legal .header-legal-inner{gap:16px}
footer.footer-v2 .footer-v2-copyright,
footer.footer-minimal-v2 .footer-minimal-v2-copyright,
footer.footer-legal .footer-legal-copyright,
footer.footer .footer-bottom p{max-width:100%;overflow-wrap:anywhere}
@media(min-width:1280px){
 header.header-minimal-v2 .header-minimal-v2-logo img,
 header.header-legal .header-legal-logo img{width:220px}
}
@media(min-width:1800px){
 header.header-minimal-v2 .header-minimal-v2-logo img,
 header.header-legal .header-legal-logo img{width:250px}
}
@media(max-width:1000px){
 header.header-minimal-v2 .header-minimal-v2-logo img,
 header.header-legal .header-legal-logo img{width:180px}
}
/* Pagine legali: stessi contenitori e margini del template approvato, anche nelle fasce esterne. */
header.header-legal>.container,footer.footer-legal>.container{
 width:100%;max-width:none;margin-left:auto;margin-right:auto;padding-left:3.8vw;padding-right:3.8vw
}
@media(max-width:991px){
 header.header-legal>.container,footer.footer-legal>.container{padding-left:clamp(15px,3.125vw,24px);padding-right:clamp(15px,3.125vw,24px)}
}
@media(min-width:1800px){
 header.header-legal>.container,footer.footer-legal>.container{width:1560px;max-width:100%;padding-left:15px;padding-right:15px}
}
/* Percorso keycard dedicato: manteniamo la misura760px comune a form e fasce. */
header.dt-header{background:#1a3a52}
header.dt-header .dt-logo img{width:220px;height:auto}
header.dt-header .dt-container,footer.dt-footer .dt-container{width:100%;max-width:760px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* Famiglia footer approvata: completo, compatto, essenziale. Nessun override sui form. */
footer.fd-footer{background:#1a3a52;color:#e3eef5;padding:44px 0 24px;margin-top:0;font-size:14px;line-height:1.6;text-align:left}
footer.fd-footer,footer.fd-footer *{box-sizing:border-box}
footer.fd-footer a{color:#e3eef5;text-decoration:none}
footer.fd-footer a:hover{color:var(--fc-brand-text);text-decoration:underline;text-underline-offset:4px}
footer.fd-footer a:focus-visible{outline:2px solid #65d0ff;outline-offset:5px;border-radius:2px}
footer.fd-footer p{color:inherit;margin:0}
footer.fd-footer .fd-footer-grid{display:grid;grid-template-columns:1.25fr 1fr .85fr .85fr;gap:32px;padding-bottom:30px}
footer.fd-footer .fd-footer-grid>*{min-width:0}
footer.fd-footer .fd-footer-brand img{display:block;width:240px;max-width:100%;height:auto;margin:0 0 12px}
footer.fd-footer .fd-footer-brand p{font-size:14px;line-height:1.65}
footer.fd-footer .fd-footer-contact-list{list-style:none;padding:0;margin:20px 0}
footer.fd-footer .fd-footer-contact-list li{display:flex;align-items:baseline;gap:12px;margin:0 0 9px}
footer.fd-footer .fd-footer-contact-list i{color:var(--fc-brand-blue);width:16px;flex-shrink:0;text-align:center}
footer.fd-footer .footer-v2-social{gap:12px;flex-wrap:wrap}
footer.fd-footer .footer-v2-social a{width:40px;height:40px;background:transparent;border:1px solid #7694aa;color:#fff;transform:none;transition:background .2s}
footer.fd-footer .footer-v2-social a:hover{background:#0069c9;text-decoration:none;transform:none}
footer.fd-footer .fd-footer-column{border-left:1px solid #537a96;padding-left:28px}
footer.fd-footer .fd-footer-column h2{font-size:17px;line-height:1.3;font-weight:700;margin:0 0 18px;padding:0;color:#fff;text-transform:none;letter-spacing:normal}
footer.fd-footer .fd-footer-links{list-style:none;padding:0;margin:0}
footer.fd-footer .fd-footer-links li{padding:0;margin:0 0 9px}
footer.fd-footer .fd-footer-links a{display:inline-block;line-height:1.5}
footer.fd-footer .fd-footer-map-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:16px;color:var(--fc-brand-text);max-width:100%;min-width:0}
/* Il PNG originale è327×160: i primi145px contengono la cartina, senza la scritta a destra. */
footer.fd-footer .fd-footer-map-crop{display:block;width:110px;max-width:100%;aspect-ratio:145/160;overflow:hidden;flex-shrink:0}
footer.fd-footer .fd-footer-map-crop img{display:block;width:225.517242%;max-width:none;height:auto}
footer.fd-footer .fd-footer-map-link span span{display:inline-block;margin-left:6px}
footer.fd-footer .fd-footer-payment-row{padding:22px 0;border-top:1px solid #537a96}
footer.fd-footer .fd-footer-payments{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
footer.fd-footer .fd-footer-payments>span{font-size:13px;color:#fff}
footer.fd-footer .fd-footer-payment-icons{display:flex;align-items:center;flex-wrap:wrap;gap:8px;--footer-payment-card-height:28px}
footer.fd-footer .fd-footer-payment-icons img{display:block;width:auto;height:28px;object-fit:contain;border-radius:3px}
footer.fd-footer .fd-footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-top:0}
/* La riga finale lascia libera l'area del pulsante assistenza fisso. */
footer.fd-footer.fd-footer--full .fd-footer-bottom{padding-right:64px}
footer.fd-footer .fd-footer-identity{flex:1;min-width:0;font-size:12px;color:#c8dce9;line-height:1.65}
footer.fd-footer .fd-footer-identity p+p{margin-top:4px;overflow-wrap:anywhere}
footer.fd-footer .fd-footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 0;font-size:12px;line-height:1.6}
footer.fd-footer .fd-footer-legal a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
footer.fd-footer .fd-footer-legal a+a{border-left:1px solid #7694aa;padding-left:12px;margin-left:12px}
footer.fd-footer.fd-footer--compact{padding-top:28px}
footer.fd-footer .fd-footer-compact-top{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:28px;align-items:center;padding-bottom:22px}
footer.fd-footer .fd-footer-compact-top--payments{grid-template-columns:1fr 1fr 1.3fr}
footer.fd-footer .fd-footer-contacts{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;border-left:1px solid #537a96;padding-left:28px}
footer.fd-footer .fd-footer-contacts a{white-space:nowrap}
footer.fd-footer .fd-footer-compact-top>.fd-footer-payments{border-left:1px solid #537a96;padding-left:28px;gap:10px}
footer.fd-footer.fd-footer--compact .fd-footer-bottom{border-top:1px solid #537a96;padding-top:18px}
footer.dt-footer.fd-footer{margin-top:50px}
footer.dt-footer.fd-footer .dt-container{display:block}
footer.dt-footer.fd-footer .fd-footer-compact-top{grid-template-columns:1fr 1fr}
footer.dt-footer.fd-footer .fd-footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}

@media(max-width:1199px){
 footer.fd-footer .fd-footer-grid{gap:24px;grid-template-columns:1.2fr 1fr .8fr .8fr}
 footer.fd-footer .fd-footer-column{padding-left:20px}
 footer.fd-footer .fd-footer-brand img{width:220px}
 footer.fd-footer .fd-footer-compact-top--payments{grid-template-columns:1fr 1fr}
 footer.fd-footer .fd-footer-compact-top>.fd-footer-payments{grid-column:1/-1;border-left:0;padding-left:0}
 footer.fd-footer .fd-footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(max-width:991px){
 footer.fd-footer .fd-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
 footer.fd-footer .fd-footer-grid>.fd-footer-column:nth-child(3){border-left:0;padding-left:0}
 footer.fd-footer .fd-footer-map-link{flex-direction:row;align-items:center}
 footer.fd-footer .fd-footer-map-crop{width:78px}
 footer.fd-footer .fd-footer-compact-top{gap:22px}
}
@media(max-width:575px){
 header.dt-header .dt-logo img{width:180px}
 footer.fd-footer{padding-top:32px;font-size:14px}
 footer.fd-footer .fd-footer-grid{gap:28px 18px;padding-bottom:24px}
 footer.fd-footer .fd-footer-intro{grid-column:1/-1}
 footer.fd-footer .fd-footer-brand img{width:220px}
 footer.fd-footer .fd-footer-column{border-left:0;padding-left:0}
 footer.fd-footer .fd-footer-column:nth-child(3){border-left:1px solid #537a96;padding-left:18px}
 footer.fd-footer .fd-footer-column h2{font-size:16px;margin-bottom:12px}
 footer.fd-footer .fd-footer-links a{font-size:13px;padding:3px 0}
 footer.fd-footer .fd-footer-location{grid-column:1/-1;border-top:1px solid #537a96;padding-top:22px;display:grid;grid-template-columns:1fr 1fr;column-gap:18px}
 footer.fd-footer .fd-footer-location h2{grid-column:1}
 footer.fd-footer .fd-footer-location p{grid-column:1}
 footer.fd-footer .fd-footer-location .fd-footer-map-link{grid-column:2;grid-row:1/3;margin:0;justify-self:end;flex-direction:column;gap:8px}
 footer.fd-footer .fd-footer-payments{gap:10px;align-items:flex-start;flex-direction:column}
 footer.fd-footer .fd-footer-payment-icons{gap:7px;--footer-payment-card-height:25px}
 footer.fd-footer .fd-footer-payment-icons img{height:25px}
 footer.fd-footer .fd-footer-legal{font-size:12px;gap:12px 0}
 footer.fd-footer .fd-footer-legal a+a{margin-left:10px;padding-left:10px}
 footer.fd-footer .fd-footer-legal a[onclick]{border-left:0;padding-left:0;margin-left:0;flex-basis:100%}
 footer.fd-footer.fd-footer--full .fd-footer-bottom{padding-right:0}
 footer.fd-footer .fd-footer-compact-top,
 footer.dt-footer.fd-footer .fd-footer-compact-top{grid-template-columns:1fr;gap:18px}
 footer.fd-footer .fd-footer-contacts{border-left:0;padding-left:0;gap:10px 20px}
 footer.fd-footer .fd-footer-compact-top>.fd-footer-payments{grid-column:auto}
}
@media print{footer.fd-footer.no-print{display:none!important}}

/* Tutte le card usano la stessa altezza; larghezza dalle proporzioni originali. */
footer.fd-footer .fd-footer-payment-icons img{flex:0 0 auto;align-self:center;width:auto}

/* Le card SVG originali hanno il bordo visibile nel rettangolo 1,1–37,23 del viewBox38×24.
   Si esclude il solo margine trasparente, conservando file e proporzioni originali. */
footer.fd-footer .fd-footer-payment-card-frame{display:block;position:relative;flex:0 0 auto;width:calc(var(--footer-payment-card-height)*36/22);height:var(--footer-payment-card-height);overflow:hidden;border-radius:3px}
footer.fd-footer .fd-footer-payment-icons .fd-footer-payment-card-frame img{position:absolute;max-width:none;width:calc(100%*38/36);height:calc(100%*24/22);left:calc(-100%/36);top:calc(-100%/22);border-radius:0}
