/* Newsletter Tresor: indipendente dal Bootstrap legacy del sito. */
footer .tresor-newsletter { display:flex; align-items:center; gap:36px; margin:0 0 36px; padding:28px 32px; background:#f4f6f8; border:1px solid #e3dcd1; border-radius:8px; color:#343c35; text-align:left; }
.tresor-newsletter .footer-newsletter-copy { flex:1 1 45%; min-width:0; }
.tresor-newsletter .footer-newsletter-label { display:block; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#586b5d; }
.tresor-newsletter h2 { margin:10px 0; font-size:28px; line-height:1.25; font-weight:400; color:#093c69; }
.tresor-newsletter p { font-size:15px; line-height:1.6; margin:0; }
.tresor-newsletter .footer-newsletter-form { flex:1 1 50%; margin:0; min-width:0; }
.tresor-newsletter label { display:block; font-size:14px; font-weight:400; margin:0 0 6px; }
.tresor-newsletter .footer-newsletter-fields { display:flex; gap:10px; margin-bottom:12px; }
.tresor-newsletter input[type=email] { flex:1 1 auto; min-width:0; width:100%; height:46px; border:1px solid #8a978e; background:white; color:#222; border-radius:4px; padding:10px 12px; font-size:16px; }
.tresor-newsletter .footer-newsletter-button { flex:0 0 auto; min-height:46px; padding:10px 20px; border:0; border-radius:4px; background:#093c69; color:white; font-size:15px; }
.tresor-newsletter .footer-newsletter-button:hover { background:#072f52; }
.tresor-newsletter .footer-newsletter-button:disabled { opacity:.6; cursor:wait; }
.tresor-newsletter .footer-newsletter-consent { display:flex; gap:9px; align-items:flex-start; font-size:12px; line-height:1.6; }
.tresor-newsletter input[type=checkbox] { flex:0 0 auto; width:18px; height:18px; margin:1px 0 0; accent-color:#093c69; }
footer .tresor-newsletter a { color:#093c69; text-decoration:underline; }
.tresor-newsletter .footer-newsletter-help { color:#536056; font-size:12px; margin-top:7px; }
.tresor-newsletter .footer-newsletter-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.tresor-newsletter :focus-visible, .pdc-newsletter :focus-visible { outline:2px solid #093c69 !important; outline-offset:3px; }
.pdc-newsletter { display:flex; align-items:center; gap:24px; margin:24px 0; padding:24px; background:#f4f6f8; border:1px solid #e3dcd1; border-left:4px solid #093c69; border-radius:6px; color:#343c35; clear:both; }
.pdc-newsletter__content { flex:1 1 50%; min-width:0; }
.pdc-newsletter__actions { flex:1 1 45%; }
.pdc-newsletter h2 { font-size:20px; margin:0 0 12px; }
.pdc-newsletter p { margin:8px 0; font-size:14px; }
.pdc-newsletter__email { overflow-wrap:anywhere; }
.pdc-newsletter__status { display:inline-block; padding:3px 10px; background:#e5e1d8; border-radius:20px; font-size:14px; }
.pdc-newsletter__status--active { background:#dce8de; color:#093c69; }
.pdc-newsletter__actions label { display:flex; gap:9px; align-items:flex-start; font-size:14px; font-weight:400; }
.pdc-newsletter__actions .btn { white-space:normal; }
@media(max-width:767px) {
 footer .tresor-newsletter, .pdc-newsletter { flex-direction:column; align-items:stretch; gap:20px; padding:22px 18px; }
 .tresor-newsletter h2 { font-size:25px; }
 .tresor-newsletter .footer-newsletter-copy, .tresor-newsletter .footer-newsletter-form, .pdc-newsletter__content, .pdc-newsletter__actions { flex-basis:auto; }
}
@media(max-width:380px) { .tresor-newsletter .footer-newsletter-fields { flex-direction:column; } }

/* Il footer originale ha altezza fissa e posizione assoluta su desktop.
   Il nuovo contenuto resta nel flusso: niente sovrapposizioni o altezze stimate. */
footer.tresor-newsletter-footer { position:static; height:auto !important; padding-bottom:20px; }
body:has(footer.tresor-newsletter-footer) #sfondo { display:flex; flex-direction:column; min-height:100vh; height:auto !important; padding-bottom:0 !important; }
body:has(footer.tresor-newsletter-footer) #pagewrap { flex:1 0 auto; margin:0 !important; padding-bottom:0 !important; }

/* Il titolo e il suo fregio restano a sinistra anche nella homepage. */
footer .tresor-newsletter h2#footer-newsletter-title { text-align:left !important; }
footer .tresor-newsletter h2#footer-newsletter-title::after { margin-left:0 !important; margin-right:auto !important; }

/* Conferma newsletter: stato e azione leggibili, senza dipendere dal titolo globale. */
.newsletter-confirm-page { padding:48px 20px 60px; }
.newsletter-confirm-card { max-width:760px; margin:0 auto; padding:38px 44px; background:#fafbfc; border:1px solid #e3dcd1; border-radius:12px; color:#344238; text-align:center; box-shadow:0 8px 28px rgba(22,58,38,.05); }
.newsletter-confirm-brand { font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:#5c6d61; }
.newsletter-confirm-icon { display:flex; align-items:center; justify-content:center; width:112px; height:112px; margin:30px auto 28px; background:#e6eef6; border:1px solid #c9daea; border-radius:50%; color:#093c69; box-shadow:0 0 0 8px #eef4fa; }
.newsletter-confirm-icon svg { display:block; width:60px; height:60px; flex:none; }
.newsletter-confirm-icon--success { background:#dfeee0; border-color:#c2d9c6; color:#205c37; box-shadow:0 0 0 8px #edf4ea; }
.newsletter-confirm-icon--warning { background:#fbefda; border-color:#e8d5b4; color:#89551e; box-shadow:0 0 0 8px #faf4e9; }
@media(max-width:767px) { .newsletter-confirm-icon { width:96px; height:96px; margin:26px auto; } .newsletter-confirm-icon svg { width:52px; height:52px; } }
.newsletter-confirm-card h1 { margin:0 0 18px; padding:0; font-size:34px; line-height:1.2; font-weight:400; color:#093c69; text-align:center; border:0; }
.newsletter-confirm-card h1::after { display:none; }
.newsletter-confirm-card p { font-size:16px; line-height:1.75; }
.newsletter-confirm-message { margin:0 auto 24px; max-width:610px; }
.newsletter-confirm-button { display:inline-block; padding:13px 24px; min-height:46px; border:0; border-radius:5px; background:#093c69; color:#fff; font-size:16px; white-space:normal; }
.newsletter-confirm-button:hover { background:#072f52; }
.newsletter-confirm-card :focus-visible { outline:2px solid #093c69 !important; outline-offset:4px; }
.newsletter-confirm-card .newsletter-confirm-note { font-size:13px; color:#627166; margin-top:12px; }
.newsletter-confirm-hint { border-top:1px solid #e3dcd1; padding-top:20px; font-size:14px; line-height:1.7; color:#54655a; }
.newsletter-confirm-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:32px; padding-top:24px; border-top:1px solid #e3dcd1; font-size:15px; }
.newsletter-confirm-links a { display:flex; align-items:center; gap:12px; min-height:64px; padding:12px 16px; border:1px solid #d6dfd5; border-radius:8px; background:#eef4fa; color:#093c69; text-decoration:none; text-align:left; line-height:1.4; }
.newsletter-confirm-links a:hover, .newsletter-confirm-links a:focus-visible { background:#e4eddf; border-color:#8da88e; color:#072f52; text-decoration:none; }
.newsletter-confirm-link-icon { display:flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; background:#fff; border-radius:50%; }
.newsletter-confirm-link-icon svg { display:block; width:22px; height:22px; }
.newsletter-confirm-link-arrow { margin-left:auto; font-size:21px; }
@media(max-width:575px) { .newsletter-confirm-links { grid-template-columns:1fr; gap:12px; margin-top:26px; padding-top:20px; } }
.newsletter-cancel-form { text-align:left; max-width:440px; margin:24px auto 0; }
.newsletter-cancel-form input { height:46px; margin:6px 0 14px; font-size:16px; background:#fff; color:#222; }
.newsletter-confirm-diagnostic { margin:24px 0; padding:12px; text-align:left; border:1px solid #b47c48; overflow-wrap:anywhere; }
.newsletter-confirm-diagnostic p { font-size:13px; margin:10px 0 0; }
@media(max-width:767px) { .newsletter-confirm-page { padding:26px 14px 36px; } .newsletter-confirm-card { padding:28px 20px; } .newsletter-confirm-card h1 { font-size:27px; } }

.newsletter-confirm-card h1 { text-transform:none; letter-spacing:normal; }
