/* GLAM V815 - FIX CHIRURGICO HOME HERO + CONTRASTO CARD/BOTTONI
   Solo CSS. Nessun JS. Regola: sfondo chiaro = testo scuro; foto/overlay scuri = testo bianco. */

html, body{overflow-x:hidden!important;}
body{overflow-y:auto!important;}

/* Disattiva eventuali overlay/preloader rimasti da patch grafiche precedenti */
#gt-readability-loader,
#gt-menu-readability-loader,
#gt-contrast-loader,
#gt-emergency-loader,
.glam-loader,
.gt-loader,
.gt-page-loader,
.gt-preloader,
.glam-preloader,
[class="gt-loader"],
[class="gt-preloader"]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* HOME: impedisce sovrapposizione tra kicker, eventuale titolo SEO duplicato, Gallipoli e sottotitolo */
body .gt-home-v91 > section.gt-v91-hero,
body main#contenuto.gt-home-v91 > section.gt-v91-hero,
body section.gt-v91-hero[aria-label="Glam Touring Gallipoli"]{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:clamp(560px,72vh,760px)!important;
  padding:clamp(90px,10vh,140px) clamp(20px,6vw,96px) clamp(92px,12vh,140px)!important;
  display:flex!important;
  align-items:center!important;
}
body .gt-home-v91 .gt-v91-hero-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:0!important;
  position:relative!important;
  z-index:20!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:min(720px,calc(100vw - 44px))!important;
  max-width:720px!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:initial!important;
  pointer-events:auto!important;
}
/* Se una patch ha inserito un H1/testo SEO visibile "Case vacanza a Gallipoli" nella hero, lo nasconde solo visivamente */
body .gt-home-v91 .gt-v91-hero-copy > h1:not(.gt-script-title),
body .gt-home-v91 .gt-v91-hero-copy > h2.gt-seo-title,
body .gt-home-v91 .gt-v91-hero-copy > .gt-seo-title,
body .gt-home-v91 .gt-v91-hero-copy > .gt-visible-seo-title,
body .gt-home-v91 .gt-v91-hero-copy > .gt-v770-seo-title{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body .gt-home-v91 .gt-v91-kicker{
  display:block!important;
  margin:0 0 14px 2px!important;
  padding:0!important;
  font-family:'Montserrat',Arial,sans-serif!important;
  font-size:clamp(.72rem,1.2vw,.92rem)!important;
  line-height:1.18!important;
  font-weight:850!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 4px 16px rgba(0,0,0,.78)!important;
}
body .gt-home-v91 .gt-v91-hero h1.gt-script-title,
body .gt-home-v91 .gt-script-title,
body .gt-home-v91 h1.gt-script-title.gt-seo-h1{
  display:block!important;
  margin:0 0 20px 0!important;
  padding:0!important;
  font-family:'Great Vibes','Cormorant Garamond',Georgia,cursive!important;
  font-size:clamp(4.45rem,8vw,7.65rem)!important;
  line-height:.88!important;
  font-weight:400!important;
  letter-spacing:-.012em!important;
  white-space:nowrap!important;
  color:#fffdf6!important;
  -webkit-text-fill-color:#fffdf6!important;
  text-shadow:0 7px 22px rgba(0,0,0,.82),0 22px 58px rgba(0,0,0,.50)!important;
  transform:none!important;
  max-width:100%!important;
}
body .gt-home-v91 .gt-heart{
  display:inline!important;
  color:#fffdf6!important;
  -webkit-text-fill-color:#fffdf6!important;
  font-size:.48em!important;
  vertical-align:.13em!important;
  margin-left:.035em!important;
}
body .gt-home-v91 .gt-hero-subtitle,
body .gt-home-v91 .gt-v91-hero p.gt-hero-subtitle,
body .gt-home-v91 .gt-hero-subtitle-v602{
  display:block!important;
  margin:0 0 22px 2px!important;
  max-width:620px!important;
  font-size:clamp(1.08rem,1.8vw,1.45rem)!important;
  line-height:1.24!important;
  font-weight:650!important;
  color:#fffdf6!important;
  -webkit-text-fill-color:#fffdf6!important;
  text-shadow:0 4px 16px rgba(0,0,0,.86),0 15px 40px rgba(0,0,0,.55)!important;
}
body .gt-home-v91 .gt-sub-gold{
  color:#f3bd63!important;
  -webkit-text-fill-color:#f3bd63!important;
}
body .gt-home-v91 .gt-v91-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:0 0 13px 0!important;
  padding:0!important;
  position:relative!important;
  z-index:30!important;
  pointer-events:auto!important;
}
body .gt-home-v91 .gt-v91-actions .gt-v91-btn,
body .gt-home-v91 .gt-v91-actions .gt-v91-btn *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 2px 8px rgba(0,0,0,.45)!important;
}
body .gt-home-v91 .gt-hero-trust-v615,
body .gt-home-v91 .gt-hero-trust-v600,
body .gt-home-v91 .gt-mobile-trust-v607{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  max-width:680px!important;
  position:relative!important;
  z-index:22!important;
  clear:both!important;
}
body .gt-home-v91 .gt-hero-trust-v615 span,
body .gt-home-v91 .gt-hero-trust-v600 span,
body .gt-home-v91 .gt-mobile-trust-v607 span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  background:rgba(8,20,19,.66)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  font-size:.68rem!important;
  line-height:1!important;
  font-weight:850!important;
  text-shadow:0 2px 8px rgba(0,0,0,.70)!important;
  white-space:nowrap!important;
}

@media(max-width:760px){
  body .gt-home-v91 > section.gt-v91-hero,
  body main#contenuto.gt-home-v91 > section.gt-v91-hero,
  body section.gt-v91-hero[aria-label="Glam Touring Gallipoli"]{
    min-height:620px!important;
    height:auto!important;
    padding:86px 16px 76px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  body .gt-home-v91 .gt-v91-hero-copy{
    width:calc(100vw - 32px)!important;
    max-width:calc(100vw - 32px)!important;
  }
  body .gt-home-v91 .gt-v91-kicker{
    margin-bottom:11px!important;
    font-size:.68rem!important;
    letter-spacing:.16em!important;
  }
  body .gt-home-v91 .gt-v91-hero h1.gt-script-title,
  body .gt-home-v91 .gt-script-title,
  body .gt-home-v91 h1.gt-script-title.gt-seo-h1{
    font-size:clamp(3.15rem,15.2vw,4.9rem)!important;
    line-height:.90!important;
    margin-bottom:16px!important;
    max-width:calc(100vw - 32px)!important;
  }
  body .gt-home-v91 .gt-hero-subtitle,
  body .gt-home-v91 .gt-v91-hero p.gt-hero-subtitle,
  body .gt-home-v91 .gt-hero-subtitle-v602{
    font-size:clamp(1rem,4.6vw,1.22rem)!important;
    line-height:1.26!important;
    margin-bottom:18px!important;
    max-width:calc(100vw - 34px)!important;
  }
  body .gt-home-v91 .gt-v91-actions .gt-v91-btn{
    max-width:100%!important;
    min-height:46px!important;
    padding:12px 17px!important;
    font-size:.69rem!important;
    line-height:1.1!important;
  }
  body .gt-home-v91 .gt-hero-trust-v615,
  body .gt-home-v91 .gt-hero-trust-v600,
  body .gt-home-v91 .gt-mobile-trust-v607{
    gap:6px!important;
  }
  body .gt-home-v91 .gt-hero-trust-v615 span,
  body .gt-home-v91 .gt-hero-trust-v600 span,
  body .gt-home-v91 .gt-mobile-trust-v607 span{
    font-size:.58rem!important;
    min-height:26px!important;
    padding:6px 8px!important;
  }
}

/* PAGINE V64: Appartamenti / Vista mare. Sfondo chiaro = testo nero. */
body .v64-page-main,
body .v64-page-main .v64-seo-copy,
body .v64-page-main .v64-section,
body .v64-page-main .v64-card,
body .v64-page-main .v64-head,
body .v64-page-main .gt-v159-card{
  color:#14231f!important;
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}
body .v64-page-main .v64-seo-copy h1,
body .v64-page-main .v64-seo-copy p,
body .v64-page-main .v64-section h2,
body .v64-page-main .v64-section h3,
body .v64-page-main .v64-card strong,
body .v64-page-main .v64-card p,
body .v64-page-main .gt-v159-card strong,
body .v64-page-main .gt-v159-card p{
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}
body .v64-page-main .v64-eyebrow,
body .v64-page-main .gt-v159-num{
  color:#805b17!important;
  -webkit-text-fill-color:#805b17!important;
  text-shadow:none!important;
}
body .v64-page-main .v64-seo-media .v64-media-caption,
body .v64-page-main .v64-seo-media .v64-media-caption *,
body .v64-page-main .v64-seo-media .v64-eyebrow{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 3px 12px rgba(0,0,0,.78)!important;
}
body .v64-page-main .v64-actions a.btn.primary,
body .v64-page-main .v64-actions a.btn.primary:link,
body .v64-page-main .v64-actions a.btn.primary:visited{
  background:#17372f!important;
  border-color:#17372f!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:none!important;
}
body .v64-page-main .v64-actions a.btn.secondary,
body .v64-page-main .v64-actions a.btn.secondary:link,
body .v64-page-main .v64-actions a.btn.secondary:visited{
  background:#ffffff!important;
  border:1px solid rgba(23,55,47,.28)!important;
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}

/* DOCUMENTAZIONE: hero/card chiare con testo scuro, media sopra foto con testo bianco */
body .gt191-docs,
body .gt191-docs .gt191-hero,
body .gt191-docs .gt191-hero-copy,
body .gt191-docs .gt191-section,
body .gt191-docs .gt191-doc-card,
body .gt191-docs .gt191-path,
body .gt191-docs .gt191-case,
body .gt191-docs .gt191-note{
  color:#14231f!important;
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}
body .gt191-docs .gt191-hero-copy h1,
body .gt191-docs .gt191-hero-copy p,
body .gt191-docs .gt191-section h2,
body .gt191-docs .gt191-section h3,
body .gt191-docs .gt191-doc-card h3,
body .gt191-docs .gt191-doc-card p,
body .gt191-docs .gt191-path strong,
body .gt191-docs .gt191-path p,
body .gt191-docs .gt191-case h3,
body .gt191-docs .gt191-case p,
body .gt191-docs .gt191-note strong,
body .gt191-docs .gt191-note p{
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}
body .gt191-docs .gt191-kicker,
body .gt191-docs .tag,
body .gt191-docs .case-label{
  color:#805b17!important;
  -webkit-text-fill-color:#805b17!important;
  text-shadow:none!important;
}
body .gt191-docs .tag,
body .gt191-docs .case-label{
  background:#f3eadb!important;
  border:1px solid rgba(128,91,23,.22)!important;
}
body .gt191-docs .gt191-media-label,
body .gt191-docs .gt191-media-label *{
  background:rgba(8,20,19,.68)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 3px 12px rgba(0,0,0,.82)!important;
}
body .gt191-docs .gt191-btn.primary,
body .gt191-docs .gt191-btn.primary:link,
body .gt191-docs .gt191-btn.primary:visited{
  background:#17372f!important;
  border-color:#17372f!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:none!important;
}
body .gt191-docs .gt191-btn.secondary,
body .gt191-docs .gt191-btn.secondary:link,
body .gt191-docs .gt191-btn.secondary:visited{
  background:#ffffff!important;
  border:1px solid rgba(23,55,47,.28)!important;
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}

/* RECENSIONI: card bianche con testo nero; hero foto mantiene bianco */
body.gt-page-recensioni main.gtrv-public-page,
body.gt-page-recensioni .gtrv-score-card,
body.gt-page-recensioni .gtrv-intro-grid article,
body.gt-page-recensioni .gtrv-review-card,
body.gt-page-recensioni .gtrv-faq details,
body.gt-page-recensioni .gtrv-empty{
  background:#ffffff!important;
  color:#14231f!important;
  -webkit-text-fill-color:initial!important;
  text-shadow:none!important;
}
body.gt-page-recensioni .gtrv-score-card *,
body.gt-page-recensioni .gtrv-intro-grid article *,
body.gt-page-recensioni .gtrv-review-card *,
body.gt-page-recensioni .gtrv-faq details *,
body.gt-page-recensioni .gtrv-empty,
body.gt-page-recensioni .gtrv-section-head,
body.gt-page-recensioni .gtrv-section-head *{
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}
body.gt-page-recensioni .gtrv-hero-content,
body.gt-page-recensioni .gtrv-hero-content *,
body.gt-page-recensioni .gtrv-hero-actions a:not(.alt){
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 3px 18px rgba(0,0,0,.82)!important;
}
body.gt-page-recensioni .gtrv-hero-actions a.alt{
  background:#ffffff!important;
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}
body.gt-page-recensioni .gtrv-stars,
body.gt-page-recensioni .gtrv-stars *{
  color:#c88400!important;
  -webkit-text-fill-color:#c88400!important;
}

/* Bottoni generici dentro pagine contenuto: solo correzione contrasto, non grafica pesante */
body main a.btn.primary,
body main a[class*="btn"].primary,
body main a[class*="button"].primary{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
body main a.btn.secondary,
body main a[class*="btn"].secondary,
body main a[class*="button"].secondary{
  color:#14231f!important;
  -webkit-text-fill-color:#14231f!important;
  text-shadow:none!important;
}
