/* V121 — Uniformazione reale pagine pubbliche Glam Touring
   Obiettivo: stesso menu/footer della Home, palette unica, pagine secondarie coerenti e mobile pulito. */
:root{
  --gt-bg:#F8F5EF;
  --gt-bg-2:#FFFDF8;
  --gt-paper:#FFFFFF;
  --gt-green:#13342D;
  --gt-green-2:#0D241F;
  --gt-gold:#C99542;
  --gt-gold-2:#E4B96C;
  --gt-text:#24312D;
  --gt-muted:#66736E;
  --gt-border:rgba(19,52,45,.12);
  --gt-shadow:0 24px 70px rgba(12,35,30,.10);
  --gt-soft-shadow:0 12px 34px rgba(12,35,30,.08);
  --gt-radius:28px;
  --gt-radius-sm:20px;
}
html{scroll-behavior:smooth;}
body{
  background:var(--gt-bg)!important;
  color:var(--gt-text)!important;
  overflow-x:hidden!important;
}
body::before{
  content:"";
  position:fixed;
  inset:-20% -10% auto -10%;
  height:520px;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 18% 20%, rgba(201,149,66,.14), transparent 34%),
    radial-gradient(circle at 82% 18%, rgba(19,52,45,.10), transparent 36%);
  filter:blur(12px);
}
/* Header identico e leggibile ovunque */
.topline{
  background:linear-gradient(90deg,var(--gt-green),#1b453b)!important;
  color:rgba(255,255,255,.86)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.topline a{color:rgba(255,255,255,.92)!important;}
.site-header.v57-header,
.site-header.v61-header,
.site-header.v65-header,
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:900!important;
  background:rgba(255,253,248,.92)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(19,52,45,.10)!important;
  box-shadow:0 10px 34px rgba(19,52,45,.08)!important;
}
.site-header .brand img{max-height:58px!important;width:auto!important;display:block!important;}
.main-nav a,
.main-nav button,
.v57-main-nav a,
.v57-main-nav button{
  color:var(--gt-green)!important;
  font-weight:650!important;
  letter-spacing:.01em!important;
}
.main-nav a:hover,.main-nav button:hover{color:var(--gt-gold)!important;}
.main-nav .nav-cta,
.v57-main-nav .nav-cta{
  color:#fff!important;
  background:linear-gradient(135deg,var(--gt-gold),#B47C2C)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  box-shadow:0 12px 28px rgba(201,149,66,.25)!important;
}
.nav-dropdown,
.v57-dropdown{
  background:rgba(255,253,248,.98)!important;
  border:1px solid var(--gt-border)!important;
  box-shadow:var(--gt-shadow)!important;
  border-radius:18px!important;
}
.v57-drop-col span{color:var(--gt-gold)!important;}
/* Layout base pagine secondarie */
.v57-main, main#contenuto, main{
  background:linear-gradient(180deg,var(--gt-bg),#fff 45%,var(--gt-bg) 100%)!important;
}
main > section,
.v57-main > section{
  box-sizing:border-box!important;
}
/* Hero secondarie uniformate */
.v15-hero,
.v57-hero,
.inner-hero,
.gt-page-hero,
.page-hero,
.hero-inner,
section[class*="hero"]:not(.gt-home-hero):not(.hero):not(.home-hero){
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin:34px auto 48px!important;
  padding:46px!important;
  border-radius:32px!important;
  background:linear-gradient(135deg,#fffdf8,#ffffff)!important;
  box-shadow:var(--gt-shadow)!important;
  border:1px solid rgba(201,149,66,.16)!important;
  overflow:hidden!important;
  position:relative!important;
}
.v15-hero::before,
.v57-hero::before,
.inner-hero::before,
.gt-page-hero::before,
.page-hero::before{
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:280px;
  height:280px;
  border-radius:999px;
  background:rgba(201,149,66,.13);
  filter:blur(24px);
  pointer-events:none;
}
.v15-hero,
.v57-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:34px!important;
  align-items:center!important;
}
.v15-hero-copy,
.v57-hero-copy{max-width:640px!important;z-index:2!important;position:relative!important;}
.eyebrow,
.v57-eyebrow,
.v15-hero-copy .eyebrow,
[class*="eyebrow"]{
  color:var(--gt-gold)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:800!important;
}
.v15-hero h1,
.v57-hero h1,
.gt-page-hero h1,
.page-hero h1,
main h1{
  color:var(--gt-green)!important;
  line-height:.98!important;
  letter-spacing:-.04em!important;
}
.v15-hero p,
.v57-hero p,
.gt-page-hero p,
.page-hero p{
  color:var(--gt-muted)!important;
  line-height:1.72!important;
}
/* Media hero e immagini: sempre piene */
.v15-hero-media,
.v57-hero-media,
.hero-media,
.gt-page-media{
  min-height:360px!important;
  height:100%!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:0 22px 55px rgba(19,52,45,.16)!important;
  position:relative!important;
  background:var(--gt-green)!important;
}
.v15-hero-media img,
.v57-hero-media img,
.v57-main-photo img,
.v57-side-photo img,
.hero-media img,
.gt-page-media img,
figure img{
  width:100%!important;
  height:100%!important;
  min-height:inherit!important;
  object-fit:cover!important;
  display:block!important;
}
.v57-main-photo,.v57-side-photo{margin:0!important;border-radius:24px!important;overflow:hidden!important;}
.v57-side-photo{display:none!important;}
.v15-media-badge,
.v57-badge{
  background:rgba(255,255,255,.92)!important;
  color:var(--gt-green)!important;
  border:1px solid rgba(255,255,255,.55)!important;
  box-shadow:0 14px 35px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(14px)!important;
}
/* Bottoni uniformi */
.btn,
a.btn,
.v57-actions a,
.v15-hero-actions a,
.v15-commercial-actions a,
button,
input[type="submit"]{
  border-radius:999px!important;
  min-height:46px;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
}
.btn.primary,
a.btn.primary,
.v57-actions .primary,
.v15-hero-actions .primary,
.v15-commercial-actions .primary,
input[type="submit"]{
  background:linear-gradient(135deg,var(--gt-gold),#B47B2A)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 16px 36px rgba(201,149,66,.24)!important;
}
.btn.secondary,
a.btn.secondary,
.v57-actions .secondary,
.v15-hero-actions .secondary,
.v15-commercial-actions .secondary{
  background:#fff!important;
  color:var(--gt-green)!important;
  border:1px solid rgba(19,52,45,.16)!important;
}
.btn:hover,a.btn:hover{transform:translateY(-2px);filter:saturate(1.04);}
/* Card e griglie coerenti */
.v15-audience-strip,
.v15-info-grid,
.v57-contact-grid,
.v57-info-grid,
.v57-card-grid,
.gt-card-grid,
.cards-grid,
.services-grid,
.zones-grid,
.grid{
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  gap:22px!important;
}
.v15-audience-strip,
.v15-info-grid,
.v57-contact-grid,
.v57-info-grid,
.services-grid,
.zones-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.v15-audience-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.v15-audience-card,
.v15-info-grid article,
.v57-contact-card,
.v57-info-card,
.gt-card,
.card,
.service-card,
.zone-card,
main article,
.v15-faq-mini details,
.v57-form-card{
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--gt-border)!important;
  border-radius:24px!important;
  box-shadow:var(--gt-soft-shadow)!important;
  color:var(--gt-text)!important;
  overflow:hidden!important;
}
.v15-audience-card,
.v15-info-grid article,
.v57-contact-card,
.v57-info-card,
.gt-card,
.card,
.service-card,
.zone-card,
.v15-faq-mini details,
.v57-form-card{padding:28px!important;}
main article h2, main article h3,
.v15-audience-card h2,.v15-info-grid h3,.v57-contact-card h3,.v57-info-card h3{
  color:var(--gt-green)!important;
}
main article p,.v15-audience-card p,.v15-info-grid p,.v57-contact-card p,.v57-info-card p{
  color:var(--gt-muted)!important;
}
main article span,.v15-audience-card span,.v15-info-grid span{
  color:var(--gt-gold)!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
/* sezioni commerciali e FAQ */
.v15-commercial-band,
.v57-cta-band,
.gt-cta-band{
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin:50px auto!important;
  border-radius:30px!important;
  background:linear-gradient(135deg,var(--gt-green),var(--gt-green-2))!important;
  color:#fff!important;
  box-shadow:var(--gt-shadow)!important;
  overflow:hidden!important;
}
.v15-commercial-inner{padding:36px!important;display:grid!important;grid-template-columns:1.2fr auto!important;gap:22px!important;align-items:center!important;}
.v15-commercial-band h2,.v57-cta-band h2,.gt-cta-band h2{color:#fff!important;}
.v15-commercial-band p,.v57-cta-band p,.gt-cta-band p{color:rgba(255,255,255,.78)!important;}
.v15-seo-list,
.v15-faq-mini{
  max-width:1180px!important;
  width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.v15-seo-list{display:flex!important;flex-wrap:wrap!important;gap:10px!important;}
.v15-seo-list a{
  background:#fff!important;
  border:1px solid var(--gt-border)!important;
  color:var(--gt-green)!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  box-shadow:0 8px 20px rgba(19,52,45,.05)!important;
}
/* Contatti: mobile e form allineati */
.contatti .v57-hero,
body:has(link[rel="canonical"][href$="/contatti/"]) .v57-hero{align-items:stretch!important;}
.v57-actions,
.v15-hero-actions,
.v15-commercial-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;}
.v57-actions a,.v15-hero-actions a,.v15-commercial-actions a{white-space:nowrap!important;}
form,
.v57-form-card form{
  display:grid!important;
  gap:14px!important;
}
input,select,textarea{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  border-radius:16px!important;
  border:1px solid rgba(19,52,45,.16)!important;
  background:#fff!important;
  color:var(--gt-text)!important;
  padding:13px 14px!important;
}
textarea{min-height:130px!important;}
/* Tabelle leggibili */
table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:var(--gt-soft-shadow)!important;
}
th{background:var(--gt-green)!important;color:#fff!important;}
td,th{padding:14px!important;border-bottom:1px solid rgba(19,52,45,.08)!important;}
/* Footer unico premium */
.site-footer.v65-footer,
.site-footer,
.v65-footer{
  background:linear-gradient(180deg,#17382F,#0B211D)!important;
  color:rgba(255,255,255,.88)!important;
  margin-top:70px!important;
  border-top:1px solid rgba(228,185,108,.22)!important;
}
.site-footer a{color:rgba(255,255,255,.88)!important;}
.site-footer a:hover{color:var(--gt-gold-2)!important;}
.site-footer h3{color:var(--gt-gold-2)!important;}
.gt-footer-logo-original,.gt-footer-logo-v103{filter:none!important;opacity:1!important;}
.gt-footer-claim span{color:#fff!important;}
.gt-footer-claim em{color:var(--gt-gold-2)!important;font-style:italic!important;}
/* Mobile: niente disallineamenti */
@media (max-width: 900px){
  .topline{display:none!important;}
  .site-header{top:0!important;padding:10px 14px!important;}
  .site-header .brand img{max-height:48px!important;}
  .menu-toggle{display:flex!important;align-items:center!important;gap:8px!important;background:var(--gt-green)!important;color:#fff!important;border:0!important;padding:10px 14px!important;border-radius:999px!important;}
  .main-nav,
  .v61-main-nav{
    position:absolute!important;
    top:100%!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-height:calc(100vh - 90px)!important;
    overflow:auto!important;
    padding:14px!important;
    border-radius:22px!important;
    background:rgba(255,253,248,.98)!important;
    box-shadow:var(--gt-shadow)!important;
    border:1px solid var(--gt-border)!important;
  }
  .main-nav a,.main-nav button{width:100%!important;text-align:left!important;justify-content:flex-start!important;}
  .nav-dropdown,.v57-dropdown{position:static!important;width:100%!important;box-shadow:none!important;margin:8px 0!important;display:none;}
  .nav-group.open .nav-dropdown,.nav-group:focus-within .nav-dropdown{display:block!important;}
  .v15-hero,.v57-hero,
  .inner-hero,.gt-page-hero,.page-hero,
  section[class*="hero"]:not(.gt-home-hero):not(.hero):not(.home-hero){
    width:calc(100% - 24px)!important;
    margin:18px auto 30px!important;
    padding:26px!important;
    border-radius:24px!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .v15-hero h1,.v57-hero h1,main h1{font-size:clamp(2.2rem,12vw,3.6rem)!important;line-height:1.02!important;}
  .v15-hero-media,.v57-hero-media,.hero-media,.gt-page-media{min-height:240px!important;max-height:320px!important;}
  .v57-main-photo{height:260px!important;}
  .v15-audience-strip,
  .v15-info-grid,
  .v57-contact-grid,
  .v57-info-grid,
  .gt-card-grid,
  .cards-grid,
  .services-grid,
  .zones-grid,
  .grid{
    width:calc(100% - 24px)!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .v15-audience-card,
  .v15-info-grid article,
  .v57-contact-card,
  .v57-info-card,
  .gt-card,.card,.service-card,.zone-card,
  .v15-faq-mini details,.v57-form-card{padding:22px!important;border-radius:20px!important;}
  .v15-commercial-band,.v57-cta-band,.gt-cta-band,
  .v15-seo-list,.v15-faq-mini{width:calc(100% - 24px)!important;margin:28px auto!important;}
  .v15-commercial-inner{grid-template-columns:1fr!important;padding:24px!important;}
  .v57-actions,.v15-hero-actions,.v15-commercial-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .v57-actions a,.v15-hero-actions a,.v15-commercial-actions a,.btn,a.btn{width:100%!important;box-sizing:border-box!important;text-align:center!important;}
  .site-footer{padding-bottom:92px!important;}
  .gt-footer-brandblock{text-align:center!important;}
  .gt-footer-logo-v103{margin-left:auto!important;margin-right:auto!important;max-width:220px!important;}
}
@media (max-width: 520px){
  .v15-hero,.v57-hero{padding:22px 18px!important;width:calc(100% - 18px)!important;}
  .v15-hero p,.v57-hero p{font-size:1rem!important;}
  .v15-hero-media,.v57-hero-media{min-height:220px!important;}
  .v57-main-photo{height:220px!important;}
  .v15-audience-strip,.v15-info-grid,.v57-contact-grid,.v57-info-grid{width:calc(100% - 18px)!important;}
}
