/* JACKPOT Band - layout fluido 2026 (si applica sopra style.css)
   Colori e misure in un solo posto: basta cambiare le variabili qui sotto. */
:root{
  --oro:#E8C766;            /* colore al passaggio del mouse nel menu (oro del logo) */
  --titoli:#7D5E0C;         /* colore unico dei titoli: bronzo */
  --testo:#3d3a37;
  --carta:#F5F1EC;
  --bordo:#e3d9cd;
  --w:min(92vw, clamp(1100px, 58vw, 1800px));
  --fs:clamp(16px, .35vw + 12px, 26px);
  --top:170px;
}
body.tema-magenta{ --titoli:#a42371; }

/* ---------- Menu: un solo colore al passaggio del mouse ---------- */
#header .navigation li a:hover,
#header .navigation li a:focus-visible{ color:var(--oro) !important; }

/* ---------- Base delle sezioni ---------- */
#middle .sez.sez{
  height:auto; width:100%;
  background:url(images/text-bg.png) repeat var(--carta);
  background-attachment:scroll; background-position:0 0;
  padding:0; overflow:visible;
}
#middle .sez.sez .content{
  width:var(--w); margin:0 auto; height:auto; float:none;
  padding:var(--top) 0 clamp(60px,6vw,110px);
  background:none;
}
#middle .sez.sez h2{
  font-family:'OswaldBook',Arial,sans-serif; font-weight:normal;
  color:var(--titoli); text-align:left; text-transform:none;
  font-size:clamp(34px, 2.2vw + 18px, 96px); line-height:1.12;
  margin:0 0 .6em; padding:0; width:auto; background:none;
  text-wrap:balance;
}
#middle .sez.sez h3{
  font-family:'Crete Round',Georgia,serif; font-weight:normal;
  color:var(--titoli); text-align:left; border:0; padding:0;
  font-size:calc(var(--fs) * 1.3); line-height:1.3; margin:0 0 .4em;
}
#middle .sez.sez p{
  font-family:'Open Sans',Arial,sans-serif; color:var(--testo);
  font-size:var(--fs); line-height:1.65; text-align:left; margin:0 0 1em;
}
#middle .sez.sez p a{ font-size:inherit; }
#middle .sez.sez a{ color:var(--titoli); text-decoration:underline; }
#middle .sez.sez a:hover{ color:#000; }
#middle .sez.sez .clear{ display:none; }
#middle .sez.sez em{ font-style:italic; }
.nowrap{ white-space:nowrap; }

/* sezioni centrate (le due con titolo grande tra una foto e l'altra) */
#middle .sez.sez.sez-c .content{ max-width:calc(var(--w) * .72); text-align:center; }
#middle .sez.sez.sez-c h2{ text-align:center; margin-bottom:.7em; }
#middle .sez.sez.sez-c p{ text-align:center; font-size:calc(var(--fs) * 1.15); }
#middle .sez.sez .blu, #middle .sez.sez .retro{ color:inherit; }

/* ---------- Griglie ---------- */
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(28px,4vw,72px); align-items:start; }
#middle .sez.sez .grid2 .col1, #middle .sez.sez .grid2 .col2{ float:none; width:auto; margin:0; text-align:left; }
.cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr));
        gap:clamp(16px,1.8vw,34px); margin:0 0 clamp(24px,3vw,48px); }
.card{ background:#fff; border:1px solid var(--bordo); border-radius:12px;
       padding:clamp(18px,1.8vw,32px); box-shadow:0 3px 14px rgba(60,40,10,.07); }
#middle .sez.sez .card p:last-child{ margin-bottom:0; }

/* ---------- Pulsanti ---------- */
#middle .sez.sez a.btn{
  display:inline-block; background:var(--titoli); color:#fff; text-decoration:none;
  font-family:'Open Sans',Arial,sans-serif; font-weight:700; font-size:var(--fs);
  padding:.7em 1.4em; border-radius:8px;
}
#middle .sez.sez a.btn:hover{ background:#000; color:#fff; }

/* ---------- Matrimoni: fascia prezzi ---------- */
.prezzi-band{
  display:flex; flex-wrap:wrap; align-items:center; gap:clamp(16px,2.4vw,44px);
  background:#fff; border:1px solid var(--bordo); border-top:5px solid var(--titoli);
  border-radius:12px; padding:clamp(18px,2vw,34px); margin:0 0 clamp(24px,3vw,48px);
  box-shadow:0 3px 14px rgba(60,40,10,.07);
}
.prezzi-band .pz{ flex:0 0 auto; }
#middle .sez.sez .prezzi-band .pz p{ margin:0; line-height:1.2; }
#middle .sez.sez .prezzi-band .pz-label{ font-size:calc(var(--fs) * .95); text-transform:uppercase; letter-spacing:.08em; color:#6b645c; }
#middle .sez.sez .prezzi-band .pz-num{ font-family:'OswaldBook',Arial,sans-serif; font-size:clamp(34px,2.2vw + 14px,60px); color:var(--titoli); }
.prezzi-band .pz-sep{ width:1px; align-self:stretch; background:var(--bordo); }
.prezzi-band .pz-note{ flex:1 1 320px; }
#middle .sez.sez .prezzi-band .pz-note p{ font-size:calc(var(--fs) * .95); margin:0 0 .9em; }

/* ---------- Repertorio ---------- */
#middle .sez.sez h2.rep{ }
#middle .sez.sez .rep-h3{ border-bottom:2px solid var(--titoli); padding-bottom:.3em; margin:1.6em 0 .9em; }
#middle .sez.sez ul.leaders{
  columns:2; column-gap:clamp(30px,4vw,80px); list-style:none; margin:0 0 1.4em; padding:0;
  overflow:visible; text-transform:none;
}
#middle .sez.sez ul.leaders li{
  font-family:'Open Sans',Arial,sans-serif; font-size:calc(var(--fs) * .95); line-height:1.45;
  color:var(--testo); height:auto; margin:0 0 .6em; break-inside:avoid; text-transform:none; font-style:normal;
}
#middle .sez.sez ul.leaders li:before{ content:none; }
#middle .sez.sez ul.leaders li span{ background:none; }
#middle .sez.sez ul.leaders li .menu_price{ float:none; color:#7a746d; margin-left:.35em; }
#middle .sez.sez ul.leaders li.sublist{ margin-left:1.3em; font-size:calc(var(--fs) * .88); }
#middle .sez.sez ul.leaders li.no-price{ font-weight:700; margin-top:.9em; }

/* ---------- Demo ---------- */
.cards.demo{ grid-template-columns:repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
#middle .sez.sez p.jp-brano{ font-family:'Crete Round',Georgia,serif; color:var(--titoli); font-size:calc(var(--fs) * 1.15); line-height:1.3; margin:0 0 .6em; }
#middle .sez.sez .card .jp-yt{ max-width:none; margin:0; }
#middle .sez.sez .card .jp-yt.playing{ height:auto; max-width:none; aspect-ratio:16/9; }
#middle .sez.sez .jp-yt small a{ color:#fff; }
#middle .sez.sez p.jp-yt-all{ font-size:var(--fs); margin:0; }

/* ---------- Social ---------- */
.cards.social{ grid-template-columns:repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
#middle .sez.sez a.soc{
  display:flex; flex-direction:column; gap:.35em; text-decoration:none; color:var(--testo);
  background:#fff; border:1px solid var(--bordo); border-radius:12px;
  padding:clamp(18px,1.8vw,30px); box-shadow:0 3px 14px rgba(60,40,10,.07);
  transition:transform .15s ease, box-shadow .15s ease;
}
#middle .sez.sez a.soc:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(60,40,10,.15); color:var(--testo); }
a.soc svg{ width:clamp(34px,2.6vw,48px); height:clamp(34px,2.6vw,48px); color:var(--titoli); }
a.soc .soc-nome{ font-family:'OswaldBook',Arial,sans-serif; font-size:calc(var(--fs) * 1.5); color:var(--titoli); line-height:1.1; }
a.soc .soc-desc{ font-family:'Open Sans',Arial,sans-serif; font-size:calc(var(--fs) * .92); line-height:1.45; }
.recensioni{ margin-top:clamp(28px,3vw,52px); text-align:center; }
#middle .sez.sez .recensioni h3{ text-align:center; }
#wp-widget-reviews{ margin:0 auto; text-align:center; font-family:'Open Sans',Arial,sans-serif; font-size:var(--fs); color:var(--testo); }
#wp-widget-reviews small{ display:block; margin-top:.6em; font-size:calc(var(--fs) * .8); color:#6b645c; }
#wp-widget-reviews a{ color:var(--titoli); }

/* ---------- In breve ---------- */
#in-breve .breve table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--bordo); border-radius:12px; overflow:hidden; }
#in-breve .breve th, #in-breve .breve td{
  font-family:'Open Sans',Arial,sans-serif; font-size:var(--fs); line-height:1.5;
  padding:.8em 1em; border-bottom:1px solid var(--bordo); text-align:left; vertical-align:top; color:var(--testo);
}
#in-breve .breve th{ width:24%; color:var(--titoli); font-weight:700; }
#in-breve .breve tr:last-child th, #in-breve .breve tr:last-child td{ border-bottom:0; }
#in-breve .breve a{ color:var(--titoli); text-decoration:underline; }

/* ---------- FAQ a fisarmonica ---------- */
#faq-section .content{ padding-top:clamp(20px,3vw,50px); }
#faq-section details.faq-item{ background:#fff; border:1px solid var(--bordo); border-left:5px solid var(--titoli); border-radius:10px; margin:0 0 14px; padding:0; }
#faq-section details.faq-item summary{
  list-style:none; cursor:pointer; padding:1em 3em 1em 1.2em; position:relative;
  font-family:'Crete Round',Georgia,serif; font-size:calc(var(--fs) * 1.15); color:var(--titoli); line-height:1.35;
}
#faq-section details.faq-item summary::-webkit-details-marker{ display:none; }
#faq-section details.faq-item summary::after{ content:'+'; position:absolute; right:1.1em; top:50%; transform:translateY(-50%); font-size:1.5em; line-height:1; color:var(--titoli); }
#faq-section details.faq-item[open] summary::after{ content:'\2212'; }
#middle .sez.sez #faq-section details.faq-item p, #faq-section details.faq-item p{ padding:0 1.4em 1.1em 1.2em; margin:0; color:var(--testo); font-size:var(--fs); }
#middle .sez.sez p.all{ text-align:center; margin-top:1.4em; }

/* ---------- Footer ---------- */
#footer{ min-height:0; padding:clamp(40px,4vw,70px) 0; }
#footer .inner{ width:var(--w); font-family:'Open Sans',Arial,sans-serif; font-size:calc(var(--fs) * .85); line-height:1.7; color:var(--testo); }
#footer .inner a{ color:var(--titoli); text-decoration:underline; }
#footer .jp-links{ font-size:inherit; color:inherit; margin-bottom:.8em; }

/* ---------- Telefoni e tablet ---------- */
@media (max-width:1033px){ :root{ --top:150px; } }
@media (max-width:800px){
  :root{ --top:200px; --w:90vw; }
  .grid2{ grid-template-columns:1fr; }
  #middle .sez.sez ul.leaders{ columns:1; }
  #middle .sez.sez ul.leaders li, #middle .sez.sez ul.leaders li.sublist{ font-size:16px; }
  .prezzi-band .pz-sep{ display:none; }
  #in-breve .breve th{ width:34%; }
  #middle .sez.sez .content{ padding-bottom:50px; }
}

/* le sezioni che non sono "slide" non hanno bisogno dello spazio sotto il menu */
#middle .sez.sez#in-breve .content{ padding-top:clamp(50px,5vw,90px); padding-bottom:clamp(20px,3vw,40px); }

/* ---------- ritocchi dopo la prima anteprima ---------- */
#middle .sez.sez p + .cards{ margin-top:1.6em; }
.jp-yt-btn,.jp-mc-btn{ background:var(--titoli); }
#middle .sez.sez .card{ display:flex; flex-direction:column; }
#middle .sez.sez .card .jp-yt{ margin-top:auto; }
#middle .sez.sez .card-yt .btn{ align-self:flex-start; margin-top:auto; }
#middle .sez.sez ul.leaders li.sublist,
#middle .sez.sez ul.leaders li.sublist span{ font-family:'Open Sans',Arial,sans-serif; color:var(--testo); font-size:calc(var(--fs) * .88); }
#middle .sez.sez ul.leaders li.sublist .menu_price{ color:#7a746d; }
#middle .sez.sez ul.leaders li.no-price{ break-after:avoid; }

/* colonne fisse delle schede: 3 sul desktop, 2 sul tablet, 1 sul telefono */
@media (min-width:1000px){
  .cards, .cards.demo{ grid-template-columns:repeat(3, 1fr); }
  .cards.social{ grid-template-columns:repeat(4, 1fr); }
}
@media (min-width:640px) and (max-width:999px){
  .cards, .cards.demo{ grid-template-columns:repeat(2, 1fr); }
  .cards.social{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width:639px){
  .cards, .cards.demo, .cards.social{ grid-template-columns:1fr; }
}


/* =====================================================================
   Contenitore fluido su tutto il sito: menu, prima schermata, foto, contatti
   ===================================================================== */

/* ---------- Menu in alto ---------- */
@media (min-width:1034px){
  #header .inner{ width:var(--w); }
  #header .navigation li a{ font-size:clamp(24px, .3vw + 20px, 36px); }
  #header .navigation li{ margin-left:clamp(22px, 1.4vw + 8px, 48px); }
}

/* ---------- Prima schermata (titolo + frase) ---------- */
#middle .slide.intro-layout{ height:max(640px, calc(100vh - 123px)); }
#middle .slide.intro-layout .content{
  width:var(--w); max-width:none; margin:0 auto;
  padding-top:clamp(70px, 8vh, 160px);
}
#middle .slide.intro-layout h1{
  font-size:clamp(32px, 2.6vw + 14px, 96px); line-height:1.12;
  max-width:min(100%, 18em); margin:0 auto .45em; text-wrap:balance;
}
#middle .slide.intro-layout p{
  font-size:clamp(19px, 1vw + 11px, 40px); line-height:1.4;
  max-width:min(100%, 30em); margin:0 auto;
}
@media (max-width:780px){
  #middle .slide.intro-layout{ height:max(560px, calc(100vh - 193px)); }
  #middle .slide.intro-layout .content{ width:90vw; padding-top:50px; }
  #middle .slide.intro-layout h1{ font-size:clamp(30px, 8vw, 44px); line-height:1.15; }
  #middle .slide.intro-layout p{ font-size:19px; line-height:1.4; }
}

/* ---------- Fasce con le foto: altezza in proporzione allo schermo ---------- */
#middle .slide.layout-image{ height:clamp(480px, 78vh, 1300px); }
@media (max-width:780px){ #middle .slide.layout-image{ height:clamp(300px, 52vh, 460px); } }

/* ---------- Contatti: scheda fluida al posto dell'immagine a misura fissa ---------- */
#middle .slide.contact{ height:auto; padding:var(--top) 0 clamp(60px,6vw,120px); }
#middle .slide.contact .content{
  width:min(92vw, clamp(560px, 40vw, 960px)); max-width:none; margin:0 auto; height:auto; min-height:0;
  background:url(images/text-bg.png) repeat var(--carta); border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.28);
  padding:clamp(24px, 3vw, 64px) !important;
}
#middle .slide.contact h2{
  font-family:'OswaldBook',Arial,sans-serif; font-weight:normal; color:var(--titoli);
  font-size:clamp(28px, 1.6vw + 16px, 56px); line-height:1.15; letter-spacing:0; text-transform:none; text-align:center;
  margin:0 0 .6em; padding:0; width:auto;
}
#middle .slide.contact p{
  font-family:'Open Sans',Arial,sans-serif; font-size:var(--fs); line-height:1.6; color:var(--testo); text-align:center; margin:0 0 1em;
}
#middle .slide.contact p a{ font-size:inherit; color:var(--titoli); text-decoration:underline; }
#middle .slide.contact p a.jp-wa{ color:#fff; text-decoration:none; font-size:calc(var(--fs) * .9); }
#middle .slide.contact form{ width:100%; margin:0; padding:0; background:none; }
#middle .slide.contact .formBlockSurveyTable{ width:100%; display:block; }
#middle .slide.contact .formBlockSurveyTable tbody, #middle .slide.contact .formBlockSurveyTable tr, #middle .slide.contact .formBlockSurveyTable td{ display:block; width:100%; padding:0 0 clamp(10px,1vw,18px); }
#middle .slide.contact .formBlockSurveyTable td:first-child:not(.question){ display:none; }
#middle .slide.contact form label{
  display:block; width:auto; text-align:left; font-family:'Open Sans',Arial,sans-serif;
  font-size:calc(var(--fs) * .9); color:var(--testo); margin:0 0 .3em;
}
#middle .slide.contact form input[type=text], #middle .slide.contact form input[type=email], #middle .slide.contact form textarea{
  width:100%; box-sizing:border-box; font-size:var(--fs); padding:.65em .8em;
  background:#fff; border:1px solid #cdbfae; border-radius:8px; color:var(--testo);
}
#middle .slide.contact form textarea{ height:clamp(110px, 8vw, 200px); }
#middle form .jp-consent{ font-size:calc(var(--fs) * .78); line-height:1.45; }
#middle form .jp-consent a{ color:var(--titoli); }
#middle .slide.contact form input.ccm-input-button{
  float:none; display:inline-block; width:auto; background:var(--titoli); color:#fff; border:0; border-radius:8px;
  font-family:'Open Sans',Arial,sans-serif; font-weight:700; letter-spacing:.12em; font-size:calc(var(--fs) * .85);
  padding:.8em 2.4em; cursor:pointer;
}
#middle .slide.contact form input.ccm-input-button:hover{ background:#000; }
#middle .slide.contact form input.ccm-input-button:disabled{ opacity:.6; cursor:default; }
@media (max-width:780px){
  #middle .slide.contact{ padding-top:var(--top); }
}

/* Freccia "scorri giù": centrata e ancorata in basso nella prima schermata */
#header .scroll-glyph{left:50%;margin-left:-165px;top:calc(100vh - 215px);}
@media (max-width:800px){#header .scroll-glyph{transform:scale(.7);transform-origin:50% 100%;top:calc(100vh - 190px);}}
@media (max-width:800px){#header #nav,#header nav,#header ul{text-align:center}}

/* ===== Modifiche 15/10 ===== */
/* titoli: nessun bilanciamento, usano tutta la larghezza dei contenuti */
#middle .sez.sez h2{ text-wrap:wrap; max-width:none; }
#middle .sez.sez.sez-c h2{ text-wrap:balance; }
/* repertorio: titoli dei mix non in grassetto; "Mix Rock & Twist" in testa alla colonna di destra */
#middle .sez.sez ul.leaders li.no-price{ font-weight:400; }
@media (min-width:700px){ #middle .sez.sez ul.leaders li.col-break{ break-before:column; margin-top:0; } }
@media (max-width:699px){ #middle .sez.sez ul.leaders{ columns:1; } }

/* contatti: scheda compatta */
#middle .slide.contact .content{ width:min(92vw, clamp(600px, 44vw, 1000px)); padding:clamp(20px,2vw,40px) !important; min-height:0 !important; }
#middle .slide.contact{ padding-top:calc(var(--top) - 40px); padding-bottom:clamp(40px,4vw,80px); }
#middle .slide.contact h2{ font-size:clamp(26px, 1.2vw + 16px, 46px); margin:0 0 .5em; }
#middle .slide.contact p.cr-nota{ font-size:calc(var(--fs) * .9); margin:.2em 0 1em; color:#6b645c; }
#middle .slide.contact p.cr-nota a{ font-size:inherit; }
.contatti-rapidi{ display:flex; flex-wrap:wrap; justify-content:center; gap:.5em; margin:0 0 .6em; }
#middle .slide.contact .contatti-rapidi a.cr, #middle .slide.contact .contatti-rapidi a.cr.jp-wa{
  display:inline-block; text-decoration:none; font-family:'Open Sans',Arial,sans-serif; font-weight:600;
  font-size:calc(var(--fs) * .85); color:var(--titoli); background:#fff; border:1.5px solid var(--titoli);
  border-radius:999px; padding:.4em 1.1em; line-height:1.3; transition:background .15s,color .15s;
}
#middle .slide.contact .contatti-rapidi a.cr:hover{ background:var(--titoli); color:#fff; }
/* modulo a due colonne */
#middle .slide.contact .formBlockSurveyTable tbody{ display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(10px,1.2vw,20px); }
#middle .slide.contact .formBlockSurveyTable tr{ display:block; padding:0; margin:0; }
#middle .slide.contact .formBlockSurveyTable tr:nth-child(n+3){ grid-column:1 / -1; }
#middle .slide.contact .formBlockSurveyTable td{ padding:0 0 clamp(6px,.6vw,10px); }
#middle .slide.contact form label{ font-size:calc(var(--fs) * .8); margin:0 0 .15em; }
#middle .slide.contact form input[type=text], #middle .slide.contact form input[type=email], #middle .slide.contact form textarea{ padding:.45em .7em; font-size:calc(var(--fs) * .95); }
#middle .slide.contact form textarea{ height:clamp(64px, 5vw, 110px); }
#middle .slide.contact form input.ccm-input-button{ padding:.6em 2em; margin-top:.2em; }
@media (max-width:560px){
  #middle .slide.contact .formBlockSurveyTable tbody{ grid-template-columns:1fr; }
  #middle .slide.contact .formBlockSurveyTable tr:nth-child(n+3){ grid-column:auto; }
}
#middle .slide.contact .contatti-rapidi a.cr, #middle .slide.contact .contatti-rapidi a.cr.jp-wa{ color:var(--titoli) !important; background:#fff !important; padding:.4em 1.1em !important; border-radius:999px !important; font-weight:600 !important; }
#middle .slide.contact .contatti-rapidi a.cr:hover, #middle .slide.contact .contatti-rapidi a.cr.jp-wa:hover{ background:var(--titoli) !important; color:#fff !important; }
#middle .sez.sez .jp-mc-btn{ background:var(--titoli) !important; color:#fff !important; text-decoration:none; }

/* ===== Correzioni 15/10 (2) ===== */
.rep-2col{ display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(30px,4vw,80px); align-items:start; }
#middle .sez.sez .rep-2col ul.leaders{ columns:1; }
@media (max-width:699px){ .rep-2col{ grid-template-columns:1fr; } }
/* pulsanti senza ombre/effetti del vecchio tema */
#middle .sez.sez a.btn, #middle .sez.sez a.btn:hover{ text-shadow:none !important; box-shadow:none !important; background-image:none !important; filter:none !important; border:0; }
/* menu tra 781 e 1033px: logo e voci sulla stessa riga */
@media (min-width:781px) and (max-width:1033px){
  #header .inner{ width:96vw; }
  #header .logo{ width:clamp(230px,30vw,346px); height:auto; }
  #header .logo a{ width:100%; height:0; padding-bottom:31.8%; background-size:contain; display:block; }
  #header .navigation{ margin-top:clamp(48px,6vw,64px); }
  #header .navigation li{ margin-left:clamp(10px,1.8vw,22px); }
  #header .navigation li a{ font-size:clamp(15px,2.1vw,22px); }
}

/* ===== Foto musicisti ===== */
.cards.musicisti{ grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.4vw,24px); margin:0 0 clamp(28px,3vw,52px); }
.cards.musicisti .card{ margin:0; padding:0; overflow:hidden; text-align:center; }
.cards.musicisti img{ display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
.cards.musicisti figcaption{ padding:clamp(10px,1vw,16px) 8px clamp(12px,1.2vw,18px); font-family:'Open Sans',Arial,sans-serif; }
.cards.musicisti figcaption strong{ display:block; font-family:'Crete Round',Georgia,serif; font-weight:normal; color:var(--titoli); font-size:calc(var(--fs) * 1.05); line-height:1.25; }
.cards.musicisti figcaption span{ display:block; color:#6b645c; font-size:calc(var(--fs) * .85); margin-top:.15em; }
@media (max-width:760px){ .cards.musicisti{ grid-template-columns:repeat(2,1fr); } }
#middle .sez.sez p.jp-yt-all{ text-align:center; margin-top:clamp(20px,2vw,36px); }
#middle .sez.sez .jp-yt-btn{ background:var(--titoli) !important; }
.contatti-rapidi{ margin-bottom:1.1em !important; }

/* video in evidenza nelle demo: stessa scheda degli altri, a tutta larghezza */
.cards.demo .card.card-wide{ grid-column:1 / -1; }
#middle .sez.sez .card-wide .jp-yt.playing{ max-width:760px; margin-left:auto; margin-right:auto; width:100%; }

/* ---------- Spazio sopra i titoli (17/10): niente piu' vuoto sotto il menu ----------
   Prima ogni sezione lasciava 170-200 px per stare sotto l'intestazione fissa.
   Ora lo spazio e' normale e lo scorrimento dal menu (site.js) si ferma sotto l'intestazione. */
:root{ --gap:clamp(44px,4.2vw,90px); --hv:85px; }
@media (max-width:780px){ :root{ --gap:40px; --hv:132px; } }
#middle .sez.sez .content{ padding-top:var(--gap); padding-bottom:var(--gap); }
#middle .slide.contact{ padding-top:var(--gap); }
#middle .slide.sez, #middle .slide.contact{ scroll-margin-top:var(--hv); }
