
:root{--site-master-red:#b40000;--site-master-header-h:82px}

/* =========================
   MENU MASTER — DESKTOP
   riferimento: Organizza il viaggio
   ========================= */
.site-master-header{
  position:fixed !important;
  top:0;left:0;width:100%;height:var(--site-master-header-h);
  z-index:99999;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 28px;
  background:var(--site-master-red);
  color:#fff;
  box-shadow:0 2px 14px rgba(0,0,0,.16);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.site-master-left{order:1;flex:1 1 0;display:flex;justify-content:flex-start;position:relative;min-width:0}
.site-master-toggle{
  border:0;background:transparent;color:#fff;cursor:pointer;
  font:inherit;font-weight:700;padding:12px 0;white-space:nowrap
}
.site-master-brand{order:2;flex:1 1 0;display:flex;justify-content:center;text-align:center;min-width:0}
.site-master-brand a{
  color:#fff;text-decoration:none;
  font-family:"Cormorant Garamond",serif;
  font-size:1.55rem;font-weight:700;white-space:nowrap
}
.site-master-tools{
  order:3;flex:1 1 0;display:flex;justify-content:flex-end;align-items:center;gap:14px;min-width:0
}
.site-master-access{
  color:#fff;text-decoration:none;font-weight:700;
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;padding:8px 15px
}
.site-master-language{
  border:1px solid rgba(255,255,255,.6);
  background:#fff;color:#222;border-radius:7px;padding:7px 8px;font:inherit
}
.site-master-nav{
  position:absolute;top:58px;left:0;
  width:320px;max-width:calc(100vw - 28px);
  opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;
  background:#fff;color:#171717;
  border:1px solid rgba(0,0,0,.08);
  border-radius:0 0 12px 12px;
  box-shadow:0 18px 38px rgba(0,0,0,.18);
  overflow:hidden;transition:.2s ease
}
.site-master-nav.show{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto
}
.site-master-nav a{
  display:block;padding:12px 18px;border-bottom:1px solid #eee;
  font-size:.94rem;font-weight:600;background:#fff;color:#171717;text-decoration:none
}
.site-master-nav a:last-child{border-bottom:0}
.site-master-nav a:hover{background:#faf3f3;color:var(--site-master-red)}

/* =========================
   MOBILE — riferimento HOME
   barra rossa compatta + hamburger + brand + profilo + lingua
   ========================= */
@media(max-width:1023px){
  :root{--site-master-header-h:64px}
  .site-master-header{
    height:64px;padding:0 14px;
  }
  .site-master-left{flex:0 0 auto}
  .site-master-toggle{
    width:42px;overflow:hidden;white-space:nowrap;font-size:0;padding:0;
  }
  .site-master-toggle::before{content:"☰";font-size:27px;line-height:1}
  .site-master-brand{
    position:absolute;left:50%;transform:translateX(-50%);
    width:auto;max-width:56vw;flex:none
  }
  .site-master-brand a{
    font-family:Inter,system-ui,sans-serif;
    font-size:16px;font-weight:700;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:56vw
  }
  .site-master-tools{flex:0 0 auto;margin-left:auto;gap:7px}
  .site-master-access{
    width:32px;height:32px;padding:0;border-radius:50%;
    font-size:0;position:relative
  }
  .site-master-access::before{
    content:"👤";font-size:16px;position:absolute;inset:0;display:grid;place-items:center
  }
  .site-master-language{height:34px;padding:0 5px;font-size:12px}
  .site-master-nav{
    position:fixed;top:64px;left:0;width:100%;max-width:none;
    max-height:calc(100vh - 64px);overflow-y:auto;border-radius:0
  }
}

/* =========================
   HERO DESKTOP MASTER
   riferimento dimensioni / testo: Mantova Local List
   MOBILE NON MODIFICATO
   ========================= */
@media(min-width:1024px){
  .hero-itinerari,
  .discover-hero,
  .vivi-hero,
  .territory-hero,
  .garda-hero,
  .camper-hero,
  .credenziale-hero,
  .contatti-hero{
    min-height:65vh !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    padding:140px 7vw 70px !important;
    position:relative !important;
  }

  .hero-itinerari .hero-container,
  .discover-hero .discover-hero-copy,
  .discover-hero .discover-hero-content,
  .vivi-hero .vivi-hero-content,
  .territory-hero .territory-copy,
  .garda-hero .garda-hero-content,
  .camper-hero .camper-hero-content,
  .credenziale-hero .credenziale-hero-content,
  .contatti-hero .contatti-hero-content{
    width:min(900px,100%) !important;
    max-width:900px !important;
    margin:0 auto !important;
    text-align:center !important;
    position:relative !important;
    z-index:2 !important;
  }

  .hero-itinerari h1,
  .discover-hero h1,
  .vivi-hero h1,
  .territory-hero h1,
  .garda-hero h1,
  .camper-hero h1,
  .credenziale-hero h1,
  .contatti-hero h1{
    margin:0 0 14px !important;
    font-family:"Cormorant Garamond",serif !important;
    font-size:clamp(3.2rem,5vw,5.5rem) !important;
    line-height:.98 !important;
    text-align:center !important;
  }

  .hero-itinerari p,
  .discover-hero p,
  .vivi-hero p,
  .territory-hero p,
  .garda-hero p,
  .camper-hero p,
  .credenziale-hero p,
  .contatti-hero p{
    max-width:720px !important;
    margin:0 auto !important;
    line-height:1.65 !important;
    text-align:center !important;
  }

  /* Local List è il riferimento: non viene ridisegnata */
  .local-hero.local-hero-rc7{
    min-height:65vh !important;
  }
}

/* spazio minimo sotto header per pagine che non hanno hero full-bleed */
body > main:first-child,
body > .organizza-intro{
  scroll-margin-top:var(--site-master-header-h);
}


/* FIX MENU: neutralizza i vecchi stili globali "nav" presenti nel sito */
.site-master-header .site-master-nav{
  display:block !important;
  flex-direction:unset !important;
  align-items:unset !important;
  justify-content:unset !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Desktop: tendina verticale identica a Organizza */
@media(min-width:1024px){
  .site-master-header .site-master-nav{
    position:absolute !important;
    top:58px !important;
    left:0 !important;
    right:auto !important;
    width:320px !important;
    max-width:calc(100vw - 28px) !important;
    height:auto !important;
    max-height:calc(100vh - 90px) !important;
    overflow-y:auto !important;
    background:#fff !important;
    color:#171717 !important;
    border:1px solid rgba(0,0,0,.08) !important;
    border-radius:0 0 12px 12px !important;
    box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    pointer-events:none !important;
    z-index:100000 !important;
  }

  .site-master-header .site-master-nav.show{
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }

  .site-master-header .site-master-nav > a{
    display:block !important;
    width:100% !important;
    padding:12px 18px !important;
    margin:0 !important;
    border-bottom:1px solid #eee !important;
    background:#fff !important;
    color:#171717 !important;
    text-align:left !important;
    white-space:normal !important;
  }
}

/* Mobile: stesso header della Home, hamburger funzionante */
@media(max-width:1023px){
  .site-master-header .site-master-nav{
    display:block !important;
    position:fixed !important;
    top:64px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:calc(100vh - 64px) !important;
    overflow-y:auto !important;
    background:#fff !important;
    color:#171717 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:0 18px 38px rgba(0,0,0,.18) !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateY(-8px) !important;
    pointer-events:none !important;
    z-index:100000 !important;
  }

  .site-master-header .site-master-nav.show{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }

  .site-master-header .site-master-nav > a{
    display:block !important;
    width:100% !important;
    padding:14px 18px !important;
    margin:0 !important;
    border-bottom:1px solid #eee !important;
    background:#fff !important;
    color:#171717 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .site-master-header .site-master-toggle{
    position:relative !important;
    z-index:100001 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
  }
}


/* MOBILE: più spazio tra brand centrale, profilo e selettore lingua */
@media(max-width:1023px){
  .site-master-header{
    padding-left:14px !important;
    padding-right:12px !important;
  }

  .site-master-brand{
    left:48% !important;
    transform:translateX(-50%) !important;
    max-width:50vw !important;
  }

  .site-master-brand a{
    max-width:50vw !important;
    font-size:15px !important;
    letter-spacing:-0.01em !important;
  }

  .site-master-tools{
    gap:9px !important;
  }

  .site-master-access{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
  }

  .site-master-language{
    min-width:43px !important;
    flex:0 0 auto !important;
  }
}

@media(max-width:390px){
  .site-master-brand{
    left:47% !important;
    max-width:46vw !important;
  }

  .site-master-brand a{
    max-width:46vw !important;
    font-size:14px !important;
  }

  .site-master-tools{
    gap:7px !important;
  }
}


.site-master-footer{
  background:#171717 !important;
  color:#eee !important;
  padding:60px 5vw 0 !important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
.site-master-footer-grid{
  max-width:1400px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:2fr 1fr 1fr 1fr !important;
  gap:50px !important;
  align-items:start !important;
}
.site-master-footer h4{
  margin:0 0 18px !important;
  color:#fff !important;
  font-size:1rem !important;
}
.site-master-footer p,
.site-master-footer a{
  color:#bdbdbd !important;
  line-height:1.7 !important;
  font-size:.92rem !important;
  text-decoration:none !important;
}
.site-master-footer a{
  display:block !important;
  margin:0 0 6px !important;
}
.site-master-footer a:hover{
  color:#fff !important;
}
.site-master-footer-logo{
  width:180px !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 0 16px !important;
  filter:brightness(0) invert(1) !important;
}
.site-master-footer-brand p{
  max-width:300px !important;
  margin:0 !important;
}
.site-master-footer-legal{
  margin-top:14px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}
.site-master-footer-legal button{
  border:0 !important;
  background:transparent !important;
  color:#bdbdbd !important;
  padding:0 !important;
  margin:6px 0 0 !important;
  font:inherit !important;
  font-size:.88rem !important;
  cursor:pointer !important;
}
.site-master-footer-legal button:hover{
  color:#fff !important;
}
.site-master-copyright{
  max-width:1400px !important;
  margin:40px auto 0 !important;
  padding:25px 0 !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
  color:#8c8c8c !important;
  font-size:.82rem !important;
}
.site-master-contact-strip{
  margin:0 -5vw !important;
  padding:16px 5vw !important;
  background:#0e0e0e !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  gap:14px 28px !important;
  color:#aaa !important;
  font-size:.84rem !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
.site-master-contact-strip a{
  display:inline !important;
  margin:0 !important;
  font-size:.84rem !important;
}

@media(max-width:900px){
  .site-master-footer{
    padding:46px 22px 0 !important;
  }
  .site-master-footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:34px 24px !important;
  }
  .site-master-contact-strip{
    margin:0 -22px !important;
    padding:16px 22px !important;
  }
}

@media(max-width:560px){
  .site-master-footer-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .site-master-footer-logo{
    width:165px !important;
  }
  .site-master-copyright{
    margin-top:30px !important;
  }
  .site-master-contact-strip{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:7px !important;
  }
}


.page-home-rc7 .site-commercial-partners{padding:74px 5vw 78px;background:#fff;color:#191919}
.page-home-rc7 .site-commercial-partners__inner{width:min(1180px,100%);margin:0 auto}
.page-home-rc7 .site-commercial-partners__head{max-width:760px;margin-bottom:30px}
.page-home-rc7 .site-commercial-partners__eyebrow{display:inline-block;color:#b51f2e;font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}
.page-home-rc7 .site-commercial-partners__title{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1;margin:0 0 12px}
.page-home-rc7 .site-commercial-partners__intro{color:#666;line-height:1.65;margin:0}
.page-home-rc7 .site-commercial-partners__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.page-home-rc7 .site-commercial-partner{border:1px solid #e5ded5;border-radius:22px;overflow:hidden;background:#faf8f5;display:grid;grid-template-rows:220px auto}
.page-home-rc7 .site-commercial-partner__media{overflow:hidden;background:#eee}
.page-home-rc7 .site-commercial-partner__media img{width:100%;height:100%;object-fit:cover}
.page-home-rc7 .site-commercial-partner__body{padding:22px}
.page-home-rc7 .site-commercial-partner__body h3{margin:0 0 8px;font-size:1.2rem}
.page-home-rc7 .site-commercial-partner__body p{margin:0;color:#666;line-height:1.55}
.page-home-rc7 .site-commercial-partner__link{display:inline-flex;margin-top:14px;color:#b51f2e;font-weight:800;text-decoration:none}
@media(max-width:900px){.page-home-rc7 .site-commercial-partners__grid{grid-template-columns:1fr}.page-home-rc7 .site-commercial-partner{grid-template-rows:205px auto}}


/* ============================================================
   FIX HEADER MOBILE 28-08-2026
   Mantiene il menu originale. Corregge SOLO gli ingombri:
   hamburger | brand | profilo | lingua
   ============================================================ */
@media (max-width:1023px){
  .site-master-header{
    padding-left:12px !important;
    padding-right:10px !important;
  }

  .site-master-left{
    flex:0 0 42px !important;
    width:42px !important;
    min-width:42px !important;
  }

  .site-master-toggle{
    width:42px !important;
    min-width:42px !important;
    padding:0 !important;
  }

  /* Il titolo usa solo lo spazio realmente libero tra hamburger e strumenti */
  .site-master-brand{
    position:absolute !important;
    left:58px !important;
    right:116px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
    justify-content:center !important;
    text-align:center !important;
    overflow:hidden !important;
  }

  .site-master-brand a{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 4px !important;
    font-size:clamp(11px,3.35vw,15px) !important;
    line-height:1.1 !important;
    letter-spacing:-0.01em !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    text-align:center !important;
  }

  .site-master-tools{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:0 !important;
    margin-left:auto !important;
    gap:7px !important;
  }

  .site-master-access{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    flex:0 0 34px !important;
    padding:0 !important;
  }

  /* Evita che gli stili globali dei form allarghino il selettore */
  .site-master-language{
    box-sizing:border-box !important;
    display:block !important;
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:34px !important;
    flex:0 0 58px !important;
    margin:0 !important;
    padding:0 20px 0 8px !important;
    font-size:12px !important;
    line-height:34px !important;
  }
}

/* Telefoni stretti: preserva il nome del sito senza cambiare la barra */
@media (max-width:390px){
  .site-master-header{
    padding-left:10px !important;
    padding-right:8px !important;
  }

  .site-master-brand{
    left:53px !important;
    right:108px !important;
  }

  .site-master-brand a{
    font-size:11px !important;
    letter-spacing:-0.025em !important;
  }

  .site-master-tools{
    gap:5px !important;
  }

  .site-master-access{
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    max-width:32px !important;
    flex-basis:32px !important;
  }

  .site-master-language{
    width:56px !important;
    min-width:56px !important;
    max-width:56px !important;
    flex-basis:56px !important;
  }
}


/* FIX PARTNER TRE.0 — usa logo immagine reale */
.page-home-rc7 .site-commercial-partner--tre0 .site-commercial-partner__logo{
  background:#fff !important;
  color:#111 !important;
  flex-direction:row !important;
  gap:0 !important;
}
.page-home-rc7 .site-commercial-partner--tre0 .site-commercial-partner__logo img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:92% !important;
  max-height:170px !important;
  object-fit:contain !important;
}
