/**
 * Theme Name: Sistema musica (English)
 * Template: twentytwentyfive
 * Author: the Puglia Sounds team
 * Description: Versione inglese del tema del sito Medimex (/en/): stesso style.css del sito italiano, parti e modelli in inglese.
 * Version: 0.24.2
 */

/* COME È FATTO QUESTO FILE
   1. Prima parte: i componenti comuni al tema di Puglia Sounds (0.19.2).
      Cambia solo il nome dei colori d'accento, che qui sono quelli dell'edizione.
   2. Seconda parte ("MEDIMEX", in fondo): ciò che esiste solo su questo sito.

   COLORI DELL'EDIZIONE — i valori stanno in theme.json (palette "edizione-*") e si
   cambiano lì, una volta l'anno. Qui si chiamano sempre per nome:
     edizione-magenta         segni grafici: cerchi delle frecce, linee, pallini, anello da tastiera
     edizione-magenta-testo   scritte in accento (occhielli, date, voce corrente) e fondi con testo bianco
     edizione-magenta-scuro   fondo dei pulsanti pieni al passaggio
     edizione-magenta-chiaro  fondo della voce di menu corrente
     edizione-giallo          campi e cerchi, sempre con testo scuro
     edizione-azzurro         riquadro in evidenza, sempre con testo scuro
     edizione-contrasto       testo, pulsanti pieni, footer (in theme.json "contrast" è un suo alias)
   Regole: su giallo e azzurro il testo è sempre scuro; il bianco va solo su
   magenta-testo o più scuro; il magenta acceso mai per il testo piccolo. */
:root {
  --sm-accent: var(--wp--preset--color--edizione-magenta);
}

/* clip (non hidden): taglia lo sbordo orizzontale senza creare
   un contenitore di scorrimento, così position:sticky funziona */
html, body {
  overflow-x: clip;
}

.wp-site-blocks {
  overflow-x: clip;
}

/* evita le sottolineature per i post-terms */
.wp-block-post-terms a {
  text-decoration: none;
}

.wp-block-post-terms a:hover {
  text-decoration: underline;
}

/* ===== BASI — "tema morbido" (0.19.0) =====
   La pagina è crema (accent-5, impostato in theme.json) e i contenuti in
   evidenza sono pannelli bianchi (base) appoggiati sopra, con un'ombra al
   posto del bordo. Ombre, raggi e linee sottili sono valori di theme.json:
     --wp--preset--shadow--pannello | scheda | sollevata | anello
     --wp--custom--radius--voce | card | pannello | riquadro | menu
     --wp--custom--linea--sottile (dentro i pannelli) | sezione (nel testo) */

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* evidenza da tastiera: anello nel colore d'accento; con mouse e dito nessun anello */
.wp-site-blocks :focus:not(:focus-visible) { outline: none; }
.wp-site-blocks :focus-visible { outline: 2px solid var(--wp--preset--color--edizione-magenta); outline-offset: 2px; }

/* Pagine con intestazione (.ps-fhead): briciole, titolo, sottotitolo e contenuto
   partono tutti dallo stesso margine sinistro, accanto alla barra laterale.
   Sugli schermi molto larghi WordPress centrerebbe i blocchi nella colonna:
   qui restano a sinistra. (!important perché la regola di WordPress che li
   centra lo usa a sua volta; i blocchi centrati o a tutta larghezza restano tali.) */
main:has(> .ps-fhead) > .alignwide,
.ps-page > :not(.alignfull, .alignleft, .alignright, .aligncenter) { margin-left: 0 !important; }

/* titolo di pagina: misura e peso stanno nello stile di blocco "Titolo pagina" */
.is-style-titolo-pagina { text-wrap: balance; }

/* sottotitolo di pagina. Il blocco è largo quanto il contenuto; il testo è
   largo quanto la colonna di testo che lo segue, cioè arriva fin dove
   comincia la scheda laterale (colonna da 322px + 40px di distanza = 362px).
   Lo spazio si lascia a destra, così il sottotitolo resta allineato a
   sinistra con il titolo. Dove lo spazio è poco il testo non scende mai
   sotto la misura di partenza (30 caratteri; 52 per la seconda riga). */
.ps-fintro, .ps-fintro-2 { margin: 0; text-wrap: pretty; }
.ps-fintro {
  padding-inline-end: max(0px, min(100% - 30ch, max(0px, 100% - var(--wp--style--global--wide-size, 1340px)) + 362px));
  font-size: clamp(1.4rem, 2.4vw, 1.95rem); font-weight: 400; line-height: 1.35; letter-spacing: -.015em;
  color: var(--wp--preset--color--contrast);
}
/* seconda riga facoltativa, più piccola */
.ps-fintro-2 {
  padding-inline-end: max(0px, min(100% - 52ch, max(0px, 100% - var(--wp--style--global--wide-size, 1340px)) + 362px));
  font-size: 1.1rem; line-height: 1.6; color: var(--wp--preset--color--accent-4);
}
/* dentro la colonna di testo occupa tutta la colonna */
.ps-prose > .ps-fintro, .ps-prose > .ps-fintro-2 { padding-inline-end: 0; }

/* ===== PULSANTI =====
   Ogni blocco Pulsante è una pillola con la freccia in un cerchio. La freccia
   la disegna il tema (::after): nel testo del pulsante non si scrive.
   - pieno (stile predefinito): l'azione principale;
   - contorno (stili "Contorno" e "Pillola contorno"): i rimandi.
   Chi apre una nuova scheda (target="_blank") ha la freccia ↗; le ancore
   nella stessa pagina e i download hanno la freccia ↓ (più sotto, sezione Medimex). */

.wp-block-buttons > .wp-block-button > .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 14px;
  box-sizing: border-box; min-height: 48px; padding: 6px 6px 6px 22px;
  border: 0; border-radius: var(--wp--custom--radius--pill);
  background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5);
  font-size: .875rem; font-weight: 700; letter-spacing: .005em; line-height: 1.2; text-align: left; text-decoration: none;
  transition: background-color .25s, color .25s, box-shadow .25s;
}
.wp-block-buttons > .wp-block-button > .wp-block-button__link::after {
  content: "→"; flex: none; display: grid; place-items: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--contrast);
  font-size: .9375rem; font-weight: 700; line-height: 1;
  transition: transform .25s ease;
}
.wp-block-buttons > .wp-block-button > .wp-block-button__link[target="_blank"]::after { content: "↗"; }
.wp-block-buttons > .wp-block-button > .wp-block-button__link:hover { background-color: var(--wp--preset--color--edizione-magenta-scuro); color: var(--wp--preset--color--base); }
.wp-block-buttons > .wp-block-button > .wp-block-button__link:hover::after { transform: translateX(3px); }

/* contorno */
.wp-block-buttons > .wp-block-button:is(.is-style-outline, .is-style-pillola-contorno) > .wp-block-button__link {
  padding: 6px 7px 6px 22px; border: 0;
  background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
  box-shadow: var(--wp--preset--shadow--anello);
}
.wp-block-buttons > .wp-block-button:is(.is-style-outline, .is-style-pillola-contorno) > .wp-block-button__link::after {
  width: 34px; height: 34px;
  background: var(--wp--preset--color--edizione-magenta); color: var(--wp--preset--color--base);
}
.wp-block-buttons > .wp-block-button:is(.is-style-outline, .is-style-pillola-contorno) > .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5);
  box-shadow: 0 0 0 1px var(--wp--preset--color--contrast), 0 12px 26px -12px color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent);
}

/* contorno con un colore del testo scelto a mano (di solito bianco, sopra una foto
   o un fondo scuro): resta trasparente, con un anello nel colore del testo */
.wp-block-buttons > .wp-block-button.is-style-outline > .wp-block-button__link.has-text-color:not(.has-background) {
  background-color: transparent; box-shadow: inset 0 0 0 1.5px currentColor;
}
.wp-block-buttons > .wp-block-button.is-style-outline > .wp-block-button__link.has-text-color:not(.has-background)::after {
  background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
}
.wp-block-buttons > .wp-block-button.is-style-outline > .wp-block-button__link.has-text-color:not(.has-background):hover {
  background-color: color-mix(in srgb, currentColor 18%, transparent); box-shadow: inset 0 0 0 1.5px currentColor;
}

/* pulsante a tutta larghezza (larghezza impostata dal blocco, o dentro una scheda) */
.wp-block-buttons > .wp-block-button[class*="wp-block-button__width-"] > .wp-block-button__link { width: 100%; }

/* pulsante di invio del form newsletter: pieno, a tutta larghezza */
.ps-nlform-actions button {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  box-sizing: border-box; width: 100%; min-height: 50px; padding: 6px 6px 6px 22px;
  border: 0; border-radius: var(--wp--custom--radius--pill);
  background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5);
  font: inherit; font-size: .875rem; font-weight: 700; letter-spacing: .005em; line-height: 1.2; text-align: left;
  cursor: pointer; transition: background-color .25s, color .25s;
}
.ps-nlform-actions button::after {
  content: "→"; flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--contrast);
  font-size: .9375rem; font-weight: 700; line-height: 1; transition: transform .25s ease;
}
.ps-nlform-actions button:hover { background-color: var(--wp--preset--color--edizione-magenta-scuro); color: var(--wp--preset--color--base); }
.ps-nlform-actions button:hover::after { transform: translateX(3px); }

/* ===== SLIDER ===== */

.horizontal-slider, .brevi-slider, .img-slider {
  box-sizing: border-box;
  max-width: 100%;
  display: flex;
  overflow-x: auto;
  gap: 1.5rem;
  scroll-behavior: smooth;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
}

.horizontal-slider::-webkit-scrollbar,
.brevi-slider::-webkit-scrollbar,
.img-slider::-webkit-scrollbar {
  display: none;
}

/* Spacer finale */
.horizontal-slider::after,
.brevi-slider::after,
.img-slider::after {
  content: '';
  flex: 0 0 2rem;
  display: block;
}

/* Desktop */
@media (min-width: 769px) {
  .horizontal-slider, .brevi-slider, .img-slider {
    padding: 0 2rem;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 2rem;
  }

  .horizontal-slider > * {
    flex: 0 0 auto;
    width: 370px;
    scroll-snap-align: start;
  }

  .brevi-slider > * {
    flex: 0 0 auto;
    width: 250px;
    scroll-snap-align: start;
  }

  .img-slider > * {
    flex: 0 0 auto;
    width: 300px;
    scroll-snap-align: start;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .horizontal-slider, .brevi-slider, .img-slider {
    padding: 0 1rem;
    scroll-padding: 0 1rem;
    gap: 1rem;
  }

  .horizontal-slider::after,
  .brevi-slider::after,
  .img-slider::after {
    flex: 0 0 1rem;
  }

  .horizontal-slider > * {
    flex: 0 0 auto;
    width: 90vw;
    max-width: 400px;
  }

  .brevi-slider > * {
    flex: 0 0 auto;
    width: 80vw;
    max-width: 320px;
  }

  .img-slider > * {
    flex: 0 0 auto;
    width: 85vw;
    max-width: 350px;
  }
}

/* Nessuno spazio vuoto all'inizio degli slider (tranne .img-slider).
   Dopo le media query: vince sul padding di entrambe senza !important */
.horizontal-slider, .brevi-slider {
  padding-left: 0;
  scroll-padding-left: 0;
}

.horizontal-slider > *, .brevi-slider > *, .img-slider > * {
  margin: 0;
  pointer-events: auto;
}

/* Centra le immagini di .img-slider quando non riempiono la riga
   (i margini auto assorbono solo lo spazio libero, lo scroll resta normale).
   !important + doppia classe: il layout constrained di WP impone ai figli
   margin-left/right auto !important e va sovrascritto */
.img-slider.img-slider > * { margin: 0 !important; }
.img-slider.img-slider > :first-child { margin-left: auto !important; }
.img-slider.img-slider > :last-child  { margin-right: auto !important; }

.horizontal-slider:active, .brevi-slider:active, .img-slider:active {
  cursor: grabbing;
}

.horizontal-slider.dragging,
.brevi-slider.dragging,
.img-slider.dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  scroll-snap-type: none;
}

.horizontal-slider.dragging > *,
.brevi-slider.dragging > *,
.img-slider.dragging > * {
  pointer-events: none;
}

/* ===== HOME: MOSAICO AVVISI ===== */

.ps-mosaic { grid-auto-rows: 220px; }

.ps-mosaic > .wp-block-cover {
  min-height: 0;
  height: 100%;
  margin: 0 !important;
  overflow: hidden;
}

/* sfumatura dal basso per leggibilità */
.ps-mcard .wp-block-cover__background {
  background: linear-gradient(180deg, transparent 30%, color-mix(in srgb, var(--wp--preset--color--contrast) 80%, transparent) 100%) !important;
  opacity: 1 !important;
}

/* tutta la card cliccabile tramite il link del titolo.
   Il link deve restare "static": i link dei titoli sono "relative" (per la linea
   sotto, vedi più giù) e il suo ::after coprirebbe solo il testo, che nelle
   tessere delle edizioni non si vede (corretto nella 0.24.2) */
.ps-mcard .wp-block-cover__inner-container { position: static; }
.ps-mcard h3 { margin: 0; }
.ps-mcard h3 a { text-decoration: none; }
.ps-mcard.wp-block-cover :is(.wp-block-post-title, .wp-block-heading) a { position: static; }
.ps-mcard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }

.ps-mosaic > .wp-block-cover { transition: transform .3s ease, box-shadow .3s ease; }
.ps-mosaic > .wp-block-cover:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--sollevata); }
.ps-mcard .wp-block-cover__image-background { transition: transform .6s ease; }
.ps-mcard:hover .wp-block-cover__image-background { transform: scale(1.04); }
.ps-mcard:focus-within { outline: 2px solid var(--wp--preset--color--edizione-magenta); outline-offset: 3px; }

@media (max-width: 900px) {
  .ps-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 190px; }
  .ps-mosaic > * { grid-column: auto !important; grid-row: auto !important; }
  .ps-mosaic > :first-child,
  .ps-mosaic > :nth-child(2) { grid-column: 1 / -1 !important; }
}
@media (max-width: 560px) {
  .ps-mosaic { grid-template-columns: minmax(0, 1fr) !important; grid-auto-rows: 170px; }
}

/* ===== HOME: CHI SIAMO / LINK SEZIONE ===== */

.ps-media-round .wp-block-media-text__media,
.ps-media-round .wp-block-media-text__media img { border-radius: var(--wp--custom--radius--card); overflow: hidden; }
.ps-media-round .wp-block-media-text__content { padding-left: 6%; padding-right: 0; }
.ps-media-round.has-media-on-the-right .wp-block-media-text__content { padding-left: 0; padding-right: 6%; }
@media (max-width: 600px) {
  .ps-media-round .wp-block-media-text__content { padding: 24px 0 0; }
}

.ps-link-arrow a { text-decoration: none; }
.ps-link-arrow a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ===== FOOTER ===== */

.ps-foot p { margin: 0; }
.ps-foot a { text-decoration: none; opacity: .8; }
.ps-foot a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
.ps-foot .ps-foot-cols { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent); margin-bottom: 0; }
.ps-foot .ps-foot-adr { opacity: .7; line-height: 1.5; }
.ps-foot .ps-foot-adr a { opacity: 1; }
.ps-foot .ps-foot-logos img { max-height: 44px; width: auto; }
/* menu del footer: gli stessi della barra laterale (Aspetto → Editor →
   Navigazione), ma solo le voci principali, senza sottomenu né frecce */
.ps-foot .ps-foot-menu .wp-block-navigation__submenu-container,
.ps-foot .ps-foot-menu .wp-block-navigation__submenu-icon { display: none; }
.ps-foot .ps-foot-menu .wp-block-navigation-item__content { padding: 0; }
@media (max-width: 781px) {
  .ps-foot .ps-foot-cols { display: grid !important; grid-template-columns: 1fr 1fr; gap: 30px 20px; }
}

/* ===== ARTICOLO SINGOLO ===== */

.ps-crumb p { margin: 0; }
.ps-crumb, .ps-crumb a { color: var(--wp--preset--color--accent-4); text-decoration: none; }
.ps-crumb .wp-block-post-terms a { color: var(--wp--preset--color--edizione-magenta-testo); font-weight: 700; }
.ps-crumb a:hover { text-decoration: underline; }

.ps-artmeta, .ps-artmeta .wp-block-post-date {
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent-4);
}
.ps-artmeta p { margin: 0; }


.ps-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: var(--wp--preset--spacing--30); }
.ps-tags .wp-block-post-terms__separator { display: none; }
.ps-tags a {
  display: inline-block;
  padding: 6px 14px;
  border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--base);
  box-shadow: inset 0 0 0 1px var(--wp--custom--linea--sezione);
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
}
.ps-tags a::before { content: "#"; }
.ps-tags a:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }

/* ===== LINK =====
   Nel testo (paragrafi, liste, navigazione tra articoli): sottolineatura
   sottile nel colore d'accento, che al passaggio si ispessisce e si avvicina al testo.
   Lo spessore ha !important perché il tema padre lo fissa a 1px con !important.
   Nei titoli-link resta la linea animata nel colore d'accento.
   .entry-content = il blocco Contenuto del post */

:is(article, .entry-content) p a,
.wp-block-list a,
.wp-block-post-navigation-link a {
  text-decoration: underline;
  text-decoration-color: var(--wp--preset--color--edizione-magenta);
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: 5px;
  transition: color .2s, text-underline-offset .2s, text-decoration-thickness .2s;
}
:is(article, .entry-content) p a:hover,
.wp-block-list a:hover,
.wp-block-post-navigation-link a:hover {
  color: var(--wp--preset--color--edizione-magenta-testo);
  text-decoration: underline;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}

/* nei componenti i link non sono "testo": ognuno ha il suo aspetto */
:is(article, .entry-content) :is(.ps-link-arrow, .ps-evid-v, .ps-mgo, .ps-mdesc, .is-style-link-sezione, .ps-k, .ps-v, .ps-festlinks, .ps-metalist-i, .ps-side-evt) a,
:is(article, .entry-content) :is(.ps-link-arrow, .ps-evid-v, .ps-mgo, .ps-mdesc, .is-style-link-sezione, .ps-k, .ps-v, .ps-festlinks, .ps-metalist-i, .ps-side-evt) a:hover { text-decoration: none; }

.wp-block-post-title a,
.wp-block-heading:not(.noline) a {
  position: relative;
  text-decoration: none;
  display: inline;
  transition: color 0.3s ease, background-size 0.3s ease-in-out;
  background-repeat: no-repeat;
  background-position: 0 95%;
  --sm-line: 3px;
  --sm-line-rest: 100%;
  background-image: linear-gradient(var(--sm-accent), var(--sm-accent));
  background-size: var(--sm-line-rest) var(--sm-line);
}

/* Desktop: linea corta a riposo, piena al passaggio del mouse */
@media (min-width: 769px) {
  .wp-block-post-title a,
  .wp-block-heading:not(.noline) a { --sm-line-rest: 10%; }

  .wp-block-post-title a:hover,
  .wp-block-heading:not(.noline) a:hover { --sm-line-rest: 100%; }
}

/* Mobile: titoli senza linea */
@media (max-width: 768px) {
  .wp-block-post-title a,
  .wp-block-heading:not(.noline) a { --sm-line-rest: 0%; }
}

/* ===== Sillabazione ===== */
/* Segue la lingua dichiarata su <html> (qui en-GB). */

/* Corpo del testo: paragrafi, liste, citazioni → sillabazione automatica */
.entry-content p,
.wp-block-post-content p,
article p,
.wp-block-list li,
.wp-block-quote p,
.wp-block-pullquote p {
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 6 3 2; /* min parola / min prima / min dopo il trattino */
}

/* Evita che URL o parole lunghissime sfondino il layout */
.entry-content,
.wp-block-post-content {
  overflow-wrap: break-word;
}

/* Titoli: NO sillabazione, righe bilanciate (più elegante) */
.wp-block-post-title,
.wp-block-heading,
h1, h2, h3, h4 {
  text-wrap: balance;
}

/* ===== INTESTAZIONE DI PAGINA e SCHEDA LATERALE =====
   Modelli page, edizione, appuntamento e pagine con lo schema
   "testo a sinistra + scheda a destra" (.ps-prose + .ps-metacard). */

.ps-fhead .ps-crumb-cur { margin: 0; color: var(--wp--preset--color--edizione-magenta-testo); font-weight: 700; }

/* scheda: pannello bianco appoggiato, allineato in alto con la barra laterale */
.ps-metacard {
  position: sticky;
  top: calc(16px + var(--wp-admin--admin-bar--height, 0px));
  padding: 22px 26px 20px;
  border-radius: var(--wp--custom--radius--pannello);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--pannello);
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}
.wp-block-column:has(> .ps-metacard) { min-width: 0; }
.ps-metacard > * { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; margin: 0; }
.ps-metacard p { margin: 0; }

/* logo: riquadro chiaro, immagine contenuta (non ritagliata) */
.ps-metacard .ps-flogo {
  display: block;
  aspect-ratio: 3 / 2;
  padding: 16px;
  border-radius: var(--wp--custom--radius--voce);
  overflow: hidden;
  background: var(--wp--preset--color--base);
  box-shadow: inset 0 0 0 1px var(--wp--custom--linea--sottile);
  margin-bottom: 6px;
}
.ps-metacard .ps-flogo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  object-fit: contain;
}

/* righe etichetta + valore, separate da linee sottili */
.ps-metarow { gap: 3px !important; padding-bottom: 12px; border-bottom: 1px solid var(--wp--custom--linea--sottile); }
.ps-metarow .ps-k,
.ps-metalist-h .ps-k,
.ps-metacard .is-style-etichetta {
  font-size: .65625rem;
  font-weight: 800;
  letter-spacing: 1.2px;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent-4);
}
.ps-metarow .ps-v, .ps-metarow .ps-v a { font-size: .9375rem; font-weight: 700; line-height: 1.4; color: var(--wp--preset--color--contrast); text-decoration: none; }
.ps-metarow .ps-v a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--edizione-magenta); text-underline-offset: 3px; }

/* azioni: pulsanti a tutta larghezza, testo a sinistra e cerchio a destra */
.ps-metacard .wp-block-buttons { width: 100%; gap: 10px; }
.ps-metacard .wp-block-buttons > .wp-block-button { width: 100%; }
.ps-metacard .wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; }
.ps-metacard .ps-festlinks { padding: 4px 0 2px; }
/* rimando secondario in fondo alla scheda */
.ps-metacard > .ps-link-arrow { text-align: center; font-weight: 700; }
.ps-metacard > .ps-link-arrow a { text-decoration: underline; text-decoration-color: var(--wp--preset--color--edizione-magenta); text-underline-offset: 4px; }

/* elenco di link con descrizione dentro la scheda (.ps-metalist):
   intestazione (etichetta a sinistra, "Tutti" a destra) e una riga per voce.
   Ogni riga è un Paragrafo: link col nome, a capo, descrizione. */
.ps-metacard .ps-metalist { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; padding-bottom: 8px; border-bottom: 1px solid var(--wp--custom--linea--sottile); }
.ps-metalist > * { margin: 0; }
.ps-metalist-h { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: baseline; padding-bottom: 8px; }
.ps-metalist-h a { font-size: .78125rem; font-weight: 700; color: var(--wp--preset--color--contrast); text-decoration: underline; text-decoration-color: var(--wp--preset--color--edizione-magenta); text-underline-offset: 4px; }
.ps-metalist > .ps-metalist-i { margin: 0 -12px; }
.ps-metalist-i {
  position: relative;
  padding: 9px 36px 9px 12px;
  border-radius: var(--wp--custom--radius--voce);
  font-size: .78125rem; line-height: 1.35; color: var(--wp--preset--color--accent-4);
  transition: box-shadow .2s;
}
.ps-metalist-i br { display: none; }
.ps-metalist-i a { display: block; font-size: .9375rem; font-weight: 700; line-height: 1.3; color: var(--wp--preset--color--contrast); }
.ps-metalist-i a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* tutta la riga cliccabile */
.ps-metalist-i::after {
  content: "→"; position: absolute; right: 12px; top: 50%; translate: 0 -50%;
  font-size: .9375rem; font-weight: 700; color: var(--wp--preset--color--edizione-magenta);
  transition: translate .25s ease;
}
.ps-metalist-i:hover { box-shadow: 0 0 0 1px var(--wp--custom--linea--sottile), 0 6px 14px -10px color-mix(in srgb, var(--wp--preset--color--contrast) 45%, transparent); }
.ps-metalist-i:hover::after { translate: 3px -50%; }

/* contenuto: galleria + English version */
.ps-prose .wp-block-gallery { margin-block: var(--wp--preset--spacing--40); gap: 12px; }
.ps-prose .wp-block-gallery .wp-block-image img { border-radius: var(--wp--custom--radius--lg); }
.ps-prose .wp-block-details {
  margin-top: var(--wp--preset--spacing--40);
  padding: 14px 0;
  border-top: 1px solid var(--wp--custom--linea--sezione);
  border-bottom: 1px solid var(--wp--custom--linea--sezione);
}
.ps-prose .wp-block-details summary {
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}
.ps-prose .wp-block-details[open] summary { margin-bottom: 12px; }

/* sotto i 1024px la scheda scorre con la pagina, dopo il testo */
@media (max-width: 1023px) {
  .ps-metacard { position: static; }
}

/* ===== TESTO LUNGO (.ps-prose) =====
   Colonna di lettura: corpo più piccolo del testo di base ma con più aria.
   Occupa tutta la larghezza disponibile accanto alla scheda laterale. Il primo paragrafo è l'"attacco", più
   grande (lo stesso aspetto si può dare a mano con lo stile di blocco Attacco).
   Tra i paragrafi solo spazio; una linea sottile apre ogni nuova sezione:
   sta sopra l'Occhiello, oppure sopra il titolo h2 se l'occhiello manca. */

.ps-prose { font-size: 1.15rem; line-height: 1.75; color: var(--wp--preset--color--contrast); }
.ps-prose p, .ps-prose li { hyphens: auto; text-wrap: pretty; }
.ps-prose.ps-prose > * + * { margin-block-start: 1.25em; }
.ps-prose > p:first-child:not(.ps-fintro, .ps-fintro-2) { font-size: 1.4rem; line-height: 1.55; letter-spacing: -.012em; }

.ps-prose h2 { font-size: clamp(1.8rem, 2.8vw, 2.4rem); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; }
.ps-prose h3 { font-size: 1.2rem; font-weight: 700; line-height: 1.3; }

.ps-prose.ps-prose > .is-style-occhiello,
.ps-prose.ps-prose > h2 { margin-block-start: 1.6em; padding-top: 1.8em; border-top: 1px solid var(--wp--custom--linea--sezione); }
.ps-prose.ps-prose > .is-style-occhiello + h2 { margin-block-start: 8px; padding-top: 0; border-top: 0; }
.ps-prose.ps-prose > :first-child { margin-block-start: 0; padding-top: 0; border-top: 0; }
.ps-prose.ps-prose > h2 + * { margin-block-start: .8em; }
.ps-prose.ps-prose > .wp-block-buttons { margin-block-start: 1.5em; }

/* titolo di sezione "in tondo" fuori dal testo lungo (elenchi, notizie correlate) */
.ps-tit2 { margin: 0; font-size: clamp(1.8rem, 2.8vw, 2.4rem); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; }

/* ===== ULTIME NOTIZIE ===== */

.ps-narch { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.ps-narch .wp-block-post-template { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--wp--custom--linea--sezione); }
.ps-narch .wp-block-post-template > li { margin: 0; }

/* riga: miniatura | data | titolo + estratto | freccia — tutta cliccabile */
.ps-nrow {
  position: relative;
  display: grid;
  grid-template-columns: 132px 110px minmax(0, 1fr) 24px;
  grid-template-areas: "th dt tx go";
  gap: 22px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--wp--custom--linea--sezione);
}
.ps-nrow > * { margin: 0 !important; }
.ps-nrow::after {
  content: "→";
  grid-area: go;
  font-weight: 700;
  color: var(--wp--preset--color--contrast);
  transition: transform .15s;
}
.ps-nrow:hover::after { transform: translateX(4px); }

.ps-nrow-th { grid-area: th; border-radius: var(--wp--custom--radius--md); overflow: hidden; background: var(--wp--preset--color--custom-grigio-caldo); }
.ps-nrow-th img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ps-nrow-dt { grid-area: dt; font-size: var(--wp--preset--font-size--xx-small); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-nrow-tx { grid-area: tx; min-width: 0; }
.ps-nrow-tx .wp-block-post-title { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.15; }
.ps-nrow-tx .wp-block-post-title a { position: static; color: var(--wp--preset--color--contrast); text-decoration: none; }
.ps-nrow-tx .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; } /* riga intera cliccabile */
.ps-nrow:hover .wp-block-post-title a { text-decoration: underline; text-underline-offset: 3px; }
.ps-nrow-tx .wp-block-post-excerpt,
.ps-nrow-tx .wp-block-post-excerpt__excerpt { margin: 0; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); }
.ps-nrow-tx .wp-block-post-excerpt__more-text { display: none; }

/* paginazione */
.ps-pager { margin-top: var(--wp--preset--spacing--50); gap: 8px; font-size: .8125rem; font-weight: 700; }
.ps-pager a, .ps-pager .page-numbers { color: var(--wp--preset--color--contrast); text-decoration: none; }
.ps-pager .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 10px; box-sizing: border-box;
  border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--base); box-shadow: inset 0 0 0 1px var(--wp--custom--linea--sezione);
}
.ps-pager .page-numbers.current { background: var(--wp--preset--color--contrast); box-shadow: none; color: var(--wp--preset--color--base); }
.ps-pager .page-numbers.dots { background: none; box-shadow: none; min-width: 0; }
.ps-pager a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 781px) {
  .ps-nrow {
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas: "th dt" "th tx";
    gap: 6px 16px;
    align-items: start;
  }
  .ps-nrow::after { display: none; }
  .ps-nrow-tx .wp-block-post-excerpt { display: none; }
}

/* ===== PAGINE: AVVISI PUBBLICI ===== */

/* mosaico uniforme 3×2 (variante di .ps-mosaic della home)
   lo spazio tra le tessere si regola dal blocco: Stili > Dimensioni > Spaziatura blocchi */
.ps-mosaic.ps-uni { grid-auto-rows: 280px; }
.ps-mosaic.ps-uni > .wp-block-cover { border-radius: var(--wp--custom--radius--card); }

/* sfumatura più decisa in basso: testo sempre leggibile, foto più omogenee */
.ps-mosaic.ps-uni .ps-mcard .wp-block-cover__background {
  background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--contrast) 15%, transparent) 0%, transparent 35%, color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent) 100%) !important;
}

/* gerarchia: stato piccolo in alto, titolo, una riga di descrizione */
.ps-mcard .ps-mstate {
  position: absolute; top: var(--wp--preset--spacing--30); left: var(--wp--preset--spacing--30); z-index: 1;
  margin: 0; padding: 5px 11px; border: 1px solid currentColor; border-radius: var(--wp--custom--radius--pill);
  font-size: var(--wp--preset--font-size--xx-small) !important; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; line-height: 1;
  background: color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent);
}
.ps-mosaic.ps-uni .ps-mcard h3 { font-size: clamp(1.25rem, 1.6vw, 1.6rem) !important; line-height: 1.05; }
.ps-mcard .ps-mdesc { margin: 6px 0 0; max-width: 34ch; line-height: 1.4; opacity: .9; }
.ps-mosaic.ps-uni .ps-mcard:hover h3 a { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 900px) {
  .ps-mosaic.ps-uni { grid-auto-rows: 240px; }
  .ps-mosaic.ps-uni > :first-child,
  .ps-mosaic.ps-uni > :nth-child(2) { grid-column: auto !important; }
}
@media (max-width: 560px) {
  .ps-mosaic.ps-uni { grid-auto-rows: 200px; }
}

/* fascia partnership */
.ps-band { overflow: hidden; }
.ps-band .ps-kick { margin: 0; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.ps-band h2 { margin: 6px 0 8px; }
.ps-band p { max-width: 52ch; }

/* ===== PAGINE: SINGOLO AVVISO =====
   Riusa .ps-metacard / .ps-metarow / .ps-prose. */

/* galleria: 3 foto affiancate, stessa altezza */
.ps-agal { gap: 12px !important; margin-block: var(--wp--preset--spacing--30) 0; }
.ps-agal .wp-block-image { margin: 0 !important; }
.ps-agal .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }

/* stato in cima alla scheda: testo modificabile (Aperto / Chiuso / In arrivo) */
.ps-metacard .ps-astate {
  width: auto !important; align-self: flex-start;
  padding: 6px 12px; border-radius: var(--wp--custom--radius--pill);
  font-size: var(--wp--preset--font-size--xx-small); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; line-height: 1;
  color: var(--wp--preset--color--contrast);
  border: 1px solid var(--wp--preset--color--contrast);
}
.ps-metarow .ps-v { overflow-wrap: anywhere; }
/* stile di blocco "Pillola" dentro la scheda: larga quanto il testo
   (la scheda allarga tutti i figli al 100%) */
.ps-metacard > .is-style-pillola { width: fit-content; align-self: flex-start; }

/* ARTICOLO-AVVISO (modello single-avviso): documenti, pulsante */
.ps-metarow .ps-docs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }
.ps-metarow .ps-docs .ps-doc {
  display: inline-flex; align-items: center;
  padding: 7px 13px; box-sizing: border-box;
  border: 1px solid var(--wp--custom--linea--sezione); border-radius: var(--wp--custom--radius--pill);
  font-size: var(--wp--preset--font-size--x-small); font-weight: 700; line-height: 1;
  color: var(--wp--preset--color--contrast); text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.ps-metarow .ps-docs .ps-doc::after { content: "↓"; margin-left: 6px; }
.ps-metarow .ps-docs .ps-doc:hover { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); text-decoration: none; }
.ps-metacard .ps-avv-cta { margin-top: 4px; }

/* riquadro "In evidenza" (es. Export › Fiere & Convention) */
.ps-evid { padding: var(--wp--preset--spacing--30); border-radius: var(--wp--custom--radius--lg); background: var(--wp--preset--color--base); box-shadow: var(--wp--preset--shadow--scheda); }
.ps-evid > * { margin: 0 !important; }
.ps-evid-k { font-size: var(--wp--preset--font-size--xx-small); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-evid-v { font-weight: 800; }
.ps-evid-v a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.ps-evid-v a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* storico avvisi: righe anno + download */
.ps-archive { border-top: 1px solid var(--wp--custom--linea--sezione); margin-top: 12px; }
.ps-arow { padding: 12px 0; border-bottom: 1px solid var(--wp--custom--linea--sezione); gap: 16px; }
.ps-arow > * { margin: 0 !important; }
.ps-ayear { font-weight: 800; font-size: 1rem; }
.ps-afile .wp-block-file__button {
  padding: 7px 14px !important; margin: 0 !important;
  border: 1px solid var(--wp--custom--linea--sezione); border-radius: var(--wp--custom--radius--pill);
  background: transparent !important; color: var(--wp--preset--color--contrast) !important;
  font-size: var(--wp--preset--font-size--x-small); font-weight: 700; text-decoration: none;
}
.ps-afile .wp-block-file__button:hover { background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base) !important; border-color: var(--wp--preset--color--contrast); }
.ps-prose .ps-amore { margin-top: 0; border-top: 0; padding: 0; }
.ps-prose .ps-amore summary { padding: 14px 0; }
.ps-prose .ps-amore[open] summary { margin-bottom: 0; border-bottom: 1px solid var(--wp--custom--linea--sezione); }

@media (max-width: 781px) {
  .ps-agal { flex-wrap: nowrap !important; overflow-x: auto; }
  .ps-agal .wp-block-image { flex: 0 0 72% !important; }
}

/* ===== PAGINE: PROGETTI SPECIALI =====
   Stesso schema: .ps-prose + .ps-metacard. */

/* video verticale (9:16): non occupa tutta la colonna */
.ps-prose .ps-vvideo { max-width: 360px; margin-inline: auto; }
.ps-prose .ps-vvideo video { width: 100%; border-radius: var(--wp--custom--radius--lg); display: block; }
.ps-prose .wp-block-video video,
.ps-prose .wp-block-embed iframe { border-radius: var(--wp--custom--radius--lg); }

/* edizioni (Medimex, Tremiti): elenco con anno grande e numero edizione */
.ps-editions { border-top: 1px solid var(--wp--custom--linea--sezione); }
.ps-edition { padding: var(--wp--preset--spacing--40) 0; border-bottom: 1px solid var(--wp--custom--linea--sezione); }
.ps-edition > * { margin-block: 0; }
.ps-edition > * + * { margin-block-start: var(--wp--preset--spacing--20) !important; }
.ps-ed-head { gap: 12px; }
.ps-ed-head > * { margin: 0 !important; }
.ps-ed-year { font-size: 2rem !important; font-weight: 700; line-height: 1; letter-spacing: -.03em; }
.ps-ed-num { font-size: var(--wp--preset--font-size--xx-small); font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.ps-edition.is-current .ps-ed-year,
.ps-edition.is-current .ps-ed-num { color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-prose .ps-edition .wp-block-details { margin-top: var(--wp--preset--spacing--20); padding: 10px 0; border-bottom: 0; }

/* edizioni: disposizione (Medimex, Tremiti Music Festival)
   Ogni edizione è un gruppo .ps-edition con dentro la riga dell'anno
   (.ps-ed-head) e un blocco Media e Testo (locandina + testo). Sul sito:
   locandina piccola a sinistra; a destra anno, numero dell'edizione, testo
   e pulsante. Dove la colonna è stretta (telefono, o schermi medi con barra
   e scheda) la locandina affianca l'anno e il testo scende sotto, a tutta
   larghezza: conta la larghezza della colonna, non dello schermo (@container).
   Nell'editor il blocco resta un normale Media e Testo, comodo da modificare:
   per questo la disposizione vale solo dentro .wp-site-blocks, che
   nell'editor non c'è. Nei browser senza @container resta la disposizione
   di WordPress (locandina e testo a metà). */

/* locandina: angoli morbidi e ombra, come le schede */
.ps-edition .wp-block-media-text__media img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--scheda); }
.ps-edition .wp-block-media-text__media a { display: block; border-radius: var(--wp--custom--radius--lg); transition: transform .25s ease; }
.ps-edition .wp-block-media-text__media a:hover { transform: translateY(-3px); }

/* testo dell'edizione: un po' più piccolo del testo lungo */
.ps-edition .wp-block-media-text__content > * { margin-block: 0; }
.ps-edition .wp-block-media-text__content > * + * { margin-block-start: .9em; }
.ps-edition .wp-block-media-text__content p { font-size: 1.05rem; line-height: 1.65; }
.ps-edition .wp-block-media-text__content > .wp-block-buttons { margin-block-start: 1.2em; }
/* video dentro l'edizione: quelli verticali (9:16) non occupano tutta la colonna */
.ps-edition .wp-block-embed.wp-embed-aspect-9-16 { max-width: 280px; }
.ps-edition .wp-block-embed { margin-inline: 0; }

@supports (container-type: inline-size) {
  .wp-site-blocks .ps-editions { container-type: inline-size; }
  .wp-site-blocks .ps-editions > .ps-edition:has(> .wp-block-media-text) {
    display: grid;
    grid-template-columns: clamp(150px, 24%, 230px) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(24px, 4.5%, 44px);
    row-gap: 14px;
    align-items: start;
  }
  .wp-site-blocks .ps-editions > .ps-edition:has(> .wp-block-media-text) > * { margin-block: 0 !important; }
  /* il Media e Testo "sparisce" come contenitore: locandina e testo si
     dispongono direttamente nella griglia dell'edizione */
  .wp-site-blocks .ps-editions > .ps-edition > .wp-block-media-text { display: contents; }
  .wp-site-blocks .ps-editions > .ps-edition > .ps-ed-head { grid-column: 2; grid-row: 1; align-items: baseline; }
  .wp-site-blocks .ps-editions > .ps-edition > .wp-block-media-text > .wp-block-media-text__media { grid-column: 1; grid-row: 1 / span 2; align-self: start; margin: 0; }
  .wp-site-blocks .ps-editions > .ps-edition > .wp-block-media-text > .wp-block-media-text__content { grid-column: 2; grid-row: 2; align-self: start; padding: 0; }

  /* colonna stretta: locandina piccola accanto all'anno, testo sotto */
  @container (max-width: 560px) {
    .wp-site-blocks .ps-editions > .ps-edition:has(> .wp-block-media-text) { grid-template-columns: 104px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 18px; row-gap: 18px; }
    .wp-site-blocks .ps-editions > .ps-edition > .ps-ed-head { align-self: end; flex-direction: column; align-items: flex-start; gap: 8px; }
    .wp-site-blocks .ps-editions > .ps-edition > .wp-block-media-text > .wp-block-media-text__media { grid-row: 1; }
    .wp-site-blocks .ps-editions > .ps-edition > .wp-block-media-text > .wp-block-media-text__content { grid-column: 1 / -1; grid-row: 2; }
  }
}

/* griglia video (Note Positive) */
.ps-vgrid { gap: var(--wp--preset--spacing--30) !important; margin-top: var(--wp--preset--spacing--30); }
.ps-vcard > * { margin: 0 !important; }
.ps-vcard video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--wp--preset--color--contrast); border-radius: var(--wp--custom--radius--lg); display: block; }
.ps-vcard h4 { margin-top: 10px !important; font-size: 1rem; font-weight: 800; }
.ps-vcard-pl { font-size: .8125rem; color: var(--wp--preset--color--accent-4); }

.ps-metacard .wp-block-buttons { width: 100%; }

@media (max-width: 600px) {
  .ps-vgrid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ===== PAGINE: CONTATTI =====
   Stesso schema: testo a sinistra + .ps-metacard con i recapiti. */

.ps-contact .ps-contact-lead { margin: 0 !important; max-width: 18ch; font-size: clamp(1.75rem, 3vw, 2.6rem); font-weight: 700; line-height: 1.05; letter-spacing: -.03em; }
.ps-contact > p { max-width: 52ch; font-size: 1.05rem; }
.ps-contact .ps-contact-cta { gap: 10px; margin-block-start: var(--wp--preset--spacing--40) !important; }
.ps-metacard .ps-clogo { width: auto !important; margin-bottom: 10px; }
.ps-metacard .ps-clogo img { display: block; height: auto; }
.ps-metarow--last { border-bottom: 0; padding-bottom: 0; }
.ps-metarow .ps-festlinks { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 4px; }

/* ===== PAGINE: NEWSLETTER =====
   Intestazione centrata (.ps-nl) e riquadro (.ps-nl-card);
   il form è quello del tema, più sotto (.ps-nlform). */

.ps-nl { text-align: center; }
.ps-nl > * { margin-inline: auto !important; }
.ps-nl .ps-nl-kick { margin: 0; font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-nl .ps-nl-title { margin: 8px auto 0 !important; font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 700; line-height: 1; letter-spacing: -.035em; }
.ps-nl .ps-nl-intro { max-width: 44ch; margin-top: 14px !important; color: var(--wp--preset--color--accent-4); }

.ps-nl-card {
  margin-top: var(--wp--preset--spacing--50) !important;
  padding: clamp(20px, 4vw, 36px);
  border-radius: var(--wp--custom--radius--pannello);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--pannello);
  text-align: left;
}

/* ===== FORM NEWSLETTER DEL TEMA ([ps_newsletter]) =====
   Usato nella pagina Newsletter e nel pop-up. Nessuna dipendenza da plugin. */

.ps-nlform { display: grid; gap: 18px; text-align: left; }
.ps-nlform-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.ps-nlform-field label {
  display: block; margin-bottom: 6px;
  font-size: var(--wp--preset--font-size--x-small); font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  color: var(--wp--preset--color--contrast);
}
.ps-nlform-field input {
  display: block; width: 100%; height: 46px; box-sizing: border-box; padding: 0 14px;
  border: 1px solid var(--wp--preset--color--accent-6); border-radius: var(--wp--custom--radius--sm);
  background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
  font: inherit; font-size: var(--wp--preset--font-size--medium);
}
.ps-nlform-field input:hover { border-color: var(--wp--preset--color--contrast); }
.ps-nlform-field input:focus-visible { border-color: var(--wp--preset--color--contrast); outline: 2px solid var(--wp--preset--color--contrast); outline-offset: 1px; }
.ps-nlform-check { display: flex; align-items: flex-start; gap: 10px; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); }
.ps-nlform-check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--wp--preset--color--contrast); }
.ps-nlform-check a { color: var(--wp--preset--color--contrast); }
.ps-nlform-msg {
  padding: 12px 14px; border: 1px solid var(--wp--preset--color--accent-6); border-radius: var(--wp--custom--radius--sm);
  background: var(--wp--preset--color--base); font-size: var(--wp--preset--font-size--small); font-weight: 600;
}
.ps-nlform-msg.is-error { border-color: var(--wp--preset--color--edizione-magenta-testo); color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-nlform-msg a { color: inherit; font-weight: 800; }
/* riquadro di Cloudflare Turnstile: di norma invisibile, occupa spazio solo se chiede un'interazione */
.ps-nlform-ts:empty { display: none; }
/* campo trappola anti-spam: fuori schermo, invisibile anche agli screen reader */
.ps-nlform .ps-nlform-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* durante l'invio e a iscrizione avvenuta */
.ps-nlform.is-sending { opacity: .6; pointer-events: none; }
.ps-nlform.is-done > :not(.ps-nlform-msg) { display: none; }
@media (max-width: 600px) {
  .ps-nlform-row { grid-template-columns: minmax(0, 1fr); }
}

/* pop-up newsletter (<dialog>, functions.php sezione 7f) */
.ps-nlpop {
  width: min(92vw, 460px); max-height: 90vh; overflow: auto; box-sizing: border-box;
  padding: clamp(22px, 5vw, 36px);
  border: 0; border-radius: var(--wp--custom--radius--pannello);
  background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
  box-shadow: var(--wp--preset--shadow--pannello);
}
.ps-nlpop::backdrop { background: color-mix(in srgb, var(--wp--preset--color--contrast) 55%, transparent); }
.ps-nlpop-x {
  position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; padding: 0;
  border: 0; border-radius: 50%; background: transparent; color: inherit;
  font: inherit; font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.ps-nlpop-x:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
.ps-nlpop-t { margin: 0 36px 8px 0; font-size: var(--wp--preset--font-size--x-large); font-weight: 700; line-height: 1.05; letter-spacing: -.03em; }
.ps-nlpop-s { margin: 0 0 var(--wp--preset--spacing--30); font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--accent-4); }

/* ===== BARRA LATERALE (parte "sidebar", inclusa nella parte "header") =====
   Da 1024px in su il sito è una griglia a due colonne: a sinistra la parte
   header (che contiene la barra), a destra tutto il resto (main, footer).
   Sotto i 1024px la barra è nascosta e resta la barra in alto (.ps-topbar).
   La griglia vale solo con la classe .ps-has-sidebar sul body (functions.php,
   sezione 1). Nell'editor .wp-site-blocks non esiste: la barra resta visibile.
   La barra è un pannello bianco appoggiato sul fondo della pagina: resta
   ferma mentre la pagina scorre, è alta quanto la finestra e al suo interno
   scorre solo il menu (logo in alto e piede in basso restano sempre visibili).
   Titoli di gruppo come paragrafi (non h2) per non sporcare la struttura
   dei titoli di ogni pagina. */

.wp-site-blocks .ps-side-col { display: none; }

@media (min-width: 1024px) {
  /* solo se la pagina ha la parte header: il modello "Vuoto" non ce l'ha
     e resta a tutta larghezza */
  .ps-has-sidebar .wp-site-blocks:has(> header.wp-block-template-part) {
    display: grid;
    grid-template-columns: 304px minmax(0, 1fr);
    align-items: start;
  }
  .ps-has-sidebar .wp-site-blocks > * { grid-column: 2; }
  /* la parte header occupa tutta l'altezza della colonna sinistra */
  .ps-has-sidebar .wp-site-blocks > header.wp-block-template-part {
    grid-column: 1;
    grid-row: 1 / span 50;
    align-self: stretch;
    margin: 0;
  }
  /* il pannello è staccato di 16px anche dal contenuto: foto e fasce a tutta
     larghezza non lo toccano; il testo resta a 50px dal pannello (16 + 34) */
  .ps-has-sidebar .wp-site-blocks > :not(header) { --wp--style--root--padding-left: calc(var(--wp--preset--spacing--50) - 16px); }
  .ps-has-sidebar .wp-site-blocks .ps-topbar { display: none; }
  .ps-has-sidebar .wp-site-blocks .ps-side-col { display: block; }
}

/* colonna ferma, alta quanto la finestra (sotto la barra di amministrazione
   per gli utenti collegati); il pannello sta dentro con 16px di margine su ogni lato */
.ps-side-col {
  position: sticky; top: var(--wp-admin--admin-bar--height, 0px);
  box-sizing: border-box;
  height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
  padding: 16px;
}
/* la parte "sidebar" è dentro un contenitore proprio (div.wp-block-template-part) */
.ps-side-col > .wp-block-template-part { height: 100%; }
.ps-side {
  box-sizing: border-box; height: 100%; overflow: hidden; flex-wrap: nowrap;
  border-radius: var(--wp--custom--radius--pannello);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--pannello);
}
/* nessun figlio può allargare il pannello (un'immagine non ancora caricata, per esempio) */
.ps-side > *, .ps-side-foot > *, .ps-side-last > * { min-width: 0; }
.ps-side .ps-side-logo { flex: none; margin: 0; padding: 24px 26px 16px; }
.ps-side-logo img { max-width: 100%; height: auto; }

/* menu: l'unica parte che scorre */
.ps-side .ps-side-nav {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin;
  flex-wrap: nowrap; gap: 0; padding: 4px 26px 24px;
  /* le ultime voci sfumano: si capisce che il menu continua */
  -webkit-mask-image: linear-gradient(#000 calc(100% - 28px), transparent);
  mask-image: linear-gradient(#000 calc(100% - 28px), transparent);
}
.ps-side-nav > * { flex: none; }

/* titolo di gruppo (anche nel menu a comparsa e nel piede) */
.ps-side-nav > .ps-side-h,
.ps-menu-col > .ps-side-h,
.ps-side-socrow > .ps-side-h {
  margin: 20px 0 5px; padding: 0;
  font-size: .65625rem; font-weight: 800; letter-spacing: 1.2px; line-height: 1.4; text-transform: uppercase;
  color: var(--wp--preset--color--accent-4);
}
.ps-side-nav > .ps-side-h:first-child,
.ps-menu-col > .ps-side-h:first-child { margin-top: 0; }

/* voci: righe a tutta larghezza; il fondo sborda di 12px, il testo resta allineato */
.wp-block-navigation.ps-side-menu.is-vertical { --navigation-layout-align: stretch; align-items: stretch; }
.ps-side-menu { gap: 1px !important; }
.ps-side-menu .wp-block-navigation-item__content {
  flex: 1 1 auto; display: flex; align-items: center; justify-content: space-between; gap: 8px;
  box-sizing: border-box; min-height: 34px; margin: 0 -12px; padding: 4px 12px;
  border-radius: var(--wp--custom--radius--voce);
  font-size: .9375rem; font-weight: 500; line-height: 1.25; color: var(--wp--preset--color--contrast); text-decoration: none;
  transition: background-color .2s, color .2s;
}
.ps-side-menu .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--custom-grigio-caldo); text-decoration: none; }

/* sottovoci: sempre aperte e rientrate, SOTTO l'etichetta (non in colonna accanto) */
.ps-side-menu .wp-block-navigation__submenu-container { position: static !important; opacity: 1 !important; visibility: visible !important; width: auto !important; height: auto !important; min-width: 0 !important; padding-left: 12px !important; border: 0 !important; background: transparent !important; }
.ps-side-menu .wp-block-navigation__submenu-icon { display: none; }
.ps-side-menu .wp-block-navigation-item.has-child {
  display: flex !important; flex-direction: column !important;
  align-items: stretch !important; flex-wrap: nowrap !important;
}
.ps-side-menu .has-child > .wp-block-navigation__submenu-container {
  display: flex !important; flex-direction: column !important; gap: 0 !important;
  left: auto !important; top: auto !important; transform: none !important;
  margin: 2px 0 6px !important; padding: 0 0 0 12px !important;
  border-left: 1px solid var(--wp--custom--linea--sezione) !important;
}
.ps-side-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  min-height: 30px; margin: 0 -12px 0 0; padding: 3px 12px 3px 10px;
  font-size: .8125rem; color: var(--wp--preset--color--accent-4);
}

/* voce della pagina in cui ci si trova: fondo chiaro e pallino */
.ps-side-menu .current-menu-item > .wp-block-navigation-item__content,
.ps-side-menu .wp-block-navigation-item__content[aria-current="page"] {
  background: var(--wp--preset--color--edizione-magenta-chiaro);
  color: var(--wp--preset--color--edizione-magenta-testo); font-weight: 700;
}
.ps-side-menu .current-menu-item > .wp-block-navigation-item__content::after,
.ps-side-menu .wp-block-navigation-item__content[aria-current="page"]::after {
  content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%;
  background: var(--wp--preset--color--edizione-magenta);
}

/* piede: pulsanti, social, logo Puglia Culture e versione inglese */
.ps-side .ps-side-foot {
  flex: none; margin: 0; padding: 18px 20px 20px; gap: 16px;
  border-top: 1px solid var(--wp--custom--linea--sottile);
  background: var(--wp--preset--color--custom-carta);
}

/* pulsante dell'edizione in corso ("Biglietti"): pillola nel colore d'accento a
   tutta larghezza, freccia nel cerchio giallo (la freccia qui è scritta nella
   parte, dentro uno <span>). Fuori edizione nel piede ci sono due pulsanti
   normali: vedi più sotto, sezione Medimex. */
.ps-side-evt { margin: 0; }
.ps-side-evt a {
  display: flex; align-items: center; justify-content: space-between;
  box-sizing: border-box; min-height: 46px; padding: 6px 6px 6px 18px;
  border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--edizione-magenta-testo); color: var(--wp--preset--color--base);
  font-size: .875rem; font-weight: 700; line-height: 1.2; text-decoration: none;
  transition: background-color .25s;
}
.ps-side-evt a span {
  flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--wp--preset--color--edizione-giallo); color: var(--wp--preset--color--contrast);
  font-size: .9375rem; font-weight: 700; line-height: 1;
  transition: transform .25s ease;
}
.ps-side-evt a:hover { background: var(--wp--preset--color--edizione-magenta-scuro); color: var(--wp--preset--color--base); }
.ps-side-evt a:hover span { transform: translateX(3px); }

/* social: etichetta "Seguici" a sinistra, icone in cerchi a destra (senza nomi) */
.ps-side-foot .ps-side-socrow, .ps-menu-extra .ps-side-socrow { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; padding: 0 4px; }
.ps-side-socrow > .ps-side-h { margin: 0; }
.ps-side-soc.wp-block-social-links.is-style-logos-only { gap: 8px; margin: 0; }
.ps-side-soc.wp-block-social-links.is-style-logos-only .wp-social-link {
  margin: 0; border-radius: 50%; background: transparent; color: var(--wp--preset--color--contrast);
  box-shadow: inset 0 0 0 1px var(--wp--custom--linea--sezione);
  transition: background-color .2s, color .2s, box-shadow .2s;
}
.ps-side-soc.wp-block-social-links.is-style-logos-only .wp-social-link .wp-block-social-link-anchor {
  display: grid; place-items: center; box-sizing: border-box; width: 38px; height: 38px; padding: 0;
}
.ps-side-soc.wp-block-social-links.is-style-logos-only .wp-social-link svg { width: 17px; height: 17px; }
.ps-side-soc.wp-block-social-links.is-style-logos-only .wp-social-link:hover {
  transform: none; background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base);
  box-shadow: inset 0 0 0 1px var(--wp--preset--color--contrast);
}

/* ultima riga: logo Puglia Culture a sinistra, versione inglese a destra */
.ps-side-foot .ps-side-last, .ps-menu-extra .ps-side-last { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; padding: 0 4px; }
.ps-side-pc { margin: 0; }
.ps-side-pc img { display: block; height: auto; object-fit: contain; }
.ps-side-lang { margin: 0; font-size: .8125rem; font-weight: 700; }
.ps-side-lang a { color: var(--wp--preset--color--contrast); text-decoration: underline; text-decoration-color: var(--wp--preset--color--edizione-magenta); text-underline-offset: 4px; }
.ps-side-lang a:hover { color: var(--wp--preset--color--edizione-magenta-testo); }

/* ===== BARRA IN ALTO (sotto i 1024px) =====
   Una pillola bianca staccata dai bordi, che resta in vista mentre la pagina
   scorre: logo a sinistra, pulsante "Menu" a destra. Sotto, la pagina
   riprende sul fondo crema. */

@media (max-width: 1023px) {
  .wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 20; }
}
/* su telefono la barra di amministrazione non è fissa: la pillola sta in cima */
@media (max-width: 600px) {
  .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; }
}
.ps-topbar { padding: 12px 12px 0; }
.ps-topbar .ps-topbar-in {
  flex-wrap: nowrap; align-items: center; justify-content: space-between;
  box-sizing: border-box; height: 60px; padding: 0 8px 0 22px;
  border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--pannello);
}
.ps-topbar-in .wp-block-site-logo img, .ps-menu-top .wp-block-site-logo img { display: block; }

/* pulsante "Menu": pillola scura, due lineette nel cerchio chiaro */
.ps-topbar .wp-block-navigation__responsive-container-open {
  display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 6px 0 18px;
  border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5);
  font: inherit; font-size: .875rem; font-weight: 700; line-height: 1;
  transition: background-color .25s;
}
.ps-topbar .wp-block-navigation__responsive-container-open::after {
  content: ""; flex: none; width: 32px; height: 32px; border-radius: 50%;
  background:
    linear-gradient(var(--wp--preset--color--contrast), var(--wp--preset--color--contrast)) center calc(50% - 2.75px) / 13px 1.5px no-repeat,
    linear-gradient(var(--wp--preset--color--contrast), var(--wp--preset--color--contrast)) center calc(50% + 2.75px) / 13px 1.5px no-repeat,
    var(--wp--preset--color--accent-5);
}
.ps-topbar .wp-block-navigation__responsive-container-open:hover { background: var(--wp--preset--color--edizione-magenta-scuro); color: var(--wp--preset--color--base); }

/* ===== MENU A COMPARSA (parte "menu-overlay") =====
   Sotto i 1024px il pulsante "Menu" apre questo pannello: lo stesso della
   barra laterale, aperto sopra la pagina. È una parte del tema (area "Overlay
   di navigazione", da WordPress 7) collegata al blocco Navigazione di
   parts/header.html (attributo "overlay"). Titoli e menu sono quelli della
   barra laterale (.ps-side-h, .ps-side-menu): qui le voci sono più alte
   (44px) perché si toccano con le dita.
   Struttura: riga in alto (logo + Chiudi) · gruppi di voci · piede.
   - telefono: una colonna; scorrono solo le voci, il piede resta in vista;
   - da 600px: i gruppi si affiancano (2–3 colonne);
   - da 890px: tre colonne di gruppi + una quarta colonna con il piede. */

/* con un menu a comparsa personalizzato WordPress non mette lo sfondo */
.wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open {
  padding: 12px; box-sizing: border-box;
  background: var(--wp--preset--color--accent-5);
  color: var(--wp--preset--color--contrast);
}
/* utenti collegati: il menu parte sotto la barra di amministrazione */
.admin-bar .wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open { padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 12px); }
.wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation__responsive-close, .wp-block-navigation__responsive-dialog, .wp-block-navigation__responsive-container-content, .wp-block-navigation__overlay-container):has(.ps-menu) {
  display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; width: 100%; max-width: none; margin: 0; padding: 0;
}

.ps-menu {
  flex: 1 1 auto; min-height: 0; height: 100%; display: flex; flex-direction: column;
  box-sizing: border-box; overflow: hidden;
  border-radius: var(--wp--custom--radius--menu);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--pannello);
}
.ps-menu > * { margin: 0; }

/* riga in alto: logo e chiusura negli stessi punti della barra in alto */
.ps-menu > .ps-menu-top { flex: none; flex-wrap: nowrap; align-items: center; justify-content: space-between; box-sizing: border-box; height: 60px; padding: 0 8px 0 22px; }
.ps-menu-top .wp-block-navigation-overlay-close {
  flex-direction: row-reverse; gap: 12px; height: 44px; padding: 0 6px 0 18px;
  border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--custom-grigio-caldo); color: var(--wp--preset--color--contrast);
  font: inherit; font-size: .875rem; font-weight: 700; line-height: 1;
  transition: background-color .2s;
}
.ps-menu-top .wp-block-navigation-overlay-close svg {
  box-sizing: border-box; width: 32px; height: 32px; padding: 6px; border-radius: 50%;
  background: var(--wp--preset--color--contrast); fill: var(--wp--preset--color--base);
}
.ps-menu-top .wp-block-navigation-overlay-close:hover { background: var(--wp--preset--color--edizione-magenta-chiaro); }

/* corpo: gruppi di voci (scorrono) e piede */
.ps-menu > .ps-menu-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.ps-menu-body > * { margin: 0; }
.ps-menu-body > .ps-menu-cols {
  flex: 1 1 auto; min-height: 0; overflow-y: auto; align-content: start;
  gap: 22px 26px; padding: 14px 26px 22px;
}
.ps-menu-cols > .ps-menu-col { gap: 0; }
.ps-menu-col > * { margin: 0; }
.ps-menu-col > .ps-side-h { margin-top: 22px; padding-bottom: 4px; }
.ps-menu-col > .ps-side-h:first-child { margin-top: 0; }
.ps-menu .ps-side-menu .wp-block-navigation-item__content { min-height: 44px; margin: 0 -14px; padding: 4px 14px; font-size: 1.125rem; letter-spacing: -.005em; }
.ps-menu .ps-side-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 40px; margin: 0 -14px 0 0; padding: 4px 14px 4px 10px; font-size: 1rem; }
.ps-menu .ps-side-menu .current-menu-item > .wp-block-navigation-item__content::after,
.ps-menu .ps-side-menu .wp-block-navigation-item__content[aria-current="page"]::after { width: 7px; height: 7px; }

/* piede: pulsanti a tutta larghezza, poi social e versione inglese sulla stessa riga */
.ps-menu-body > .ps-menu-extra {
  flex: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px 10px;
  padding: 16px 18px 18px;
  border-top: 1px solid var(--wp--custom--linea--sottile);
  background: var(--wp--preset--color--custom-carta);
}
.ps-menu-extra > * { margin: 0; }
.ps-menu-extra > .ps-side-evt { grid-column: 1 / -1; }
.ps-menu-extra .ps-side-evt a { min-height: 50px; padding: 7px 7px 7px 20px; font-size: .9375rem; }
.ps-menu-extra .ps-side-evt a span { width: 36px; height: 36px; }
.ps-menu-extra .ps-side-socrow > .ps-side-h, .ps-menu-extra .ps-side-pc { display: none; }
.ps-menu-extra .ps-side-soc.wp-block-social-links.is-style-logos-only .wp-social-link .wp-block-social-link-anchor { width: 44px; height: 44px; }
.ps-menu-extra .ps-side-lang { font-size: .875rem; }

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open { padding: 14px; }
  .admin-bar .wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open { padding-top: calc(var(--wp-admin--admin-bar--height, 0px) + 14px); }
  .ps-menu { border-radius: var(--wp--custom--radius--pannello); }
  .ps-menu > .ps-menu-top { height: 68px; padding: 0 12px 0 30px; border-bottom: 1px solid var(--wp--custom--linea--sottile); }
  .ps-menu-body > .ps-menu-cols { padding: 28px 30px; }
  .ps-menu .ps-side-menu .wp-block-navigation-item__content { font-size: 1.0625rem; }
}

/* quattro colonne: tre di gruppi (separate da linee) e il piede a destra */
@media (min-width: 890px) {
  .ps-menu > .ps-menu-body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 230px; overflow-y: auto; }
  .ps-menu-body > .ps-menu-cols { display: contents; }
  .ps-menu-cols > .ps-menu-col { padding: 28px 26px; border-right: 1px solid var(--wp--custom--linea--sottile); }
  .ps-menu-body > .ps-menu-extra {
    display: flex; flex-direction: column; align-items: stretch; gap: 18px;
    padding: 28px 20px 24px; border-top: 0;
  }
  .ps-menu-extra .ps-side-socrow > .ps-side-h { display: block; }
  .ps-menu-extra .ps-side-socrow { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ps-menu-extra .ps-side-soc.wp-block-social-links.is-style-logos-only .wp-social-link .wp-block-social-link-anchor { width: 38px; height: 38px; }
  .ps-menu-extra .ps-side-last { flex-direction: column-reverse; align-items: flex-start; gap: 18px; flex: 1 1 auto; justify-content: space-between; }
  .ps-menu-extra .ps-side-pc { display: block; }
}

/* ===== PAGINE: CHI SIAMO — NUMERI =====
   Gruppo .ps-nums con 4 Copertine .ps-mcard (foto + sfumatura dal basso):
   numero grande, lineetta nel colore d'accento, etichetta. Numeri fermi (nessun conteggio).
   4 in fila su desktop, 2×2 su tablet, scorrimento orizzontale su telefono. */
.ps-nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ps-nums > .wp-block-cover {
  margin: 0; padding: 24px; overflow: hidden;
  border-radius: var(--wp--custom--radius--card);
  transition: transform .4s ease, box-shadow .4s ease;
}
.ps-nums > .wp-block-cover:hover { transform: translateY(-6px); box-shadow: var(--wp--preset--shadow--sollevata); }
.ps-nums .ps-mcard .wp-block-cover__background {
  background: linear-gradient(180deg, transparent 30%, color-mix(in srgb, var(--wp--preset--color--contrast) 85%, transparent) 100%) !important;
}
/* .ps-mcard rende il contenitore "static" (per la card cliccabile del mosaico):
   qui il testo deve stare sopra foto e sfumatura */
.ps-nums .wp-block-cover__inner-container { position: relative; z-index: 1; }
.ps-nums .wp-block-cover__inner-container > * { margin: 0; }
.ps-nums .wp-block-cover__inner-container > p:first-child {
  font-size: clamp(2.8rem, 4.6vw, 3.9rem); font-weight: 700; line-height: 1; letter-spacing: -.035em;
  font-variant-numeric: tabular-nums; text-transform: none;
}
.ps-nums .wp-block-cover__inner-container > p + p {
  margin-block-start: 10px;
  font-size: .75rem; font-weight: 700; letter-spacing: 1px; line-height: 1.35; text-transform: uppercase;
}
.ps-nums .wp-block-cover__inner-container > p + p::before {
  content: ""; display: block; width: 28px; height: 2px; margin-bottom: 10px;
  background: var(--wp--preset--color--edizione-magenta);
}

@media (max-width: 1023px) {
  .ps-nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
  .ps-nums { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 10px; }
  .ps-nums::-webkit-scrollbar { display: none; }
  .ps-nums > .wp-block-cover { flex: 0 0 72%; scroll-snap-align: start; }
}

/* ===== ORGANIGRAMMA (.ps-org) =====
   Griglia di riquadri bianchi (.ps-org-box), uno per gruppo di persone.
   Ogni riga (.ps-org-row) ha il ruolo a sinistra (stile Etichetta) e i nomi
   a destra, uno per riga. Riusabile per qualsiasi elenco di persone. */
/* occhiello + titolo sopra l'organigramma */
.ps-org-h > * { margin: 0; }
.ps-org-h > * + * { margin-block-start: 8px; }
.ps-org { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 20px; align-items: start; }
.ps-org > * { margin: 0; }
.ps-org-box {
  padding: 8px 28px;
  border-radius: var(--wp--custom--radius--card);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--scheda);
}
.ps-org-box > * { margin: 0; }
.ps-org-box > :is(h2, h3, h4) { padding: 20px 0 14px; font-size: 1.2rem; font-weight: 700; line-height: 1.3; }
.ps-org-row {
  display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 16px; align-items: start;
  padding: 14px 0; border-top: 1px solid var(--wp--custom--linea--sottile);
}
.ps-org-row > * { margin: 0; }
.ps-org-row > .is-style-etichetta { padding-top: 3px; line-height: 1.5; }
.ps-org-row > p:not(.is-style-etichetta) { font-size: 1rem; line-height: 1.55; }
@media (max-width: 480px) {
  .ps-org-box { padding: 6px 20px; }
  .ps-org-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* ===== COMPARSA GRADUALE (.ps-reveal) =====
   La classe la mette theme.js, solo sui blocchi che al caricamento sono
   ancora sotto lo schermo (mai su quelli molto alti, né su quelli che ne
   contengono altri con lo stesso effetto); quando entrano prende .is-in. Senza JavaScript
   la classe non c'è e tutto resta visibile. Per dare la comparsa a un altro
   blocco basta aggiungergli a mano la classe ps-reveal dall'editor. */
.ps-reveal.is-wait { opacity: 0; transform: translateY(18px); }
.ps-reveal.is-wait, .ps-reveal.is-in { transition: opacity .7s ease, transform .7s ease; }
.ps-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .ps-reveal.is-wait { opacity: 1; transform: none; transition: none; }
}
@media print {
  .ps-reveal.is-wait { opacity: 1; transform: none; }
}

/* =========================================================================
   MEDIMEX — ciò che esiste solo su questo sito
   ========================================================================= */

/* ===== LOGO =====
   Il logo è un file del tema (assets/img/logo-medimex.png), inserito dal
   pattern "sistema-musica/logo": per cambiarlo si sostituisce il file.
   Il file ha un po' di margine trasparente intorno alla scritta: i margini
   negativi riallineano la scritta al bordo del menu. */
.ps-logo { margin: 0; }
.ps-logo a { display: block; }
.ps-logo img { display: block; width: 100%; height: auto; }
.ps-logo img { aspect-ratio: 1190 / 376; }
.ps-side > .ps-logo { flex: none; padding: 20px 20px 10px; }
.ps-side > .ps-logo img { width: 206px; max-width: 100%; margin: -8px 0 -6px -8px; }
.ps-topbar-in .ps-logo img, .ps-menu-top .ps-logo img { width: auto; height: 44px; margin-left: -6px; }

/* nella scheda dei contatti */
.ps-metacard > .ps-logo { margin-bottom: 6px; }
.ps-metacard > .ps-logo img { width: 170px; margin-left: -6px; }

/* ===== BARRA LATERALE: menu principale (.ps-side-main) =====
   Fuori edizione il menu è uno solo, senza titoletti di gruppo: poche voci,
   più alte e più pesanti, separate da una linea sottile. La classe sta sul
   blocco Navigazione della parte "menu", accanto a .ps-side-menu.
   In edizione tornano i titoletti .ps-side-h e i menu normali. */
.ps-side-nav > .wp-block-template-part, .ps-menu-col > .wp-block-template-part { margin: 0; }
.ps-side .ps-side-nav:has(.ps-side-main) { padding: 8px 14px 24px; }
.ps-side-menu.ps-side-main { gap: 0 !important; }
.ps-side-main .wp-block-navigation-item { border-bottom: 1px solid var(--wp--custom--linea--sottile); }
.ps-side-main .wp-block-navigation-item:last-child { border-bottom: 0; }
.ps-side-main .wp-block-navigation-item__content {
  min-height: 56px; margin: 0; padding: 4px 14px;
  font-size: 1.125rem; font-weight: 600; letter-spacing: -.01em;
}
.ps-side-main .wp-block-navigation-item:not(.current-menu-item) > .wp-block-navigation-item__content:not([aria-current="page"]):hover {
  background: transparent; color: var(--wp--preset--color--edizione-magenta-testo);
}
/* nel menu a comparsa: stesse righe, un po' più grandi */
.ps-menu .ps-side-main .wp-block-navigation-item__content { min-height: 56px; margin: 0; padding: 4px 14px; font-size: 1.25rem; }
.ps-menu-body > .ps-menu-cols:has(.ps-side-main) { padding-inline: 12px; }

/* piede della barra e del menu a comparsa: due pulsanti a tutta larghezza
   (Newsletter, contorno; Puglia Sounds, pieno) */
.ps-side-foot > .wp-block-buttons, .ps-menu-extra > .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; margin: 0; }
.ps-side-foot > .wp-block-buttons > .wp-block-button, .ps-menu-extra > .wp-block-buttons > .wp-block-button { width: 100%; margin: 0; }
.ps-side-foot > .wp-block-buttons > .wp-block-button > .wp-block-button__link,
.ps-menu-extra > .wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; }
.ps-menu-extra > .wp-block-buttons { grid-column: 1 / -1; }
/* l'ultima riga del piede è staccata da una linea */
.ps-side-foot .ps-side-last { padding-top: 14px; border-top: 1px solid var(--wp--custom--linea--sottile); }
.ps-side-pc { font-size: var(--wp--preset--font-size--xx-small); font-weight: 800; letter-spacing: .5px; line-height: 1.1; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.ps-side-pc a { color: inherit; text-decoration: none; }
.ps-side-pc img { width: 64px; }

/* menu a comparsa con il solo menu principale: le voci a sinistra, il piede a destra */
@media (min-width: 890px) {
  .ps-menu > .ps-menu-body:has(.ps-side-main) { grid-template-columns: minmax(0, 1fr) 270px; }
  .ps-menu-body:has(.ps-side-main) .ps-menu-col { max-width: 420px; border-right: 0; }
}

/* ===== PULSANTI: freccia in giù =====
   Le ancore nella stessa pagina e i download hanno la freccia ↓ */
.wp-block-buttons > .wp-block-button > .wp-block-button__link:is([href^="#"], [download])::after { content: "↓"; }
.wp-block-buttons > .wp-block-button > .wp-block-button__link:is([href^="#"], [download]):hover::after { transform: translateY(3px); }

/* ===== FOOTER =====
   Due colonne (testo sui fondi, menu), fascetta dei loghi istituzionali a
   tutta larghezza, riga finale con contatti e link legali. */
.ps-foot .ps-foot-cols .is-style-occhiello { color: color-mix(in srgb, var(--wp--preset--color--base) 62%, transparent); }
.ps-foot .wp-block-template-part { margin: 0; }
/* il menu principale nel footer: voci su due colonne, senza righe né fondi */
.ps-foot .ps-side-menu, .ps-foot .ps-side-menu > .wp-block-navigation__container { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 8px 40px !important; }
.ps-foot .wp-block-navigation.ps-side-menu.is-vertical { align-items: start; }
.ps-foot .ps-side-menu .wp-block-navigation-item { border: 0; }
.ps-foot .ps-side-menu .wp-block-navigation-item__content,
.ps-foot .ps-side-menu .wp-block-navigation-item:not(.current-menu-item) > .wp-block-navigation-item__content:not([aria-current="page"]):hover {
  min-height: 0; margin: 0; padding: 0; background: transparent;
  font-size: var(--wp--preset--font-size--small); font-weight: 400; letter-spacing: 0; color: inherit;
}
.ps-foot .ps-side-menu .wp-block-navigation-item__content::after { content: none; }
.ps-foot .ps-foot-cols .wp-block-column > * { margin-block: 0; }
.ps-foot .ps-foot-cols .wp-block-column > * + * { margin-block-start: 8px; }
.ps-foot .ps-foot-cols .is-style-occhiello + * { margin-block-start: 12px; }
/* testo sui fondi: a sinistra, in evidenza */
.ps-foot .ps-foot-fondi { max-width: 62ch; font-size: clamp(1rem, 1.25vw, 1.1875rem); line-height: 1.55; letter-spacing: -.005em; text-wrap: pretty; }
/* fascetta dei loghi: il file ha i loghi in nero su fondo trasparente; qui,
   sul fondo scuro del footer, diventano chiari (qualunque sia il colore dell'edizione) */
.ps-foot .ps-foot-fascia { margin: 0; padding-block: var(--wp--preset--spacing--30); }
.ps-foot .ps-foot-fascia img { display: block; width: 100%; height: auto; filter: invert(1); opacity: .92; }
.ps-foot .ps-foot-fine { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 12%, transparent); }
.ps-foot .ps-foot-fine .ps-foot-adr { flex: 1 1 40ch; max-width: 74ch; }
@media (min-width: 782px) {
  .ps-foot .ps-foot-fine .ps-foot-legal { flex: none; }
}
@media (max-width: 781px) {
  .ps-foot .ps-foot-cols { grid-template-columns: 1fr; }
}

/* ===== PAGINE: CHI SIAMO, PRESS, NEWSLETTER =====
   Stesso modello delle altre pagine (intestazione + contenuto). */

/* fila di foto che scorre (.img-slider.ps-fotostrip): foto verticali tutte
   uguali, con il nome sotto; si trascina o si scorre */
.ps-page > .img-slider.ps-fotostrip { gap: 14px; padding: 4px 0 6px; scroll-padding: 0; margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); }
.ps-fotostrip.img-slider > * { width: 240px; max-width: 62vw; }
.ps-fotostrip.img-slider.img-slider > :first-child { margin-left: 0 !important; }
.ps-fotostrip .wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }
.ps-fotostrip .wp-block-image figcaption { margin: 8px 0 0; font-size: var(--wp--preset--font-size--xx-small); font-weight: 800; letter-spacing: 1.2px; line-height: 1.4; text-align: left; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }

/* documento da scaricare come pillola (.ps-docp: un Paragrafo con dentro il link) */
.ps-docp { margin: 0; }
.ps-docp.ps-docp a {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; box-sizing: border-box;
  border: 1px solid var(--wp--custom--linea--sezione); border-radius: var(--wp--custom--radius--pill);
  background: var(--wp--preset--color--base);
  font-size: var(--wp--preset--font-size--x-small); font-weight: 700; line-height: 1; white-space: nowrap;
  color: var(--wp--preset--color--contrast); text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.ps-docp.ps-docp a::after { content: "↓"; }
.ps-docp.ps-docp a:hover { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); text-decoration: none; }
.ps-metarow > .ps-docp + .ps-docp { margin-top: 5px; }
.ps-metarow > .ps-docp:first-of-type { margin-top: 4px; }

/* elenco dei comunicati: data piccola, titolo, PDF a destra */
.ps-arow > .wp-block-group > * { margin: 0; }
.ps-arow > .wp-block-group > * + * { margin-top: 3px; }
.ps-prose .ps-archive { margin-block-start: 10px; }
.ps-prose .wp-block-details > .ps-archive { border-top: 0; }

/* modulo di iscrizione dentro una scheda */
.ps-page > .ps-nl-box { margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); padding: clamp(20px, 4vw, 36px); border-radius: var(--wp--custom--radius--pannello); box-shadow: var(--wp--preset--shadow--pannello); }

/* ===== VIDEO VERTICALI (.ps-vclip) =====
   Blocco Video (o Incorpora) in formato 9:16, con il cerchio del play e
   l'etichetta (la didascalia del blocco) in basso a sinistra, sopra una
   sfumatura. Quando il video parte, cerchio ed etichetta spariscono (theme.js). */
.ps-vclip {
  position: relative; margin: 0; aspect-ratio: 9 / 16; overflow: hidden;
  border-radius: var(--wp--custom--radius--card);
  background: var(--wp--preset--color--custom-grigio-caldo);
  box-shadow: var(--wp--preset--shadow--scheda);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ps-vclip video, .ps-vclip iframe, .ps-vclip .wp-block-embed__wrapper { display: block; width: 100%; height: 100%; border-radius: 0; }
.ps-vclip video { object-fit: cover; }
.wp-block-video.ps-vclip::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to top, color-mix(in srgb, var(--wp--preset--color--contrast) 70%, transparent), transparent 45%);
}
.wp-block-video.ps-vclip::after {
  content: "\25B6\FE0E"; position: absolute; left: 16px; bottom: 16px; z-index: 2; pointer-events: none;
  display: grid; place-items: center; box-sizing: border-box; width: 52px; height: 52px; padding-left: 3px; border-radius: 50%;
  background: var(--wp--preset--color--edizione-giallo); color: var(--wp--preset--color--contrast);
  font-size: 1rem; line-height: 1;
}
.ps-vclip figcaption {
  position: absolute; left: 80px; right: 16px; bottom: 16px; z-index: 2; margin: 0; min-height: 52px;
  display: flex; align-items: center; pointer-events: none;
  font-size: .8125rem; font-weight: 700; line-height: 1.3; text-align: left; color: var(--wp--preset--color--base);
}
.ps-vclip.is-playing::before, .ps-vclip.is-playing::after, .ps-vclip.is-playing figcaption { display: none; }
.ps-vclip:not(.is-playing):hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--sollevata); }
/* blocco ancora senza video: niente cerchio del play */
.wp-block-video.ps-vclip:not(:has(video))::after { display: none; }
/* dentro il testo lungo non occupa tutta la colonna */
.ps-prose .ps-vclip { max-width: 280px; border-radius: var(--wp--custom--radius--lg); }

/* video verticali in fila (.ps-vgrid.ps-vgrid--v): cinque per riga, con
   etichetta e titolo sotto; su tablet e telefono la fila scorre */
.ps-vgrid.ps-vgrid--v { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px !important; }
.ps-home > .ps-vgrid--v { margin-top: 0; }
.ps-vgrid--v > .ps-vcard { display: flex; flex-direction: column; gap: 3px; min-width: 0; margin: 0; }
.ps-vgrid--v .ps-vclip { margin-bottom: 7px !important; border-radius: var(--wp--custom--radius--lg); }
.ps-vgrid--v .ps-vcard video { aspect-ratio: auto; border-radius: 0; background: none; }
.ps-vgrid--v .wp-block-video.ps-vclip::after { left: 10px; bottom: 10px; width: 40px; height: 40px; font-size: .75rem; }
.ps-vgrid--v .ps-vclip figcaption { display: none; }
.ps-vcard-t { font-size: 1rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; }
.ps-vcard-t a { color: inherit; text-decoration: none; background: none; }
.ps-vcard-t a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--edizione-magenta); text-underline-offset: 3px; }
/* la stessa fila con foto verticali al posto dei video (.ps-vfoto) */
.ps-vgrid--v .ps-vfoto { margin: 0 0 7px !important; overflow: hidden; border-radius: var(--wp--custom--radius--lg); }
.ps-vgrid--v .ps-vfoto a { display: block; }
.ps-vgrid--v .ps-vfoto img { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover; border-radius: 0; transition: transform .35s ease; }
.ps-vgrid--v .ps-vcard:hover .ps-vfoto img { transform: scale(1.03); }
@media (max-width: 1023px) {
  .ps-vgrid.ps-vgrid--v { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 10px; }
  .ps-vgrid--v::-webkit-scrollbar { display: none; }
  .ps-vgrid--v > .ps-vcard { flex: 0 0 150px; scroll-snap-align: start; }
}
/* la stessa fila dentro il testo di un'edizione: sempre scorrevole, video da 150px */
.ps-prose .ps-vgrid.ps-vgrid--v { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 10px; }
.ps-prose .ps-vgrid--v::-webkit-scrollbar { display: none; }
.ps-prose .ps-vgrid--v > .ps-vcard { flex: 0 0 150px; scroll-snap-align: start; }
.ps-prose .ps-vgrid--v .ps-vclip { max-width: none; }

/* ===== HOME FUORI EDIZIONE =====
   Modello "Pagina senza titolo"; il contenuto è il pattern
   "Medimex: home fuori edizione". */

/* la home comincia con un po' d'aria, come le pagine con intestazione */
.ps-home { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--70); }
.ps-home > * { margin-block: 0; }

/* annuncio: riquadro bianco con pillola, frase e pulsante. Se la frase è
   vuota il riquadro non viene stampato (functions.php, sezione 5) */
.ps-annuncio {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
  padding: 12px 12px 12px 22px;
  border-radius: var(--wp--custom--radius--card);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--scheda);
}
.ps-annuncio > * { margin: 0; }
.ps-annuncio-tx { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.ps-annuncio-tx > * { margin: 0; }
.ps-annuncio-tx > .is-style-pillola { color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-annuncio-tx > p:not(.is-style-pillola) { font-size: 1.0625rem; font-weight: 700; line-height: 1.3; }

/* apertura: occhiello, titolo, sottotitolo, pulsanti */
.ps-home-apre { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
.ps-home-apre > * { margin: 0; }
.ps-home-apre > .ps-fintro { padding-inline-end: 0; max-width: 34em; }

/* ultima edizione: video verticale a sinistra, campo giallo a destra, alti uguali */
.ps-last { display: grid; grid-template-columns: 304px minmax(0, 1fr); gap: 16px; align-items: stretch; }
.ps-last > * { margin: 0; min-width: 0; }
.ps-last > .ps-vclip { height: 100%; }
/* senza aftermovie: al suo posto una foto verticale (.ps-last-foto) */
.ps-last > .ps-last-foto { position: relative; min-height: 420px; overflow: hidden; border-radius: var(--wp--custom--radius--pannello); }
.ps-last > .ps-last-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
@media (max-width: 781px) {
  .ps-last { grid-template-columns: minmax(0, 1fr); }
}

/* campo dell'edizione: fondo giallo, testo sempre scuro */
.ps-campo {
  display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: 28px;
  padding: clamp(24px, 3.4vw, 36px);
  border-radius: var(--wp--custom--radius--card);
  background: var(--wp--preset--color--edizione-giallo); color: var(--wp--preset--color--edizione-contrasto);
}
.ps-campo > * { margin: 0; }
.ps-campo-tx { display: flex; flex-direction: column; gap: 14px; }
.ps-campo-tx > * { margin: 0; }
.ps-campo .is-style-occhiello { color: inherit; }
.ps-campo-t { font-size: clamp(2.9rem, 6.2vw, 5.25rem); font-weight: 700; line-height: 1; letter-spacing: -.045em; }
.ps-campo-t a { color: inherit; text-decoration: none; background: none; }
.ps-campo-tema { font-size: 1.5rem; font-weight: 500; line-height: 1.25; }
.ps-campo-tx > p:not([class]), .ps-campo-tx > .wp-block-post-excerpt { max-width: 46ch; font-size: 1.125rem; line-height: 1.6; }
.ps-campo .wp-block-buttons > .wp-block-button > .wp-block-button__link:hover { background-color: var(--wp--preset--color--edizione-magenta-scuro); }

/* intestazione di una sezione: linea, titolo a sinistra, rimando a destra */
.ps-sechead {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 20px;
  margin-top: var(--wp--preset--spacing--60) !important; margin-bottom: 22px !important; padding-top: 30px;
  border-top: 1px solid var(--wp--custom--linea--sezione);
}
.ps-sechead > * { margin: 0; }
.ps-sechead .is-style-link-sezione { font-size: var(--wp--preset--font-size--x-small); letter-spacing: 1.2px; line-height: 1.4; }

/* tessere delle edizioni (Query Loop dentro un horizontal-slider): locandina,
   sfumatura dal basso, anno grande e città. Tutta la tessera è cliccabile:
   il link è il titolo dell'articolo, che non si vede. */
.horizontal-slider.ps-edtiles { gap: 16px; padding: 4px 0 16px; scroll-padding: 0; list-style: none; }
.horizontal-slider.ps-edtiles > * { width: 196px; max-width: none; }
.ps-edtile.wp-block-cover {
  aspect-ratio: .74; min-height: 0; padding: 14px 16px; overflow: hidden;
  border-radius: var(--wp--custom--radius--card);
  box-shadow: var(--wp--preset--shadow--scheda);
  background: var(--wp--preset--color--custom-grigio-caldo);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ps-edtile.wp-block-cover:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--sollevata); }
.ps-edtile .wp-block-cover__inner-container { color: var(--wp--preset--color--base); }
.ps-edtile .wp-block-cover__inner-container > * { margin: 0; }
.ps-edtile .ps-edtile-y { font-size: 2.125rem; font-weight: 700; line-height: .98; letter-spacing: -.035em; }
.ps-edtile .ps-edtile-c { margin-top: 4px; font-size: var(--wp--preset--font-size--xx-small); font-weight: 800; letter-spacing: 1.2px; line-height: 1.4; text-transform: uppercase; }
.ps-edtile h3.wp-block-post-title { font-size: 0; line-height: 0; }
.ps-edtile h3.wp-block-post-title a { background: none; }
@media (max-width: 600px) {
  .horizontal-slider.ps-edtiles > * { width: 150px; }
  .ps-edtile .ps-edtile-y { font-size: 1.75rem; }
}

.ps-home > .ps-feature { margin-top: var(--wp--preset--spacing--60); }

/* ===== RIQUADRO IN EVIDENZA (.ps-feature) =====
   Gruppo con due figli: un Gruppo di testo (.ps-feature-tx) e un'Immagine
   (.ps-feature-img). Fondo azzurro dell'edizione, testo sempre scuro.
   Affiancati quando c'è spazio (almeno 340px per parte), altrimenti impilati
   (con l'immagine sopra, se nel contenuto viene prima del testo). */
.ps-feature {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
  overflow: hidden;
  border-radius: var(--wp--custom--radius--riquadro);
  background: var(--wp--preset--color--edizione-azzurro); color: var(--wp--preset--color--edizione-contrasto);
}
.ps-feature > * { margin: 0; max-width: none; }
.ps-feature > .ps-feature-tx { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: clamp(28px, 4.4vw, 48px) clamp(24px, 4vw, 44px); }
.ps-feature-tx > * { margin: 0; }
.ps-feature-tx > .is-style-occhiello { color: inherit; }
.ps-feature-tx > :is(h2, h3) { font-size: clamp(1.9rem, 3.4vw, 2.5rem); font-weight: 700; line-height: 1.05; letter-spacing: -.035em; }
.ps-feature-tx > p { max-width: 56ch; font-size: 1.075rem; line-height: 1.7; text-wrap: pretty; hyphens: auto; }
.ps-feature-tx > p.is-style-attacco { font-size: 1.25rem; line-height: 1.55; hyphens: manual; }
.ps-feature > .ps-feature-img { min-height: 340px; position: relative; }
.ps-feature > .ps-feature-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
/* pulsanti dentro il riquadro: bianchi, con il cerchio nel colore d'accento */
.ps-feature .wp-block-buttons > .wp-block-button > .wp-block-button__link {
  padding: 6px 7px 6px 22px; background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--edizione-contrasto); box-shadow: none;
}
.ps-feature .wp-block-buttons > .wp-block-button > .wp-block-button__link::after { width: 34px; height: 34px; background: var(--wp--preset--color--edizione-magenta); color: var(--wp--preset--color--base); }
.ps-feature .wp-block-buttons > .wp-block-button > .wp-block-button__link:hover { background-color: var(--wp--preset--color--edizione-magenta-chiaro); color: var(--wp--preset--color--edizione-contrasto); box-shadow: none; }
.ps-feature a:not(.wp-block-button__link) { color: inherit; }
@media (max-width: 781px) {
  .ps-feature > .ps-feature-img { min-height: 220px; order: -1; }
}

/* ===== ELENCO DELLE EDIZIONI (pagina Edizioni) =====
   Query Loop sugli articoli della categoria Edizioni (.ps-editions.ps-editions--q):
   si aggiorna da solo quando nasce una nuova edizione. Ogni voce è un gruppo
   .ps-edition: locandina (immagine in evidenza) a sinistra; a destra anno
   grande, città e numero, date, riassunto e pulsante. Stessa disposizione
   dell'elenco scritto a mano (più sopra), che conta la larghezza della
   colonna e non dello schermo. */
.ps-editions.ps-editions--q { container-type: inline-size; border-top: 0; }
.ps-editions--q > .wp-block-post-template { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--wp--custom--linea--sezione); }
.ps-editions--q > .wp-block-post-template > li { margin: 0; }
.ps-editions--q .ps-edition {
  display: grid; grid-template-columns: clamp(150px, 24%, 200px) minmax(0, 1fr);
  column-gap: clamp(24px, 4.5%, 44px); row-gap: 10px; align-items: start; align-content: start;
}
.ps-editions--q .ps-edition > * { grid-column: 2; margin-block: 0 !important; }
.ps-editions--q .ps-edition > .ps-ed-poster { grid-column: 1; grid-row: 1 / span 5; }
.ps-ed-poster { margin: 0; }
.ps-ed-poster a { display: block; border-radius: var(--wp--custom--radius--lg); transition: transform .25s ease; }
.ps-ed-poster a:hover { transform: translateY(-3px); }
.ps-ed-poster img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--scheda); }
.ps-editions--q .ps-ed-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.ps-editions--q .ps-ed-year { font-size: clamp(2.5rem, 7cqi, 3.5rem) !important; }
.ps-ed-city { font-size: 1.25rem; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.ps-editions--q .ps-edition .wp-block-post-excerpt, .ps-editions--q .ps-edition .wp-block-post-excerpt__excerpt { margin: 0; font-size: 1.05rem; line-height: 1.65; }
.ps-editions--q .ps-edition > .wp-block-buttons { margin-top: 8px !important; }
/* l'ultima edizione ha l'anno nel colore d'accento */
.ps-editions--q.is-current > .wp-block-post-template > li:first-child .ps-ed-year { color: var(--wp--preset--color--edizione-magenta-testo); }
@container (max-width: 560px) {
  .ps-editions--q .ps-edition { grid-template-columns: 104px minmax(0, 1fr); column-gap: 18px; row-gap: 12px; }
  .ps-editions--q .ps-edition > * { grid-column: 1 / -1; }
  .ps-editions--q .ps-edition > .ps-ed-poster { grid-column: 1; grid-row: 1; }
  .ps-editions--q .ps-edition > .ps-ed-head { grid-column: 2; grid-row: 1; align-self: end; flex-direction: column; align-items: flex-start; }
}

/* "mostra altri" come pulsante pieno con la freccia in giù (blocco Dettagli
   con la classe ps-amore): edizioni precedenti, altre foto. Una volta aperto,
   in fondo c'è il pulsante per richiudere;
   il pulsante sparisce. */
.wp-block-details.ps-amore { margin-top: var(--wp--preset--spacing--40); padding: 0; border: 0; }
.wp-block-details.ps-amore > summary {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 14px;
  box-sizing: border-box; min-height: 48px; padding: 6px 6px 6px 22px; list-style: none; cursor: pointer;
  border: 0 !important; border-radius: var(--wp--custom--radius--pill);
  background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5);
  font-size: .875rem; font-weight: 700; letter-spacing: .005em; line-height: 1.2; text-transform: none;
  transition: background-color .25s;
}
.wp-block-details.ps-amore > summary::-webkit-details-marker { display: none; }
.wp-block-details.ps-amore > summary::after {
  content: "↓"; flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--contrast);
  font-size: .9375rem; font-weight: 700; line-height: 1; transition: transform .25s ease;
}
.wp-block-details.ps-amore > summary:hover { background-color: var(--wp--preset--color--edizione-magenta-scuro); color: var(--wp--preset--color--base); }
.wp-block-details.ps-amore > summary:hover::after { transform: translateY(3px); }
/* aperto: il pulsante in alto sparisce e in fondo ne compare uno per richiudere
   ("Mostra meno…", lo aggiunge theme.js). Senza JavaScript resta il pulsante
   in alto, con la freccia in su. */
.wp-block-details.ps-amore[open] > summary::after { content: "↑"; }
.wp-block-details.ps-amore.ha-chiudi[open] > summary { display: none; }
.wp-block-details.ps-amore.ha-chiudi[open] { margin-top: 0; }
.ps-amore-chiudi {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 14px;
  box-sizing: border-box; min-height: 48px; margin-top: var(--wp--preset--spacing--40); padding: 6px 6px 6px 22px; cursor: pointer;
  border: 0; border-radius: var(--wp--custom--radius--pill);
  background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast);
  box-shadow: var(--wp--preset--shadow--anello);
  font: inherit; font-size: .875rem; font-weight: 700; letter-spacing: .005em; line-height: 1.2;
  transition: background-color .25s, color .25s;
}
.ps-amore-chiudi::after {
  content: "↑"; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
  background: var(--wp--preset--color--edizione-magenta); color: var(--wp--preset--color--base);
  font-size: .9375rem; font-weight: 700; line-height: 1; transition: transform .25s ease;
}
.wp-block-details.ps-amore > .ps-amore-chiudi { margin-block-start: var(--wp--preset--spacing--30); }
.ps-amore-chiudi:hover { background-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5); }
.ps-amore-chiudi:hover::after { transform: translateY(-3px); }
.wp-block-details.ps-amore > :not(summary) { margin-block-start: 0; }

/* ===== PAGINA DI UN'EDIZIONE (modello "Edizione") =====
   Intestazione + testo (.ps-prose) + scheda laterale (.ps-metacard).
   Il testo si compone con il pattern "Medimex: riepilogo di un'edizione". */

/* ----- Testi delle edizioni scritti con il vecchio tema (.ps-edizione) -----
   Le pagine delle edizioni composte prima del tema morbido usano blocchi
   pensati per il vecchio aspetto: paragrafi "Sottotitolo", gallerie e gruppi
   a tutta larghezza, spaziatori, una fascia scura con le foto, le note a
   piè di pagina. Qui prendono l'aspetto del tema senza toccare i contenuti;
   locandina, documenti e note vengono anche ricomposti (functions.php, 6g). Una pagina
   rifatta con il pattern "Medimex: riepilogo di un'edizione" non usa nessuno
   di questi blocchi e non ne è toccata. */

/* gruppi interni: niente margini laterali né larghezze massime proprie */
.ps-edizione .wp-block-group.has-global-padding { padding-left: 0; padding-right: 0; }
.ps-edizione .wp-block-group.is-layout-constrained > :where(:not(.alignleft):not(.alignright)) { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.ps-edizione > .alignfull, .ps-edizione > .alignwide { margin-left: 0; margin-right: 0; }
.ps-edizione > .wp-block-group.has-global-padding > * + * { margin-block-start: 1.25em; }
.ps-edizione .wp-block-spacer { display: none; }

/* paragrafi "Sottotitolo": diventano l'attacco */
.ps-edizione p.is-style-text-subtitle { font-size: 1.4rem; font-weight: 400; line-height: 1.55; letter-spacing: -.012em; text-align: left; color: var(--wp--preset--color--contrast); }
.ps-edizione p.is-style-text-subtitle + p.is-style-text-subtitle { font-size: inherit; line-height: inherit; letter-spacing: 0; }

/* gallerie: tre foto per riga, tutte uguali, angoli morbidi (due per riga
   quando la colonna è stretta). La galleria a mosaico .ps-gal fa da sé. */
.ps-edizione { container-type: inline-size; }
.ps-edizione .wp-block-gallery.has-nested-images:not(.ps-gal) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ps-edizione .wp-block-gallery.has-nested-images:not(.ps-gal) figure.wp-block-image:not(#individual-image) { width: auto; margin: 0; }
.ps-edizione .wp-block-gallery.has-nested-images:not(.ps-gal) figure.wp-block-image img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }
@container (max-width: 520px) {
  .ps-edizione .wp-block-gallery.has-nested-images:not(.ps-gal) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* apertura: la locandina a sinistra, il primo testo accanto (functions.php, 6g).
   La locandina è un elemento flottante; i paragrafi che la seguono formano
   una colonna al suo fianco e, finita la locandina, tornano a tutta larghezza. */
.ps-edapre-loc { float: left; width: clamp(150px, 30%, 210px); margin: 6px 30px 16px 0; }
.ps-edapre-loc img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--scheda); }
.ps-edapre-loc figcaption { margin-top: 8px; font-size: var(--wp--preset--font-size--xx-small); line-height: 1.4; color: var(--wp--preset--color--accent-4); }
.ps-edapre-loc ~ p { overflow: hidden; }
.ps-edizione .wp-block-group:has(> .ps-edapre-loc) { display: flow-root; }
.ps-edizione .wp-block-gallery, .ps-edizione > .wp-block-group, .ps-edizione > .wp-block-details { clear: both; }
@container (max-width: 520px) {
  .ps-edapre-loc { float: none; width: 150px; margin: 0 0 18px; }
}

/* note a piè di pagina: nel testo un richiamo piccolo in alto; le note stanno
   in un blocco a scomparsa "Note", strette e in piccolo (si apre anche
   cliccando un richiamo: theme.js) */
.ps-edizione p a[href^="#_ftn"] { font-size: .7em; font-weight: 700; vertical-align: super; line-height: 0; text-decoration: none; color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-edizione .wp-block-details.ps-note { margin-block: 1.4em; padding: 10px 0; }
.ps-edizione .wp-block-details.ps-note[open] { display: block; }
.ps-note > p { max-width: 64ch; margin: 0; font-size: .8125rem; line-height: 1.55; color: var(--wp--preset--color--accent-4); hyphens: auto; }
.ps-note > p + p { margin-top: .6em; }
.ps-note > p > a[href^="#_ftnref"] { font-size: 1em; vertical-align: baseline; line-height: inherit; margin-right: 2px; }
.ps-edizione [id^="_ftn"] { scroll-margin-top: 96px; }
.ps-edizione hr.wp-block-separator { margin-block: 1.8em 1em; border: 0; border-top: 1px solid var(--wp--custom--linea--sezione); }

/* documenti nella scheda laterale: pillole con la freccia ↓, una sotto l'altra */
.ps-metarow--docs { display: flex; flex-direction: column; gap: 3px; }
.ps-metarow--docs .ps-k { margin: 0; }
.ps-metarow--docs .ps-docs { flex-direction: column; align-items: flex-start; }
.ps-metarow--docs .ps-docs .ps-doc { justify-content: space-between; max-width: 100%; line-height: 1.25; text-align: left; }
.ps-metarow--docs .ps-docs .ps-doc--link::after { content: "↗"; }

/* fascia scura con le foto ("Saluti dal Medimex"): un riquadro arrotondato
   (!important perché raggio e margini sono scritti nel contenuto) */
.ps-edizione .wp-block-group.is-style-section-5 {
  margin-block-start: var(--wp--preset--spacing--40);
  padding: clamp(22px, 5cqi, 36px) !important; overflow: hidden;
  border-radius: var(--wp--custom--radius--riquadro) !important;
  background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5);
}
.ps-edizione .is-style-section-5 :is(h2, h3) { font-size: clamp(1.5rem, 5cqi, 2rem); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; text-align: left; color: inherit; }
.ps-edizione .is-style-section-5 p { text-align: left; color: color-mix(in srgb, var(--wp--preset--color--accent-5) 82%, transparent); }
.ps-edizione .is-style-section-5 .img-slider { padding: 0; margin-inline-end: calc(-1 * clamp(22px, 5cqi, 36px)); max-width: none; }
.ps-edizione .is-style-section-5 .img-slider.img-slider > :first-child { margin-left: 0 !important; }
/* foto dello slider tutte alte uguali, anche quelle verticali */
.ps-edizione .img-slider { align-items: flex-start; }
.ps-edizione .img-slider img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }

/* testi e pulsanti centrati: a sinistra, come il resto della pagina */
.ps-edizione .has-text-align-center { text-align: left; }
.ps-edizione .wp-block-buttons { justify-content: flex-start; }
/* riquadri con il bordo: diventano schede bianche */
.ps-edizione .wp-block-group.has-border-color {
  padding: 20px 24px !important; border: 0 !important;
  border-radius: var(--wp--custom--radius--card) !important;
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--scheda);
}

/* video incorporati: due per riga dentro un blocco a scomparsa */
.ps-edizione .wp-block-embed { margin-inline: 0; }
.ps-edizione .wp-block-details:not(.ps-amore, .ps-note)[open] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ps-edizione .wp-block-details:not(.ps-amore, .ps-note)[open] > * { grid-column: 1 / -1; margin: 0; }
.ps-edizione .wp-block-details:not(.ps-amore, .ps-note)[open] > .wp-block-embed { grid-column: auto; }
.ps-edizione .wp-block-details:not(.ps-amore, .ps-note)[open] > summary { margin-bottom: 0; }
@container (max-width: 520px) {
  .ps-edizione .wp-block-details:not(.ps-amore, .ps-note)[open] { grid-template-columns: minmax(0, 1fr); }
}

/* ----- Il testo di un'edizione -----
   Il testo è fatto soprattutto di nomi e numeri: niente sillabazione (i nomi
   non si spezzano). Occupa tutta la colonna, fino alla scheda laterale, e non
   ha linee di separazione: le sezioni si staccano con lo spazio. */
.ps-edizione p, .ps-edizione li { hyphens: manual; -webkit-hyphens: manual; }
.ps-edizione.ps-prose > .is-style-occhiello, .ps-edizione.ps-prose > h2,
.ps-edizione.ps-prose.ps-prose > .ps-rigaocc { padding-top: 0; border-top: 0; }
.ps-edizione .wp-block-details.ps-note { border-top: 0; border-bottom: 0; }

/* aria tra le componenti: apertura, testo, foto nel testo, note, sezioni */
.ps-edizione.ps-prose.ps-prose > .ps-edfoto { margin-block: var(--wp--preset--spacing--60); }
.ps-edizione.ps-prose.ps-prose > .ps-edopen + * { margin-block-start: var(--wp--preset--spacing--60); }
.ps-edizione.ps-prose.ps-prose > .wp-block-details.ps-note { margin-block: var(--wp--preset--spacing--50); }
.ps-edizione.ps-prose.ps-prose > .is-style-occhiello,
.ps-edizione.ps-prose.ps-prose > .ps-rigaocc { margin-block-start: var(--wp--preset--spacing--70); }

/* video incorporati (YouTube): due per riga; uno solo resta più stretto */
.ps-edvideo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; }
.ps-edvideo > * { margin: 0; }
.ps-edvideo:has(> .wp-block-embed:only-child) { grid-template-columns: minmax(0, 34rem); }
.ps-edvideo figcaption { margin-top: 8px; font-size: var(--wp--preset--font-size--x-small); line-height: 1.4; text-align: left; color: var(--wp--preset--color--accent-4); }
.ps-prose .ps-amore > .ps-edvideo { margin-block: 14px 0; }
@container (max-width: 520px) {
  .ps-edvideo { grid-template-columns: minmax(0, 1fr); }
}

/* dati per la scheda laterale scritti in fondo al testo (.ps-ed-scheda): sul
   sito il gruppo non viene stampato; questo riquadro si vede solo nell'editor */
.ps-ed-scheda { margin-top: var(--wp--preset--spacing--50); padding: 18px 20px; border: 1px dashed var(--wp--preset--color--accent-4); border-radius: var(--wp--custom--radius--lg); }
.ps-ed-scheda > * + * { margin-block-start: 10px; }

/* foto che interrompe il testo: un blocco Media e testo, la foto occupa metà
   della colonna e il testo le scorre accanto (classi ps-media-round ps-edfoto) */
.ps-edizione .ps-edfoto > * { align-self: start; }
.ps-edizione .ps-edfoto .wp-block-media-text__media img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--lg); }
.ps-edizione .ps-edfoto .wp-block-media-text__content { padding: 0 0 0 clamp(24px, 6cqi, 44px); }
.ps-edizione .ps-edfoto.has-media-on-the-right .wp-block-media-text__content { padding: 0 clamp(24px, 6cqi, 44px) 0 0; }
.ps-edizione .ps-edfoto .wp-block-media-text__content > * { margin-block: 0; }
.ps-edizione .ps-edfoto .wp-block-media-text__content > * + * { margin-block-start: 1.25em; }
@media (max-width: 600px) {
  .ps-edizione .ps-edfoto .wp-block-media-text__content,
  .ps-edizione .ps-edfoto.has-media-on-the-right .wp-block-media-text__content { padding: 18px 0 0; }
}

/* apertura: un blocco Media e testo con la locandina (l'immagine in evidenza
   dell'articolo) a sinistra e, accanto, l'attacco e il primo paragrafo */
.ps-prose .ps-edopen { align-items: center; margin-bottom: 0; }
.ps-edopen .wp-block-media-text__media img { display: block; width: 100%; height: auto; border-radius: var(--wp--custom--radius--lg); box-shadow: var(--wp--preset--shadow--scheda); }
.ps-edopen .wp-block-media-text__content { padding: 0 0 0 clamp(24px, 7cqi, 52px); }
.ps-edopen .wp-block-media-text__content > * { margin-block: 0; }
.ps-edopen .wp-block-media-text__content > * + * { margin-block-start: .9em; }
@media (max-width: 600px) {
  .ps-edopen .wp-block-media-text__media { max-width: 240px; }
  .ps-edopen .wp-block-media-text__content { padding: 18px 0 0; }
}

/* riga con occhiello a sinistra e nota a destra (es. "Al clic, a schermo intero") */
.ps-prose.ps-prose > .ps-rigaocc { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin-block-start: 1.6em; padding-top: 1.8em; border-top: 1px solid var(--wp--custom--linea--sezione); }
.ps-rigaocc > * { margin: 0; }

/* galleria a mosaico (.ps-gal sul blocco Galleria): tre colonne, righe uguali,
   la prima foto grande il doppio; due colonne su telefono.
   (:not(#individual-image) serve a vincere sulla regola di WordPress che dà
   la larghezza alle foto della galleria) */
.wp-block-gallery.ps-gal.has-nested-images { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 150px; gap: 10px; }
.wp-block-gallery.ps-gal.has-nested-images figure.wp-block-image:not(#individual-image) { width: auto; height: 100%; margin: 0; }
.wp-block-gallery.ps-gal.has-nested-images figure.wp-block-image:not(#individual-image):first-child { grid-column: span 2; grid-row: span 2; }
.wp-block-gallery.ps-gal.has-nested-images figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--wp--custom--radius--lg); }
@media (max-width: 600px) {
  .wp-block-gallery.ps-gal.has-nested-images { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 130px; }
}
.ps-prose .ps-amore > .wp-block-gallery { margin-block: 10px 0; }

/* intestazione: il sottotitolo è il riassunto dell'articolo */
.ps-fhead > .ps-fintro { margin-top: var(--wp--preset--spacing--30); }
.ps-fhead > .ps-fintro-2 { margin-top: 10px; }
.ps-fintro .wp-block-post-excerpt__excerpt { margin: 0; }
.ps-fintro .wp-block-post-excerpt__more-text { display: none; }

/* scheda: "In questa pagina" (ancore, freccia in giù) */
.ps-metalist--giu .ps-metalist-i::after { content: "↓"; }
.ps-metalist--giu .ps-metalist-i:hover::after { translate: 0 calc(-50% + 3px); }
.ps-metacard .ps-metalist-h { padding-top: 4px; }
.ps-metalist-i a { text-decoration: none; }

/* precedente / successiva: due schede affiancate */
.ps-ednav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ps-ednav > .wp-block-post-navigation-link {
  position: relative; margin: 0; padding: 20px 24px 22px;
  border-radius: var(--wp--custom--radius--card);
  background: var(--wp--preset--color--base);
  box-shadow: var(--wp--preset--shadow--scheda);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ps-ednav > .wp-block-post-navigation-link:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--sollevata); }
.ps-ednav > .post-navigation-link-next { grid-column: 2; background: var(--wp--preset--color--edizione-magenta-chiaro); }
.ps-ednav > .post-navigation-link-next, .ps-ednav > .post-navigation-link-next a { color: var(--wp--preset--color--edizione-magenta-testo); }
.ps-ednav > .wp-block-post-navigation-link:not(:has(a), .is-in-arrivo) { display: none; }
/* edizione successiva non ancora pubblicata: scheda senza link */
.ps-ednav > .is-in-arrivo:hover { transform: none; box-shadow: var(--wp--preset--shadow--scheda); }
.ps-ednav .ps-ednav-t { display: block; font-size: clamp(1.4rem, 2.4vw, 1.75rem); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; }
/* il rimando è il titolo dell'edizione; sopra, l'etichetta "← Precedente" / "Successiva →" */
.ps-ednav .post-navigation-link__label {
  display: block; margin-bottom: 8px;
  font-size: var(--wp--preset--font-size--xx-small); font-weight: 800; letter-spacing: 1.2px; line-height: 1.4; text-transform: uppercase;
  color: var(--wp--preset--color--accent-4);
}
.ps-ednav .post-navigation-link-next .post-navigation-link__label { color: inherit; }
.ps-ednav .wp-block-post-navigation-link a {
  display: block; text-decoration: none !important; color: var(--wp--preset--color--contrast);
  font-size: clamp(1.4rem, 2.4vw, 1.75rem); font-weight: 700; line-height: 1.1; letter-spacing: -.025em;
}
.ps-ednav .wp-block-post-navigation-link a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
@media (max-width: 600px) {
  .ps-ednav { grid-template-columns: minmax(0, 1fr); }
  .ps-ednav > .post-navigation-link-next { grid-column: auto; }
}

/* ===== APPUNTAMENTI (programma di un'edizione) =====
   La pagina di un appuntamento usa intestazione + testo + scheda; gli
   elenchi (tipologia, luogo, giorno…) usano le righe .ps-nrow. */
.ps-nrow.ps-nrow--app { grid-template-columns: 96px 150px minmax(0, 1fr) 24px; }
.ps-nrow--app .ps-nrow-dt { display: flex; flex-wrap: wrap; gap: 2px 8px; }
.ps-nrow--app .ps-nrow-dt a { color: inherit; text-decoration: none; }
.ps-nrow--app .ps-nrow-th { aspect-ratio: 1; }
.ps-nrow-luogo { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); }
.ps-nrow-luogo a { color: inherit; text-decoration: none; }
@media (max-width: 781px) {
  .ps-nrow.ps-nrow--app { grid-template-columns: 72px minmax(0, 1fr); }
}
