@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800;900&family=Montserrat:wght@700;800;900&display=swap');

:root{
  --black:#000000;
  --white:#ffffff;
  --gray-950:#090909;
  --gray-900:#111111;
  --gray-800:#1f1f1f;
  --gray-700:#333333;
  --gray-600:#555555;
  --gray-500:#777777;
  --gray-300:#d8d8d8;
  --gray-200:#eeeeee;
  --gray-100:#f7f7f7;
  --line:rgba(0,0,0,.14);
  --line-dark:rgba(255,255,255,.22);
  --muted:rgba(0,0,0,.66);
  --muted-invert:rgba(255,255,255,.74);
  --shadow:0 22px 70px rgba(0,0,0,.12);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-sm:14px;
  --container:min(1120px, calc(100% - 40px));
}

*{box-sizing:border-box;caret-color:var(--black)}
html{scroll-behavior:smooth;accent-color:var(--black)}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  color:var(--black);
  background:var(--white);
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  line-height:1.62;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent 0 72%, rgba(0,0,0,.035) 72% 73%, transparent 73%),
    linear-gradient(30deg, transparent 0 82%, rgba(0,0,0,.025) 82% 83%, transparent 83%);
  background-size:120px 120px,180px 180px;
}
::selection{background:var(--black);color:var(--white)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
p,h1,h2,h3{margin-top:0}
p,li,input,textarea{font-size:clamp(15px,1.1vw,17px);font-weight:500;line-height:1.65;color:var(--muted)}

.header{
  position:sticky;
  top:14px;
  z-index:50;
  width:var(--container);
  margin:14px auto 0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:10px 12px 10px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(20px) saturate(140%);
  box-shadow:0 16px 44px rgba(0,0,0,.10);
}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand-text{
  display:block;
  font-family:'Anton',Impact,sans-serif;
  font-size:clamp(26px,3.2vw,42px);
  line-height:1;
  letter-spacing:.015em;
  text-transform:uppercase;
  color:var(--black);
}
.header nav{display:flex;justify-content:center;align-items:center;gap:4px}
.header nav a{
  position:relative;
  padding:9px 11px;
  font-family:'Anton',Impact,sans-serif;
  font-size:13px;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--black);
}
.header nav a::after{
  content:'';
  position:absolute;
  left:12px;right:12px;bottom:4px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.header nav a:hover::after,.header nav a[aria-current='page']::after{transform:scaleX(1)}
.menu-toggle{display:none;background:none;border:0;color:var(--black);padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:28px;height:2px;background:currentColor;margin:6px 0;border-radius:4px;transition:transform .22s ease,opacity .22s ease}

.button,.btn,button.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:fit-content;
  min-height:42px;
  padding:12px 18px;
  border:2px solid var(--black);
  border-radius:999px;
  background:var(--black);
  color:var(--white);
  font-family:'Inter',system-ui,sans-serif;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.09em;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease;
}
.button:hover,.btn:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(0,0,0,.18)}
.button.light,.button.dark,.button-sun{background:var(--black);color:var(--white)}
.button.outline{background:var(--white);color:var(--black);border-color:var(--black);box-shadow:none}
.button.outline:hover{background:var(--black);color:var(--white)}

.hero{
  position:relative;
  min-height:760px;
  margin-top:-76px;
  display:grid;
  align-items:center;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94), rgba(255,255,255,.64) 48%, rgba(255,255,255,.86)),
    url('../img/pages/bg-hero.jpg') center/cover no-repeat;
  background-color:var(--white);
}
.hero::after{
  content:'JAZZ · SAPORI · TERRITORIO';
  position:absolute;
  left:-4vw;right:-4vw;bottom:24px;
  white-space:nowrap;
  font-family:'Anton',Impact,sans-serif;
  font-size:clamp(38px,6.5vw,92px);
  line-height:.98;
  letter-spacing:.02em;
  color:rgba(0,0,0,.07);
  text-transform:uppercase;
  pointer-events:none;
}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 72% 28%, rgba(0,0,0,.08), transparent 18rem)}
.hero-content{
  position:relative;
  z-index:2;
  max-width:1120px;
  width:100%;
  margin:0 auto;
  padding:170px 40px 112px;
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  align-items:start;
}
h1{
  max-width:980px;
  margin:0;
  font-family:'Anton',Impact,sans-serif;
  font-size:clamp(58px,10vw,132px);
  line-height:.94;
  letter-spacing:-.025em;
  text-transform:uppercase;
  color:var(--black);
}
.lead{
  margin:0 0 12px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.82);
  color:var(--black);
  box-shadow:var(--shadow);
}
.eyebrow,.sapori-eyebrow{
  display:inline-flex;
  width:fit-content;
  margin:0 0 18px;
  padding:8px 12px;
  border:1px solid var(--black);
  border-radius:999px;
  background:var(--white);
  color:var(--black);
  font-family:'Inter',system-ui,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.section,.calendar-section,.contact-section,.territory-content,.sapori-clean-grid,.sapori-clean-feature,.footer,.cta,.internal-hero{
  width:var(--container);
}
.section,.calendar-section,.contact-section,.territory-content,.sapori-clean-grid,.sapori-clean-feature{
  margin:0 auto;
  padding:74px 0;
}
.section h2,.territory h2,.contact-info h2,.sapori-clean-feature h2,.section-head h2,.calendar-info h2,.sapori-clean-card h2,.territory-content h2{
  font-family:'Anton',Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:-.02em;
  color:var(--black);
}
.section h2,.territory h2,.contact-info h2,.sapori-clean-feature h2,.section-head h2{
  font-size:clamp(38px,6vw,76px);
  line-height:1.04;
}
.intro>p,.section-head p,.territory-text p,.sapori-clean-feature p,.territory-content p,.contact-info p{max-width:760px;color:var(--muted)}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px;align-items:stretch}
.card{
  position:relative;
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border-radius:var(--radius-xl);
  border:1px solid var(--line);
  background:var(--gray-100);
  box-shadow:var(--shadow);
  isolation:isolate;
}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 18%,rgba(255,255,255,.25),rgba(255,255,255,.94));z-index:0}
.card div{position:relative;z-index:1;padding:24px;text-align:left}
.card h3{font-family:'Anton',Impact,sans-serif;font-size:clamp(36px,4.2vw,56px);line-height:.98;text-transform:uppercase;margin-bottom:12px;color:var(--black)}
.card p{font-size:18px;color:var(--black);font-weight:600}.card:hover img{transform:scale(1.06)}
.text-sun{color:var(--black)}

/* Homepage image cards: color photos + black overlay for readable black/white UI */
.home-hover-card-cultura::after,
.home-hover-card-sapori::after,
.home-hover-card-territorio::after{
  background:linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.34) 45%, rgba(0,0,0,.82) 100%);
}
.home-hover-card-cultura h3,
.home-hover-card-cultura p,
.home-hover-card-cultura .text-sun,
.home-hover-card-sapori h3,
.home-hover-card-sapori p,
.home-hover-card-sapori .text-sun,
.home-hover-card-territorio h3,
.home-hover-card-territorio p,
.home-hover-card-territorio .text-sun{
  color:var(--white);
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.home-hover-card-cultura p,
.home-hover-card-sapori p,
.home-hover-card-territorio p{
  font-weight:400;
}

.territory{
  width:var(--container);
  margin:32px auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:stretch;
  padding:22px;
  border-radius:34px;
  background:var(--gray-100);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.territory-text{padding:34px 24px;display:flex;flex-direction:column;justify-content:center}
.map-card{min-height:360px;border-radius:28px;background:var(--white);display:grid;place-items:center;overflow:hidden;color:var(--black);border:1px solid var(--line)}
.photo-card{overflow:hidden;padding:0}.valle-photo{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;border-radius:inherit}
.map-card svg{width:100%;height:100%;min-height:320px;padding:18px}.map-route{fill:none;stroke:var(--black);stroke-width:10;stroke-linecap:round;stroke-dasharray:10 18}.map-point circle{fill:var(--white);stroke:var(--black);stroke-width:4}.map-point rect{fill:var(--black)}.map-point text{fill:var(--white);font-weight:900;font-size:20px}.muted{fill:rgba(0,0,0,.55);font-weight:900;text-transform:uppercase;letter-spacing:.08em}

.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.event-card,.calendar-item{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--black);
  box-shadow:var(--shadow);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.event-card:hover,.calendar-item:hover{transform:translateY(-6px);border-color:var(--black);box-shadow:0 26px 76px rgba(0,0,0,.16)}
.event-card{min-height:300px;padding:16px;display:flex;flex-direction:column;gap:16px;justify-content:flex-start;min-width:0}
.event-tba{display:flex;align-items:center;justify-content:center;width:100%;min-height:112px;border-radius:20px;background:repeating-linear-gradient(-18deg,var(--white) 0 12px,var(--gray-200) 12px 24px);color:var(--black);font-family:'Anton',Impact,sans-serif;font-size:clamp(42px,5vw,68px);line-height:1;box-shadow:inset 0 0 0 6px rgba(0,0,0,.10);border:1px solid var(--line)}
.event-card span,.calendar-info span{font-family:'Inter',system-ui,sans-serif;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gray-600)}
.event-card h3{font-family:'Anton',Impact,sans-serif;font-size:clamp(30px,3.1vw,46px);line-height:1.02;text-transform:uppercase;margin:0;color:var(--black);overflow-wrap:anywhere}
.event-card p{margin-top:auto;color:var(--muted)}
.calendar-list{display:grid;gap:14px}
.calendar-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;padding:18px;overflow:hidden}
.calendar-date{display:grid;place-items:center;width:130px;aspect-ratio:1;border-radius:22px;background:var(--black);color:var(--white);font-family:'Anton',Impact,sans-serif;font-size:30px;line-height:1.08;text-align:center;text-transform:uppercase}
.calendar-info{min-width:0}.calendar-info h2{font-size:clamp(32px,4vw,56px);line-height:1.02;margin:10px 0;color:var(--black)}.calendar-info p{margin:0;color:var(--muted)}
.calendar-item .button{flex-shrink:0;white-space:nowrap;justify-self:end}

.cta{
  margin:32px auto 76px;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px;
  border-radius:34px;
  color:var(--white);
  background:linear-gradient(135deg,rgba(0,0,0,.76),rgba(0,0,0,.52)),url('../img/pages/vibrante.jpg') center/cover no-repeat;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.cta .brand-text,.cta h2{color:var(--white)}
.cta h2{max-width:860px;margin:36px 0;font-family:'Anton',Impact,sans-serif;font-size:clamp(42px,6.5vw,82px);line-height:.98;text-transform:uppercase;letter-spacing:.005em}
.cta .button{background:var(--white);color:var(--black);border-color:var(--white)}

.internal-hero{
  position:relative;
  min-height:420px;
  margin:28px auto 0;
  display:flex;
  flex-direction:column;
  justify-content:end;
  padding:42px;
  overflow:hidden;
  border-radius:34px;
  border:1px solid var(--line);
  background-color:var(--gray-100);
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow);
}
.internal-hero::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.74);z-index:0;pointer-events:none}
.internal-hero>*{position:relative;z-index:1}.internal-hero h1{font-size:clamp(50px,9vw,112px);color:var(--black)}.internal-hero p{color:var(--black)}.internal-hero-content{position:relative;z-index:1}.event-vertical-space{height:120px}

.sapori-clean-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.sapori-clean-card,.territory-content article,.contact-info,.contact-form{
  padding:26px;
  border-radius:26px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.sapori-clean-card{position:relative;overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;gap:24px}.sapori-icon{font-family:'Anton',Impact,sans-serif;font-size:64px;color:var(--black)}.sapori-clean-card h2{font-size:clamp(34px,4vw,50px);line-height:.98;color:var(--black);margin:0}.sapori-clean-card p{color:var(--muted);font-size:18px;margin:0}.sapori-clean-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(280px,1fr);align-items:center;gap:clamp(28px,5vw,72px);margin-top:32px;margin-bottom:96px;padding:clamp(30px,5vw,56px);border:1px solid var(--line);border-radius:32px;background:var(--gray-100);box-shadow:var(--shadow);overflow:hidden;color:var(--black)}.sapori-clean-feature h2{margin:0;font-size:clamp(42px,6.4vw,88px);line-height:.95;max-width:650px;color:var(--black)}.sapori-clean-feature>p{margin:0;max-width:620px;padding:24px 0 0 28px;border-left:3px solid var(--black);color:var(--muted)}
.territory-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.territory-content h2{font-size:clamp(34px,4vw,50px);line-height:1.03;color:var(--black)}.territory-content article{position:relative;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.territory-content article:hover{transform:translateY(-8px);border-color:var(--black);box-shadow:0 22px 58px rgba(0,0,0,.16)}
.contact-section{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}.contact-info a{color:var(--black);font-weight:900;text-decoration:underline;text-underline-offset:3px}.contact-form{display:grid;gap:16px}.contact-form label{display:grid;gap:8px;color:var(--black);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:18px;padding:16px 18px;background:var(--white);color:var(--black);font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--black);box-shadow:0 0 0 4px rgba(0,0,0,.10)}
.footer{margin:0 auto 20px;padding:28px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:rgba(0,0,0,.62);font-size:16px}.footer p{margin:0;color:rgba(0,0,0,.62)}

@media (max-width:1080px){
  .header{grid-template-columns:1fr auto;justify-content:space-between}
  .menu-toggle{display:block}
  .header>.button{display:none}
  body.menu-lock{overflow:hidden;height:100dvh;touch-action:none}
  .header nav{display:none}
  .header.menu-open{
    position:fixed;
    top:14px;
    left:50%;
    transform:translateX(-50%);
    z-index:9999;
    width:var(--container);
    margin:0;
    grid-template-columns:1fr auto;
  }
  .header.menu-open::before{
    content:'';
    position:fixed;
    inset:-14px -100vw -100vh;
    z-index:-2;
    background:var(--white);
  }
  .header.menu-open .brand,
  .header.menu-open .menu-toggle{
    position:relative;
    z-index:3;
  }
  .header.menu-open nav{
    position:fixed;
    inset:0;
    z-index:-1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:stretch;
    gap:14px;
    width:100vw;
    height:100dvh;
    padding:96px 22px 118px;
    overflow:auto;
    background:var(--white);
  }
  .header.menu-open nav a{
    width:min(560px,100%);
    margin:0 auto;
    padding:18px 20px;
    text-align:center;
    font-size:clamp(22px,7vw,36px);
    line-height:1;
    color:var(--black);
  }
  .header.menu-open nav a::after{left:20%;right:20%;bottom:8px}
  .header.menu-open .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .header.menu-open .menu-toggle span:nth-child(2){opacity:0}
  .header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  :root{--container:min(100% - 28px,760px)}
  .hero{min-height:680px}.hero-content{padding:150px 28px 96px}.cards,.sapori-clean-grid,.territory-content,.territory,.contact-section{grid-template-columns:1fr}.card{min-height:360px}.map-card{min-height:320px}.calendar-item{grid-template-columns:1fr}.calendar-date{width:132px;aspect-ratio:auto;padding:18px}.calendar-item .button{justify-self:start}.sapori-clean-feature{grid-template-columns:1fr;align-items:center;gap:22px;margin-top:18px;margin-bottom:64px;padding:28px 22px;text-align:center}.sapori-clean-feature>p{max-width:680px;margin-left:auto;margin-right:auto;padding:18px 0 0;border-left:0;border-top:3px solid var(--black)}
}
@media (max-width:620px){
  :root{--container:calc(100% - 20px)}
  .header{top:10px;padding:9px 10px 9px 14px;grid-template-columns:1fr auto}.header.menu-open{top:10px;width:var(--container);padding:9px 10px 9px 14px;border-radius:999px}.brand{min-width:0}.brand-text{max-width:calc(100vw - 94px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:30px}.hero{min-height:620px;margin-top:-68px}.hero-content{padding:140px 18px 90px;justify-items:center;text-align:center}.hero::after{bottom:14px}h1{font-size:clamp(48px,17vw,78px)}.section,.calendar-section,.contact-section,.territory-content,.sapori-clean-grid{padding:54px 0}.section h2,.territory h2,.contact-info h2,.sapori-clean-feature h2,.section-head h2{font-size:clamp(34px,12vw,52px)}.section-head{align-items:center;flex-direction:column;text-align:center}.intro{text-align:center}.section-head p,.intro>p,.territory-text p,.contact-info p,.calendar-info p{text-align:center;margin-left:auto;margin-right:auto}.card{min-height:310px}.card div,.event-card,.calendar-item,.sapori-clean-card,.territory-content article{text-align:center}.territory,.cta,.internal-hero{border-radius:24px}.territory{padding:12px}.territory-text,.cta{padding:24px 18px;text-align:center;align-items:center}.map-card{min-height:260px}.event-grid{grid-template-columns:1fr}.event-card{min-height:0;padding:18px}.event-tba{min-height:96px;font-size:clamp(38px,16vw,54px)}.internal-hero{padding:28px;min-height:360px;text-align:center;align-items:center}.calendar-date{margin-left:auto;margin-right:auto}.calendar-item .button{justify-self:center;width:100%}.footer{flex-direction:column;align-items:center;text-align:center;font-size:14px}
}

.footer a{color:rgba(0,0,0,.72);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.footer a:hover{color:var(--black)}
@media (min-width:769px){
  .event-card h3{white-space:nowrap;overflow-wrap:normal;font-size:clamp(27px,2.5vw,38px)}
}


/* Desktop: menu header leggermente più grande, logo invariato */
@media (min-width: 901px){
  .header nav a{
    font-size:14.5px;
  }
}


/* Guida: differenzia leggermente la parola Jazztellina senza cambiare font o colore */
.cta .guide-brand-word{
  -webkit-text-stroke: 1px black;
  text-stroke: 1px black;
  paint-order: stroke fill;
}


@media (max-width:1080px){
  .header.menu-open .brand-text{
    transform:none;
  }
}


/* Intro block sotto internal hero: uniforme con le sezioni interne */
.intro-block{
  padding:52px 0 16px;
  text-align:left;
}
.intro-block .section-head{
  display:block;
  max-width:760px;
  margin:0 auto;
}
.intro-block .section-head p,
.intro-block>p{
  max-width:760px;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:clamp(16px,1.15vw,18px);
  font-weight:500;
  line-height:1.72;
  color:var(--muted);
  text-align:justify;
  text-align-last:center;
  text-wrap:pretty;
  hyphens:auto;
}



/* Internal hero paragraph enhancement */
.internal-hero + section p,
.internal-hero-text p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #444;
  max-width: 720px;
  margin: 0 auto 1.6rem auto;
  position: relative;
}

.internal-hero + section p:first-of-type,
.internal-hero-text p:first-of-type {
  font-size: 1.2rem;
  line-height: 1.9;
  color: #111;
  font-weight: 500;
}

.internal-hero + section p:first-of-type::before,
.internal-hero-text p:first-of-type::before {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: #000000;
  margin-bottom: 1.2rem;
}

.internal-hero + section p {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeUp 0.6s ease forwards;
}

.internal-hero + section p:nth-of-type(2) {
  animation-delay: 0.1s;
}
.internal-hero + section p:nth-of-type(3) {
  animation-delay: 0.2s;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* Aggiornamento globale: HR neri e testi intro leggermente più compatti */
hr{
  border:0;
  height:1px;
  background:var(--black,#000);
  color:var(--black,#000);
  opacity:1;
}

.internal-hero + section p,
.internal-hero-text p{
  font-size:clamp(15.5px,1vw,17px);
  line-height:1.72;
}

.internal-hero + section p:first-of-type,
.internal-hero-text p:first-of-type{
  font-size:clamp(17px,1.12vw,19px);
  line-height:1.78;
}

/* Mobile refinement: internal hero cards + intro paragraph below every internal hero */
@media (max-width:620px){
  .internal-hero{
    min-height:300px;
    margin-top:18px;
    padding:24px 18px;
    border-radius:22px;
    justify-content:flex-end;
    align-items:center;
    text-align:center;
  }

  .internal-hero h1{
    font-size:clamp(40px,14vw,62px);
    line-height:.96;
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:balance;
  }

  .internal-hero .eyebrow{
    font-size:12px;
    line-height:1.1;
    margin-bottom:10px;
  }

  .internal-hero-content{
    width:100%;
  }

  .event-vertical-space{
    height:56px;
  }

  .intro-block{
    padding:30px 0 8px;
  }

  .intro-block .section-head{
    max-width:100%;
  }

  .intro-block .section-head p,
  .intro-block>p,
  .internal-hero + section p,
  .internal-hero-text p{
    max-width:100%;
    font-size:15px;
    line-height:1.64;
    margin:0 auto 1.05rem;
    text-align:left;
    text-align-last:left;
    text-indent:1.15em;
    letter-spacing:0;
    hyphens:auto;
  }

  .intro-block .section-head p:first-of-type,
  .intro-block>p:first-of-type,
  .internal-hero + section p:first-of-type,
  .internal-hero-text p:first-of-type{
    font-size:16px;
    line-height:1.66;
    font-weight:500;
  }

  .internal-hero + section p:first-of-type::before,
  .internal-hero-text p:first-of-type::before{
    width:44px;
    margin:0 auto 1rem 0;
  }
}

@media (max-width:420px){
  .internal-hero{
    min-height:276px;
    padding:22px 16px;
  }

  .internal-hero h1{
    font-size:clamp(36px,13.5vw,54px);
  }

  .intro-block .section-head p,
  .intro-block>p,
  .internal-hero + section p,
  .internal-hero-text p{
    font-size:14.5px;
    line-height:1.6;
    text-indent:1em;
  }

  .intro-block .section-head p:first-of-type,
  .intro-block>p:first-of-type,
  .internal-hero + section p:first-of-type,
  .internal-hero-text p:first-of-type{
    font-size:15.5px;
  }
}

/* Mobile: centra il testo nell'internal hero su tutte le pagine */
@media (max-width:620px){
  .internal-hero,
  .internal-hero-content,
  .internal-hero .eyebrow,
  .internal-hero h1,
  .internal-hero p{
    text-align:center;
    text-align-last:center;
  }

  .internal-hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
  }
}

/* Homepage eventi: slideshow desktop con più eventi visibili, layout mobile invariato */
@media (min-width:621px){
  .home-events-slideshow{
    width:100%;
    margin:0 auto;
    overflow:hidden;
    border-radius:28px;
  }

  .home-events-slideshow .home-events-track{
    display:flex;
    grid-template-columns:none;
    gap:18px;
    align-items:stretch;
    transition:transform .55s ease;
    will-change:transform;
  }

  .home-events-slideshow .event-card{
    flex:0 0 calc((100% - 36px) / 3);
    min-height:300px;
    transform:none;
    border-color:var(--line);
    box-shadow:var(--shadow);
  }

  .home-events-slideshow .event-card.is-active{
    border-color:var(--black);
  }

  .home-events-slideshow .event-card:hover{
    transform:none;
  }

  .home-events-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-top:16px;
  }

  .home-events-arrow{
    width:38px;
    height:38px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--white);
    color:var(--black);
    font-size:20px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transition:transform .2s ease,border-color .2s ease;
  }

  .home-events-arrow:hover{
    transform:translateY(-2px);
    border-color:var(--black);
  }

  .home-events-counter{
    min-width:70px;
    text-align:center;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
  }
}

@media (max-width:620px){
  .home-events-slideshow{
    width:100%;
    margin:0;
    overflow:visible;
  }

  .home-events-slideshow .home-events-track{
    transform:none !important;
  }

  .home-events-controls{
    display:none;
  }
}


/* Mobile vertical center internal hero */
@media (max-width:620px){
  .internal-hero{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:60vh;
    text-align:center;
  }
  .internal-hero .container,
  .internal-hero .hero-content{
    width:100%;
  }
  .internal-hero .hero-content{
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .internal-hero h1{
    margin:0;
  }
}


/* Event pages + Sponsors update */
.event-card-image{
  width:100%;
  height:142px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid var(--line);
  background:var(--gray-100);
}
.event-card p strong{color:var(--black)}
.event-list-item{
  grid-template-columns:168px minmax(0,1fr) auto;
  padding:16px;
}
.calendar-thumb{
  width:168px;
  height:118px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid var(--line);
}
.event-hero{
  min-height:520px;
}
.event-hero::before{
  background:linear-gradient(90deg,rgba(255,255,255,.86),rgba(255,255,255,.62));
}
.event-hero-subtitle{
  margin:18px 0 22px;
  color:var(--black);
  font-size:clamp(18px,2vw,24px);
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.event-detail-section{
  padding-top:54px;
}
.event-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:26px;
  align-items:start;
}
.event-copy,
.event-sidebar,
.event-program-card,
.share-panel,
.sponsor-card{
  border:1px solid var(--line);
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:var(--shadow);
}
.event-copy{
  padding:clamp(26px,4vw,46px);
}
.event-copy h2,
.event-program-card h3,
.share-panel h3,
.sponsor-card h3{
  margin:0 0 14px;
  font-family:'Anton',Impact,sans-serif;
  color:var(--black);
  text-transform:uppercase;
  letter-spacing:-.02em;
}
.event-copy h2{
  font-size:clamp(42px,6vw,80px);
  line-height:.98;
}
.event-copy p{
  max-width:780px;
  margin:0 0 18px;
  color:var(--muted);
  text-align:left;
  text-align-last:left;
}
.event-copy .event-lead{
  margin-bottom:26px;
  color:var(--black);
  font-size:clamp(18px,1.6vw,23px);
  line-height:1.55;
  font-weight:700;
}
.event-program-card{
  margin-top:28px;
  padding:26px;
  background:var(--gray-100);
}
.event-program-card h3,
.share-panel h3{
  font-size:clamp(28px,3vw,40px);
}
.event-program-card ol{
  margin:0;
  padding-left:22px;
}
.event-program-card li{
  margin:8px 0;
  color:var(--black);
  font-weight:700;
}
.event-sidebar{
  position:sticky;
  top:120px;
  display:grid;
  gap:16px;
  padding:16px;
}
.event-poster{
  margin:0;
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--line);
  background:var(--gray-100);
}
.event-poster img{
  width:100%;
  aspect-ratio:1.08;
  object-fit:cover;
}
.event-poster figcaption{
  padding:12px 14px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}
.event-info-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.event-info-list li{
  display:grid;
  grid-template-columns:98px minmax(0,1fr);
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--white);
}
.event-info-list span{
  color:var(--gray-600);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.event-info-list strong{
  color:var(--black);
  font-size:15px;
  line-height:1.35;
}
.event-actions,
.share-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.event-actions .button,
.share-buttons .button{
  flex:1 1 auto;
  min-width:130px;
}
.share-panel{
  padding:20px;
  background:var(--gray-100);
}
.share-panel p{
  margin:0 0 16px;
  color:var(--muted);
}
.next-events-section{
  padding-top:10px;
}
.sponsor-logos-page{
  padding-top:44px;
}
.sponsor-logos-page > .section-head{
  margin-bottom:52px;
}
.logo-group-block{
  margin-bottom:52px;
}
.logo-group-block:last-child{
  margin-bottom:0;
}
.sponsor-group-head{
  margin-bottom:24px;
}
.sponsor-group-head h2{
  font-size:clamp(34px,4.8vw,64px);
  line-height:1;
  margin:0;
}
.logo-grid{
  display:grid;
  gap:18px;
}
.logo-grid-contributo{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.logo-grid-sponsors{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.logo-grid-graziea{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.logo-slot{
  margin:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:26px;
  background:var(--white);
  box-shadow:var(--shadow);
}
.logo-slot img{
  width:100%;
  height:170px;
  object-fit:contain;
  border-radius:18px;
  background:var(--white);
}
.logo-slot-small{
  padding:12px;
  border-radius:22px;
}
.logo-slot-small img{
  height:110px;
  border-radius:14px;
}
@media (max-width:1080px){
  .event-list-item{
    grid-template-columns:132px minmax(0,1fr);
  }
  .event-list-item .button{
    grid-column:2;
    justify-self:start;
  }
  .calendar-thumb{
    width:132px;
    height:120px;
  }
  .logo-grid-contributo,
  .logo-grid-sponsors,
  .logo-grid-graziea{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:980px){
  .event-detail-layout{
    grid-template-columns:1fr;
  }
  .event-sidebar{
    position:relative;
    top:auto;
  }
}
@media (max-width:620px){
  .event-card-image{
    height:150px;
  }
  .event-list-item{
    grid-template-columns:1fr;
    text-align:left;
  }
  .calendar-thumb{
    width:100%;
    height:180px;
  }
  .event-list-item .button{
    grid-column:auto;
    justify-self:stretch;
  }
  .event-hero{
    min-height:64vh;
  }
  .event-hero-subtitle{
    font-size:15px;
    text-align:center;
  }
  .event-detail-section{
    padding-top:34px;
  }
  .event-copy,
  .event-sidebar,
  .event-program-card,
  .share-panel{
    border-radius:22px;
  }
  .event-copy{
    padding:24px 18px;
  }
  .event-copy h2{
    text-align:center;
  }
  .event-copy p{
    text-align:left !important;
    text-align-last:left !important;
    text-indent:0 !important;
  }
  .event-info-list li{
    grid-template-columns:1fr;
    text-align:center;
  }
  .event-actions .button,
  .share-buttons .button{
    width:100%;
  }
  .logo-grid-contributo,
  .logo-grid-sponsors{
    grid-template-columns:1fr;
  }
  .logo-grid-graziea{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .logo-slot{
    padding:12px;
    border-radius:22px;
  }
  .logo-slot img{
    height:140px;
  }
  .logo-slot-small img{
    height:92px;
  }
}


/* Sponsors placeholders */
.sponsors-logos-section{
  display:grid;
  gap:44px;
  padding-top:40px;
}
.logo-group-block{
  display:grid;
  gap:22px;
}
.logo-group-head{
  display:grid;
  gap:10px;
}
.logo-group-head .eyebrow{
  margin-bottom:0;
}
.logo-group-head h2{
  margin:0;
}
.logo-placeholder-grid{
  display:grid;
  gap:18px;
}
.logo-placeholder-grid-large{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.logo-placeholder-grid-medium{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.logo-placeholder-grid-small{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.logo-placeholder-item{
  margin:0;
  border:1px solid var(--line);
  border-radius:24px;
  overflow:hidden;
  background:var(--white);
  box-shadow:var(--shadow);
}
.logo-placeholder-item img{
  width:100%;
  height:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
}
.logo-placeholder-item.small{
  border-radius:18px;
}
.logo-placeholder-item.small img{
  aspect-ratio:16 / 10;
}
@media (max-width:1080px){
  .logo-placeholder-grid-large,
  .logo-placeholder-grid-medium{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .logo-placeholder-grid-small{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:820px){
  .logo-placeholder-grid-large,
  .logo-placeholder-grid-medium,
  .logo-placeholder-grid-small{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:620px){
  .sponsors-logos-section{
    gap:34px;
  }
  .logo-placeholder-grid-large,
  .logo-placeholder-grid-medium,
  .logo-placeholder-grid-small{
    grid-template-columns:1fr;
  }
  .logo-group-head h2{
    text-align:left;
  }
}


/* Event detail refinement: black calendar / other appointments + Food & Wine details */
.event-detail-layout{
  align-items:start;
}
.event-copy{
  border:1px solid var(--line);
  box-shadow:0 28px 80px rgba(0,0,0,.10);
}
.event-sidebar{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.event-info-list,
.next-events-section,
.event-calendar-section,
.related-events-section{
  background:var(--black);
  color:var(--white);
  border:1px solid var(--black);
}
.event-info-list span,
.next-events-section span,
.event-calendar-section span,
.related-events-section span{
  color:rgba(255,255,255,.62);
}
.event-info-list strong,
.next-events-section strong,
.event-calendar-section strong,
.related-events-section strong,
.next-events-section h2,
.event-calendar-section h2,
.related-events-section h2,
.next-events-section h3,
.event-calendar-section h3,
.related-events-section h3,
.next-events-section p,
.event-calendar-section p,
.related-events-section p{
  color:var(--white);
}
.next-events-section .button,
.event-calendar-section .button,
.related-events-section .button{
  background:var(--white);
  color:var(--black);
  border-color:var(--white);
}
.next-events-section .button:hover,
.event-calendar-section .button:hover,
.related-events-section .button:hover{
  background:transparent;
  color:var(--white);
}
.event-program-card{
  background:var(--black);
  color:var(--white);
  border-color:var(--black);
  box-shadow:0 28px 80px rgba(0,0,0,.18);
}
.event-program-card h2,
.event-program-card h3,
.event-program-card p,
.event-program-card li,
.event-program-card strong{
  color:var(--white);
}
.event-program-card span{
  color:rgba(255,255,255,.62);
}
.event-program-card ul{
  display:grid;
  gap:12px;
}
.event-program-card li{
  padding:16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.06);
}
.food-wine-program{
  background:rgba(255,255,255,.10) !important;
}
.food-wine-program span{
  color:rgba(255,255,255,.72) !important;
}
.share-panel{
  border:1px solid var(--line);
}
.event-list-item{
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.event-list-item:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 60px rgba(0,0,0,.12);
}
.calendar-section.next-events-section,
.section.next-events-section{
  width:var(--container);
  margin:0 auto 70px;
  padding:52px;
  border-radius:var(--radius-xl);
  background:var(--black);
  color:var(--white);
}
.calendar-section.next-events-section .section-head h2,
.section.next-events-section .section-head h2,
.calendar-section.next-events-section .section-head p,
.section.next-events-section .section-head p,
.calendar-section.next-events-section p,
.section.next-events-section p{
  color:var(--white);
}
.calendar-section.next-events-section .event-list-item,
.section.next-events-section .event-list-item{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.07);
}
.calendar-section.next-events-section .event-list-item h3,
.calendar-section.next-events-section .event-list-item p,
.section.next-events-section .event-list-item h3,
.section.next-events-section .event-list-item p{
  color:var(--white);
}
.calendar-section.next-events-section .event-list-item .button,
.section.next-events-section .event-list-item .button{
  background:var(--white);
  color:var(--black);
  border-color:var(--white);
}
@media (max-width:620px){
  .calendar-section.next-events-section,
  .section.next-events-section{
    padding:30px 18px;
    margin-bottom:42px;
    border-radius:24px;
  }
  .event-program-card li{
    padding:14px;
  }
}


/* Fix leggibilità blocco "Altri appuntamenti" su ogni pagina evento */
.calendar-section.next-events-section,
.section.next-events-section,
.next-events-section{
  background:var(--black) !important;
  color:var(--white) !important;
}

.calendar-section.next-events-section .section-head,
.section.next-events-section .section-head,
.next-events-section .section-head{
  border-color:rgba(255,255,255,.18);
}

.calendar-section.next-events-section .eyebrow,
.section.next-events-section .eyebrow,
.next-events-section .eyebrow{
  background:var(--white) !important;
  color:var(--black) !important;
  border-color:var(--white) !important;
}

.calendar-section.next-events-section h2,
.calendar-section.next-events-section h3,
.calendar-section.next-events-section h4,
.section.next-events-section h2,
.section.next-events-section h3,
.section.next-events-section h4,
.next-events-section h2,
.next-events-section h3,
.next-events-section h4{
  color:var(--white) !important;
  font-family:'Anton',Impact,sans-serif !important;
  text-transform:uppercase;
  letter-spacing:.01em;
}

.calendar-section.next-events-section p,
.calendar-section.next-events-section li,
.calendar-section.next-events-section span,
.section.next-events-section p,
.section.next-events-section li,
.section.next-events-section span,
.next-events-section p,
.next-events-section li,
.next-events-section span{
  color:rgba(255,255,255,.78) !important;
}

.calendar-section.next-events-section strong,
.section.next-events-section strong,
.next-events-section strong{
  color:var(--white) !important;
}

.calendar-section.next-events-section .event-list,
.section.next-events-section .event-list,
.next-events-section .event-list{
  display:grid;
  gap:16px;
}

.calendar-section.next-events-section .event-list-item,
.section.next-events-section .event-list-item,
.next-events-section .event-list-item{
  border:1px solid rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.08) !important;
  color:var(--white) !important;
  box-shadow:none !important;
}

.calendar-section.next-events-section .event-list-item:hover,
.section.next-events-section .event-list-item:hover,
.next-events-section .event-list-item:hover{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.34) !important;
}

.calendar-section.next-events-section .event-list-item h3,
.section.next-events-section .event-list-item h3,
.next-events-section .event-list-item h3{
  color:var(--white) !important;
  margin-bottom:8px;
}

.calendar-section.next-events-section .event-list-item p,
.section.next-events-section .event-list-item p,
.next-events-section .event-list-item p{
  color:rgba(255,255,255,.76) !important;
  font-weight:600;
}

.calendar-section.next-events-section .event-date,
.section.next-events-section .event-date,
.next-events-section .event-date{
  background:var(--white) !important;
  color:var(--black) !important;
  border-color:var(--white) !important;
}

.calendar-section.next-events-section .event-date span,
.section.next-events-section .event-date span,
.next-events-section .event-date span,
.calendar-section.next-events-section .event-date strong,
.section.next-events-section .event-date strong,
.next-events-section .event-date strong{
  color:var(--black) !important;
}

.calendar-section.next-events-section .calendar-thumb,
.section.next-events-section .calendar-thumb,
.next-events-section .calendar-thumb{
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 44px rgba(0,0,0,.35);
}

.calendar-section.next-events-section .button,
.section.next-events-section .button,
.next-events-section .button{
  background:var(--white) !important;
  color:var(--black) !important;
  border-color:var(--white) !important;
}

.calendar-section.next-events-section .button:hover,
.section.next-events-section .button:hover,
.next-events-section .button:hover{
  background:transparent !important;
  color:var(--white) !important;
  border-color:var(--white) !important;
}

@media (max-width:620px){
  .calendar-section.next-events-section .event-list-item,
  .section.next-events-section .event-list-item,
  .next-events-section .event-list-item{
    text-align:center;
  }

  .calendar-section.next-events-section .event-list-item p,
  .section.next-events-section .event-list-item p,
  .next-events-section .event-list-item p{
    text-align:center !important;
  }
}


/* News page + footer logo spaces */
.news-page{
  padding-top:54px;
}
.news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:34px;
}
.news-card{
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--white);
  box-shadow:var(--shadow);
}
.news-card-featured{
  grid-column:span 1;
  background:var(--black);
  color:var(--white);
}
.news-card span{
  width:fit-content;
  padding:8px 10px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.news-card h3{
  margin:22px 0 14px;
  font-family:'Anton',Impact,sans-serif;
  font-size:clamp(32px,3.4vw,52px);
  line-height:1;
  text-transform:uppercase;
  color:var(--black);
}
.news-card p{
  margin-bottom:24px;
}
.news-card-featured h3,
.news-card-featured p,
.news-card-featured span{
  color:var(--white);
}
.news-card-featured .button.light{
  background:var(--white);
  color:var(--black);
  border-color:var(--white);
}
.footer-logo-row{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
}
.footer-logo-row img{
  width:min(240px, 42vw);
  height:92px;
  object-fit:contain;
  padding:10px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--white);
}
@media (max-width:900px){
  .news-grid{
    grid-template-columns:1fr;
  }
  .news-card{
    min-height:auto;
  }
}
@media (max-width:620px){
  .footer-logo-row{
    flex-direction:column;
    gap:12px;
  }
  .footer-logo-row img{
    width:100%;
    max-width:280px;
    height:86px;
  }
}

/* Header compact nav for News item */
@media (min-width:981px){
  .header nav a{
    padding-left:8px;
    padding-right:8px;
    font-size:12px;
  }
}


/* Restyling nuovo logo Jazztellina: palette ambra/arancio + titoli più leggibili */
:root{
  --black:#170d05;
  --white:#ffffff;
  --cream:#fff7e8;
  --cream-2:#fff1d5;
  --amber:#ffb000;
  --orange:#f47a00;
  --orange-dark:#b64600;
  --red-orange:#d94b00;
  --line:rgba(180,70,0,.22);
  --muted:rgba(23,13,5,.70);
  --shadow:0 24px 70px rgba(180,70,0,.13);
  --title-font:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
html{accent-color:var(--orange)}
body{
  background:
    radial-gradient(circle at top left, rgba(255,176,0,.16), transparent 32rem),
    radial-gradient(circle at bottom right, rgba(244,122,0,.10), transparent 30rem),
    var(--cream);
}
body::before{
  background:
    linear-gradient(120deg, transparent 0 72%, rgba(244,122,0,.06) 72% 73%, transparent 73%),
    linear-gradient(30deg, transparent 0 82%, rgba(255,176,0,.05) 82% 83%, transparent 83%);
}
::selection{background:var(--orange);color:var(--black)}
.header{
  background:rgba(255,247,232,.90);
  border-color:rgba(244,122,0,.26);
  box-shadow:0 18px 52px rgba(180,70,0,.16);
}
.brand-logo{
  display:block;
  width:clamp(150px,18vw,235px);
  height:auto;
  max-height:62px;
  object-fit:contain;
  filter:drop-shadow(0 7px 16px rgba(180,70,0,.18));
}
.brand-text,
h1,
.section h2,
.territory h2,
.contact-info h2,
.sapori-clean-feature h2,
.section-head h2,
.calendar-info h2,
.calendar-info h3,
.sapori-clean-card h2,
.territory-content h2,
.card h3,
.event-card h3,
.event-copy h2,
.event-program-card h3,
.share-panel h3,
.news-card h3,
.article-body h2,
.cta h2,
.internal-hero h1{
  font-family:var(--title-font) !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
  text-transform:none;
}
.header nav a{
  font-family:'Inter',system-ui,sans-serif !important;
  font-weight:900;
  letter-spacing:.055em;
}
h1,
.internal-hero h1{
  line-height:.96;
}
.section h2,
.section-head h2,
.cta h2{
  line-height:1.02;
}
.button,.btn,button.button{
  border-color:var(--orange-dark);
  background:linear-gradient(135deg, var(--amber), var(--orange));
  color:var(--black);
  box-shadow:0 15px 34px rgba(244,122,0,.20);
}
.button:hover,.btn:hover{
  box-shadow:0 20px 44px rgba(244,122,0,.28);
}
.button.outline{
  background:rgba(255,255,255,.72);
  color:var(--orange-dark);
  border-color:var(--orange);
}
.button.outline:hover{
  background:var(--orange);
  color:var(--white);
}
.button.light,.button.dark,.button-sun{
  background:linear-gradient(135deg, var(--amber), var(--orange));
  color:var(--black);
  border-color:var(--orange-dark);
}
.eyebrow,.sapori-eyebrow{
  background:linear-gradient(135deg, rgba(255,176,0,.24), rgba(244,122,0,.12));
  color:var(--orange-dark);
  border-color:rgba(244,122,0,.45);
}
.hero{
  background:
    linear-gradient(90deg, rgba(255,247,232,.96), rgba(255,241,213,.66) 48%, rgba(255,247,232,.90)),
    url('../img/pages/bg-hero.jpg') center/cover no-repeat;
}
.hero::after{
  content:'JAZZTELLLINA · FOOD & WINE · VALTELLINA';
  font-family:var(--title-font) !important;
  color:rgba(244,122,0,.13);
}
.hero-overlay{
  background:
    radial-gradient(circle at 72% 28%, rgba(255,176,0,.18), transparent 18rem),
    radial-gradient(circle at 12% 80%, rgba(244,122,0,.12), transparent 20rem);
}
.lead,
.news-card,
.logo-slot,
.event-copy,
.share-panel,
.sapori-clean-card,
.contact-card,
.card{
  background:rgba(255,255,255,.82);
  border-color:rgba(244,122,0,.22);
}
.card,
.event-card,
.calendar-item,
.news-card,
.logo-slot{
  box-shadow:0 24px 70px rgba(180,70,0,.12);
}
.card h3,
.event-card h3,
.news-card h3,
.calendar-info h2,
.calendar-info h3{
  color:var(--black);
}
.home-hover-card-cultura::after,
.home-hover-card-sapori::after,
.home-hover-card-territorio::after,
.home-hover-evento::after{
  background:linear-gradient(180deg, rgba(244,122,0,.02) 0%, rgba(23,13,5,.18) 42%, rgba(23,13,5,.88) 100%);
}
.cta{
  background:
    radial-gradient(circle at 16% 20%, rgba(255,255,255,.44), transparent 18rem),
    linear-gradient(135deg, var(--amber), var(--orange) 62%, var(--red-orange));
  color:var(--black);
  border:1px solid rgba(180,70,0,.20);
}
.cta h2,
.cta .brand-text{
  color:var(--black);
}
.cta .button.light{
  background:var(--black);
  color:var(--white);
  border-color:var(--black);
}
.internal-hero{
  border:1px solid rgba(244,122,0,.18);
  box-shadow:0 22px 60px rgba(180,70,0,.08);
}
.event-program-card,
.calendar-section.next-events-section,
.section.next-events-section,
.next-events-section,
.event-info-list{
  background:linear-gradient(135deg, #170d05, #2a1303 55%, #3a1800) !important;
  border-color:rgba(255,176,0,.24) !important;
}
.event-program-card li{
  border-color:rgba(255,176,0,.26);
  background:rgba(255,176,0,.08);
}
.food-wine-program{
  background:rgba(244,122,0,.18) !important;
}
.news-card-featured{
  background:linear-gradient(135deg, #170d05, #3a1800);
}
.article-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.article-card{
  padding:0;
  overflow:hidden;
}
.article-card > img{
  width:100%;
  height:240px;
  object-fit:cover;
}
.article-card > div{
  padding:26px;
  display:flex;
  min-height:360px;
  flex-direction:column;
  align-items:flex-start;
}
.article-card .button{
  margin-top:auto;
}
.article-date{
  display:block;
  margin:0 0 14px;
  color:var(--orange-dark) !important;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.article-detail{
  padding-top:54px;
}
.article-body{
  max-width:900px;
  margin:0 auto;
  padding:34px;
  border:1px solid rgba(244,122,0,.22);
  border-radius:var(--radius-xl);
  background:rgba(255,255,255,.84);
  box-shadow:var(--shadow);
}
.article-body p{
  font-size:clamp(17px,1.28vw,20px);
  color:rgba(23,13,5,.76);
}
.article-body .event-lead{
  color:var(--black);
  font-weight:800;
}
.footer{
  border-top-color:rgba(244,122,0,.24);
}
.footer-logo-row img{
  border-color:rgba(244,122,0,.25);
  background:rgba(255,255,255,.82);
}
@media (max-width:1100px){
  .brand-logo{
    width:clamp(142px,24vw,210px);
  }
}
@media (max-width:900px){
  .article-grid{
    grid-template-columns:1fr;
  }
  .article-card > div{
    min-height:auto;
  }
}
@media (max-width:620px){
  .brand-logo{
    width:172px;
    max-height:54px;
  }
  h1{
    font-size:clamp(44px,14vw,70px);
  }
  .article-body{
    padding:24px 18px;
  }
  .article-card > img{
    height:190px;
  }
}


/* Fix layout eventi + ripristino carousel homepage */
.home-events-slideshow{
  width:100%;
  margin-top:42px;
  position:relative;
}
.home-events-track{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.home-events-slideshow .event-card{
  min-height:360px;
  padding:0;
  gap:0;
  overflow:hidden;
  text-align:left;
}
.home-events-slideshow .event-card .event-card-image{
  height:190px;
  border:0;
  border-radius:0;
}
.home-events-slideshow .event-card > div{
  min-height:170px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  padding:22px;
}
.home-events-slideshow .event-card span{
  color:var(--orange-dark);
}
.home-events-slideshow .event-card h3{
  margin:0;
  font-size:clamp(26px,2.3vw,36px);
  line-height:1.05;
  white-space:normal;
}
.home-events-slideshow .event-card p{
  margin:0;
  color:var(--muted);
  font-weight:700;
  line-height:1.45;
}
.home-events-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:20px;
}
.home-events-arrow{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(244,122,0,.36);
  background:linear-gradient(135deg, var(--amber), var(--orange));
  color:var(--black);
  font-size:28px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(244,122,0,.18);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.home-events-arrow:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px rgba(244,122,0,.24);
}
.home-events-counter{
  min-width:88px;
  text-align:center;
  color:var(--orange-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media (min-width:621px){
  .home-events-slideshow{
    overflow:hidden;
    border-radius:30px;
  }
  .home-events-slideshow .home-events-track{
    display:flex !important;
    grid-template-columns:none !important;
    gap:18px;
    align-items:stretch;
    transition:transform .55s ease;
    will-change:transform;
  }
  .home-events-slideshow .event-card{
    flex:0 0 calc((100% - 36px) / 3);
    transform:none !important;
  }
  .home-events-slideshow .event-card.is-active{
    border-color:rgba(244,122,0,.62);
    box-shadow:0 28px 80px rgba(244,122,0,.18);
  }
}
@media (max-width:940px) and (min-width:621px){
  .home-events-slideshow .event-card{
    flex-basis:calc((100% - 18px) / 2);
  }
  .home-events-slideshow .event-card .event-card-image{
    height:170px;
  }
}
@media (max-width:620px){
  .home-events-slideshow{
    margin-top:30px;
    overflow:visible;
  }
  .home-events-slideshow .home-events-track{
    display:grid !important;
    grid-template-columns:1fr;
    gap:16px;
    transform:none !important;
  }
  .home-events-slideshow .event-card{
    min-height:0;
    width:100%;
  }
  .home-events-slideshow .event-card .event-card-image{
    height:175px;
  }
  .home-events-slideshow .event-card > div{
    min-height:0;
    align-items:center;
    text-align:center;
    padding:20px 18px;
  }
  .home-events-controls{
    display:none !important;
  }
}

/* Layout calendario eventi e "Altri appuntamenti" più ordinato */
.calendar-list{
  display:grid;
  gap:18px;
}
.calendar-item.event-list-item,
.event-list-item{
  display:grid;
  grid-template-columns:190px minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:18px;
  text-align:left;
}
.calendar-thumb{
  width:190px;
  height:130px;
  object-fit:cover;
  border-radius:22px;
}
.calendar-info{
  min-width:0;
  text-align:left;
}
.calendar-info h2,
.calendar-info h3{
  margin:6px 0 8px;
  font-size:clamp(28px,3vw,44px);
  line-height:1.02;
}
.calendar-info p{
  margin:0;
  max-width:680px;
  text-align:left;
  font-weight:650;
  line-height:1.5;
}
.calendar-item .button,
.event-list-item .button{
  justify-self:end;
  white-space:nowrap;
}
@media (max-width:1080px){
  .calendar-item.event-list-item,
  .event-list-item{
    grid-template-columns:150px minmax(0,1fr);
  }
  .calendar-thumb{
    width:150px;
    height:118px;
  }
  .calendar-item .button,
  .event-list-item .button{
    grid-column:2;
    justify-self:start;
  }
}
@media (max-width:620px){
  .calendar-item.event-list-item,
  .event-list-item{
    grid-template-columns:1fr;
    gap:14px;
    padding:14px;
    text-align:center;
  }
  .calendar-thumb{
    width:100%;
    height:190px;
  }
  .calendar-info,
  .calendar-info p{
    text-align:center !important;
  }
  .calendar-item .button,
  .event-list-item .button{
    grid-column:auto;
    justify-self:stretch;
    width:100%;
  }
}

/* Pagine evento: più respiro e gerarchia leggibile */
.event-detail-layout{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  gap:34px;
}
.event-copy{
  padding:34px;
}
.event-copy p{
  font-size:clamp(16px,1.12vw,18px);
}
.event-lead{
  font-size:clamp(19px,1.6vw,25px) !important;
  line-height:1.45;
}
.event-sidebar{
  gap:20px;
}
.event-info-list{
  padding:20px;
}
.event-info-list li{
  border-color:rgba(255,176,0,.20);
}
.share-panel{
  padding:22px;
}
.event-program-card{
  margin-top:28px;
}
@media (max-width:980px){
  .event-detail-layout{
    grid-template-columns:1fr;
  }
  .event-copy{
    padding:28px 22px;
  }
}


/* Semplificazione colori: crema / nero / arancio accento */
:root{
  --black:#15110c;
  --white:#ffffff;
  --cream:#fff8ee;
  --cream-2:#f6ead8;
  --amber:#f28c00;
  --orange:#f28c00;
  --orange-dark:#8f4300;
  --red-orange:#f28c00;
  --gray-950:#15110c;
  --gray-900:#1f1811;
  --gray-800:#2a2118;
  --gray-700:#4a3d30;
  --gray-600:#6f6255;
  --gray-500:#8a7c6d;
  --gray-300:#d8cbbd;
  --gray-200:#eadfce;
  --gray-100:#fff8ee;
  --line:rgba(21,17,12,.14);
  --muted:rgba(21,17,12,.68);
  --muted-invert:rgba(255,255,255,.72);
  --shadow:0 22px 62px rgba(21,17,12,.10);
}

html{
  accent-color:var(--orange);
}

body{
  background:var(--cream) !important;
  color:var(--black);
}

body::before{
  display:none;
}

.header{
  background:rgba(255,248,238,.94) !important;
  border-color:var(--line) !important;
  box-shadow:0 14px 40px rgba(21,17,12,.10) !important;
}

.brand-logo{
  filter:none !important;
}

.hero{
  background:
    linear-gradient(rgba(255,248,238,.88), rgba(255,248,238,.88)),
    url('../img/pages/bg-hero.jpg') center/cover no-repeat !important;
}

.hero-overlay{
  display:none;
}

.hero::after{
  color:rgba(21,17,12,.07) !important;
}

.internal-hero{
  background-color:var(--cream-2);
  border-color:var(--line) !important;
  box-shadow:none !important;
}

.button,
.btn,
button.button,
.button.light,
.button.dark,
.button-sun{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
  box-shadow:none !important;
}

.button:hover,
.btn:hover{
  background:var(--orange) !important;
  color:var(--black) !important;
  border-color:var(--orange) !important;
}

.button.outline{
  background:transparent !important;
  color:var(--black) !important;
  border-color:var(--black) !important;
  box-shadow:none !important;
}

.button.outline:hover{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
}

.eyebrow,
.sapori-eyebrow{
  background:transparent !important;
  color:var(--orange-dark) !important;
  border-color:var(--orange-dark) !important;
}

.card,
.event-card,
.calendar-item,
.news-card,
.logo-slot,
.event-copy,
.share-panel,
.sapori-clean-card,
.contact-card,
.article-body{
  background:var(--white) !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow) !important;
}

.home-hover-card-cultura::after,
.home-hover-card-sapori::after,
.home-hover-card-territorio::after,
.home-hover-evento::after{
  background:linear-gradient(180deg, rgba(21,17,12,.03) 0%, rgba(21,17,12,.24) 45%, rgba(21,17,12,.84) 100%) !important;
}

.cta{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
  box-shadow:none !important;
}

.cta h2,
.cta .brand-text,
.cta p{
  color:var(--white) !important;
}

.cta .button.light{
  background:var(--white) !important;
  color:var(--black) !important;
  border-color:var(--white) !important;
}

.event-program-card,
.calendar-section.next-events-section,
.section.next-events-section,
.next-events-section,
.event-info-list{
  background:var(--black) !important;
  border-color:var(--black) !important;
}

.event-program-card li{
  border-color:rgba(255,255,255,.18) !important;
  background:rgba(255,255,255,.06) !important;
}

.food-wine-program{
  background:rgba(255,255,255,.10) !important;
}

.news-card-featured{
  background:var(--black) !important;
}

.news-card-featured h3,
.news-card-featured p,
.news-card-featured span{
  color:var(--white) !important;
}

.home-events-arrow{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
  box-shadow:none !important;
}

.home-events-arrow:hover{
  background:var(--orange) !important;
  color:var(--black) !important;
}

.home-events-counter,
.article-date,
.home-events-slideshow .event-card span{
  color:var(--orange-dark) !important;
}

.footer{
  border-top-color:var(--line) !important;
}

.footer-logo-row img{
  background:var(--white) !important;
  border-color:var(--line) !important;
}

@media (max-width:620px){
  .hero{
    background:
      linear-gradient(rgba(255,248,238,.90), rgba(255,248,238,.90)),
      url('../img/pages/bg-hero.jpg') center/cover no-repeat !important;
  }
}


/* Footer: copyright in apertura, loghi sotto */
.footer{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:18px !important;
  text-align:left !important;
}
.footer-main{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 24px;
}
.footer-copy{
  order:-1;
  font-weight:800;
  color:var(--black) !important;
}
.footer-logo-row{
  width:100%;
  display:flex;
  justify-content:flex-start !important;
  align-items:center;
  gap:14px;
  margin:8px 0 0 !important;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.footer-logo-row img{
  width:min(210px, 42vw) !important;
  height:78px !important;
  object-fit:contain;
}
@media (max-width:720px){
  .footer,
  .footer-main{
    align-items:center !important;
    text-align:center !important;
    justify-content:center;
  }
  .footer-logo-row{
    justify-content:center !important;
    flex-direction:row !important;
    flex-wrap:wrap;
  }
}


/* News + articoli: layout editoriale definitivo */
.news-hero{
  min-height:440px;
  align-items:flex-end;
  justify-content:flex-start;
  padding:72px 58px;
}
.news-hero h1{
  max-width:880px;
}
.news-editorial{
  padding-top:58px;
}
.news-editorial-head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr);
  gap:34px;
  align-items:end;
  margin-bottom:34px;
}
.news-editorial-head > p{
  max-width:520px;
  margin:0;
  font-size:clamp(16px,1.2vw,19px);
  line-height:1.6;
  color:var(--muted);
}
.news-feature-card{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:0;
  overflow:hidden;
  margin-bottom:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--white);
  box-shadow:var(--shadow);
}
.news-feature-image{
  min-height:480px;
  background:var(--cream-2);
}
.news-feature-image img{
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
}
.news-feature-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:42px;
}
.article-kicker{
  display:inline-flex;
  width:fit-content;
  margin:0 0 18px;
  padding:8px 11px;
  border:1px solid var(--orange-dark);
  border-radius:999px;
  color:var(--orange-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}
.news-feature-content h2{
  margin:0 0 12px;
  font-family:var(--title-font) !important;
  font-size:clamp(36px,4.4vw,64px);
  line-height:1.02;
  letter-spacing:-.055em;
  color:var(--black);
}
.news-feature-content p{
  max-width:560px;
}
.news-list-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.news-list-card{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:28px;
  background:var(--white);
  box-shadow:var(--shadow);
  transition:transform .22s ease, box-shadow .22s ease;
}
.news-list-card:hover{
  transform:translateY(-4px);
}
.news-list-image{
  min-height:100%;
  background:var(--cream-2);
}
.news-list-image img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.news-list-content{
  display:flex;
  min-height:260px;
  flex-direction:column;
  align-items:flex-start;
  padding:24px;
}
.news-list-content h3{
  margin:0 0 8px;
  font-family:var(--title-font) !important;
  font-size:clamp(25px,2.5vw,36px);
  line-height:1.05;
  letter-spacing:-.045em;
  color:var(--black);
}
.news-list-content p{
  margin:0 0 14px;
  line-height:1.5;
}
.news-list-content a:not(.button){
  margin-top:auto;
  color:var(--black);
  font-weight:900;
  text-decoration:underline;
  text-decoration-color:var(--orange);
  text-underline-offset:4px;
}
.article-date{
  margin:0 0 16px !important;
  color:var(--orange-dark) !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.article-top{
  width:var(--container);
  margin:34px auto 0;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(380px,.72fr);
  gap:28px;
  align-items:stretch;
}
.article-top-copy,
.article-top-image{
  min-height:560px;
  border:1px solid var(--line);
  border-radius:var(--radius-xl);
  background:var(--white);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.article-top-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:52px;
}
.article-top-copy h1{
  max-width:820px;
  margin:0 0 18px;
  font-size:clamp(42px,6.4vw,86px);
  line-height:.98;
  letter-spacing:-.06em;
}
.article-intro{
  max-width:760px;
  margin:0;
  color:var(--black);
  font-size:clamp(18px,1.55vw,24px);
  font-weight:800;
  line-height:1.45;
}
.article-back{
  width:fit-content;
  margin-bottom:24px;
  color:var(--black);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-decoration:underline;
  text-decoration-color:var(--orange);
  text-underline-offset:5px;
}
.article-top-image img{
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
}
.article-layout{
  display:grid;
  grid-template-columns:280px minmax(0,820px);
  gap:44px;
  align-items:start;
  justify-content:center;
  padding-top:50px;
}
.article-aside{
  position:sticky;
  top:118px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--cream-2);
}
.article-aside span{
  display:block;
  margin-bottom:12px;
  color:var(--orange-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.article-aside p{
  margin:0;
  font-size:15px;
  line-height:1.55;
}
.article-layout .article-body{
  max-width:820px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
}
.article-layout .article-body p{
  margin:0 0 26px;
  color:rgba(21,17,12,.78);
  font-size:clamp(18px,1.32vw,21px);
  line-height:1.78;
}
.article-layout .article-body p:first-child::first-letter{
  float:left;
  margin:8px 10px 0 0;
  color:var(--black);
  font-family:var(--title-font);
  font-size:64px;
  font-weight:900;
  line-height:.78;
}
.article-related{
  padding-top:20px;
}
.article-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.article-related-card{
  min-height:180px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--white);
  box-shadow:var(--shadow);
}
.article-related-card span{
  color:var(--orange-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.article-related-card strong{
  color:var(--black);
  font-family:var(--title-font);
  font-size:clamp(22px,2vw,30px);
  line-height:1.08;
}
@media (max-width:1100px){
  .news-feature-card,
  .article-top{
    grid-template-columns:1fr;
  }
  .news-feature-image,
  .news-feature-image img,
  .article-top-copy,
  .article-top-image,
  .article-top-image img{
    min-height:380px;
  }
  .news-list-grid{
    grid-template-columns:1fr;
  }
  .article-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .article-aside{
    position:relative;
    top:auto;
  }
}
@media (max-width:720px){
  .news-hero{
    min-height:360px;
    padding:42px 24px;
    text-align:center;
    align-items:center;
    justify-content:center;
  }
  .news-editorial-head{
    grid-template-columns:1fr;
    text-align:center;
  }
  .news-editorial-head > p{
    margin:0 auto;
  }
  .news-feature-content{
    padding:28px 22px;
    align-items:center;
    text-align:center;
  }
  .news-feature-image,
  .news-feature-image img{
    min-height:280px;
  }
  .news-list-card{
    grid-template-columns:1fr;
  }
  .news-list-image img{
    min-height:210px;
  }
  .news-list-content{
    min-height:auto;
    align-items:center;
    text-align:center;
  }
  .article-top{
    margin-top:22px;
  }
  .article-top-copy{
    min-height:auto;
    padding:34px 22px;
    text-align:center;
    align-items:center;
  }
  .article-top-copy h1{
    font-size:clamp(38px,12vw,58px);
  }
  .article-top-image,
  .article-top-image img{
    min-height:260px;
  }
  .article-layout{
    padding-top:36px;
  }
  .article-layout .article-body p{
    text-align:left;
  }
  .article-related-grid{
    grid-template-columns:1fr;
  }
}


/* Footer definitivo */
.footer{
  width:var(--container) !important;
  margin:34px auto 20px !important;
  padding:26px 0 0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:18px !important;
  border-top:1px solid var(--line) !important;
  color:var(--black) !important;
  text-align:left !important;
}

.footer-main{
  width:100%;
  display:grid !important;
  grid-template-columns:minmax(260px,1.3fr) auto auto;
  align-items:center;
  gap:18px 28px;
}

.footer p{
  margin:0 !important;
  color:rgba(21,17,12,.68) !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

.footer-copy{
  color:var(--black) !important;
  font-weight:900 !important;
  letter-spacing:.01em;
}

.footer-line{
  justify-self:center;
  white-space:nowrap;
  font-weight:700;
}

.footer-credit{
  justify-self:end;
  white-space:nowrap;
}

.footer-credit a{
  color:var(--black) !important;
  font-weight:900 !important;
  text-decoration:underline !important;
  text-decoration-color:var(--orange) !important;
  text-underline-offset:4px !important;
}

.footer-logo-row{
  width:100% !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 !important;
  padding:18px 0 0 !important;
  border-top:1px solid var(--line) !important;
}

.footer-logo-row img{
  width:180px !important;
  height:64px !important;
  object-fit:contain !important;
  padding:8px !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  background:var(--white) !important;
  box-shadow:none !important;
}

@media (max-width:900px){
  .footer-main{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:10px;
  }

  .footer-line,
  .footer-credit{
    justify-self:center;
    white-space:normal;
  }

  .footer-logo-row{
    justify-content:center !important;
    flex-wrap:wrap;
  }
}

@media (max-width:520px){
  .footer{
    margin-top:26px !important;
    padding-top:22px !important;
  }

  .footer p{
    font-size:13px !important;
  }

  .footer-logo-row{
    gap:10px !important;
  }

  .footer-logo-row img{
    width:calc(50% - 6px) !important;
    min-width:135px;
    height:58px !important;
  }
}


/* Footer logo PCA */
.footer-logo-row img{
  width:220px !important;
  height:92px !important;
  object-fit:contain !important;
  padding:8px !important;
}

@media (max-width:520px){
  .footer-logo-row img{
    width:100% !important;
    max-width:220px !important;
    height:88px !important;
  }
}

/* Fix richiesti: hero a filo e nuovo font nav menu */
.hero{
  margin-top:-98px !important;
}

.header nav a{
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-weight:800 !important;
}

@media (max-width:620px){
  .hero{
    margin-top:-92px !important;
  }
}

/* Aggiornamento footer + ordine News dopo Contatti */
.footer{
  width:var(--container) !important;
  margin:42px auto 24px !important;
  padding:26px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
  border-top:0 !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.76) !important;
  box-shadow:0 22px 60px rgba(23,13,5,.08) !important;
  outline:1px solid rgba(23,13,5,.08) !important;
  text-align:left !important;
}

.footer-main{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  justify-items:start !important;
  gap:6px !important;
}

.footer p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
}

.footer-copy{
  order:0 !important;
  color:var(--black) !important;
  font-weight:900 !important;
}

.footer-line{
  justify-self:start !important;
  color:rgba(23,13,5,.58) !important;
  font-weight:700 !important;
  white-space:normal !important;
}

.footer-credit{
  justify-self:start !important;
  color:rgba(23,13,5,.58) !important;
  white-space:normal !important;
}

.footer-credit a{
  color:var(--black) !important;
  font-weight:900 !important;
  text-decoration:none !important;
  border-bottom:2px solid rgba(244,122,0,.55) !important;
}

.footer-logo-row{
  width:auto !important;
  margin:0 !important;
  padding:12px !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:12px !important;
  border-top:0 !important;
  border-radius:22px !important;
  background:rgba(255,247,232,.82) !important;
  outline:1px solid rgba(23,13,5,.08) !important;
}

.footer-logo-row img{
  width:156px !important;
  max-width:none !important;
  height:62px !important;
  object-fit:contain !important;
  padding:7px !important;
  border:0 !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:none !important;
}

@media (max-width:900px){
  .footer{
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }

  .footer-main{
    justify-items:center !important;
    text-align:center !important;
  }

  .footer-line,
  .footer-credit{
    justify-self:center !important;
  }

  .footer-logo-row{
    justify-content:center !important;
    flex-wrap:wrap !important;
  }
}

@media (max-width:520px){
  .footer{
    padding:22px 16px !important;
    border-radius:24px !important;
  }

  .footer-logo-row{
    width:100% !important;
    padding:10px !important;
  }

  .footer-logo-row img{
    width:100% !important;
    max-width:210px !important;
    height:76px !important;
  }
}

/* Footer professionale */
.footer.footer-pro{
  width:100% !important;
  margin:84px 0 0 !important;
  padding:0 !important;
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  background:#070707 !important;
  color:#ffffff !important;
  text-align:left !important;
  overflow:hidden !important;
  position:relative !important;
  isolation:isolate !important;
}

.footer.footer-pro::before{
  content:none !important;
  display:none !important;
}

.footer.footer-pro::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08) 0 1px, transparent 1px 18px),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 42%);
  opacity:.35;
  pointer-events:none;
  z-index:-1;
}

.footer-shell{
  width:var(--container);
  margin:0 auto;
  padding:58px 0 28px;
}

.footer-topline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding-bottom:34px;
}

.footer-brand{
  display:grid;
  gap:10px;
  color:#ffffff !important;
}

.footer-brand img{
  width:min(360px, 72vw) !important;
  height:auto !important;
  object-fit:contain !important;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.38));
}

.footer-brand span{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.footer-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:13px 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#ffffff !important;
  backdrop-filter:blur(18px) saturate(135%);
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.footer-cta:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.44);
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) minmax(130px,.65fr) minmax(190px,.75fr) minmax(260px,1fr);
  gap:34px;
  padding:36px 0 38px;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}

.footer-about p{
  max-width:430px;
  margin:0 !important;
  color:rgba(255,255,255,.82) !important;
  font-family:'Inter',system-ui,sans-serif;
  font-size:clamp(21px,2.2vw,34px) !important;
  font-weight:800 !important;
  line-height:1.12 !important;
  letter-spacing:-.035em;
}

.footer-col,
.footer-partners{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.footer-col h3,
.footer-partners h3{
  margin:0 0 6px;
  color:rgba(255,255,255,.48);
  font-family:'Inter',system-ui,sans-serif;
  font-size:11px;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.footer-col a{
  color:rgba(255,255,255,.82) !important;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none !important;
  transition:color .18s ease, transform .18s ease;
}

.footer-col a:hover{
  color:#ffffff !important;
  transform:translateX(4px);
}

.footer-logo-row{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  align-items:stretch !important;
}

.footer-logo-row img{
  width:100% !important;
  height:96px !important;
  max-width:none !important;
  object-fit:contain !important;
  padding:12px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.22) !important;
}

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:24px;
}

.footer-bottom p{
  margin:0 !important;
  color:rgba(255,255,255,.62) !important;
  font-size:13px !important;
  line-height:1.35 !important;
}

.footer-bottom a{
  color:#ffffff !important;
  font-weight:900;
  text-decoration:none !important;
}

.footer-bottom a:hover{
  text-decoration:underline !important;
  text-underline-offset:4px;
}

@media (max-width:980px){
  .footer.footer-pro{
    margin-top:64px !important;
  }

  .footer-shell{
    padding:46px 0 24px;
  }

  .footer-topline{
    align-items:flex-start;
    flex-direction:column;
    padding-bottom:28px;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px 24px;
  }

  .footer-about{
    grid-column:1 / -1;
  }

  .footer-about p{
    max-width:680px;
  }
}

@media (max-width:620px){
  .footer.footer-pro{
    margin-top:54px !important;
  }

  .footer-shell{
    width:calc(100% - 32px);
    padding:40px 0 22px;
  }

  .footer-topline{
    align-items:center;
    text-align:center;
  }

  .footer-brand{
    justify-items:center;
  }

  .footer-brand img{
    width:min(310px, 86vw) !important;
  }

  .footer-cta{
    width:100%;
  }

  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-about p{
    text-align:center;
    font-size:clamp(24px,8.5vw,36px) !important;
  }

  .footer-col,
  .footer-partners{
    align-items:center;
  }

  .footer-logo-row{
    grid-template-columns:1fr !important;
    max-width:320px;
    margin-inline:auto !important;
  }

  .footer-logo-row img{
    height:90px !important;
  }

  .footer-bottom{
    flex-direction:column;
    text-align:center;
    gap:8px;
  }
}

/* Uniform page openings: all internal pages follow the News hero language */
.internal-hero.news-hero{
  min-height:440px;
  margin-top:28px;
  align-items:flex-start;
  justify-content:flex-end;
  padding:72px 58px;
  border-radius:34px;
  background-color:var(--cream-2);
  border:1px solid var(--line) !important;
  box-shadow:none !important;
}
.internal-hero.news-hero::before{
  background:rgba(255,248,238,.80) !important;
}
.internal-hero.news-hero .internal-hero-content{
  width:100%;
  max-width:920px;
}
.internal-hero.news-hero h1{
  max-width:920px;
  margin:0;
  font-family:var(--title-font) !important;
  letter-spacing:-.065em;
  line-height:.94;
}
.internal-hero.news-hero .eyebrow{
  margin-bottom:14px;
}
.internal-hero.news-hero .event-hero-subtitle{
  max-width:760px;
  margin:20px 0 24px;
  color:var(--black);
}
.internal-hero.news-hero .button{
  margin-top:6px;
}

/* News article openings now visually match the News page start */
.article-top{
  position:relative;
  width:var(--container);
  margin:28px auto 0 !important;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:440px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:34px;
  background:linear-gradient(rgba(255,248,238,.88),rgba(255,248,238,.88)),url('../img/pages/bg-hero.jpg') center/cover no-repeat;
  box-shadow:none;
}
.article-top-copy{
  width:100%;
  max-width:980px;
  min-height:440px !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding:72px 58px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible;
}
.article-top-copy h1{
  max-width:940px;
  font-family:var(--title-font) !important;
  font-size:clamp(50px,8vw,104px);
  line-height:.94;
  letter-spacing:-.065em;
}
.article-top-image{
  display:none;
}
.article-back{
  margin-bottom:18px;
}
.article-intro{
  max-width:760px;
}

@media (max-width:720px){
  .internal-hero.news-hero{
    min-height:360px;
    margin-top:18px;
    padding:42px 24px;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .internal-hero.news-hero .internal-hero-content{
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:100%;
  }
  .internal-hero.news-hero h1{
    font-size:clamp(40px,14vw,62px);
    line-height:.96;
    text-align:center;
  }
  .internal-hero.news-hero .event-hero-subtitle{
    font-size:14px;
    line-height:1.35;
    text-align:center;
  }
  .article-top{
    min-height:360px;
    margin-top:18px !important;
    border-radius:22px;
  }
  .article-top-copy{
    min-height:360px !important;
    align-items:center;
    justify-content:center;
    padding:42px 24px !important;
    text-align:center;
  }
  .article-top-copy h1{
    font-size:clamp(38px,12vw,58px);
    line-height:.96;
  }
  .article-back{
    margin-left:auto;
    margin-right:auto;
  }
  .article-intro{
    font-size:16px;
    line-height:1.5;
  }
}


/* Small event time labels */
.event-time-small{
  display:inline-block;
  margin:6px 0 10px;
  font-family:'Inter',system-ui,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
  color:var(--gray-600);
}
.calendar-info .event-time-small{
  margin-top:-2px;
}
.home-events-slideshow .event-card .event-time-small{
  margin-top:0;
}

/* Fix finale pagine evento: info list leggibile + layout non affiancato male */
.event-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.event-detail-layout{
  width:min(1040px,var(--container));
  margin:0 auto;
  grid-template-columns:1fr !important;
  gap:22px;
}

.event-copy,
.event-sidebar{
  width:100%;
}

.event-sidebar{
  position:relative !important;
  top:auto !important;
  display:grid !important;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  gap:18px;
  align-items:start;
  padding:18px;
}

.event-poster{
  grid-row:1 / span 3;
}

.event-poster img{
  aspect-ratio:4 / 5;
  object-fit:cover;
  display:block;
}

.event-info-list{
  display:grid !important;
  gap:10px;
  margin:0 !important;
  padding:14px !important;
  list-style:none !important;
  border-radius:24px;
  background:var(--black) !important;
  border:1px solid var(--black) !important;
  color:var(--white) !important;
}

.event-info-list li{
  display:grid !important;
  grid-template-columns:minmax(86px,.32fr) minmax(0,1fr) !important;
  align-items:center;
  gap:12px;
  margin:0;
  padding:14px 16px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.08) !important;
  color:var(--white) !important;
  text-align:left !important;
}

.event-info-list li.food-wine-program{
  grid-template-columns:1fr !important;
  background:rgba(255,255,255,.11) !important;
}

.event-info-list span{
  color:rgba(255,255,255,.66) !important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.25;
  text-transform:uppercase;
}

.event-info-list strong{
  color:var(--white) !important;
  font-size:15px;
  line-height:1.38;
  overflow-wrap:anywhere;
}

.event-actions,
.share-panel{
  grid-column:2;
}

.share-panel{
  background:var(--white);
}

@media (max-width:1080px){
  .event-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .event-sidebar{
    grid-template-columns:1fr !important;
  }

  .event-poster,
  .event-actions,
  .share-panel{
    grid-column:auto;
    grid-row:auto;
  }

  .event-poster img{
    aspect-ratio:16 / 10;
  }
}

@media (max-width:620px){
  .event-grid{
    grid-template-columns:1fr;
  }

  .event-detail-layout{
    width:var(--container);
    gap:16px;
  }

  .event-sidebar{
    padding:14px;
    border-radius:24px;
  }

  .event-info-list{
    padding:12px !important;
    border-radius:20px;
  }

  .event-info-list li{
    grid-template-columns:1fr !important;
    gap:6px;
    padding:13px 14px !important;
    text-align:left !important;
  }

  .event-info-list span,
  .event-info-list strong{
    text-align:left !important;
  }
}

/* === Eventi: layout agenda più chiaro === */
.calendar-section{
  width:var(--container);
  margin:0 auto 82px;
  padding:28px 0 0;
}
.calendar-list{
  display:grid;
  gap:18px;
}
.calendar-item.event-list-item{
  display:grid;
  grid-template-columns:120px 112px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:16px 18px;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  box-shadow:0 18px 58px rgba(0,0,0,.08);
  color:var(--black);
  text-decoration:none;
}
.calendar-item.event-list-item:hover{
  transform:translateY(-3px);
  border-color:rgba(0,0,0,.34);
  box-shadow:0 24px 70px rgba(0,0,0,.13);
}
.event-date-box{
  display:grid;
  place-items:center;
  gap:2px;
  min-height:112px;
  border-radius:22px;
  background:var(--black);
  color:var(--white);
  text-align:center;
  text-transform:uppercase;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.event-date-box strong{
  display:block;
  color:var(--white) !important;
  font-family:'Anton',Impact,sans-serif;
  font-size:44px;
  line-height:.92;
  letter-spacing:.01em;
}
.event-date-box span{
  display:block;
  color:rgba(255,255,255,.82) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:900;
  letter-spacing:.16em !important;
}
.event-date-box em{
  display:block;
  color:rgba(255,255,255,.62);
  font-style:normal;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
}
.calendar-thumb{
  width:112px;
  height:112px;
  object-fit:cover;
  border-radius:22px;
  border:1px solid var(--line);
  background:var(--gray-100);
}
.calendar-info{
  display:grid;
  gap:8px;
  min-width:0;
}
.calendar-info span:first-child{
  color:var(--gray-600) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:12px !important;
  font-weight:900;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.calendar-info h2,
.calendar-info h3,
.calendar-info .event-main-title{
  margin:0 !important;
  color:var(--black) !important;
  font-family:'Anton',Impact,sans-serif !important;
  font-size:clamp(34px,4vw,58px) !important;
  line-height:.98 !important;
  text-transform:uppercase;
  letter-spacing:.005em;
}
.event-time-pill{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border-radius:999px;
  background:var(--gray-100);
  border:1px solid var(--line);
  color:var(--black);
  font-family:'Inter',system-ui,sans-serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-place-line{
  margin:0 !important;
  color:var(--muted) !important;
  font-size:16px;
  font-weight:650;
  text-align:left !important;
}
.calendar-item.event-list-item .button{
  justify-self:end;
  min-width:110px;
  text-align:center;
  background:var(--black);
  color:var(--white);
  border-color:var(--black);
}
.calendar-item.event-list-item .button:hover{
  background:transparent;
  color:var(--black);
}

/* Pagine evento: scheda più leggibile, meno blocchi scuri */
.event-hero{
  min-height:500px;
  display:flex;
  align-items:end;
}
.event-hero > .news-hero-content,
.event-hero > article.internal-hero{
  width:min(920px,100%);
  min-height:0;
  margin:0;
  padding:clamp(24px,4vw,42px);
  border-radius:30px;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 22px 70px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
}
.event-hero > .news-hero-content::before,
.event-hero > article.internal-hero::before{
  display:none !important;
}
.event-hero h1{
  font-size:clamp(48px,7.8vw,104px);
  line-height:.94;
}
.event-hero-subtitle{
  max-width:820px;
  color:var(--black) !important;
  font-size:clamp(16px,1.7vw,22px);
  line-height:1.35;
}
.event-detail-section{
  padding-top:44px;
}
.event-detail-layout{
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:30px;
}
.event-copy{
  background:var(--white) !important;
  border:1px solid var(--line) !important;
  box-shadow:0 20px 65px rgba(0,0,0,.08) !important;
}
.event-copy h2{
  font-size:clamp(38px,5vw,68px);
}
.event-copy .event-lead{
  padding:18px 20px;
  border-radius:20px;
  background:var(--gray-100);
  border:1px solid var(--line);
}
.event-program-card{
  background:var(--gray-100) !important;
  color:var(--black) !important;
  border:1px solid var(--line) !important;
  box-shadow:none !important;
}
.event-program-card h2,
.event-program-card h3,
.event-program-card p,
.event-program-card li,
.event-program-card strong{
  color:var(--black) !important;
}
.event-program-card li{
  background:var(--white) !important;
  border:1px solid var(--line) !important;
  border-radius:16px;
}
.event-sidebar{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:16px;
}
.event-poster,
.share-panel{
  background:var(--white) !important;
  border:1px solid var(--line) !important;
  box-shadow:0 18px 56px rgba(0,0,0,.08);
}
.event-info-list{
  background:transparent !important;
  color:var(--black) !important;
  border:0 !important;
  display:grid;
  gap:9px;
}
.event-info-list li{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  align-items:center;
  background:var(--white) !important;
  border:1px solid var(--line) !important;
  border-radius:18px;
  color:var(--black) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.04);
}
.event-info-list span{
  color:var(--gray-600) !important;
}
.event-info-list strong{
  color:var(--black) !important;
}
.food-wine-program{
  background:var(--gray-100) !important;
}
.share-panel p{
  color:var(--muted) !important;
}
.event-actions .button,
.share-buttons .button{
  justify-content:center;
}

/* Anche “Altri appuntamenti” torna chiaro e leggibile */
.calendar-section.next-events-section,
.section.next-events-section,
.next-events-section{
  width:var(--container);
  margin:0 auto 72px;
  padding:42px;
  border-radius:32px;
  background:var(--gray-100) !important;
  color:var(--black) !important;
  border:1px solid var(--line) !important;
  box-shadow:none !important;
}
.calendar-section.next-events-section .section-head,
.section.next-events-section .section-head,
.next-events-section .section-head{
  border-color:var(--line) !important;
}
.calendar-section.next-events-section .eyebrow,
.section.next-events-section .eyebrow,
.next-events-section .eyebrow{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
}
.calendar-section.next-events-section h2,
.calendar-section.next-events-section h3,
.calendar-section.next-events-section h4,
.section.next-events-section h2,
.section.next-events-section h3,
.section.next-events-section h4,
.next-events-section h2,
.next-events-section h3,
.next-events-section h4,
.calendar-section.next-events-section p,
.section.next-events-section p,
.next-events-section p,
.calendar-section.next-events-section strong,
.section.next-events-section strong,
.next-events-section strong{
  color:var(--black) !important;
}
.calendar-section.next-events-section span,
.section.next-events-section span,
.next-events-section span{
  color:var(--gray-600) !important;
}
.calendar-section.next-events-section .event-list-item,
.section.next-events-section .event-list-item,
.next-events-section .event-list-item{
  background:var(--white) !important;
  color:var(--black) !important;
  border-color:var(--line) !important;
  box-shadow:0 14px 44px rgba(0,0,0,.06) !important;
}
.calendar-section.next-events-section .event-date-box span,
.section.next-events-section .event-date-box span,
.next-events-section .event-date-box span,
.calendar-section.next-events-section .event-date-box strong,
.section.next-events-section .event-date-box strong,
.next-events-section .event-date-box strong{
  color:var(--white) !important;
}
.calendar-section.next-events-section .event-date-box em,
.section.next-events-section .event-date-box em,
.next-events-section .event-date-box em{
  color:rgba(255,255,255,.62) !important;
}
.calendar-section.next-events-section .button,
.section.next-events-section .button,
.next-events-section .button{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
}
.calendar-section.next-events-section .button:hover,
.section.next-events-section .button:hover,
.next-events-section .button:hover{
  background:transparent !important;
  color:var(--black) !important;
  border-color:var(--black) !important;
}

@media (max-width:1080px){
  .calendar-item.event-list-item{
    grid-template-columns:104px 96px minmax(0,1fr);
  }
  .calendar-item.event-list-item .button{
    grid-column:3;
    justify-self:start;
  }
  .event-date-box,
  .calendar-thumb{
    width:96px;
    min-height:96px;
    height:96px;
  }
  .event-date-box strong{
    font-size:38px;
  }
}
@media (max-width:720px){
  .calendar-section{
    padding-top:12px;
    margin-bottom:58px;
  }
  .calendar-item.event-list-item{
    grid-template-columns:86px minmax(0,1fr);
    gap:14px;
    padding:14px;
    border-radius:24px;
    text-align:left !important;
  }
  .calendar-item.event-list-item .event-date-box{
    grid-row:1 / span 2;
    width:86px;
    height:100%;
    min-height:124px;
    align-self:stretch;
  }
  .calendar-item.event-list-item .calendar-thumb{
    display:none;
  }
  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-main-title{
    font-size:clamp(30px,10vw,44px) !important;
  }
  .event-time-pill{
    width:max-content;
  }
  .event-place-line{
    text-align:left !important;
  }
  .calendar-item.event-list-item .button{
    grid-column:2;
    justify-self:stretch;
    width:100%;
  }
  .event-detail-layout{
    grid-template-columns:1fr;
  }
  .event-copy,
  .event-program-card,
  .event-poster,
  .share-panel{
    border-radius:22px !important;
  }
  .event-info-list li{
    grid-template-columns:1fr;
    gap:4px;
    text-align:left !important;
  }
  .calendar-section.next-events-section,
  .section.next-events-section,
  .next-events-section{
    padding:28px 14px;
    border-radius:24px;
  }
}



/* === Final fix 2026-06-29: claim, nav mobile, footer desktop anche su mobile, SEO layout polish === */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

.hero-content h1{
  max-width:1120px;
  text-wrap:balance;
  overflow-wrap:normal;
}

@media (max-width:1080px){
  .header{
    min-height:58px !important;
    align-items:center !important;
  }
  .brand-logo,
  .header.menu-open .brand-logo{
    width:148px !important;
    max-height:46px !important;
  }
  .menu-toggle{
    width:46px !important;
    height:46px !important;
    display:inline-grid !important;
    place-content:center !important;
  }
  .menu-toggle span{
    width:26px !important;
    margin:5px 0 !important;
  }
  .header.menu-open nav{
    padding-top:118px !important;
    padding-bottom:90px !important;
  }
}

@media (max-width:720px){
  .header{
    width:calc(100% - 24px) !important;
    top:10px !important;
    margin-top:10px !important;
    padding:8px 10px 8px 14px !important;
    border-radius:999px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
  }
  .header.menu-open{
    width:calc(100% - 24px) !important;
    padding:8px 10px 8px 14px !important;
  }
  .brand{
    min-width:0 !important;
    overflow:hidden !important;
  }
  .brand-logo,
  .header.menu-open .brand-logo{
    width:132px !important;
    max-height:40px !important;
  }
  .header.menu-open nav a{
    padding:14px 18px !important;
    font-size:clamp(24px,8.6vw,34px) !important;
  }
  .hero{
    min-height:640px !important;
    margin-top:-68px !important;
  }
  .hero-content{
    padding:142px 18px 86px !important;
    gap:18px !important;
    text-align:center !important;
    justify-items:center !important;
  }
  .hero-content h1{
    font-size:clamp(42px,13.5vw,66px) !important;
    line-height:.94 !important;
    letter-spacing:-.062em !important;
    max-width:100% !important;
  }
  .eyebrow{
    margin-bottom:2px !important;
  }
  .section,
  .calendar-section,
  .contact-section,
  .territory-content,
  .sapori-clean-grid{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .section-head,
  .intro{
    text-align:center !important;
  }
  .home-events-slideshow{
    width:100% !important;
    margin-top:28px !important;
  }
  .home-events-slideshow .event-card{
    border-radius:24px !important;
  }
  .home-events-slideshow .event-card > div{
    align-items:flex-start !important;
    text-align:left !important;
  }
  .home-events-slideshow .event-card .event-card-image,
  .calendar-thumb{
    height:180px !important;
    object-fit:cover !important;
  }
  .calendar-item.event-list-item{
    grid-template-columns:78px minmax(0,1fr) !important;
    align-items:stretch !important;
    gap:12px !important;
  }
  .calendar-item.event-list-item .event-date-box{
    width:78px !important;
    min-height:118px !important;
  }
  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-main-title{
    font-size:clamp(27px,9vw,38px) !important;
  }
}

@media (max-width:430px){
  .brand-logo,
  .header.menu-open .brand-logo{
    width:118px !important;
    max-height:38px !important;
  }
  .menu-toggle{
    width:42px !important;
    height:42px !important;
    padding:7px !important;
  }
  .hero-content h1{
    font-size:clamp(38px,13vw,56px) !important;
  }
}

/* Footer: stessa struttura del desktop anche su mobile, solo scalata */
@media (max-width:620px){
  .footer.footer-pro{
    margin-top:54px !important;
    padding:0 !important;
    text-align:left !important;
  }
  .footer-shell{
    width:calc(100% - 24px) !important;
    padding:38px 0 22px !important;
  }
  .footer-topline{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:12px !important;
    text-align:left !important;
    padding-bottom:24px !important;
  }
  .footer-brand{
    justify-items:start !important;
    gap:7px !important;
    min-width:0 !important;
  }
  .footer-brand img{
    width:min(170px, 48vw) !important;
  }
  .footer-brand span{
    font-size:9px !important;
    letter-spacing:.12em !important;
    white-space:nowrap !important;
  }
  .footer-cta{
    width:auto !important;
    min-height:38px !important;
    padding:10px 12px !important;
    font-size:9px !important;
    letter-spacing:.07em !important;
    white-space:nowrap !important;
  }
  .footer-grid{
    display:grid !important;
    grid-template-columns:1.18fr .72fr .96fr 1.06fr !important;
    gap:12px !important;
    align-items:start !important;
    text-align:left !important;
    padding:24px 0 24px !important;
  }
  .footer-about{
    grid-column:auto !important;
  }
  .footer-about p{
    max-width:none !important;
    text-align:left !important;
    font-size:clamp(15px,4.2vw,18px) !important;
    line-height:1.12 !important;
    letter-spacing:-.035em !important;
  }
  .footer-col,
  .footer-partners{
    align-items:flex-start !important;
    gap:7px !important;
    min-width:0 !important;
  }
  .footer-col h3,
  .footer-partners h3{
    font-size:8px !important;
    letter-spacing:.11em !important;
    margin-bottom:4px !important;
  }
  .footer-col a{
    font-size:10px !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
  }
  .footer-logo-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    max-width:none !important;
    margin:0 !important;
  }
  .footer-logo-row img{
    height:52px !important;
    padding:6px !important;
    border-radius:12px !important;
  }
  .footer-bottom{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    text-align:left !important;
    padding-top:18px !important;
  }
  .footer-bottom p{
    font-size:9.5px !important;
    line-height:1.25 !important;
  }
}

@media (max-width:360px){
  .footer-grid{
    gap:8px !important;
  }
  .footer-col a,
  .footer-bottom p{
    font-size:8.8px !important;
  }
  .footer-about p{
    font-size:14px !important;
  }
  .footer-brand img{
    width:142px !important;
  }
  .footer-cta{
    padding:9px 9px !important;
  }
}

/* === FINAL FIX: introduzioni, news, foto pagine e preview social === */
.internal-hero.news-hero{
  width:var(--container) !important;
  margin:32px auto 0 !important;
  min-height:clamp(360px,52vh,560px) !important;
  padding:clamp(34px,6vw,78px) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-end !important;
  gap:14px !important;
  border-radius:34px !important;
  border:1px solid var(--line) !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:var(--shadow) !important;
}
.internal-hero.news-hero::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.90) 74%,rgba(255,255,255,.96)) !important;
}
.internal-hero.news-hero > *{
  position:relative !important;
  z-index:1 !important;
}
.internal-hero.news-hero .eyebrow{
  margin:0 !important;
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(14px) !important;
}
.internal-hero.news-hero h1{
  max-width:980px !important;
  margin:0 !important;
  font-size:clamp(44px,8.2vw,96px) !important;
  line-height:.95 !important;
  letter-spacing:-.04em !important;
  text-align:left !important;
  color:var(--black) !important;
}
.intro-block{
  width:var(--container) !important;
  margin:0 auto !important;
  padding:clamp(36px,5.4vw,72px) 0 clamp(24px,3.8vw,48px) !important;
}
.intro-block .section-head{
  width:100% !important;
  max-width:920px !important;
  margin:0 !important;
  display:block !important;
  text-align:left !important;
}
.intro-block .section-head p,
.intro-block > p{
  max-width:880px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--muted) !important;
  font-size:clamp(18px,2.05vw,28px) !important;
  line-height:1.42 !important;
  letter-spacing:-.025em !important;
  text-align:left !important;
}
.intro-block .section-head p::before,
.intro-block > p::before,
.internal-hero + section p:first-of-type::before{
  display:none !important;
  content:none !important;
}
.page-photo-grid{
  width:var(--container);
  margin:0 auto;
  padding:0 0 clamp(34px,4.5vw,62px);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:20px;
  align-items:stretch;
}
.page-photo-card{
  position:relative;
  min-height:clamp(280px,34vw,430px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:32px;
  background:var(--gray-100);
  box-shadow:var(--shadow);
}
.page-photo-card-large{min-height:clamp(330px,42vw,560px)}
.page-photo-card img{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
  transition:transform .45s ease;
}
.page-photo-card:hover img{transform:scale(1.035)}
.page-photo-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.46));
  pointer-events:none;
}
.page-photo-card figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:1;
  width:max-content;
  max-width:calc(100% - 36px);
  margin:0;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  color:var(--black);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.news-editorial{padding-top:clamp(42px,5vw,70px) !important;}
.news-editorial-head{
  align-items:flex-end !important;
  gap:24px !important;
}
.news-feature-card{
  max-width:980px !important;
  margin:34px auto 0 !important;
  display:grid !important;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1fr) !important;
  border-radius:28px !important;
  overflow:hidden !important;
}
.news-feature-image,
.news-feature-image img{
  height:100% !important;
  min-height:300px !important;
}
.news-feature-content{
  padding:clamp(24px,3.4vw,42px) !important;
}
.news-feature-content h2{
  font-size:clamp(30px,4.4vw,54px) !important;
  line-height:1.02 !important;
  margin-bottom:12px !important;
}
.news-feature-content p{
  font-size:clamp(15px,1.3vw,18px) !important;
  line-height:1.55 !important;
}
.news-list-grid{
  margin-top:30px !important;
}
@media (max-width:900px){
  .page-photo-grid{
    grid-template-columns:1fr 1fr;
  }
  .page-photo-card,
  .page-photo-card-large{
    min-height:320px;
  }
  .news-feature-card{
    grid-template-columns:1fr !important;
  }
  .news-feature-image,
  .news-feature-image img{
    min-height:250px !important;
    max-height:360px !important;
  }
}
@media (max-width:620px){
  .internal-hero.news-hero{
    width:calc(100% - 24px) !important;
    margin-top:18px !important;
    min-height:330px !important;
    padding:28px 22px !important;
    border-radius:26px !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    text-align:left !important;
  }
  .internal-hero.news-hero h1{
    font-size:clamp(40px,14vw,64px) !important;
    line-height:.95 !important;
    text-align:left !important;
  }
  .internal-hero.news-hero .eyebrow{
    align-self:flex-start !important;
    font-size:10px !important;
  }
  .intro-block{
    width:calc(100% - 24px) !important;
    padding:34px 0 26px !important;
  }
  .intro-block .section-head,
  .intro-block .section-head p,
  .intro-block > p{
    max-width:100% !important;
    text-align:left !important;
  }
  .intro-block .section-head p,
  .intro-block > p{
    font-size:clamp(18px,5.6vw,24px) !important;
    line-height:1.32 !important;
  }
  .page-photo-grid{
    width:calc(100% - 24px);
    grid-template-columns:1fr;
    gap:14px;
    padding-bottom:34px;
  }
  .page-photo-card,
  .page-photo-card-large{
    min-height:245px;
    border-radius:24px;
  }
  .page-photo-card figcaption{
    left:14px;
    bottom:14px;
    font-size:10px;
  }
  .news-editorial{padding-top:34px !important;}
  .news-editorial-head{
    align-items:flex-start !important;
    text-align:left !important;
  }
  .news-feature-card{
    width:100% !important;
    margin-top:24px !important;
    border-radius:24px !important;
  }
  .news-feature-image,
  .news-feature-image img{
    min-height:210px !important;
    max-height:260px !important;
  }
  .news-feature-content{
    padding:22px !important;
    text-align:left !important;
  }
  .news-feature-content h2{
    font-size:clamp(28px,9vw,40px) !important;
  }
}

/* Sezioni homepage + section-head uniforme */
.section-head,
.intro-block .section-head,
.news-editorial-head,
.sponsor-group-head{
  width:min(920px, 100%) !important;
  max-width:920px !important;
  margin:0 auto 34px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  text-align:center !important;
}

.section-head > div,
.news-editorial-head > div{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:12px !important;
  text-align:center !important;
}

.section-head h2,
.sponsor-group-head h2,
.news-editorial-head h2{
  margin:0 !important;
  font-family:'Anton', Impact, 'Arial Black', sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(42px, 6.6vw, 96px) !important;
  line-height:.94 !important;
  letter-spacing:-.018em !important;
  text-transform:uppercase !important;
  color:var(--black) !important;
}

.section-head p,
.intro-block .section-head p,
.news-editorial-head p{
  max-width:760px !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--muted) !important;
  font-family:'Inter', system-ui, sans-serif !important;
  font-size:clamp(16px, 1.18vw, 19px) !important;
  font-weight:700 !important;
  line-height:1.62 !important;
  text-align:center !important;
  text-align-last:center !important;
  text-indent:0 !important;
}

.home-value-section{
  padding-top:76px !important;
  padding-bottom:38px !important;
  text-align:center;
}

.home-value-cards{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  align-items:stretch;
}

.home-value-card{
  min-height:338px !important;
  border-radius:28px !important;
  border:0 !important;
  background:var(--black) !important;
  box-shadow:0 28px 78px rgba(21,17,12,.16) !important;
}

.home-value-card::after{
  background:linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.24) 38%, rgba(0,0,0,.82) 100%) !important;
}

.home-value-card img{
  filter:saturate(.92) contrast(1.02);
}

.home-value-card div{
  padding:28px !important;
}

.home-value-card h3{
  margin:0 0 12px !important;
  font-family:'Anton', Impact, 'Arial Black', sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(44px, 4.9vw, 72px) !important;
  line-height:.92 !important;
  letter-spacing:-.018em !important;
  text-transform:uppercase !important;
  color:var(--white) !important;
  text-shadow:0 4px 22px rgba(0,0,0,.42) !important;
}

.home-value-card p{
  margin:0 !important;
  color:var(--white) !important;
  font-size:clamp(16px, 1.35vw, 20px) !important;
  font-weight:800 !important;
  line-height:1.42 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.44) !important;
}

.valley-360-section{
  width:var(--container);
  margin:54px auto 20px;
  padding:clamp(28px, 4.4vw, 54px);
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(320px, 1fr);
  align-items:center;
  gap:clamp(28px, 5vw, 70px);
  border:1px solid var(--line);
  border-radius:34px;
  background:rgba(255,255,255,.72);
  box-shadow:0 24px 74px rgba(21,17,12,.09);
  overflow:hidden;
}

.valley-360-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:22px;
  min-width:0;
}

.valley-360-eyebrow{
  margin:0 !important;
  color:var(--gray-600) !important;
  border-color:var(--gray-600) !important;
  letter-spacing:.12em !important;
}

.valley-360-copy h2{
  margin:0 !important;
  font-family:'Anton', Impact, 'Arial Black', sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(54px, 7.4vw, 112px) !important;
  line-height:.9 !important;
  letter-spacing:-.025em !important;
  text-transform:uppercase !important;
  color:var(--black) !important;
}

.valley-360-copy p:not(.eyebrow){
  max-width:560px;
  margin:22px 0 0 !important;
  color:var(--muted) !important;
  font-size:clamp(17px, 1.45vw, 22px) !important;
  font-weight:750 !important;
  line-height:1.55 !important;
}

.valley-360-media{
  margin:0;
  border-radius:26px;
  overflow:hidden;
  background:var(--gray-100);
  box-shadow:inset 0 0 0 1px var(--line);
}

.valley-360-media img{
  width:100%;
  height:clamp(310px, 32vw, 420px);
  object-fit:cover;
  object-position:center;
}

.home-program-section{
  padding-top:68px !important;
}

.home-program-section .section-head{
  margin-bottom:26px !important;
}

@media (max-width:900px){
  .home-value-cards{
    grid-template-columns:1fr;
    max-width:620px;
  }

  .home-value-card{
    min-height:330px !important;
  }

  .valley-360-section{
    grid-template-columns:1fr;
    gap:24px;
  }

  .valley-360-copy{
    align-items:center;
    text-align:center;
  }

  .valley-360-copy p:not(.eyebrow){
    margin-top:8px !important;
    text-align:center;
  }
}

@media (max-width:620px){
  .section-head,
  .intro-block .section-head,
  .news-editorial-head,
  .sponsor-group-head{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 24px !important;
    align-items:center !important;
    text-align:center !important;
  }

  .section-head > div,
  .news-editorial-head > div{
    align-items:center !important;
    text-align:center !important;
  }

  .section-head h2,
  .sponsor-group-head h2,
  .news-editorial-head h2{
    font-size:clamp(42px, 15vw, 68px) !important;
    text-align:center !important;
  }

  .section-head p,
  .intro-block .section-head p,
  .news-editorial-head p{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.55 !important;
    text-align:center !important;
    text-align-last:center !important;
    text-indent:0 !important;
  }

  .home-value-section{
    width:calc(100% - 24px) !important;
    padding-top:44px !important;
    padding-bottom:24px !important;
  }

  .home-value-cards{
    gap:14px;
  }

  .home-value-card{
    min-height:300px !important;
    border-radius:26px !important;
  }

  .home-value-card div{
    padding:22px !important;
    text-align:left !important;
    align-items:flex-start !important;
  }

  .home-value-card h3{
    font-size:clamp(42px, 14vw, 60px) !important;
  }

  .home-value-card p{
    font-size:17px !important;
  }

  .valley-360-section{
    width:calc(100% - 24px);
    margin:30px auto 8px;
    padding:22px;
    border-radius:28px;
  }

  .valley-360-copy{
    gap:16px;
  }

  .valley-360-copy h2{
    font-size:clamp(48px, 16vw, 72px) !important;
  }

  .valley-360-copy p:not(.eyebrow){
    font-size:17px !important;
    line-height:1.52 !important;
  }

  .valley-360-media{
    border-radius:22px;
  }

  .valley-360-media img{
    height:250px;
  }

  .home-program-section{
    width:calc(100% - 24px) !important;
    padding-top:50px !important;
  }
}


/* === FINAL: schede eventi stile agenda larga (Jazz + altri appuntamenti) === */
.calendar-section{
  margin-bottom:86px !important;
}

.calendar-list{
  gap:22px !important;
}

.calendar-item.event-list-item,
.next-events-section .calendar-item.event-list-item{
  display:grid !important;
  grid-template-columns:180px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:24px !important;
  min-height:150px !important;
  padding:18px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(21,17,12,.12) !important;
  box-shadow:0 20px 58px rgba(21,17,12,.08) !important;
  color:var(--black) !important;
  text-align:left !important;
}

.calendar-item.event-list-item:hover,
.next-events-section .calendar-item.event-list-item:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(21,17,12,.24) !important;
  box-shadow:0 28px 76px rgba(21,17,12,.12) !important;
}

.calendar-thumb.event-agenda-thumb,
.calendar-item.event-list-item .calendar-thumb{
  display:block !important;
  width:180px !important;
  height:126px !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  border:1px solid rgba(21,17,12,.10) !important;
  background:var(--gray-100) !important;
  box-shadow:none !important;
}

.calendar-info.event-agenda-info,
.calendar-item.event-list-item .calendar-info{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:5px !important;
  text-align:left !important;
}

.calendar-info .event-kicker,
.calendar-info.event-agenda-info > span:first-child{
  margin:0 !important;
  color:var(--gray-600) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

.calendar-info .event-date-title,
.calendar-info h2.event-date-title,
.calendar-info h3.event-date-title{
  margin:8px 0 4px !important;
  color:var(--black) !important;
  font-family:var(--title-font), 'Montserrat', system-ui, sans-serif !important;
  font-size:clamp(42px,4.4vw,64px) !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
  text-transform:none !important;
  white-space:normal !important;
}

.calendar-info .event-time-pill,
.calendar-info .event-time-small{
  width:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--gray-600) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.calendar-info .event-place-line{
  max-width:760px !important;
  margin:6px 0 0 !important;
  color:var(--gray-600) !important;
  font-size:clamp(16px,1.25vw,20px) !important;
  font-weight:800 !important;
  line-height:1.35 !important;
  text-align:left !important;
}

.calendar-info .event-place-line strong{
  color:var(--gray-600) !important;
  font-weight:900 !important;
}

.calendar-item.event-list-item .button.outline,
.next-events-section .calendar-item.event-list-item .button.outline{
  justify-self:end !important;
  grid-column:auto !important;
  width:auto !important;
  min-width:142px !important;
  min-height:48px !important;
  padding:12px 18px !important;
  border:2px solid var(--black) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--black) !important;
  box-shadow:none !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  white-space:nowrap !important;
}

.calendar-item.event-list-item .button.outline:hover,
.next-events-section .calendar-item.event-list-item .button.outline:hover{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
  transform:none !important;
}

@media (max-width:1080px){
  .calendar-item.event-list-item,
  .next-events-section .calendar-item.event-list-item{
    grid-template-columns:160px minmax(0,1fr) !important;
    gap:18px !important;
  }

  .calendar-thumb.event-agenda-thumb,
  .calendar-item.event-list-item .calendar-thumb{
    width:160px !important;
    height:118px !important;
  }

  .calendar-item.event-list-item .button.outline,
  .next-events-section .calendar-item.event-list-item .button.outline{
    grid-column:2 !important;
    justify-self:start !important;
    margin-top:4px !important;
  }
}

@media (max-width:720px){
  .calendar-section{
    width:calc(100% - 24px) !important;
    padding-top:30px !important;
    margin-bottom:58px !important;
  }

  .calendar-list{
    gap:16px !important;
  }

  .calendar-item.event-list-item,
  .next-events-section .calendar-item.event-list-item{
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:14px !important;
    min-height:0 !important;
    padding:14px !important;
    border-radius:24px !important;
    text-align:left !important;
  }

  .calendar-thumb.event-agenda-thumb,
  .calendar-item.event-list-item .calendar-thumb{
    display:block !important;
    width:100% !important;
    height:190px !important;
    min-height:0 !important;
    border-radius:20px !important;
  }

  .calendar-info.event-agenda-info,
  .calendar-item.event-list-item .calendar-info,
  .calendar-info .event-place-line{
    align-items:flex-start !important;
    text-align:left !important;
  }

  .calendar-info .event-date-title,
  .calendar-info h2.event-date-title,
  .calendar-info h3.event-date-title{
    font-size:clamp(36px,12vw,54px) !important;
    line-height:.92 !important;
  }

  .calendar-item.event-list-item .button.outline,
  .next-events-section .calendar-item.event-list-item .button.outline{
    grid-column:auto !important;
    justify-self:stretch !important;
    width:100% !important;
    margin-top:4px !important;
  }
}

/* News: intro paragraph only, no archivio title */
.news-editorial-list{
  padding-top:0 !important;
}
.news-editorial-list .news-feature-card{
  margin-top:0 !important;
}

/* Sapori: cards first, photos below */
.page-photo-grid-sapori{
  padding-top:clamp(8px, 1.5vw, 18px);
}


/* === FINAL UPDATE: palette territorio, news uniforme, footer senza CTA === */
:root{
  --black:#111111;
  --white:#ffffff;
  --cream:#f4f1ea;
  --cream-2:#e8e2d7;
  --accent:#000000;
  --accent-deep:#111111;
  --accent-soft:#eeeeee;
  --amber:#777777;
  --orange:#000000;
  --orange-dark:#111111;
  --red-orange:#111111;
  --line:rgba(0,0,0,.15);
  --muted:rgba(0,0,0,.66);
  --shadow:0 22px 64px rgba(0,0,0,.10);
}
html{accent-color:var(--accent) !important;}
body{
  color:var(--black) !important;
  background:
    radial-gradient(circle at top left, rgba(0,0,0,.12), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(95,118,91,.10), transparent 30rem),
    var(--cream) !important;
}
body::before{
  background:
    linear-gradient(120deg, transparent 0 72%, rgba(0,0,0,.035) 72% 73%, transparent 73%),
    linear-gradient(30deg, transparent 0 82%, rgba(0,0,0,.035) 82% 83%, transparent 83%) !important;
}
::selection{background:var(--accent) !important;color:var(--white) !important;}
.header{
  background:rgba(244,241,234,.92) !important;
  border-color:rgba(0,0,0,.13) !important;
  box-shadow:0 18px 52px rgba(0,0,0,.10) !important;
}
.internal-hero.news-hero,
.internal-hero,
.sapori-clean-card,
.territory-content article,
.news-uniform-card,
.news-feature-card,
.news-list-card,
.article-top-copy,
.article-top-image,
.article-aside,
.article-related-card,
.contact-card,
.event-card,
.calendar-item.event-list-item{
  background:rgba(255,255,255,.88) !important;
  border-color:var(--line) !important;
  box-shadow:var(--shadow) !important;
}
.internal-hero.news-hero::before,
.internal-hero::before{background:rgba(244,241,234,.72) !important;}
.eyebrow,
.sapori-eyebrow,
.article-kicker{
  background:rgba(0,0,0,.07) !important;
  color:var(--accent-deep) !important;
  border-color:rgba(0,0,0,.45) !important;
}
.article-date,
.home-events-counter,
.home-events-slideshow .event-card span,
.calendar-info .event-kicker,
.calendar-info.event-agenda-info > span:first-child{
  color:rgba(0,0,0,.58) !important;
}
.button,
.btn,
button.button,
.button.light,
.button.dark,
.button-sun{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
  box-shadow:none !important;
}
.button:hover,
.btn:hover,
button.button:hover,
.button.light:hover,
.button.dark:hover,
.button-sun:hover{
  background:var(--accent) !important;
  color:var(--white) !important;
  border-color:var(--accent) !important;
}
.button.outline,
.calendar-item.event-list-item .button.outline,
.next-events-section .calendar-item.event-list-item .button.outline{
  background:transparent !important;
  color:var(--black) !important;
  border-color:var(--black) !important;
}
.button.outline:hover,
.calendar-item.event-list-item .button.outline:hover,
.next-events-section .calendar-item.event-list-item .button.outline:hover{
  background:var(--accent) !important;
  color:var(--white) !important;
  border-color:var(--accent) !important;
}
.footer.footer-pro{
  background:linear-gradient(135deg,#000000,#090909 58%,#111111) !important;
}
.footer-topline{
  justify-content:flex-start !important;
}
.footer-cta{display:none !important;}
.footer-brand span{color:rgba(255,255,255,.72) !important;}
.footer-grid{border-top-color:rgba(255,255,255,.12) !important;border-bottom-color:rgba(255,255,255,.12) !important;}
.footer-logo-row img{background:rgba(255,255,255,.94) !important;border-color:rgba(255,255,255,.18) !important;}

/* Territorio: card prima delle foto */
.territory-content{
  width:var(--container) !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  padding:clamp(34px,5vw,62px) 0 clamp(22px,3vw,36px) !important;
}
.territory-content article{
  min-height:260px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  padding:28px !important;
  border-radius:28px !important;
}
.territory-content h2{
  margin-bottom:12px !important;
  font-size:clamp(34px,4vw,54px) !important;
}
.page-photo-grid-territorio{
  padding-top:clamp(8px,1.5vw,18px) !important;
}

/* News: layout unico e uniforme */
.news-uniform-section{
  padding-top:0 !important;
}
.news-uniform-grid{
  width:var(--container);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.news-uniform-card{
  min-height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:30px;
  background:var(--white);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.news-uniform-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,0,0,.32) !important;
  box-shadow:0 30px 76px rgba(0,0,0,.13) !important;
}
.news-uniform-image{
  display:block;
  height:245px;
  background:var(--cream-2);
  overflow:hidden;
}
.news-uniform-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.news-uniform-card:hover .news-uniform-image img{transform:scale(1.035);}
.news-uniform-content{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:24px;
}
.news-uniform-content h2{
  margin:14px 0 10px;
  color:var(--black);
  font-family:var(--title-font) !important;
  font-size:clamp(28px,2.55vw,42px);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.055em;
}
.news-uniform-content p:not(.article-date){
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.55;
}
.news-readmore{
  margin-top:auto;
  color:var(--black);
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:underline;
  text-decoration-color:var(--accent);
  text-underline-offset:5px;
}
.news-readmore:hover{color:var(--accent);}

@media (max-width:1040px){
  .news-uniform-grid,
  .territory-content{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:720px){
  .news-uniform-grid,
  .territory-content{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .news-uniform-image{height:220px;}
  .news-uniform-content,
  .territory-content article{
    align-items:flex-start !important;
    text-align:left !important;
  }
  .footer-topline{
    justify-content:flex-start !important;
  }
}

/* === FINAL FIX: footer nero + logo Jazztellina bianco === */
.footer.footer-pro{
  background:#000000 !important;
  color:#ffffff !important;
}

.footer.footer-pro::after{
  background:none !important;
  opacity:0 !important;
}

.footer-brand img{
  filter:none !important;
  background:transparent !important;
}

.footer-brand span,
.footer-about p,
.footer-col a,
.footer-bottom p,
.footer-bottom a{
  color:rgba(255,255,255,.86) !important;
}

.footer-col h3,
.footer-partners h3{
  color:rgba(255,255,255,.52) !important;
}

.footer-grid,
.footer-bottom{
  border-color:rgba(255,255,255,.14) !important;
}

.footer-logo-row img{
  background:#ffffff !important;
  border-color:rgba(255,255,255,.28) !important;
}

/* === FINAL FIX: footer loghi senza sfondo + testo footer aggiornato === */
.footer-brand{
  gap:0 !important;
}

.footer-brand span{
  display:none !important;
}

.footer-about p{
  font-family:var(--title-font) !important;
  font-size:clamp(34px,4.8vw,74px) !important;
  font-weight:900 !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
  text-transform:none !important;
  color:#ffffff !important;
}

.footer-logo-row img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* === FINAL FIX: footer text piccolo + logo Jazztellina sistemato === */
.footer-about p{
  font-family:'Inter',system-ui,sans-serif !important;
  max-width:360px !important;
  margin:0 !important;
  font-size:clamp(15px,1.4vw,20px) !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  color:rgba(255,255,255,.82) !important;
}

.footer-brand img{
  width:min(300px, 58vw) !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
}

.footer-logo-row img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

@media (max-width:720px){
  .footer-about p{
    max-width:240px !important;
    font-size:13px !important;
    line-height:1.25 !important;
  }

  .footer-brand img{
    width:min(190px, 52vw) !important;
  }
}

/* === FINAL FIX: pagine evento singole lineari === */
.event-page-linear{
  width:100%;
  padding-top:clamp(22px,3vw,44px);
}

.event-linear-hero,
.event-linear-grid,
.event-linear-description,
.event-linear-food,
.event-linear-next{
  width:var(--container);
  margin-left:auto;
  margin-right:auto;
}

.event-back-link{
  display:inline-flex;
  align-items:center;
  margin:0 0 18px;
  color:var(--black);
  font-size:13px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
}

.event-back-link:hover{
  text-decoration:underline;
  text-underline-offset:5px;
}

.event-linear-card{
  display:grid;
  grid-template-columns:minmax(260px,390px) minmax(0,1fr);
  gap:clamp(22px,4vw,54px);
  align-items:center;
  padding:clamp(18px,3vw,34px);
  border:1px solid var(--line);
  border-radius:34px;
  background:rgba(255,255,255,.92);
  box-shadow:0 30px 90px rgba(0,0,0,.10);
}

.event-linear-poster{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#f2f0ea;
  border:1px solid var(--line);
}

.event-linear-poster img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  height:auto;
  object-fit:cover;
}

.event-linear-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.event-linear-copy .eyebrow,
.event-linear-panel .eyebrow{
  margin-bottom:14px;
}

.event-linear-copy h1{
  margin:0 0 16px;
  max-width:900px;
  color:var(--black);
  font-family:var(--title-font);
  font-size:clamp(40px,5.8vw,92px);
  font-weight:900;
  line-height:.82;
  letter-spacing:-.05em;
  text-transform:uppercase;
}

.event-linear-subtitle{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:clamp(18px,2vw,28px);
  font-weight:850;
  line-height:1.18;
}

.event-linear-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.event-linear-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:26px;
}

.event-linear-panel{
  border:1px solid var(--line);
  border-radius:30px;
  background:rgba(255,255,255,.92);
  box-shadow:0 24px 70px rgba(0,0,0,.09);
  padding:clamp(24px,3.6vw,42px);
}

.event-linear-panel h2,
.event-linear-next .section-head h2{
  margin:0 0 22px;
  color:var(--black);
  font-family:var(--title-font);
  font-size:clamp(36px,5.4vw,76px);
  font-weight:900;
  line-height:.86;
  letter-spacing:-.07em;
  text-transform:uppercase;
}

.event-linear-facts{
  display:grid;
  gap:0;
  margin:0;
}

.event-linear-facts div{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:20px;
  align-items:baseline;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}

.event-linear-facts div:last-child{
  border-bottom:0;
}

.event-linear-facts dt{
  color:rgba(0,0,0,.52);
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.event-linear-facts dd{
  margin:0;
  color:var(--black);
  font-size:clamp(17px,1.7vw,24px);
  font-weight:900;
  line-height:1.16;
}

.event-linear-steps{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:event-step;
  display:grid;
  gap:14px;
}

.event-linear-steps li{
  counter-increment:event-step;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:14px;
  align-items:center;
  color:var(--black);
  font-size:clamp(17px,1.6vw,22px);
  font-weight:850;
  line-height:1.22;
}

.event-linear-steps li::before{
  content:counter(event-step);
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:var(--black);
  color:var(--white);
  font-size:13px;
  font-weight:950;
}

.event-linear-description,
.event-linear-food{
  margin-top:26px;
}

.event-linear-description p,
.event-linear-food p{
  max-width:950px;
  margin:0 0 14px;
  color:var(--muted);
  font-size:clamp(18px,1.7vw,24px);
  font-weight:750;
  line-height:1.46;
}

.event-linear-description .event-lead{
  color:var(--black);
  font-weight:900;
}

.event-linear-next{
  padding:clamp(34px,5vw,68px) 0 0;
}

.event-linear-next .section-head{
  width:100% !important;
  margin:0 0 22px !important;
  padding:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:18px !important;
}

.event-mini-list{
  display:grid;
  gap:12px;
}

.event-mini-row{
  display:grid;
  grid-template-columns:210px minmax(160px,1fr) minmax(190px,1fr);
  gap:20px;
  align-items:center;
  min-height:74px;
  padding:16px 20px;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.88);
  color:var(--black);
  text-decoration:none;
  box-shadow:0 18px 48px rgba(0,0,0,.07);
}

.event-mini-row:hover{
  transform:translateY(-2px);
  border-color:rgba(0,0,0,.30);
  box-shadow:0 24px 60px rgba(0,0,0,.11);
}

.event-mini-date,
.event-mini-title,
.event-mini-place{
  line-height:1.15;
}

.event-mini-date{
  color:rgba(0,0,0,.62);
  font-size:13px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.event-mini-title{
  font-size:clamp(18px,1.8vw,26px);
  font-weight:950;
}

.event-mini-place{
  color:var(--muted);
  font-size:15px;
  font-weight:800;
}

@media (max-width:960px){
  .event-linear-card,
  .event-linear-grid{
    grid-template-columns:1fr;
  }

  .event-linear-copy h1{
    font-size:clamp(52px,15vw,96px);
  }

  .event-mini-row{
    grid-template-columns:1fr;
    gap:7px;
    align-items:start;
  }
}

@media (max-width:620px){
  .event-page-linear{
    padding-top:16px;
  }

  .event-linear-card,
  .event-linear-panel{
    border-radius:24px;
  }

  .event-linear-card{
    padding:14px;
    gap:20px;
  }

  .event-linear-poster{
    border-radius:18px;
  }

  .event-linear-copy{
    padding:4px 4px 8px;
  }

  .event-linear-copy h1{
    font-size:clamp(46px,17vw,78px);
  }

  .event-linear-subtitle{
    font-size:17px;
  }

  .event-linear-actions{
    width:100%;
    flex-direction:column;
  }

  .event-linear-actions .button{
    width:100%;
  }

  .event-linear-facts div{
    grid-template-columns:1fr;
    gap:5px;
    padding:13px 0;
  }

  .event-linear-panel h2,
  .event-linear-next .section-head h2{
    font-size:clamp(38px,13vw,62px);
  }

  .event-linear-next .section-head{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
}


/* === FINAL FIX: palette senza verde + footer copy === */
:root{
  --black:#111111;
  --white:#ffffff;
  --cream:#f4f1ea;
  --cream-2:#e8e2d7;
  --accent:#000000;
  --accent-deep:#111111;
  --accent-soft:#eeeeee;
  --amber:#777777;
  --orange:#000000;
  --orange-dark:#111111;
  --red-orange:#111111;
  --line:rgba(0,0,0,.15);
  --muted:rgba(0,0,0,.66);
  --shadow:0 22px 64px rgba(0,0,0,.10);
}

.footer-about p{
  max-width:430px !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:clamp(13px,1.08vw,16px) !important;
  font-weight:700 !important;
  line-height:1.38 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  color:rgba(255,255,255,.82) !important;
}

/* === FINAL FIX: mobile header, popup, footer e proporzioni === */
@media (max-width:760px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    font-size:15px !important;
  }

  p,
  li,
  input,
  textarea{
    font-size:14.5px !important;
    line-height:1.55 !important;
  }

  .button,
  .btn,
  button.button{
    min-height:40px !important;
    padding:10px 14px !important;
    font-size:10.5px !important;
    letter-spacing:.075em !important;
  }

  .header{
    position:sticky !important;
    top:8px !important;
    width:calc(100% - 18px) !important;
    min-height:54px !important;
    margin:8px auto 0 !important;
    padding:7px 8px 7px 12px !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.96) !important;
    backdrop-filter:blur(18px) saturate(130%) !important;
    box-shadow:0 10px 28px rgba(0,0,0,.10) !important;
  }

  .brand{
    min-width:0 !important;
    max-width:calc(100vw - 86px) !important;
    overflow:hidden !important;
  }

  .brand-logo,
  .header.menu-open .brand-logo{
    width:min(138px, 44vw) !important;
    max-width:138px !important;
    max-height:38px !important;
    object-fit:contain !important;
  }

  .menu-toggle{
    display:inline-grid !important;
    place-content:center !important;
    width:40px !important;
    height:40px !important;
    padding:6px !important;
    border-radius:999px !important;
    color:var(--black) !important;
    background:rgba(0,0,0,.04) !important;
  }

  .menu-toggle span{
    width:22px !important;
    height:2px !important;
    margin:4px 0 !important;
  }

  .header.menu-open{
    position:fixed !important;
    top:8px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:calc(100% - 18px) !important;
    margin:0 !important;
    z-index:9999 !important;
    border-radius:22px !important;
  }

  .header.menu-open::before{
    inset:-8px -100vw -100vh !important;
    background:#ffffff !important;
  }

  .header.menu-open nav{
    position:fixed !important;
    inset:0 !important;
    z-index:-1 !important;
    width:100vw !important;
    height:100dvh !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    padding:92px 18px 32px !important;
    background:#ffffff !important;
    overflow:auto !important;
  }

  .header.menu-open nav a{
    width:min(360px, calc(100vw - 42px)) !important;
    margin:0 auto !important;
    padding:12px 14px !important;
    border:1px solid rgba(0,0,0,.10) !important;
    border-radius:16px !important;
    background:rgba(0,0,0,.025) !important;
    color:var(--black) !important;
    font-family:'Inter',system-ui,sans-serif !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1.05 !important;
    letter-spacing:.035em !important;
    text-align:center !important;
    text-transform:uppercase !important;
  }

  .header.menu-open nav a[aria-current='page']{
    background:var(--black) !important;
    color:var(--white) !important;
    border-color:var(--black) !important;
  }

  .header.menu-open nav a::after{
    display:none !important;
  }

  .header.menu-open .menu-toggle span:nth-child(1){
    transform:translateY(6px) rotate(45deg) !important;
  }

  .header.menu-open .menu-toggle span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg) !important;
  }

  .hero{
    min-height:560px !important;
    margin-top:-62px !important;
  }

  .hero-content{
    padding:124px 16px 72px !important;
    gap:16px !important;
    text-align:center !important;
    justify-items:center !important;
  }

  h1,
  .hero-content h1,
  .internal-hero h1,
  .event-linear-copy h1{
    font-size:clamp(40px,12.4vw,62px) !important;
    line-height:.93 !important;
    letter-spacing:-.058em !important;
    text-wrap:balance !important;
  }

  .section h2,
  .territory h2,
  .contact-info h2,
  .sapori-clean-feature h2,
  .section-head h2,
  .calendar-info h2,
  .calendar-info h3,
  .sapori-clean-card h2,
  .territory-content h2,
  .event-linear-panel h2,
  .event-linear-next .section-head h2{
    font-size:clamp(30px,9.5vw,46px) !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
  }

  .eyebrow,
  .sapori-eyebrow,
  .article-kicker{
    padding:6px 9px !important;
    font-size:9.5px !important;
    letter-spacing:.12em !important;
  }

  .internal-hero.news-hero,
  .internal-hero{
    width:calc(100% - 18px) !important;
    min-height:280px !important;
    margin:22px auto 0 !important;
    padding:28px 18px !important;
    border-radius:24px !important;
  }

  .section,
  .calendar-section,
  .contact-section,
  .territory-content,
  .sapori-clean-grid,
  .sapori-clean-feature{
    width:calc(100% - 18px) !important;
    padding:42px 0 !important;
  }

  .section-head{
    width:100% !important;
    align-items:flex-start !important;
    text-align:left !important;
    gap:10px !important;
  }

  .section-head p,
  .intro > p,
  .territory-text p,
  .sapori-clean-feature p,
  .territory-content p,
  .contact-info p{
    max-width:100% !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .cards,
  .sapori-clean-grid,
  .territory-content,
  .news-uniform-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .card{
    min-height:300px !important;
    border-radius:24px !important;
  }

  .card div{
    padding:20px !important;
  }

  .card h3{
    font-size:clamp(34px,11vw,52px) !important;
  }

  .event-agenda-card,
  .calendar-item.event-list-item{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
    padding:14px !important;
    border-radius:22px !important;
  }

  .event-agenda-thumb,
  .calendar-thumb{
    width:96px !important;
    height:78px !important;
    min-width:96px !important;
    border-radius:16px !important;
    object-fit:cover !important;
  }

  .event-agenda-info,
  .calendar-info{
    min-width:0 !important;
  }

  .calendar-info .event-kicker,
  .calendar-info.event-agenda-info > span:first-child{
    font-size:10px !important;
    letter-spacing:.12em !important;
    margin-bottom:5px !important;
  }

  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-date-title{
    font-size:clamp(25px,8.4vw,34px) !important;
    line-height:.9 !important;
    letter-spacing:-.055em !important;
    margin:0 0 6px !important;
  }

  .event-time-small,
  .event-place-line{
    font-size:13px !important;
    line-height:1.25 !important;
  }

  .calendar-item.event-list-item .button,
  .event-agenda-card .button{
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
    width:100% !important;
    min-height:38px !important;
    margin-top:2px !important;
  }

  .event-linear-card{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:14px !important;
    border-radius:24px !important;
  }

  .event-linear-poster{
    border-radius:18px !important;
  }

  .event-linear-copy{
    padding:2px 2px 8px !important;
  }

  .event-linear-subtitle{
    font-size:16px !important;
    line-height:1.3 !important;
  }

  .event-linear-actions{
    width:100% !important;
    gap:8px !important;
    margin-top:18px !important;
  }

  .event-linear-actions .button{
    width:100% !important;
  }

  .event-linear-grid{
    width:calc(100% - 18px) !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:16px !important;
  }

  .event-linear-panel,
  .event-linear-description,
  .event-linear-food{
    width:calc(100% - 18px) !important;
    border-radius:24px !important;
    padding:22px 18px !important;
  }

  .event-linear-facts div{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:12px 0 !important;
  }

  .event-linear-facts dt{
    font-size:10px !important;
  }

  .event-linear-facts dd{
    font-size:16px !important;
  }

  .event-linear-steps li{
    grid-template-columns:34px minmax(0,1fr) !important;
    gap:10px !important;
    font-size:15px !important;
  }

  .event-linear-steps li::before{
    width:34px !important;
    height:34px !important;
    font-size:11px !important;
  }

  .event-linear-description p,
  .event-linear-food p{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .event-linear-next{
    width:calc(100% - 18px) !important;
    padding-top:36px !important;
  }

  .event-mini-row{
    grid-template-columns:1fr !important;
    gap:5px !important;
    min-height:0 !important;
    padding:14px !important;
    border-radius:18px !important;
  }

  .event-mini-date{
    font-size:10px !important;
  }

  .event-mini-title{
    font-size:17px !important;
  }

  .event-mini-place{
    font-size:13px !important;
  }

  .news-uniform-grid{
    width:calc(100% - 18px) !important;
  }

  .news-uniform-card{
    border-radius:24px !important;
  }

  .news-uniform-image{
    height:190px !important;
  }

  .news-uniform-content{
    padding:18px !important;
  }

  .news-uniform-content h2{
    font-size:clamp(26px,8.5vw,38px) !important;
    line-height:.96 !important;
  }

  .article-top,
  .article-layout,
  .article-related{
    width:calc(100% - 18px) !important;
  }

  .article-top{
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:22px !important;
  }

  .article-top-copy,
  .article-top-image,
  .article-aside,
  .article-body{
    border-radius:24px !important;
  }

  .article-top-copy,
  .article-body,
  .article-aside{
    padding:22px 18px !important;
  }

  .article-top-copy h1{
    font-size:clamp(34px,11vw,54px) !important;
  }

  .article-top-image{
    min-height:220px !important;
  }

  .article-body p{
    font-size:15px !important;
    line-height:1.6 !important;
  }

  .footer.footer-pro{
    margin-top:46px !important;
    padding:0 !important;
    border-radius:0 !important;
    background:#000 !important;
    text-align:left !important;
  }

  .footer-shell{
    width:calc(100% - 26px) !important;
    padding:34px 0 22px !important;
  }

  .footer-topline{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:0 !important;
    padding-bottom:22px !important;
  }

  .footer-brand img{
    width:min(210px, 58vw) !important;
    max-height:none !important;
  }

  .footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:24px 0 !important;
    border-top:1px solid rgba(255,255,255,.16) !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  .footer-about,
  .footer-col,
  .footer-partners{
    align-items:flex-start !important;
    min-width:0 !important;
    width:100% !important;
  }

  .footer-about p{
    max-width:300px !important;
    font-size:14px !important;
    line-height:1.38 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
  }

  .footer-col{
    gap:8px !important;
  }

  .footer-col h3,
  .footer-partners h3{
    margin:0 0 4px !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.14em !important;
  }

  .footer-col a{
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:750 !important;
  }

  .footer-logo-row{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer-logo-row img{
    width:auto !important;
    max-width:132px !important;
    height:54px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    object-fit:contain !important;
  }

  .footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:6px !important;
    padding-top:18px !important;
    text-align:left !important;
  }

  .footer-bottom p{
    max-width:100% !important;
    font-size:10px !important;
    line-height:1.35 !important;
  }
}

@media (max-width:390px){
  .brand-logo,
  .header.menu-open .brand-logo{
    width:116px !important;
    max-height:34px !important;
  }

  .header.menu-open nav a{
    width:calc(100vw - 34px) !important;
    padding:11px 12px !important;
    font-size:16px !important;
    border-radius:14px !important;
  }

  .hero-content h1,
  h1,
  .internal-hero h1,
  .event-linear-copy h1{
    font-size:clamp(36px,12vw,54px) !important;
  }

  .event-agenda-card,
  .calendar-item.event-list-item{
    grid-template-columns:82px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
  }

  .event-agenda-thumb,
  .calendar-thumb{
    width:82px !important;
    min-width:82px !important;
    height:68px !important;
  }

  .footer-brand img{
    width:178px !important;
  }
}


/* === Patch 2026-07-01: mobile menu, white selection, Jazz spacing, centered page intros === */
*::selection,
*::-moz-selection{
  background:#000000 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:none !important;
}

/* Homepage guide: after removing the logo word, keep the block balanced */
.cta#guida{
  justify-content:center !important;
  align-items:center !important;
  gap:26px !important;
  min-height:clamp(300px,38vw,430px) !important;
  padding:clamp(30px,5vw,60px) !important;
  text-align:center !important;
}
.cta#guida h2{
  margin:0 auto !important;
  max-width:940px !important;
  text-align:center !important;
  text-wrap:balance !important;
}

/* Inizio pagina: hero e intro centrate su desktop e mobile */
.internal-hero.news-hero,
.internal-hero{
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding-left:clamp(24px,6vw,84px) !important;
  padding-right:clamp(24px,6vw,84px) !important;
}
.internal-hero.news-hero .eyebrow,
.internal-hero .eyebrow{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.internal-hero.news-hero h1,
.internal-hero h1{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:980px !important;
  text-align:center !important;
  text-wrap:balance !important;
}
.intro-block{
  padding-top:clamp(38px,5vw,70px) !important;
  padding-bottom:clamp(22px,3.5vw,44px) !important;
}
.intro-block .section-head,
.section-head{
  margin-left:auto !important;
  margin-right:auto !important;
  align-items:center !important;
  text-align:center !important;
}
.intro-block .section-head p,
.intro-block > p,
.section-head p{
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:820px !important;
  text-align:center !important;
  text-align-last:center !important;
  text-indent:0 !important;
}

/* Menu mobile: popup ridisegnato */
@media (max-width:1080px){
  body.menu-lock{
    overflow:hidden !important;
    height:100dvh !important;
    background:#000000 !important;
  }
  .header.menu-open{
    background:rgba(0,0,0,.72) !important;
    border-color:rgba(255,255,255,.18) !important;
    box-shadow:0 18px 60px rgba(0,0,0,.42) !important;
    backdrop-filter:blur(22px) saturate(135%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(135%) !important;
  }
  .header.menu-open::before{
    background:
      radial-gradient(circle at 50% 0%, rgba(255,255,255,.11), transparent 34rem),
      linear-gradient(180deg, #090909 0%, #000000 100%) !important;
  }
  .header.menu-open .brand-logo{
    filter:brightness(0) invert(1) drop-shadow(0 10px 24px rgba(255,255,255,.10)) !important;
  }
  .header.menu-open .menu-toggle{
    width:46px !important;
    height:46px !important;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.28) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.08) !important;
    color:#ffffff !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 14px 34px rgba(0,0,0,.30) !important;
  }
  .header.menu-open .menu-toggle span{
    width:21px !important;
    height:2px !important;
    margin:0 !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    background:#ffffff !important;
    transform-origin:center !important;
  }
  .header.menu-open .menu-toggle span:nth-child(1){
    transform:translate(-50%, -50%) rotate(45deg) !important;
  }
  .header.menu-open .menu-toggle span:nth-child(2){
    opacity:0 !important;
  }
  .header.menu-open .menu-toggle span:nth-child(3){
    transform:translate(-50%, -50%) rotate(-45deg) !important;
  }
  .header.menu-open nav{
    padding:118px 22px 54px !important;
    gap:4px !important;
    justify-content:center !important;
    align-items:center !important;
    background:
      radial-gradient(circle at 50% 0%, rgba(255,255,255,.12), transparent 30rem),
      #000000 !important;
  }
  .header.menu-open nav a{
    width:min(520px, calc(100vw - 44px)) !important;
    padding:10px 6px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:rgba(255,255,255,.82) !important;
    font-family:'Libre Baskerville', Georgia, serif !important;
    font-size:clamp(31px,9vw,52px) !important;
    font-weight:400 !important;
    line-height:1.1 !important;
    letter-spacing:-.055em !important;
    text-transform:none !important;
    text-align:center !important;
    transition:color .2s ease, transform .2s ease, opacity .2s ease !important;
  }
  .header.menu-open nav a:hover{
    color:#ffffff !important;
    transform:translateY(-1px) !important;
  }
  .header.menu-open nav a[aria-current='page']{
    color:#ffffff !important;
    background:transparent !important;
    border-color:transparent !important;
    font-weight:700 !important;
  }
  .header.menu-open nav a::after{
    display:block !important;
    content:'' !important;
    position:static !important;
    width:32px !important;
    height:1px !important;
    margin:10px auto 0 !important;
    background:currentColor !important;
    opacity:.58 !important;
    transform:scaleX(0) !important;
  }
  .header.menu-open nav a:hover::after,
  .header.menu-open nav a[aria-current='page']::after{
    transform:scaleX(1) !important;
  }
}

/* Pagina Jazz: respiro, ritmo e leggibilità */
.page-jazz .internal-hero.news-hero{
  min-height:clamp(390px,52vh,570px) !important;
  margin-top:34px !important;
}
.page-jazz .intro-block{
  padding-top:clamp(44px,6vw,82px) !important;
  padding-bottom:clamp(24px,4vw,54px) !important;
}
.page-jazz .intro-block .section-head p{
  max-width:760px !important;
  font-size:clamp(18px,1.65vw,25px) !important;
  line-height:1.48 !important;
  letter-spacing:-.025em !important;
}
.page-jazz .calendar-section{
  width:min(1080px, calc(100% - 40px)) !important;
  padding-top:clamp(10px,2vw,22px) !important;
  padding-bottom:clamp(84px,9vw,132px) !important;
}
.page-jazz .calendar-list{
  gap:clamp(18px,2.4vw,30px) !important;
}
.page-jazz .event-agenda-card,
.page-jazz .calendar-item.event-list-item{
  grid-template-columns:clamp(150px,18vw,230px) minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:clamp(22px,3vw,44px) !important;
  padding:clamp(18px,2.2vw,26px) !important;
  border-radius:32px !important;
}
.page-jazz .event-agenda-thumb,
.page-jazz .calendar-thumb.event-agenda-thumb{
  width:clamp(150px,18vw,230px) !important;
  height:clamp(108px,13vw,160px) !important;
  min-width:0 !important;
  border-radius:24px !important;
}
.page-jazz .event-agenda-info{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  text-align:left !important;
}
.page-jazz .event-date-title{
  margin:0 !important;
  font-size:clamp(34px,4.4vw,60px) !important;
  line-height:.94 !important;
}
.page-jazz .event-place-line{
  max-width:100% !important;
  text-align:left !important;
  text-align-last:left !important;
}
.page-jazz .event-time-pill{
  margin:2px 0 0 !important;
}

@media (max-width:720px){
  .internal-hero.news-hero,
  .internal-hero{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:clamp(300px,58vh,430px) !important;
    padding:32px 20px !important;
  }
  .internal-hero.news-hero h1,
  .internal-hero h1{
    text-align:center !important;
  }
  .intro-block,
  .section,
  .calendar-section,
  .contact-section,
  .territory-content,
  .sapori-clean-grid,
  .sapori-clean-feature{
    width:calc(100% - 22px) !important;
  }
  .section-head,
  .intro-block .section-head{
    align-items:center !important;
    text-align:center !important;
    margin-bottom:26px !important;
  }
  .section-head p,
  .intro-block .section-head p,
  .intro-block > p{
    text-align:center !important;
    text-align-last:center !important;
    text-indent:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .page-jazz .internal-hero.news-hero{
    min-height:340px !important;
    margin-top:22px !important;
  }
  .page-jazz .intro-block{
    padding-top:34px !important;
    padding-bottom:24px !important;
  }
  .page-jazz .intro-block .section-head p{
    font-size:clamp(17px,5vw,22px) !important;
    line-height:1.38 !important;
  }
  .page-jazz .calendar-section{
    width:calc(100% - 22px) !important;
    padding-top:4px !important;
    padding-bottom:70px !important;
  }
  .page-jazz .calendar-list{
    gap:18px !important;
  }
  .page-jazz .event-agenda-card,
  .page-jazz .calendar-item.event-list-item{
    grid-template-columns:1fr !important;
    gap:15px !important;
    padding:14px !important;
    border-radius:26px !important;
  }
  .page-jazz .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb{
    display:block !important;
    width:100% !important;
    height:clamp(176px,52vw,235px) !important;
    border-radius:22px !important;
  }
  .page-jazz .event-agenda-info{
    align-items:center !important;
    text-align:center !important;
    gap:7px !important;
  }
  .page-jazz .event-date-title{
    font-size:clamp(32px,11.5vw,52px) !important;
    text-align:center !important;
  }
  .page-jazz .event-place-line{
    text-align:center !important;
    text-align-last:center !important;
    font-size:14px !important;
    line-height:1.38 !important;
  }
  .page-jazz .event-agenda-card .button,
  .page-jazz .calendar-item.event-list-item .button{
    grid-column:auto !important;
    width:100% !important;
    justify-self:stretch !important;
    margin-top:2px !important;
  }
}

@media (max-width:390px){
  .header.menu-open nav a{
    font-size:clamp(26px,8.2vw,36px) !important;
    padding:8px 4px !important;
  }
  .page-jazz .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb{
    height:170px !important;
  }
}

/* Patch micro-fix: precise close icon anchoring */
@media (max-width:1080px){
  .header.menu-open .menu-toggle{
    position:relative !important;
  }
}

/* === PATCH 2026-07-01: guida, intro-block, loghi e Jazz mobile === */
.cta#guida{
  align-items:flex-start !important;
  justify-content:center !important;
  text-align:left !important;
  padding-left:clamp(28px,7vw,86px) !important;
  padding-right:clamp(28px,7vw,86px) !important;
}
.cta#guida h2{
  margin:0 !important;
  max-width:920px !important;
  text-align:left !important;
  text-wrap:balance !important;
}
.cta#guida .button{
  align-self:flex-start !important;
  margin-top:8px !important;
}

/* Intro page: card editoriale uniforme su tutte le pagine interne */
.intro-block{
  width:var(--container) !important;
  margin:0 auto !important;
  padding:clamp(34px,5vw,68px) 0 clamp(26px,4vw,54px) !important;
}
.intro-block .section-head{
  position:relative !important;
  width:100% !important;
  max-width:1040px !important;
  margin:0 auto !important;
  padding:clamp(26px,4.2vw,54px) !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:clamp(24px,3vw,34px) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.78)),
    radial-gradient(circle at 0% 0%, rgba(0,0,0,.055), transparent 22rem) !important;
  box-shadow:0 24px 74px rgba(0,0,0,.08) !important;
  overflow:hidden !important;
  text-align:center !important;
}
.intro-block .section-head::before{
  content:'JAZZ · SAPORI · TERRITORIO' !important;
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto 18px !important;
  padding:8px 12px !important;
  border:1px solid rgba(0,0,0,.20) !important;
  border-radius:999px !important;
  color:rgba(0,0,0,.58) !important;
  background:rgba(244,241,234,.74) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:11px !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}
.intro-block .section-head::after{
  content:'' !important;
  position:absolute !important;
  left:clamp(24px,4vw,52px) !important;
  right:clamp(24px,4vw,52px) !important;
  bottom:0 !important;
  height:4px !important;
  border-radius:999px 999px 0 0 !important;
  background:linear-gradient(90deg, transparent, rgba(0,0,0,.46), transparent) !important;
  opacity:.35 !important;
}
.intro-block .section-head p,
.intro-block > p{
  max-width:820px !important;
  margin:0 auto !important;
  color:rgba(0,0,0,.74) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:clamp(18px,1.7vw,25px) !important;
  font-weight:800 !important;
  line-height:1.42 !important;
  letter-spacing:-.025em !important;
  text-align:center !important;
  text-align-last:center !important;
  text-indent:0 !important;
  text-wrap:pretty !important;
}
.news-intro .section-head::before{content:'NEWS · RACCONTI · TERRITORIO' !important;}
.page-jazz .intro-block .section-head::before{content:'PROGRAMMA · DATE · LUOGHI' !important;}
.page-sapori .intro-block .section-head::before{content:'SAPORI · PRODUTTORI · VALTELLINA' !important;}
.page-territorio .intro-block .section-head::before{content:'PAESAGGI · BORGHI · HERITAGE' !important;}
.page-contatti .intro-block .section-head::before{content:'CONTATTI · PARTNER · COMUNITÀ' !important;}

/* Loghi: maggiore contrasto e leggibilità, footer e sponsor */
.footer-brand img{
  width:min(340px, 64vw) !important;
  height:auto !important;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.52)) !important;
}
.footer-logo-row{
  gap:16px !important;
  align-items:center !important;
}
.footer-logo-row img{
  width:clamp(168px,14vw,245px) !important;
  height:clamp(82px,7vw,112px) !important;
  max-width:none !important;
  padding:14px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:18px !important;
  background:#ffffff !important;
  object-fit:contain !important;
  box-shadow:0 18px 48px rgba(0,0,0,.30) !important;
}
.logo-slot{
  display:grid !important;
  place-items:center !important;
  min-height:clamp(150px,16vw,220px) !important;
  padding:clamp(18px,2.2vw,30px) !important;
  border-radius:28px !important;
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,.12) !important;
  box-shadow:0 18px 52px rgba(0,0,0,.08) !important;
}
.logo-slot img{
  width:100% !important;
  height:clamp(120px,13vw,190px) !important;
  object-fit:contain !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#ffffff !important;
  filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
}
.logo-slot-small{
  min-height:clamp(112px,11vw,155px) !important;
  padding:clamp(14px,1.6vw,22px) !important;
}
.logo-slot-small img{
  height:clamp(86px,8vw,126px) !important;
}

/* Footer copy arricchito */
.footer-about{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  align-items:flex-start !important;
}
.footer-about p{
  margin:0 !important;
}
.footer-about-main{
  max-width:460px !important;
  color:#ffffff !important;
  font-family:var(--title-font,'Montserrat',system-ui,sans-serif) !important;
  font-size:clamp(22px,2.2vw,38px) !important;
  font-weight:900 !important;
  line-height:1.02 !important;
  letter-spacing:-.055em !important;
}
.footer-about-extra{
  max-width:520px !important;
  color:rgba(255,255,255,.68) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:clamp(13px,1vw,15px) !important;
  font-weight:650 !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
}

/* Jazz mobile: card eventi più eleganti, leggibili e compatte */
@media (max-width:720px){
  .cta#guida{
    align-items:flex-start !important;
    text-align:left !important;
    padding:32px 22px !important;
  }
  .cta#guida h2{
    text-align:left !important;
    font-size:clamp(40px,13vw,62px) !important;
  }
  .intro-block{
    width:calc(100% - 22px) !important;
    padding:30px 0 28px !important;
  }
  .intro-block .section-head{
    padding:24px 18px !important;
    border-radius:24px !important;
  }
  .intro-block .section-head::before{
    margin-bottom:14px !important;
    font-size:9px !important;
    letter-spacing:.11em !important;
    white-space:normal !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .intro-block .section-head p,
  .intro-block > p{
    font-size:clamp(16px,4.7vw,20px) !important;
    line-height:1.42 !important;
  }
  .page-jazz .calendar-section{
    width:calc(100% - 22px) !important;
    padding-top:0 !important;
    padding-bottom:62px !important;
  }
  .page-jazz .calendar-list{
    gap:18px !important;
  }
  .page-jazz .event-agenda-card,
  .page-jazz .calendar-item.event-list-item{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:28px !important;
    background:#ffffff !important;
    border:1px solid rgba(0,0,0,.12) !important;
    box-shadow:0 20px 62px rgba(0,0,0,.10) !important;
  }
  .page-jazz .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb{
    width:100% !important;
    height:clamp(150px,42vw,205px) !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.10) !important;
    border-radius:0 !important;
    object-fit:cover !important;
  }
  .page-jazz .event-agenda-info,
  .page-jazz .calendar-info.event-agenda-info{
    position:relative !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:100% !important;
    padding:20px 18px 16px !important;
    text-align:left !important;
  }
  .page-jazz .event-agenda-info::before{
    content:'' !important;
    position:absolute !important;
    left:18px !important;
    top:0 !important;
    width:58px !important;
    height:4px !important;
    border-radius:0 0 999px 999px !important;
    background:#000000 !important;
  }
  .page-jazz .event-kicker{
    font-size:10px !important;
    line-height:1.15 !important;
    letter-spacing:.15em !important;
    color:rgba(0,0,0,.52) !important;
    text-align:left !important;
  }
  .page-jazz .event-date-title{
    width:100% !important;
    margin:0 !important;
    color:#111111 !important;
    font-size:clamp(34px,11vw,52px) !important;
    line-height:.9 !important;
    letter-spacing:-.07em !important;
    text-align:left !important;
  }
  .page-jazz .event-time-pill{
    display:inline-flex !important;
    width:auto !important;
    padding:7px 10px !important;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:999px !important;
    background:#f4f1ea !important;
    color:#111111 !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:.10em !important;
  }
  .page-jazz .event-place-line{
    width:100% !important;
    margin-top:0 !important;
    color:rgba(0,0,0,.66) !important;
    font-size:14.5px !important;
    font-weight:750 !important;
    line-height:1.42 !important;
    text-align:left !important;
    text-align-last:left !important;
  }
  .page-jazz .event-place-line strong{
    display:block !important;
    margin-bottom:3px !important;
    color:#111111 !important;
    font-size:16px !important;
  }
  .page-jazz .event-agenda-card .button,
  .page-jazz .calendar-item.event-list-item .button{
    grid-column:auto !important;
    justify-self:stretch !important;
    width:auto !important;
    margin:0 18px 18px !important;
    min-height:42px !important;
    border-radius:999px !important;
    background:#111111 !important;
    color:#ffffff !important;
    border-color:#111111 !important;
  }
  .footer-brand img{
    width:min(240px,70vw) !important;
  }
  .footer-about-main{
    max-width:320px !important;
    font-size:clamp(26px,8vw,38px) !important;
  }
  .footer-about-extra{
    max-width:330px !important;
    font-size:13px !important;
  }
  .footer-logo-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:300px !important;
    gap:12px !important;
  }
  .footer-logo-row img{
    width:100% !important;
    max-width:300px !important;
    height:92px !important;
    padding:12px !important;
    border-radius:16px !important;
    background:#ffffff !important;
  }
  .logo-grid,
  .logo-grid-contributo,
  .logo-grid-sponsors,
  .logo-grid-graziea{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .logo-slot,
  .logo-slot-small{
    min-height:150px !important;
    padding:18px !important;
    border-radius:24px !important;
  }
  .logo-slot img,
  .logo-slot-small img{
    height:118px !important;
  }
}

/* Patch 2026-07-01: font popup mobile uniformato al menu del sito */
@media (max-width:1080px){
  .header.menu-open nav a{
    font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
    font-weight:800 !important;
    letter-spacing:.015em !important;
    text-transform:uppercase !important;
  }
  .header.menu-open nav a[aria-current='page']{
    font-weight:900 !important;
  }
}

/* === PATCH 2026-07-01: nuovo logo + popup mobile più compatto === */
/* Sottolineatura nav solo sulla voce active, non in hover */
.header nav a:hover::after{
  transform:scaleX(0) !important;
}
.header nav a[aria-current='page']::after,
.header nav a[aria-current='page']:hover::after{
  transform:scaleX(1) !important;
}

@media (max-width:1080px){
  .header.menu-open .brand-logo{
    filter:brightness(0) invert(1) drop-shadow(0 10px 24px rgba(255,255,255,.10)) !important;
  }

  .header.menu-open nav a{
    font-size:clamp(27px,7.4vw,44px) !important;
    padding:8px 6px !important;
    line-height:1.08 !important;
  }

  .header.menu-open nav a::after{
    width:34px !important;
    height:1px !important;
    margin:8px auto 0 !important;
    opacity:0 !important;
    transform:scaleX(0) !important;
  }

  .header.menu-open nav a:hover::after{
    opacity:0 !important;
    transform:scaleX(0) !important;
  }

  .header.menu-open nav a[aria-current='page']::after,
  .header.menu-open nav a[aria-current='page']:hover::after{
    opacity:.72 !important;
    transform:scaleX(1) !important;
  }
}

@media (max-width:420px){
  .header.menu-open nav a{
    font-size:clamp(22px,7vw,31px) !important;
    padding:7px 6px !important;
  }
}


/* === PATCH 2026-07-01: footer mobile impaginazione senza cambiare layout === */
@media (max-width:720px){
  .footer.footer-pro{
    width:100% !important;
    overflow:hidden !important;
    margin-top:44px !important;
  }

  .footer.footer-pro,
  .footer.footer-pro *{
    box-sizing:border-box !important;
  }

  .footer-shell{
    width:100% !important;
    max-width:100% !important;
    padding:34px 18px 24px !important;
    margin:0 auto !important;
  }

  .footer-topline{
    width:100% !important;
    padding-bottom:22px !important;
  }

  .footer-brand{
    display:inline-flex !important;
    max-width:100% !important;
  }

  .footer-brand img{
    width:min(235px,64vw) !important;
    height:auto !important;
    max-width:100% !important;
  }

  .footer-grid{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    padding:24px 0 22px !important;
  }

  .footer-about,
  .footer-col,
  .footer-partners{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    align-items:flex-start !important;
  }

  .footer-about-main,
  .footer-about-extra,
  .footer-about p{
    width:100% !important;
    max-width:340px !important;
  }

  .footer-about-main{
    font-size:clamp(25px,7.6vw,36px) !important;
    line-height:1.04 !important;
  }

  .footer-about-extra{
    font-size:13px !important;
    line-height:1.55 !important;
  }

  .footer-col{
    display:flex !important;
    flex-direction:column !important;
    gap:9px !important;
  }

  .footer-col h3,
  .footer-partners h3{
    margin:0 0 2px !important;
  }

  .footer-col a{
    display:inline-flex !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .footer-logo-row{
    width:100% !important;
    max-width:330px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin:0 !important;
  }

  .footer-logo-row img{
    display:block !important;
    width:100% !important;
    max-width:330px !important;
    height:86px !important;
    padding:12px !important;
    object-fit:contain !important;
  }

  .footer-bottom{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:7px !important;
    padding-top:18px !important;
  }

  .footer-bottom p{
    width:100% !important;
    max-width:330px !important;
    margin:0 !important;
    font-size:11px !important;
    line-height:1.45 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}

@media (max-width:390px){
  .footer-shell{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .footer-brand img{
    width:min(218px,66vw) !important;
  }

  .footer-about-main,
  .footer-about-extra,
  .footer-about p,
  .footer-logo-row,
  .footer-logo-row img,
  .footer-bottom p{
    max-width:100% !important;
  }
}


/* Final fix: footer mobile centrato + loghi bianchi senza box */
.footer.footer-pro .footer-logo-row{
  background:transparent !important;
  outline:0 !important;
  border:0 !important;
  padding:0 !important;
}
.footer.footer-pro .footer-logo-row img{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  filter:none !important;
}
@media (max-width:620px){
  .footer.footer-pro,
  .footer.footer-pro *{
    text-align:center !important;
  }
  .footer.footer-pro .footer-shell{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }
  .footer.footer-pro .footer-topline,
  .footer.footer-pro .footer-brand,
  .footer.footer-pro .footer-grid,
  .footer.footer-pro .footer-about,
  .footer.footer-pro .footer-col,
  .footer.footer-pro .footer-partners,
  .footer.footer-pro .footer-bottom{
    width:100% !important;
    align-items:center !important;
    justify-items:center !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .footer.footer-pro .footer-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:30px !important;
  }
  .footer.footer-pro .footer-about p{
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .footer.footer-pro .footer-col a,
  .footer.footer-pro .footer-bottom p{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:360px !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:16px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
  }
  .footer.footer-pro .footer-logo-row img{
    width:100% !important;
    height:56px !important;
    object-fit:contain !important;
  }
  .footer.footer-pro .footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
  }
}

/* === PCA backlink evento: gruppo e artisti === */
.intro-pca-link{
  max-width:760px;
  margin:18px auto 0;
  font-size:clamp(15px,1.35vw,18px);
  line-height:1.65;
  color:rgba(10,10,10,.72);
}
.intro-pca-link a{
  color:#0a0a0a;
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.event-linear-pca{
  background:#0a0a0a;
  color:#fff;
  border-color:#0a0a0a;
}
.event-linear-pca .eyebrow,
.event-linear-pca h2,
.event-linear-pca p{
  color:#fff;
}
.event-linear-pca p{
  max-width:780px;
  color:rgba(255,255,255,.82);
}
.event-linear-pca p a{
  color:#fff;
  font-weight:850;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.pca-backlink-button{
  width:max-content;
  margin-top:18px;
  background:#fff;
  color:#0a0a0a;
  border-color:#fff;
}
.pca-backlink-button:hover{
  background:transparent;
  color:#fff;
  border-color:#fff;
}
@media(max-width:760px){
  .intro-pca-link{
    text-align:center;
    margin-top:16px;
  }
  .event-linear-pca{
    text-align:center;
    align-items:center;
  }
  .event-linear-pca p{
    margin-left:auto;
    margin-right:auto;
  }
  .pca-backlink-button{
    width:100%;
    justify-content:center;
  }
}

/* === FINAL PATCH: Calendario pulito + layout pagine evento allineato === */
.page-jazz .intro-pca-link{
  display:none !important;
}

/* Calendario: reset finale delle card evento per evitare conflitti precedenti */
.page-jazz .calendar-section{
  width:min(1120px, calc(100% - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-top:18px !important;
  padding-bottom:clamp(78px,9vw,132px) !important;
}
.page-jazz .calendar-list{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  width:100% !important;
}
.page-jazz .calendar-item.event-list-item,
.page-jazz .event-agenda-card{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:center !important;
  width:100% !important;
  min-height:0 !important;
  padding:18px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:28px !important;
  background:rgba(255,255,255,.94) !important;
  color:#111 !important;
  box-shadow:0 18px 54px rgba(0,0,0,.08) !important;
  overflow:hidden !important;
  text-align:left !important;
  text-decoration:none !important;
  transform:none !important;
  box-sizing:border-box !important;
}
.page-jazz .calendar-item.event-list-item:hover,
.page-jazz .event-agenda-card:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(0,0,0,.28) !important;
  box-shadow:0 24px 68px rgba(0,0,0,.12) !important;
}
.page-jazz .calendar-thumb.event-agenda-thumb,
.page-jazz .event-agenda-thumb{
  display:block !important;
  width:190px !important;
  min-width:190px !important;
  height:124px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  border-radius:20px !important;
  object-fit:cover !important;
  background:#f4f1ea !important;
}
.page-jazz .calendar-info.event-agenda-info,
.page-jazz .event-agenda-info{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:7px !important;
  min-width:0 !important;
  padding:0 !important;
  text-align:left !important;
}
.page-jazz .calendar-info.event-agenda-info::before,
.page-jazz .event-agenda-info::before{
  display:none !important;
}
.page-jazz .event-kicker,
.page-jazz .calendar-info.event-agenda-info > span:first-child{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:rgba(0,0,0,.52) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  text-align:left !important;
}
.page-jazz .event-date-title,
.page-jazz .calendar-info h2.event-date-title{
  width:100% !important;
  margin:0 !important;
  color:#111 !important;
  font-family:var(--title-font,'Inter',system-ui,sans-serif) !important;
  font-size:clamp(34px,4.2vw,56px) !important;
  font-weight:900 !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  text-align:left !important;
  white-space:normal !important;
}
.page-jazz .event-time-pill,
.page-jazz .event-time-small{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  max-width:100% !important;
  margin:2px 0 0 !important;
  padding:6px 10px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:999px !important;
  background:#f4f1ea !important;
  color:#111 !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}
.page-jazz .event-place-line{
  width:100% !important;
  max-width:100% !important;
  margin:2px 0 0 !important;
  color:rgba(0,0,0,.68) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:15px !important;
  font-weight:750 !important;
  line-height:1.35 !important;
  text-align:left !important;
  text-align-last:left !important;
}
.page-jazz .event-place-line strong{
  color:#111 !important;
  font-weight:900 !important;
}
.page-jazz .calendar-item.event-list-item .button,
.page-jazz .event-agenda-card .button{
  grid-column:auto !important;
  justify-self:end !important;
  align-self:center !important;
  width:auto !important;
  min-width:132px !important;
  min-height:42px !important;
  margin:0 !important;
  white-space:nowrap !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  text-align:center !important;
}
.page-jazz .calendar-item.event-list-item .button:hover,
.page-jazz .event-agenda-card .button:hover{
  background:transparent !important;
  color:#111 !important;
}

/* Pagine singole evento: il nuovo blocco PCA resta nella stessa gabbia degli altri blocchi */
.event-page-linear > .event-linear-pca{
  width:var(--container) !important;
  max-width:var(--container) !important;
  margin:26px auto 0 !important;
  box-sizing:border-box !important;
}
.event-page-linear > .event-linear-description,
.event-page-linear > .event-linear-food,
.event-page-linear > .event-linear-next,
.event-page-linear > .event-linear-grid,
.event-page-linear > .event-linear-hero{
  box-sizing:border-box !important;
}
.event-linear-pca h2{
  margin-bottom:16px !important;
}
.event-linear-pca .button{
  display:inline-flex !important;
}

@media (max-width:860px){
  .page-jazz .calendar-item.event-list-item,
  .page-jazz .event-agenda-card{
    grid-template-columns:132px minmax(0,1fr) !important;
    gap:16px !important;
    padding:14px !important;
    border-radius:24px !important;
  }
  .page-jazz .calendar-thumb.event-agenda-thumb,
  .page-jazz .event-agenda-thumb{
    width:132px !important;
    min-width:132px !important;
    height:104px !important;
    border-radius:18px !important;
  }
  .page-jazz .calendar-item.event-list-item .button,
  .page-jazz .event-agenda-card .button{
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
    width:100% !important;
    margin-top:2px !important;
  }
}

@media (max-width:620px){
  .page-jazz .calendar-section{
    width:calc(100% - 18px) !important;
    padding-top:0 !important;
    padding-bottom:58px !important;
  }
  .page-jazz .calendar-list{
    gap:14px !important;
  }
  .page-jazz .calendar-item.event-list-item,
  .page-jazz .event-agenda-card{
    grid-template-columns:96px minmax(0,1fr) !important;
    gap:12px !important;
    padding:12px !important;
    border-radius:22px !important;
  }
  .page-jazz .calendar-thumb.event-agenda-thumb,
  .page-jazz .event-agenda-thumb{
    width:96px !important;
    min-width:96px !important;
    height:86px !important;
    border-radius:16px !important;
  }
  .page-jazz .event-kicker,
  .page-jazz .calendar-info.event-agenda-info > span:first-child{
    font-size:9.5px !important;
    letter-spacing:.11em !important;
  }
  .page-jazz .event-date-title,
  .page-jazz .calendar-info h2.event-date-title{
    font-size:clamp(27px,8.5vw,36px) !important;
    line-height:.92 !important;
    letter-spacing:-.055em !important;
  }
  .page-jazz .event-time-pill,
  .page-jazz .event-time-small{
    padding:5px 8px !important;
    font-size:9.5px !important;
    letter-spacing:.08em !important;
  }
  .page-jazz .event-place-line{
    font-size:13px !important;
    line-height:1.28 !important;
  }
  .page-jazz .event-place-line strong{
    display:block !important;
    margin-bottom:2px !important;
  }
  .page-jazz .calendar-item.event-list-item .button,
  .page-jazz .event-agenda-card .button{
    min-height:38px !important;
    font-size:11px !important;
  }
  .event-page-linear > .event-linear-pca,
  .event-page-linear > .event-linear-description,
  .event-page-linear > .event-linear-food,
  .event-page-linear > .event-linear-next,
  .event-page-linear > .event-linear-grid,
  .event-page-linear > .event-linear-hero{
    width:calc(100% - 18px) !important;
    max-width:calc(100% - 18px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .event-page-linear > .event-linear-pca{
    margin-top:16px !important;
    text-align:center !important;
  }
}

/* === Aggiornamento footer + hover eventi 2026-07-01 === */
.footer-about-main{
  max-width:620px !important;
}
.footer-about-extra{
  display:none !important;
}
.footer-logo-row{
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.footer-logo-row img{
  background:rgba(255,255,255,.07) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.26) !important;
}
.footer-logo-row img.footer-logo-valtellina{
  padding:16px 14px !important;
}
.footer-bottom p:first-child{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:4px !important;
}

.event-card,
.calendar-item,
.calendar-item.event-list-item,
.event-agenda-card{
  transition:transform .32s cubic-bezier(.2,.75,.25,1), box-shadow .32s ease, border-color .32s ease, background .32s ease !important;
  will-change:transform;
}
.event-card .event-card-image,
.calendar-thumb,
.event-agenda-thumb{
  transition:transform .42s cubic-bezier(.2,.75,.25,1), filter .42s ease !important;
  will-change:transform;
}
@media (hover:hover) and (pointer:fine){
  .event-card:hover,
  .home-events-slideshow .event-card:hover,
  .calendar-item:hover,
  .calendar-item.event-list-item:hover,
  .event-agenda-card:hover{
    transform:translateY(-10px) scale(1.012) !important;
    border-color:#111 !important;
    box-shadow:0 32px 90px rgba(0,0,0,.20), 0 0 0 1px rgba(0,0,0,.06) !important;
  }
  .event-card:hover .event-card-image,
  .calendar-item:hover .calendar-thumb,
  .event-agenda-card:hover .event-agenda-thumb{
    transform:scale(1.045) !important;
    filter:saturate(1.05) contrast(1.04) !important;
  }
  .event-card:hover h3,
  .calendar-item:hover h2,
  .calendar-item.event-list-item:hover h3,
  .event-agenda-card:hover h3{
    text-decoration:underline;
    text-decoration-thickness:2px;
    text-underline-offset:5px;
  }
}
@media (max-width:620px){
  .footer-logo-row{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    max-width:100% !important;
    gap:8px !important;
  }
  .footer-logo-row img{
    height:72px !important;
    padding:9px !important;
    border-radius:16px !important;
  }
  .footer-logo-row img.footer-logo-valtellina{
    padding:11px 8px !important;
  }
}


/* === PATCH 2026-07-01: territorio cards + nuove immagini === */
.territory-content{
  width:var(--container) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:clamp(28px,4vw,54px) 0 clamp(18px,3vw,34px) !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(16px,2vw,24px) !important;
  align-items:stretch !important;
}
.territory-content article{
  min-height:unset !important;
  height:100% !important;
  padding:clamp(24px,2.4vw,34px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  text-align:left !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(0,0,0,.14) !important;
  box-shadow:0 18px 54px rgba(0,0,0,.09) !important;
}
.territory-content article:hover{
  transform:translateY(-5px) !important;
  border-color:rgba(0,0,0,.32) !important;
  box-shadow:0 26px 68px rgba(0,0,0,.13) !important;
}
.territory-content h2{
  margin:0 0 14px !important;
  color:var(--black) !important;
  font-size:clamp(30px,3vw,44px) !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}
.territory-content p{
  margin:0 !important;
  max-width:100% !important;
  color:rgba(0,0,0,.66) !important;
  font-size:clamp(15px,1.08vw,17px) !important;
  line-height:1.58 !important;
  text-align:left !important;
}
.page-photo-grid-territorio{
  max-width:1180px !important;
  grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr) !important;
  gap:clamp(16px,2vw,24px) !important;
  padding-top:0 !important;
}
.page-photo-grid-territorio .page-photo-card{
  min-height:clamp(330px,38vw,520px) !important;
}
.page-photo-grid-territorio .page-photo-card-large{
  min-height:clamp(380px,44vw,600px) !important;
}
.page-photo-grid-territorio img[src$="cultura-borghi.jpg"]{
  object-position:center 36% !important;
}
.page-photo-grid-sapori img[src$="wine.jpg"]{
  object-position:center center !important;
}
@media (max-width:980px){
  .territory-content{
    grid-template-columns:1fr !important;
  }
  .territory-content article{
    min-height:0 !important;
  }
  .page-photo-grid-territorio{
    grid-template-columns:1fr 1fr !important;
  }
}
@media (max-width:620px){
  .territory-content,
  .page-photo-grid-territorio{
    width:calc(100% - 24px) !important;
    max-width:none !important;
  }
  .territory-content{
    padding:26px 0 16px !important;
    gap:14px !important;
  }
  .territory-content article{
    padding:22px !important;
    border-radius:24px !important;
  }
  .territory-content h2{
    font-size:clamp(30px,10vw,42px) !important;
  }
  .page-photo-grid-territorio{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .page-photo-grid-territorio .page-photo-card,
  .page-photo-grid-territorio .page-photo-card-large{
    min-height:260px !important;
  }
}


/* === PATCH 2026-07-01: Wine bianco + footer due loghi affiancati === */
.page-photo-grid-sapori .wine-white-card{
  background:#ffffff !important;
  border-color:rgba(0,0,0,.10) !important;
  box-shadow:0 18px 54px rgba(0,0,0,.07) !important;
}
.page-photo-grid-sapori .wine-white-card::after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.page-photo-grid-sapori .wine-white-card img{
  background:#ffffff !important;
  object-fit:cover !important;
  transform:none !important;
}
.page-photo-grid-sapori .wine-white-card:hover img{
  transform:none !important;
}
.page-photo-grid-sapori .wine-white-card figcaption{
  background:rgba(255,255,255,.94) !important;
  color:#111111 !important;
  border:1px solid rgba(0,0,0,.10) !important;
}
.footer-logo-row{
  width:100% !important;
  max-width:420px !important;
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:center !important;
  justify-content:start !important;
}
.footer-logo-row img{
  width:100% !important;
  height:88px !important;
  max-width:none !important;
  padding:0 !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.34)) !important;
}
.footer-logo-row img.footer-logo-valtellina{
  order:1 !important;
}
.footer-logo-row img.footer-logo-pca{
  order:2 !important;
}
@media (max-width:620px){
  .footer-logo-row{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    max-width:360px !important;
    gap:14px !important;
    margin-inline:auto !important;
  }
  .footer-logo-row img{
    height:72px !important;
    padding:0 !important;
  }
}


/* FIX hover card eventi HOMEPAGE
   Il carosello usa transform sul track: il transform della singola card creava scatti,
   clipping e sovrapposizioni. L'hover ora resta stabile e lavora su ombra + immagine. */
.home-events-slideshow{
  overflow:hidden !important;
  padding:8px 2px 18px !important;
  margin-left:-2px !important;
  margin-right:-2px !important;
}

.home-events-slideshow .event-card{
  position:relative !important;
  isolation:isolate !important;
  transform:none !important;
  backface-visibility:hidden !important;
  transition:border-color .28s ease, box-shadow .28s ease, background .28s ease !important;
}

.home-events-slideshow .event-card::after,
.home-hover-evento::after{
  content:none !important;
  display:none !important;
}

.home-events-slideshow .event-card .event-card-image{
  display:block !important;
  transform-origin:center center !important;
  transition:transform .42s cubic-bezier(.2,.75,.25,1), filter .42s ease !important;
}

@media (hover:hover) and (pointer:fine){
  .home-events-slideshow .event-card:hover,
  .home-events-slideshow .event-card:focus-visible{
    transform:none !important;
    border-color:#111 !important;
    box-shadow:0 28px 76px rgba(0,0,0,.16), 0 0 0 1px rgba(0,0,0,.05) !important;
    background:#fff !important;
  }

  .home-events-slideshow .event-card:hover .event-card-image,
  .home-events-slideshow .event-card:focus-visible .event-card-image{
    transform:scale(1.035) !important;
    filter:saturate(1.05) contrast(1.03) !important;
  }

  .home-events-slideshow .event-card:hover h3,
  .home-events-slideshow .event-card:focus-visible h3{
    text-decoration:none !important;
  }
}

@media (max-width:620px){
  .home-events-slideshow{
    overflow:visible !important;
    padding:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* === FIX DEFINITIVO MOBILE: logo Valtellina footer ===
   Override ad alta specificità: evita il vecchio height:56px su mobile
   che schiacciava/rendeva troppo piccolo il logo Valtellina. */
.footer.footer-pro .footer-logo-row{
  width:100% !important;
  max-width:430px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
  gap:18px !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.footer.footer-pro .footer-logo-row img.footer-logo-valtellina,
.footer.footer-pro .footer-logo-row img.footer-logo-pca{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  min-height:0 !important;
  max-height:none !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 auto !important;
  filter:none !important;
}
.footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
  order:1 !important;
}
.footer.footer-pro .footer-logo-row img.footer-logo-pca{
  order:2 !important;
}
@media (max-width:620px){
  .footer.footer-pro .footer-logo-row{
    width:min(100%, 360px) !important;
    max-width:360px !important;
    grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr) !important;
    gap:14px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:100% !important;
    height:auto !important;
    max-height:118px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:100% !important;
    height:auto !important;
    max-height:104px !important;
  }
}
@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:320px !important;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) !important;
    gap:12px !important;
  }
}


/* === PATCH MOBILE EVENTI 2026-07-01 ===
   Layout eventi più pulito su smartphone: una card per riga, niente sbordi,
   testo leggibile e bottoni a tutta larghezza. */
@media (max-width:620px){
  body{
    overflow-x:hidden !important;
  }

  .home-program-section,
  .calendar-section,
  .event-detail-section,
  .next-events-section{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .home-events-slideshow{
    width:100% !important;
    margin-top:22px !important;
    overflow:visible !important;
    padding:0 !important;
  }

  .home-events-slideshow .home-events-track{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    transform:none !important;
  }

  .home-events-slideshow .event-card,
  .event-grid .event-card{
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:24px !important;
    text-align:left !important;
    transform:none !important;
  }

  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image{
    width:100% !important;
    height:168px !important;
    min-height:168px !important;
    object-fit:cover !important;
    border:0 !important;
    border-radius:0 !important;
    display:block !important;
  }

  .home-events-slideshow .event-card > div,
  .event-grid .event-card > div{
    min-height:0 !important;
    padding:18px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    text-align:left !important;
  }

  .home-events-slideshow .event-card span,
  .calendar-info .event-kicker,
  .event-card span{
    font-size:10.5px !important;
    line-height:1.2 !important;
    letter-spacing:.13em !important;
    text-align:left !important;
  }

  .home-events-slideshow .event-card h3,
  .event-grid .event-card h3{
    width:100% !important;
    margin:0 !important;
    font-size:clamp(29px,9vw,38px) !important;
    line-height:.98 !important;
    letter-spacing:-.035em !important;
    text-align:left !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .event-time-small,
  .event-time-pill{
    display:inline-flex !important;
    width:auto !important;
    align-items:center !important;
    justify-content:center !important;
    margin:2px 0 0 !important;
    padding:7px 10px !important;
    border-radius:999px !important;
    background:rgba(0,0,0,.06) !important;
    color:var(--black) !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .home-events-slideshow .event-card p,
  .event-grid .event-card p{
    width:100% !important;
    margin:4px 0 0 !important;
    color:rgba(0,0,0,.68) !important;
    font-size:14.5px !important;
    line-height:1.42 !important;
    text-align:left !important;
  }

  .home-events-slideshow .event-card p strong,
  .event-grid .event-card p strong,
  .calendar-info p strong{
    display:inline !important;
    color:#111 !important;
    font-weight:900 !important;
  }

  .home-events-controls{
    display:none !important;
  }

  .event-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .calendar-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .calendar-item.event-list-item,
  .event-list-item,
  .event-agenda-card{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    border-radius:24px !important;
    text-align:left !important;
    align-items:stretch !important;
  }

  .calendar-thumb,
  .event-agenda-thumb{
    width:100% !important;
    height:168px !important;
    min-height:168px !important;
    object-fit:cover !important;
    border:0 !important;
    border-radius:0 !important;
  }

  .calendar-info,
  .event-agenda-info{
    width:100% !important;
    min-width:0 !important;
    padding:18px 18px 12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-date-title,
  .calendar-info .event-main-title{
    width:100% !important;
    margin:7px 0 8px !important;
    font-size:clamp(30px,9.4vw,40px) !important;
    line-height:.98 !important;
    letter-spacing:-.04em !important;
    text-align:left !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .calendar-info p,
  .calendar-info .event-place-line{
    width:100% !important;
    margin:8px 0 0 !important;
    max-width:none !important;
    color:rgba(0,0,0,.68) !important;
    font-size:14.5px !important;
    line-height:1.42 !important;
    text-align:left !important;
  }

  .calendar-item .button,
  .event-list-item .button,
  .event-agenda-card .button{
    grid-column:auto !important;
    width:calc(100% - 36px) !important;
    justify-self:center !important;
    margin:0 18px 18px !important;
    min-height:44px !important;
  }

  .event-detail-layout{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .event-copy,
  .event-sidebar,
  .event-program-card,
  .share-panel{
    padding:20px !important;
    border-radius:24px !important;
  }

  .event-copy p,
  .event-lead{
    font-size:15.5px !important;
    line-height:1.56 !important;
  }

  .event-info-list{
    display:grid !important;
    gap:10px !important;
    padding:16px !important;
    border-radius:22px !important;
  }

  .event-info-list li{
    padding:13px !important;
    border-radius:16px !important;
  }
}

@media (max-width:390px){
  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb{
    height:154px !important;
    min-height:154px !important;
  }

  .home-events-slideshow .event-card h3,
  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-date-title,
  .calendar-info .event-main-title{
    font-size:clamp(28px,9.5vw,36px) !important;
  }
}


/* === PATCH 2026-07-01: dimensioni font/card eventi più equilibrate === */

/* Homepage eventi - desktop/tablet */
.home-events-slideshow .event-card{
  min-height:310px !important;
  border-radius:22px !important;
}

.home-events-slideshow .event-card .event-card-image{
  height:158px !important;
}

.home-events-slideshow .event-card > div{
  min-height:142px !important;
  padding:18px !important;
  gap:7px !important;
}

.home-events-slideshow .event-card h3{
  font-size:clamp(24px,2vw,31px) !important;
  line-height:1 !important;
  letter-spacing:-.035em !important;
}

.home-events-slideshow .event-card p{
  font-size:14.5px !important;
  line-height:1.38 !important;
  margin:2px 0 0 !important;
}

.home-events-slideshow .event-card span{
  font-size:10.5px !important;
  letter-spacing:.12em !important;
}

.event-time-small{
  font-size:10.5px !important;
  padding:5px 9px !important;
}

/* Pagina Jazz / liste eventi - desktop/tablet */
.calendar-item.event-list-item,
.event-list-item,
.event-agenda-card{
  padding:14px !important;
  gap:16px !important;
  border-radius:24px !important;
}

.calendar-thumb,
.event-agenda-thumb{
  width:160px !important;
  height:106px !important;
  border-radius:18px !important;
}

.calendar-info h2,
.calendar-info h3,
.calendar-info .event-date-title,
.calendar-info .event-main-title{
  font-size:clamp(24px,2.4vw,35px) !important;
  line-height:1 !important;
  margin:4px 0 6px !important;
  letter-spacing:-.035em !important;
}

.calendar-info p,
.calendar-info .event-place-line{
  font-size:14.5px !important;
  line-height:1.38 !important;
}

.calendar-item .button,
.event-list-item .button,
.event-agenda-card .button{
  min-height:40px !important;
  padding:10px 14px !important;
  font-size:10.5px !important;
}

/* Card eventi generiche */
.event-card{
  min-height:260px !important;
  padding:14px !important;
  border-radius:22px !important;
  gap:12px !important;
}

.event-card-image{
  height:128px !important;
  border-radius:17px !important;
}

.event-card h3{
  font-size:clamp(25px,2.6vw,34px) !important;
  line-height:1 !important;
}

.event-card p{
  font-size:14.5px !important;
  line-height:1.4 !important;
}

/* Mobile: card più piccole e leggibili */
@media (max-width:620px){
  .home-program-section,
  .calendar-section,
  .event-detail-section,
  .next-events-section{
    width:calc(100% - 28px) !important;
  }

  .home-events-slideshow{
    margin-top:18px !important;
  }

  .home-events-slideshow .home-events-track,
  .calendar-list,
  .event-grid{
    gap:13px !important;
  }

  .home-events-slideshow .event-card,
  .event-grid .event-card,
  .calendar-item.event-list-item,
  .event-list-item,
  .event-agenda-card{
    border-radius:20px !important;
  }

  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb{
    height:136px !important;
    min-height:136px !important;
  }

  .home-events-slideshow .event-card > div,
  .event-grid .event-card > div{
    padding:14px !important;
    gap:6px !important;
  }

  .calendar-info,
  .event-agenda-info{
    padding:14px 14px 10px !important;
  }

  .home-events-slideshow .event-card h3,
  .event-grid .event-card h3,
  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-date-title,
  .calendar-info .event-main-title{
    font-size:clamp(24px,7.6vw,31px) !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    margin:3px 0 5px !important;
  }

  .home-events-slideshow .event-card span,
  .calendar-info .event-kicker,
  .event-card span{
    font-size:9.8px !important;
    letter-spacing:.105em !important;
  }

  .event-time-small,
  .event-time-pill{
    font-size:10px !important;
    padding:5px 8px !important;
    margin-top:0 !important;
  }

  .home-events-slideshow .event-card p,
  .event-grid .event-card p,
  .calendar-info p,
  .calendar-info .event-place-line{
    font-size:13.5px !important;
    line-height:1.35 !important;
    margin-top:4px !important;
  }

  .calendar-item .button,
  .event-list-item .button,
  .event-agenda-card .button{
    width:calc(100% - 28px) !important;
    margin:0 14px 14px !important;
    min-height:39px !important;
    padding:9px 12px !important;
    font-size:10px !important;
  }

  .event-copy,
  .event-sidebar,
  .event-program-card,
  .share-panel{
    padding:17px !important;
    border-radius:20px !important;
  }

  .event-info-list{
    padding:13px !important;
    gap:8px !important;
  }

  .event-info-list li{
    padding:11px !important;
  }
}

@media (max-width:390px){
  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb{
    height:126px !important;
    min-height:126px !important;
  }

  .home-events-slideshow .event-card h3,
  .event-grid .event-card h3,
  .calendar-info h2,
  .calendar-info h3,
  .calendar-info .event-date-title,
  .calendar-info .event-main-title{
    font-size:clamp(23px,7.4vw,29px) !important;
  }

  .home-events-slideshow .event-card p,
  .event-grid .event-card p,
  .calendar-info p,
  .calendar-info .event-place-line{
    font-size:13px !important;
  }
}


/* === PATCH 2026-07-01: TERRITORIO + FOOTER MOBILE definitivo === */

/* Territorio mobile: card più compatte e ordinate */
@media (max-width:620px){
  .territory-content{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:18px 0 12px !important;
    gap:12px !important;
  }

  .territory-content article,
  .territory-content .hover-card-cultura,
  .territory-content .hover-card-sapori,
  .territory-content .hover-card-territorio{
    min-height:0 !important;
    padding:18px !important;
    border-radius:20px !important;
    gap:8px !important;
    box-shadow:0 14px 42px rgba(0,0,0,.07) !important;
  }

  .territory-content h2{
    margin:0 0 8px !important;
    font-size:clamp(25px,7.6vw,33px) !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
  }

  .territory-content p{
    font-size:14px !important;
    line-height:1.43 !important;
    color:rgba(0,0,0,.67) !important;
  }

  .page-photo-grid-territorio{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding-bottom:30px !important;
  }

  .page-photo-grid-territorio .page-photo-card,
  .page-photo-grid-territorio .page-photo-card-large{
    min-height:0 !important;
    height:218px !important;
    border-radius:20px !important;
    box-shadow:0 14px 42px rgba(0,0,0,.08) !important;
  }

  .page-photo-grid-territorio .page-photo-card-large{
    height:232px !important;
  }

  .page-photo-grid-territorio .page-photo-card img,
  .page-photo-grid-territorio .page-photo-card-large img{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    object-fit:cover !important;
  }

  .page-photo-grid-territorio img[src$="paesaggiovaltellinese.jpg"]{
    object-position:center center !important;
  }

  .page-photo-grid-territorio img[src$="cultura-borghi.jpg"]{
    object-position:center 34% !important;
  }

  .page-photo-grid-territorio .page-photo-card figcaption{
    left:12px !important;
    right:12px !important;
    bottom:12px !important;
    max-width:calc(100% - 24px) !important;
    padding:7px 10px !important;
    font-size:9.8px !important;
    letter-spacing:.10em !important;
  }
}

@media (max-width:390px){
  .territory-content article,
  .territory-content .hover-card-cultura,
  .territory-content .hover-card-sapori,
  .territory-content .hover-card-territorio{
    padding:16px !important;
  }

  .territory-content h2{
    font-size:clamp(24px,7.4vw,30px) !important;
  }

  .territory-content p{
    font-size:13.5px !important;
  }

  .page-photo-grid-territorio .page-photo-card,
  .page-photo-grid-territorio .page-photo-card-large{
    height:198px !important;
  }
}

/* Footer mobile: meno centrato, più ordinato e loghi non deformati */
@media (max-width:620px){
  .footer.footer-pro{
    text-align:left !important;
  }

  .footer.footer-pro .footer-shell{
    width:calc(100% - 36px) !important;
    max-width:none !important;
    padding:34px 0 22px !important;
  }

  .footer.footer-pro .footer-topline{
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding-bottom:24px !important;
  }

  .footer.footer-pro .footer-brand{
    justify-items:start !important;
    align-items:start !important;
    width:100% !important;
  }

  .footer.footer-pro .footer-brand img{
    width:min(250px, 72vw) !important;
    max-width:250px !important;
    height:auto !important;
    margin:0 !important;
  }

  .footer.footer-pro .footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:24px !important;
    align-items:start !important;
    justify-items:start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-about,
  .footer.footer-pro .footer-col,
  .footer.footer-pro .footer-partners{
    width:100% !important;
    max-width:none !important;
    text-align:left !important;
    align-items:flex-start !important;
    justify-items:start !important;
  }

  .footer.footer-pro .footer-about p,
  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-col h3,
  .footer.footer-pro .footer-col a{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .footer.footer-pro .footer-col{
    display:flex !important;
    flex-direction:column !important;
    gap:9px !important;
  }

  .footer.footer-pro .footer-col h3{
    margin-bottom:2px !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:310px !important;
    margin:2px 0 0 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
    grid-template-columns:none !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    order:1 !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:56px !important;
    max-width:158px !important;
    min-width:0 !important;
    max-height:56px !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    filter:none !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    order:2 !important;
    flex:0 0 auto !important;
    width:auto !important;
    height:54px !important;
    max-width:112px !important;
    min-width:0 !important;
    max-height:54px !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    filter:none !important;
  }

  .footer.footer-pro .footer-bottom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    align-items:start !important;
    justify-items:start !important;
    text-align:left !important;
    padding-top:24px !important;
  }

  .footer.footer-pro .footer-bottom p,
  .footer.footer-pro .footer-bottom a{
    text-align:left !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    max-width:286px !important;
    gap:14px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    height:50px !important;
    max-width:146px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    height:48px !important;
    max-width:100px !important;
  }
}


/* Patch sponsors: contributi principali + contributi, mantenendo Sponsor e Grazie a */
.sponsor-contributo-layout .logo-group-featured-contributo{
  margin-bottom:58px !important;
}
.sponsor-contributo-layout .logo-group-secondary-contributo{
  margin-bottom:64px !important;
}
.logo-grid-featured-contributo{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  max-width:920px !important;
  margin:0 auto !important;
}
.logo-slot-featured{
  padding:22px !important;
  border-radius:30px !important;
}
.logo-slot-featured img{
  height:220px !important;
}
.logo-grid-secondary-contributo{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:18px !important;
}
.logo-grid-secondary-contributo .logo-slot img{
  height:160px !important;
}
.sponsor-contributo-layout .logo-group-secondary-contributo .sponsor-group-head h2{
  font-size:clamp(34px,5vw,74px) !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
}
@media (max-width:1080px){
  .logo-grid-secondary-contributo{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:700px){
  .logo-grid-featured-contributo,
  .logo-grid-secondary-contributo{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .logo-slot-featured img,
  .logo-grid-secondary-contributo .logo-slot img{
    height:128px !important;
  }
  .sponsor-contributo-layout .logo-group-secondary-contributo .sponsor-group-head h2{
    font-size:clamp(34px,12vw,52px) !important;
  }
}


/* Patch sponsor labels: nomi Comuni sotto i loghi contributo */
.logo-grid-secondary-contributo .logo-slot{
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:14px !important;
  text-align:center !important;
}
.logo-grid-secondary-contributo .logo-caption{
  margin:0 !important;
  font-family:var(--font-sans) !important;
  font-size:clamp(13px,1.25vw,15px) !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  color:var(--black) !important;
}
@media (max-width:700px){
  .logo-grid-secondary-contributo .logo-caption{
    font-size:14px !important;
  }
}


/* === PATCH 2026-07-01: logo Comunità Montana + footer mobile più grande === */
.logo-grid-secondary-contributo{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
.logo-grid-secondary-contributo .logo-slot:first-child img{
  object-fit:contain !important;
  object-position:center center !important;
}
@media (max-width:1180px){
  .logo-grid-secondary-contributo{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:700px){
  .logo-grid-secondary-contributo{
    grid-template-columns:1fr !important;
  }
  .logo-grid-secondary-contributo .logo-slot:first-child img{
    height:150px !important;
  }
}
@media (max-width:620px){
  .footer.footer-pro .footer-logo-row{
    max-width:346px !important;
    gap:18px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    height:64px !important;
    max-width:182px !important;
    max-height:64px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    height:62px !important;
    max-width:128px !important;
    max-height:62px !important;
  }
}
@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    max-width:320px !important;
    gap:16px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    height:58px !important;
    max-width:168px !important;
    max-height:58px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    height:56px !important;
    max-width:118px !important;
    max-height:56px !important;
  }
}

/* Patch contatti: nota form Mail */
.contact-form-note{
  margin:-6px 0 0 !important;
  color:rgba(21,17,12,.62) !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

/* === PATCH 2026-07-01: evento singolo + footer mobile === */
.event-page-linear .event-linear-panel .eyebrow,
.event-page-linear .event-linear-copy .eyebrow{
  font-size:10.5px !important;
  letter-spacing:.13em !important;
}

.event-page-linear .event-linear-panel h2,
.event-page-linear .event-linear-next .section-head h2{
  font-size:clamp(30px,4.2vw,56px) !important;
  line-height:.9 !important;
  margin-bottom:16px !important;
}

.event-page-linear .event-linear-panel p,
.event-page-linear .event-linear-description p,
.event-page-linear .event-linear-food p,
.event-page-linear .event-linear-pca p{
  font-size:clamp(15px,1.18vw,18px) !important;
  line-height:1.48 !important;
}

.event-page-linear .event-linear-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.event-page-linear .event-linear-details,
.event-page-linear .event-linear-program{
  padding:clamp(20px,2.6vw,30px) !important;
  min-height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

.event-page-linear .event-linear-facts{
  gap:0 !important;
}

.event-page-linear .event-linear-facts div{
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:14px !important;
  padding:10px 0 !important;
}

.event-page-linear .event-linear-facts dt{
  font-size:10.5px !important;
  letter-spacing:.12em !important;
}

.event-page-linear .event-linear-facts dd{
  font-size:clamp(14.5px,1.14vw,18px) !important;
  line-height:1.22 !important;
  font-weight:850 !important;
}

.event-page-linear .event-linear-steps{
  gap:8px !important;
}

.event-page-linear .event-linear-steps li{
  grid-template-columns:34px minmax(0,1fr) !important;
  gap:12px !important;
  min-height:46px !important;
  padding:7px 0 !important;
  border-bottom:1px solid rgba(0,0,0,.10) !important;
  font-size:clamp(14.5px,1.12vw,17.5px) !important;
  line-height:1.28 !important;
  font-weight:800 !important;
}

.event-page-linear .event-linear-steps li:last-child{
  border-bottom:0 !important;
}

.event-page-linear .event-linear-steps li::before{
  width:34px !important;
  height:34px !important;
  font-size:11px !important;
}

.event-linear-pca .pca-backlink-button,
.event-linear-pca .button.pca-backlink-button{
  background:transparent !important;
  color:#fff !important;
  border:1.5px solid #fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55) !important;
}

.event-linear-pca .pca-backlink-button:hover,
.event-linear-pca .button.pca-backlink-button:hover{
  background:#fff !important;
  color:#0a0a0a !important;
  border-color:#fff !important;
}

@media (max-width:960px){
  .event-page-linear .event-linear-grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:760px){
  .event-page-linear .event-linear-panel h2,
  .event-page-linear .event-linear-next .section-head h2{
    font-size:clamp(28px,8.8vw,42px) !important;
  }

  .event-page-linear .event-linear-panel p,
  .event-page-linear .event-linear-description p,
  .event-page-linear .event-linear-food p,
  .event-page-linear .event-linear-pca p{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .event-page-linear .event-linear-details,
  .event-page-linear .event-linear-program{
    padding:20px 16px !important;
  }

  .event-page-linear .event-linear-facts div{
    grid-template-columns:1fr !important;
    gap:3px !important;
    padding:10px 0 !important;
  }

  .event-page-linear .event-linear-facts dd,
  .event-page-linear .event-linear-steps li{
    font-size:14px !important;
  }

  .footer.footer-pro{
    text-align:left !important;
  }

  .footer.footer-pro .footer-shell{
    width:calc(100% - 30px) !important;
    padding:34px 0 24px !important;
  }

  .footer.footer-pro .footer-topline{
    align-items:center !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-grid{
    gap:26px !important;
  }

  .footer.footer-pro .footer-about{
    align-items:center !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    max-width:330px !important;
    margin:0 auto !important;
    padding-left:14px !important;
    border-left:1px solid rgba(255,255,255,.28) !important;
    text-align:left !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
  }

  .footer.footer-pro .footer-partners{
    align-items:center !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:20px !important;
    margin:0 auto !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    height:78px !important;
    max-width:218px !important;
    max-height:78px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    height:76px !important;
    max-width:156px !important;
    max-height:76px !important;
  }

  .footer.footer-pro .footer-bottom{
    align-items:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-bottom p{
    padding-left:14px !important;
    border-left:1px solid rgba(255,255,255,.22) !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    gap:14px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    height:70px !important;
    max-width:192px !important;
  }
  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    height:68px !important;
    max-width:136px !important;
  }
}

/* Refinement: spacing sezione Altri articoli */
.article-related{
  width:var(--container);
  margin:18px auto 0 !important;
  padding-top:10px !important;
  padding-bottom:72px !important;
}
.article-related .section-head{
  margin-bottom:22px !important;
  gap:10px !important;
  align-items:flex-start;
}
.article-related .section-head p{
  margin:0 !important;
  max-width:560px;
}
.article-related-grid{
  gap:22px !important;
  align-items:stretch;
}
.article-related-card{
  min-height:160px !important;
  padding:26px !important;
}
.article-related-card span{
  display:block;
  margin-bottom:26px;
}
.article-related-card strong{
  display:block;
}
@media (max-width:720px){
  .article-related{
    margin-top:6px !important;
    padding-top:0 !important;
    padding-bottom:52px !important;
  }
  .article-related .section-head{
    align-items:center;
    text-align:center;
    margin-bottom:18px !important;
  }
  .article-related-grid{
    gap:14px !important;
  }
  .article-related-card{
    min-height:140px !important;
    padding:22px !important;
  }
  .article-related-card span{
    margin-bottom:22px;
  }
}

/* === PATCH 2026-07-01: footer mobile ordine loghi + allineamenti === */
@media (max-width:760px){
  .footer.footer-pro,
  .footer.footer-pro *{
    text-align:left !important;
  }

  .footer.footer-pro .footer-shell{
    width:calc(100% - 30px) !important;
    max-width:390px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:34px 0 24px !important;
    align-items:stretch !important;
  }

  .footer.footer-pro .footer-topline{
    width:100% !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding-bottom:22px !important;
  }

  .footer.footer-pro .footer-brand{
    width:100% !important;
    justify-content:flex-start !important;
    justify-items:start !important;
    align-items:flex-start !important;
  }

  .footer.footer-pro .footer-brand img{
    width:min(250px, 72vw) !important;
    max-width:250px !important;
    margin:0 !important;
  }

  .footer.footer-pro .footer-grid{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:26px !important;
    width:100% !important;
    padding:24px 0 !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-about{
    order:1 !important;
    width:100% !important;
    align-items:flex-start !important;
  }

  .footer.footer-pro .footer-partners{
    order:2 !important;
    width:100% !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin-top:-10px !important;
  }

  .footer.footer-pro .footer-col{
    order:3 !important;
    width:100% !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    width:100% !important;
    max-width:350px !important;
    margin:0 !important;
    padding-left:14px !important;
    border-left:1px solid rgba(255,255,255,.28) !important;
    text-align:left !important;
    text-align-last:left !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:350px !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:20px !important;
    grid-template-columns:none !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    flex:0 1 205px !important;
    width:205px !important;
    max-width:58vw !important;
    height:74px !important;
    max-height:74px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    flex:0 1 145px !important;
    width:145px !important;
    max-width:34vw !important;
    height:72px !important;
    max-height:72px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer.footer-pro .footer-bottom{
    width:100% !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    text-align:left !important;
    padding-top:22px !important;
  }

  .footer.footer-pro .footer-bottom p{
    width:100% !important;
    max-width:350px !important;
    margin:0 !important;
    padding-left:14px !important;
    border-left:1px solid rgba(255,255,255,.22) !important;
    text-align:left !important;
    text-align-last:left !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-shell{
    width:calc(100% - 28px) !important;
    max-width:350px !important;
  }

  .footer.footer-pro .footer-logo-row{
    gap:14px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:184px !important;
    max-width:56vw !important;
    height:66px !important;
    max-height:66px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:128px !important;
    max-width:33vw !important;
    height:64px !important;
    max-height:64px !important;
  }
}

/* === PATCH 2026-07-01: footer mobile allineamento pulito + loghi stessa riga === */
@media (max-width:760px){
  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p,
  .footer.footer-pro .footer-bottom p{
    padding-left:0 !important;
    border-left:0 !important;
    margin-left:0 !important;
    max-width:350px !important;
  }

  .footer.footer-pro .footer-bottom{
    padding-left:0 !important;
    margin-left:0 !important;
    align-items:flex-start !important;
  }

  .footer.footer-pro .footer-logo-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    width:100% !important;
    max-width:350px !important;
    margin:4px auto 0 !important;
    overflow:visible !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    flex:0 1 auto !important;
    width:min(48vw, 178px) !important;
    max-width:178px !important;
    height:70px !important;
    max-height:70px !important;
    object-fit:contain !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    flex:0 1 auto !important;
    width:min(36vw, 132px) !important;
    max-width:132px !important;
    height:68px !important;
    max-height:68px !important;
    object-fit:contain !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    gap:12px !important;
    max-width:324px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:min(47vw, 162px) !important;
    max-width:162px !important;
    height:64px !important;
    max-height:64px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:min(35vw, 120px) !important;
    max-width:120px !important;
    height:62px !important;
    max-height:62px !important;
  }
}

/* === PATCH 2026-07-01: footer mobile tutto centrato === */
@media (max-width:760px){
  .footer.footer-pro,
  .footer.footer-pro *{
    text-align:center !important;
  }

  .footer.footer-pro .footer-shell{
    width:calc(100% - 30px) !important;
    max-width:390px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:34px 0 24px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }

  .footer.footer-pro .footer-topline{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    padding-bottom:22px !important;
  }

  .footer.footer-pro .footer-brand{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    justify-items:center !important;
  }

  .footer.footer-pro .footer-brand img{
    width:min(250px, 72vw) !important;
    max-width:250px !important;
    height:auto !important;
    margin:0 auto !important;
  }

  .footer.footer-pro .footer-grid{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    justify-items:center !important;
    gap:24px !important;
    padding:22px 0 !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-about{
    order:1 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    width:100% !important;
    max-width:340px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    border-left:0 !important;
    text-align:center !important;
    text-align-last:center !important;
    line-height:1.48 !important;
  }

  .footer.footer-pro .footer-partners{
    order:2 !important;
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-items:center !important;
    margin:0 auto !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:350px !important;
    margin:0 auto !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:16px !important;
    grid-template-columns:none !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    flex:0 1 auto !important;
    width:min(48vw, 178px) !important;
    max-width:178px !important;
    height:70px !important;
    max-height:70px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    flex:0 1 auto !important;
    width:min(36vw, 132px) !important;
    max-width:132px !important;
    height:68px !important;
    max-height:68px !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 !important;
    padding:0 !important;
  }

  .footer.footer-pro .footer-col{
    order:3 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-col h3,
  .footer.footer-pro .footer-col a{
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
    text-align-last:center !important;
  }

  .footer.footer-pro .footer-bottom{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    padding-top:20px !important;
    padding-left:0 !important;
    margin-left:0 !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-bottom p{
    width:100% !important;
    max-width:340px !important;
    margin:0 auto !important;
    padding-left:0 !important;
    border-left:0 !important;
    text-align:center !important;
    text-align-last:center !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    max-width:324px !important;
    gap:12px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:min(47vw, 162px) !important;
    max-width:162px !important;
    height:64px !important;
    max-height:64px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:min(35vw, 120px) !important;
    max-width:120px !important;
    height:62px !important;
    max-height:62px !important;
  }
}

/* === PATCH 2026-07-01: footer mobile definitivo === */
.footer.footer-pro .footer-about-mobile{
  display:none !important;
}
.footer.footer-pro .footer-logo-row img{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.footer.footer-pro .footer-copy-line{
  display:inline !important;
}

@media (max-width:760px){
  .footer.footer-pro{
    margin-top:54px !important;
    background:#070707 !important;
  }

  .footer.footer-pro,
  .footer.footer-pro *{
    box-sizing:border-box !important;
  }

  .footer.footer-pro .footer-shell{
    width:calc(100% - 32px) !important;
    max-width:420px !important;
    margin:0 auto !important;
    padding:34px 0 26px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
  }

  .footer.footer-pro .footer-topline{
    width:100% !important;
    padding:0 0 14px !important;
    margin:0 !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-brand{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }

  .footer.footer-pro .footer-brand img{
    width:min(280px, 74vw) !important;
    max-width:280px !important;
    height:auto !important;
    margin:0 auto !important;
    display:block !important;
  }

  .footer.footer-pro .footer-grid{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:22px !important;
    padding:0 0 24px !important;
    border-top:0 !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-partners{
    order:1 !important;
    width:100% !important;
    max-width:390px !important;
    margin:0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:390px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    grid-template-columns:none !important;
    overflow:visible !important;
  }

  .footer.footer-pro .footer-logo-row img{
    display:block !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    filter:drop-shadow(0 12px 26px rgba(0,0,0,.34)) !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    flex:0 1 auto !important;
    width:min(54vw, 214px) !important;
    max-width:214px !important;
    height:86px !important;
    max-height:86px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    flex:0 1 auto !important;
    width:min(38vw, 154px) !important;
    max-width:154px !important;
    height:84px !important;
    max-height:84px !important;
  }

  .footer.footer-pro .footer-about{
    order:2 !important;
    width:100% !important;
    margin:0 auto !important;
    padding:2px 0 6px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .footer.footer-pro .footer-about-desktop{
    display:none !important;
  }

  .footer.footer-pro .footer-about-mobile{
    display:block !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    width:100% !important;
    max-width:350px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    color:#ffffff !important;
    font-size:clamp(23px,7.2vw,34px) !important;
    font-weight:900 !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
    text-align:center !important;
    text-align-last:center !important;
  }

  .footer.footer-pro .footer-col{
    order:3 !important;
    width:100% !important;
    max-width:350px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:10px !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-col-contact{
    order:4 !important;
    padding-top:4px !important;
  }

  .footer.footer-pro .footer-col h3{
    width:100% !important;
    margin:0 0 4px !important;
    padding:0 !important;
    color:rgba(255,255,255,.52) !important;
    font-size:11px !important;
    line-height:1 !important;
    letter-spacing:.18em !important;
    text-align:left !important;
    text-align-last:left !important;
  }

  .footer.footer-pro .footer-col a{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    color:rgba(255,255,255,.84) !important;
    font-size:15px !important;
    line-height:1.24 !important;
    text-align:left !important;
    text-align-last:left !important;
  }

  .footer.footer-pro .footer-bottom{
    width:100% !important;
    max-width:350px !important;
    margin:0 auto !important;
    padding-top:20px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:11px !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-bottom p{
    width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    color:rgba(255,255,255,.66) !important;
    font-size:13px !important;
    line-height:1.45 !important;
    text-align:center !important;
    text-align-last:center !important;
  }

  .footer.footer-pro .footer-bottom a{
    color:#ffffff !important;
    font-weight:900 !important;
  }

  .footer.footer-pro .footer-copy-line{
    display:block !important;
  }

  .footer.footer-pro .footer-credit{
    color:rgba(255,255,255,.74) !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    max-width:348px !important;
    gap:14px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:min(54vw, 194px) !important;
    max-width:194px !important;
    height:78px !important;
    max-height:78px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:min(37vw, 138px) !important;
    max-width:138px !important;
    height:76px !important;
    max-height:76px !important;
  }
}


/* Language switch */
.header nav a.language-link {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 0.45rem 0.75rem;
  line-height: 1;
}
@media (max-width: 820px) {
  .header nav a.language-link {
    margin-top: 0.65rem;
    padding: 0.65rem 1rem;
  }
}

/* === PATCH 2026-07-01: pulsante lingua EN/IT sistemato === */
.header nav a.language-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  min-width:42px !important;
  height:34px !important;
  margin-left:8px !important;
  padding:0 13px !important;
  border:1px solid rgba(0,0,0,.28) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.62) !important;
  color:var(--black) !important;
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  box-shadow:none !important;
  transform:none !important;
}
.header nav a.language-link::after{
  display:none !important;
  content:none !important;
}
.header nav a.language-link:hover,
.header nav a.language-link:focus-visible{
  background:var(--black) !important;
  color:var(--white) !important;
  border-color:var(--black) !important;
  transform:none !important;
}

@media (max-width:1080px){
  .header.menu-open nav a.language-link{
    width:auto !important;
    min-width:66px !important;
    height:42px !important;
    margin:18px auto 0 !important;
    padding:0 18px !important;
    border:1px solid rgba(255,255,255,.42) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.10) !important;
    color:#ffffff !important;
    font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04) !important;
  }
  .header.menu-open nav a.language-link:hover,
  .header.menu-open nav a.language-link:focus-visible{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
    transform:none !important;
  }
  .header.menu-open nav a.language-link::after{
    display:none !important;
    content:none !important;
  }
}

@media (max-width:420px){
  .header.menu-open nav a.language-link{
    min-width:60px !important;
    height:38px !important;
    margin-top:14px !important;
    font-size:12px !important;
  }
}

/* === PATCH 2026-07-01: footer mobile testo completo sotto logo + loghi sotto testo === */
@media (max-width:760px){
  .footer.footer-pro .footer-grid{
    gap:20px !important;
    padding-top:2px !important;
  }

  .footer.footer-pro .footer-about{
    order:1 !important;
    width:100% !important;
    max-width:360px !important;
    margin:0 auto !important;
    padding:2px 0 0 !important;
  }

  .footer.footer-pro .footer-partners{
    order:2 !important;
    width:100% !important;
    max-width:390px !important;
    margin:2px auto 8px !important;
    padding:0 !important;
  }

  .footer.footer-pro .footer-about-desktop{
    display:none !important;
  }

  .footer.footer-pro .footer-about-mobile{
    display:inline !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    max-width:360px !important;
    color:rgba(255,255,255,.82) !important;
    font-family:Inter, Arial, sans-serif !important;
    font-size:15.5px !important;
    font-weight:500 !important;
    line-height:1.48 !important;
    letter-spacing:-.01em !important;
    text-align:center !important;
    text-align-last:center !important;
  }

  .footer.footer-pro .footer-logo-row{
    max-width:390px !important;
    gap:20px !important;
    margin:0 auto !important;
    justify-content:center !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:min(56vw, 226px) !important;
    max-width:226px !important;
    height:92px !important;
    max-height:92px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:min(40vw, 164px) !important;
    max-width:164px !important;
    height:90px !important;
    max-height:90px !important;
  }

  .footer.footer-pro .footer-col-explore{
    order:3 !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-col-contact{
    order:4 !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-bottom{
    order:5 !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    max-width:330px !important;
    font-size:14.5px !important;
    line-height:1.46 !important;
  }

  .footer.footer-pro .footer-logo-row{
    max-width:350px !important;
    gap:14px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:min(55vw, 198px) !important;
    max-width:198px !important;
    height:82px !important;
    max-height:82px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:min(39vw, 144px) !important;
    max-width:144px !important;
    height:80px !important;
    max-height:80px !important;
  }
}

/* === Patch 2026-07-01: popup mobile bianco + hover CBB bianco === */
@media (max-width:1080px){
  body.menu-lock{
    background:#ffffff !important;
  }

  .header.menu-open{
    background:rgba(255,255,255,.96) !important;
    border-color:rgba(0,0,0,.10) !important;
    color:#111111 !important;
    box-shadow:0 18px 48px rgba(0,0,0,.14) !important;
    backdrop-filter:blur(22px) saturate(135%) !important;
    -webkit-backdrop-filter:blur(22px) saturate(135%) !important;
  }

  .header.menu-open::before{
    background:#ffffff !important;
  }

  .header.menu-open .brand-logo{
    filter:none !important;
  }

  .header.menu-open .menu-toggle{
    border:1px solid rgba(0,0,0,.10) !important;
    background:rgba(0,0,0,.045) !important;
    color:#111111 !important;
    box-shadow:none !important;
  }

  .header.menu-open .menu-toggle span{
    background:#111111 !important;
  }

  .header.menu-open nav{
    background:#ffffff !important;
  }

  .header.menu-open nav a{
    color:rgba(0,0,0,.78) !important;
    background:transparent !important;
  }

  .header.menu-open nav a:hover,
  .header.menu-open nav a[aria-current='page']{
    color:#000000 !important;
    background:transparent !important;
    border-color:transparent !important;
  }

  .header.menu-open nav a::after{
    background:currentColor !important;
  }
}

.footer-credit a,
.footer-credit a:visited,
.footer-bottom .footer-credit a,
.footer-bottom .footer-credit a:visited{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

.footer-credit a:hover,
.footer-credit a:focus-visible,
.footer-bottom .footer-credit a:hover,
.footer-bottom .footer-credit a:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:underline !important;
  text-underline-offset:4px !important;
}


/* Legal information in contacts and footer */
.contact-legal{
  margin-top:18px;
  display:grid;
  gap:6px;
}
.contact-legal p{
  margin:0 !important;
  color:var(--black) !important;
  font-size:15px !important;
  line-height:1.45 !important;
  text-align:left !important;
}
.footer-legal-info{
  display:grid;
  gap:3px;
  margin:2px 0 4px;
}
.footer-legal-info p{
  margin:0 !important;
  color:rgba(255,255,255,.72) !important;
  font-family:'Inter',system-ui,sans-serif;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.28 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.footer-legal-info strong{
  color:#ffffff !important;
  font-weight:900 !important;
}
@media (max-width: 720px){
  .contact-legal{
    width:100%;
    max-width:350px;
    margin:18px auto 0;
  }
  .contact-legal p{
    text-align:center !important;
    text-align-last:center !important;
  }
  .footer.footer-pro .footer-legal-info{
    width:100% !important;
    margin:2px 0 4px !important;
    text-align:left !important;
  }
  .footer.footer-pro .footer-legal-info p{
    width:100% !important;
    font-size:12px !important;
    line-height:1.32 !important;
    text-align:left !important;
    text-align-last:left !important;
  }
}

/* === PATCH 2026-07-01: mobile carousel eventi + footer informazioni/loghi === */
.footer-info-title{
  margin:0 0 10px !important;
  color:rgba(255,255,255,.52) !important;
  font-family:'Inter',system-ui,sans-serif !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

.footer-about{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:0 !important;
}

.footer-copy-rights{
  display:none !important;
}

.footer-credit a,
.footer-credit a:visited,
.footer-bottom .footer-credit a,
.footer-bottom .footer-credit a:visited,
.footer-credit a:hover,
.footer-credit a:focus-visible,
.footer-bottom .footer-credit a:hover,
.footer-bottom .footer-credit a:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

.home-events-slideshow{
  overflow:hidden !important;
  border-radius:30px !important;
}

.home-events-slideshow .home-events-track{
  display:flex !important;
  grid-template-columns:none !important;
  gap:18px !important;
  align-items:stretch !important;
  transition:transform .55s ease !important;
  will-change:transform !important;
  transform:var(--home-events-slide-offset, translate3d(0, 0, 0)) !important;
}

.home-events-slideshow .event-card{
  flex:0 0 calc((100% - 36px) / 3) !important;
  min-width:0 !important;
}

.home-events-controls{
  display:flex !important;
}

@media (max-width:940px) and (min-width:621px){
  .home-events-slideshow .event-card{
    flex-basis:calc((100% - 18px) / 2) !important;
  }
}

@media (max-width:620px){
  .home-events-slideshow{
    width:100% !important;
    margin-top:26px !important;
    overflow:hidden !important;
    border-radius:26px !important;
    padding:0 !important;
  }

  .home-events-slideshow .home-events-track{
    width:100% !important;
    display:flex !important;
    grid-template-columns:none !important;
    gap:16px !important;
    align-items:stretch !important;
    transition:transform .5s ease !important;
    will-change:transform !important;
    transform:var(--home-events-slide-offset, translate3d(0, 0, 0)) !important;
  }

  .home-events-slideshow .event-card{
    flex:0 0 100% !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    text-align:left !important;
    transform:none !important;
  }

  .home-events-slideshow .event-card.is-active{
    border-color:rgba(255,255,255,.52) !important;
    box-shadow:0 24px 64px rgba(0,0,0,.13) !important;
  }

  .home-events-slideshow .event-card .event-card-image{
    width:100% !important;
    height:188px !important;
    min-height:188px !important;
    object-fit:cover !important;
  }

  .home-events-slideshow .event-card > div{
    min-height:0 !important;
    align-items:flex-start !important;
    text-align:left !important;
    padding:21px 19px 23px !important;
  }

  .home-events-controls{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
    margin-top:16px !important;
  }

  .home-events-arrow{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
  }

  .footer.footer-pro .footer-grid{
    gap:22px !important;
  }

  .footer.footer-pro .footer-about{
    order:1 !important;
    width:100% !important;
    max-width:380px !important;
    margin:0 auto !important;
    padding:0 !important;
    align-items:center !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-info-title{
    margin:0 0 10px !important;
    text-align:center !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p{
    max-width:370px !important;
    text-align:center !important;
    text-align-last:center !important;
  }

  .footer.footer-pro .footer-partners{
    order:2 !important;
    width:100% !important;
    max-width:420px !important;
    margin:0 auto 8px !important;
    align-items:center !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:min(100%, 410px) !important;
    max-width:410px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) !important;
    gap:16px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
  }

  .footer.footer-pro .footer-logo-row img,
  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina,
  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    object-fit:contain !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    max-height:128px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    max-height:114px !important;
  }

  .footer.footer-pro .footer-col-explore{
    order:3 !important;
    width:100% !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-col-contact{
    order:4 !important;
    width:100% !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-bottom{
    order:5 !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    width:100% !important;
    max-width:352px !important;
    grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr) !important;
    gap:12px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    max-height:116px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    max-height:102px !important;
  }
}

/* === PATCH 2026-07-01: mobile popup nero, container bianco, loghi footer in fondo, contatti sx === */
@media (max-width:1080px){
  body.menu-lock{
    background:#000000 !important;
    overflow:hidden !important;
    height:100dvh !important;
    touch-action:none !important;
  }

  .header.menu-open{
    background:#ffffff !important;
    border-color:rgba(255,255,255,.86) !important;
    color:#111111 !important;
    box-shadow:0 18px 48px rgba(0,0,0,.36) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  .header.menu-open::before{
    background:#000000 !important;
  }

  .header.menu-open .brand-logo{
    filter:none !important;
  }

  .header.menu-open .menu-toggle{
    border:1px solid rgba(0,0,0,.12) !important;
    background:#ffffff !important;
    color:#111111 !important;
    box-shadow:none !important;
  }

  .header.menu-open .menu-toggle span{
    background:#111111 !important;
  }

  .header.menu-open nav{
    background:#000000 !important;
  }

  .header.menu-open nav a{
    color:rgba(255,255,255,.84) !important;
    background:transparent !important;
    border-color:transparent !important;
  }

  .header.menu-open nav a:hover,
  .header.menu-open nav a:focus-visible,
  .header.menu-open nav a[aria-current='page']{
    color:#ffffff !important;
    background:transparent !important;
    border-color:transparent !important;
  }

  .header.menu-open nav a::after{
    background:currentColor !important;
  }

  .header.menu-open nav a.language-link{
    border:1px solid rgba(255,255,255,.46) !important;
    background:rgba(255,255,255,.08) !important;
    color:#ffffff !important;
  }

  .header.menu-open nav a.language-link:hover,
  .header.menu-open nav a.language-link:focus-visible{
    background:#ffffff !important;
    color:#000000 !important;
    border-color:#ffffff !important;
  }
}

@media (max-width:760px){
  .footer.footer-pro .footer-grid{
    display:flex !important;
    flex-direction:column !important;
  }

  .footer.footer-pro .footer-about{
    order:1 !important;
  }

  .footer.footer-pro .footer-col-explore{
    order:2 !important;
  }

  .footer.footer-pro .footer-col-contact{
    order:3 !important;
  }

  .footer.footer-pro .footer-bottom{
    order:4 !important;
    margin-bottom:6px !important;
  }

  .footer.footer-pro .footer-partners{
    order:5 !important;
    width:100% !important;
    max-width:430px !important;
    margin:14px auto 0 !important;
    padding-top:6px !important;
    align-items:center !important;
  }

  .footer.footer-pro .footer-logo-row{
    width:min(100%, 420px) !important;
    max-width:420px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr) !important;
    gap:16px !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    width:100% !important;
    max-width:none !important;
    max-height:126px !important;
    height:auto !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    width:100% !important;
    max-width:none !important;
    max-height:112px !important;
    height:auto !important;
  }

  .page-contatti .contact-info,
  .page-contatti .contact-legal{
    align-items:flex-start !important;
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .page-contatti .contact-info p,
  .page-contatti .contact-legal p{
    text-align:left !important;
    text-align-last:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

@media (max-width:390px){
  .footer.footer-pro .footer-logo-row{
    max-width:356px !important;
    gap:12px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-valtellina{
    max-height:112px !important;
  }

  .footer.footer-pro .footer-logo-row img.footer-logo-pca{
    max-height:100px !important;
  }
}

/* === PATCH 2026-07-01: underline CBB Studios bianca === */
.footer-credit a,
.footer-credit a:visited,
.footer-credit a:hover,
.footer-credit a:focus-visible,
.footer-bottom .footer-credit a,
.footer-bottom .footer-credit a:visited,
.footer-bottom .footer-credit a:hover,
.footer-bottom .footer-credit a:focus-visible{
  text-decoration-color:#ffffff !important;
  -webkit-text-decoration-color:#ffffff !important;
}

/* === PATCH 2026-07-01: mobile slideshow arrows + footer info left === */
@media (max-width:620px){
  .home-events-arrow,
  .home-events-arrow:hover,
  .home-events-arrow:focus,
  .home-events-arrow:focus-visible,
  .home-events-arrow:active{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }
}

@media (max-width:760px){
  .footer.footer-pro .footer-about{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    align-items:flex-start !important;
    text-align:left !important;
  }

  .footer.footer-pro .footer-info-title{
    width:100% !important;
    margin:0 0 10px !important;
    text-align:left !important;
    text-align-last:left !important;
  }

  .footer.footer-pro .footer-about-main,
  .footer.footer-pro .footer-about p,
  .footer.footer-pro .footer-about span{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
    text-align-last:left !important;
  }
}

/* === PATCH 2026-07-01: più spazio mobile tra logo Jazztellina e Informazioni === */
@media (max-width:760px){
  .footer.footer-pro .footer-topline{
    padding-bottom:34px !important;
  }

  .footer.footer-pro .footer-grid{
    gap:24px !important;
  }
}

/* === PATCH 2026-07-01: CBB Studios no underline when inactive === */
.footer-credit a,
.footer-credit a:visited,
.footer-bottom .footer-credit a,
.footer-bottom .footer-credit a:visited{
  text-decoration:none !important;
  text-decoration-color:transparent !important;
  -webkit-text-decoration-color:transparent !important;
  border-bottom:0 !important;
  background-image:none !important;
  box-shadow:none !important;
}

.footer-credit a:hover,
.footer-credit a:focus-visible,
.footer-bottom .footer-credit a:hover,
.footer-bottom .footer-credit a:focus-visible{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:underline !important;
  text-decoration-color:#ffffff !important;
  -webkit-text-decoration-color:#ffffff !important;
  text-underline-offset:4px !important;
}

.footer-credit a:active,
.footer-bottom .footer-credit a:active{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:underline !important;
  text-decoration-color:#ffffff !important;
  -webkit-text-decoration-color:#ffffff !important;
}

/* === PATCH 2026-07-03: sponsor/contributi layout finale === */
/* Diminuisce leggermente i due loghi principali mantenendo lo stile originale */
.logo-grid-featured-contributo{
  max-width:860px !important;
  gap:20px !important;
}
.logo-slot-featured{
  padding:20px !important;
}
.logo-slot-featured img{
  height:190px !important;
  max-height:190px !important;
  object-fit:contain !important;
}

/* Loghi istituzionali: tre loghi per fila, leggermente più grandi */
.logo-grid-secondary-contributo{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.logo-grid-secondary-contributo .logo-slot{
  min-height:250px !important;
  padding:24px 18px !important;
}
.logo-grid-secondary-contributo .logo-slot img{
  height:176px !important;
  max-height:176px !important;
  object-fit:contain !important;
}
.logo-grid-secondary-contributo .logo-slot:first-child img{
  height:176px !important;
  max-height:176px !important;
}

@media (max-width:900px){
  .logo-grid-secondary-contributo{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:680px !important;
  }
}
@media (max-width:700px){
  .logo-grid-featured-contributo{
    max-width:420px !important;
  }
  .logo-slot-featured img{
    height:118px !important;
    max-height:118px !important;
  }
  .logo-grid-secondary-contributo{
    grid-template-columns:1fr !important;
    max-width:360px !important;
    gap:14px !important;
  }
  .logo-grid-secondary-contributo .logo-slot{
    min-height:0 !important;
    padding:22px 18px !important;
  }
  .logo-grid-secondary-contributo .logo-slot img,
  .logo-grid-secondary-contributo .logo-slot:first-child img{
    height:148px !important;
    max-height:148px !important;
  }
}


/* === PATCH 2026-07-06: popup nav header bianco + sponsor logos reali === */
@media (max-width:1080px){
  body.menu-lock{
    background:#000000 !important;
    overflow:hidden !important;
    height:100dvh !important;
  }
  .header.menu-open{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:12px 18px !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.12) !important;
    border-radius:0 !important;
    background:#ffffff !important;
    color:#111111 !important;
    box-shadow:0 10px 34px rgba(0,0,0,.22) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    z-index:9999 !important;
  }
  .header.menu-open::before{
    background:#000000 !important;
    inset:0 !important;
  }
  .header.menu-open .brand,
  .header.menu-open .menu-toggle{
    position:relative !important;
    z-index:3 !important;
  }
  .header.menu-open .brand-logo{
    filter:none !important;
  }
  .header.menu-open .menu-toggle{
    background:#ffffff !important;
    color:#111111 !important;
    border:1px solid rgba(0,0,0,.14) !important;
    box-shadow:none !important;
  }
  .header.menu-open .menu-toggle span{
    background:#111111 !important;
  }
  .header.menu-open nav{
    position:fixed !important;
    inset:0 !important;
    z-index:-1 !important;
    width:100vw !important;
    height:100dvh !important;
    padding:118px 22px 54px !important;
    background:#000000 !important;
  }
  .header.menu-open nav a{
    color:rgba(255,255,255,.86) !important;
  }
  .header.menu-open nav a:hover,
  .header.menu-open nav a:focus-visible,
  .header.menu-open nav a[aria-current='page']{
    color:#ffffff !important;
  }
}
.logo-grid-sponsors .logo-slot{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:224px !important;
  background:#ffffff !important;
}
.logo-grid-sponsors .logo-slot img{
  width:100% !important;
  height:180px !important;
  max-height:180px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  border-radius:18px !important;
}
@media (max-width:700px){
  .logo-grid-sponsors{
    grid-template-columns:1fr !important;
    max-width:380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .logo-grid-sponsors .logo-slot{
    min-height:214px !important;
  }
  .logo-grid-sponsors .logo-slot img{
    height:170px !important;
    max-height:170px !important;
  }
}


/* Sponsors grid refined: fewer logos, larger and better centered */
.logo-grid-sponsors{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
  max-width:1040px !important;
  margin:0 auto !important;
}
.logo-grid-sponsors .logo-slot{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:260px !important;
  padding:28px !important;
  text-align:center !important;
}
.logo-grid-sponsors .logo-slot img{
  width:100% !important;
  height:210px !important;
  max-height:210px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border-radius:0 !important;
}
.logo-grid-sponsors .logo-slot:last-child{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:560px !important;
  justify-self:center !important;
}
@media (max-width:700px){
  .logo-grid-sponsors{
    grid-template-columns:1fr !important;
    max-width:420px !important;
  }
  .logo-grid-sponsors .logo-slot{
    min-height:230px !important;
    padding:24px !important;
  }
  .logo-grid-sponsors .logo-slot img{
    height:180px !important;
    max-height:180px !important;
  }
  .logo-grid-sponsors .logo-slot:last-child{
    grid-column:auto !important;
    max-width:none !important;
  }
}


/* Sponsors grid final: 4 logos only, HQ assets, 2x2 balanced layout */
.logo-grid-sponsors{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  max-width:1100px !important;
  margin:0 auto !important;
}
.logo-grid-sponsors .logo-slot{
  min-height:280px !important;
  padding:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.logo-grid-sponsors .logo-slot img{
  width:100% !important;
  height:230px !important;
  max-height:230px !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border-radius:0 !important;
}
.logo-grid-sponsors .logo-slot:last-child{
  grid-column:auto !important;
  width:auto !important;
  max-width:none !important;
  justify-self:auto !important;
}
@media (max-width:700px){
  .logo-grid-sponsors{
    grid-template-columns:1fr !important;
    max-width:440px !important;
  }
  .logo-grid-sponsors .logo-slot{
    min-height:240px !important;
    padding:24px !important;
  }
  .logo-grid-sponsors .logo-slot img{
    height:185px !important;
    max-height:185px !important;
  }
}


/* Sponsors/Thanks refinements July 2026 */
.sponsor-subtitle{
  margin:10px 0 0 !important;
  font-size:0.95rem !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
  color:rgba(0,0,0,.62) !important;
}
.sponsor-names-block{
  max-width:1100px !important;
  margin:18px auto 0 !important;
}
.sponsor-names-list{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.sponsor-names-list li{
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:var(--shadow) !important;
  padding:14px 16px !important;
  text-align:center !important;
  font-size:0.98rem !important;
  line-height:1.3 !important;
}
.logo-slot-iperverde img{
  object-position:center center !important;
  transform:scale(1.04) !important;
}
.logo-grid-thanks-text{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.logo-slot-thanks-text{
  min-height:88px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
}
.logo-slot-thanks-text .thanks-label{
  margin:0 !important;
  font-weight:700 !important;
  font-size:1rem !important;
  letter-spacing:0.04em !important;
  text-transform:uppercase !important;
  text-align:center !important;
}
@media (max-width:900px){
  .sponsor-names-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .logo-grid-thanks-text{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:700px){
  .sponsor-names-list{
    grid-template-columns:1fr !important;
  }
  .logo-grid-thanks-text{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .logo-slot-thanks-text{
    min-height:74px !important;
    padding:14px !important;
  }
  .logo-slot-thanks-text .thanks-label{
    font-size:0.88rem !important;
  }
}


/* Sponsors inline thanks + IperVerde centering */
.logo-slot-iperverde{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.logo-slot-iperverde img{
  object-position:center center !important;
  transform:none !important;
  display:block !important;
  margin:auto !important;
}
.thanks-inline-list{
  max-width:1100px !important;
  margin:8px auto 0 !important;
  font-size:1rem !important;
  line-height:1.75 !important;
  color:var(--ink) !important;
  text-align:center !important;
}
@media (max-width:700px){
  .thanks-inline-list{
    font-size:0.96rem !important;
    line-height:1.7 !important;
  }
}


/* July 2026 fixes */
.page-jazz .internal-hero.news-hero{
  margin-bottom:8px !important;
  padding-bottom:34px !important;
}
.page-jazz .intro-block{
  padding-top:18px !important;
  margin-top:0 !important;
}
.page-jazz .intro-block .section-head{
  margin-top:0 !important;
}
.thanks-inline-list{
  text-align:center !important;
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.logo-grid-sponsors .logo-slot.logo-slot-iperverde{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.logo-grid-sponsors .logo-slot.logo-slot-iperverde img{
  display:block !important;
  margin:auto !important;
  object-position:center center !important;
  transform:translateY(-4px) !important;
}


/* Event pages: removed the "Esperienza" card, keep details clean and full width */
.event-page-linear .event-linear-grid{
  grid-template-columns:1fr !important;
  max-width:min(980px, var(--container)) !important;
}

.event-page-linear .event-linear-details{
  width:100% !important;
  margin:0 auto !important;
}


/* === FINAL PATCH 2026-07-06: allineamento layout eventi === */
.event-page-linear > .event-linear-grid{
  width:var(--container) !important;
  max-width:var(--container) !important;
  margin:0 auto !important;
}

/* Dopo la rimozione della card Esperienza resta un solo blocco: mantienilo piena larghezza */
.event-page-linear .event-linear-grid,
.event-page-linear .event-linear-grid:has(> :only-child){
  grid-template-columns:minmax(0,1fr) !important;
}

.event-page-linear .event-linear-details{
  width:100% !important;
  max-width:100% !important;
}

.event-page-linear .event-linear-panel,
.event-page-linear .event-linear-description,
.event-page-linear .event-linear-food,
.event-page-linear .event-linear-pca,
.event-page-linear .event-linear-next{
  box-sizing:border-box !important;
}

.page-jazz .calendar-list{
  align-items:stretch !important;
}

.page-jazz .calendar-item.event-list-item,
.page-jazz .event-agenda-card{
  min-height:160px !important;
}

.page-jazz .calendar-info.event-agenda-info,
.page-jazz .event-agenda-info{
  align-self:stretch !important;
}

.page-jazz .event-place-line{
  margin-top:4px !important;
}

@media (max-width:860px){
  .event-page-linear > .event-linear-grid{
    width:calc(100% - 24px) !important;
    max-width:calc(100% - 24px) !important;
  }
}

@media (max-width:620px){
  .event-page-linear > .event-linear-grid{
    width:calc(100% - 18px) !important;
    max-width:calc(100% - 18px) !important;
  }
}


/* === FINAL PATCH 2026-07-06: spacing eventi ordinato === */
.event-page-linear{
  display:block !important;
}

.event-page-linear > .event-linear-hero{
  margin-top:clamp(18px,3vw,34px) !important;
  margin-bottom:clamp(22px,3.4vw,42px) !important;
}

.event-page-linear .event-back-link{
  margin-bottom:clamp(14px,2vw,22px) !important;
}

.event-page-linear .event-linear-card{
  gap:clamp(24px,4vw,58px) !important;
  padding:clamp(20px,3.6vw,44px) !important;
  align-items:center !important;
}

.event-page-linear .event-linear-copy{
  gap:clamp(10px,1.4vw,16px) !important;
}

.event-page-linear .event-linear-copy h1{
  margin:0 !important;
}

.event-page-linear .event-linear-subtitle{
  margin:0 !important;
}

.event-page-linear .event-linear-actions{
  margin-top:clamp(8px,1.2vw,14px) !important;
}

.event-page-linear > .event-linear-grid,
.event-page-linear > .event-linear-description,
.event-page-linear > .event-linear-pca,
.event-page-linear > .event-linear-food,
.event-page-linear > .event-linear-next{
  margin-top:clamp(18px,2.8vw,34px) !important;
  margin-bottom:0 !important;
}

.event-page-linear .event-linear-panel,
.event-page-linear .event-linear-description,
.event-page-linear .event-linear-food,
.event-page-linear .event-linear-pca{
  padding:clamp(22px,3vw,36px) !important;
}

.event-page-linear .event-linear-panel .eyebrow,
.event-page-linear .event-linear-copy .eyebrow{
  margin:0 0 10px !important;
}

.event-page-linear .event-linear-panel h2,
.event-page-linear .event-linear-next .section-head h2{
  margin:0 0 clamp(14px,1.8vw,22px) !important;
}

.event-page-linear .event-linear-panel p,
.event-page-linear .event-linear-description p,
.event-page-linear .event-linear-food p,
.event-page-linear .event-linear-pca p{
  margin-top:0 !important;
  margin-bottom:12px !important;
}

.event-page-linear .event-linear-panel p:last-child,
.event-page-linear .event-linear-description p:last-child,
.event-page-linear .event-linear-food p:last-child,
.event-page-linear .event-linear-pca p:last-child{
  margin-bottom:0 !important;
}

.event-page-linear .event-linear-facts{
  row-gap:0 !important;
  margin:0 !important;
}

.event-page-linear .event-linear-facts div{
  padding:12px 0 !important;
}

.event-page-linear .event-linear-next{
  padding-top:clamp(18px,2.8vw,30px) !important;
}

.event-page-linear .event-linear-next .section-head{
  margin-bottom:clamp(16px,2.4vw,26px) !important;
  align-items:center !important;
}

.event-page-linear .event-mini-list{
  gap:10px !important;
}

.event-page-linear .event-mini-row{
  padding:16px 18px !important;
  gap:14px !important;
  align-items:center !important;
}

/* pagina Programma: spazi più regolari tra le card */
.page-jazz .calendar-section{
  padding-top:clamp(24px,3vw,42px) !important;
}

.page-jazz .calendar-list{
  gap:clamp(14px,2vw,22px) !important;
}

.page-jazz .calendar-item.event-list-item,
.page-jazz .event-agenda-card{
  padding:clamp(14px,1.8vw,20px) !important;
  gap:clamp(16px,2.4vw,28px) !important;
}

.page-jazz .calendar-info.event-agenda-info,
.page-jazz .event-agenda-info{
  gap:6px !important;
}

.page-jazz .event-date-title,
.page-jazz .calendar-info h2.event-date-title{
  margin:0 0 2px !important;
}

.page-jazz .event-place-line{
  margin-top:4px !important;
}

@media (max-width:760px){
  .event-page-linear > .event-linear-hero{
    margin-top:14px !important;
    margin-bottom:18px !important;
  }

  .event-page-linear .event-linear-card{
    padding:16px !important;
    gap:16px !important;
  }

  .event-page-linear > .event-linear-grid,
  .event-page-linear > .event-linear-description,
  .event-page-linear > .event-linear-pca,
  .event-page-linear > .event-linear-food,
  .event-page-linear > .event-linear-next{
    margin-top:14px !important;
  }

  .event-page-linear .event-linear-panel,
  .event-page-linear .event-linear-description,
  .event-page-linear .event-linear-food,
  .event-page-linear .event-linear-pca{
    padding:18px 16px !important;
  }

  .event-page-linear .event-linear-next .section-head{
    gap:12px !important;
    margin-bottom:14px !important;
  }

  .event-page-linear .event-mini-row{
    padding:14px 14px !important;
    gap:8px !important;
  }

  .page-jazz .calendar-section{
    padding-top:14px !important;
  }

  .page-jazz .calendar-list{
    gap:12px !important;
  }

  .page-jazz .calendar-item.event-list-item,
  .page-jazz .event-agenda-card{
    gap:10px !important;
    padding:12px !important;
  }
}


/* === FINAL PATCH 2026-07-06: fix foto mobile === */
@media (max-width:760px){
  .home-events-slideshow .event-card,
  .event-grid .event-card,
  .calendar-item.event-list-item,
  .event-list-item,
  .event-agenda-card,
  .page-jazz .calendar-item.event-list-item,
  .page-jazz .event-agenda-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb,
  .page-jazz .event-agenda-thumb{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 !important;
    border:0 !important;
    grid-column:1 / -1 !important;
  }

  .home-events-slideshow .event-card > div,
  .event-grid .event-card > div,
  .calendar-info,
  .event-agenda-info,
  .page-jazz .calendar-info.event-agenda-info,
  .page-jazz .event-agenda-info{
    padding:18px !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .calendar-item .button,
  .event-list-item .button,
  .event-agenda-card .button,
  .page-jazz .calendar-item.event-list-item .button,
  .page-jazz .event-agenda-card .button{
    width:calc(100% - 36px) !important;
    margin:0 18px 18px !important;
    justify-self:center !important;
  }

  .event-page-linear .event-linear-poster,
  .event-page-linear .event-linear-poster img{
    width:100% !important;
    max-width:100% !important;
  }

  .event-page-linear .event-linear-poster img{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }
}

@media (max-width:430px){
  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb,
  .page-jazz .event-agenda-thumb,
  .event-page-linear .event-linear-poster img{
    aspect-ratio:4 / 3 !important;
  }
}


/* === FINAL PATCH 2026-07-06: SEO title date + mobile image fix === */
.event-page-linear .event-linear-copy h1 .event-title-date{
  display:block;
  margin-top:10px;
  font-family:'Inter',system-ui,sans-serif;
  font-size:clamp(16px,1.6vw,24px);
  font-weight:900;
  line-height:1;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(0,0,0,.58);
}

@media (max-width:760px){
  .home-events-slideshow .event-card,
  .event-grid .event-card,
  .calendar-item.event-list-item,
  .event-list-item,
  .event-agenda-card,
  .page-jazz .calendar-item.event-list-item,
  .page-jazz .event-agenda-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb,
  .page-jazz .event-agenda-thumb{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:0 !important;
    border:0 !important;
    grid-column:1 / -1 !important;
  }

  .home-events-slideshow .event-card > div,
  .event-grid .event-card > div,
  .calendar-info,
  .event-agenda-info,
  .page-jazz .calendar-info.event-agenda-info,
  .page-jazz .event-agenda-info{
    padding:18px !important;
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .calendar-item .button,
  .event-list-item .button,
  .event-agenda-card .button,
  .page-jazz .calendar-item.event-list-item .button,
  .page-jazz .event-agenda-card .button{
    width:calc(100% - 36px) !important;
    margin:0 18px 18px !important;
    justify-self:center !important;
  }

  .event-page-linear .event-linear-poster,
  .event-page-linear .event-linear-poster img{
    width:100% !important;
    max-width:100% !important;
  }

  .event-page-linear .event-linear-poster img{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .event-page-linear .event-linear-copy h1 .event-title-date{
    margin-top:8px;
    font-size:13px;
    letter-spacing:.08em;
  }
}

@media (max-width:430px){
  .home-events-slideshow .event-card .event-card-image,
  .event-grid .event-card .event-card-image,
  .calendar-thumb,
  .event-agenda-thumb,
  .page-jazz .calendar-thumb.event-agenda-thumb,
  .page-jazz .event-agenda-thumb,
  .event-page-linear .event-linear-poster img{
    aspect-ratio:4 / 3 !important;
  }
}


/* === FINAL PATCH 2026-07-06: centra titolo Altri appuntamenti === */
.event-page-linear .event-linear-next .section-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:14px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.event-page-linear .event-linear-next .section-head > div{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.event-page-linear .event-linear-next .section-head .eyebrow,
.event-page-linear .event-linear-next .section-head h2{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.event-page-linear .event-linear-next .section-head .button{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:760px){
  .event-page-linear .event-linear-next .section-head{
    gap:12px !important;
  }
}


/* === FINAL PATCH 2026-07-06: frecce slideshow visibili + Scott Hamilton luogo corretto === */
.home-events-arrow,
.home-events-controls .home-events-arrow{
  color:#111 !important;
  background:#ffffff !important;
  border-color:rgba(0,0,0,.18) !important;
}

.home-events-arrow:hover,
.home-events-arrow:focus-visible,
.home-events-controls .home-events-arrow:hover,
.home-events-controls .home-events-arrow:focus-visible{
  color:#111 !important;
  background:#f4f1ea !important;
  border-color:rgba(0,0,0,.42) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.14) !important;
}

.home-events-arrow:active,
.home-events-controls .home-events-arrow:active{
  color:#111 !important;
  background:#e8e1d5 !important;
}


/* === FINAL PATCH 2026-07-06: Calendario sopra Altri appuntamenti === */
.event-page-linear .event-linear-next .section-head{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.event-page-linear .event-linear-next .section-head .event-next-heading{
  order:1 !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.event-page-linear .event-linear-next .section-head .event-next-heading .eyebrow{
  order:1 !important;
  display:block !important;
  width:100% !important;
  margin:0 0 8px !important;
  text-align:center !important;
}

.event-page-linear .event-linear-next .section-head .event-next-heading h2{
  order:2 !important;
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
}

.event-page-linear .event-linear-next .section-head > .button{
  order:2 !important;
  align-self:center !important;
  margin:18px auto 0 !important;
}


/* === CLEANUP 2026-07-06: mobile eventi + calendario altri appuntamenti === */
@media (max-width:760px){
  .home-events-slideshow .event-card > div,
  .event-grid .event-card > div,
  .calendar-info.event-agenda-info,
  .page-jazz .calendar-info.event-agenda-info,
  .event-agenda-info{
    text-align:left !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    line-height:1.32 !important;
  }

  .home-events-slideshow .event-card span,
  .event-grid .event-card span,
  .calendar-info .event-kicker,
  .page-jazz .event-kicker,
  .page-jazz .calendar-info.event-agenda-info > span:first-child{
    line-height:1.18 !important;
    margin-bottom:2px !important;
  }

  .home-events-slideshow .event-card h3,
  .event-grid .event-card h3,
  .calendar-info .event-date-title,
  .page-jazz .event-date-title,
  .page-jazz .calendar-info h2.event-date-title{
    line-height:.98 !important;
    margin:0 0 4px !important;
  }

  .home-events-slideshow .event-card p,
  .event-grid .event-card p,
  .calendar-info p,
  .page-jazz .event-place-line{
    line-height:1.42 !important;
    margin-top:2px !important;
  }

  .event-page-linear .event-linear-subtitle{
    line-height:1.34 !important;
  }

  .event-page-linear .event-linear-description p,
  .event-page-linear .event-linear-food p,
  .event-page-linear .event-linear-pca p{
    line-height:1.58 !important;
  }

  .event-page-linear .event-linear-next{
    text-align:center !important;
    padding-top:18px !important;
  }

  .event-page-linear .event-linear-next .section-head,
  .event-page-linear .event-linear-next .section-head .event-next-heading{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    text-align:center !important;
    gap:8px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .event-page-linear .event-linear-next .section-head .event-next-heading .eyebrow,
  .event-page-linear .event-linear-next .section-head .event-next-heading h2{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align-last:center !important;
  }

  .event-page-linear .event-linear-next .section-head .event-next-heading .eyebrow{
    margin-bottom:6px !important;
    line-height:1.15 !important;
  }

  .event-page-linear .event-linear-next .section-head .event-next-heading h2{
    line-height:.92 !important;
    letter-spacing:-.06em !important;
  }

  .event-page-linear .event-linear-next .section-head > .button{
    align-self:center !important;
    justify-self:center !important;
    margin:14px auto 0 !important;
  }

  .event-page-linear .event-mini-row{
    text-align:left !important;
    line-height:1.32 !important;
  }

  .event-page-linear .event-mini-date,
  .event-page-linear .event-mini-title,
  .event-page-linear .event-mini-place{
    line-height:1.28 !important;
  }
}

@media (max-width:430px){
  .page-jazz .event-date-title,
  .page-jazz .calendar-info h2.event-date-title{
    font-size:clamp(25px,8vw,34px) !important;
    line-height:1 !important;
  }
  .page-jazz .event-place-line{
    font-size:12.5px !important;
    line-height:1.44 !important;
  }
}


/* === FINAL PATCH 2026-07-06: card iniziale sezione Partners === */
.sponsor-logos-page > .partners-intro-card{
  width:min(980px, 100%) !important;
  margin:0 auto 56px !important;
  padding:30px 34px !important;
  border:1px solid rgba(0,0,0,.14) !important;
  border-radius:28px !important;
  background:#ffffff !important;
  box-shadow:0 18px 48px rgba(0,0,0,.08) !important;
  text-align:center !important;
}
.sponsor-logos-page > .partners-intro-card p{
  max-width:820px !important;
  margin:0 auto !important;
  color:var(--ink) !important;
  font-size:clamp(1.06rem, 1.7vw, 1.28rem) !important;
  line-height:1.65 !important;
}
@media (max-width:700px){
  .sponsor-logos-page > .partners-intro-card{
    margin-bottom:38px !important;
    padding:24px 20px !important;
    border-radius:22px !important;
  }
  .sponsor-logos-page > .partners-intro-card p{
    font-size:1rem !important;
    line-height:1.6 !important;
  }
}

/* === PATCH MOBILE 2026-07-07: line-up + card partners/sponsor === */
.nowrap{
  white-space:nowrap !important;
}

/* Evita che LINE-UP venga spezzato: su mobile scala il titolo quel tanto che basta. */
@media (max-width:720px){
  .hero-content h1 .nowrap,
  .internal-hero h1 .nowrap{
    white-space:nowrap !important;
    display:inline-block !important;
  }
  .hero-content h1{
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
}

/* Solo mobile: BIM e Provincia più leggibili, allineati alla presenza visiva delle card istituzionali. */
@media (max-width:700px){
  .sponsor-contributo-layout .logo-group-featured-contributo{
    margin-bottom:34px !important;
  }
  .logo-grid-featured-contributo{
    grid-template-columns:1fr !important;
    max-width:360px !important;
    gap:16px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .logo-slot-featured{
    min-height:222px !important;
    padding:24px 18px !important;
    border-radius:26px !important;
  }
  .logo-slot-featured img{
    height:164px !important;
    max-height:164px !important;
    width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}

/* Solo mobile: sponsor volutamente più piccoli dei Comuni/enti. */
@media (max-width:700px){
  .logo-grid-sponsors{
    grid-template-columns:1fr !important;
    max-width:320px !important;
    gap:16px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .logo-grid-sponsors .logo-slot{
    min-height:168px !important;
    padding:18px !important;
    border-radius:22px !important;
  }
  .logo-grid-sponsors .logo-slot img{
    height:118px !important;
    max-height:118px !important;
    width:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
  .logo-grid-sponsors .logo-slot.logo-slot-iperverde img{
    transform:none !important;
  }
}

@media (max-width:430px){
  .logo-grid-featured-contributo{
    max-width:334px !important;
  }
  .logo-slot-featured{
    min-height:208px !important;
  }
  .logo-slot-featured img{
    height:152px !important;
    max-height:152px !important;
  }
  .logo-grid-sponsors{
    max-width:292px !important;
  }
  .logo-grid-sponsors .logo-slot{
    min-height:154px !important;
    padding:16px !important;
  }
  .logo-grid-sponsors .logo-slot img{
    height:106px !important;
    max-height:106px !important;
  }
}


/* Homepage hero: programma + locandina */
.hero-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.hero-actions .button{
  margin:0;
}
.hero-download-button{
  background:rgba(255,255,255,.92);
  color:var(--black);
  border-color:var(--black);
}
.hero-download-button:hover{
  background:var(--black);
  color:var(--white);
}
@media (max-width:640px){
  .hero-actions{
    width:100%;
    justify-content:center;
    gap:10px;
  }
  .hero-actions .button{
    width:100%;
    max-width:330px;
  }
}
