:root{--vs-forest:#24764D;--vs-leaf:#37A870;--vs-olive:#608C32;--vs-rust:#B6532B;--vs-rust-hover:#9d4624;--vs-mustard:#EFB501;--vs-cream:#FAF7EE;--vs-ink:#1A1A1A;--vs-display:'Ready for Anything BB','Bangers','Permanent Marker',cursive;--vs-body:'Jost','Futura',system-ui,sans-serif;--vs-space-4:16px;--vs-space-5:24px;--vs-space-6:32px;--vs-space-7:48px;--vs-space-8:64px;--vs-space-9:96px;--vs-space-10:128px;--vs-radius-md:8px;--vs-radius-lg:16px;--vs-container:1400px}
body.vs-site{font-family:var(--vs-body);color:var(--vs-ink);background:var(--vs-cream);-webkit-font-smoothing:antialiased}
body.vs-site h1,body.vs-site h2,body.vs-site h3,body.vs-site .vs-display{font-family:var(--vs-display);text-transform:uppercase;letter-spacing:-0.01em;line-height:0.92}
.vs-eyebrow{font-family:var(--vs-body);font-size:13px;font-weight:600;letter-spacing:0.26em;text-transform:uppercase;color:var(--vs-mustard);display:inline-flex;align-items:center;gap:12px;margin-bottom:20px}
.vs-eyebrow::before{content:'';width:32px;height:2px;background:var(--vs-mustard)}
.vs-eyebrow.is-rust{color:var(--vs-rust)}.vs-eyebrow.is-rust::before{background:var(--vs-rust)}
.vs-eyebrow.is-forest{color:var(--vs-forest)}.vs-eyebrow.is-forest::before{background:var(--vs-forest)}
.vs-btn{display:inline-block;font-family:var(--vs-display);font-size:22px;text-transform:uppercase;letter-spacing:0.05em;padding:16px 32px;border-radius:var(--vs-radius-md);border:3px solid transparent;cursor:pointer;transition:all 200ms;text-decoration:none;line-height:1}
.vs-btn-primary{background:var(--vs-forest);color:var(--vs-cream)}
.vs-btn-primary:hover{background:var(--vs-rust);transform:translateY(-2px)}
.vs-btn-secondary{background:var(--vs-rust);color:var(--vs-cream);border-color:var(--vs-rust)}
.vs-btn-secondary:hover{background:transparent;color:var(--vs-rust)}
.vs-btn-ghost{background:transparent;color:var(--vs-forest);border-color:var(--vs-forest)}
.vs-btn-ghost:hover{background:var(--vs-forest);color:var(--vs-cream)}
.vs-btn-light{background:transparent;color:var(--vs-cream);border-color:var(--vs-cream)}
.vs-btn-light:hover{background:var(--vs-cream);color:var(--vs-forest)}
.vs-section{padding:var(--vs-space-10) 0;position:relative}
.vs-section-in{max-width:var(--vs-container);margin:0 auto;padding:0 var(--vs-space-6)}
.vs-bg-forest{background:var(--vs-forest);color:var(--vs-cream)}
.vs-bg-rust{background:var(--vs-rust);color:var(--vs-cream)}
.vs-bg-mustard{background:var(--vs-mustard);color:var(--vs-ink)}
.vs-bg-cream{background:var(--vs-cream);color:var(--vs-ink)}
.vs-bg-dark{background:var(--vs-ink);color:var(--vs-cream)}
.vs-dots{background-image:radial-gradient(circle,rgba(0,0,0,0.06) 1px,transparent 1.5px);background-size:18px 18px}
body.vs-site .ct-header,body.vs-site header[data-id="header"]{background:var(--vs-rust)!important;color:var(--vs-cream)}
body.vs-site .ct-header [class*="menu"] a,body.vs-site .ct-header .menu a{font-family:var(--vs-display);text-transform:uppercase;letter-spacing:0.06em;font-size:20px;color:var(--vs-cream)}
body.vs-site .ct-header a:hover{color:var(--vs-mustard)}
.vs-hero{position:relative;height:92vh;min-height:700px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vs-hero-img{position:absolute;inset:0;background-size:cover;background-position:center}
.vs-hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,118,77,0.15),transparent 40%,rgba(0,0,0,0.55))}
.vs-hero h1{position:relative;z-index:5;color:var(--vs-cream);font-size:clamp(80px,16vw,260px);line-height:0.82;text-align:center;text-shadow:0 4px 20px rgba(0,0,0,0.3)}
.vs-hero h1 .vs-yellow{color:var(--vs-mustard);display:inline-block;transform:rotate(-3deg)}
.vs-hero-orb{position:absolute;border-radius:50%;mix-blend-mode:multiply;opacity:0.85}
.vs-hero-orb.is-mustard{background:var(--vs-mustard);width:560px;height:560px;right:-180px;top:18%}
.vs-hero-orb.is-rust{background:var(--vs-rust);width:380px;height:380px;left:-120px;bottom:-200px;opacity:0.6}
.vs-park-section{position:relative;height:88vh;min-height:680px;overflow:hidden}
.vs-park-section .vs-park-img{position:absolute;inset:0;background-size:cover;background-position:center}
.vs-park-section .vs-park-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(36,118,77,0.4),rgba(0,0,0,0.5))}
.vs-park-section .vs-park-text{position:absolute;inset:0;padding:64px 56px;display:flex;flex-direction:column;justify-content:space-between;color:var(--vs-cream)}
.vs-park-section .vs-big-title{font-family:var(--vs-display);font-size:clamp(120px,24vw,360px);line-height:0.82}
.vs-park-section .vs-big-title .vs-num{display:inline-block;transform:translateY(28px) rotate(-4deg);color:var(--vs-mustard);text-shadow:6px 6px 0 rgba(0,0,0,0.2)}
.vs-icon-circle{width:150px;height:150px;border-radius:50%;background:var(--vs-forest);display:flex;align-items:center;justify-content:center;margin:0 auto var(--vs-space-5);position:relative;transition:all 400ms cubic-bezier(.34,1.5,.6,1)}
.vs-icon-circle::after{content:'';position:absolute;inset:-12px;border:2px dashed transparent;border-radius:50%;transition:all 400ms}
.vs-icon-circle:hover{background:var(--vs-rust);transform:rotate(-8deg)}
.vs-icon-circle:hover::after{border-color:rgba(182,83,43,0.4);transform:rotate(30deg)}
.vs-icon-circle.is-mustard{background:var(--vs-mustard)}
.vs-icon-circle.is-mustard:hover{background:var(--vs-rust)}
.vs-activities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--vs-space-7) var(--vs-space-8)}
.vs-activity{text-align:center;cursor:pointer}
.vs-activity h3{font-size:26px;color:var(--vs-forest);letter-spacing:0.03em;line-height:1}
.vs-card{background:var(--vs-cream);border-radius:var(--vs-radius-md);overflow:hidden;box-shadow:0 4px 12px rgba(26,26,26,0.08);transition:all 300ms cubic-bezier(.34,1.5,.6,1)}
.vs-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(26,26,26,0.1)}
.vs-event-poster:nth-child(1){transform:rotate(-1.2deg)}
.vs-event-poster:nth-child(3){transform:rotate(1.2deg)}
.vs-event-poster:hover{transform:translateY(-8px) rotate(0)}
.vs-event-poster .vs-poster-title{font-family:var(--vs-display);color:var(--vs-mustard);font-size:64px;line-height:0.88;text-shadow:0 4px 16px rgba(0,0,0,0.6)}
.vs-polaroid{background:var(--vs-cream);padding:10px 10px 28px;box-shadow:0 6px 16px rgba(0,0,0,0.3);transition:transform 300ms;cursor:pointer}
.vs-polaroid:nth-child(odd){transform:rotate(-2deg)}
.vs-polaroid:nth-child(even){transform:rotate(1.5deg)}
.vs-polaroid:hover{transform:scale(1.06) rotate(0);z-index:5}
.vs-polaroid img{aspect-ratio:1/1;object-fit:cover;width:100%}
.vs-map-wrap{border-radius:var(--vs-radius-lg);border:8px solid var(--vs-cream);box-shadow:0 24px 60px rgba(0,0,0,0.2);overflow:hidden;transform:rotate(-1deg);background-size:cover;background-position:center;position:relative}
.vs-map-wrap::before{content:'';position:absolute;inset:0;background:rgba(36,118,77,0.3)}
.vs-map-label{position:absolute;z-index:2;color:var(--vs-cream);font-family:var(--vs-display);font-size:17px;text-transform:uppercase;display:flex;align-items:center;gap:8px;text-shadow:0 2px 8px rgba(0,0,0,0.8)}
.vs-map-label::before{content:'';width:14px;height:14px;background:var(--vs-mustard);border-radius:50%;box-shadow:0 0 0 4px rgba(239,181,1,0.35)}
.vs-rating-badge{display:inline-flex;align-items:center;gap:12px;background:var(--vs-mustard);color:var(--vs-ink);padding:8px 16px;border-radius:999px;font-family:var(--vs-display);font-size:18px;letter-spacing:0.05em}
.vs-scribble{position:relative;display:inline-block}
.vs-scribble::after{content:'';position:absolute;left:-4px;right:-4px;bottom:-8px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12'%3E%3Cpath d='M2 6 Q 30 2, 60 6 T 120 6 T 180 6' stroke='%23EFB501' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.vs-footer{background:var(--vs-ink);color:var(--vs-cream);padding:var(--vs-space-8) 0 var(--vs-space-5)}
.vs-footer h4{font-family:var(--vs-display);font-size:22px;color:var(--vs-mustard);letter-spacing:0.04em;margin-bottom:var(--vs-space-4)}
.vs-footer a:hover{color:var(--vs-mustard)}
@media (max-width:980px){.vs-activities-grid{grid-template-columns:repeat(2,1fr);gap:var(--vs-space-6)}.vs-icon-circle{width:120px;height:120px}.vs-section{padding:var(--vs-space-9) 0}}
@media (max-width:640px){.vs-activities-grid{grid-template-columns:1fr}.vs-park-section .vs-park-text{padding:var(--vs-space-6) var(--vs-space-5)}.vs-park-section .vs-big-title{font-size:clamp(80px,22vw,180px)}.vs-hero h1{font-size:clamp(56px,14vw,120px)}}



/* ============================================================
   VS THEME OVERRIDES — Blocksy bypass + mobile fixes
   Centralized here (was inline in page content)
   ============================================================ */

/* === Layout: full width content, kill Blocksy constraints === */
body article,
body .ct-container-full,
body .site-main,
body main { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body .entry-content,
body .entry-content.is-layout-constrained { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body .entry-content > *,
body .entry-content.is-layout-constrained > *,
body article > *,
body article header.entry-header,
body article .page-description,
body article section { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
body article header.entry-header { display: block !important; padding: 0 !important; background: transparent !important; }
body article .page-title { display: none !important; }
body article .page-description,
body article .page-description.ct-hidden-sm { display: block !important; max-width: none !important; height: auto !important; padding: 0 !important; margin: 0 !important; }
body .hero-section,
body .hero-section.is-width-constrained { max-width: none !important; width: 100% !important; padding: 0 !important; }
body [class*="ct-sidebar"],
body aside.sidebar { display: none !important; }
.entry-content p:empty { display: none !important; }

/* === Header rust full-width, logo grande sinistra, menu destra, NO search === */
header.ct-header {
  width: 100% !important; max-width: none !important; flex: 0 0 auto !important; align-self: stretch !important;
  padding: 18px 56px !important; min-height: 88px !important;
  display: flex !important; align-items: center !important;
  background-color: var(--vs-rust) !important;
  position: sticky !important; top: 0 !important; z-index: 999 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
}
header.ct-header * { background-color: transparent !important; box-shadow: none !important; }
header.ct-header > * { max-width: 1800px; margin: 0 auto !important; width: 100%; display: flex !important; align-items: center !important; gap: 24px; }
header.ct-header [class*="search-toggle"],
header.ct-header [class*="ct-header-search"],
header.ct-header .ct-toggle,
header.ct-header [class*="cart"],
header.ct-header [class*="account"] { display: none !important; }
header.ct-header .vs-logo { margin-right: auto !important; flex: 0 0 auto !important; }
header.ct-header .vs-logo img { height: 64px !important; width: auto !important; display: block !important; /* filter removed: logo è già nel suo colore brandbook */ }
header.ct-header nav,
header.ct-header [class*="menu-container"] { margin-left: auto !important; }
header.ct-header * { color: var(--vs-cream) !important; font-family: var(--vs-body) !important; font-weight: 600; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; }
header.ct-header .site-title,
header.ct-header .ct-site-title { font-family: var(--vs-display) !important; font-size: 26px !important; letter-spacing: 0 !important; text-transform: none !important; }
header.ct-header .vs-logo,
header.ct-header .vs-logo * { letter-spacing: 0 !important; }

/* === Blocksy header internal flex (desktop/mobile device toggles) === */
body header.ct-header [data-device="mobile"] { display: none !important; }
body header.ct-header [data-device="desktop"] {
  display: flex !important; flex: 1 1 auto !important; width: 100% !important; align-items: center !important;
}
body header.ct-header [data-device="desktop"] [data-row="middle"] {
  width: 100% !important; flex: 1 !important;
  display: flex !important; justify-content: space-between !important; align-items: center !important;
}
body header.ct-header [data-device="desktop"] .ct-container {
  max-width: none !important; padding: 0 !important; width: 100% !important; flex: 1 !important;
  display: flex !important; justify-content: space-between !important; align-items: center !important;
}
body header.ct-header [data-column="start"] { margin-right: auto !important; }
body header.ct-header [data-column="end"] { margin-left: auto !important; }
header.ct-header nav ul,
header.ct-header [class*="menu-container"] ul {
  display: flex !important; gap: 32px !important; list-style: none !important; padding: 0 !important; margin: 0 !important;
}

/* === Lang switcher (fixed top-right) === */
body > nav.vs-langs {
  position: fixed; top: 18px; right: 24px; z-index: 1000;
  display: flex; gap: 4px; padding: 6px 10px;
  background: rgba(36,118,77,.7); backdrop-filter: blur(10px);
  border-radius: 999px; font-family: var(--vs-body);
}
body > nav.vs-langs a {
  color: var(--vs-cream); text-decoration: none; padding: 4px 10px;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  opacity: .65; border-radius: 999px; transition: all .2s; font-weight: 700;
}
body > nav.vs-langs a:hover,
body > nav.vs-langs a.is-active { background: var(--vs-mustard); color: var(--vs-ink); opacity: 1; }

/* === Footer custom (sostituisce default Blocksy) === */
body > .vs-footer {
  background: #1F3A2A !important; color: var(--vs-cream) !important;
  padding: 64px 56px !important; margin: 0 !important; clear: both;
  width: 100%; box-sizing: border-box;
}
body > .vs-footer .vs-footer-grid {
  max-width: 1400px; margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 48px;
}
body > .vs-footer .vs-footer-brand h3 {
  font-family: var(--vs-display); font-size: 42px; line-height: 1; margin: 0 0 16px; color: var(--vs-cream);
}
body > .vs-footer .vs-footer-brand p {
  font-family: var(--vs-body); opacity: .8; margin: 0 0 24px; line-height: 1.5;
}
body > .vs-footer .vs-footer-cta {
  display: inline-block; padding: 14px 28px; background: var(--vs-mustard); color: var(--vs-ink);
  border-radius: 999px; font-family: var(--vs-body); text-transform: uppercase;
  letter-spacing: .14em; font-weight: 700; text-decoration: none; font-size: 12px;
}
body > .vs-footer .vs-footer-col h4 {
  color: var(--vs-mustard); font-family: var(--vs-display); font-size: 22px;
  letter-spacing: 0; margin: 0 0 20px; font-weight: 400;
}
body > .vs-footer .vs-footer-col a,
body > .vs-footer .vs-footer-col p {
  color: var(--vs-cream) !important; font-family: var(--vs-body);
  display: block; padding: 6px 0; text-decoration: none; line-height: 1.5; font-size: 15px;
}
body > .vs-footer .vs-footer-col a:hover { color: var(--vs-mustard) !important; }
body > .vs-footer .vs-footer-col.vs-followus a { display: flex; align-items: center; gap: 10px; }
body > .vs-footer .vs-footer-col.vs-followus a::before { content: '→'; color: var(--vs-mustard); font-weight: 700; }

/* Hides Blocksy default footer in case it renders */


/* === Default content typography === */
.vs-section-in { padding-left: 56px; padding-right: 56px; max-width: 1800px; margin: 0 auto; }
h1.vs-hero {
  font-family: var(--vs-display); font-size: clamp(56px, 9vw, 160px);
  line-height: 1; letter-spacing: 0; margin: 0;
}
h1.vs-park-hero { font-size: clamp(72px, 13vw, 200px); }
h2.vs-bg-title {
  font-family: var(--vs-display); font-size: clamp(40px, 5.5vw, 84px);
  line-height: 1; letter-spacing: 0; margin: 0;
}

/* === MOBILE FIXES (burger destra, full width, padding ridotto, footer compresso) === */
@media (max-width: 768px) {
  /* Sezioni: padding ridotto a 20px */
  body main section,
  body main article section,
  body .entry-content > section,
  body .entry-content section {
    padding-left: 20px !important; padding-right: 20px !important;
    padding-top: 80px !important; padding-bottom: 80px !important;
    width: 100% !important; max-width: none !important; box-sizing: border-box !important;
  }
  /* Override style="padding:... 56px" inline */
  body section[style*="56px"] { padding-left: 20px !important; padding-right: 20px !important; }

  /* Header mobile: burger destra */
  body header.ct-header { padding: 14px 24px !important; min-height: 72px !important; }
  body header.ct-header .vs-logo img { height: 44px !important; }
  body header.ct-header [data-device="desktop"] { display: none !important; }
  body header.ct-header [data-device="mobile"] {
    display: flex !important; flex: 1 1 auto !important; width: 100% !important;
    align-items: center !important; justify-content: space-between !important;
  }
  body header.ct-header [data-device="mobile"] [data-row],
  body header.ct-header [data-device="mobile"] .ct-container,
  body header.ct-header [data-device="mobile"] > div {
    display: flex !important; width: 100% !important; max-width: none !important;
    padding: 0 !important; justify-content: space-between !important; align-items: center !important; flex: 1 !important;
  }
  body header.ct-header [data-device="mobile"] [data-column="start"],
  body header.ct-header [data-device="mobile"] .site-branding {
    margin-right: auto !important; margin-left: 0 !important; order: 1 !important;
  }
  body header.ct-header [data-device="mobile"] [data-column="end"],
  body header.ct-header [data-device="mobile"] [class*="trigger"],
  body header.ct-header [data-device="mobile"] [class*="hamburger"],
  body header.ct-header [data-device="mobile"] [class*="menu-toggle"],
  body header.ct-header [data-device="mobile"] [class*="ct-toggle"],
  body header.ct-header [data-device="mobile"] [data-id="trigger"] {
    margin-left: auto !important; margin-right: 0 !important; order: 99 !important;
  }

  /* Footer mobile */
  body > .vs-footer { padding: 40px 24px !important; margin: 0 !important; }
  body > .vs-footer .vs-footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* Typography compressa */
  body main section h1.vs-hero { font-size: clamp(40px, 11vw, 56px) !important; }
  body main section h1.vs-park-hero { font-size: clamp(52px, 14vw, 80px) !important; }
  body main section h2.vs-bg-title { font-size: clamp(32px, 8vw, 48px) !important; }
  body main section p { font-size: 16px !important; }

  /* Grid 2-col collapse to 1 */
  body main section div[style*="grid-template-columns:1fr 1fr"],
  body main section div[style*="grid-template-columns: 1fr 1fr"],
  body main section div[style*="grid-template-columns:1fr 1.2fr"],
  body main section div[style*="grid-template-columns: 1fr 1.2fr"],
  body main section div[style*="grid-template-columns:1.4fr 1fr"],
  body main section div[style*="grid-template-columns: 1.4fr 1fr"],
  body main section div[style*="grid-template-columns:1.2fr 1fr"],
  body main section div[style*="grid-template-columns: 1.2fr 1fr"],
  body main section div[style*="grid-template-columns:1.5fr 1fr"],
  body main section div[style*="grid-template-columns: 1.5fr 1fr"] {
    grid-template-columns: 1fr !important; gap: 32px !important;
  }

  /* Event cards */
  body .vs-event-card { padding: 32px 24px !important; transform: none !important; margin-bottom: 32px !important; }
  body .vs-event-card div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* Lang switcher: in basso al centro */
  body > nav.vs-langs {
    top: auto !important; bottom: 16px !important;
    right: 50% !important; transform: translateX(50%) !important;
    padding: 4px 8px !important; z-index: 999 !important;
  }
  body > nav.vs-langs a { font-size: 11px !important; padding: 4px 8px !important; }

  /* Map: mobile-friendly */
  #map .vs-map-desktop { display: none !important; }
  #map .vs-map-mobile { display: block !important; }
}
@media (max-width: 480px) {
  body main section {
    padding-left: 16px !important; padding-right: 16px !important;
    padding-top: 64px !important; padding-bottom: 64px !important;
  }
  body main section h1.vs-hero { font-size: clamp(36px, 11vw, 48px) !important; }
}


/* ============================================================
   VS MOBILE PATCH v2 — FIX dei 6 bug mobile residui
   APPEND al custom.css esistente (non sostituire)
   ============================================================ */

/* === 1. Logo mobile: forza visibilità + colore cream === */
@media (max-width: 768px) {
  body header.ct-header [data-device="mobile"] .site-title,
  body header.ct-header [data-device="mobile"] .ct-site-title,
  body header.ct-header [data-device="mobile"] [class*="site-branding"],
  body header.ct-header [data-device="mobile"] [class*="static-logo"],
  body header.ct-header [data-device="mobile"] [data-id="logo"] {
    display: flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--vs-cream, #FAF7EE) !important;
    margin-right: auto !important;
    order: 1 !important;
  }
  body header.ct-header [data-device="mobile"] .vs-logo img,
  body header.ct-header [data-device="mobile"] img {
    height: 44px !important;
    width: auto !important;
    display: block !important;
    /* /* filter removed: logo è già nel suo colore brandbook */ — removed: logo è già coloreato dal brandbook */
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* === 2. Burger menu: forza visibilità + a destra === */
@media (max-width: 768px) {
  body header.ct-header [data-device="mobile"] [class*="ct-header-trigger"],
  body header.ct-header [data-device="mobile"] [class*="ct-trigger"],
  body header.ct-header [data-device="mobile"] [class*="trigger"],
  body header.ct-header [data-device="mobile"] [class*="hamburger"],
  body header.ct-header [data-device="mobile"] [class*="menu-toggle"],
  body header.ct-header [data-device="mobile"] [class*="ct-toggle-button"],
  body header.ct-header [data-device="mobile"] button[type="button"],
  body header.ct-header [data-device="mobile"] [data-id="trigger"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--vs-cream, #FAF7EE) !important;
    background: transparent !important;
    border: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    order: 99 !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    cursor: pointer !important;
  }
  /* Burger SVG/icons interne */
  body header.ct-header [data-device="mobile"] button svg,
  body header.ct-header [data-device="mobile"] button i,
  body header.ct-header [data-device="mobile"] [class*="trigger"] svg {
    color: var(--vs-cream, #FAF7EE) !important;
    fill: var(--vs-cream, #FAF7EE) !important;
    stroke: var(--vs-cream, #FAF7EE) !important;
    width: 24px !important;
    height: 24px !important;
    display: block !important;
  }
  /* Burger icona fallback se Blocksy non la rende */
  body header.ct-header [data-device="mobile"] [class*="trigger"]:empty::before,
  body header.ct-header [data-device="mobile"] [class*="ct-header-trigger"]:empty::before {
    content: '';
    display: block;
    width: 22px;
    height: 16px;
    background-image: linear-gradient(
      to bottom,
      var(--vs-cream, #FAF7EE) 0, var(--vs-cream, #FAF7EE) 3px,
      transparent 3px, transparent 7px,
      var(--vs-cream, #FAF7EE) 7px, var(--vs-cream, #FAF7EE) 10px,
      transparent 10px, transparent 14px,
      var(--vs-cream, #FAF7EE) 14px, var(--vs-cream, #FAF7EE) 17px
    );
  }
}

/* === 3. Selettore lingua: dropdown su mobile === */
@media (max-width: 768px) {
  body > nav.vs-langs {
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    top: auto !important;
    bottom: 80px !important;
    right: 16px !important;
    transform: none !important;
    z-index: 998 !important;
    gap: 0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.25) !important;
  }
  body > nav.vs-langs a {
    background: var(--vs-forest-deep, #24764D) !important;
    color: var(--vs-cream, #FAF7EE) !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    border-bottom: 1px solid rgba(250,247,238,.1) !important;
    text-align: center !important;
    min-width: 56px !important;
  }
  body > nav.vs-langs a:last-child { border-bottom: 0 !important; }
  /* Nasconde le NON attive */
  body > nav.vs-langs a:not(.is-active) {
    display: none !important;
  }
  body > nav.vs-langs a.is-active {
    background: var(--vs-mustard, #EFB501) !important;
    color: var(--vs-ink, #1F3A2A) !important;
    font-weight: 700 !important;
    position: relative !important;
  }
  body > nav.vs-langs a.is-active::after {
    content: '▼' !important;
    margin-left: 6px !important;
    font-size: 8px !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }
  /* Quando aperto, mostra tutte */
  body > nav.vs-langs.is-open a {
    display: block !important;
  }
  body > nav.vs-langs.is-open a.is-active::after {
    content: '▲' !important;
  }
}

/* === 4. Hero mobile: altezza ridotta === */
@media (max-width: 768px) {
  body main section[style*="min-height:90vh"],
  body main section[style*="min-height: 90vh"],
  body main section[style*="min-height:80vh"],
  body main section[style*="min-height: 80vh"],
  body main section[style*="min-height:75vh"],
  body main section[style*="min-height: 75vh"],
  body main section[style*="min-height:65vh"],
  body main section[style*="min-height: 65vh"],
  body main section[style*="min-height:70vh"],
  body main section[style*="min-height: 70vh"] {
    min-height: auto !important;
  }
  body main section:first-of-type,
  body main section[id*="hero"] {
    min-height: 55vh !important;
    padding-top: 100px !important;
    padding-bottom: 60px !important;
  }
  /* Padding e font compressi nel hero mobile */
  body main section[id*="hero"] h1.vs-hero {
    font-size: clamp(36px, 11vw, 52px) !important;
    line-height: 1.05 !important;
  }
  body main section[id*="hero"] p {
    font-size: 16px !important;
    margin-top: 20px !important;
  }
}

/* === 5. Spazio bianco header→main: rimosso === */
body { padding-top: 0 !important; margin-top: 0 !important; }
body header.ct-header + main,
body header.ct-header ~ main,
body header.ct-header + div,
body header.ct-header + article {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body main > article,
body main > article > .entry-content,
body main > article > .hero-section,
body main > .entry-content,
body main > article > header.entry-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Force first section starts immediately after header */
body main section:first-of-type {
  margin-top: 0 !important;
}

/* === 6. footer.ct di Blocksy: nascosto definitivamente === */
/* footer Blocksy nativo riabilitato */
/* Force visual gap removal before vs-footer */
body main + footer.vs-footer,
body article + footer.vs-footer,
body > footer.vs-footer {
  margin-top: 0 !important;
}

/* === Extra: WordPress admin bar margin reset === */
@media screen and (max-width: 782px) {
  html.wp-toolbar { padding-top: 0 !important; }
  body.admin-bar { padding-top: 46px !important; }
}


/* ============================================================
   VS MOBILE PATCH v3+v4 — FIX FINALE (NUCLEAR)
   ============================================================ */

/* FIX A: STRISCIA CREMA - tutti i wrapper transparent */
html { background-color: #B6532B !important; }
html body { background-color: transparent !important; }
html body > div,
html body > div > div,
html body div.ct-container-full,
html body div.site-main,
html body main,
html body main.site-main,
html body main > article,
html body article.post,
html body article > .entry-content,
html body article > .hero-section,
html body article > header.entry-header,
html body main > article > .entry-content > * {
  background-color: transparent !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* FIX B: HERO mobile compatta */
@media (max-width: 768px) {
  html body main section:first-of-type,
  html body main section[id*="hero"],
  html body main section[style*="min-height"],
  html body main section[style*="90vh"],
  html body main section[style*="80vh"],
  html body main section[style*="75vh"],
  html body main section[style*="70vh"],
  html body main section[style*="65vh"] {
    min-height: 0 !important;
    height: auto !important;
    padding: 24px 16px !important;
    display: block !important;
  }
  html body main section:first-of-type > div,
  html body main section[id*="hero"] > div { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
  html body main section:first-of-type div[style*="border-radius:50%"],
  html body main section:first-of-type div[style*="border-radius: 50%"],
  html body main section[id*="hero"] div[style*="border-radius:50%"],
  html body main section[id*="hero"] div[style*="border-radius: 50%"] { display: none !important; }
  html body main section:first-of-type h1,
  html body main section[id*="hero"] h1 { font-size: 36px !important; line-height: 1 !important; margin: 8px 0 12px !important; }
  html body main section:first-of-type p,
  html body main section[id*="hero"] p { font-size: 15px !important; line-height: 1.4 !important; margin: 12px 0 16px !important; }
  html body main section:first-of-type > div > span:first-child { font-size: 10px !important; padding: 4px 10px !important; margin-bottom: 8px !important; }
}

/* FIX C: GRID -> BLOCK su mobile (totale bypass) */
@media (max-width: 768px) {
  html body main section [style*="display:grid"],
  html body main section [style*="display: grid"],
  html body main section [style*="grid-template"],
  html body main section [style*="grid-template-columns"] {
    display: block !important;
    grid-template-columns: none !important;
  }
  html body main section [style*="display:grid"] > *,
  html body main section [style*="grid-template"] > * {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    text-align: left !important;
  }
  html body main section [style*="display:grid"] > *:last-child,
  html body main section [style*="grid-template"] > *:last-child { margin-bottom: 0 !important; }
}

/* FIX D: sezioni mobile padding 40px */
@media (max-width: 768px) {
  html body main section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* FIX E: Lang switcher reliable */
@media (max-width: 768px) {
  html body > nav.vs-langs {
    position: fixed !important;
    top: auto !important;
    bottom: 16px !important;
    right: 16px !important;
    z-index: 99999 !important;
    pointer-events: auto !important;
  }
  html body > nav.vs-langs a {
    pointer-events: auto !important;
    touch-action: manipulation !important;
    cursor: pointer !important;
  }
}


/* ============================================================
   VS MOBILE PATCH v5 — FIX h1.vs-hero (kill display:flex + min-height del design system)
   ============================================================ */
html body h1.vs-hero,
html body main section h1.vs-hero,
html body main section h1.vs-park-hero {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  align-items: initial !important;
  justify-content: initial !important;
}

@media (max-width: 768px) {
  html body h1.vs-hero,
  html body main section h1.vs-hero {
    font-size: 32px !important;
    line-height: 1.05 !important;
    margin: 8px 0 12px !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
  }
  html body h1.vs-park-hero,
  html body main section h1.vs-park-hero {
    font-size: 44px !important;
    line-height: 1 !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
  }
  html body h2.vs-bg-title,
  html body main section h2.vs-bg-title {
    font-size: 32px !important;
    line-height: 1.05 !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
  }
}

html body main section:first-of-type h1,
html body main section:first-of-type h2,
html body main section[id*="hero"] h1,
html body main section[id*="hero"] h2 {
  min-height: 0 !important;
  display: block !important;
}


/* VS MOBILE PATCH v6 */
html { background-color: #FAF7EE !important; }
html body main section,
html body main section + section,
html body article section,
html body article section + section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
}
@media (max-width: 768px) {
  html body main section:first-of-type,
  html body main section[id*="hero"] {
    min-height: 55vh !important;
    padding-top: 80px !important;
    padding-bottom: 60px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }
  html body main section:first-of-type > div,
  html body main section[id*="hero"] > div { width: 100% !important; }
  html body main section:first-of-type h1.vs-hero,
  html body main section[id*="hero"] h1.vs-hero {
    font-size: 36px !important;
    line-height: 1.02 !important;
    margin: 12px 0 16px !important;
  }
  html body main section:first-of-type h1.vs-park-hero { font-size: 52px !important; }
}


/* === VS PATCH v7 — Lang switcher z-index + logo bianco === */
html body > nav.vs-langs {
  z-index: 99999 !important;
  position: fixed !important;
}

/* Logo bianco: nessun filter mai */
html body header.ct-header .vs-logo img,
html body footer.vs-footer img {
  filter: none !important;
  background: transparent !important;
}
/* Body font ovunque tranne hero titles */
html body, html body p, html body span, html body li, html body a, html body button {
  font-family: 'Jost', 'Futura', system-ui, sans-serif !important;
}
/* Heading SOLO hero usano Ready For Anything BB */
html body h3, html body h4, html body h5, html body h6 {
  font-family: 'Jost', 'Futura', system-ui, sans-serif !important;
}
/* Hero h1/h2 mantengono Ready For Anything BB */
html body h1.vs-hero, html body h1.vs-park-hero, html body h2.vs-bg-title, html body h1.vs-event-title {
  font-family: 'Ready for Anything BB', 'Bangers', 'Permanent Marker', cursive !important;
}


/* VS PATCH v7.1 — lang switcher bottom-right SEMPRE (desktop + mobile) */
html body > nav.vs-langs {
  position: fixed !important;
  top: auto !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 99999 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* === VS PATCH v8 — Override font WP defaults (page-title + entry-title) === */
html body h1, html body h1.page-title, html body h1.entry-title,
html body h2, html body h2.page-title, html body h2.entry-title,
html body main h1, html body main h2 {
  font-family: 'Jost', 'Futura', system-ui, sans-serif !important;
}
/* MA: classi hero forzano Ready For Anything BB con specificity più alta */
html body h1.vs-hero, html body main h1.vs-hero,
html body h1.vs-park-hero, html body main h1.vs-park-hero,
html body h2.vs-bg-title, html body main h2.vs-bg-title,
html body h1.vs-event-title, html body main h1.vs-event-title {
  font-family: 'Ready for Anything BB', 'Bangers', 'Permanent Marker', cursive !important;
}
/* Nasconde i page-title automatici di WP (titoli duplicati nelle pagine) */
html body .entry-header h1.entry-title,
html body .entry-header h1.page-title,
html body .ct-container > article > header.entry-header,
html body main > article > header.entry-header {
  display: none !important;
}


/* === VS PATCH v9 — Card eventi spacing (margin esterno tra card) === */
/* Override aggressive nuclear-margin per le card eventi */
html body main article.vs-event-card,
html body article.vs-event-card,
html body .vs-event-card {
  margin-top: 0 !important;
  margin-bottom: 32px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Ultima card no margin bottom */
html body main article.vs-event-card:last-of-type,
html body .vs-event-card:last-of-type {
  margin-bottom: 0 !important;
}
/* Padding interno mantenuto (lo override del nuclear v4 non deve toccare le card) */
html body main article.vs-event-card {
  padding: 64px 72px 72px !important;
}
@media (max-width: 768px) {
  html body main article.vs-event-card,
  html body .vs-event-card {
    padding: 40px 24px !important;
    margin-bottom: 24px !important;
    border-radius: 20px !important;
  }
}
/* Wrapper sezione eventi: gap tra card via grid/flex */
html body main section[id="eventi"] > div,
html body main section.vs-events-list > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 32px !important;
}
@media (max-width: 768px) {
  html body main section[id="eventi"] > div,
  html body main section.vs-events-list > div {
    gap: 24px !important;
  }
}




/* === VS PATCH v11 — HIDE Blocksy footer (DEFINITIVO) + show custom === */
body footer.ct-footer,
body .site-footer:not(.vs-footer),
body div[class*="ct-footer-row"],
body div[class*="ct-footer-main"],
body section[class*="footer"]:not(.vs-footer):not([class*="vs-"]),
body div[data-section="footer"],
body .ct-footer,
body footer:not(.vs-footer) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -99999px !important;
  pointer-events: none !important;
}
/* Custom footer SEMPRE visibile */
body > footer.vs-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  left: auto !important;
  height: auto !important;
  margin-top: 0 !important;
}
/* Mobile footer compatto */
@media (max-width: 768px) {
  body > footer.vs-footer {
    padding: 56px 24px 32px !important;
  }
  body > footer.vs-footer > div:first-of-type {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    text-align: center !important;
  }
  body > footer.vs-footer img {
    margin: 0 auto 16px !important;
  }
  body > footer.vs-footer h4 {
    margin-top: 0 !important;
  }
}

/* === FIX sticky header: batte html,body inline + main-container per ripristinare position:sticky === */
html{overflow-x:clip!important}
html body{overflow-x:clip!important;overflow-y:visible!important}
html body #main-container{overflow:visible!important}


/* === FIX v2 header mobile (batte regola inline) + hero mobile compatta === */
@media (max-width: 768px){
  body.wp-singular header.ct-header[id="header"] [data-device="desktop"]{display:none!important}
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"]{display:flex!important;flex:1 1 auto!important;width:100%!important;align-items:center!important;justify-content:space-between!important}
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"] .ct-header-trigger{display:flex!important;margin-left:auto!important}
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"] .ct-header-trigger *{color:var(--vs-cream)!important}
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"] img{display:block!important;height:44px!important;width:auto!important}
  html body main section[id*="hero"],html body main section[style*="min-height:80vh"],html body main section[style*="min-height: 80vh"],html body main section[style*="min-height:90vh"],html body main section[style*="min-height: 90vh"]{min-height:0!important;padding-top:64px!important;padding-bottom:56px!important}
  html body main section[id*="hero"] h1,html body main section[id*="hero"] h1.vs-hero{font-size:clamp(34px,10vw,48px)!important;line-height:1.05!important}
}


/* === Logo mobile: padding sinistro === */
@media (max-width: 768px){
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"] .site-branding,
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"] [data-id="logo"],
  html body.wp-singular header.ct-header[id="header"] [data-device="mobile"] img{padding-left:5px!important}
}


/* === Mobile: nascondi 2a mappa statica orfana in #map === */
@media (max-width: 768px){
  #map div[style*="background:#FAF7EE"]:has(img[alt*="Mappa"]):not(:has(.vs-map-zoom-link)){display:none!important}
}
