/* === Scrollbar gutter: NON riservato ===
   scrollbar-gutter:stable riservava ~15px che però width:100vw NON sottrae:
   i full-bleed sforavano di ~15px e, con body{overflow-x:clip}, il contenuto
   veniva tagliato a destra (ultima parola di ogni riga, pill, titoli) su mobile
   e sulle pagine full-bleed. Senza riserva, su mobile 100vw == viewport (niente
   taglio). Lo shift desktop alla comparsa della scrollbar è trascurabile (le
   pagine sono quasi sempre più alte del viewport, scrollbar già presente). */
/* Guard anti-overflow: i full-bleed usano width:100vw; senza questo, con la
   scrollbar verticale la pagina sfora di ~15px a destra (header e contenuto
   "spostati"). Era nell'header inline (mc-overflow-fix) ma SpeedyCache strippa
   gli <style id> → lo teniamo qui, nel file enqueued. NIENTE scrollbar-gutter
   (riservare taglierebbe l'ultima parola a destra, vedi nota sopra). */
html,body{overflow-x:clip!important;}

/* ===== from <style id="no-id"> ===== */
/* === ARTICOLO hero image — contenuta, niente full-bleed gigante === */
body.single-post .wp-block-post-content > .wp-block-image:first-child,
body.single-post .wp-block-post-content > figure.wp-block-image:first-child {
  margin: 0 0 clamp(28px,4vw,44px) !important;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  aspect-ratio: 16/9 !important;
}
body.single-post .wp-block-post-content > .wp-block-image:first-child img,
body.single-post .wp-block-post-content > figure.wp-block-image:first-child img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  display: block !important;
}

/* === ARTICOLO end CTA === */
.art-end-cta {
  margin: clamp(56px, 8vw, 96px) auto 0;
  padding: clamp(32px, 5vw, 56px) clamp(28px, 4vw, 48px);
  max-width: 720px;
  border-radius: 18px;
  background:
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(220,205,239,0.45), transparent 65%),
    radial-gradient(ellipse 70% 55% at 100% 100%, rgba(250,216,189,0.55), transparent 65%),
    #FFFBF4;
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 4px 24px rgba(31,22,51,0.05);
  border: 1px solid rgba(79,45,127,0.08);
  text-align: center;
}
.art-end-eyebrow {
  font: 700 0.72rem/1 'DM Sans', sans-serif !important;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: #4F2D7F !important;
  margin: 0 0 14px !important;
}
.art-end-title {
  font: 500 clamp(1.4rem, 2.4vw, 1.85rem)/1.18 'Young Serif', Georgia, serif !important;
  letter-spacing: -0.01em;
  color: #1F1633 !important;
  margin: 0 0 28px !important;
  max-width: 22ch;
  margin-inline: auto !important;
}
.art-end-buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 24px;
}
.art-end-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 4px;
  padding: 16px 22px;
  border-radius: 18px;
  text-decoration: none !important;
  border: 0 !important;
  transition: transform 240ms cubic-bezier(0.16,1,0.3,1), box-shadow 240ms ease;
}
.art-end-btn--primary {
  background: linear-gradient(135deg, #C25E1F 0%, #E97E3A 100%);
  color: #FFFBF4 !important;
  box-shadow: 0 10px 24px rgba(194,94,31,0.32);
}
.art-end-btn--ghost {
  background: rgba(79,45,127,0.04);
  color: #1F1633 !important;
  border: 1px solid rgba(79,45,127,0.16) !important;
}
.art-end-btn-label {
  font: 600 1rem/1.2 'DM Sans', sans-serif;
}
.art-end-btn-sub {
  font: 400 0.82rem/1.3 'DM Sans', sans-serif;
  opacity: 0.78;
}
.art-end-btn--primary .art-end-btn-sub { color: rgba(255,251,244,0.88); }
.art-end-btn--ghost .art-end-btn-sub { color: #4A3F5C; }
.art-end-btn:hover { transform: translateY(-2px); }
.art-end-btn--primary:hover { box-shadow: 0 16px 36px rgba(194,94,31,0.42); }
.art-end-btn--ghost:hover { background: rgba(79,45,127,0.08); border-color: rgba(79,45,127,0.28) !important; }

.art-end-related {
  margin: 16px 0 0 !important;
  font: 500 0.88rem/1 'DM Sans', sans-serif !important;
}
.art-end-related a {
  color: #4F2D7F !important;
  text-decoration: none !important;
  border: 0 !important;
}
.art-end-related a:hover { color: #C25E1F !important; }

@media (max-width: 720px) {
  .art-end-cta { margin-inline: 16px; }
}

/* === SINGLE ARTICLE — Editorial polish v1 ===
   Sticky reading column, scale tipografica generosa, eyebrow categorie,
   TL;DR card distinto, blockquote pull, in-article CTA. */

/* Wrapper article — leggibile, max 720px texto */
body.single-post .wp-block-post-content,
body.single .wp-block-post-content {
  max-width: 880px !important;
  margin-inline: auto !important;
  padding-inline: clamp(20px, 4vw, 32px) !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
  color: #1F1633 !important;
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.1rem) !important;
  line-height: 1.72 !important;
}

/* Hero image full-bleed prima del titolo */
body.single-post .wp-block-post-content > .wp-block-image:first-child,
body.single-post .wp-block-post-content > figure.wp-block-image:first-child {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
  border-radius: 0 !important;
  margin-top: -24px !important;
  margin-bottom: clamp(40px, 6vw, 64px) !important;
}
body.single-post .wp-block-post-content > .wp-block-image:first-child img,
body.single-post .wp-block-post-content > figure.wp-block-image:first-child img {
  width: 100% !important;
  height: clamp(280px, 50vw, 540px) !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* H1 articolo — Young Serif gigante */
body.single-post .wp-block-post-content > h1,
body.single-post .wp-block-post-content > .wp-block-heading:first-of-type {
  font-family: 'Young Serif', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #1F1633 !important;
  margin: 0 0 16px !important;
  max-width: 24ch !important;
}

/* Eyebrow ornamentale prima del titolo (via ::before sul primo h1 successivo all'immagine) */
body.single-post .wp-block-post-content > h1::before {
  content: "Articolo · Metacometa";
  display: block;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #4F2D7F;
  margin-bottom: 14px;
}

/* H2 — divisori sezione */
body.single-post .wp-block-post-content h2 {
  font-family: 'Young Serif', serif !important;
  font-weight: 500 !important;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.012em !important;
  color: #1F1633 !important;
  margin: 56px 0 16px !important;
  padding-top: 12px;
  position: relative;
}
body.single-post .wp-block-post-content h2::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 48px; height: 2px;
  background: linear-gradient(90deg, #E97E3A, #4F2D7F);
  border-radius: 2px;
}

/* H3 — sub sezione */
body.single-post .wp-block-post-content h3 {
  font-family: 'Young Serif', serif !important;
  font-weight: 400 !important; /* Young Serif peso unico: niente faux-bold */
  font-size: clamp(1.15rem, 1.7vw, 1.3rem) !important;
  letter-spacing: -0.008em !important;
  color: #371E5C !important;
  margin: 32px 0 12px !important;
}

/* Paragrafi e liste — leggibilità top */
body.single-post .wp-block-post-content p { margin: 0 0 18px !important; }
body.single-post .wp-block-post-content p strong { color: #1F1633; font-weight: 700; }
body.single-post .wp-block-post-content p em { color: #4F2D7F; font-style: italic; }
body.single-post .wp-block-post-content ul,
body.single-post .wp-block-post-content ol {
  margin: 0 0 24px !important;
  padding-left: 28px !important;
}
body.single-post .wp-block-post-content li { margin-bottom: 8px; line-height: 1.65; }
body.single-post .wp-block-post-content ul li::marker { color: #E97E3A; }
body.single-post .wp-block-post-content ol li::marker { color: #4F2D7F; font-weight: 700; }

/* TL;DR detect — primo paragrafo dopo h1 con "TL;DR" → card style */
body.single-post .wp-block-post-content p:has(strong:first-child):first-of-type {
  background:
    radial-gradient(ellipse 80% 60% at 0% 0%, rgba(220,205,239,0.45), transparent 65%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(250,216,189,0.42), transparent 65%),
    #FFFBF4;
  padding: 22px 26px !important;
  border-radius: 18px !important;
  border-left: 3px solid #E97E3A;
  margin: 0 0 40px !important;
  font-size: 1.0625rem !important;
  line-height: 1.6 !important;
  color: #2A1F3D !important;
  box-shadow: 0 2px 14px rgba(31,22,51,0.05);
}

/* Blockquote — pull editorial */
body.single-post .wp-block-post-content blockquote,
body.single-post .wp-block-post-content .wp-block-quote {
  border-left: 0 !important;
  margin: 40px 0 !important;
  padding: 28px 32px !important;
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgba(220,205,239,0.55), transparent 60%),
    #F5EBD9;
  border-radius: 18px;
  position: relative;
  font-family: 'Young Serif', serif !important;
}
body.single-post .wp-block-post-content blockquote::before,
body.single-post .wp-block-post-content .wp-block-quote::before {
  content: '"';
  position: absolute;
  top: 4px; left: 18px;
  font-family: 'Young Serif', serif;
  font-size: 4rem;
  color: rgba(79,45,127,0.25);
  line-height: 1;
}
body.single-post .wp-block-post-content blockquote p,
body.single-post .wp-block-post-content .wp-block-quote p {
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.5;
  color: #2A1F3D;
  margin: 0 0 8px !important;
}
body.single-post .wp-block-post-content blockquote cite,
body.single-post .wp-block-post-content .wp-block-quote cite {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4F2D7F;
  margin-top: 12px;
}

/* Link in body — sottolineatura soft */
body.single-post .wp-block-post-content p a,
body.single-post .wp-block-post-content li a {
  color: #4F2D7F;
  text-decoration: none;
  border-bottom: 1.5px solid rgba(79,45,127,0.35);
  transition: color 200ms, border-color 200ms;
}
body.single-post .wp-block-post-content p a:hover,
body.single-post .wp-block-post-content li a:hover {
  color: #C25E1F;
  border-color: #C25E1F;
}

/* Code inline */
body.single-post .wp-block-post-content code {
  background: rgba(79,45,127,0.08);
  padding: 2px 7px;
  border-radius: 6px;
  font-family: 'Fira Code', monospace;
  font-size: 0.92em;
  color: #4F2D7F;
}

/* Article title (post-title block) above content if rendered separately */
body.single-post .wp-block-post-title {
  font-family: 'Young Serif', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #1F1633 !important;
  max-width: 880px !important;
  margin: 0 auto 24px !important;
  padding: 0 clamp(20px,4vw,32px) !important;
  text-align: left !important;
}

/* Article hero band (between title and content) */
body.single-post main {
  background: var(--wp--preset--color--bg-alt, #FFFBF4) !important;
}

/* End-of-article gradient transition zone */
body.single-post .wp-block-post-content::after {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(79,45,127,0.2), transparent);
  margin: 56px auto 0;
  max-width: 320px;
}

/* ============================================
   STILI GLOBALI PAGINE METACOMETA
   Spostati dalle inline <style> delle singole
   pagine per render content puramente Gutenberg.
   ============================================ */

/* Base reset section */
.mc-page-section { padding: clamp(72px,9vw,128px) 0; position: relative; }
.mc-page-container { max-width: var(--content-max, 1200px); margin: 0 auto; padding: 0 var(--content-pad, clamp(20px,4vw,32px)); }
.mc-page-container-wide { max-width: var(--content-max, 1200px); margin: 0 auto; padding: 0 var(--content-pad, clamp(20px,4vw,32px)); }
.mc-page-container-narrow { max-width: 760px; margin: 0 auto; padding: 0 var(--content-pad, clamp(20px,4vw,32px)); } /* narrow = colonna di lettura, volutamente più stretta */

/* Eyebrow */
.mc-eyebrow-tag { font-family: 'DM Sans',sans-serif; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: #4F2D7F; font-weight: 600; margin: 0 0 14px; }
.mc-eyebrow-tag-orange { color: #B25420; }
.mc-eyebrow-tag-light { color: #DCCDEF; }

/* === A11y contrasto (WCAG AA) — site.css carica per ultima, vince la cascata.
   Solo colori di TESTO: identità viola/arancio/crema invariata. === */
:root { --c-ink-mute: #6F6385; }                 /* muted 4.47 -> ~5.0:1 */
.cta-wa { background: #0C6E62 !important; }       /* WhatsApp bianco-su-verde 1.98 -> ~6:1 (AA normale) */
.cookieadmin_customize_btn { color: #5E5475 !important; } /* bottone cookie 4.47 -> ~5.6:1 */
/* eyebrow arancio resta chiaro sui fondi scuri (lì il contrasto va bene) */
.mc-section-deep .mc-eyebrow-tag-orange,
.mc-footer-top .mc-eyebrow-tag-orange { color: #E97E3A; }

/* Eyebrow "piano" arancio su fondo chiaro: 2.58 -> 4.65:1. Sui fondi scuri
   (hero, sezioni deep, footer, stats, impresa-stellare) l'arancio chiaro resta. */
/* NB: esiste una regola inline `.mc-eyebrow{color:var(--c-primary)!important}` -> serve !important
   con specificità maggiore per vincerla. La card arancio conserva il suo colore dedicato. */
p.mc-eyebrow, .mc-eyebrow:not(.mc-eyebrow-purple) { color: #9C4419 !important; } /* AA anche su tinte pesca/lilla (4.5+) */
.mc-cine .mc-eyebrow, .px-hero .mc-eyebrow, .af-hero .mc-eyebrow, .am2-hero .mc-eyebrow,
.mc-section-deep .mc-eyebrow, .px-stats .mc-eyebrow, .mc-footer-top .mc-eyebrow, .mc-imprstell .mc-eyebrow { color: #E97E3A !important; }
.mc-orange-card .mc-eyebrow { color: var(--c-eyebrow-on-orange, #FFFBF4) !important; }
/* Bottoni arancio con testo bianco: bright #E97E3A è 2.79 -> flat CTA #B25420 (5:1).
   Vale per ogni override di contesto/inline che li rendeva bright. */
.gbtn.is-orange, .mc-btn:not(.mc-btn-ghost) { background: #B25420 !important; }
/* Testo "who" (citazioni) su fondi tinti chiari: usa l'ink scuro (≥7:1). */
.who { color: #4A3F5C !important; }

/* Home (desktop): la prima schermata = hero + lista regioni in UN viewport.
   La hero riempie tutto lo spazio meno una fascia per le regioni; la lista
   regioni resta centrata in quella fascia (equidistante da hero e fondo). */
@media (min-width: 900px) {
  body.home .mc-cine { min-height: max(560px, calc(100svh - 140px)) !important; }
  body.home .mc-dove-siamo-sec {
    min-height: 140px !important;
    margin-top: 0 !important;
    padding-top: 0 !important; padding-bottom: 0 !important;
    display: flex; flex-direction: column; justify-content: center;
  }
}
/* Striscia regioni: contenuto a sinistra, titolo piccolo, niente freccia,
   nessun reveal ritardato (deve comparire insieme alla hero). */
body.home .mc-dove-siamo-sec,
body.home .mc-dove-siamo-sec .header { text-align: left !important; }
body.home .mc-dove-siamo-sec .header h2 { font-size: 1rem !important; font-weight: 600 !important; }
body.home .mc-dove-siamo-sec .header h2 span[aria-hidden] { display: none !important; }
body.home .mc-dove-siamo-sec .mc-dove2-regions { justify-content: flex-start !important; }
body.home .mc-dove-siamo-sec .mc-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }

/* Headings */
.mc-h-display { font-family: 'Young Serif',serif !important; font-size: clamp(2rem,8vw,4.25rem) !important; line-height: 1.04 !important; letter-spacing: -0.025em !important; font-weight: 400 !important; overflow-wrap: break-word; }
.mc-h-1 { font-family: 'Young Serif',serif !important; font-size: clamp(2.25rem,5.5vw,3.75rem) !important; line-height: 1.05 !important; letter-spacing: -0.02em !important; }
.mc-h-2 { font-family: 'Young Serif',serif !important; font-size: clamp(1.75rem,3.5vw,2.5rem) !important; line-height: 1.15 !important; letter-spacing: -0.015em !important; }
.mc-h-3 { font-family: 'Young Serif',serif !important; font-size: clamp(1.25rem,2.2vw,1.625rem) !important; line-height: 1.2 !important; }
.mc-h-em { font-style: italic; color: #4F2D7F; }
.mc-h-em-orange { font-style: italic; color: #E97E3A; }

/* Body */
.mc-lead { font-family: 'DM Sans',sans-serif !important; font-size: 1.125rem !important; line-height: 1.6 !important; color: #4A3F5C; max-width: 720px; }
.mc-text { font-family: 'DM Sans',sans-serif !important; line-height: 1.7 !important; color: #4A3F5C; font-size: 1.0625rem; }
.mc-text-center { text-align: center; }
.mc-text-center .mc-lead { margin-left: auto; margin-right: auto; }

/* CARDS */
.mc-card { background: #fff; border-radius: 18px; padding: 32px 28px; box-shadow: 0 4px 16px rgba(31,22,51,0.06); transition: transform 220ms ease, box-shadow 220ms ease; }
.mc-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(31,22,51,0.10); }
.mc-card-lg { padding: clamp(32px,5vw,56px); }
.mc-card-icon-box { width: 56px; height: 56px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.mc-icon-warm { background: linear-gradient(135deg,#FAD8BD 0%,#E97E3A 100%); color: #fff; }
.mc-icon-violet { background: linear-gradient(135deg,#DCCDEF 0%,#4F2D7F 100%); color: #fff; }
.mc-icon-sand { background: linear-gradient(135deg,#F1D9A6 0%,#C9A56B 100%); color: #fff; }
.mc-icon-soft { background: linear-gradient(135deg,#FAD8BD 0%,#DCCDEF 100%); color: #4F2D7F; }
.mc-card-icon-box svg { width: 26px; height: 26px; }

/* GRIDS */
.mc-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.mc-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.mc-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
@media (max-width: 900px) { .mc-grid-3, .mc-grid-4 { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .mc-grid-2, .mc-grid-3, .mc-grid-4 { grid-template-columns: 1fr; } }

/* SECTION DEEP (Servizi sportello, CTA finale, ecc) */
.mc-section-deep { background: radial-gradient(ellipse 85% 80% at 15% 20%,rgba(120,82,170,0.34),transparent 65%),radial-gradient(ellipse 70% 60% at 88% 75%,rgba(85,52,140,0.26),transparent 70%),radial-gradient(ellipse 60% 50% at 50% 105%,rgba(150,108,195,0.20),transparent 75%),#2E1B5C !important; color: #fff !important; }
.mc-section-deep h1, .mc-section-deep h2, .mc-section-deep h3, .mc-section-deep .mc-h-1, .mc-section-deep .mc-h-2, .mc-section-deep .mc-h-3, .mc-section-deep .mc-h-display { color: #fff !important; }
.mc-section-deep .mc-lead, .mc-section-deep .mc-text { color: #DCCDEF !important; }
.mc-section-deep .mc-eyebrow-tag { color: #E97E3A; }
.mc-section-deep .mc-card { background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.16); }
.mc-section-deep .mc-card h3, .mc-section-deep .mc-card .mc-h-3 { color: #fff; }
.mc-section-deep .mc-card p, .mc-section-deep .mc-card .mc-text { color: #DCCDEF !important; }

/* SECTION SAND (aMALI hero) */
.mc-section-sand { background: linear-gradient(135deg,#C9A56B 0%,#E0BE85 50%,#F1D9A6 100%) !important; position: relative; overflow: hidden; }

/* BUTTONS */
.mc-btn-primary, .mc-btn-orange, .mc-btn-ghost, .mc-btn-secondary { display: inline-block; padding: 14px 26px; border-radius: 999px; text-decoration: none; font-family: 'DM Sans',sans-serif; font-weight: 600; transition: transform 180ms ease, box-shadow 180ms ease; }
.wp-block-button.is-style-mc-primary .wp-block-button__link { background: linear-gradient(135deg,#4F2D7F 0%,#6B3FA0 100%) !important; color: #fff !important; }
.wp-block-button.is-style-mc-orange .wp-block-button__link { background: linear-gradient(135deg,#C25E1F 0%,#E97E3A 100%) !important; color: #fff !important; }
.wp-block-button.is-style-mc-ghost .wp-block-button__link { background: transparent !important; color: #4F2D7F !important; border: 2px solid #4F2D7F !important; }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(31,22,51,0.18); }

/* TIMELINE */
.mc-timeline { position: relative; margin-top: 32px; }
.mc-timeline::before { content: ""; position: absolute; left: 32px; top: 32px; bottom: 32px; width: 2px; background: linear-gradient(180deg,#E97E3A,#4F2D7F); }
.mc-step { display: grid; grid-template-columns: 80px 1fr; gap: 24px; align-items: flex-start; padding: 24px 0; position: relative; }
.mc-step-num { width: 64px; height: 64px; border-radius: 50%; background: #fff; box-shadow: 0 6px 16px rgba(31,22,51,0.10); display: flex; align-items: center; justify-content: center; font-family: 'Young Serif',serif; font-size: 1.625rem; color: #4F2D7F; font-weight: 600; position: relative; z-index: 1; }

/* QUOTE / BLOCKQUOTE custom */
.mc-quote-card { background: #fff; border-radius: 18px; padding: clamp(32px,4vw,48px); box-shadow: 0 6px 24px rgba(31,22,51,0.08); border-left: 4px solid #E97E3A; }
.mc-quote-card p { font-family: 'Young Serif',serif !important; font-size: 1.375rem !important; font-style: italic; line-height: 1.4 !important; color: #1F1633 !important; margin: 0 0 14px; }
.mc-quote-card cite { font-family: 'DM Sans',sans-serif; font-size: 0.95rem; color: #7E7290; font-style: normal; }

/* FAQ DETAILS */
.mc-faq-item { background: #fff; border-radius: 18px; padding: 0; margin-bottom: 12px; box-shadow: 0 2px 12px rgba(31,22,51,0.05); overflow: hidden; transition: box-shadow 180ms ease; }
.mc-faq-item[open] { box-shadow: 0 8px 24px rgba(31,22,51,0.10); }
.mc-faq-item summary { font-family: 'Young Serif',serif; font-weight: 600; cursor: pointer; color: #1F1633; padding: 20px 24px; font-size: 1.0625rem; list-style: none; position: relative; padding-right: 56px; }
.mc-faq-item summary::-webkit-details-marker { display: none; }
.mc-faq-item summary::after { content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-family: 'DM Sans',sans-serif; font-weight: 400; font-size: 1.5rem; color: #4F2D7F; transition: transform 220ms ease; }
.mc-faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.mc-faq-item > div { padding: 0 24px 22px; }
.mc-faq-item p { font-family: 'DM Sans',sans-serif !important; color: #4A3F5C !important; line-height: 1.65 !important; }

/* BREADCRUMB */
.mc-crumb { font-family: 'DM Sans',sans-serif; font-size: 0.85rem; color: #7E7290; margin-bottom: 12px; }
.mc-crumb a { color: #4F2D7F; text-decoration: none; }
.mc-crumb a:hover { color: #E97E3A; }

/* BREAKOUT (sezioni full-width) */
.mc-full {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: 100vw !important;
}

/* === ARTICOLI INDEX + SINGLE === */
.mc-art-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 0 24px; }
.mc-art-filters a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 999px; background: #fff; color: #4F2D7F; text-decoration: none; font-family: 'DM Sans',sans-serif; font-weight: 500; font-size: 0.92rem; box-shadow: 0 2px 8px rgba(31,22,51,0.04); transition: all 220ms ease; }
.mc-art-filters a:hover, .mc-art-filters a.active { background: #4F2D7F; color: #fff; transform: translateY(-2px); }
.mc-art-filters .dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.mc-art-filters .dot-violet { background: #4F2D7F; }
.mc-art-filters .dot-orange { background: #E97E3A; }
.mc-art-filters .dot-pink { background: #C25E1F; }
.mc-art-filters .dot-green { background: #2D6A4F; }
.mc-art-filters .dot-sand { background: #C9A56B; }
.mc-art-filters .dot-gold { background: #F2B645; }
.mc-art-filters a:hover .dot, .mc-art-filters a.active .dot { background: #fff !important; }

.mc-art-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 32px 24px; padding: 24px 0; }
@media (max-width: 900px) { .mc-art-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .mc-art-grid { grid-template-columns: 1fr; } }

.mc-art-card { background: transparent !important; padding: 0 !important; transition: transform 240ms cubic-bezier(0.4,0,0.2,1); cursor: pointer; }
.mc-art-card:hover { transform: translateY(-6px); }
.mc-art-card .wp-block-post-featured-image { margin: 0 !important; border-radius: 18px; overflow: hidden; box-shadow: 0 6px 20px rgba(31,22,51,0.08); transition: box-shadow 240ms ease; aspect-ratio: 16/9; }
.mc-art-card:hover .wp-block-post-featured-image { box-shadow: 0 16px 32px rgba(31,22,51,0.16); }
.mc-art-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.mc-art-card-body { padding: 20px 4px 8px !important; }
.mc-art-card-cat { font-family: 'DM Sans',sans-serif; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F2D7F !important; font-weight: 700; margin: 0 0 8px !important; }
.mc-art-card-cat a { color: #4F2D7F !important; text-decoration: none; }
.mc-art-card-title { font-family: 'Young Serif',serif !important; font-size: 1.375rem !important; line-height: 1.2 !important; margin: 0 0 10px !important; letter-spacing: -0.01em; }
.mc-art-card-title a { color: #1F1633 !important; text-decoration: none; transition: color 180ms ease; }
.mc-art-card:hover .mc-art-card-title a { color: #4F2D7F !important; }
.mc-art-card-excerpt { font-family: 'DM Sans',sans-serif !important; font-size: 0.95rem !important; color: #4A3F5C !important; line-height: 1.5 !important; margin: 0 !important; }

.mc-art-empty { text-align: center; padding: 80px 32px; background: #fff; border-radius: 18px; box-shadow: 0 4px 16px rgba(31,22,51,0.06); margin: 32px auto; max-width: 600px; }
.mc-art-empty-icon { width: 88px; height: 88px; border-radius: 18px; background: linear-gradient(135deg,#DCCDEF 0%,#FAD8BD 100%); display: inline-flex; align-items: center; justify-content: center; margin: 0 auto 24px; color: #4F2D7F; }
.mc-art-empty h3 { font-family: 'Young Serif',serif; font-size: 1.625rem; margin: 0 0 12px; color: #1F1633; }
.mc-art-empty p { font-family: 'DM Sans',sans-serif; color: #4A3F5C; max-width: 480px; margin: 0 auto 24px; line-height: 1.6; }
.mc-art-empty-cta { display: inline-block; padding: 14px 28px; border-radius: 999px; background: linear-gradient(135deg,#4F2D7F 0%,#6B3FA0 100%); color: #fff !important; text-decoration: none; font-family: 'DM Sans',sans-serif; font-weight: 600; transition: transform 180ms ease, box-shadow 180ms ease; }
.mc-art-empty-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(79,45,127,0.32); }

/* === SINGLE ARTICLE === */
.single-post .wp-block-post-content { max-width: 720px !important; margin: 0 auto !important; padding: 0 clamp(20px,4vw,32px) !important; }
.single-post .wp-block-post-content h1 { font-family: 'Young Serif',serif !important; font-size: clamp(2rem,4vw,2.75rem) !important; line-height: 1.15 !important; letter-spacing: -0.02em !important; color: #1F1633 !important; margin: 32px 0 20px !important; }
.single-post .wp-block-post-content h2 { font-family: 'Young Serif',serif !important; font-size: clamp(1.5rem,3vw,2rem) !important; line-height: 1.2 !important; letter-spacing: -0.01em !important; color: #1F1633 !important; margin: 48px 0 16px !important; }
.single-post .wp-block-post-content h3 { font-family: 'Young Serif',serif !important; font-size: 1.375rem !important; color: #4F2D7F !important; margin: 32px 0 12px !important; }
.single-post .wp-block-post-content p { font-family: 'DM Sans',sans-serif !important; font-size: 1.0625rem !important; line-height: 1.75 !important; color: #1F1633 !important; margin: 0 0 18px !important; }
.single-post .wp-block-post-content p strong { color: #4F2D7F; }
.single-post .wp-block-post-content blockquote, .single-post .wp-block-quote { background: linear-gradient(135deg,#FFFBF4 0%,#DCCDEF 100%); border-left: 4px solid #E97E3A; border-radius: 0 16px 16px 0; padding: 24px 28px !important; margin: 32px 0 !important; }
.single-post .wp-block-post-content blockquote p, .single-post .wp-block-quote p { font-family: 'Young Serif',serif !important; font-style: italic; font-size: 1.25rem !important; line-height: 1.5 !important; color: #1F1633 !important; margin: 0 !important; }
.single-post .wp-block-post-content ul, .single-post .wp-block-post-content ol { padding-left: 24px; margin: 0 0 24px; font-family: 'DM Sans',sans-serif; font-size: 1.0625rem; line-height: 1.75; color: #1F1633; }
.single-post .wp-block-post-content li { margin-bottom: 8px; }
.single-post .wp-block-post-content img { border-radius: 18px; box-shadow: 0 6px 20px rgba(31,22,51,0.08); margin: 24px 0; }
.single-post .wp-block-post-title { font-family: 'Young Serif',serif !important; font-size: clamp(2.25rem,5vw,3.5rem) !important; line-height: 1.05 !important; letter-spacing: -0.02em !important; color: #1F1633 !important; max-width: 720px; margin: 0 auto 24px !important; padding: 0 clamp(20px,4vw,32px); text-align: center; }
.single-post .wp-block-post-featured-image { max-width: 1100px !important; margin: 0 auto 48px !important; padding: 0 clamp(20px,4vw,32px); }
.single-post .wp-block-post-featured-image img { border-radius: 18px; aspect-ratio: 16/9; object-fit: cover; box-shadow: 0 12px 32px rgba(31,22,51,0.12); }
.single-post .wp-block-post-terms { font-family: 'DM Sans',sans-serif; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: #4F2D7F; font-weight: 700; text-align: center; max-width: 720px; margin: 32px auto 8px !important; padding: 0 24px; }
.single-post .wp-block-post-date { font-family: 'DM Sans',sans-serif; font-size: 0.85rem; color: #7E7290; text-align: center; max-width: 720px; margin: 0 auto 32px !important; padding: 0 24px; }

/* === COOKIE BANNER: sposta a bottom, compatto, non invasivo === */
.cookieadmin_law_container {
  position: fixed !important;
  bottom: 16px !important;
  top: auto !important;
  left: 16px !important;
  right: 16px !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  background: rgba(255, 251, 244, 0.96) !important;
  backdrop-filter: saturate(180%) blur(18px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 48px rgba(31, 22, 51, 0.22) !important;
  padding: 16px 20px !important;
  border: 1px solid rgba(79, 45, 127, 0.10) !important;
  z-index: 2000 !important;
  width: auto !important;
  font-family: 'DM Sans', sans-serif !important;
}
.cookieadmin_consent_inside { padding: 0 !important; }
#cookieadmin_notice_title { font-family: 'Young Serif', serif !important; font-size: 0.95rem !important; color: #1F1633 !important; margin: 0 0 4px !important; font-weight: 600 !important; }
#cookieadmin_notice { font-size: 0.82rem !important; color: #4A3F5C !important; line-height: 1.5 !important; margin: 0 0 12px !important; }
.cookieadmin_consent_btns { display: flex !important; gap: 8px !important; flex-wrap: wrap !important; justify-content: flex-end !important; }
.cookieadmin_btn {
  padding: 8px 16px !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  font-family: 'DM Sans', sans-serif !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}
.cookieadmin_accept_btn { background: linear-gradient(135deg, #C25E1F 0%, #E97E3A 100%) !important; color: #fff !important; }
.cookieadmin_accept_btn:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(233,126,58,0.32) !important; }
.cookieadmin_reject_btn { background: transparent !important; color: #4F2D7F !important; border: 1px solid #4F2D7F !important; }
.cookieadmin_reject_btn:hover { background: #4F2D7F !important; color: #fff !important; }
.cookieadmin_customize_btn { background: transparent !important; color: #5E5475 !important; padding: 8px 12px !important; }
.cookieadmin_customize_btn:hover { color: #1F1633 !important; }

@media (max-width: 540px) {
  .cookieadmin_law_container {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    padding: 12px 14px !important;
    border-radius: 18px !important;
  }
  /* banner compatto: titolo + testo corto (max 3 righe) + bottoni a tutta
     riga con tap target >=44px; "Accetta" in VIOLA così l'unico arancio pieno
     sopra la piega resta la CTA reale dell'hero. */
  #cookieadmin_notice_title { font-size: 0.92rem !important; margin: 0 0 3px !important; }
  #cookieadmin_notice { font-size: 0.76rem !important; line-height: 1.4 !important; margin: 0 0 10px !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  /* bottoni IMPILATI a tutta larghezza: 3 bottoni non stanno in una riga a
     360-414px (Accetta/Rifiuta finivano fuori schermo). Wrap + full-width. */
  .cookieadmin_consent_btns { flex-wrap: wrap !important; gap: 8px !important; justify-content: stretch !important; }
  .cookieadmin_btn { flex: 1 1 100% !important; min-height: 44px !important; padding: 11px 12px !important; font-size: 0.82rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
  .cookieadmin_customize_btn { flex: 1 1 100% !important; padding: 11px 12px !important; }
  .cookieadmin_accept_btn { background: #4F2D7F !important; }
}

/* === FOOTER TOP: twin panels gemelle === */
.mc-footer-top {
  max-width: var(--content-max, 1200px);
  margin: clamp(32px, 4vw, 56px) auto clamp(20px, 3vw, 32px);
  padding: 0 var(--content-pad, clamp(20px,4vw,32px));
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

.mc-footer-top > section {
  padding: clamp(28px, 2.6vw, 36px) !important;
  border-radius: 18px;
  display: flex !important;
  flex-direction: column !important;
  min-height: 360px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 2px 18px rgba(31,22,51,0.05);
  border: 1px solid rgba(79,45,127,0.06);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

/* Pannello 1 — Tre porte aperte: crema con wash viola tenue */
.mc-footer-cta-hero {
  background:
    radial-gradient(ellipse 90% 70% at 15% 0%, rgba(220,205,239,0.55), transparent 62%),
    radial-gradient(ellipse 70% 50% at 100% 100%, rgba(233,126,58,0.10), transparent 60%),
    #FFFBF4 !important;
}

/* Pannello 2 — Letture utili: sand caldo con wash viola+arancio */
.mc-footer-articoli {
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(250,216,189,0.65), transparent 60%),
    radial-gradient(ellipse 90% 65% at 0% 100%, rgba(220,205,239,0.45), transparent 60%),
    #F5EBD9 !important;
}

.mc-footer-top .mc-footer-band-inner {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
}

/* Gerarchia gemella: eyebrow + heading + lead identici nei due pannelli */
.mc-footer-top .mc-eyebrow-purple {
  font: 700 0.7rem/1.2 'DM Sans', sans-serif !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #4F2D7F !important;
  margin: 0 0 12px !important;
  display: inline-block;
}

.mc-footer-top h2,
.mc-footer-top h3 {
  font: 500 clamp(1.25rem, 1.6vw, 1.5rem)/1.2 'Young Serif', Georgia, serif !important;
  letter-spacing: -0.012em;
  color: #1F1633 !important;
  margin: 0 0 10px !important;
  max-width: 22ch;
}

.mc-footer-top .mc-lead {
  font: 400 0.9rem/1.5 'DM Sans', sans-serif !important;
  color: #4A3F5C !important;
  margin: 0 0 22px !important;
  max-width: 42ch;
}

/* Lista items: flat, separatori sottili, allineamento icon-grid coerente */
.mc-footer-top .mc-footer-tiles,
.mc-footer-top .mc-articoli-grid-footer {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  margin: 0 !important;
  flex: 1;
}

.mc-footer-top .mc-footer-tile,
.mc-footer-top .mc-art-card {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(79,45,127,0.10) !important;
  border-radius: 0 !important;
  padding: 14px 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  display: grid !important;
  grid-template-columns: 36px 1fr auto !important;
  column-gap: 14px !important;
  row-gap: 2px !important;
  align-items: center !important;
  text-decoration: none !important;
  transition: padding 240ms cubic-bezier(0.16, 1, 0.3, 1), background 200ms ease !important;
}

.mc-footer-top .mc-footer-tiles > *:last-child,
.mc-footer-top .mc-articoli-grid-footer > *:last-child {
  border-bottom: 1px solid rgba(79,45,127,0.10) !important;
}

.mc-footer-top .mc-footer-tile:hover,
.mc-footer-top .mc-art-card:hover {
  padding-left: 6px !important;
  padding-right: 6px !important;
  background: rgba(79,45,127,0.035) !important;
}

/* Icon tile — gemello chiave del pattern */
.mc-footer-top .mc-footer-tile-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px;
  border-radius: 10px !important;
  background: linear-gradient(135deg, rgba(220,205,239,0.7), rgba(220,205,239,0.4)) !important;
  margin: 0 !important;
  color: #4F2D7F;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mc-footer-top .mc-footer-tile-icon svg {
  width: 18px !important;
  height: 18px !important;
}

/* Tile titolo */
.mc-footer-top .mc-footer-tile h3 {
  font: 500 0.98rem/1.25 'Young Serif', serif !important;
  letter-spacing: -0.005em !important;
  margin: 0 !important;
  grid-column: 2 !important;
  color: #1F1633 !important;
  max-width: none !important;
}
.mc-footer-top .mc-footer-tile p { display: none !important; }

/* Micro-CTA tile (arrow only su mobile, label+arrow desktop) */
.mc-footer-top .mc-footer-tile a {
  background: transparent !important;
  color: #4F2D7F !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font: 600 0.82rem/1 'DM Sans', sans-serif !important;
  text-decoration: none !important;
  grid-column: 3 !important;
  white-space: nowrap;
}
.mc-footer-top .mc-footer-tile a::after {
  content: " →";
  display: inline-block;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.mc-footer-top .mc-footer-tile:hover a::after {
  transform: translateX(4px);
}

/* Article card — stesso grid pattern, niente icona ma cat-tag come placeholder visivo */
.mc-footer-top .mc-art-card {
  grid-template-columns: 36px 1fr auto !important;
}
.mc-footer-top .mc-art-card::before {
  content: "";
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(250,216,189,0.85), rgba(233,126,58,0.25));
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
.mc-footer-top .mc-art-card .cat {
  font: 700 0.62rem/1 'DM Sans', sans-serif !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #C25E1F !important;
  margin: 0 !important;
  grid-column: 2;
  grid-row: 1;
}
.mc-footer-top .mc-art-card h4 {
  font: 500 0.95rem/1.25 'Young Serif', serif !important;
  letter-spacing: -0.005em !important;
  color: #1F1633 !important;
  margin: 3px 0 0 !important;
  grid-column: 2;
  grid-row: 2;
}
.mc-footer-top .mc-art-card p { display: none !important; }
.mc-footer-top .mc-art-card a {
  font: 600 0.82rem/1 'DM Sans', sans-serif !important;
  color: #4F2D7F !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  white-space: nowrap;
}
.mc-footer-top .mc-art-card a::after {
  content: " →";
  display: inline-block;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.mc-footer-top .mc-art-card:hover a::after {
  transform: translateX(4px);
}

/* CTA finale "Tutti gli articoli" — pinned bottom, sostituisce il 3o tile slot mancante */
.mc-footer-top .mc-footer-articoli-cta {
  margin-top: auto !important;
  padding-top: 18px !important;
  text-align: left !important;
}
.mc-footer-top .mc-footer-articoli-cta a {
  font: 600 0.88rem/1 'DM Sans', sans-serif !important;
  color: #4F2D7F !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  display: inline-block;
  border-bottom: 1px solid rgba(79,45,127,0.25);
  padding-bottom: 2px !important;
  transition: color 220ms ease, border-color 220ms ease;
}
.mc-footer-top .mc-footer-articoli-cta a::after {
  content: " →";
  display: inline-block;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
.mc-footer-top .mc-footer-articoli-cta a:hover {
  color: #C25E1F !important;
  border-color: #C25E1F;
}
.mc-footer-top .mc-footer-articoli-cta a:hover::after {
  transform: translateX(4px);
}

/* Mobile stack — fluid */
@media (max-width: 880px) {
  .mc-footer-top {
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 28px auto 14px;
    padding: 0 var(--content-pad, clamp(20px,4vw,32px));
  }
  .mc-footer-top > section {
    min-height: 0;
    padding: 26px !important;
    border-radius: 18px;
  }
  .mc-footer-top h2,
  .mc-footer-top h3 {
    font-size: clamp(1.15rem, 4.5vw, 1.35rem) !important;
  }
}
@media (max-width: 480px) {
  .mc-footer-top { padding: 0 var(--content-pad, clamp(20px,4vw,32px)); gap: 12px; }
  .mc-footer-top > section { padding: 22px !important; }
  .mc-footer-top .mc-footer-tile,
  .mc-footer-top .mc-art-card {
    grid-template-columns: 32px 1fr auto !important;
    column-gap: 12px !important;
    padding: 12px 0 !important;
  }
  .mc-footer-top .mc-footer-tile-icon,
  .mc-footer-top .mc-art-card::before {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px;
  }
  .mc-footer-top .mc-footer-tile a span,
  .mc-footer-top .mc-art-card a span { display: none; }
}

/* ===== from <style id="no-id"> ===== */
/* === MC-PX — modulo pagine riusabile (hero cinema + sezioni) === */
.px { font-family:'DM Sans',system-ui,sans-serif; color:#1F1633; padding-bottom:clamp(56px,8vw,96px); }
.px * { box-sizing:border-box; }
.px-bleed { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.px-hero { position:relative; overflow:hidden; min-height:clamp(500px,72vh,700px); display:flex; align-items:flex-end; background:#1F1633; isolation:isolate; }
.px-hero-bg { position:absolute; inset:0; z-index:0; background-size:cover; background-position:center 40%; transform:scale(1.05); animation:px-kb 26s ease-out infinite alternate; }
@keyframes px-kb { from{transform:scale(1.05)} to{transform:scale(1.13)} }
.px-hero-ov { position:absolute; inset:0; z-index:1; pointer-events:none; background:
  radial-gradient(ellipse 70% 60% at 12% 110%, rgba(79,45,127,0.5), transparent 60%),
  radial-gradient(ellipse 60% 50% at 90% 0%, rgba(233,126,58,0.26), transparent 60%),
  linear-gradient(180deg, rgba(31,22,51,0.4) 0%, transparent 32%, rgba(31,22,51,0.42) 58%, rgba(31,22,51,0.9) 100%); }
.px-hero-inner { position:relative; z-index:2; max-width:var(--content-max,1200px); width:100%; margin:0 auto; padding:clamp(40px,7vw,84px) clamp(20px,4vw,40px); color:#FFFBF4; }
.px-eyebrow-h { display:inline-flex; align-items:center; gap:10px; font:600 0.72rem/1 'DM Sans',sans-serif; letter-spacing:0.16em; text-transform:uppercase; color:#F2B645; margin-bottom:16px; }
.px-hero-title { font:400 clamp(1.9rem,8vw,4.5rem)/1.0 'Young Serif',Georgia,serif; letter-spacing:-0.025em; color:#FFFBF4; margin:0 0 18px; max-width:18ch; text-shadow:0 2px 30px rgba(0,0,0,0.4); overflow-wrap:anywhere; }
.px-hero-title em { font-style:italic; font-weight:300; color:#F2B645; }
/* Mobile: la foto hero è più corta e il testo è più fitto → velo più coprente
   e uniforme, così eyebrow+titolo+sottotitolo+CTA restano leggibili (>=AA)
   anche sulle zone chiare della foto sotto il sole. */
@media (max-width:600px){
  .px-hero-ov{ background:
    radial-gradient(ellipse 90% 50% at 50% 120%, rgba(79,45,127,0.45), transparent 62%),
    linear-gradient(180deg, rgba(31,22,51,0.34) 0%, rgba(31,22,51,0.30) 28%, rgba(31,22,51,0.6) 60%, rgba(31,22,51,0.92) 100%) !important; }
}
/* /sedi/: lo shortcode mappa porta un suo lead, ma l'archivio ha già eyebrow+H1+intro:
   nasconde il doppione SOLO qui (lo shortcode resta completo dove sta da solo). */
.post-type-archive-sede .mc-dove2-lead{ display:none; }
/* Tap target mobile: le CTA hero px- si impilano a tutta larghezza (gerarchia
   netta primaria/secondaria, niente bottoni appiccicati); chip e bottoni >=48px. */
@media (max-width:600px){
  .px-ctas{ flex-direction:column; align-items:stretch; gap:12px; }
  .px-btn{ justify-content:center; min-height:48px; }
  .cs-anchor{ min-height:48px; }
}
.px-hero-sub { font:400 clamp(1rem,1.5vw,1.18rem)/1.5 'DM Sans',sans-serif; color:rgba(255,251,244,0.92); max-width:54ch; margin:0 0 28px; text-shadow:0 1px 14px rgba(0,0,0,0.5); }
.px-ctas { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.px-btn { display:inline-flex; align-items:center; gap:9px; font:600 0.98rem/1 'DM Sans',sans-serif; text-decoration:none !important; border-radius:999px; padding:15px 28px; transition:transform 220ms cubic-bezier(0.16,1,0.3,1),box-shadow 220ms,background 220ms; border:0; }
.px-btn.primary { background:linear-gradient(135deg,#C25E1F,#E97E3A); color:#FFFBF4 !important; box-shadow:0 10px 30px rgba(194,94,31,0.45); }
.px-btn.primary:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(194,94,31,0.55); }
.px-btn.ghost { background:rgba(255,251,244,0.1); color:#FFFBF4 !important; border:1px solid rgba(255,251,244,0.4); }
.px-btn.ghost:hover { background:rgba(255,251,244,0.2); transform:translateY(-2px); }
.px-btn.ghost-dark { background:rgba(79,45,127,0.06); color:#4F2D7F !important; border:1px solid rgba(79,45,127,0.28); }
.px-btn.ghost-dark:hover { background:rgba(79,45,127,0.12); transform:translateY(-2px); }
.px-sec { max-width:var(--content-max,1200px); margin:0 auto; padding:clamp(48px,7vw,92px) clamp(20px,4vw,40px); }
.px-sec .eyebrow { font:700 0.72rem/1 'DM Sans',sans-serif; letter-spacing:0.14em; text-transform:uppercase; color:#4F2D7F; margin:0 0 14px; }
.px-h2 { font:400 clamp(1.7rem,3.2vw,2.5rem)/1.12 'Young Serif',Georgia,serif; letter-spacing:-0.015em; color:#1F1633; margin:0 0 18px; max-width:24ch; }
.px-text { font:400 1.0625rem/1.65 'DM Sans',sans-serif; color:#4A3F5C; max-width:64ch; margin:0 0 16px; }
.px-text strong { color:#1F1633; font-weight:600; }
.px-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:32px; }
.px-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:32px; }
.px-card { background:#FFFBF4; border:1px solid rgba(79,45,127,0.09); border-radius:18px; padding:28px; transition:transform 200ms,box-shadow 200ms; }
.px-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px -16px rgba(31,22,51,0.2); }
.px-card .ic { width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,rgba(220,205,239,0.7),rgba(220,205,239,0.4)); display:flex; align-items:center; justify-content:center; color:#4F2D7F; margin-bottom:18px; }
.px-card .ic svg { width:24px; height:24px; }
.px-card h3 { font:500 1.3rem/1.2 'Young Serif',serif; color:#1F1633; margin:0 0 10px; }
.px-card p { font:400 0.95rem/1.6 'DM Sans',sans-serif; color:#4A3F5C; margin:0; }
.px-card a.more { display:inline-block; margin-top:14px; font:600 0.85rem/1 'DM Sans',sans-serif; color:#4F2D7F; text-decoration:none; }
.px-steps { counter-reset:pxstep; margin-top:32px; }
.px-step { display:grid; grid-template-columns:64px 1fr; gap:24px; padding:26px 0; border-top:1px solid rgba(79,45,127,0.12); align-items:start; }
.px-step::before { counter-increment:pxstep; content:counter(pxstep,decimal-leading-zero); font:500 1.7rem/1 'Young Serif',serif; color:#E97E3A; }
.px-step h3 { font:500 1.3rem/1.2 'Young Serif',serif; color:#1F1633; margin:0 0 8px; }
.px-step p { font:400 1rem/1.6 'DM Sans',sans-serif; color:#4A3F5C; margin:0; max-width:62ch; }
.px-stats { background:linear-gradient(180deg,#4F2D7F,#371E5C); color:#FFFBF4; }
.px-stats .px-h2, .px-stats .eyebrow { color:#FFFBF4; }
.px-stats .eyebrow { color:#F2B645 !important; }
.px-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:32px; }
.px-stat .n { font:500 clamp(2.25rem,4vw,3.25rem)/1 'Young Serif',serif; color:#F2B645; letter-spacing:-0.02em; }
.px-stat .l { font:600 0.85rem/1.3 'DM Sans',sans-serif; color:#FFFBF4; margin-top:8px; }
.px-stat .m { font:400 0.78rem/1.4 'DM Sans',sans-serif; color:rgba(255,251,244,0.7); margin-top:4px; }
.px-warm { background:radial-gradient(ellipse 80% 70% at 50% 0%, rgba(241,217,166,0.4), transparent 60%), #FFFBF4; }
.px-violet-soft { background:radial-gradient(ellipse 80% 70% at 50% 0%, rgba(220,205,239,0.4), transparent 60%), #FFFBF4; }
.px-cta-final { background:radial-gradient(ellipse 70% 60% at 10% 0%, rgba(250,216,189,0.5), transparent 60%), radial-gradient(ellipse 60% 55% at 90% 100%, rgba(220,205,239,0.45), transparent 60%), #FFFBF4; text-align:center; }
.px-cta-final .px-h2 { margin-left:auto; margin-right:auto; }
.px-cta-final .px-ctas { justify-content:center; }
.px-note { max-width:var(--content-max,1200px); margin:0 auto; padding:0 clamp(20px,4vw,40px); }
.px-note-box { background:rgba(79,45,127,0.04); border-left:3px solid #4F2D7F; border-radius:0 12px 12px 0; padding:20px 24px; font:400 0.92rem/1.6 'DM Sans',sans-serif; color:#4A3F5C; }
.px-note-box strong { color:#1F1633; }
/* Timeline */
.px-timeline { margin-top:32px; border-left:2px solid rgba(79,45,127,0.18); padding-left:28px; }
.px-tl { padding:0 0 26px; position:relative; }
.px-tl::before { content:""; position:absolute; left:-35px; top:4px; width:12px; height:12px; border-radius:50%; background:#E97E3A; box-shadow:0 0 0 4px #FFFBF4; }
.px-tl .yr { font:500 1.1rem/1 'Young Serif',serif; color:#4F2D7F; }
.px-tl .ev { font:400 0.98rem/1.5 'DM Sans',sans-serif; color:#4A3F5C; margin-top:4px; }
/* Contact cards */
.px-contact { display:flex; align-items:flex-start; gap:14px; }
.px-contact .ic { width:42px; height:42px; flex-shrink:0; border-radius:12px; background:rgba(220,205,239,0.5); display:flex; align-items:center; justify-content:center; color:#4F2D7F; }
.px-contact .ic svg { width:20px; height:20px; }
.px-contact .lab { font:600 0.72rem/1 'DM Sans',sans-serif; letter-spacing:0.1em; text-transform:uppercase; color:#7E7290; margin-bottom:4px; }
.px-contact a, .px-contact .v { font:500 1.05rem/1.3 'DM Sans',sans-serif; color:#1F1633; text-decoration:none; }
.px-contact a:hover { color:#4F2D7F; }
@media (max-width:880px) {
  .px-grid-3 { grid-template-columns:1fr; }
  .px-grid-2 { grid-template-columns:1fr; }
  .px-stats-grid { grid-template-columns:1fr 1fr; }
  .px-step { grid-template-columns:48px 1fr; gap:16px; }
}

/* ===== from <style id="no-id"> ===== */
/* === HERO Hybrid (wp:group native + slideshow wp:html bg) === */
.mvg-hero-wrap {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  position: relative !important;
  overflow: hidden !important;
  background: #0E0820 !important;
  color: #fff !important;
  font-family: 'Barlow', sans-serif !important;
  min-height: 100vh !important;
  padding: clamp(100px, 14vw, 160px) 24px clamp(40px, 6vw, 80px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.mvg-hero-wrap > .mvg-bg-stage {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden;
}
.mvg-hero-wrap > * { position: relative; z-index: 2; }
.mvg-hero-wrap > .mvg-bg-stage { z-index: 0 !important; }
.mvg-hero-wrap .mvg-bg-slide { position: absolute; inset: 0; background-size: cover; background-position: center 38%; opacity: 0; animation: mvg-kb 32s infinite; will-change: transform, opacity; }
.mvg-hero-wrap .mvg-bg-slide:nth-of-type(1) { animation-delay: 0s; }
.mvg-hero-wrap .mvg-bg-slide:nth-of-type(2) { animation-delay: 8s; }
.mvg-hero-wrap .mvg-bg-slide:nth-of-type(3) { animation-delay: 16s; }
.mvg-hero-wrap .mvg-bg-slide:nth-of-type(4) { animation-delay: 24s; }
@keyframes mvg-kb { 0% { opacity: 0; transform: scale(1.02); } 4% { opacity: 1; } 25% { opacity: 1; transform: scale(1.10); } 29% { opacity: 0; } 100% { opacity: 0; transform: scale(1.02); } }
.mvg-hero-wrap .mvg-overlay-hero { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 70% 60% at 15% 10%, rgba(79,45,127,0.55), transparent 65%), radial-gradient(ellipse 65% 55% at 85% 20%, rgba(194,94,31,0.32), transparent 65%), radial-gradient(ellipse 80% 70% at 50% 110%, rgba(31,22,51,0.85), transparent 60%), linear-gradient(180deg, rgba(14,8,32,0.78) 0%, rgba(14,8,32,0.55) 35%, rgba(14,8,32,0.65) 60%, rgba(14,8,32,0.92) 100%); }

/* Content nativo Gutenberg styling */
.mvg-hero-wrap .mvg-gb-badge {
  display: inline-flex !important;
  align-items: center; gap: 8px;
  background: rgba(255,255,255,0.08) !important;
  -webkit-
  border-radius: 999px;
  padding: 6px 14px 6px 6px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,0.92) !important;
  margin: 0 auto 24px !important;
  width: max-content;
  max-width: 100%;
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.12);
}
.mvg-hero-wrap .mvg-gb-badge-tag { background: #fff; color: #000; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.mvg-hero-wrap .mvg-gb-h1 { font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important; font-weight: 400 !important; font-size: clamp(2.5rem, 7vw, 5rem) !important; line-height: 0.85 !important; letter-spacing: -3px !important; color: #fff !important; margin: 0 auto 16px !important; max-width: 18ch; }
.mvg-hero-wrap .mvg-gb-sub { font-size: clamp(0.9rem, 1.4vw, 1rem) !important; font-weight: 300 !important; line-height: 1.5 !important; color: rgba(255,255,255,0.92) !important; max-width: 56ch; margin: 0 auto 28px !important; }
.mvg-hero-wrap .mvg-gb-ctas { margin: 0 0 40px !important; gap: 18px !important; }
.mvg-hero-wrap .is-style-mvg-cta-primary .wp-block-button__link { background: linear-gradient(135deg, #C25E1F 0%, #E97E3A 100%) !important; color: #fff !important; border-radius: 999px !important; padding: 12px 22px !important; font-size: 14px !important; font-weight: 500 !important; border: 0 !important; box-shadow: 0 10px 28px rgba(194,94,31,0.42); font-family: 'Barlow', sans-serif !important; }
.mvg-hero-wrap .is-style-mvg-cta-ghost .wp-block-button__link { background: transparent !important; color: #fff !important; border-radius: 999px !important; padding: 12px 22px !important; font-size: 14px !important; font-weight: 500 !important; border: 1px solid rgba(255,255,255,0.32) !important; font-family: 'Barlow', sans-serif !important; }
.mvg-hero-wrap .mvg-gb-stats { max-width: 760px !important; margin: 0 auto 40px !important; gap: 16px !important; }
.mvg-hero-wrap .mvg-gb-stat { background: rgba(255,255,255,0.06) !important; -webkit- border-radius: 18px; padding: 20px !important; text-align: left !important; box-shadow: inset 0 1px 1px rgba(255,255,255,0.12); flex-basis: 0; }
.mvg-hero-wrap .mvg-gb-stat-num { font-family: 'Instrument Serif', serif !important; font-style: italic !important; font-size: 36px !important; line-height: 1 !important; letter-spacing: -1px; color: #fff !important; margin: 0 !important; }
.mvg-hero-wrap .mvg-gb-stat-label { font-size: 12px !important; font-weight: 300 !important; color: rgba(255,255,255,0.85) !important; margin: 10px 0 0 !important; }
.mvg-hero-wrap .mvg-gb-partners { margin: 40px auto 0 !important; }
.mvg-hero-wrap .mvg-gb-partners-chip { display: inline-block !important; background: rgba(255,255,255,0.06) !important; border-radius: 999px !important; padding: 4px 14px !important; font-size: 12px !important; font-weight: 500 !important; color: #fff !important; margin: 0 auto 16px !important; width: max-content; }
.mvg-hero-wrap .mvg-gb-partners-row { font-family: 'Instrument Serif', serif !important; font-style: italic !important; color: #fff !important; font-size: clamp(1.2rem, 2.5vw, 1.75rem) !important; letter-spacing: -1px; margin: 0 !important; }

/* === CAP Gutenberg native styling === */
.mvg-cap-gb { font-family: 'Barlow', sans-serif; padding: clamp(80px, 12vw, 120px) 24px 60px !important; }
.mvg-cap-gb .mvg-gb-kicker { font-size: 14px !important; color: rgba(255,255,255,0.8) !important; margin: 0 0 16px !important; }
.mvg-cap-gb .mvg-gb-h2 { font-family: 'Instrument Serif', serif !important; font-style: italic !important; font-size: clamp(2.5rem, 7vw, 5.5rem) !important; line-height: 0.92 !important; letter-spacing: -3px !important; color: #fff !important; font-weight: 400 !important; margin: 0 !important; }
.mvg-cap-gb .mvg-gb-lead { margin-top: 20px !important; max-width: 600px; font-size: clamp(1rem, 1.6vw, 1.125rem) !important; font-weight: 300 !important; line-height: 1.4 !important; color: rgba(255,255,255,0.92) !important; }
.mvg-cap-gb .mvg-gb-cap-grid { margin-top: 64px !important; gap: 24px !important; }
.mvg-cap-gb .mvg-gb-cap-col { padding: 0 !important; }
.mvg-cap-gb .mvg-gb-cap-card {
  background: rgba(255,255,255,0.04) !important; -webkit-
  border-radius: 18px;
  padding: 24px !important;
  min-height: 380px;
  display: flex; flex-direction: column;
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.12);
  height: 100%;
}
.mvg-cap-gb .mvg-gb-cap-tags { margin: 0 0 24px !important; display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.mvg-cap-gb .mvg-gb-tag {
  background: rgba(255,255,255,0.06);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px !important;
  color: rgba(255,255,255,0.92);
  white-space: nowrap;
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.08);
}
.mvg-cap-gb .mvg-gb-cap-title {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic !important;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  line-height: 1 !important;
  letter-spacing: -1px !important;
  color: #fff !important;
  font-weight: 400 !important;
  margin: auto 0 0 !important;
}
.mvg-cap-gb .mvg-gb-cap-body { margin: 12px 0 20px !important; font-size: 14px !important; font-weight: 300 !important; line-height: 1.4 !important; color: rgba(255,255,255,0.92) !important; }
.mvg-cap-gb .mvg-gb-cap-cta .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.32) !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: 'Barlow', sans-serif !important;
}
.mvg-cap-gb .mvg-gb-cap-final { margin-top: 48px !important; }
.mvg-cap-gb .mvg-gb-cap-final .is-style-mvg-cta-primary .wp-block-button__link {
  background: linear-gradient(135deg, #C25E1F 0%, #E97E3A 100%) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: 0 !important;
  box-shadow: 0 10px 28px rgba(194,94,31,0.42);
  font-family: 'Barlow', sans-serif !important;
}
.mvg-cap-gb .mvg-gb-cap-legal { margin: 16px 0 0 !important; font-size: 12px !important; color: rgba(255,255,255,0.6) !important; }

/* === VOYAGES page (321) — zero gap totale tra TUTTI i blocchi === */
body.page-id-321 main#wp--skip-link--target { margin-top: 0 !important; }
body.page-id-321 main > .wp-block-group.alignfull {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-321 .wp-block-post-content { padding: 0 !important; }
body.page-id-321 .wp-block-post-content > *,
body.page-id-321 .wp-block-post-content > * > *,
body.page-id-321 .wp-block-group > *,
body.page-id-321 .mvg-hero,
body.page-id-321 .mvg-cap,
body.page-id-321 section.mc-section,
body.page-id-321 .mc-trust {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
body.page-id-321 .mvg-hero .mvg-hero-inner { padding-top: 0 !important; }

/* === HOME (page-id-14) — riduci gap header → contenuto === */
body.page-id-14 main#wp--skip-link--target { margin-top: 0 !important; }
body.page-id-14 main > .wp-block-group.alignfull {
  padding-top: 0 !important;
  padding-bottom: clamp(40px, 6vw, 80px) !important;
}
body.page-id-14 .wp-block-post-content { padding-top: 0 !important; }
body.page-id-14 .wp-block-post-content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* === ARTICOLI page (149) — hero attaccato al menu sticky === */
body.page-id-149 main#wp--skip-link--target { margin-top: 0 !important; }
body.page-id-149 main > .wp-block-group.alignfull {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-149 .wp-block-post-content { padding-top: 0 !important; }
body.page-id-149 .wp-block-post-content > *:first-child { margin-top: 0 !important; }

body.page-id-149 .art-hero {
  margin-top: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
body.page-id-149 .art-hero-stage {
  border-radius: 0 !important;
  aspect-ratio: 16/8 !important;
  min-height: clamp(480px, 65vh, 720px) !important;
}
@media (max-width: 880px) {
  body.page-id-149 .art-hero-stage {
    aspect-ratio: 3/4 !important;
    min-height: clamp(520px, 70vh, 700px) !important;
  }
}

/* === GUTENBERG WRAPPER RESET === */
@media (max-width: 1100px) {
  main#wp--skip-link--target { margin-top: 8px !important; }
  main#wp--skip-link--target > .wp-block-group.alignfull {
    padding-top: 0 !important;
    padding-bottom: 16px !important;
  }
  .wp-block-post-content { padding-top: 0 !important; }
  .wp-block-post-content > *:first-child { margin-top: 0 !important; padding-top: 0 !important; }
/* il wrapper hero e' spesso il PRIMO DIV dopo un tag <style>: azzera il block-gap (1.2rem) */
.wp-block-post-content > div:first-of-type,
.wp-block-post-content > section:first-of-type,
.wp-block-post-content > style:first-child + * { margin-top: 0 !important; }
.wp-block-post-content > .wp-block-html:first-child + .wp-block-html { margin-top: 0 !important; }
}
@media (min-width: 1101px) {
  main#wp--skip-link--target { margin-top: 24px !important; }
}

/* Transparenti per body gradient */
main#wp--skip-link--target,
main#wp--skip-link--target > .wp-block-group.alignfull,
.wp-block-post-content {
  background: transparent !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* === FULL BLEED VIEWPORT-BASED ===
   100vw è SEMPRE il viewport. margin: calc(50% - 50vw) compensa qualsiasi
   posizione del parent (nested has-global-padding incluso).
   overflow-x: clip su html/body kill scrollbar gutter side effects. */
.entry-content > .hs-page,
.entry-content > .mc-section,
.entry-content > .mc-hero-slideshow,
.entry-content > .mc-footer-top,
.entry-content > div[class*="mc-grad-"],
main .wp-block-post-content > .hs-page,
main .wp-block-post-content > .mc-section,
main .wp-block-post-content > .mc-hero-slideshow,
main .wp-block-post-content > .mc-footer-top,
.entry-content > .lt-page,
.entry-content > .rs-page,
.entry-content > .art-page,
main .wp-block-post-content > .lt-page,
main .wp-block-post-content > .rs-page,
main .wp-block-post-content > .art-page,
main .wp-block-post-content > div[class*="mc-grad-"] {
  max-width: none !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
  position: relative;
}

/* hs-page: zero padding inline, ogni .hs-N gestisce */
.entry-content > .hs-page,
main .wp-block-post-content > .hs-page {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Horizontal clip antiscrollbar */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100vw; }

/* Heroes simmetria */
.hs-1, .hs-2, .hs-3, .hs-4 {
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ===== from <style id="no-id"> ===== */
/* === RADIAL v5 — continuità totale via body bg fixed ===
   Sezioni cream condividono lo stesso sfondo (body fixed).
   Solo sezioni Deep/Sand/Night mantengono bg proprio (break voluto). */

/* ====== BODY: bg unico, fixed, attraversa tutta la pagina ====== */
html { background: #FBF5EE; }
body {
  background: radial-gradient(ellipse 60% 50% at 10% 8%, rgba(233,126,58,0.11), transparent 65%),
    radial-gradient(ellipse 50% 45% at 92% 18%, rgba(242,182,69,0.10), transparent 65%),
    radial-gradient(ellipse 55% 50% at 20% 60%, rgba(220,205,239,0.22), transparent 70%),
    radial-gradient(ellipse 60% 50% at 88% 55%, rgba(79,45,127,0.10), transparent 65%),
    radial-gradient(ellipse 65% 55% at 35% 105%, rgba(250,216,189,0.30), transparent 75%),
    radial-gradient(ellipse 50% 50% at 92% 92%, rgba(233,126,58,0.08), transparent 65%),
    #FBF5EE !important;
  background-attachment: fixed !important;
  background-size: cover !important;
}

/* ====== HEADER ====== */
/* ====== CONTAINER ====== */
.mc-container {
  max-width: var(--content-max, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--content-pad, clamp(20px, 4vw, 32px)) !important;
  padding-right: var(--content-pad, clamp(20px, 4vw, 32px)) !important;
}

/* ====== TUTTE LE SEZIONI LEGGERE → TRANSPARENT (mostrano body bg) ====== */
.mc-spazio-hero,
.mc-progetti-page-hero,
.mc-amali-sub-hero,
.mc-amali-luogo-hero,
.mc-articoli-page-hero,
.page-id-14 .mc-section.mc-grad-1,
.page-id-14 .mc-section.mc-grad-3,
.page-id-14 .mc-section.mc-grad-4,
.page-id-14 .mc-section.mc-grad-5,
.page-id-14 .mc-section.mc-grad-aziende,
.mc-amali-story,
.mc-amali-famiglie,
.mc-amali-bambini,
.mc-progetti-page,
.mc-sportello-home,
.mc-progetti-home,
.mc-amali-sub-body,
.mc-amali-luogo-body,
.mc-percorso,
.mc-faq,
.mc-pillars,
.mc-psico,
.mc-footer-cta-hero,
.mc-footer-articoli,
.mc-articoli-filters,
.mc-articoli-grid-wrap {
  background: transparent !important;
  background-image: none !important;
}

/* ====== SEZIONI DEEP — bg proprio (break voluto) ====== */
.mc-servizi,
.mc-amali-sostieni,
.mc-cta-form,
.mc-footer-info {
  background: radial-gradient(ellipse 85% 80% at 15% 20%, rgba(120,82,170,0.34), transparent 65%),
    radial-gradient(ellipse 70% 60% at 88% 75%, rgba(85,52,140,0.26), transparent 70%),
    radial-gradient(ellipse 60% 50% at 50% 105%, rgba(150,108,195,0.20), transparent 75%),
    radial-gradient(ellipse 50% 45% at 92% 18%, rgba(233,126,58,0.10), transparent 65%),
    #2E1B5C !important;
  color: #fff !important;
}

/* aMALI hero — palette sand dedicata */
.mc-amali-hero {
  background: radial-gradient(ellipse 75% 60% at 20% 25%, rgba(201,165,107,0.28), transparent 65%),
    radial-gradient(ellipse 60% 50% at 88% 28%, rgba(224,190,133,0.26), transparent 65%),
    radial-gradient(ellipse 65% 50% at 40% 100%, rgba(241,217,166,0.38), transparent 65%),
    radial-gradient(ellipse 50% 50% at 85% 88%, rgba(233,126,58,0.10), transparent 65%),
    #F1D9A6 !important;
}

/* Sub-footer FLAT */
.mc-footer-legal-band {
  background: #22113D !important;
  background-image: none !important;
}

/* ====== Padding sezioni uniforme ====== */
.mc-spazio-hero,
.mc-progetti-page-hero,
.mc-amali-sub-hero,
.mc-amali-luogo-hero,
.mc-articoli-page-hero,
.mc-amali-hero {
  padding-top: clamp(80px, 10vw, 128px) !important;
  padding-bottom: clamp(56px, 7vw, 80px) !important;
}

.mc-pillars,
.mc-servizi,
.mc-percorso,
.mc-psico,
.mc-faq,
.mc-cta-form,
.mc-amali-story,
.mc-amali-bambini,
.mc-amali-famiglie,
.mc-amali-sostieni,
.mc-progetti-page,
.mc-amali-sub-body,
.mc-amali-luogo-body {
  padding-top: clamp(64px, 8vw, 96px) !important;
  padding-bottom: clamp(64px, 8vw, 96px) !important;
}

/* ====== Hero h1 uniforme ====== */
.mc-spazio-hero h1,
.mc-progetti-page-hero h1,
.mc-amali-sub-hero h1,
.mc-amali-luogo-hero h1,
.mc-articoli-page-hero h1 {
  font-family: 'Young Serif', Georgia, serif !important;
  font-size: clamp(2rem, 5vw, 3.25rem) !important;
  letter-spacing: -0.015em !important;
  line-height: 1.1 !important;
  margin: 0 0 16px !important;
  color: #1F1633 !important;
}

/* === BREAKOUT: forza sezioni a width 100vw rompendo content-wrapper === */
.sf-section, .pg-section, .ct-section,
.am-hero, .am-quote, .am-stats, .am-sostieni, .am-subnav,
.sub-hero, .sub-body, .lg-hero, .lg-body,
.pj-hero, .pj-vision,
.art-hero, .art-filters, .art-grid,
.ct-hero, .ct-ways, .ct-sportello, .ct-regions, .ct-social, .ct-legal,
.hp-intro, .hp-variant, .hp-cta-final,
.mc-az-hero, .mc-az-quote, .mc-az-modes, .mc-az-benefits, .mc-az-cta,
.mc-cinque-hero, .mc-cinque-card, .mc-cinque-steps, .mc-cinque-what, .mc-cinque-diff, .mc-cinque-reminder,
.mc-contatti-hero, .mc-contatti-ways, .mc-contatti-sportello, .mc-contatti-social, .mc-contatti-legal {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  max-width: 100vw !important;
}

/* I figli wp:html non devono ereditare max-width constrained */
.wp-block-html { max-width: none !important; width: 100% !important; }

/* Main wrapper page content full width */
main.wp-block-group, .wp-site-blocks main, body.page main, body.page .wp-block-post-content {
  max-width: none !important;
}
body.page .wp-block-post-content > * {
  max-width: none !important;
}

/* Override title bar WP che a volte aggiunge h1 separato sopra */
body.page .wp-block-post-title {
  display: none !important;
}

/* ===== from <style id="no-id"> ===== */
.mc-footer { font-family: 'DM Sans', sans-serif; }
.mc-footer-band { padding: clamp(28px, 4vw, 52px) 0; }
.mc-footer-band-inner { max-width: var(--content-max, 1200px); margin: 0 auto; padding: 0 var(--content-pad, clamp(20px,4vw,32px)); }

/* Fascia 1: Big CTA hero */
.mc-footer-cta-hero { background: linear-gradient(180deg, #DCCDEF 0%, #C9B3E0 100%); color: #1F1633; }
.mc-footer-cta-hero h2 { font-family: 'Young Serif', Georgia, serif; font-size: clamp(1.125rem, 1.8vw, 1.375rem); margin: 0 0 6px; letter-spacing: -0.005em; line-height: 1.25; max-width: 760px; font-weight: 500; }
.mc-footer-cta-hero .mc-eyebrow-purple { font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: #4F2D7F; margin-bottom: 8px; font-weight: 600; }
.mc-footer-cta-hero .mc-lead { font-size: 0.88rem; max-width: 600px; color: #371E5C; margin: 0 0 18px; opacity: 0.85; }
.mc-footer-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.mc-footer-tile { background: rgba(255,255,255,0.85); border-radius: 18px; padding: 16px 18px; box-shadow: 0 2px 10px rgba(31,22,51,0.06); transition: transform 240ms cubic-bezier(0.4,0,0.2,1), box-shadow 240ms ease; display: flex; align-items: center; gap: 12px; }
.mc-footer-tile:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(31,22,51,0.15); }
.mc-footer-tile-icon { width: 36px; height: 36px; min-width: 36px; border-radius: 10px; background: linear-gradient(135deg,#FAD8BD 0%,#DCCDEF 100%); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 0; flex-shrink: 0; }
.mc-footer-tile-icon svg { width: 18px; height: 18px; }
.mc-footer-tile h3 { font-family: 'Young Serif', serif; font-size: 0.95rem; margin: 0 0 2px; color: #1F1633; line-height: 1.2; }
.mc-footer-tile p { font-size: 0.78rem; color: #4A3F5C; margin: 0; line-height: 1.4; opacity: 0.85; display: none; }
.mc-footer-tile a { display: inline-flex; align-items: center; background: transparent; color: #4F2D7F; padding: 0; border-radius: 0; text-decoration: none; font-weight: 600; font-size: 0.78rem; transition: color 180ms ease; margin-left: auto; white-space: nowrap; }
.mc-footer-tile a:hover { color: #E97E3A; background: transparent; }

/* Fascia 2: Articoli in evidenza */
.mc-footer-articoli { background: linear-gradient(180deg, #C9B3E0 0%, #F1E7DA 100%); }
.mc-footer-articoli h3 { font-family: 'Young Serif', serif; font-size: clamp(1rem, 1.5vw, 1.25rem); margin: 0 0 4px; color: #1F1633; font-weight: 500; }
.mc-footer-articoli .mc-lead { color: #4A3F5C; margin: 0 0 14px; max-width: 600px; font-size: 0.82rem; opacity: 0.85; }
.mc-articoli-grid-footer { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mc-art-card { background: #fff; border-radius: 12px; padding: 12px 14px; box-shadow: 0 2px 8px rgba(31,22,51,0.05); transition: transform 220ms ease, box-shadow 220ms ease; }
.mc-art-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(31,22,51,0.12); }
.mc-art-card .cat { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.08em; color: #4F2D7F; font-weight: 700; margin-bottom: 2px; }
.mc-art-card h4 { font-family: 'Young Serif', serif; font-size: 0.88rem; margin: 0 0 4px; line-height: 1.25; color: #1F1633; font-weight: 500; }
.mc-art-card p { display: none; }
.mc-art-card a { color: #4F2D7F; font-weight: 600; text-decoration: none; font-size: 0.76rem; }
.mc-art-card a:hover { color: #E97E3A; }
.mc-footer-articoli-cta { margin-top: 14px; text-align: center; }
.mc-footer-articoli-cta a { color: #4F2D7F; font-weight: 600; text-decoration: none; padding: 7px 16px; border: 1px solid #4F2D7F; border-radius: 999px; display: inline-block; transition: background 180ms ease, color 180ms ease; font-size: 0.78rem; }
.mc-footer-articoli-cta a:hover { background: #4F2D7F; color: #fff; }

/* Fascia 3: Info compatta + newsletter */
.mc-footer-info { background: linear-gradient(180deg, #371E5C 0%, #4F2D7F 100%); color: #fff; }
.mc-footer-info-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 36px; }
.mc-footer-info h4 { font-family: 'Young Serif', serif; font-size: 1rem; margin: 0 0 14px; color: #fff; letter-spacing: 0.02em; }
.mc-footer-info .col-brand .logo { font-family: 'Young Serif', serif; font-size: 1.45rem; color: #fff; margin-bottom: 8px; display: block; }
.mc-footer-info .col-brand .logo strong { font-weight: 600; }
.mc-footer-info .col-brand p { font-size: 0.9rem; line-height: 1.5; color: #DCCDEF; margin: 0 0 14px; }
.mc-footer-info .mc-socials { display: flex; gap: 12px; margin-top: 8px; }
.mc-footer-info .mc-socials a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.1); color: #fff; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: background 180ms ease, transform 180ms ease; }
.mc-footer-info .mc-socials a:hover { background: #E97E3A; transform: scale(1.08); }
.mc-footer-info .mc-socials svg { width: 18px; height: 18px; fill: currentColor; }
.mc-footer-info .col-explore a, .mc-footer-info .col-community a { display: block; color: #DCCDEF; text-decoration: none; padding: 4px 0; font-size: 0.92rem; transition: color 180ms ease; }
.mc-footer-info .col-explore a:hover, .mc-footer-info .col-community a:hover { color: #FAD8BD; }
.mc-footer-info .col-contact a { color: #DCCDEF; text-decoration: none; display: block; padding: 4px 0; font-size: 0.92rem; }
.mc-footer-info .col-contact a:hover { color: #FAD8BD; }
.mc-footer-info .col-contact .mute { color: #B9A3CC; font-size: 0.85rem; display: block; padding: 2px 0; }

/* Newsletter form */
.mc-newsletter { margin-top: 16px; }
.mc-newsletter form { display: flex; gap: 8px; flex-wrap: wrap; }
.mc-newsletter input[type="email"] { flex: 1; min-width: 180px; padding: 12px 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.08); color: #fff; font-size: 0.92rem; font-family: inherit; }
.mc-newsletter input[type="email"]::placeholder { color: rgba(220,205,239,0.6); }
.mc-newsletter input[type="email"]:focus { outline: 2px solid #E97E3A; outline-offset: 2px; background: rgba(255,255,255,0.14); }
.mc-newsletter button { background: linear-gradient(135deg, #C25E1F 0%, #E97E3A 100%); color: #fff; border: 0; padding: 12px 22px; border-radius: 999px; font-weight: 600; font-size: 0.92rem; cursor: pointer; font-family: inherit; transition: transform 180ms ease, box-shadow 180ms ease; }
.mc-newsletter button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(233,126,58,0.4); }

/* Fascia 4: Sub-footer legal */
.mc-footer-legal-band { background: #2A1648; color: #B9A3CC; padding: 18px 0; font-size: 0.82rem; }
.mc-footer-legal-band-inner { max-width: var(--content-max, 1200px); margin: 0 auto; padding: 0 var(--content-pad, clamp(20px,4vw,32px)); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.mc-footer-legal-band a { color: #DCCDEF; text-decoration: none; margin-left: 14px; transition: color 180ms ease; display: inline-block; padding: 6px 2px; min-height: 24px; }
.mc-footer-legal-band a:hover { color: #E97E3A; }
.mc-credit-link, .mc-cookie-reopen { display: inline-block; padding: 6px 2px; min-height: 24px; }

@media (max-width: 900px) {
  .mc-footer-tiles { grid-template-columns: 1fr; }
  .mc-articoli-grid-footer { grid-template-columns: 1fr; }
  .mc-footer-info-grid { grid-template-columns: 1fr 1fr; gap: 26px 28px; }
}
@media (max-width: 640px) {
  .mc-footer-info-grid { grid-template-columns: 1fr; gap: 22px; }
  .mc-footer-info .col-brand, .mc-footer-info .col-explore, .mc-footer-info .col-community, .mc-footer-info .col-contact { width: 100%; }
  .mc-footer-legal-band-inner { flex-direction: column; align-items: center; text-align: center; }
  .mc-footer-legal-band a { margin: 0 8px; }
}

/* ===== from <style id="no-id"> ===== */
/* Forza il cookie banner CookieAdmin in basso, non intrusivo */
.cookieadmin_law_container {
  position: fixed !important;
  top: auto !important;
  bottom: 16px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  max-width: 720px !important;
  width: calc(100% - 32px) !important;
  border-radius: 18px !important;
  box-shadow: 0 16px 50px rgba(31,22,51,0.22) !important;
  z-index: 99999 !important;
  margin: 0 !important;
}
/* niente overlay scuro che blocca la pagina */
.cookieadmin_overlay, .cookieadmin_law_overlay { background: transparent !important; pointer-events: none !important; }

/* ===== from <style id="no-id"> ===== */
/* === COERENZA BORDI MOBILE ===
   Riduce il root padding WP (spacing-50 = 30-50px) su mobile e allinea
   articolo/letture al resto del sito. alignfull ricalcola da queste var. */
@media (max-width: 880px) {
  body {
    --wp--style--root--padding-left: 16px !important;
    --wp--style--root--padding-right: 16px !important;
  }
  /* Articolo: niente doppio padding — usa solo il root (16px) */
  body.single-post .wp-block-post-content,
  body.single .wp-block-post-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 880px !important;
    margin-inline: auto !important;
  }
  /* Letture: padding mobile coerente 16 */
  .lt-head { padding-left: 16px !important; padding-right: 16px !important; }
  .lt-wall { padding-left: 16px !important; padding-right: 16px !important; gap: 12px !important; }
  /* px-sec pagine: padding mobile 16 */
  .px-sec, .vt-sec, .am2-sec, .af-sec { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 480px) {
  body {
    --wp--style--root--padding-left: 14px !important;
    --wp--style--root--padding-right: 14px !important;
  }
  .lt-head, .lt-wall { padding-left: 14px !important; padding-right: 14px !important; }
}

/* ===== from <style id="no-id"> ===== */
/* === HERO attaccata all'header — azzera gap Gutenberg su TUTTE le pagine === */
main#wp--skip-link--target { margin-top: 0 !important; }
main#wp--skip-link--target > .wp-block-group.alignfull { padding-top: 0 !important; }
.wp-block-post-content { padding-top: 0 !important; }
.wp-block-post-content > *:first-child { margin-top: 0 !important; padding-top: 0 !important; }
/* il wrapper hero e' spesso il PRIMO DIV dopo un tag <style>: azzera il block-gap (1.2rem) */
.wp-block-post-content > div:first-of-type,
.wp-block-post-content > section:first-of-type,
.wp-block-post-content > style:first-child + * { margin-top: 0 !important; }
.wp-block-post-content > .wp-block-html:first-child + .wp-block-html { margin-top: 0 !important; }
/* il primo blocco wp:html (wrapper hero) non deve avere margine sopra */
.wp-block-post-content > .wp-block-html:first-child { margin-top: 0 !important; }
/* mobile: nessuno spazio extra sopra la hero */
@media (max-width: 880px) {
  main#wp--skip-link--target { margin-top: 0 !important; }
  main#wp--skip-link--target > .wp-block-group.alignfull { padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* ===== from <style id="no-id"> ===== */
/* === FIX 3: HEADER sovrappone le foto (fixed overlay) === */
.mc-header-wrap { position: fixed !important; top: 0; left: 0; right: 0; z-index: 1000 !important; }
main#wp--skip-link--target { padding-top: 0 !important; }
/* le hero con foto restano flush (foto dietro header). Contenuto bottom-aligned = visibile.
   Pagine/sezioni senza foto-hero in cima: spazio per non finire sotto l'header */
body.single-post .wp-block-post-content,
body.single .wp-block-post-content { padding-top: clamp(84px, 12vh, 112px) !important; }
.lt-head { padding-top: clamp(96px, 13vh, 124px) !important; }
.dona-hero { padding-top: clamp(110px, 16vh, 150px) !important; }
@media (max-width: 880px) {
  body.single-post .wp-block-post-content, body.single .wp-block-post-content { padding-top: 76px !important; }
  .lt-head { padding-top: 84px !important; }
  .dona-hero { padding-top: 96px !important; }
}

/* === FIX 2: ARTICOLO — via "Scritto da" + autore, categoria diventa eyebrow === */
body.single-post .wp-block-group:has(> .wp-block-post-author-name) > p.wp-block-paragraph,
body.single-post .wp-block-post-author-name { display: none !important; }
body.single-post .wp-block-group:has(> .wp-block-post-author-name) {
  margin-bottom: 14px !important; gap: 0 !important;
}
body.single-post .taxonomy-category a {
  font: 700 0.75rem/1 'DM Sans', sans-serif !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #4F2D7F !important; text-decoration: none !important; font-weight: 700 !important;
}
/* rimuove la mia eyebrow statica "ARTICOLO · METACOMETA" */
body.single-post .wp-block-post-content > h1::before { content: none !important; display: none !important; }

/* === FIX 1: cookie — link footer per riaprire preferenze === */
.mc-cookie-reopen { cursor: pointer; }

/* ===== from <style id="no-id"> ===== */
/* header usa il suo .mc-container 1240 nativo */
/* kill gap 19px (1.2rem block-gap) sopra la prima sezione/hero */
.wp-site-blocks > main#wp--skip-link--target { margin-top: 0 !important; margin-block-start: 0 !important; }
main#wp--skip-link--target > * { margin-block-start: 0 !important; }
.wp-block-post-content > section:first-of-type, .wp-block-post-content > div:first-of-type { margin-top: 0 !important; margin-block-start: 0 !important; }

/* ===== from <style id="no-id"> ===== */
/* ===== SFONDO ANIMATO GLOBALE (fixed dietro tutto) ===== */
html { background:#FBF5EE !important; }
body { background:transparent !important; }
body::before, body::after { display:none !important; }
.wp-site-blocks { background:transparent !important; }
main#wp--skip-link--target, main#wp--skip-link--target > .wp-block-group.alignfull,
.wp-block-post-content { background:transparent !important; }

#mcbg { position:fixed; inset:0; z-index:-2; overflow:hidden; background:#FBF5EE; pointer-events:none; }
#mcbg b { position:absolute; border-radius:50%; filter:blur(75px); will-change:transform; display:block; }
#mcbg .b1 { width:54vw; height:54vw; left:-12vw; top:-14vh; background:radial-gradient(circle, rgba(233,126,58,0.40), transparent 62%); }
#mcbg .b2 { width:50vw; height:50vw; right:-14vw; top:-8vh; background:radial-gradient(circle, rgba(79,45,127,0.40), transparent 62%); }
#mcbg .b3 { width:46vw; height:46vw; left:8vw; bottom:-18vh; background:radial-gradient(circle, rgba(242,182,69,0.34), transparent 62%); }
#mcbg .b4 { width:48vw; height:48vw; right:-6vw; bottom:-12vh; background:radial-gradient(circle, rgba(155,123,193,0.40), transparent 62%); }
#mcbg .b5 { width:38vw; height:38vw; left:28vw; top:18vh; background:radial-gradient(circle, rgba(250,216,189,0.42), transparent 60%); }
#mcbg .b6 { width:42vw; height:42vw; right:18vw; top:34vh; background:radial-gradient(circle, rgba(107,63,160,0.32), transparent 62%); }
#mcbg .b7 { width:34vw; height:34vw; left:40vw; bottom:6vh; background:radial-gradient(circle, rgba(233,126,58,0.30), transparent 60%); }
#mcbg .b8 { width:36vw; height:36vw; left:-4vw; top:40vh; background:radial-gradient(circle, rgba(220,205,239,0.5), transparent 62%); }
#mcbg .b9 { width:30vw; height:30vw; right:34vw; bottom:30vh; background:radial-gradient(circle, rgba(242,182,69,0.30), transparent 60%); }
@keyframes gd1 { from{translate:0 0; scale:1} to{translate:16vw 8vh; scale:1.18} }
@keyframes gd2 { from{translate:0 0; scale:1.1} to{translate:-15vw 10vh; scale:0.92} }
@keyframes gd3 { from{translate:0 0} to{translate:14vw -9vh; scale:1.2} }
@keyframes gd4 { from{translate:0 0; scale:1.05} to{translate:-13vw -8vh; scale:0.9} }
@keyframes gd5 { from{translate:0 0} to{translate:-18vw 6vh; scale:1.25} }
@keyframes gd6 { from{translate:0 0; scale:1.08} to{translate:16vw -7vh; scale:0.94} }
@keyframes gd7 { from{translate:0 0} to{translate:-20vw -10vh; scale:1.15} }
@keyframes gd8 { from{translate:0 0; scale:0.95} to{translate:15vw 9vh; scale:1.2} }
@keyframes gd9 { from{translate:0 0} to{translate:18vw 8vh; scale:0.9} }
@media (prefers-reduced-motion: reduce) { #mcbg b { animation:none !important; } }

/* ===== sezioni CHIARE -> trasparenti (mostra il bg) ===== */
body [class*="mc-grad-"],
body .mc-section:not(.mc-bg-deep):not(.mc-stories-fw):not(.mc-sportello-home):not(.mc-progetti-home):not(.mc-impatto2),
.px-warm, .px-violet-soft,
.am2-kids, .am2-sostieni, .am2-sec:not(.am2-stats),
.af-paure, .af-sec,
.px-sec, .vt-sec, .st-sec:not(.st-violet):not(.st-orange):not(.st-photo) {
  background: transparent !important;
}
/* card interne: superficie piena leggibile (de-glass) */
.px-card, .am2-kid, .am2-step, .af-paura, .af-cluster, .am2-tier {
  background: #FFFFFF !important;
}
/* OPACHE (restano): hero foto, viola, arancio, deep */
.mc-cine, .px-hero, .af-hero, .am2-hero, .px-stats, .am2-stats,
.mc-bg-deep, .af-impact, .am2-stats, [class*="gl-deep"] {
  /* invariate */
}

/* override alta specificità per home: sezioni gradient chiare -> trasparenti */
body.page-id-14 .mc-section[class*="mc-grad-"],
body.page-id-14 .mc-section:not(.mc-bg-deep):not(.mc-stories-fw):not(.mc-impatto2) {
  background: transparent !important;
}

/* ===== from <style id="no-id"> ===== */
.entry-content > .mc-cine, main .wp-block-post-content > .mc-cine {
  width: 100vw !important; max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* ===== from <style id="no-id"> ===== */
/* rimuovi divider sopra le sedi */
.mc-trust { border-top: none !important; border-bottom: none !important; }

/* === CARD: superficie piena, bordo tenue, ombra tintata viola (de-glass) === */
.px-card, .am2-kid, .am2-step, .af-paura, .af-cluster, .am2-tier,
  .dona-card, .mc-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(31,22,51,0.08) !important;
  box-shadow: 0 8px 30px rgba(31,22,51,0.06) !important;
}
/* card su sezioni scure (viola/arancio): vetro chiaro trasparente */
.px-stats .px-card, .am2-stats .px-card { background: rgba(255,255,255,0.12) !important; }

/* === CITTÀ sedi cliccabili === */
.mc-trust-region { text-decoration: none !important; cursor: pointer; transition: color 180ms ease; position: relative; }
.mc-trust-region::before { content: none; }
.mc-trust-region:hover { color: #C25E1F !important; }
.mc-trust-region:hover::after { content: ""; position: absolute; left: 14px; right: 0; bottom: -3px; height: 1.5px; background: #E97E3A; }

/* === BG ANIMATO: colori più accentuati su mobile === */
@media (max-width: 880px) {
  #mcbg b { filter: blur(58px) saturate(1.5) brightness(1.06) !important; }
  #mcbg .b1 { background: radial-gradient(circle, rgba(233,126,58,0.55), transparent 62%) !important; }
  #mcbg .b2 { background: radial-gradient(circle, rgba(79,45,127,0.55), transparent 62%) !important; }
  #mcbg .b3 { background: radial-gradient(circle, rgba(242,182,69,0.46), transparent 62%) !important; }
  #mcbg .b4 { background: radial-gradient(circle, rgba(155,123,193,0.52), transparent 62%) !important; }
  #mcbg .b5 { background: radial-gradient(circle, rgba(250,216,189,0.55), transparent 60%) !important; }
  #mcbg .b6 { background: radial-gradient(circle, rgba(107,63,160,0.46), transparent 62%) !important; }
  #mcbg .b7 { background: radial-gradient(circle, rgba(233,126,58,0.44), transparent 60%) !important; }
  #mcbg .b8 { background: radial-gradient(circle, rgba(220,205,239,0.62), transparent 62%) !important; }
  #mcbg .b9 { background: radial-gradient(circle, rgba(242,182,69,0.44), transparent 60%) !important; }
}

/* ===== from <style id="no-id"> ===== */
/* === Unifica TUTTE le card chiare: superficie piena (de-glass) === */
.mc-fr-card, .mc-story-card-link, .cta-tel, .mc-sportello-home .cta-tel,
.lg-fact, .sub-body .callout, .dona-amount:not(.active), .dona-toggle, .vl-pola {
  background: #FFFFFF !important;
  border: 1px solid rgba(31,22,51,0.08) !important;
  box-shadow: 0 8px 30px rgba(31,22,51,0.06) !important;
}
/* dona tiles: override piu' forte (specificita' + longhand) per battere .dona-amount */
.dona-card .dona-amount:not(.active), .dona-grid .dona-amount:not(.active),
.dona-amounts .dona-amount:not(.active) {
  background-color: rgba(255,255,255,0.48) !important;
  background-image: none !important;
}

/* ===== from <style id="no-id"> ===== */
/* === RADIUS CONCENTRICO: img interno = radius card - padding === */
.mc-card { padding: 14px !important; border-radius: 18px !important; }
.mc-card .wp-block-image, .mc-card figure.wp-block-image { margin: 0 0 4px !important; border-radius: 18px !important; overflow: hidden !important; }
.mc-card .wp-block-image img, .mc-card figure img { border-radius: 18px !important; display: block; width: 100%; }
/* content group: niente doppio padding, solo respiro interno */
.mc-card > .wp-block-group, .mc-card .wp-block-group[style*="padding"] { padding: 10px 10px 6px !important; }

/* ===== from <style id="no-id"> ===== */
/* Pre-footer integrato nel footer viola, quieto */
.mc-footer{
  background:
    radial-gradient(ellipse 85% 80% at 15% 18%, rgba(120,82,170,0.34), transparent 65%),
    radial-gradient(ellipse 70% 60% at 88% 80%, rgba(85,52,140,0.26), transparent 70%),
    #2E1B5C !important;
}
.mc-footer-info{ background: transparent !important; }
/* pannelli: niente glass card, trasparenti, compatti */
.mc-footer-top{ margin-top: clamp(8px,2vw,24px) !important; align-items: stretch; }
.mc-footer-top .mc-footer-cta-hero,
.mc-footer-top .mc-footer-articoli{
  background: transparent !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  border:0 !important; box-shadow:none !important; border-radius:0 !important;
  padding: clamp(14px,2.2vw,26px) 0 !important;
}
.mc-footer-top .mc-footer-articoli{ border-left:1px solid rgba(255,255,255,0.10) !important; }
/* testo chiaro su viola */
.mc-footer-top h2,
.mc-footer-top .mc-footer-cta-hero h2,
.mc-footer-top .mc-footer-articoli h3,
.mc-footer-top .mc-footer-tile h3,
.mc-footer-top .mc-art-card h4{ color:#FFFFFF !important; }
.mc-footer-top .mc-lead{ color: rgba(242,234,219,0.72) !important; }
.mc-footer-top .mc-eyebrow-purple,
.mc-footer-top .mc-art-card .cat{ color:#F2B645 !important; }
.mc-footer-top .mc-footer-tile a,
.mc-footer-top .mc-art-card a,
.mc-footer-top .mc-footer-articoli-cta a{ color:#F2EADB !important; }
.mc-footer-top .mc-footer-tile a:hover,
.mc-footer-top .mc-art-card a:hover{ color:#FFFFFF !important; }
/* righe + separatori chiari */
.mc-footer-top .mc-footer-tile,
.mc-footer-top .mc-art-card{ background: transparent !important; border-color: rgba(255,255,255,0.12) !important; }
.mc-footer-top .mc-footer-tiles > *:last-child,
.mc-footer-top .mc-articoli-grid-footer > *:last-child{ border-bottom-color: rgba(255,255,255,0.12) !important; }
.mc-footer-top .mc-footer-tile:hover,
.mc-footer-top .mc-art-card:hover{ background: rgba(255,255,255,0.05) !important; }
/* quadrati icona/segnaposto tenui */
.mc-footer-top .mc-footer-tile-icon,
.mc-footer-top .mc-art-card::before{ background: rgba(255,255,255,0.10) !important; }
.mc-footer-top .mc-footer-tile-icon{ color:#FFFFFF !important; }
.mc-footer-top .mc-footer-tile-icon svg{ stroke:#FFFFFF !important; }
/* CTA "Tutti gli articoli" outline chiaro */
.mc-footer-top .mc-footer-articoli-cta a{ color:#F2EADB !important; border-color: rgba(255,255,255,0.28) !important; }
.mc-footer-top .mc-footer-articoli-cta a:hover{ background: rgba(255,255,255,0.08) !important; color:#FFFFFF !important; border-color: rgba(255,255,255,0.5) !important; }
@media (max-width:760px){
  .mc-footer-top .mc-footer-articoli{ border-left:0 !important; border-top:1px solid rgba(255,255,255,0.10) !important; }
}

/* ===== from <style id="no-id"> ===== */
/* Tre porte aperte + Letture utili -> circa meta altezza */
.mc-footer-top > section{min-height:0 !important;padding:clamp(16px,1.7vw,20px) !important;}
.mc-footer-top .mc-lead{display:none !important;}
.mc-footer-top .mc-eyebrow-purple{margin:0 0 5px !important;}
.mc-footer-top h2,.mc-footer-top h3{margin:0 0 6px !important;font-size:clamp(1.1rem,1.4vw,1.3rem) !important;}
.mc-footer-top .mc-footer-tile,.mc-footer-top .mc-art-card{padding:6px 0 !important;grid-template-columns:28px 1fr auto !important;column-gap:12px !important;}
.mc-footer-top .mc-footer-tile-icon,.mc-footer-top .mc-art-card::before{width:28px !important;height:28px !important;min-width:28px !important;border-radius:8px !important;}
.mc-footer-top .mc-footer-tile-icon svg{width:15px !important;height:15px !important;}
.mc-footer-top .mc-footer-tile h3{font-size:0.9rem !important;}
.mc-footer-top .mc-art-card h4{font-size:0.88rem !important;margin-top:2px !important;}
.mc-footer-top .mc-art-card .cat{font-size:0.58rem !important;}
.mc-footer-top .mc-footer-articoli-cta{padding-top:8px !important;}
@media(max-width:781px){.mc-footer-top .mc-footer-tile,.mc-footer-top .mc-art-card{grid-template-columns:28px 1fr auto !important;}}

/* ===== from <style id="no-id"> ===== */
/* pre-footer content-space = footer */
.mc-footer-top{ max-width:1200px !important; padding:0 clamp(16px,4vw,32px) !important; margin:0 auto !important; }
.mc-footer-top > section{ padding-left:0 !important; padding-right:0 !important; padding-top:clamp(8px,1.2vw,14px) !important; padding-bottom:clamp(8px,1.2vw,14px) !important; }
.mc-footer-info{ padding-top:clamp(10px,1.6vw,18px) !important; }
/* tile interi cliccabili (porte aperte + articoli) */
.mc-footer-top a.mc-footer-tile{ text-decoration:none !important; color:#1F1633 !important; cursor:pointer; }
.mc-footer-top a.mc-footer-tile h3{ color:#1F1633 !important; transition:color 180ms ease; }
.mc-footer-top a.mc-footer-tile:hover h3{ color:#4F2D7F !important; }
.mc-footer-top .mc-foot-go{ grid-column:3 !important; align-self:center !important; justify-self:end; font:600 0.82rem/1 'DM Sans',sans-serif !important; color:#4F2D7F !important; white-space:nowrap; }
.mc-footer-top .mc-foot-go::after{ content:" \2192"; display:inline-block; transition:transform .24s cubic-bezier(.16,1,.3,1); }
.mc-footer-top a.mc-footer-tile:hover .mc-foot-go::after{ transform:translateX(4px); }
/* box icona/miniatura 40px + immagine in evidenza cover */
.mc-footer-top .mc-footer-tile-icon{ width:40px !important; height:40px !important; min-width:40px !important; }
.mc-footer-top .mc-footer-tile-icon svg{ width:20px !important; height:20px !important; }
.mc-footer-top .mc-footer-tile-icon.mc-has-thumb{ background:none !important; padding:0 !important; overflow:hidden !important; }
.mc-footer-top .mc-footer-tile-icon img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; border-radius:inherit; }
.mc-footer-top .mc-footer-tile, .mc-footer-top a.mc-footer-tile{ grid-template-columns:40px 1fr auto !important; }

/* ===== from <style id="no-id"> ===== */
/* Porte aperte + Letture utili: pannelli trasparenti (footer gia viola), testo bianco, CTA arancio */
.mc-footer-top .mc-footer-cta-hero, .mc-footer-top .mc-footer-articoli{ background:transparent !important; border:0 !important; }
/* testo bianco */
.mc-footer-top .mc-eyebrow-purple{ color:#FFFFFF !important; opacity:.85; }
.mc-footer-top h2, .mc-footer-top h3, .mc-footer-top h4, .mc-footer-top a.mc-footer-tile h3{ color:#FFFFFF !important; }
.mc-footer-top p, .mc-footer-top .mc-lead, .mc-footer-top li{ color:#EDE7F6 !important; }
.mc-footer-top a.mc-footer-tile:hover h3{ color:#FFD79B !important; }
/* CTA arancio */
.mc-footer-top .mc-foot-go{ color:#E97E3A !important; }
.mc-footer-top .mc-footer-articoli-cta a{ color:#E97E3A !important; border-color:rgba(233,126,58,0.55) !important; }
.mc-footer-top .mc-footer-articoli-cta a:hover{ color:#FFD79B !important; border-color:#E97E3A !important; }
/* separatori + box icona su scuro */
.mc-footer-top .mc-footer-tile, .mc-footer-top a.mc-footer-tile{ border-top-color:rgba(255,255,255,0.14) !important; }
.mc-footer-top .mc-footer-tiles > *:last-child, .mc-footer-top .mc-articoli-grid-footer > *:last-child{ border-bottom-color:rgba(255,255,255,0.14) !important; }
.mc-footer-top .mc-footer-tile-icon:not(.mc-has-thumb){ background:rgba(255,255,255,0.14) !important; color:#FFD79B !important; }
.mc-footer-top a.mc-footer-tile:hover{ background:rgba(255,255,255,0.06) !important; }

/* === 404 brand === */
.mc-404{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:64px 24px;background:linear-gradient(160deg,#FFFBF4,#F1E7DA)}
.mc-404-in{max-width:760px;text-align:center}
.mc-404-eyebrow{font:700 .8rem/1 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4F2D7F;margin:0 0 12px}
.mc-404-title{font:500 clamp(2rem,4.5vw,3.2rem)/1.1 'Young Serif',serif;color:#1F1633;margin:0 0 14px}
.mc-404-lead{font-size:1.1rem;color:#4A3F5C;margin:0 0 32px}
.mc-404-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}
.mc-404-card{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid rgba(31,22,51,.1);border-radius: 18px;padding:20px 16px;text-decoration:none!important;color:#1F1633!important;box-shadow:0 2px 14px rgba(31,22,51,.06);transition:transform .2s}
.mc-404-card:hover{transform:translateY(-4px)}
.mc-404-card span{font-size:1.8rem}
.mc-404-card strong{font-family:'Young Serif',serif;font-weight:500}
.mc-404-card small{color:#7E7290;font-size:.82rem}
.mc-404-search{display:flex;gap:8px;max-width:420px;margin:0 auto}
.mc-404-search input{flex:1;padding:12px 16px;border:1px solid rgba(31,22,51,.15);border-radius:999px;font:400 1rem 'DM Sans',sans-serif}
.mc-404-search button{background:#E97E3A;color:#fff;border:0;border-radius:999px;padding:12px 24px;font-weight:600;cursor:pointer}
@media(max-width:640px){.mc-404-cards{grid-template-columns:1fr}}

/* === Reveal-on-scroll (entrata coerente, solo opacity/transform) === */
.mc-reveal{opacity:0;transform:translateY(22px);will-change:opacity,transform}
.mc-reveal.mc-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
@media(prefers-reduced-motion:reduce){.mc-reveal{opacity:1!important;transform:none!important}}

/* === Footer: allineamento sinistro fra bande + ritmo verticale (impeccable/layout) === */
/* Allineamento: footer-top usa SOLO il padding del band-inner (come footer-info e legal),
   togliendo il proprio padding che lo indentava di ~16px in piu' di "MetaCometa". */
.mc-footer-top { max-width: 1200px !important; margin: clamp(44px,5vw,76px) auto clamp(20px,2.5vw,34px) !important; padding: 0 !important; }
.mc-footer-top > section { padding-top: 0 !important; padding-bottom: 0 !important; }
/* footer-info: spazio sotto i social prima del legal (era 0 = social attaccati al bordo) */
.mc-footer-info { margin: 0 !important; padding-top: 0 !important; padding-bottom: clamp(40px,5vw,60px) !important; }
.mc-footer-info .mc-socials { margin-top: 20px !important; }
/* legal band: poco spazio sopra il © (prima era esagerato) */
.mc-footer-legal-band { margin: 0 !important; padding: 16px 0 !important; }
/* credit "creato con ♥ da postella.it" = MARKUP nel footer template-part (DB, conv. SESSION 02). */

/* Letture footer: featured/hero image dell'articolo (non l'icona favicon) */
.mc-footer-top .mc-art-tile .mc-footer-tile-icon.mc-has-thumb{ width:40px !important; height:40px !important; min-width:40px !important; border-radius:8px !important; background:#ECE4F5 !important; overflow:hidden !important; padding:0 !important; }
.mc-footer-top .mc-art-tile .mc-footer-tile-icon.mc-has-thumb img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; border-radius:8px; }

/* === Footer: "Tre porte aperte" + "Letture" sulla spina del contenuto ===
   L'inset orizz. 22px e' stato rimosso ALLA FONTE (riga 1660): entrambe le colonne
   partono dal bordo del container 1200 centrato = stessa sx di "MetaCometa" e del
   contenuto di pagina (40px @1280). Su mobile (container a 0) servono 20px come la
   colonna brand. */
@media (max-width:781px){
  .mc-footer-top .mc-footer-cta-hero,
  .mc-footer-top .mc-footer-articoli{ padding-left:20px !important; padding-right:20px !important; }
}
/* Letture: immagine 40px nella prima colonna (stessa dimensione delle icone "3 porte"). Niente testo sopra l'immagine. */
.mc-footer-top .mc-art-tile:has(.mc-has-thumb),
.mc-footer-top .mc-art-card:has(.mc-has-thumb){ grid-template-columns: 40px 1fr auto !important; column-gap: 12px !important; align-items: center !important; }
.mc-footer-top .mc-art-tile:has(.mc-has-thumb) h4,
.mc-footer-top .mc-art-card:has(.mc-has-thumb) h4{ align-self: center !important; }

/* === A11y: focus visibile coerente col brand (tastiera, non click) === */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
	outline:2px solid #E97E3A;
	outline-offset:2px;
	border-radius:4px;
}
/* sui fondi viola scuro l'arancio resta leggibile, ma rinforziamo con alone chiaro */
.mc-impact-editorial a:focus-visible,
.mc-footer-band a:focus-visible,
.mc-footer-info a:focus-visible,
.mc-footer-legal-band a:focus-visible{
	outline-color:#FBF5EE;
}

/* === Mobile hero home: scrim più forte dietro eyebrow/titolo (non coprire i volti
   con testo illeggibile) + bottone ghost più contrastato sull'immagine === */
@media(max-width:640px){
	.mc-cine .mc-cine-overlay{
		background:
			radial-gradient(ellipse 70% 60% at 12% 110%, rgba(79,45,127,0.55), transparent 60%),
			linear-gradient(180deg, rgba(31,22,51,0.62) 0%, rgba(31,22,51,0.22) 34%, rgba(31,22,51,0.42) 56%, rgba(31,22,51,0.92) 100%);
	}
	.mc-cine .mc-cine-btn.ghost{
		background:rgba(31,22,51,0.45);
		border-color:rgba(255,251,244,0.65);
	}
}

/* Le icone del footer ("tre porte aperte", "letture utili") restano visibili
   su TUTTE le pagine, non solo in home. (Rimossa la vecchia regola
   `body:not(.home) ... {display:none}` che le nascondeva fuori dalla home.) */

/* === Archivio Sedi (/sede/) — titolo "Sedi" + sezione regioni come home === */
.mc-sedi-archive{ padding:clamp(32px,5vw,64px) 0 clamp(48px,7vw,96px); }
.mc-sedi-head{ max-width:760px; margin:0 0 clamp(20px,3vw,32px); }
.mc-sedi-head .eyebrow{ font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:#4F2D7F; font-weight:600; margin:0 0 8px; }
.mc-sedi-title{ font-family:'Young Serif',Georgia,serif; font-weight:400; font-size:clamp(2.4rem,5vw,3.4rem); line-height:1.04; letter-spacing:-.02em; color:#1F1633; margin:0 0 10px; }
.mc-sedi-intro{ font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.5; color:#6B5F80; margin:0; max-width:56ch; }

/* ============ Mobile: prima schermata (hero 80svh + sedi) · footer columns · legenda mappa ============ */
@media (max-width: 600px) {
  /* (1) Hero copre ~80% del viewport; sotto restano le pills sede */
  .mc-cine { min-height: 80svh !important; }
  /* sezione "Trova la sede vicino a te" attaccata all'hero e compatta.
     Titolo = h2 dentro .header dentro .mc-container dentro section.mc-dove-siamo. */
  [class*="mc-dove-siamo"]{ padding-top:6px !important; padding-bottom:10px !important; margin-top:0 !important; }
  [class*="mc-dove-siamo"] .header{ margin:0 0 8px !important; }
  [class*="mc-dove-siamo"] .header h2{ font-size:1.0rem !important; line-height:1.15 !important; margin:0 !important; }
  [class*="mc-dove-siamo"] .header p{ display:none !important; }
  .mc-dove2-reg{ padding:4px 11px !important; font-size:0.8rem !important; }
  .mc-dove2-regions{ gap:6px !important; }
  /* (4) Footer: Esplora/Comunità su 2 colonne (brand a tutta larghezza) -> niente spazio vuoto a destra */
  .mc-footer-info-grid { grid-template-columns: 1fr 1fr !important; gap: 24px 22px !important; }
  .mc-footer-info .col-brand { grid-column: 1 / -1 !important; }
  /* Contatti a tutta larghezza con voci su 2 colonne (titolo in cima) -> riempie la riga */
  .mc-footer-info .col-contact { grid-column: 1 / -1 !important; columns: 2 !important; column-gap: 22px !important; }
  .mc-footer-info .col-contact h4 { column-span: all !important; }
  .mc-footer-info .col-contact a,
  .mc-footer-info .col-contact span { display: block !important; break-inside: avoid !important; }
}
/* (2) Legenda mappa: visibile SOLO quando una regione e' attiva (= mappa aperta) */
.mc-dove2-legend { display: none !important; }
.mc-dove2:has(.mc-dove2-reg.is-active) .mc-dove2-legend { display: flex !important; }

/* ============ Hero (.mc-cine): fix aberrazioni slideshow ============ */
/* PROBLEMA 1 — "sfarfallio": il keyframe originale (nel contenuto pagina) teneva ogni
   slide piena solo dal 5% al 33% (=28%), ma lo sfasamento fra 3 slide e' 33.3% -> buchi
   in cui nessuna slide e' al 100% -> lo sfondo #1F1633 lampeggiava tra le foto.
   Qui ridefiniamo lo STESSO keyframe (site.css carica dopo lo <style> inline -> vince):
   hold 4%->36% con dissolvenze che si sovrappongono => somma opacita' sempre >=1, niente
   flash scuro. Zoom Ken Burns piu' gentile (1.05->1.10) per ridurre il ghosting in dissolvenza. */
@keyframes mc-cine-kb {
  0%   { opacity: 0; transform: scale(1.05); }
  4%   { opacity: 1; }
  36%  { opacity: 1; transform: scale(1.10); }
  40%  { opacity: 0; }
  100% { opacity: 0; transform: scale(1.05); }
}
/* Rispetto preferenza utente: niente slideshow in motion, prima slide fissa. */
@media (prefers-reduced-motion: reduce){
  .mc-cine-slide{ animation: none !important; }
  .mc-cine-slide:nth-child(1){ opacity: 1 !important; }
}
/* PROBLEMA 2 — banding: il linear-gradient liscio dell'overlay mostra step a 8-bit su
   area alta. Micro-grana (SVG fractalNoise) che dithera le bande, impercettibile come texture. */
.mc-cine-overlay::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.07; mix-blend-mode:overlay;
}


/* ============================================================
   CHI SIAMO — "La stella che ci ha chiamati" (namespace cs-*)
   Pagina /chi-siamo/ (id 358). Sfondo: lascia passare #mcbg (animato globale).
   Stella = SVG ufficiale MetaCometa (#mcstar symbol nel markup).
   ============================================================ */
.cs { font-family:'DM Sans',system-ui,sans-serif; color:#1F1633; line-height:1.6; }
.cs *{ box-sizing:border-box; }
.cs-star-defs{ position:absolute; width:0; height:0; overflow:hidden; }
.cs-bleed{ width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.cs-wrap{ width:100%; max-width:var(--content-max,1200px); margin:0 auto; padding:0 var(--content-pad,clamp(20px,4vw,32px)); }
.cs-sec{ padding:clamp(64px,9vw,118px) 0; }
#missione, #origini, #visione, #storia { scroll-margin-top:88px; }
@media (prefers-reduced-motion:no-preference){ html{ scroll-behavior:smooth; } }

/* stella ufficiale: inline-svg che usa #mcstar, colore via currentColor */
.cs-star{ display:inline-block; width:.82em; height:.82em; vertical-align:-.06em; color:#F2B645; fill:currentColor; flex:none; }
.cs-eyebrow{ display:inline-flex; align-items:center; gap:9px; font:700 .74rem/1 'DM Sans',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#4A3F5C; margin:0 0 18px; }
.cs-eyebrow .cs-star{ width:1.05em; height:1.05em; }

/* sezioni chiare → trasparenti: mostrano lo sfondo animato #mcbg (come px-sec) */
.cs, .cs-hero, .cs-mission, .cs-vision, .cs-values, .cs-numbers, .cs-cta, .cs-legal,
body.page-id-358 .wp-block-group.alignfull, body.page-id-358 .entry-content{ background:transparent !important; }

/* ---------- HERO ---------- */
.cs-hero{ min-height:clamp(560px,84vh,820px); display:flex; align-items:center; padding:clamp(92px,13vh,144px) 0 clamp(46px,8vh,84px); }
.cs-hero .cs-eyebrow{ margin-bottom:24px; }
.cs-hero-title{ font:400 clamp(2rem,8vw,7rem)/.98 'Young Serif',Georgia,serif; letter-spacing:-.025em; color:#1F1633; margin:0 0 26px; max-width:15ch; overflow-wrap:anywhere; }
.cs-hero-title .cs-w{ display:inline-block; }
@media (max-width:600px){
  .cs-hero-title .cs-w{ display:inline; }
  .cs-anchors{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);
    mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent); scroll-snap-type:x proximity; }
  .cs-anchors::-webkit-scrollbar{ display:none; }
  .cs-anchor{ flex:none; min-height:48px; scroll-snap-align:start; }
}
.cs-hero-title .cs-accent{ color:#E97E3A; }
.cs-hero-sub{ font:400 clamp(1.05rem,1.5vw,1.22rem)/1.6 'DM Sans',sans-serif; color:#4A3F5C; max-width:48ch; margin:0 0 30px; }
.cs-anchors{ display:flex; gap:11px; flex-wrap:wrap; align-items:center; }
.cs-anchor{ display:inline-flex; align-items:center; gap:9px; font:600 .98rem/1 'DM Sans',sans-serif; text-decoration:none !important; color:#4F2D7F; background:rgba(255,251,244,.62); border:1px solid rgba(79,45,127,.2); border-radius:999px; padding:13px 20px; transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s,border-color .2s; }
.cs-anchor:hover{ background:#fff; border-color:#4F2D7F; transform:translateY(-2px); }
.cs-anchor .n{ font-weight:700; color:#E97E3A; }
.cs-anchor svg{ width:14px; height:14px; opacity:.6; }

/* ---------- FOTO transizione ---------- */
.cs-photo{ position:relative; height:clamp(400px,56vh,620px); background-size:cover; background-position:center 44%; display:flex; align-items:flex-end; isolation:isolate; }
.cs-photo::after{ content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(to top, rgba(31,22,51,.34), transparent 42%); }
.cs-cap{ position:relative; z-index:1; display:flex; justify-content:space-between; align-items:flex-end; gap:20px; width:100%; max-width:var(--content-max,1200px); margin:0 auto; padding:0 var(--content-pad,clamp(20px,4vw,32px)) clamp(22px,4vh,40px); }
.cs-cap-t{ display:inline-flex; align-items:center; gap:10px; background:rgba(31,22,51,.82); color:#FBF5EE; font:500 .96rem/1.3 'DM Sans',sans-serif; padding:12px 17px; border-radius:12px; }
.cs-cap-t .cs-star{ color:#F2B645; }
.cs-cap-credit{ font:600 .72rem/1.3 'DM Sans',sans-serif; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,251,244,.85); white-space:nowrap; }

/* ---------- MISSIONE (immagine mani + testo) ---------- */
.cs-mission-grid{ display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(28px,5vw,64px); align-items:center; }
.cs-fig{ margin:0; border-radius:20px; overflow:hidden; box-shadow:0 26px 64px -30px rgba(31,22,51,.45); background:#efe7da; }
.cs-fig img{ display:block; width:100%; height:100%; object-fit:cover; }
.cs-mission-fig img{ aspect-ratio:4/5; }
.cs-manifesto{ font:400 clamp(1.7rem,3.6vw,3rem)/1.18 'Young Serif',Georgia,serif; color:#1F1633; letter-spacing:-.01em; margin:0 0 26px; }
.cs-manifesto .q{ color:#F2B645; }
.cs-manifesto em{ font-style:italic; }
.cs-body{ font:400 1.12rem/1.7 'DM Sans',sans-serif; color:#4A3F5C; max-width:56ch; margin:0; }
.cs-body + .cs-body{ margin-top:16px; }
.cs-sign{ margin:40px 0 0; }
.cs-sign span{ position:relative; display:inline-block; padding-top:20px; font:400 clamp(1.1rem,1.9vw,1.45rem)/1.3 'Young Serif',serif; color:#E97E3A; }
.cs-sign span::before{ content:""; position:absolute; top:0; left:0; width:48px; height:1px; background:rgba(79,45,127,.28); }

/* ---------- LE ORIGINI (viola notte, cometa = stella ufficiale) ---------- */
.cs-origins{ position:relative; color:#FBF5EE; overflow:hidden;
  background:
    radial-gradient(ellipse 92% 72% at 16% 0%, #5a3590, transparent 62%),
    linear-gradient(158deg, #2E1B5C 0%, #371E5C 52%, #4F2D7F 100%); }
.cs-origins .cs-wrap{ position:relative; z-index:2; max-width:var(--content-max,1200px); padding-top:clamp(80px,12vw,140px); padding-bottom:clamp(80px,12vw,140px); }
.cs-origins .cs-eyebrow{ color:#F2B645; }
.cs-orig-incipit{ font:400 clamp(1.3rem,2.3vw,1.7rem)/1.5 'Young Serif',Georgia,serif; font-style:italic; color:#EADCF7; margin:0 0 40px; max-width:52ch; }
.cs-orig-quote{ font:400 clamp(2rem,5vw,4rem)/1.12 'Young Serif',Georgia,serif; color:#FBF5EE; letter-spacing:-.015em; margin:0 0 40px; }
.cs-orig-quote .q, .cs-orig-quote .name{ color:#F2B645; }
.cs-orig-body{ font:400 1.12rem/1.75 'DM Sans',sans-serif; color:rgba(251,245,238,.86); max-width:60ch; margin:0 0 18px; }
.cs-orig-close{ font:400 clamp(1.4rem,2.8vw,2.1rem)/1.3 'Young Serif',Georgia,serif; color:#FBF5EE; margin:40px 0 0; max-width:24ch; }
.cs-sky{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.cs-sky i{ position:absolute; width:3px; height:3px; border-radius:50%; background:#FBF5EE; opacity:.5; animation:cs-breath 6s ease-in-out infinite; }
.cs-sky i:nth-child(1){ top:12%; left:18%; } .cs-sky i:nth-child(2){ top:22%; left:72%; animation-delay:1.2s; }
.cs-sky i:nth-child(3){ top:35%; left:42%; width:2px; height:2px; animation-delay:2.4s; } .cs-sky i:nth-child(4){ top:58%; left:84%; animation-delay:.6s; }
.cs-sky i:nth-child(5){ top:70%; left:26%; width:2px; height:2px; animation-delay:3s; } .cs-sky i:nth-child(6){ top:82%; left:60%; animation-delay:1.8s; }
.cs-sky i:nth-child(7){ top:15%; left:52%; width:2px; height:2px; animation-delay:3.6s; } .cs-sky i:nth-child(8){ top:46%; left:9%; animation-delay:2.1s; }
.cs-comet{ position:absolute; top:clamp(34px,7vw,80px); right:clamp(20px,6vw,84px); z-index:1; width:clamp(74px,10vw,124px); color:#F2B645; animation:cs-drift 12s ease-in-out infinite alternate; }
.cs-comet .cs-star{ width:100%; height:auto; vertical-align:top; filter:drop-shadow(0 0 16px rgba(242,182,69,.55)); }

/* ---------- VISIONE (testo + immagine porta) ---------- */
.cs-vision-grid{ display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(28px,5vw,64px); align-items:center; }
.cs-vision-title{ font:400 clamp(2rem,4.4vw,3.4rem)/1.08 'Young Serif',Georgia,serif; color:#1F1633; letter-spacing:-.02em; margin:0 0 24px; }
.cs-vision-body{ font:400 clamp(1.12rem,1.6vw,1.32rem)/1.65 'DM Sans',sans-serif; color:#4A3F5C; max-width:54ch; margin:0; }
.cs-vision-body .hl{ color:#4F2D7F; font-weight:500; }
.cs-vision-fig img{ aspect-ratio:4/3; }

/* ---------- VALORI ---------- */
.cs-values-intro{ max-width:680px; margin:0 0 clamp(36px,5vw,56px); }
.cs-values-lead{ font:500 clamp(1.5rem,3vw,2.3rem)/1.15 'Young Serif',Georgia,serif; color:#1F1633; margin:0 0 16px; }
.cs-values-quote{ font:400 1.05rem/1.6 'DM Sans',sans-serif; font-style:italic; color:#4A3F5C; margin:0; }
.cs-values-quote b{ color:#1F1633; font-style:normal; font-weight:600; }
.cs-values-attr{ display:block; margin-top:8px; font-style:normal; font-weight:700; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:#7E7290; }
.cs-mother{ background:#FBEADB; border-radius:22px; padding:clamp(26px,3.4vw,40px); margin:0 0 14px; }
.cs-mother .k{ display:inline-flex; align-items:center; gap:9px; font:700 .72rem/1 'DM Sans',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#C25E1F; margin:0 0 14px; }
.cs-mother .k .cs-star{ color:#E97E3A; }
.cs-mother h3{ font:500 clamp(1.6rem,3vw,2.3rem)/1.1 'Young Serif',Georgia,serif; color:#1F1633; margin:0 0 10px; }
.cs-mother p{ font:400 1.1rem/1.6 'DM Sans',sans-serif; color:#6B4A2E; margin:0; max-width:50ch; }
.cs-vlist{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(36px,5vw,72px); }
.cs-vitem{ display:grid; grid-template-columns:auto 1fr; gap:0 22px; align-items:baseline; padding:26px 0; border-top:1px solid rgba(79,45,127,.14); }
.cs-vnum{ font:400 clamp(2.4rem,4vw,3.6rem)/1 'Young Serif',Georgia,serif; color:transparent; -webkit-text-stroke:1px #E0A93B; text-stroke:1px #E0A93B; }
.cs-vbody h3{ font:500 1.3rem/1.2 'Young Serif',Georgia,serif; color:#1F1633; margin:0 0 6px; }
.cs-vbody p{ font:400 1rem/1.55 'DM Sans',sans-serif; color:#4A3F5C; margin:0; }

/* ---------- NUMERI (cifre inline + regioni linkate a /sede/) ---------- */
.cs-numbers .cs-wrap{ max-width:980px; }
.cs-nstory{ font:400 clamp(1.5rem,3.1vw,2.4rem)/1.5 'Young Serif',Georgia,serif; color:#1F1633; letter-spacing:-.01em; margin:0; }
.cs-nstory .n{ display:inline-block; font:400 clamp(2.6rem,6vw,5rem)/.8 'Young Serif',Georgia,serif; vertical-align:baseline; letter-spacing:-.02em; margin:0 .06em; transform:translateY(.08em); }
.cs-nstory .n.viola{ color:#4F2D7F; } .cs-nstory .n.aran{ color:#E97E3A; } .cs-nstory .n.oro{ color:#C25E1F; }
.cs-reg-link{ color:#4F2D7F; text-decoration:none; box-shadow:inset 0 -2px 0 rgba(79,45,127,.18); transition:box-shadow .18s, color .18s; }
.cs-reg-link:hover{ color:#C25E1F; box-shadow:inset 0 -2px 0 #E97E3A; }
.cs-ncap{ display:flex; align-items:center; gap:10px; margin:clamp(36px,5vw,52px) 0 0; padding-top:22px; border-top:1px solid rgba(79,45,127,.14); font:400 1rem/1.5 'DM Sans',sans-serif; color:#7E7290; }

/* ---------- STORIA (viola pieno, nodi = stella ufficiale) ---------- */
.cs-timeline{ position:relative; background:#4F2D7F; color:#FFFBF4; overflow:hidden; }
.cs-timeline .cs-eyebrow{ color:#F2B645; }
.cs-timeline-title{ font:400 clamp(1.9rem,3.6vw,2.8rem)/1.1 'Young Serif',Georgia,serif; color:#FFFBF4; margin:0 0 clamp(34px,5vw,52px); }
.cs-thread{ position:absolute; top:0; bottom:0; left:calc(clamp(20px,4vw,44px) + 96px); width:60px; z-index:1; pointer-events:none; color:rgba(242,182,69,.35); }
.cs-thread svg{ height:100%; width:100%; }
.cs-steps{ position:relative; z-index:2; display:flex; flex-direction:column; gap:clamp(18px,2.4vw,28px); }
.cs-step{ display:grid; grid-template-columns:150px 1fr; gap:0 28px; align-items:baseline; }
.cs-yr{ position:relative; font:400 clamp(1.6rem,3vw,2.6rem)/1 'Young Serif',Georgia,serif; color:#FFFBF4; }
.cs-yr .cs-star{ position:absolute; left:-32px; top:.05em; width:.7em; height:.7em; color:#F2B645; }
.cs-ev{ font:400 1.05rem/1.5 'DM Sans',sans-serif; color:rgba(255,251,244,.85); padding-top:.35em; }
.cs-step.horizon .cs-yr{ color:#F2B645; font-size:clamp(2rem,3.8vw,3.2rem); }
.cs-step.horizon .cs-yr .cs-star{ width:.6em; height:.6em; left:-38px; }
.cs-tl-close{ display:inline-flex; align-items:center; gap:10px; margin:clamp(30px,4vw,46px) 0 0; font:400 clamp(1.2rem,2.2vw,1.6rem)/1.3 'Young Serif',Georgia,serif; color:#FBF5EE; }

/* ---------- CTA finale ---------- */
.cs-cta{ text-align:center; }
.cs-cta .cs-wrap{ max-width:760px; }
.cs-cta-star{ margin:0 auto 16px; }
.cs-cta-star .cs-star{ width:30px; height:30px; }
.cs-cta-title{ font:400 clamp(1.9rem,4vw,3rem)/1.15 'Young Serif',Georgia,serif; color:#1F1633; letter-spacing:-.015em; margin:0; }
.cs-cta-title .it{ display:block; font-style:italic; font-size:.78em; color:#4A3F5C; margin-top:6px; }
.cs-cta-title .te{ color:#E97E3A; font-style:italic; }
.cs-cta-support{ font:400 1.1rem/1.6 'DM Sans',sans-serif; color:#4A3F5C; margin:18px 0 28px; }
.cs-ctas{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }
.cs-btn{ display:inline-flex; align-items:center; gap:9px; font:600 1rem/1 'DM Sans',sans-serif; text-decoration:none !important; border-radius:999px; padding:15px 28px; transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s,background .22s; border:0; }
.cs-btn.primary{ background:#E97E3A; color:#FFFBF4 !important; box-shadow:0 10px 28px -8px rgba(194,94,31,.5); }
.cs-btn.primary:hover{ background:#C25E1F; transform:translateY(-3px); }
.cs-btn.ghost{ background:rgba(255,251,244,.5); color:#4F2D7F !important; border:1px solid rgba(79,45,127,.4); }
.cs-btn.ghost:hover{ background:#fff; transform:translateY(-2px); }

/* ---------- NOTA LEGALE ---------- */
.cs-legal .cs-wrap{ padding-top:clamp(40px,6vw,60px); padding-bottom:clamp(48px,7vw,78px); }
.cs-legal-inner{ border-top:1px solid rgba(79,45,127,.12); padding-top:26px; max-width:74ch; font:400 .82rem/1.7 'DM Sans',sans-serif; color:#4A3F5C; }
.cs-legal-inner b{ color:#1F1633; font-weight:600; }
.cs-legal-inner .sep{ color:#D9A93F; margin:0 4px; }

/* ---------- keyframes + reveal ---------- */
@keyframes cs-rise{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:none; } }
@keyframes cs-breath{ 0%,100%{ opacity:.4; } 50%{ opacity:.95; } }
@keyframes cs-drift{ from{ transform:translate(0,0) rotate(0deg); } to{ transform:translate(-9px,7px) rotate(6deg); } }
.cs-hero-title .cs-w{ opacity:0; animation:cs-rise .6s cubic-bezier(.16,1,.3,1) forwards; }
.cs-hero-title .cs-w:nth-child(1){ animation-delay:.05s; } .cs-hero-title .cs-w:nth-child(2){ animation-delay:.14s; }
.cs-hero-title .cs-w:nth-child(3){ animation-delay:.23s; } .cs-hero-title .cs-w:nth-child(4){ animation-delay:.32s; }
.cs-hero-sub{ opacity:0; animation:cs-rise .6s cubic-bezier(.16,1,.3,1) .4s forwards; }
.cs-hero .cs-anchors{ opacity:0; animation:cs-rise .6s cubic-bezier(.16,1,.3,1) .52s forwards; }

/* ---------- responsive ---------- */
@media (max-width:860px){
  .cs-mission-grid, .cs-vision-grid{ grid-template-columns:1fr; gap:22px; }
  .cs-vision-grid .cs-vision-fig{ order:-1; }
  .cs-vlist{ grid-template-columns:1fr; }
  .cs-vitem:nth-child(2){ border-top:1px solid rgba(79,45,127,.14); }
}
@media (max-width:600px){
  .cs-hero{ min-height:74vh; }
  .cs-cap{ flex-direction:column; align-items:flex-start; gap:10px; }
  .cs-step{ grid-template-columns:1fr; gap:2px; }
  .cs-yr .cs-star{ position:static; display:inline-block; left:auto; margin-right:8px; }
  .cs-thread{ display:none; }
  .cs-ev{ padding-top:0; }
  .cs-nstory .n{ line-height:1; transform:none; }
  .cs-comet{ width:72px; top:28px; right:16px; }
}
@media (prefers-reduced-motion:reduce){
  .cs-hero-title .cs-w, .cs-hero-sub, .cs-hero .cs-anchors{ opacity:1; animation:none; }
  .cs-sky i, .cs-comet{ animation:none; }
}

/* ============================================================
   AUDIT a11y — CTA primarie: contrasto AA (bianco su #B25420 = 5.0:1).
   Override globale dei gradient/fondi arancio chiari nei bottoni legacy.
   ============================================================ */
.mc-cine-btn.primary, .af-btn.primary, .dona-submit, .px-btn.primary,
.mc-newsletter button, .mc-btn-primary .wp-block-button__link,
.st-btn.primary, .am2-btn.primary, .vt-btn.primary {
  background: #B25420 !important; /* CTA flat (design.md §3.2: mai gradient), AA su bianco/crema */
  color: #FFFBF4 !important;
}
.mc-cine-btn.primary:hover, .af-btn.primary:hover, .dona-submit:hover, .px-btn.primary:hover,
.mc-newsletter button:hover, .mc-btn-primary .wp-block-button__link:hover {
  background: #8F4214 !important;
}

/* [4] home: lista "Cosa offriamo" Sportello — niente due colonne col ':' orfano */
.mc-sportello-home .visual li { display: block !important; position: relative; padding-left: 26px; }
.mc-sportello-home .visual li::before { position: absolute; left: 0; top: .15em; }

/* Home: sezione "Le Favole di MetaCometa".
   - via il fondo crema (#FBF5EE + glow) -> trasparente, mostra lo sfondo animato (#mcbg)
   - era full-bleed ROTTA (width:100vw senza breakout corretto -> left 100, overflow
     orizzontale di ~164px = "spazio a sinistra al load"). Lo sfondo ora e' trasparente,
     quindi NON serve il bleed: la riportiamo a blocco normale e il contenuto (.mfp-in)
     alla stessa spina 1200 delle altre sezioni (left 243). */
.mc-favole-promo{ background: transparent !important; width:auto !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
.mc-favole-promo .mfp-in{ box-sizing:border-box !important; width:100% !important; max-width:var(--content-max,1200px) !important; margin-inline:auto !important; padding-inline:var(--content-pad,clamp(20px,4vw,32px)) !important; }

/* === Header fisso: compensazione contenuto sotto l'header ============================
   L'header e' position:fixed e trasparente: davanti alle hero full-bleed (per design,
   l'immagine sta dietro il vetro). Le pagine che NON aprono con una hero avevano i
   primi ~73px di contenuto NASCOSTI sotto l'header al caricamento.
   Fix: padding-top = altezza header SOLO a quelle pagine (le hero restano intatte,
   rilevate tra i primi figli come [class*=hero] / .mc-cine / [class*=-bleed]). */
@media (max-width:980px){ :root{ --header-h: 66px; } }   /* logo 38 + padding */
@media (max-width:480px){ :root{ --header-h: 62px; } }   /* logo 34 + padding */
html{ scroll-padding-top: var(--header-h, 73px); }       /* anchor non finiscono sotto l'header */
body:not(.single) .entry-content:not(:has([class*="-hero"], .mc-cine)){
  padding-top: var(--header-h, 73px) !important;  /* batte il reset globale .wp-block-post-content{padding-top:0!important} (riga ~1469).
     Esclude le pagine-hero: la hero (.mc-cine o qualsiasi *-hero, anche annidata in un wrapper) sta DENTRO .entry-content. */
}

/* === Pagine SEDE (mini-sito): spina uniforme a --content-max ============================
   I template sede vivono nel plugin (.mcs-* = struttura, .mcsr-* = gruppo affido) con
   larghezze proprie (1240 / 980 / 1100). site.css carica DOPO mc-core.css -> qui i
   contenitori STRUTTURALI tornano alla stessa spina di header/footer (1200), gutter incluso.
   Le colonne di SOLA LETTURA (testo discorsivo) restano strette per leggibilita',
   centrate dentro la spina (come la colonna degli articoli). */
.mcs-hero-in,
.mcs-body,
.mcsr-hero-in,
.mcsr-sedi,
.mcsr-sede-nav{ max-width: var(--content-max, 1200px) !important; }
.mcs-body{ padding-inline: var(--content-pad, clamp(20px,4vw,32px)) !important; }

/* === Sede mini-sito (v3): via il crema -> traspare lo sfondo ANIMATO del sito (#mcbg) ===
   Il crema sta nel root .mcs-v3 (#FFFBF4, copre #mcbg) e nei pannelli di alcune sezioni.
   site.css carica DOPO mc-core.css -> qui li rendiamo trasparenti. #mcbg e' gia' globale
   (.wp-site-blocks e' transparent), quindi appena il crema sparisce l'animazione si vede.
   Restano coi loro sfondi: trova/final (viola), card, mappa, form-aside. */
.mcs-v3,                       /* root: via il crema globale del mini-sito */
.mcs-v3 .mcs-hero,            /* hero */
.mcs-v3 .mcs-voci,           /* voci (pannello pesca) */
.mcs-v3 .mcs-ident,          /* "chi siamo" (identita', anche variante gruppo affido) */
.mcs-v3 .mcs-storia-sec,     /* "chi siamo" (variante struttura) */
.mcs-v3 #scrivi,             /* scrivi (form) */
.mcs-v3 #agenda{ background: transparent !important; }  /* agenda: stesso crema, per coerenza */

/* Sede v3: il contenuto di ogni sezione sta in .mcs-wrap (1120) -> alla spina 1200,
   gutter allineato. Le colonne di lettura/single-item restano strette (narrow / final / is-one). */
.mcs-v3 .mcs-wrap{ max-width: var(--content-max, 1200px); padding-inline: var(--content-pad, clamp(20px,4vw,32px)); }
.mcs-v3 .mcs-narrow{ max-width: 760px; }
.mcs-v3 .mcs-final .mcs-wrap{ max-width: 720px; }

/* === Sede v3: bilanciamento "voci" (invito, senza testimonianze) e "come trovarci" (no-map) ===
   Erano box stretti a sinistra con meta' destra vuota -> 2 colonne: testo a sinistra,
   CTA a destra (riempie il vuoto). Scoped ai soli casi invito/no-map (non tocco i casi con
   testimonianze o con mappa). Su mobile tornano in colonna singola, CTA sotto. */
.mcs-v3 #voci .mcs-voci-invito{ max-width:none !important; display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:clamp(28px,5vw,64px); }
.mcs-v3 #voci .mcs-voci-invito > *{ grid-column:1; }
.mcs-v3 #voci .mcs-voci-invito > .mcs-voci-cta{ grid-column:2; grid-row:1 / -1; align-self:center; justify-self:end; margin:0; }
.mcs-v3 #trovaci .mcs-trova-grid.no-map{ max-width:none !important; }
.mcs-v3 #trovaci .mcs-trova-grid.no-map .mcs-trova-info{ display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:clamp(28px,5vw,72px); }
.mcs-v3 #trovaci .mcs-trova-grid.no-map .mcs-trova-info > *{ grid-column:1; }
.mcs-v3 #trovaci .mcs-trova-grid.no-map .mcs-trova-info > .mcs-trova-cta{ grid-column:2; grid-row:1 / -1; align-self:center; justify-self:end; margin:0; }
@media (max-width:820px){
  .mcs-v3 #voci .mcs-voci-invito,
  .mcs-v3 #trovaci .mcs-trova-grid.no-map .mcs-trova-info{ grid-template-columns:1fr; }
  .mcs-v3 #voci .mcs-voci-invito > .mcs-voci-cta,
  .mcs-v3 #trovaci .mcs-trova-grid.no-map .mcs-trova-info > .mcs-trova-cta{ grid-column:1; grid-row:auto; justify-self:start; margin-top:18px; }
}

/* === Hero text reveal — uniforme su TUTTE le hero (come "chi siamo") =========
   Le parole del titolo salgono una a una (split via JS in .mc-hw); eyebrow / sub /
   cta salgono a blocco con cascata. I delay sono inline (impostati dal JS in
   functions.php) cosi' funziona su ogni hero, presente e futura, senza toccarne
   il markup. Chi-siamo (.cs-) resta sulla sua animazione nativa (gia' identica). */
/* Solo transform (niente fade da opacity:0): il testo resta sempre visibile,
   così l'audit contrasto è stabile e screen-reader/agenti non leggono mai testo
   invisibile a metà reveal. Il movimento di risalita resta. */
@keyframes mc-hero-rise{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
.mc-hw{ display:inline-block; opacity:0; will-change:transform,opacity;
        animation:mc-hero-rise .64s cubic-bezier(.16,1,.3,1) both; }
.mc-hrise{ opacity:0; will-change:transform,opacity;
        animation:mc-hero-rise .64s cubic-bezier(.16,1,.3,1) both; }
@media (prefers-reduced-motion: reduce){
  .mc-hw, .mc-hrise{ opacity:1 !important; transform:none !important; animation:none !important; }
}

/* === Nastro "Favola" sulle card articoli (/letture) =========================
   Iniettato lato server (core/favole.php) dentro la <a.lt-cover> degli articoli
   che hanno una favola collegata. Pillola arancio in basso a destra: l'angolo
   libero della card (il CTA "Apri" sta in basso a sinistra, il titolo sopra). */
.lt-cover .lt-favola{
  position:absolute; z-index:4;
  right:clamp(13px,1.8vw,18px); bottom:clamp(15px,2vw,21px);
  display:inline-flex; align-items:center; gap:6px;
  font:700 0.66rem/1 'DM Sans',sans-serif; letter-spacing:0.08em; text-transform:uppercase;
  color:#FFFBF4;
  background:linear-gradient(135deg,#E97E3A,#C25E1F);
  padding:6px 11px 6px 9px; border-radius:999px;
  box-shadow:0 6px 16px -5px rgba(194,94,31,0.65), 0 0 0 1px rgba(255,255,255,0.12) inset;
  pointer-events:none; /* la card e' l'unico link */
  transform:translateY(0); transition:transform 280ms cubic-bezier(0.16,1,0.3,1), box-shadow 280ms;
}
.lt-cover .lt-favola svg{ width:13px; height:13px; flex:0 0 auto; }
.lt-cover:hover .lt-favola{ transform:translateY(-2px); box-shadow:0 12px 24px -8px rgba(194,94,31,0.8), 0 0 0 1px rgba(255,255,255,0.18) inset; }
/* Anteprime articoli (/letture): via la numerazione dalle card */
.lt-cover .lt-cover-n, .lt-cover-meta .lt-cover-n { display: none !important; }

/* === Contatti: form a meta' larghezza + pannello "invito" (spina rispettata) ==
   Il form prima viveva fuori da .px-sec (largo quanto la pagina, senza senso).
   Ora sta in una griglia 2 colonne dentro .px-sec: a sinistra il form, a destra
   un pannello che invoglia al contatto. Su mobile -> colonna singola, form prima. */
.px-scrivici .px-contact-grid{
  display:grid; grid-template-columns:1.04fr 0.96fr;
  gap:clamp(26px,3.5vw,56px); align-items:start;
  margin-top:clamp(26px,3.5vw,40px);
}
.px-contact-form{ min-width:0; }
.px-contact-form .mc-lead-intro{ display:none; } /* niente doppio incipit: lo dice gia' il testo sezione */
.px-contact-form .mc-form, .px-contact-form form{ max-width:none; width:100%; }

.px-contact-invite{
  background:linear-gradient(162deg,#FBF5EE 0%, #F4EBFB 100%);
  border:1px solid rgba(79,45,127,0.10);
  border-radius:24px; padding:clamp(26px,3vw,38px);
}
.px-contact-invite h3{
  font:400 clamp(1.4rem,2.3vw,1.85rem)/1.16 'Young Serif',Georgia,serif;
  color:#1F1633; margin:0 0 14px; max-width:20ch;
}
.px-contact-invite > p{ font:400 1.02rem/1.62 'DM Sans',sans-serif; color:#4A3F5C; margin:0 0 22px; }
.px-invite-list{ list-style:none; margin:0 0 24px; padding:0; display:grid; gap:14px; }
.px-invite-list li{
  position:relative; padding-left:32px;
  font:400 0.99rem/1.5 'DM Sans',sans-serif; color:#1F1633;
}
.px-invite-list li strong{ font-weight:600; }
.px-invite-list li::before{
  content:""; position:absolute; left:0; top:1px;
  width:21px; height:21px; border-radius:50%;
  background:rgba(233,126,58,0.16);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C25E1F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:12px;
}
.px-invite-alt{ border-top:1px solid rgba(79,45,127,0.12); padding-top:20px; }
.px-invite-alt .lab{ display:block; font:600 0.78rem/1 'DM Sans',sans-serif; letter-spacing:0.04em; text-transform:uppercase; color:#4F2D7F; margin:0 0 12px; }
.px-invite-link{
  display:inline-flex; align-items:center; gap:9px;
  font:600 0.98rem/1.3 'DM Sans',sans-serif; color:#1F1633 !important; text-decoration:none !important;
  padding:8px 0; margin-right:22px;
}
.px-invite-link svg{ width:18px; height:18px; color:#C25E1F; flex:0 0 auto; }
.px-invite-link:hover{ color:#C25E1F !important; }
@media (max-width:840px){
  .px-scrivici .px-contact-grid{ grid-template-columns:1fr; gap:28px; }
}

/* === Sezione Impatto home — "la costellazione dell'impatto" ===================
   Riprogetto (skill impeccable, registro brand): territorio tangibile reso come
   costellazione on-brand (cometa/stelle). 6 regioni + Mali, numeri SOLO verificati
   (audit ufficiale), esito 2024 come punch umano. Viola serio, mai flat. Spina:
   .mci centrato a var(--content-max). */
.mc-impatto2{
  position:relative; overflow:hidden; color:#FBF5EE;
  background:
    radial-gradient(ellipse 58% 48% at 16% 94%, rgba(233,126,58,0.30), transparent 60%),
    radial-gradient(ellipse 72% 56% at 90% 4%, rgba(79,45,127,0.55), transparent 62%),
    linear-gradient(168deg, #2C1A56 0%, #3A2168 48%, #4F2D7F 100%);
  padding-block:clamp(58px,8vw,108px);
}
.mci{ position:relative; z-index:2; max-width:var(--content-max,1200px); margin:0 auto; padding-inline:var(--content-pad,clamp(20px,4vw,32px)); }
.mci-spark{ width:14px; height:14px; flex:0 0 auto; background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.45 4.06 2.69 6.3 6.75 6.75-4.06.45-6.3 2.69-6.75 6.75-.45-4.06-2.69-6.3-6.75-6.75C9.31 8.3 11.55 6.06 12 2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.45 4.06 2.69 6.3 6.75 6.75-4.06.45-6.3 2.69-6.75 6.75-.45-4.06-2.69-6.3-6.75-6.75C9.31 8.3 11.55 6.06 12 2z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* starfield di fondo */
.mci-stars{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.mci-stars i{ position:absolute; width:2px; height:2px; border-radius:50%; background:#FBF5EE; opacity:.3; animation:mci-tw 5s ease-in-out infinite; }
.mci-stars i:nth-child(1){top:12%;left:9%}.mci-stars i:nth-child(2){top:24%;left:82%;animation-delay:1.1s}.mci-stars i:nth-child(3){top:40%;left:30%;animation-delay:2.2s}.mci-stars i:nth-child(4){top:62%;left:88%;animation-delay:.6s}.mci-stars i:nth-child(5){top:80%;left:14%;animation-delay:1.7s}.mci-stars i:nth-child(6){top:16%;left:54%;animation-delay:3s}.mci-stars i:nth-child(7){top:54%;left:6%;animation-delay:2.5s}.mci-stars i:nth-child(8){top:86%;left:60%;animation-delay:.9s}.mci-stars i:nth-child(9){top:34%;left:68%;animation-delay:3.4s}.mci-stars i:nth-child(10){top:70%;left:40%;animation-delay:1.4s}.mci-stars i:nth-child(11){top:8%;left:34%;animation-delay:2.8s}.mci-stars i:nth-child(12){top:48%;left:95%;animation-delay:.3s}

.mci-head{ max-width:54ch; }
.mci-eyebrow{ display:inline-flex; align-items:center; gap:9px; font:700 .74rem/1 'DM Sans',sans-serif; letter-spacing:.16em; text-transform:uppercase; color:#F2B645; margin:0 0 18px; }
.mci-title{ font:400 clamp(1.9rem,3.7vw,3rem)/1.12 'Young Serif',Georgia,serif; letter-spacing:-.015em; color:#FBF5EE; margin:0 0 18px; }
.mci-title em{ font-style:normal; color:#F2B645; }
.mci-lead{ font:400 clamp(1.02rem,1.5vw,1.18rem)/1.6 'DM Sans',sans-serif; color:rgba(251,245,238,.82); margin:0; max-width:60ch; }

.mci-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(30px,5vw,72px); align-items:center; }
.mci-grid .mci-head{ max-width:38ch; }

/* stella cometa: scia che attraversa la sezione (testa AVANTI, scia DIETRO).
   Si muove in basso-a-destra; la testa (::after) sta sul lato destro = davanti,
   la scia (::before, sfuma verso sinistra) resta dietro. Direzione corretta. */
.mci-comet{ position:absolute; top:12%; left:0; width:170px; height:2px; z-index:1; pointer-events:none;
  opacity:0; will-change:transform,opacity; animation:mci-comet 8s ease-in infinite; }
.mci-comet::before{ content:""; position:absolute; inset:0; border-radius:2px;
  background:linear-gradient(90deg, transparent, rgba(242,182,69,.95)); }
.mci-comet::after{ content:""; position:absolute; right:-2px; top:-2.5px; width:7px; height:7px; border-radius:50%;
  background:#FFF7E8; box-shadow:0 0 13px 3px rgba(242,182,69,.95); }

.mci-side{ min-width:0; }
.mci-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,2vw,22px); padding-bottom:clamp(22px,3vw,30px); border-bottom:1px solid rgba(251,245,238,.16); }
.mci-stat b{ display:block; font:400 clamp(2rem,3.4vw,2.9rem)/1 'Young Serif',serif; color:#F2B645; letter-spacing:-.01em; }
.mci-stat span{ display:block; margin-top:7px; font:500 .76rem/1.32 'DM Sans',sans-serif; color:rgba(251,245,238,.8); }

.mci-year{ margin-top:clamp(22px,3vw,30px); }
.mci-year-lab{ display:inline-flex; align-items:center; gap:8px; font:700 .72rem/1 'DM Sans',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:#F2B645; margin:0 0 14px; }
.mci-year-big{ font:400 clamp(1.25rem,2.1vw,1.62rem)/1.34 'Young Serif',Georgia,serif; color:#FBF5EE; margin:0 0 12px; }
.mci-year-big .n{ color:#F2B645; }
.mci-year-micro{ font:400 .98rem/1.55 'DM Sans',sans-serif; color:rgba(251,245,238,.7); margin:0; max-width:50ch; }

.mci-mali{ display:flex; align-items:center; gap:clamp(14px,2vw,22px); margin-top:clamp(34px,5vw,56px); padding:20px clamp(20px,3vw,30px); border-radius:18px; background:linear-gradient(100deg, rgba(233,126,58,.18), rgba(251,245,238,.04)); border:1px solid rgba(233,126,58,.32); text-decoration:none; transition:transform .24s, border-color .24s, background .24s; }
.mci-mali:hover{ transform:translateY(-2px); border-color:rgba(233,126,58,.6); background:linear-gradient(100deg, rgba(233,126,58,.26), rgba(251,245,238,.06)); }
.mci-mali-k{ flex:0 0 auto; font:700 .72rem/1.3 'DM Sans',sans-serif; letter-spacing:.1em; text-transform:uppercase; color:#F2B645; }
.mci-mali-t{ flex:1 1 auto; font:400 1rem/1.5 'DM Sans',sans-serif; color:#FBF5EE; }
.mci-mali-t strong{ font-weight:700; color:#FFE7C2; }
.mci-mali-arr{ flex:0 0 auto; font-size:1.4rem; color:#F2B645; transition:transform .24s; }
.mci-mali:hover .mci-mali-arr{ transform:translateX(5px); }

@keyframes mci-tw{0%,100%{opacity:.4}50%{opacity:.95}}
@keyframes mci-comet{
  0%   { opacity:0; transform:translate(-190px,-24px) rotate(14deg); }
  5%   { opacity:1; }
  17%  { opacity:1; }
  24%, 100% { opacity:0; transform:translate(118vw,44vh) rotate(14deg); }
}

@media (max-width:900px){
  .mci-grid{ grid-template-columns:1fr; gap:22px; }
  .mci-grid .mci-head{ max-width:none; }
  .mci-stats{ grid-template-columns:repeat(2,1fr); row-gap:20px; }
  .mci-mali{ flex-wrap:wrap; gap:10px; }
}
@media (prefers-reduced-motion:reduce){
  .mci-stars i,.mci-comet{ animation:none !important; }
}

/* ============================================================
   Home tweaks (giu 2026): storie order, affido CTA, regioni, aziende mobile
   ============================================================ */

/* — Storie: heading + "Leggi tutte" in riga (desktop), bottone in fondo (mobile) — */
.mc-stories-wrap{ display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:28px; row-gap:6px; }
.mc-stories-wrap .mc-stories-eyebrow{ grid-column:1; grid-row:1; margin:0; }
.mc-stories-wrap .mc-stories-title{ grid-column:1; grid-row:2; margin:0; }
.mc-stories-wrap .mc-stories-all{ grid-column:2; grid-row:1 / 3; justify-self:end; align-self:center; margin:0; }
.mc-stories-wrap .mcsh-grid{ grid-column:1 / -1; margin-top:clamp(26px,3.5vw,42px); }
/* fallback se wpautop avvolge lo shortcode in <p> */
.mc-stories-wrap > p:has(.mcsh-grid){ grid-column:1 / -1; margin:clamp(26px,3.5vw,42px) 0 0; }
@media (max-width:781px){
  .mc-stories-wrap{ display:flex; flex-direction:column; align-items:stretch; }
  .mc-stories-wrap .mc-stories-eyebrow{ order:1; }
  .mc-stories-wrap .mc-stories-title{ order:2; }
  .mc-stories-wrap .mcsh-grid,
  .mc-stories-wrap > p:has(.mcsh-grid){ order:3; margin-top:22px; }
  .mc-stories-wrap .mc-stories-all{ order:4; margin-top:22px; }
  .mc-stories-wrap .mc-stories-all .wp-block-button{ width:100%; }
  .mc-stories-wrap .mc-stories-all .wp-block-button__link{ display:block; text-align:center; }
}

/* — Affido "L'affido fa paura": bottone "Parla con noi" allineato a destra (desktop) — */
.mc-section .wp-block-column:has(> .mc-check-list) .wp-block-buttons{ justify-content:flex-end; }
@media (max-width:781px){
  .mc-section .wp-block-column:has(> .mc-check-list) .wp-block-buttons{ justify-content:stretch; margin-top:8px; }
  .mc-section .wp-block-column:has(> .mc-check-list) .wp-block-buttons .wp-block-button{ width:100%; }
  .mc-section .wp-block-column:has(> .mc-check-list) .wp-block-buttons .wp-block-button__link{ display:block; text-align:center; }
}

/* — Regioni: "Trova la sede vicino a te" equidistante da hero e regioni (mobile) — */
@media (max-width:899px){
  body.home .mc-dove-siamo-sec{ padding-top:20px !important; padding-bottom:20px !important; }
  body.home .mc-dove-siamo-sec .header h2{ margin-top:0 !important; margin-bottom:18px !important; }
}

/* — Aziende: su mobile la card usa una colonna piena (no colonna fissa 284px) — */
@media (max-width:781px){
  .page-id-14 .mc-aziende-grid{ grid-template-columns:1fr !important; gap:28px !important; }
}

/* === #mcbg perf su mobile: meno blob + blur più leggero (GPU fascia bassa) === */
@media (max-width: 760px){
  #mcbg b { filter: blur(46px) !important; }
  #mcbg .b5, #mcbg .b6, #mcbg .b7, #mcbg .b8 { display: none !important; }
}

/* Eventi: filtro + badge colore-regione (doc strategia: calendario, colore per regione) */
.mc-ev-filtri{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.mc-ev-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;border:1px solid #DCD3EA;background:#FFFBF4;color:#1F1633;font:600 .85rem/1 'DM Sans',sans-serif;text-decoration:none;transition:border-color .2s}
.mc-ev-chip:hover{border-color:#4F2D7F}
.mc-ev-chip.is-on{background:#4F2D7F;color:#FFFBF4;border-color:#4F2D7F}
.mc-ev-dot{width:9px;height:9px;border-radius:999px;background:var(--rc,#4F2D7F);display:inline-block;flex:0 0 auto}
.mc-ev-chip.is-on .mc-ev-dot{background:#FFFBF4}
.mc-ev-reg{display:inline-flex;align-items:center;gap:6px;font:600 .78rem/1 'DM Sans',sans-serif;color:var(--rc,#4F2D7F);margin:0 0 8px}
.mc-ev-filtri-tipo{margin-top:-8px;margin-bottom:28px}
.mc-ev-filtri-tipo .mc-ev-chip.is-on{background:#E97E3A;border-color:#E97E3A}
.mc-ev-news{margin:clamp(36px,5vw,56px) 0 0;border-radius:24px;background:linear-gradient(135deg,#4F2D7F,#371E5C);color:#FFFBF4;padding:clamp(28px,4vw,44px)}
.mc-ev-news-in{max-width:560px}
.mc-ev-news h3{font:500 clamp(1.4rem,2.4vw,1.85rem)/1.15 'Young Serif',Georgia,serif;color:#FFFBF4;margin:0 0 10px}
.mc-ev-news p{font:400 1rem/1.55 'DM Sans',sans-serif;color:rgba(255,251,244,.9);margin:0 0 18px}
.mc-ev-news-form{display:flex;gap:10px;flex-wrap:wrap}
.mc-ev-news-form input[type=email]{flex:1 1 220px;min-width:0;border:0;border-radius:999px;padding:13px 18px;font:400 1rem/1 'DM Sans',sans-serif;color:#1F1633}
.mc-ev-news-form .mc-btn{background:#E97E3A;color:#FFFBF4;border:0}
.mc-ev-news-form .mc-btn:hover{background:#C25E1F}

/* Cookie banner: restyle brand + rimozione watermark (audit + richiesta) */
.cookieadmin-poweredby{display:none!important}
#cookieadmin_notice{background:#FFFBF4!important;border:1px solid rgba(79,45,127,.16)!important;border-radius:24px!important;box-shadow:0 24px 60px -20px rgba(31,22,51,.30)!important;font-family:'DM Sans',system-ui,-apple-system,sans-serif!important}
#cookieadmin_notice_title{font-family:'Young Serif',Georgia,serif!important;color:#1F1633!important;font-weight:400!important;letter-spacing:-.01em!important}
#cookieadmin_notice .cookieadmin_desc,#cookieadmin_notice p{color:#4A3F5C!important;line-height:1.55!important}
#cookieadmin_notice .cookieadmin_btn{border-radius:999px!important;font-family:'DM Sans',sans-serif!important;font-weight:600!important;padding:11px 22px!important;transition:transform .2s,background .2s,border-color .2s,color .2s!important}
#cookieadmin_notice .cookieadmin_accept_btn{background:#E97E3A!important;border:1px solid #E97E3A!important;color:#FFFBF4!important}
#cookieadmin_notice .cookieadmin_accept_btn:hover{background:#C25E1F!important;border-color:#C25E1F!important;transform:translateY(-1px)!important}
#cookieadmin_notice .cookieadmin_reject_btn{background:transparent!important;border:1px solid #4F2D7F!important;color:#4F2D7F!important}
#cookieadmin_notice .cookieadmin_reject_btn:hover{background:#4F2D7F!important;color:#FFFBF4!important}
#cookieadmin_notice .cookieadmin_customize_btn{background:transparent!important;border:none!important;color:#4F2D7F!important;text-decoration:underline!important;text-underline-offset:3px!important}
#cookieadmin_notice .cookieadmin_customize_btn:hover{color:#371E5C!important}
.cookieadmin_cookie_modal .cookieadmin_btn{border-radius:999px!important;font-weight:600!important}
.cookieadmin_cookie_modal .cookieadmin_accept_btn,.cookieadmin_cookie_modal .cookieadmin_save_btn{background:#E97E3A!important;border-color:#E97E3A!important;color:#FFFBF4!important}
.cookieadmin_cookie_modal .cookieadmin_reject_btn{border:1px solid #4F2D7F!important;color:#4F2D7F!important;background:transparent!important}

/* === FIX anti bianco-su-chiaro: px-stats bg viola SEMPRE === */
/* .px-sec forza background:transparent!important; se combinato con .px-stats il viola spariva
   -> testo bianco su crema. Questa regola (dopo, stessa specificita + !important) lo ripristina. */
.px-stats{ background:linear-gradient(180deg,#4F2D7F,#371E5C)!important; color:#FFFBF4!important; }
.px-stats .px-h2,.px-stats .px-text,.px-stats .eyebrow{ color:#FFFBF4!important; }
.px-stats .eyebrow{ color:#F2B645!important; }

/* === Admin bar WP: non sovrapporre l'header fisso (solo utenti loggati) === */
body.admin-bar .mc-header-wrap{ top:32px!important; }
@media screen and (max-width:782px){ body.admin-bar .mc-header-wrap{ top:46px!important; } }

/* Photoband: foto full-bleed che spezza il ritmo (pagine lunghe) */
.mc-photoband{position:relative;width:100vw;margin:0 calc(50% - 50vw);height:clamp(240px,40vw,460px);overflow:hidden;display:block}
.mc-photoband img{width:100%;height:100%;object-fit:cover;display:block}
.mc-photoband figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px clamp(22px,5vw,64px) 24px;background:linear-gradient(transparent,rgba(31,22,51,.6));color:#FFFBF4;font:500 clamp(1.05rem,1.9vw,1.4rem)/1.4 'Young Serif',Georgia,serif;max-width:var(--content-max,1200px);margin:0 auto}

/* ===== Photoband parallax: desktop=fixed, mobile=static. JS aggiunge .pb-on;
   se il JS non parte resta l'<img> cover (rischio zero). ===== */
.mc-photoband.pb-on{background-position:center;background-size:cover}
.mc-photoband.pb-on>img{visibility:hidden}
@media (min-width:820px){.mc-photoband.pb-on{background-attachment:fixed}}
