/* GLAM V202 — Contrasto testi/sfondi pagine interne. Nessuna modifica al layout. */
:root{
  --gt202-title:#203126;
  --gt202-copy:#4b574f;
  --gt202-muted:#667067;
  --gt202-link:#356d1e;
  --gt202-light:#ffffff;
  --gt202-soft:#f7f2e8;
  --gt202-dark:#173c2c;
  --gt202-dark-2:#244b1d;
  --gt202-on-dark:#ffffff;
  --gt202-on-dark-copy:rgba(255,255,255,.92);
  --gt202-on-dark-muted:rgba(255,255,255,.78);
}

/* Il foglio non modifica dimensioni, griglie, margini o posizionamenti. */
html body:not(.gt-home-v91) [data-gt202-tone="light"]{
  --gt202-local-title:#203126;
  --gt202-local-copy:#4b574f;
  --gt202-local-muted:#667067;
  --gt202-local-link:#356d1e;
  color:var(--gt202-local-copy)!important;
}
html body:not(.gt-home-v91) [data-gt202-tone="dark"]{
  --gt202-local-title:#ffffff;
  --gt202-local-copy:rgba(255,255,255,.92);
  --gt202-local-muted:rgba(255,255,255,.78);
  --gt202-local-link:#ffffff;
  color:var(--gt202-local-copy)!important;
}
html body:not(.gt-home-v91) [data-gt202-tone] :where(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--gt202-local-title)!important;
  text-shadow:none!important;
}
html body:not(.gt-home-v91) [data-gt202-tone] :where(p,li,small,label,summary,figcaption,blockquote){
  color:var(--gt202-local-copy)!important;
}
html body:not(.gt-home-v91) [data-gt202-tone] :where(.eyebrow,.kicker,[class*="eyebrow"],[class*="kicker"],[class*="label"],.muted,.meta,.note,.help){
  color:var(--gt202-local-muted)!important;
}
html body:not(.gt-home-v91) [data-gt202-tone] a:not(.btn):not([class*="btn"]):not(.nav-cta){
  color:var(--gt202-local-link)!important;
}

/* Superfici chiare esplicite: testo sempre scuro. */
html body:not(.gt-home-v91) :is(
  .v57-card,.v64-card,.v66-card,.gto-info-card,.gto-checklist article,.gto-steps article,
  .gt171-panel,.gt171-info,.gt171-search-card,.gt171-search-box,
  .gt-v138-fast-card:not(.gt-v138-fast-card--hot),.gt-v138-route-card,.gt-v138-route-body,.gt-v138-floating-card,.gt-v138-office-strip,
  .gt173-service-card,.gt175-zone-brand,.gt175-zone-shot-copy,
  .gt-v149-card,.gt-v149-panel,.gt-v159-card,.gt-v159-note article,.gt-v160-card,.gt-v160-band article,
  .gt-v163-panel,.gt-v163-route article,.choice-boxes article,.gt-zone-icons article,
  .tile-panel,.feature-panel,.v64-media-caption,
  .gt-v134-review-card,.gt-v134-proof-main,.gt-v134-proof-side,
  .gt191-review-path,.gt191-case:not(.highlight),.gt191-source-card,.gt191-step,.gt191-faq,
  .v75-doc-card,.v75-route-card:not(.v75-route-card-hot),.v75-minor-card:not(.v75-minor-card-strong),.v75-cin-panel,.v75-faq,.v60-doc-card,
  .gt-valuta-card,.gt-valuta-side,.gt-valuta-trust,.gt-valuta-form-section,
  .faq-category,.faq-accordion,details,
  .card,.panel,.box,.info-card,.contact-card,.service-card,.review-card,.doc-card,.legal-card,.form-card
){
  --gt202-local-title:#203126;
  --gt202-local-copy:#4b574f;
  --gt202-local-muted:#667067;
  --gt202-local-link:#356d1e;
  color:#4b574f!important;
}
html body:not(.gt-home-v91) :is(
  .v57-card,.v64-card,.v66-card,.gto-info-card,.gto-checklist article,.gto-steps article,
  .gt171-panel,.gt171-info,.gt171-search-card,.gt171-search-box,
  .gt-v138-fast-card:not(.gt-v138-fast-card--hot),.gt-v138-route-card,.gt-v138-route-body,.gt-v138-floating-card,.gt-v138-office-strip,
  .gt173-service-card,.gt175-zone-brand,.gt175-zone-shot-copy,
  .gt-v149-card,.gt-v149-panel,.gt-v159-card,.gt-v159-note article,.gt-v160-card,.gt-v160-band article,
  .gt-v163-panel,.gt-v163-route article,.choice-boxes article,.gt-zone-icons article,
  .tile-panel,.feature-panel,.v64-media-caption,
  .gt-v134-review-card,.gt-v134-proof-main,.gt-v134-proof-side,
  .gt191-review-path,.gt191-case:not(.highlight),.gt191-source-card,.gt191-step,.gt191-faq,
  .v75-doc-card,.v75-route-card:not(.v75-route-card-hot),.v75-minor-card:not(.v75-minor-card-strong),.v75-cin-panel,.v75-faq,.v60-doc-card,
  .gt-valuta-card,.gt-valuta-side,.gt-valuta-trust,.gt-valuta-form-section,
  .faq-category,.faq-accordion,details,
  .card,.panel,.box,.info-card,.contact-card,.service-card,.review-card,.doc-card,.legal-card,.form-card
) :where(h1,h2,h3,h4,h5,h6,strong,b){color:#203126!important;text-shadow:none!important;}
html body:not(.gt-home-v91) :is(
  .v57-card,.v64-card,.v66-card,.gto-info-card,.gto-checklist article,.gto-steps article,
  .gt171-panel,.gt171-info,.gt171-search-card,.gt171-search-box,
  .gt-v138-fast-card:not(.gt-v138-fast-card--hot),.gt-v138-route-card,.gt-v138-route-body,.gt-v138-floating-card,.gt-v138-office-strip,
  .gt173-service-card,.gt175-zone-brand,.gt175-zone-shot-copy,
  .gt-v149-card,.gt-v149-panel,.gt-v159-card,.gt-v159-note article,.gt-v160-card,.gt-v160-band article,
  .gt-v163-panel,.gt-v163-route article,.choice-boxes article,.gt-zone-icons article,
  .tile-panel,.feature-panel,.v64-media-caption,
  .gt-v134-review-card,.gt-v134-proof-main,.gt-v134-proof-side,
  .gt191-review-path,.gt191-case:not(.highlight),.gt191-source-card,.gt191-step,.gt191-faq,
  .v75-doc-card,.v75-route-card:not(.v75-route-card-hot),.v75-minor-card:not(.v75-minor-card-strong),.v75-cin-panel,.v75-faq,.v60-doc-card,
  .gt-valuta-card,.gt-valuta-side,.gt-valuta-trust,.gt-valuta-form-section,
  .faq-category,.faq-accordion,details,
  .card,.panel,.box,.info-card,.contact-card,.service-card,.review-card,.doc-card,.legal-card,.form-card
) :where(p,li,small,label,summary,figcaption,blockquote){color:#4b574f!important;}

/* Superfici verdi/scure esplicite: sfondo realmente scuro e testo bianco. */
html body:not(.gt-home-v91) :is(
  .v64-cta,.v66-cta,.v57-final,.v67-cta,.gto-final,.inner-cta,.final-impact-cta,.gt-dark-cta,.cta-dark,
  .gt-v138-fast-card--hot,.gt173-service-footer,.gt-v188-final,
  .gt191-transparency,.gt191-note,.gt191-case.highlight,
  .v75-route-card-hot,.v75-minor-card-strong,
  .gt-zone-emotion,.gt-zone-cta-band,.vivere-cta,.v69-route-summary,.v68-pec-hero,
  .gt-v149-band,.gt-owner-inner,.v51-owner-copy,.v57-owner-copy,
  .gt-page-proprietari .v57-grid-2 > *:nth-child(2),
  .gt171-final-card
){
  --gt202-local-title:#ffffff;
  --gt202-local-copy:rgba(255,255,255,.92);
  --gt202-local-muted:rgba(255,255,255,.78);
  --gt202-local-link:#ffffff;
  color:#ffffff!important;
  background-color:#173c2c!important;
}
html body:not(.gt-home-v91) :is(
  .v64-cta,.v66-cta,.v57-final,.v67-cta,.gto-final,.inner-cta,.final-impact-cta,.gt-dark-cta,.cta-dark,
  .gt-v138-fast-card--hot,.gt173-service-footer,.gt-v188-final,
  .gt191-transparency,.gt191-note,.gt191-case.highlight,
  .v75-route-card-hot,.v75-minor-card-strong,
  .gt-zone-emotion,.gt-zone-cta-band,.vivere-cta,.v69-route-summary,.v68-pec-hero,
  .gt-v149-band,.gt-owner-inner,.v51-owner-copy,.v57-owner-copy,
  .gt-page-proprietari .v57-grid-2 > *:nth-child(2),
  .gt171-final-card
) :where(h1,h2,h3,h4,h5,h6,strong,b){color:#ffffff!important;text-shadow:none!important;}
html body:not(.gt-home-v91) :is(
  .v64-cta,.v66-cta,.v57-final,.v67-cta,.gto-final,.inner-cta,.final-impact-cta,.gt-dark-cta,.cta-dark,
  .gt-v138-fast-card--hot,.gt173-service-footer,.gt-v188-final,
  .gt191-transparency,.gt191-note,.gt191-case.highlight,
  .v75-route-card-hot,.v75-minor-card-strong,
  .gt-zone-emotion,.gt-zone-cta-band,.vivere-cta,.v69-route-summary,.v68-pec-hero,
  .gt-v149-band,.gt-owner-inner,.v51-owner-copy,.v57-owner-copy,
  .gt-page-proprietari .v57-grid-2 > *:nth-child(2),
  .gt171-final-card
) :where(p,li,small,label,summary,figcaption,blockquote,span){color:rgba(255,255,255,.92)!important;}
html body:not(.gt-home-v91) :is(
  .v64-cta,.v66-cta,.v57-final,.v67-cta,.gto-final,.inner-cta,.final-impact-cta,.gt-dark-cta,.cta-dark,
  .gt-v138-fast-card--hot,.gt173-service-footer,.gt-v188-final,
  .gt191-transparency,.gt191-note,.gt191-case.highlight,
  .v75-route-card-hot,.v75-minor-card-strong,
  .gt-zone-emotion,.gt-zone-cta-band,.vivere-cta,.v69-route-summary,.v68-pec-hero,
  .gt-v149-band,.gt-owner-inner,.v51-owner-copy,.v57-owner-copy,
  .gt-page-proprietari .v57-grid-2 > *:nth-child(2),
  .gt171-final-card
) :where(.eyebrow,.kicker,[class*="eyebrow"],[class*="kicker"],[class*="label"],.muted,.meta,.note,.help){color:rgba(255,255,255,.78)!important;}

/* Blocchi segnalati: regole dirette e definitive. */
html body.gt-page-zone main#contenuto .gt-zone-emotion{
  background:linear-gradient(135deg,#173c2c 0%,#2b5723 100%)!important;
  color:#fff!important;
}
html body.gt-page-zone main#contenuto .gt-zone-emotion > :where(h1,h2,h3,strong){color:#fff!important;}
html body.gt-page-zone main#contenuto .gt-zone-emotion > :where(p,.v64-eyebrow){color:rgba(255,255,255,.92)!important;}
html body.gt-page-zone main#contenuto .gt-zone-emotion .gt-zone-icons article{
  background:#fff!important;color:#4b574f!important;
}
html body.gt-page-zone main#contenuto .gt-zone-emotion .gt-zone-icons article :where(h1,h2,h3,strong){color:#203126!important;}
html body.gt-page-zone main#contenuto .gt-zone-emotion .gt-zone-icons article p{color:#4b574f!important;}

html body.gt-page-zone main#contenuto .v64-cta{
  background:linear-gradient(135deg,#173c2c 0%,#2b5723 100%)!important;
  color:#fff!important;
}
html body.gt-page-zone main#contenuto .v64-cta :where(h1,h2,h3,strong){color:#fff!important;}
html body.gt-page-zone main#contenuto .v64-cta :where(p,.v64-eyebrow){color:rgba(255,255,255,.92)!important;}

html body.gt-page-contatti main#contenuto .gt-v138-fast-card--hot{
  background:linear-gradient(145deg,#173c2c,#2c5a25)!important;color:#fff!important;
}
html body.gt-page-contatti main#contenuto .gt-v138-fast-card--hot :where(strong,h2,h3){color:#fff!important;}
html body.gt-page-contatti main#contenuto .gt-v138-fast-card--hot :where(p,span){color:rgba(255,255,255,.92)!important;}
html body.gt-page-contatti main#contenuto .gt-v138-route-card{
  background:#fff!important;color:#4b574f!important;
}
html body.gt-page-contatti main#contenuto .gt-v138-route-card :where(h1,h2,h3,strong){color:#203126!important;}
html body.gt-page-contatti main#contenuto .gt-v138-route-card :where(p,li){color:#4b574f!important;}

html body.gt-page-ospiti main#contenuto .gto-final{
  background:linear-gradient(135deg,#173c2c 0%,#2b5723 100%)!important;color:#fff!important;
}
html body.gt-page-ospiti main#contenuto .gto-final :where(h1,h2,h3,strong){color:#fff!important;}
html body.gt-page-ospiti main#contenuto .gto-final :where(p,.gto-kicker){color:rgba(255,255,255,.92)!important;}

html body.gt-page-recensioni main#contenuto .gt191-review-path{
  background:#fff!important;color:#4b574f!important;
}
html body.gt-page-recensioni main#contenuto .gt191-review-path :where(h1,h2,h3,strong){color:#203126!important;}
html body.gt-page-recensioni main#contenuto .gt191-review-path :where(p,li,span){color:#4b574f!important;}

/* Pulsanti: il testo non eredita il colore della card. */
html body:not(.gt-home-v91) :is(.btn,.gto-btn,.gt171-btn,.gt191-btn,.gt-v149-btn,.gt-valuta-submit,.nav-cta){
  color:#fff!important;
}
html body:not(.gt-home-v91) :is(.btn.primary,.gto-btn-primary,.gt171-btn-primary,.gt191-btn.primary,.gt-valuta-submit,.nav-cta){
  color:#fff!important;background-color:#4a8619!important;
}
html body:not(.gt-home-v91) :is(.btn.secondary,.gto-btn-light,.gt171-btn-soft,.gt191-btn.secondary,.gt-v149-btn.alt){
  color:#244b1d!important;background:#fff!important;
}
html body:not(.gt-home-v91) :is(.btn,.gto-btn,.gt171-btn,.gt191-btn,.gt-v149-btn,.gt-valuta-submit,.nav-cta) :where(span,strong,b){
  color:inherit!important;
}

/* Moduli e testo su superfici chiare. */
html body:not(.gt-home-v91) :where(input,select,textarea){
  color:#203126!important;background:#fff!important;
}
html body:not(.gt-home-v91) :where(input,textarea)::placeholder{color:#7a8279!important;opacity:1!important;}
html body:not(.gt-home-v91) :where(label,.field-hint,.help-text){color:#4b574f!important;}

/* Footer e barra superiore restano scuri e leggibili. */
html body:not(.gt-home-v91) .topline,
html body:not(.gt-home-v91) .site-footer{
  --gt202-local-title:#fff;--gt202-local-copy:rgba(255,255,255,.90);--gt202-local-muted:rgba(255,255,255,.74);--gt202-local-link:#fff;
  color:#fff!important;
}
html body:not(.gt-home-v91) .topline *,
html body:not(.gt-home-v91) .site-footer *{color:inherit!important;}
html body:not(.gt-home-v91) .site-footer p{color:rgba(255,255,255,.82)!important;}

/* Nessun overflow testuale, senza cambiare il layout. */
html body:not(.gt-home-v91) :where(h1,h2,h3,h4,h5,h6,p,strong,a,span,li){
  overflow-wrap:break-word;
  word-break:normal;
}
