/* ==========================================================================
   Oculto Society — stili del tema
   I colori, i caratteri e le spaziature arrivano da theme.json: qui sotto
   vengono solo richiamati. Se vuoi cambiare il rosso o un font, NON toccare
   questo file: vai in Aspetto → Editor → Stili.
   ========================================================================== */

:root{
  --oc-nero:   var(--wp--preset--color--nero, #000);
  --oc-bianco: var(--wp--preset--color--bianco, #fff);
  --oc-rosso:  var(--wp--preset--color--rosso, #FF1A1A);
  --oc-rosso-pieno: var(--wp--preset--color--rosso-pieno, #E00E0E);
  --oc-grigio: var(--wp--preset--color--grigio, #9A9A9A);
  --oc-grigio-medio: var(--wp--preset--color--grigio-medio, #4A4A4A);
  --oc-grigio-scuro: var(--wp--preset--color--grigio-scuro, #2D2D2D);
  --oc-spento: var(--wp--preset--color--spento, #51565A);
  --oc-linea:  rgba(255,255,255,.18);
  --oc-mono:   var(--wp--preset--font-family--mono, 'Space Mono', monospace);
  --oc-futura: var(--wp--preset--font-family--futura, Futura, Jost, sans-serif);
  --oc-header-h: 92px;   /* altezza della barra in alto: cambiala qui e si adatta tutto */
}
@media(max-width:720px){ :root{ --oc-header-h: 72px; } }

/* --------------------------------------------------------------------------
   IMPORTANTE — spaziatura automatica di WordPress
   Nei contenitori in "flusso" WordPress aggiunge un margine superiore
   (block gap, 24px) a ogni blocco dopo il primo. Dove impiliamo elementi
   sovrapposti — barra in alto, schede dei resident, menu — quel margine
   sposta tutto verso il basso e sfasa gli elementi centrati o a inset:0.
   Qui lo azzeriamo dove serve. Non toccare, se non sai perché c'è.
   -------------------------------------------------------------------------- */
.oculto-header > *,
.oculto-res-card > *,
.oculto-res-grid > *,
.oculto-photo-grid > *,
.oculto-menu > *,
.oculto-hero-strip > *,
.oculto-reveal > *{
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}
/* NB: .oculto-hero NON va nell'elenco qui sopra — il suo contenuto usa
   margin-top:auto per restare incollato in basso, e un reset lo farebbe
   risalire in cima sovrapponendosi alla barra. */
.oculto-hero > .oculto-hero-content{margin-block-start:auto !important}

@property --oc-nb{ syntax:'<angle>'; initial-value:0deg; inherits:false; }

/* --- grana di fondo, come sul mockup ------------------------------------ */
body.oculto-grain::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:99;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  opacity:.05;mix-blend-mode:overlay;
}

/* --- etichette mono ----------------------------------------------------- */
.is-style-etichetta{
  font-family:var(--oc-mono);
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--oc-grigio);font-weight:400;line-height:1.5;
}

/* --- sezione chiara (blocco invertito) ---------------------------------- */
.is-style-sezione-chiara{
  background:var(--oc-bianco);color:var(--oc-nero);
  border-top:4px solid var(--oc-nero);
}
.is-style-sezione-chiara :is(h1,h2,h3,h4){color:var(--oc-nero)}
.is-style-sezione-chiara p{color:var(--oc-grigio-medio)}
.is-style-sezione-chiara .is-style-etichetta{color:var(--oc-grigio-medio)}
.is-style-sezione-chiara .wp-block-button__link{border-color:var(--oc-nero);color:var(--oc-nero)}
.is-style-sezione-chiara .wp-block-button__link:hover{background:var(--oc-rosso-pieno);border-color:var(--oc-rosso-pieno);color:var(--oc-bianco)}

/* ==========================================================================
   HEADER + MENU
   ========================================================================== */
.oculto-header{
  position:fixed;inset:0 0 auto 0;z-index:230;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:0 32px;height:var(--oc-header-h);
  background:rgba(0,0,0,.9);border-bottom:1px solid var(--oc-linea);
}
.oculto-header .oculto-logo{display:flex;align-items:center;justify-content:center;line-height:0}
.oculto-header .oculto-logo img{height:38px;width:auto;display:block}
.oculto-header .oculto-right{display:flex;gap:34px;align-items:center;justify-content:flex-end}
.oculto-header .oculto-right a{
  font-family:var(--oc-mono);font-size:.72rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--oc-bianco);text-decoration:none;
  padding:6px 0;border-bottom:1px solid transparent;
}
.oculto-header .oculto-right a:hover{border-bottom-color:var(--oc-rosso)}
.oculto-next{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:var(--oc-mono);font-size:.62rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--oc-rosso);
}
.oculto-next::before{content:"";width:7px;height:7px;background:var(--oc-rosso);border-radius:50%;animation:ocPulse 1.6s ease-in-out infinite}
@keyframes ocPulse{0%,100%{opacity:1}50%{opacity:.25}}
@media(max-width:1100px){.oculto-next{display:none}}
@media(max-width:900px){.oculto-header .oculto-right a{display:none}}
@media(max-width:720px){
  .oculto-header{padding:0 18px}
  .oculto-header .oculto-logo img{height:32px}
}

.oculto-burger{
  display:flex;background:none;border:0;padding:10px;cursor:pointer;
  flex-direction:column;gap:5px;justify-self:start;align-items:flex-start;
}
.oculto-burger span{display:block;width:22px;height:2px;background:var(--oc-bianco);transition:transform .2s ease,opacity .2s ease}
.oculto-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.oculto-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.oculto-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.oculto-menu{
  position:fixed;inset:0;z-index:220;background:var(--oc-nero);
  display:none;flex-direction:column;justify-content:center;
  padding:calc(var(--oc-header-h) + 32px) 32px 48px;
}
.oculto-menu.is-open{display:flex}

/* Il blocco Navigazione di WordPress dispone le voci in RIGA per impostazione
   predefinita: qui vanno una sotto l'altra. Serve agire sugli elenchi interni
   (<ul>), non solo sul <nav>, perché è l'elenco a essere il contenitore flex.
   Sono elencati entrambi i casi: menu creato a mano e elenco automatico delle
   pagine (quello che WordPress mostra finché non assegni un menu). */
.oculto-menu nav,
.oculto-menu .wp-block-navigation__container,
.oculto-menu .wp-block-page-list{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:6px;
  width:100%;
  padding:0;
  margin:0;
  list-style:none;
}
.oculto-menu .wp-block-navigation-item,
.oculto-menu .wp-block-pages-list__item{
  display:block;
  width:100%;
}
.oculto-menu nav a{
  font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;text-decoration:none;
  font-size:clamp(2.2rem,9vw,4.6rem);line-height:1.12;
  color:var(--oc-bianco);border-bottom:1px solid var(--oc-linea);padding:12px 0;
  display:block;width:100%;
}
.oculto-menu nav a:hover,.oculto-menu nav a:focus-visible{color:var(--oc-rosso);outline:none}
.oculto-menu nav a .oculto-idx{
  font-family:var(--oc-mono);font-size:.7rem;font-weight:700;letter-spacing:.2em;
  color:var(--oc-rosso);vertical-align:super;margin-right:14px;
}
.oculto-menu .oculto-menu-foot{margin-top:40px;display:flex;gap:22px;flex-wrap:wrap}
.oculto-menu .oculto-menu-foot a{
  font-family:var(--oc-mono);font-size:.68rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--oc-grigio);text-decoration:none;
}
.oculto-menu .oculto-menu-foot a:hover{color:var(--oc-rosso)}
@media(max-width:720px){.oculto-menu{padding:calc(var(--oc-header-h) + 24px) 20px 40px}}

/* ==========================================================================
   HERO — tre video verticali
   ========================================================================== */
.oculto-hero{position:relative;min-height:94vh;display:flex;flex-direction:column;overflow:hidden}
.oculto-hero .oculto-hero-strip{
  position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;
}
.oculto-hero .oculto-hero-strip > *{position:relative;overflow:hidden;margin:0;border-right:1px solid rgba(0,0,0,.6)}
.oculto-hero .oculto-hero-strip video{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:contrast(1.05) brightness(.85) saturate(1.05);
}
.oculto-hero .oculto-hero-strip figcaption{display:none}
.oculto-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.92) 100%);
}
.oculto-hero .oculto-hero-content{position:relative;z-index:2;margin-top:auto;padding:0 28px 52px}
.oculto-hero .oculto-hero-content .is-style-etichetta{color:var(--oc-bianco);opacity:.9}
.oculto-hero h1{margin:.35rem 0 0;line-height:.94;text-wrap:balance}
.oculto-hero .oculto-accent{box-shadow:inset 0 -.12em 0 0 var(--oc-rosso)}
@media(max-width:720px){
  .oculto-hero{min-height:86vh}
  .oculto-hero .oculto-hero-strip{grid-template-columns:1fr}
  .oculto-hero .oculto-hero-strip > *:nth-child(n+2){display:none}
  .oculto-hero .oculto-hero-content{padding:0 16px 40px}
}

/* ==========================================================================
   TICKER
   ========================================================================== */
.oculto-ticker{background:var(--oc-bianco);color:var(--oc-nero);overflow:hidden;white-space:nowrap;padding:10px 0}
.oculto-ticker .oculto-ticker-track{display:inline-block;animation:ocTick 26s linear infinite}
.oculto-ticker span{
  font-family:var(--oc-mono);font-weight:700;font-size:.78rem;
  letter-spacing:.22em;text-transform:uppercase;padding:0 1.6em;
}
.oculto-ticker .oculto-dia{color:var(--oc-rosso-pieno)}
@keyframes ocTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   ARCHIVIO EVENTI + anteprima al passaggio del mouse
   ========================================================================== */
.oculto-arch-row{
  display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--oc-linea);
  transition:padding-left .35s cubic-bezier(.22,1,.36,1);
  text-decoration:none;
}
.oculto-arch-row:first-of-type{border-top:1px solid var(--oc-linea)}
.oculto-arch-row .oculto-date{
  font-family:var(--oc-mono);font-weight:700;font-size:.95rem;letter-spacing:.08em;
  font-variant-numeric:tabular-nums;color:var(--oc-rosso);transition:color .35s ease;
}
.oculto-arch-row .oculto-venue{
  font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;line-height:1.1;
  font-size:clamp(1.1rem,2.4vw,1.7rem);color:var(--oc-bianco);transition:color .35s ease;
}
.oculto-arch-row .oculto-note{
  justify-self:end;font-family:var(--oc-mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--oc-grigio);
}
.oculto-arch.is-dimming .oculto-arch-row:not(.is-active) .oculto-venue,
.oculto-arch.is-dimming .oculto-arch-row:not(.is-active) .oculto-date{color:var(--oc-spento)}
.oculto-arch .oculto-arch-row.is-active{padding-left:14px}
.oculto-arch .oculto-arch-row.is-active .oculto-venue{color:var(--oc-bianco)}
.oculto-arch .oculto-arch-row.is-active .oculto-date{color:var(--oc-rosso)}
@media(max-width:720px){
  .oculto-arch-row{grid-template-columns:96px 1fr}
  .oculto-arch-row .oculto-note{display:none}
}

/* ==========================================================================
   RESIDENTS + bordo neon
   ========================================================================== */
/* align-items:start impedisce alle schede di allungarsi fino all'altezza
   della riga: ognuna resta alta esattamente quanto la sua foto, così la
   cornice neon la ricalca al pixel. */
.oculto-res-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:start}
@media(max-width:1400px){.oculto-res-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.oculto-res-grid{grid-template-columns:1fr 1fr;gap:14px}}

.oculto-res-card{position:relative;display:block;border-radius:4px;text-decoration:none}
.oculto-res-card .oculto-shot{position:relative;overflow:hidden;border-radius:4px;display:block}
.oculto-res-card img{
  width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(.9);display:block;
  transition:transform .5s ease,filter .5s ease;
}
.oculto-res-card:hover img{transform:scale(1.04);filter:saturate(1.15)}
.oculto-res-card .oculto-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.88) 100%)}
.oculto-res-card .oculto-who{position:absolute;left:16px;right:16px;bottom:14px;z-index:2}
.oculto-res-card .oculto-name{
  font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;line-height:1.05;display:block;
  font-size:clamp(1.2rem,2.6vw,1.9rem);color:var(--oc-bianco);
}
.oculto-res-card .oculto-role{
  font-family:var(--oc-mono);font-size:.62rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--oc-rosso);
}
@media(max-width:720px){.oculto-res-card .oculto-who{left:10px;right:10px;bottom:10px}}

/* bordo neon: luce che insegue il perimetro + bagliore sfocato */
.oculto-neon,.is-style-bordo-neon > figure::after{position:absolute;inset:0;border-radius:6px;pointer-events:none;z-index:3}
.oculto-neon{animation:ocNeon 16s linear infinite;--oc-nb:0deg}
.oculto-neon::before,.oculto-neon::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;
  background:conic-gradient(from var(--oc-nb),
    rgba(255,26,26,0) 0deg, rgba(255,26,26,0) 200deg,
    rgba(255,26,26,.35) 250deg, var(--oc-rosso) 300deg, #fff 330deg,
    var(--oc-rosso) 350deg, rgba(255,26,26,0) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.oculto-neon::after{inset:-7px;padding:9px;filter:blur(13px);opacity:.9}
.oculto-res-card:hover .oculto-neon{animation-duration:7s}
.oculto-res-card:hover .oculto-neon::after{opacity:1;filter:blur(17px)}
@keyframes ocNeon{to{--oc-nb:360deg}}

/* ==========================================================================
   GRIGLIE FOTO
   ========================================================================== */
.oculto-photo-grid{display:grid;gap:14px}
.oculto-photo-grid.is-3{grid-template-columns:1.2fr .8fr .8fr}
.oculto-photo-grid.is-4{grid-template-columns:repeat(4,1fr)}
.oculto-photo-grid figure{margin:0;position:relative;overflow:hidden}
.oculto-photo-grid img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.oculto-photo-grid figcaption{
  position:absolute;left:12px;bottom:10px;font-family:var(--oc-mono);font-size:.64rem;
  letter-spacing:.16em;text-transform:uppercase;background:var(--oc-nero);color:var(--oc-bianco);padding:5px 9px;
}
.is-style-sezione-chiara .oculto-photo-grid figcaption{background:var(--oc-bianco);color:var(--oc-nero)}
@media(max-width:900px){
  .oculto-photo-grid.is-3{grid-template-columns:1fr 1fr}
  .oculto-photo-grid.is-3 figure:first-child{grid-column:1/-1}
  .oculto-photo-grid.is-3 img{aspect-ratio:16/10}
}
@media(max-width:720px){.oculto-photo-grid.is-4{grid-template-columns:1fr 1fr;gap:10px}}
@media(max-width:540px){
  .oculto-photo-grid.is-3{grid-template-columns:1fr}
  .oculto-photo-grid.is-3 figure:first-child{grid-column:auto}
  .oculto-photo-grid.is-3 img{aspect-ratio:4/3}
}

/* ==========================================================================
   DATI EVENTO (data / luogo / formato / stato)
   ========================================================================== */
.oculto-meta{
  display:flex;flex-wrap:wrap;gap:26px;margin:26px 0 34px;
  font-family:var(--oc-mono);font-weight:700;font-size:.85rem;letter-spacing:.1em;
  text-transform:uppercase;font-variant-numeric:tabular-nums;
}
.oculto-meta .oculto-k{
  display:block;font-weight:400;font-size:.62rem;letter-spacing:.18em;margin-bottom:4px;color:var(--oc-grigio);
}
.is-style-sezione-chiara .oculto-meta .oculto-k{color:var(--oc-grigio-medio)}
.oculto-meta .oculto-hl{color:var(--oc-rosso-pieno)}
@media(max-width:720px){.oculto-meta{gap:18px 26px}}

/* ==========================================================================
   PAGINA IDENTITY
   ========================================================================== */
.oculto-name-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:4px solid var(--oc-bianco)}
.oculto-name-cell{padding:38px 30px 42px;border-right:1px solid var(--oc-linea)}
.oculto-name-cell:last-child{border-right:0}
.oculto-name-cell .oculto-glyph{
  font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;line-height:1;margin:0 0 16px;
  font-size:clamp(2rem,4.4vw,3.4rem);color:var(--oc-bianco);
}
.oculto-name-cell .oculto-hi{color:var(--oc-rosso)}
@media(max-width:900px){
  .oculto-name-grid{grid-template-columns:1fr}
  .oculto-name-cell{border-right:0;border-bottom:1px solid var(--oc-linea)}
  .oculto-name-cell:last-child{border-bottom:0}
  .oculto-name-cell{padding:30px 18px 34px}
}

.oculto-mv{border:1px solid var(--oc-linea);padding:32px 28px 36px}
.oculto-mv .oculto-k2{
  font-family:var(--oc-mono);font-weight:700;font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--oc-rosso);display:block;margin-bottom:18px;
}
@media(max-width:720px){.oculto-mv{padding:26px 20px 30px}}

.oculto-fam-row{display:grid;grid-template-columns:260px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid var(--oc-linea)}
.oculto-fam-row:first-of-type{border-top:1px solid var(--oc-linea)}
.oculto-fam-row .oculto-name{font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;line-height:1.05;display:block;font-size:clamp(1.4rem,2.8vw,2.1rem)}
.oculto-fam-row .oculto-role{font-family:var(--oc-mono);font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--oc-rosso)}
.oculto-fam-row .oculto-sup{display:block;margin-top:10px;font-family:var(--oc-mono);font-size:.68rem;letter-spacing:.06em;color:var(--oc-grigio-medio)}
.oculto-fam-row .oculto-quote{display:block;margin-top:12px;font-family:var(--oc-mono);font-size:.78rem;color:var(--oc-bianco)}
@media(max-width:900px){.oculto-fam-row{grid-template-columns:1fr;gap:10px}}

/* codice sonoro */
.oculto-sound-words{
  font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.5rem,4.4vw,3.2rem);line-height:1.22;
  display:flex;flex-wrap:wrap;gap:.1em .5em;justify-content:center;align-items:center;
  margin:22px 0 0;color:var(--oc-nero);
}
.oculto-sound-words .oculto-dia{color:var(--oc-rosso-pieno);font-size:.45em;transform:translateY(-.15em)}

/* contatti */
.oculto-contacts{text-align:center;border-top:1px solid var(--oc-linea)}
.oculto-contacts-row{display:flex;flex-wrap:wrap;gap:18px 34px;justify-content:center;margin-top:26px}
.oculto-contacts-row a{
  font-family:var(--oc-mono);font-size:.82rem;font-weight:700;letter-spacing:.1em;
  color:var(--oc-bianco);text-decoration:none;padding-bottom:5px;
  box-shadow:inset 0 -2px 0 0 var(--oc-rosso);
}
.oculto-contacts-row a:hover{color:var(--oc-rosso)}
.is-style-sezione-chiara .oculto-contacts-row a{color:var(--oc-nero)}

.oculto-wall{padding:90px 28px;overflow:hidden;text-align:center;border-top:1px solid var(--oc-linea)}
.oculto-wall .oculto-line{
  font-family:var(--oc-futura);font-weight:700;text-transform:lowercase;white-space:nowrap;
  font-size:clamp(1.1rem,3.4vw,2.6rem);line-height:1.34;letter-spacing:.02em;color:var(--oc-bianco);
}
.oculto-wall .oculto-line:nth-child(2n){color:var(--oc-grigio-scuro)}
.oculto-wall .oculto-line:nth-child(3n){color:var(--oc-grigio-medio)}
.oculto-wall .oculto-line.is-hot{color:var(--oc-rosso)}
@media(max-width:720px){.oculto-wall{padding:70px 16px}}

/* ==========================================================================
   PAGINA ARTISTA (stile link-in-bio)
   ========================================================================== */
.oculto-artist-hero{
  position:relative;min-height:78vh;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;
}
.oculto-artist-hero > *{margin-block-start:0 !important;margin-block-end:0 !important}
.oculto-artist-photo{position:absolute;inset:0;margin:0}
.oculto-artist-photo img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.oculto-artist-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.05) 32%,rgba(0,0,0,.97) 100%);
}
.oculto-artist-id{position:relative;z-index:2;text-align:center;padding:0 24px 48px}
.oculto-artist-id > *{margin-block-start:0 !important}
.oculto-artist-name{
  font-family:var(--oc-futura);font-weight:700;text-transform:uppercase;
  font-size:clamp(2.6rem,9vw,6rem);line-height:.95;margin:0;color:var(--oc-bianco);
}
.oculto-artist-role{
  font-family:var(--oc-mono);font-size:.72rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--oc-rosso);margin:10px 0 0;
}

/* riga piattaforme: pillole in mono */
.oculto-links{margin-top:26px !important}
.oculto-links .wp-block-button__link{
  border:1px solid var(--oc-linea);color:var(--oc-bianco);background:transparent;
  padding:11px 20px;font-size:.66rem;letter-spacing:.16em;border-radius:999px;
}
.oculto-links .wp-block-button__link:hover{
  background:var(--oc-rosso-pieno);border-color:var(--oc-rosso-pieno);color:var(--oc-bianco);
}

/* pila di pulsanti larghi, stile link-in-bio */
.oculto-stack{width:100%;gap:12px !important}
.oculto-stack .wp-block-button{width:100%}
.oculto-stack .wp-block-button__link{
  display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  border:1px solid var(--oc-linea);background:transparent;color:var(--oc-bianco);
  padding:18px 22px;font-size:.74rem;letter-spacing:.16em;text-align:left;
  transition:border-color .2s ease,background .2s ease,padding-left .2s ease;
}
.oculto-stack .wp-block-button__link::after{content:"↗";color:var(--oc-rosso);font-size:1rem;line-height:1}
.oculto-stack .wp-block-button__link:hover{
  border-color:var(--oc-rosso);background:rgba(255,26,26,.10);color:var(--oc-bianco);padding-left:28px;
}
.oculto-stack.is-wide{max-width:720px;margin-inline:auto}

/* ultima uscita in evidenza */
.oculto-release-feature{
  display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:36px;align-items:center;
  max-width:980px;margin:26px auto 0;
}
.oculto-release-feature > *{margin-block-start:0 !important}
.oculto-artwork{margin:0;position:relative;overflow:hidden}
.oculto-artwork img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
@media(max-width:820px){
  .oculto-release-feature{grid-template-columns:1fr;gap:24px}
  .oculto-release-feature .oculto-artwork{max-width:340px}
}

/* griglia discografia */
.oculto-release-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.oculto-release-grid > *{margin-block-start:0 !important;margin-block-end:0 !important}
.oculto-release-card{position:relative}
.oculto-release-card > *{margin-block-start:0 !important;margin-block-end:0 !important}
.oculto-release-card .oculto-artwork{transition:transform .4s ease}
.oculto-release-card:hover .oculto-artwork{transform:scale(1.02)}
.oculto-release-title{
  display:block;margin-top:12px;font-family:var(--oc-futura);font-weight:700;
  text-transform:uppercase;font-size:1rem;line-height:1.15;color:var(--oc-bianco);
}
.oculto-release-meta{
  display:block;margin-top:4px;font-family:var(--oc-mono);font-size:.64rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--oc-grigio);
}
@media(max-width:1000px){.oculto-release-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.oculto-release-grid{grid-template-columns:1fr 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.oculto-release-card:hover .oculto-artwork{transform:none}}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.oculto-footer{
  padding:56px 28px 40px;display:flex;flex-wrap:wrap;gap:24px;
  align-items:center;justify-content:space-between;border-top:1px solid var(--oc-linea);
}
.oculto-footer img{height:28px;width:auto}
.oculto-footer nav{display:flex;gap:22px;flex-wrap:wrap}
.oculto-footer a{
  font-family:var(--oc-mono);font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--oc-grigio);text-decoration:none;
}
.oculto-footer a:hover{color:var(--oc-rosso)}
.oculto-footer small{font-family:var(--oc-mono);font-size:.62rem;letter-spacing:.1em;color:var(--oc-grigio)}
.oculto-footer .oculto-footer-contact a{
  font-family:var(--oc-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;
  text-transform:none;color:var(--oc-bianco);
  padding-bottom:4px;box-shadow:inset 0 -2px 0 0 var(--oc-rosso);
}
.oculto-footer .oculto-footer-contact a:hover{color:var(--oc-rosso)}
@media(max-width:720px){
  .oculto-footer{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(max-width:720px){.oculto-footer{padding:40px 16px 32px}}

/* ==========================================================================
   RIDUZIONE MOVIMENTO — rispetta le impostazioni di accessibilità
   ========================================================================== */
@media(prefers-reduced-motion:reduce){
  .oculto-ticker .oculto-ticker-track,
  .oculto-next::before,
  .oculto-neon{animation:none}
  .oculto-res-card:hover img{transform:none}
}
