/* Racconta Contenuti: menu ed eventi.
   Aspetto regolabile per cliente con le variabili --rc-* (impostazioni › css_variabili). */
.zm, .ze { --o: var(--rc-accento, #B08D57); --l: color-mix(in srgb, var(--rc-accento, #B08D57) 30%, transparent); width: 100%; font-family: var(--rc-font-testi, inherit); }
.zm *, .ze * { box-sizing: border-box; }
.zm-pill { font-family: inherit; min-height: 44px; padding: 0 18px; border: 1px solid var(--o) !important; border-radius: 999px !important; background: transparent !important; color: inherit !important; font-size: 11px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; text-decoration: none !important; -webkit-appearance: none; appearance: none; transition: background-color .3s, color .3s; }
.zm-pill[aria-pressed="true"], .zm-pill[aria-expanded="true"] { background: var(--o) !important; color: var(--rc-su-accento, #14181A) !important; }

/* titoli come nel resto del sito */
.zm h2, .ze h2, .ze h3 { font-family: var(--rc-font-titoli, inherit); font-weight: 400; text-transform: var(--rc-titoli-maiuscole, none); letter-spacing: var(--rc-titoli-spaziatura, 0); line-height: 1.05; color: inherit; margin: 0; }
.zm h2 { font-size: clamp(2.2rem, 4.2vw, 3.6rem); }
.zm .zm-agg-sopra { display: none; }

/* barra delle sezioni */
.zm-barra { position: sticky; top: var(--zm-top, 76px); z-index: 20; background: var(--rc-barra, #FFFFFF); border-top: 1px solid var(--l); border-bottom: 1px solid var(--l); color: var(--rc-barra-testo, #14181A); }
.zm-barra-dentro { max-width: 1200px; margin: 0 auto; padding: 12px var(--rc-margine, 24px); display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; flex-wrap: wrap; }
.zm-schede { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; max-width: 100%; }
.zm-schede::-webkit-scrollbar { display: none; }
.zm-schede a { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; border: 1px solid transparent; border-radius: 999px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; white-space: nowrap; color: inherit !important; text-decoration: none !important; transition: border-color .3s, background-color .3s, color .3s; }
.zm-schede a:hover, .zm-schede a.zm-qui { border-color: var(--o); }
.zm-schede a.zm-qui { background: var(--o); color: var(--rc-su-accento, #14181A) !important; }
.zm-strumenti { display: flex; align-items: center; gap: 10px 16px; flex-wrap: wrap; }
.zm-agg { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; opacity: .75; display: inline-flex; align-items: center; gap: 10px; }
.zm-agg::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--o); }
.zm-pannello { max-width: 1200px; margin: 0 auto; padding: 6px var(--rc-margine, 24px) 18px; }
.zm-pannello > p { margin: 0 0 12px; font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--o); }
.zm-pannello-voci { display: flex; flex-wrap: wrap; gap: 8px; }
.zm-pannello-voci .zm-pill { letter-spacing: .04em; text-transform: none; font-size: 13px; font-weight: 300; border-color: color-mix(in srgb, currentColor 40%, transparent) !important; }
.zm-pannello-voci .zm-pill[aria-pressed="true"] { border-color: var(--o) !important; }
.zm-pannello .zm-nota { margin: 14px 0 0; font-size: 13px; font-weight: 300; letter-spacing: 0; text-transform: none; color: inherit; opacity: .8; }

/* sezioni e piatti */
.zm-sezione { padding: clamp(56px, 8vw, 110px) var(--rc-margine, 24px); scroll-margin-top: 150px; }
.zm-contenitore { max-width: 1200px; margin: 0 auto; display: flex; gap: 6vw; align-items: flex-start; }
.zm-titoli { flex: 0 1 340px; display: flex; flex-direction: column; gap: 14px; position: sticky; top: 170px; }
.zm-titoli > * { margin: 0 !important; }
.zm-lista { flex: 1 1 0; min-width: 0; width: 100%; border-bottom: 1px solid color-mix(in srgb, var(--o) 22%, transparent); }
.zm-riga { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid color-mix(in srgb, var(--o) 22%, transparent); }
.zm .zm-nome { font-family: var(--rc-font-testi, inherit); font-weight: 300; font-size: clamp(1.06rem, 1.4vw, 1.2rem); line-height: 1.4; letter-spacing: .015em; text-transform: none; color: inherit; }
.zm-prezzo { font-size: 1.28rem; font-weight: 300; line-height: 1.3; color: var(--o); font-variant-numeric: lining-nums tabular-nums; }
.zm-valuta { font-size: .62em; vertical-align: .18em; }
.zm-etichetta { font-size: 12px; letter-spacing: .3em; text-transform: uppercase; color: var(--o); }
.zm-firma { font-family: var(--rc-font-firma, inherit); font-size: var(--rc-firma-misura, 1.1rem); line-height: 1; color: var(--o); }
.zm-testi { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.zm-testi > * { margin: 0 !important; }
.zm-desc { font-size: 14px; line-height: 1.6; font-weight: 300; opacity: .78; }
.zm .zm-prezzo { margin: 0 !important; white-space: nowrap; }
.zm-prezzo small { font-size: 12px; letter-spacing: .04em; opacity: .75; }
.zm-off .zm-nome, .zm-off .zm-desc, .zm-off .zm-prezzo, .zm-off .zm-all { opacity: .45; }
.zm-off .zm-nome { text-decoration: line-through; text-decoration-thickness: 1px; }
.zm-stato { align-self: flex-start; margin-top: 4px !important; padding: 4px 11px; border: 1px solid currentColor; border-radius: 999px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; line-height: 1.4; }
.zm-all { margin-top: 2px !important; }
.zm-all summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--o); }
.zm-all summary::-webkit-details-marker { display: none; }
.zm-all summary::after { content: "+"; font-size: 16px; line-height: 1; }
.zm-all[open] summary::after { content: "−"; }
.zm-all p { margin: 4px 0 0; padding: 10px 14px; border-radius: 6px; background: color-mix(in srgb, var(--o) 10%, transparent); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.zm-all p b { font-size: 11px; font-weight: 400; letter-spacing: .2em; text-transform: uppercase; color: var(--o); margin-right: 4px; }
.zm-all p span { padding: 3px 9px; border: 1px solid color-mix(in srgb, currentColor 45%, transparent); border-radius: 999px; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; }
.zm [hidden] { display: none !important; }
.zm-nessuno { margin: 0; padding: 22px 0; font-size: 14px; font-weight: 300; opacity: .75; }
.zm-vuoto { padding: 80px var(--rc-margine, 24px); text-align: center; }
.zm-assaggio .zm-lista { border-top: 1px solid color-mix(in srgb, var(--o) 22%, transparent); }

/* eventi */
.ze-sezione { padding: clamp(48px, 6vw, 84px) var(--rc-margine, 24px); }
.ze-primo { padding-top: clamp(24px, 3vw, 40px); }
.ze-contenitore { max-width: 1200px; margin: 0 auto; }
.ze h2, .ze h3 { margin: 0; }
.ze-testo { margin: 0; font-size: 16px; line-height: 1.7; font-weight: 300; opacity: .82; }
.ze-data { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 72px; }
.ze-data span { font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--o); }
.ze-data b { font-family: var(--rc-font-testi, inherit); font-weight: 300; font-size: 44px; line-height: 1; font-variant-numeric: lining-nums; }
.ze-evidenza { display: flex; background: var(--rc-superficie, color-mix(in srgb, currentColor 7%, transparent)); border: 1px solid var(--l); }
.ze-evidenza-foto { flex: 0 0 40%; max-width: 480px; min-height: 480px; position: relative; }
.ze-evidenza-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ze-evidenza-testo { flex: 1 1 0; min-width: 0; padding: clamp(24px, 4vw, 52px); display: flex; flex-direction: column; gap: 22px; }
.ze-riga-alta { margin: 0; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ze-bollo { padding: 4px 11px; border-radius: 999px; background: var(--o); color: var(--rc-su-accento, #14181A); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; }
.ze-tra { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; opacity: .75; }
.ze-testata { display: flex; align-items: center; gap: clamp(16px, 2.4vw, 30px); }
.ze-testata h2 { font-size: clamp(1.9rem, 3.8vw, 3.4rem); line-height: 1; }
.ze-info { margin: 0; padding: 16px 0; border-top: 1px solid var(--l); border-bottom: 1px solid var(--l); display: flex; flex-wrap: wrap; gap: 10px 40px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; }
.ze-info b { font-weight: 400; color: var(--o); margin-right: 12px; }
.ze-azioni { margin: auto 0 0; padding-top: 6px; display: flex; flex-wrap: wrap; gap: 12px; }
.ze-btn { min-height: 54px; padding: 0 26px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--o); color: inherit !important; font-size: 12px; letter-spacing: .26em; text-transform: uppercase; text-decoration: none !important; text-align: center; transition: background-color .3s, color .3s; }
.ze-btn-pieno, .ze-btn:hover { background: var(--o); color: var(--rc-su-accento, #14181A) !important; font-weight: 500; }
.ze-poi-testa { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.ze-poi-testa h2 { font-size: clamp(1.7rem, 2.8vw, 2.5rem); }
.ze-filtri { display: flex; gap: 8px; flex-wrap: wrap; }
.ze-griglia { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 28px; }
.ze-scheda { display: flex; flex-direction: column; background: var(--rc-superficie, color-mix(in srgb, currentColor 7%, transparent)); }
.ze-scheda > img { width: 100%; height: 260px; object-fit: cover; display: block; }
.ze-scheda-corpo { display: flex; gap: 22px; padding: 26px; align-items: flex-start; }
.ze-scheda-corpo > div:last-child { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.ze-scheda h3 { font-size: 1.7rem; line-height: 1.1; }
.ze-scheda-piede { margin: 4px 0 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--o); }
.ze-scheda-piede a { color: inherit !important; text-decoration: none !important; border-bottom: 1px solid currentColor; padding: 12px 0 2px; }
.ze-scheda[hidden] { display: none; }
.ze-passati { background: var(--rc-passati, color-mix(in srgb, currentColor 5%, transparent)) !important; border-top: 1px solid var(--l); }
.ze-passati-testa { display: flex; align-items: baseline; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; }
.ze-passati-testa h2 { font-size: clamp(1.5rem, 2.4vw, 2.1rem); opacity: .8; }
.ze-passati-testa .zm-firma { margin: 0; }
.ze-griglia-passati { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.ze-passato { display: flex; flex-direction: column; gap: 10px; }
.ze-passato-foto { position: relative; height: 180px; background: color-mix(in srgb, var(--o) 12%, transparent); }
.ze-passato-foto img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1); opacity: .6; }
.ze-terminato { position: absolute; left: 12px; top: 12px; padding: 4px 11px; border: 1px solid #EDE6DA; border-radius: 999px; background: rgba(15, 30, 34, .85); color: #EDE6DA; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; }
.ze-passato-data { margin: 0; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; opacity: .7; }
.ze-passato h3 { font-size: 1.25rem; line-height: 1.15; opacity: .78; }
.ze-vuoto .ze-contenitore { display: flex; flex-direction: column; gap: 18px; max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; align-items: center; }
.ze-fascia { display: flex; align-items: center; gap: 22px; padding: 18px var(--rc-margine, 24px); border-top: 1px solid var(--l); border-bottom: 1px solid var(--l); color: inherit !important; text-decoration: none !important; }
.ze-fascia-testo { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ze-fascia-testo small { font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--rc-accento, #B08D57); }
.ze-fascia-testo b { font-family: var(--rc-font-titoli, inherit); font-weight: 400; font-size: 1.5rem; text-transform: var(--rc-titoli-maiuscole, none); letter-spacing: var(--rc-titoli-spaziatura, 0); }
.ze-fascia-vai { font-size: 12px; letter-spacing: .24em; text-transform: uppercase; border-bottom: 1px solid currentColor; }

@media (max-width: 1024px) {
  .zm-contenitore { flex-direction: column; gap: 28px; }
  .zm-titoli { position: static; flex: 1 1 auto; }
  .zm-sezione { scroll-margin-top: 190px; }
  .zm-barra-dentro { padding-top: 10px; padding-bottom: 10px; gap: 10px; }
  .zm-schede { margin-right: calc(var(--rc-margine, 24px) * -1); padding-right: var(--rc-margine, 24px); }
  .zm-barra .zm-agg { display: none; }
  .zm .zm-agg-sopra { display: flex; margin: 0; padding: 0 var(--rc-margine, 24px) 16px; }
  .zm-strumenti { flex-wrap: nowrap; gap: 8px; width: 100%; }
  .zm-strumenti .zm-pill { flex: 1 1 0; justify-content: center; min-height: 40px; padding: 0 10px; font-size: 10.5px; letter-spacing: .16em; }
  .zm-schede a { min-height: 40px; padding: 0 14px; }
  .zm-barra-dentro { padding-top: 8px; padding-bottom: 8px; gap: 8px; }
  .ze-evidenza { flex-direction: column; }
  .ze-evidenza-foto { flex: 0 0 auto; max-width: none; min-height: 0; height: 300px; }
  .ze-btn { flex: 1 1 100%; }
  .ze-data b { font-size: 38px; }
  .ze-data { min-width: 60px; }
  .ze-scheda > img { height: 200px; }
  .ze-scheda-corpo { padding: 20px; gap: 16px; }
}
