/*
 * GLAM Touring V179 — correzioni prioritarie pagine interne
 * 21/06/2026
 * Scopo: contenimento card, testo sotto le fotografie, contrasto hero e mobile.
 */

/* Sicurezza generale contro testi e pulsanti che escono dalle card */
body.gt-v172-aligned main :is(article,section,div,a){min-width:0}
body.gt-v172-aligned main :is(h1,h2,h3,h4,p,strong,span,li,a,button){
  overflow-wrap:break-word;
  word-break:normal;
}
body.gt-v172-aligned main img{display:block;max-width:100%;}

/* VIVERE GALLIPOLI — il testo della hero deve rimanere bianco su ogni viewport */
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-card,
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-card :is(h1,h1 em,p,.lead,.vivere-kicker),
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-moments span,
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-scroll-cue{
  color:#fff!important;
}
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-card{
  max-width:780px!important;
}
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-card :is(h1,p,.lead,.vivere-kicker){
  text-shadow:0 8px 30px rgba(0,0,0,.58)!important;
}
body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-btn.secondary{
  color:#fff!important;
  border-color:rgba(255,255,255,.55)!important;
  background:rgba(8,25,21,.30)!important;
}

/* ZONE PRINCIPALE — fotografia sopra, testo sotto e sempre dentro la card */
body.gt-page-zone .gt-zone-impact .zone-grid{
  align-items:stretch!important;
  grid-auto-rows:auto!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile,
body.gt-page-zone .gt-zone-impact .zone-tile.large{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  color:#21170f!important;
  border:1px solid rgba(66,45,25,.12)!important;
  border-radius:28px!important;
  box-shadow:0 20px 55px rgba(28,20,12,.11)!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile::after{display:none!important;}
body.gt-page-zone .gt-zone-impact .zone-tile>img{
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:clamp(275px,31vw,430px)!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile:hover>img{
  transform:scale(1.025)!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile .tile-panel{
  position:relative!important;
  inset:auto!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-height:0!important;
  padding:22px 22px 24px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#21170f!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile .tile-panel span{
  margin-bottom:10px!important;
  background:#efe2cf!important;
  color:#684724!important;
  border:1px solid rgba(104,71,36,.10)!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile .tile-panel h2{
  color:#21170f!important;
  text-shadow:none!important;
  font-size:clamp(1.7rem,2.4vw,2.35rem)!important;
  line-height:1.04!important;
}
body.gt-page-zone .gt-zone-impact .zone-tile .tile-panel p{
  max-width:none!important;
  color:#5d4b3a!important;
  text-shadow:none!important;
  line-height:1.62!important;
}

/* Galleria della pagina Zone — elimina sovrapposizioni e tagli */
body.gt-page-zone .gt175-zone-gallery{align-items:stretch!important;}
body.gt-page-zone .gt175-zone-shot{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(66,45,25,.12)!important;
}
body.gt-page-zone .gt175-zone-shot::after{display:none!important;}
body.gt-page-zone .gt175-zone-shot>img{
  position:relative!important;
  inset:auto!important;
  flex:none!important;
  width:100%!important;
  height:290px!important;
  object-fit:cover!important;
  transform:none!important;
}
body.gt-page-zone .gt175-zone-shot-copy{
  position:relative!important;
  inset:auto!important;
  flex:1 1 auto!important;
  margin:0!important;
  padding:20px 20px 22px!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Tutte le pagine di dettaglio zona — mosaici fotografici con testo sotto */
body.gt-page-zone .gt-v163-mosaic,
body.gt-page-zone .gt-v163-compact .gt-v163-mosaic,
body.gt-page-zone .gt-v163-zone-strip{
  grid-auto-rows:auto!important;
  align-items:stretch!important;
}
body.gt-page-zone .gt-v163-photo-card,
body.gt-page-zone .gt-v163-photo-card.gt-v163-large,
body.gt-page-zone .gt-v163-compact .gt-v163-photo-card.gt-v163-large{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(35,55,42,.10)!important;
  border-radius:26px!important;
}
body.gt-page-zone .gt-v163-photo-card::after{display:none!important;}
body.gt-page-zone .gt-v163-photo-card>img{
  position:relative!important;
  inset:auto!important;
  flex:none!important;
  width:100%!important;
  height:270px!important;
  min-height:0!important;
  object-fit:cover!important;
  transform:none!important;
}
body.gt-page-zone .gt-v163-photo-card .gt-v163-panel{
  position:relative!important;
  inset:auto!important;
  flex:1 1 auto!important;
  width:100%!important;
  margin:0!important;
  padding:18px 18px 20px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#172018!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.gt-page-zone .gt-v163-photo-card .gt-v163-panel span{
  color:#765025!important;
  background:#efe2cf!important;
}
body.gt-page-zone .gt-v163-photo-card .gt-v163-panel strong{
  color:#172018!important;
  text-shadow:none!important;
}
body.gt-page-zone .gt-v163-photo-card .gt-v163-panel p{
  color:#59615b!important;
  text-shadow:none!important;
  line-height:1.58!important;
}

/* Hero delle pagine zona: contenitore elastico, nessuna altezza rigida sul testo */
body.gt-page-zone :is(.v64-seo-copy,.v15-hero-copy,.inner-hero-copy,.zone-client-hero .inner-hero-copy){
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
body.gt-page-zone :is(.v64-seo-copy,.v15-hero-copy,.inner-hero-copy,.zone-client-hero .inner-hero-copy) :is(h1,h2,p,a,span,strong){
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Pagine interne molto stratificate: respiro uniforme senza spazi vuoti eccessivi */
body.gt-v172-aligned :is(.gt-v149-rich,.gt-v159-rich,.gt-v160-deep,.gt-v163-photo-flow){
  margin-top:clamp(30px,5vw,62px)!important;
  margin-bottom:clamp(30px,5vw,62px)!important;
}

@media(max-width:820px){
  body.gt-page-zone .gt-zone-impact .zone-tile>img{height:300px!important;}
  body.gt-page-zone .gt175-zone-shot>img{height:260px!important;}
  body.gt-page-zone .gt-v163-photo-card>img{height:250px!important;}
}
@media(max-width:640px){
  body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-card{padding:20px 14px!important;}
  body.gt-page-vivere-gallipoli .vivere-hero-v108 .vivere-hero-card h1{
    font-size:clamp(3.15rem,16vw,4.45rem)!important;
    line-height:.91!important;
  }
  body.gt-page-zone .gt-zone-impact .zone-tile,
  body.gt-page-zone .gt175-zone-shot,
  body.gt-page-zone .gt-v163-photo-card{border-radius:22px!important;}
  body.gt-page-zone .gt-zone-impact .zone-tile>img{height:270px!important;}
  body.gt-page-zone .gt175-zone-shot>img{height:235px!important;}
  body.gt-page-zone .gt-v163-photo-card>img{height:235px!important;}
  body.gt-page-zone .gt-zone-impact .zone-tile .tile-panel,
  body.gt-page-zone .gt175-zone-shot-copy,
  body.gt-page-zone .gt-v163-photo-card .gt-v163-panel{padding:17px 16px 19px!important;}
}
