/* Identità 2026: carta avorio, rosso festival, hero a due colonne con il vinile.
   Caricato per ultimo: riporta la palette del tema e disattiva il layer poster giallo. */
:root{--paper:#f4f0e6;--ink:#24251f;--accent:#d52b25;--red:#d52b25;--line:#cfcabc}

/* Testata: fondo carta, filetto sottile, voce informazioni come pillola scura. */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);height:96px}
.brand{gap:14px;align-items:center}
.brand-symbol{font-size:46px;line-height:0;margin-top:-6px}
/* Logo caricato: fondo bianco o trasparente, multiply lo fonde sulla carta. */
.festival-logo{height:76px;width:auto;max-width:140px;object-fit:contain;mix-blend-mode:multiply}
.brand small{color:var(--ink)}
.site-header a:hover{color:var(--accent)}
.site-header li:last-child a{background:var(--ink);color:var(--paper);border-radius:30px;padding:13px 22px}
.site-header li:last-child a:hover{background:var(--accent);color:#fff}
.menu-toggle{border-color:var(--line)}

/* Fascia scorrevole sotto la testata: due metà identiche, scorre di -50% e riparte
   senza stacco. L'animazione si ferma al passaggio del mouse. */
.ticker{overflow:hidden;background:var(--ink);color:var(--paper);border-bottom:1px solid #00000022}
.ticker-track{display:flex;width:max-content;animation:ticker-scroll 68s linear infinite;will-change:transform}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;white-space:nowrap;padding:11px 0;font:900 clamp(19px,2.3vw,33px)/1 Folk,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.015em}
.ticker-item i{font:400 .72em Arial,sans-serif;font-style:normal;color:var(--accent);margin:0 clamp(20px,2.8vw,46px);transform:translateY(-.04em)}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker--bleed{width:100vw;margin-left:calc(50% - 50vw);margin-block:clamp(28px,4vw,52px)}
body{overflow-x:clip}

/* Pulsante primario: pillola rossa piena. */
.button{background:var(--accent);color:#fff;border-radius:100px;padding:16px 26px;gap:30px}
.button:hover{background:var(--ink);color:#fff}

/* Hero */
.hero{background:var(--paper);padding-bottom:clamp(18px,2.6vw,38px)}
.hero-top{padding-bottom:6px}
.hero-top .eyebrow{margin-bottom:0}
.hero-grid{grid-template-columns:1.18fr 1fr;gap:clamp(24px,4vw,70px);align-items:center;padding:clamp(26px,4vw,54px) 0 clamp(20px,3vw,40px)}
.hero-copy{min-width:0}
.hero h1{font-size:clamp(52px,5.8vw,106px);max-width:none;margin-bottom:clamp(28px,3.4vw,46px);text-wrap:balance}
.hero-bottom{align-items:flex-start;gap:34px;margin-bottom:30px}
.hero-bottom p{margin-bottom:0}
.date-stamp{font-family:Folk,Impact,sans-serif;font-weight:900;letter-spacing:-.01em}
.hero .button{font-size:13px}

/* Disco: etichetta dritta e leggibile, disco rosso pieno sullo sfondo. */
.record-art{width:100%;max-width:560px;margin-left:auto}
.record-art:before{inset:3% -8% 3% 12%;border-radius:50%;transform:none}
.record{transform:none;width:93%;box-shadow:16px 20px 34px #15150e2e}
.record-label{width:45%;height:45%;border-width:8px}
.record-label span{line-height:.82}
.record-label i{margin:10px 0 4px}
.art-note{transform:none;right:0;bottom:2%;text-transform:uppercase;color:#5d5a50}
.art-spark{left:2%;top:6%;font-size:clamp(54px,6vw,104px)}


/* Sezioni che avevano colori cablati sul giallo. */
.program .eyebrow,.event-row time strong,.edition-row>strong,.status,.footer-wordmark span{color:var(--accent)}
.notice{border-left-color:var(--accent);background:#e8e2d3}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.event-row:hover{background:#e9e3d4}
.manifesto{background:var(--accent);color:var(--paper)}
.manifesto .button{background:var(--ink);color:#fff}
.manifesto .button:hover{background:var(--paper);color:var(--ink)}
.visit{background:var(--paper)}
.partner-section{background:#fff}
/* In primo piano: fascia scura, così non si confonde con la hero qui sopra.
   L'aspect-ratio ereditato da .cover-artist rendeva le card alte 671px. */
.featured-events{background:var(--ink);color:var(--paper)}
.featured-events .eyebrow{color:var(--accent)}
.featured-events .text-link{border-bottom-color:#ffffff4d}
.featured-events .text-link:hover{color:var(--accent);border-bottom-color:currentColor}
.featured-event-card,.featured-events .cover-artist{aspect-ratio:4/3;min-height:0;border-radius:12px;background:#101009}
.featured-event-card h3 strong{color:var(--accent)}
.featured-event-card .artist-date{background:var(--paper);color:var(--ink)}
.site-footer{background:var(--paper);border-top:1px solid var(--line)}
.about-heading{background:var(--paper);border-bottom:1px solid var(--line)}
.about-content .vision-chapter{background:#eee7d7}
.about-content .vision-chapter .vision-card,.about-content .vision-chapter .vision-card:nth-child(3n+2),.about-content .vision-chapter .vision-card:nth-child(3n+3){border-color:#cfc5aa}
.about-content .vision-chapter .vision-number{color:var(--accent)}

@media(min-width:1600px){.hero-grid{min-height:640px}.record-art{max-width:620px}}

@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr .92fr;gap:30px}
  .hero h1{font-size:clamp(54px,7.4vw,80px)}
  .hero-bottom{display:flex;gap:22px}
  .record-art{max-width:420px}
}

@media(max-width:760px){
  .site-header{height:82px;background:var(--paper)}
  .ticker-item{padding:8px 0;font-size:17px}
  .ticker-track{animation-duration:34s}
  .festival-logo{height:58px;max-width:105px}
  #primary-nav{background:var(--paper)}
  .hero-grid{grid-template-columns:1fr;gap:8px;padding-top:14px}
  .hero h1{margin-bottom:26px}
  .hero-bottom{margin-bottom:24px}
  .hero-top{display:flex;flex-direction:column;gap:7px}
  .hero-top span:last-child{font-size:.92em;opacity:.75}
  .record-art{width:82%;max-width:330px;margin:10px auto 40px}
  .art-note{bottom:-26px;right:0;font-size:8px}
  .record-label{width:47%;height:47%;border-width:6px}
  .art-spark{font-size:64px}
}

/* Biglietti: modulo di richiesta per gli eventi gratuiti, rimando al
   rivenditore per quelli a pagamento. */
.ticket-box{margin-top:clamp(28px,4vw,44px);padding:clamp(22px,3vw,34px);background:#ece5d5;border-radius:12px}
.ticket-box--paid{background:transparent;padding:0}
.ticket-box--paid .button{margin-top:8px}
.ticket-title{font-size:clamp(30px,3.4vw,46px);margin-bottom:10px}
.ticket-note{font-size:14px;margin-bottom:22px}
.ticket-note--chiuso{margin:0;font-weight:700}
.ticket-esito{font-size:14px;font-weight:700;padding:13px 16px;border-radius:8px;margin-bottom:20px}
.ticket-esito--ok{background:var(--ink);color:var(--paper)}
.ticket-esito--ko{background:var(--accent);color:#fff}
.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-bottom:24px}
.ticket-grid p{margin:0}
.ticket-grid label{display:block;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:7px}
.ticket-grid input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-size:15px}
.ticket-grid input:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.ticket-form .button{border:0}
.ticket-privacy{font-size:12px;margin:16px 0 0;opacity:.75}
/* Campo esca: invisibile agli utenti, compilato solo dai bot. */
.ticket-esca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.ticket-grid{grid-template-columns:1fr}.ticket-box{padding:20px 16px}}

/* Asterisco del marchio disegnato in SVG. Il carattere ✳ (U+2733) non esiste
   nei font del sito e su iOS veniva risolto con il font emoji a colori. */
.asterisco{display:inline-block;width:1em;height:1em;vertical-align:middle;flex:none;overflow:visible}
.art-spark{line-height:0}
.art-spark .asterisco{width:.92em;height:.92em}
.ticker-item .asterisco{width:.58em;height:.58em;color:var(--accent);margin:0 clamp(20px,2.8vw,46px)}
.footer-spark{line-height:0;color:var(--accent)}
.footer-spark .asterisco{width:.5em;height:.5em}
.brand-symbol{line-height:0}
.brand-symbol .asterisco{width:.9em;height:.9em}
