/* =============================================================================
   MUSEI CIVICI — PIXEL-PERFECT ADDITIONS
   Vedi `CONVENTIONS.md` (root tema) per il pattern. Tutte le regole sono
   scoped sotto `.mc-page` o sotto componenti `.mc-*` specifici. Per il
   debito tecnico sull'uniformazione dei selettori vedi `TECH_DEBT.md`.
   Append-only file. Caricato dopo musei-civici.css per override mirati.
   Tutti i selettori prefissati .mc-page (specificità minima 0,2,0).
   No !important salvo casi documentati. No font esterni. No modifiche PHP.
   ============================================================================= */


/* ============================================================================
   GLOBAL — CONTAINER WIDTH (vale per tutte le pagine A/B/C/D)
   ============================================================================ */

/* fix: nel Figma il design è progettato a 1440px. Su schermi più larghi le
   sezioni interne devono restare centrate con max-width 1440px (le bg colorate
   restano edge-to-edge perché la bg è sulla section esterna).

   Strategia:
   - Le sezioni con bg colorato (.mc-lhero, .mc-feed) restano full-width;
     il loro contenuto interno (.mc-lhero__copy, .mc-feed__card) è capped.
   - Le sezioni con bg trasparente/bianco (.mc-bc, .mc-filt, .mc-list, .mc-main)
     vengono cappate direttamente loro stesse a 1440px con margin auto.
*/

:root { --mc-container-max: 1440px; }

/* Sezioni a contenuto centrato (bg neutro) */
.mc-page .mc-bc,
.mc-page .mc-filt,
.mc-page .mc-list,
.mc-page .mc-main {
   max-width: var(--mc-container-max);
   margin-left: auto;
   margin-right: auto;
}

/* Hero listing: bg full-width, contenuto interno capped */
.mc-page .mc-lhero {
   /* bg resta full-width (già sulla section esterna) */
   padding-left: 0;
   padding-right: 0;
}
.mc-page .mc-lhero__copy {
   width: 100%;
   max-width: var(--mc-container-max);
   margin: 0 auto;
   padding-left: var(--mc-safe);
   padding-right: var(--mc-safe);
   box-sizing: border-box;
}

/* Hero single (split copy + img): bg full-width MA contenuto centrato max 1440.
   Pattern "inset boxed": padding-inline calcolato per spostare TUTTI i figli
   (copy + img) dentro il container centrato. Su schermi <=1440 il padding è 0,
   su schermi più larghi cresce in modo che il content sia max 1440 centrato.
   Risultato: bg arriva al viewport, ma copy e foto restano allineati al
   container come tutte le altre sezioni (.mc-bc, .mc-filt, .mc-list, .mc-main).
*/
.mc-page .mc-hero {
   max-width: none;
   padding-left: max(0px, calc((100% - var(--mc-container-max)) / 2));
   padding-right: max(0px, calc((100% - var(--mc-container-max)) / 2));
}
/* fix: copy items sempre allineati a sinistra, no centering, no margin-auto */
.mc-page .mc-hero__copy {
   align-items: flex-start;
}

/* Feedback section: bg full-width, card già centrata via flex */
.mc-page .mc-feed {
   /* bg resta full-width, no cap sulla section */
}


/* ============================================================================
   PAGINA A — LISTING SERVIZI (/servizi/)
   Frame Figma: [D] L 2liv _ Servizi.jpg + [M] L 2liv _ Servizi.jpg
   ============================================================================ */

/* --- Hero: pattern decorativo a onde diagonali sulla destra --- */
/* fix: nel Figma l'hero ha un pattern decorativo (linee curve diagonali bianche
   con opacity bassa) sulla metà destra. Replicato con SVG inline come
   background-image (data URI). */
.mc-page .mc-lhero {
   /* SVG inline: 4 linee curve diagonali parallele bianche, opacity 0.12.
      Il pattern occupa ~55% della destra dell'hero, con repeat-x. */
   background-image:
      url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 280' preserveAspectRatio='xMaxYMid slice'><g fill='none' stroke='%23ffffff' stroke-width='1' stroke-opacity='0.18'><path d='M 0 280 Q 150 200 300 220 T 600 180'/><path d='M -50 240 Q 100 160 250 180 T 550 140'/><path d='M -100 200 Q 50 120 200 140 T 500 100'/><path d='M -150 160 Q 0 80 150 100 T 450 60'/><path d='M -200 120 Q -50 40 100 60 T 400 20'/><path d='M -250 80 Q -100 0 50 20 T 350 -20'/><path d='M 0 320 Q 150 240 300 260 T 600 220'/></g></svg>"),
      linear-gradient(var(--mc-c-accent), var(--mc-c-accent));
   background-repeat: no-repeat, no-repeat;
   background-position: right center, center center;
   background-size: 55% 100%, 100% 100%;
}

/* --- Hero: titolo allineato a sinistra, sizing più contenuto del default --- */
/* fix: il default era 48/56 -2px. Nel Figma è ~40-44px senza letter-spacing
   negativo eccessivo. Allineato a sinistra. */
.mc-page .mc-lhero h1 {
   font: 700 44px/52px var(--mc-f-sans);
   letter-spacing: -1px;
   margin: 0;
}

/* --- Hero: rimuovi lead/excerpt, nel Figma sotto il titolo NON c'è testo --- */
/* fix: il template stampa il post_excerpt come <p> dentro mc-lhero__copy.
   Nel Figma il listing non ha sub-text. Hide solo per la pagina servizi. */
.mc-page .mc-lhero__copy p {
   display: none;
}

/* --- Hero: padding verticale moderato (Figma ~50-60px) --- */
.mc-page .mc-lhero {
   padding-top: 56px;
   padding-bottom: 56px;
   min-height: 0;
}

/* --- Filtri: layout più compatto, allineato a sinistra --- */
/* fix: nel Figma c'è un solo filtro "Luogo" largo ~280px allineato a sinistra
   con margine ~40px sopra e sotto. Il sito attuale ha 2 filtri (Stato + Ordina).
   Allargo il gap e tengo l'allineamento sinistro. Larghezza dropdown limitata. */
.mc-page .mc-filt {
   padding-top: 40px;
   padding-bottom: 8px;
}
.mc-page .mc-filt__item {
   flex: 0 1 280px;
   min-width: 220px;
}

/* --- Listing: padding e gap griglia (card "respirano" verticalmente) --- */
/* fix: nel Figma le card hanno gap orizzontale ~32px e gap verticale ~64-72px
   (il doppio dell'orizzontale per dare aria). Sito attuale: gap uniforme 40px. */
.mc-page .mc-list {
   padding-top: 40px;
   padding-bottom: 80px;
}
.mc-page .mc-list__grid {
   gap: 64px 32px;
}
@media (max-width: 991px) {
   .mc-page .mc-list__grid {
      gap: 48px 24px;
   }
}
@media (max-width: 600px) {
   .mc-page .mc-list__grid {
      gap: 40px 0;
   }
}

/* --- Card servizio: layout puramente tipografico (no thumb, no badge) --- */
/* fix: il listing del Figma ha card flat senza immagine e senza badge.
   Sito attuale renderizza thumbnail e badge "Attivo" anche sul listing.
   Hide via CSS per la pagina servizi listing. */
.mc-page .mc-list__grid .mc-lcard__img {
   display: none;
}
.mc-page .mc-list__grid .mc-lcard__badges {
   display: none;
}

/* --- Card servizio: padding interno e linea separatrice violetta --- */
/* fix: la linea separatrice in basso card va color accent (#7D2670), non grigio
   né rosa-chiaro. È l'accento violetto pieno del kit Musei Civici. */
.mc-page .mc-list__grid .mc-lcard {
   padding-bottom: 24px;
   border-bottom: 1px solid var(--mc-c-accent);
   gap: 16px;
}

/* --- Card servizio: titolo con chevron > a destra (su 1 riga, justify space) --- */
/* fix: nel Figma il titolo card ha un chevron > sulla destra (indicatore
   "vai al dettaglio"). Replicato via ::after con SVG inline. Solo su card
   che linkano a un dettaglio (ovvero card che hanno href: tutte le mc-lcard
   sono <a> con href). */
.mc-page .mc-list__grid .mc-lcard__title {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   font: 700 22px/30px var(--mc-f-sans);
   color: var(--mc-c-text-base);
}
.mc-page .mc-list__grid .mc-lcard__title::after {
   content: "";
   flex-shrink: 0;
   width: 24px;
   height: 24px;
   background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237D2670' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") center / contain no-repeat;
   transition: transform 0.2s ease;
}
.mc-page .mc-list__grid .mc-lcard:hover .mc-lcard__title::after {
   transform: translateX(4px);
}

/* --- Card servizio: excerpt con line-height più aerato --- */
/* fix: il Figma usa line-height ~1.55 per il body card, e font sans
   (Titillium) anche per il body, non Lora. */
.mc-page .mc-list__grid .mc-lcard__excerpt {
   font: 400 16px/26px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   margin: 0;
}

/* --- Card servizio: link "Scopri il servizio" --- */
/* fix: nel Figma, sotto l'excerpt c'è un link "Scopri il servizio" colore
   accent (violetto), no underline, sans bold ~14-15px, che funge da CTA. */
.mc-page .mc-list__grid .mc-lcard__cta {
   font: 700 15px/24px var(--mc-f-sans);
   color: var(--mc-c-accent);
   text-decoration: none;
   margin-top: 8px;
   display: inline-block;
   transition: color 0.15s ease;
}
.mc-page .mc-list__grid .mc-lcard:hover .mc-lcard__cta {
   color: var(--mc-c-accent-dark);
}

/* --- Card servizio: body padding interno --- */
.mc-page .mc-list__grid .mc-lcard__body {
   padding: 0;
   gap: 16px;
}

/* --- Mobile: hero compatto + filtri full-width --- */
@media (max-width: 600px) {
   .mc-page .mc-lhero {
      padding: 40px 24px;
   }
   .mc-page .mc-lhero h1 {
      font: 700 32px/40px var(--mc-f-sans);
      letter-spacing: -0.5px;
   }
   .mc-page .mc-lhero {
      background-size: 100% 100%, 100% 100%;
   }
   .mc-page .mc-filt {
      padding-top: 32px;
      padding-bottom: 0;
   }
   .mc-page .mc-filt__item {
      flex: 1 1 100%;
   }
   .mc-page .mc-list {
      padding-top: 32px;
   }
   .mc-page .mc-list__grid .mc-lcard__title {
      font: 700 20px/28px var(--mc-f-sans);
   }
}


/* ============================================================================
   FINE PAGINA A
   ============================================================================ */


/* ============================================================================
   GLOBAL OVERRIDE — applicabili a B + altre pagine simili
   ============================================================================ */

/* --- Badge "Attivo": rosa-lilla con bordo viola (no green) --- */
/* fix: nel Figma del dettaglio il badge "Attivo" è bg accent-lighter (#F6EFF5)
   con bordo 1px violet, NON success-green (verde) come default mc-badge--active. */
.mc-page .mc-badge--active {
   background: var(--mc-c-accent-lighter);
   color: var(--mc-c-accent);
   border: 1px solid var(--mc-c-accent);
   padding: 3px 14px;
   border-radius: 4px;
   font: 600 13px/16px var(--mc-f-sans);
}

/* --- Feedback section: bg accent (non accent-dark) --- */
/* fix: nel Figma il bg della sezione feedback è violet pieno #7D2670
   (= --mc-c-accent), non il darker #5E1D54. */
.mc-page .mc-feed {
   background: var(--mc-c-accent);
   padding-top: 64px;
   padding-bottom: 64px;
}

/* --- Feedback card: padding e shadow più curati --- */
.mc-page .mc-feed__card {
   padding: 32px 40px;
   box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
   max-width: 700px;
}
.mc-page .mc-feed__title {
   font: 600 24px/32px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   text-align: center;
   margin: 0;
   letter-spacing: 0;
}


/* ============================================================================
   PAGINA B — DETTAGLIO SERVIZIO (/servizio/<slug>/)
   Frame Figma: [D] Foglia _ Servizio.jpg + [M] Foglia _ Servizio.jpg
   ============================================================================ */

/* --- Hero: titolo H1 — spec PDF Figma: 48/56 --- */
.mc-page .mc-hero__title {
   font: 700 48px/56px var(--mc-f-sans);
   letter-spacing: 0;
}

/* --- Hero: gap copy interno --- */
.mc-page .mc-hero__copy {
   gap: 32px;
   padding-top: 48px;
   padding-bottom: 48px;
}
.mc-page .mc-hero__copy-block {
   gap: 16px;
}

/* --- Hero sub: spec Figma 18/28 in serif Lora (body/intro) --- */
.mc-page .mc-hero__sub {
   font: 400 18px/28px var(--mc-f-serif);
   color: var(--mc-c-text-base);
}

/* --- Hero actions: dropdown Condividi + Altre azioni (pattern Bootstrap Italia) --- */
/* I dropdown del tema usano classi BI: .dropdown / .btn-dropdown / .dropdown-menu /
   .link-list. Allineato in basso a sinistra dello mc-hero__copy come nel pattern
   single-oggetto-reperto.php (margin-top:auto consuma lo spazio sopra spingendo
   il blocco al fondo del flex column). */
.mc-page .mc-hero__actions {
   display: flex;
   align-items: center;
   gap: 24px;
   align-self: flex-start;
   margin-top: auto;
}
.mc-page .mc-hero__actions .btn-dropdown {
   padding: 4px 0;
   color: var(--mc-c-text-secondary);
   font: 600 14px/20px var(--mc-f-sans);
}
.mc-page .mc-hero__actions .btn-dropdown:hover,
.mc-page .mc-hero__actions .btn-dropdown:focus {
   color: var(--mc-c-accent);
}
.mc-page .mc-hero__actions .btn-dropdown svg {
   flex-shrink: 0;
}


/* --- Sidebar Indice: typography esatta da specifica utente --- */
/* spec: Titillium Web 600 semibold, 18/28, letter-spacing 0.
   Applicato sia al titolo "Indice della pagina" sia alle voci della lista. */
.mc-page .mc-nav__title {
   font: 600 18px/28px var(--mc-f-sans);
   letter-spacing: 0;
   color: var(--mc-c-text-base);
   padding: 16px 24px 12px;
   text-transform: none;
   margin-bottom: 0;
   border-bottom: 3px solid var(--mc-c-border-light);
}

/* Progress bar: visibile, gestita da Bootstrap Italia [data-bs-navscroll]
   con .it-navscroll-progressbar che aggiorna step-by-step lo scroll. */


/* Prima voce: padding-top come le altre voci (12px) */
.mc-page .mc-side .mc-nav__list .mc-nav__item:first-child a {
   padding-top: 12px;
}
/* Title indice tutto maiuscolo (come pagina luogo) */
.mc-page .mc-nav__title {
   text-transform: uppercase;
}
/* Toggle button (accordion-button BI): override stile pixel-perfect */
.mc-page .mc-side .accordion-button.mc-nav__title {
   font: 600 18px/28px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   background: transparent;
   padding: 16px 24px 12px;
   width: 100%;
   text-align: left;
   border: 0;
   border-bottom: 3px solid var(--mc-c-border-light);
   border-radius: 0;
   box-shadow: none;
}
.mc-page .mc-side .accordion-button.mc-nav__title:focus,
.mc-page .mc-side .accordion-button.mc-nav__title:not(.collapsed) {
   background: transparent;
   color: var(--mc-c-text-base);
   box-shadow: none;
}
/* Accordion-button con title tutto maiuscolo */
.mc-page .mc-side .accordion-button.mc-nav__title {
   text-transform: uppercase;
}

/* Spec utente: padding 12px 24px, font 600 18/28 Titillium, border-left 3px nero
   sull'item attivo. Reset border BI .nav-link, poi imposta solo border-left. */
.mc-page .mc-side .navbar .link-list-wrapper .mc-nav__item a,
.mc-page .mc-side .mc-nav__item a {
   font: 600 18px/28px var(--mc-f-sans);
   letter-spacing: 0;
   color: var(--mc-c-accent);
   padding: 12px 24px;
   margin: 0;
   border: 0 !important;
   border-left: 3px solid transparent !important;
   border-radius: 0 !important;
   transition: color 0.15s ease, border-color 0.15s ease;
   text-decoration: none;
   display: block;
}
.mc-page .mc-side .navbar .link-list-wrapper .mc-nav__item.is-active a,
.mc-page .mc-side .navbar .link-list-wrapper .mc-nav__item a.active,
.mc-page .mc-side .mc-nav__item.is-active a,
.mc-page .mc-side .mc-nav__item a.active {
   color: var(--mc-c-text-base) !important;
   border-left: 3px solid var(--mc-c-text-base) !important;
}
.mc-page .mc-side .mc-nav__item:not(.is-active) a:not(.active):hover {
   color: var(--mc-c-accent-dark);
}
/* Accordion-body: rimuovi padding default BI per allineare la lista col bordo */
.mc-page .mc-side .accordion-body {
   padding: 0;
}
/* Progress bar: track grigio + fill violet (#7D2670) */
.mc-page .mc-side .progress.mc-nav__progress {
   height: 4px;
   margin: 0;
   background: #D9DADB;
   overflow: hidden;
}
.mc-page .mc-side .progress-bar.mc-nav__progress-bar {
   background: var(--mc-c-accent);
   transition: width 0.25s ease;
}

/* --- Sidebar progress bar: thinner --- */
.mc-page .mc-nav__progress {
   height: 2px;
   margin-bottom: 8px;
}

/* --- Sezioni h2: spec PDF Figma 40/48 --- */
.mc-page .mc-content .mc-sec h2 {
   font: 700 40px/48px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   margin: 0 0 8px 0;
   letter-spacing: 0;
}

/* --- Sezioni: gap interno e padding sopra moderati --- */
.mc-page .mc-content .mc-sec {
   padding: 40px 0;
   gap: 16px;
}
/* Prima sezione: padding-top 0 in modo che il primo H2 sia allineato col
   top del titolo "Indice della pagina" della sidebar. */
.mc-page .mc-content .mc-sec:first-child {
   padding-top: 0;
}

/* --- Body sezione: spec Figma 18/28 in Lora (serif) --- */
/* Tutte le body delle sezioni (Descrizione, Orari, Costi, Prenotazione intro,
   Dove, Accessibilità, Ulteriori) sono in Lora come da Figma. */
.mc-page .mc-content .mc-sec p,
.mc-page .mc-content .mc-sec li {
   font: 400 18px/28px var(--mc-f-serif);
   color: var(--mc-c-text-base);
   letter-spacing: 0;
}


/* --- Sezione Prenotazione: intro + 2 colonne tel/email + CTA bottone --- */
/* spec PDF: label 24px bold (come Contatti), valore 18/28 link viola, intro
   "Oppure prenota online:" 18/28, bottone "Prenota online" violet primary. */
.mc-page .mc-content .mc-sec#prenotazione {
   gap: 24px;
}
.mc-page .mc-prenot__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 24px 32px;
   margin-top: 8px;
}
@media (max-width: 600px) {
   .mc-page .mc-prenot__grid {
      grid-template-columns: 1fr;
   }
}
.mc-page .mc-prenot__col {
   display: flex;
   flex-direction: column;
   gap: 8px;
}
.mc-page .mc-prenot__label {
   font: 700 24px/32px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   margin: 0;
   letter-spacing: 0;
}
.mc-page .mc-prenot__value {
   font: 400 18px/28px var(--mc-f-sans);
   margin: 0;
   letter-spacing: 0;
}
.mc-page .mc-prenot__value a {
   color: var(--mc-c-accent);
   text-decoration: underline;
   text-underline-offset: 2px;
}
.mc-page .mc-prenot__value a:hover {
   text-decoration: none;
}
.mc-page .mc-prenot__cta-text {
   font: 400 18px/28px var(--mc-f-serif);
   color: var(--mc-c-text-base);
   margin: 16px 0 8px 0;
   letter-spacing: 0;
}
.mc-page .mc-prenot__cta {
   align-self: flex-start;
   width: -moz-fit-content;
   width: fit-content;
}

/* --- Card Place "Dove": no bg, titolo 32 violet, body 18/28 --- */
.mc-page .mc-card-place {
   background: transparent;
   border: 0;
   max-width: 100%;
   border-radius: 0;
}
.mc-page .mc-card-place:hover {
   box-shadow: none;
}
.mc-page .mc-card-place__body {
   padding: 32px;
   gap: 16px;
}
/* spec utente: heading3/h3-lg, weight 700 solid, 32/40, ls 0, color violet #7D2670 */
.mc-page .mc-card-place .mc-card-place__title,
h3.mc-card-place__title {
   font-family: var(--mc-f-sans);
   font-weight: 700;
   font-style: normal;
   font-size: 32px;
   line-height: 40px;
   letter-spacing: 0;
   color: var(--mc-c-accent);
   margin: 0;
}
.mc-page .mc-card-place__text {
   font: 400 18px/28px var(--mc-f-serif);
   color: var(--mc-c-text-base);
   letter-spacing: 0;
}


/* --- Galleria multimediale: grid 2 col × max 3 righe + paginazione --- */
.mc-page .mc-gallery {
   display: flex;
   flex-direction: column;
   gap: 24px;
   width: 100%;
}
.mc-page .mc-gallery__pages {
   position: relative;
}
.mc-page .mc-gallery__page {
   display: none;
}
.mc-page .mc-gallery__page.is-active {
   display: block;
}
.mc-page .mc-gallery__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 24px;
   width: 100%;
}
@media (max-width: 600px) {
   .mc-page .mc-gallery__grid {
      grid-template-columns: 1fr;
      gap: 16px;
   }
}

/* Item: aspect 4/3 fisso con object-fit cover per uniformità */
.mc-page .mc-gallery__item {
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: 8px;
}
.mc-page .mc-gallery__media {
   position: relative;
   display: block;
   aspect-ratio: 16/9;
   background: var(--mc-c-bg-muted);
   overflow: hidden;
   border-radius: 0;
   text-decoration: none;
}
/* Bottone immagine: reset chrome, mantiene ratio del media */
.mc-page .mc-gallery__media--btn {
   width: 100%;
   padding: 0;
   border: 0;
   margin: 0;
   color: inherit;
   font: inherit;
   text-align: left;
   cursor: zoom-in;
}
.mc-page .mc-gallery__media--btn:focus-visible {
   outline: 3px solid var(--mc-c-accent);
   outline-offset: 2px;
}
.mc-page .mc-gallery__media img,
.mc-page .mc-gallery__media video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.mc-page .mc-gallery__item--image .mc-gallery__media {
   cursor: zoom-in;
}
.mc-page .mc-gallery__item--image:hover .mc-gallery__media img {
   transform: scale(1.04);
   transition: transform .3s ease;
}
.mc-page .mc-gallery__item--image .mc-gallery__media img {
   transition: transform .3s ease;
}
/* Overlay icona "ingrandisci" che appare in hover su immagini */
.mc-page .mc-gallery__expand--inline {
   position: absolute;
   top: 8px;
   right: 8px;
   z-index: 2;
   width: 36px;
   height: 36px;
   border-radius: 4px;
   background: rgba(0, 0, 0, 0.6);
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   transition: opacity 0.2s ease;
   pointer-events: none;
}
.mc-page .mc-gallery__item--image:hover .mc-gallery__expand--inline,
.mc-page .mc-gallery__media--btn:focus-visible .mc-gallery__expand--inline {
   opacity: 1;
}
.mc-page .mc-gallery__expand--inline svg {
   width: 20px;
   height: 20px;
   fill: currentColor;
}

/* Embed iframe responsive dentro media */
.mc-page .mc-gallery__embed {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
}
.mc-page .mc-gallery__embed iframe,
.mc-page .mc-gallery__embed > * {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border: 0;
}

/* Bottone fullscreen sui video (file + embed) */
.mc-page .mc-gallery__expand {
   position: absolute;
   top: 8px;
   right: 8px;
   z-index: 2;
   width: 36px;
   height: 36px;
   padding: 0;
   border: 0;
   border-radius: 4px;
   background: rgba(0, 0, 0, 0.6);
   color: #fff;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background 0.2s ease;
}
.mc-page .mc-gallery__expand:hover,
.mc-page .mc-gallery__expand:focus {
   background: var(--mc-c-accent);
}
.mc-page .mc-gallery__expand svg {
   width: 20px;
   height: 20px;
   fill: currentColor;
}

/* Caption sotto media (titolo + autore) */
.mc-page .mc-gallery__caption {
   font: 400 14px/20px var(--mc-f-sans);
   color: var(--mc-c-text-muted);
   margin: 0;
   padding: 0;
}
.mc-page .mc-gallery__caption strong {
   font-weight: 600;
   color: var(--mc-c-text-base);
}

/* Pagination — componente Bootstrap Italia .pagination
   Markup identico a /esplora-il-museo/collezioni/; forziamo Titillium per
   sovrascrivere eventuali ereditarietà di .mc-page (font-serif Lora). */
.mc-page .mc-gallery__pagination .pagination,
.mc-page .mc-gallery__pagination .pagination .page-link {
   font-family: var(--mc-f-sans);
}

/* Modal lightbox immagine: contiene <img> centrata, fluida fino al body */
.mc-gallery-modal__image-wrap {
   max-height: 80vh;
   overflow: auto;
   background: #000;
}
.mc-gallery-modal__image-wrap img {
   max-width: 100%;
   max-height: 80vh;
   width: auto;
   height: auto;
   margin: 0 auto;
   display: block;
}


/* --- Galleria legacy carousel (Splide): mantengo regole vecchie per compat --- */
.mc-page .mc-content .mc-gal {
   gap: 32px;
}
.mc-page .mc-content .mc-gal__row {
   gap: 24px;
}
.mc-page .mc-content .mc-gal {
   gap: 32px;
}
.mc-page .mc-content .mc-gal__row {
   gap: 24px;
}
/* Cella della galleria: ratio 4/3 default, contiene img / video / iframe */
.mc-page .mc-content .mc-gal__item {
   margin: 0;
   position: relative;
   aspect-ratio: 4/3;
   background: var(--mc-c-bg-muted);
   overflow: hidden;
   display: flex;
   flex-direction: column;
}
.mc-page .mc-content .mc-gal__item img,
.mc-page .mc-content .mc-gal__item video,
.mc-page .mc-content .mc-gal__item iframe {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   border: 0;
}

/* Video file: HTML5 player nativo */
.mc-page .mc-content .mc-gal__item--video-file video {
   background: #000;
}

/* Video embed (oembed iframe responsive). ACF wraps oembed in <iframe>; il
   parent mc-gal__embed gestisce l'aspect 16/9 sovrascrivendo l'aspect 4/3
   del wrapper esterno. */
.mc-page .mc-content .mc-gal__item--video-embed {
   aspect-ratio: 16/9;
}
.mc-page .mc-content .mc-gal__embed {
   width: 100%;
   height: 100%;
   position: relative;
}
.mc-page .mc-content .mc-gal__embed iframe,
.mc-page .mc-content .mc-gal__embed video,
.mc-page .mc-content .mc-gal__embed > * {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border: 0;
}

/* Caption sotto ogni item (titolo + autore inline) */
.mc-page .mc-content .mc-gal__caption {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   padding: 8px 12px;
   font: 400 13px/18px var(--mc-f-sans);
   color: #fff;
   background: linear-gradient(transparent, rgba(0,0,0,.65));
}
.mc-page .mc-content .mc-gal__caption strong {
   font-weight: 600;
}

/* Credits in fondo alla galleria */
.mc-page .mc-content .mc-gal__creds {
   font: 400 14px/20px var(--mc-f-sans);
   color: var(--mc-c-text-muted);
   margin: 0;
}
.mc-page .mc-content .mc-gal__creds b {
   font-weight: 600;
   color: var(--mc-c-text-base);
}


/* --- Materiali scaricabili: spec PDF — title 18, size 18 muted --- */
.mc-page .mc-content .mc-docs__item {
   border-bottom-color: var(--mc-c-accent-lighter);
   padding: 18px 0;
   gap: 16px;
}
.mc-page .mc-content .mc-docs__title {
   font: 600 18px/24px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   letter-spacing: 0;
}
.mc-page .mc-content .mc-docs__size {
   font: 400 18px/24px var(--mc-f-sans);
   color: var(--mc-c-text-muted);
   display: inline;
   margin: 0;
   font-weight: 400;
}
.mc-page .mc-content .mc-docs__icon {
   width: 32px;
   height: 32px;
}
.mc-page .mc-content .mc-docs__icon svg {
   width: 28px;
   height: 28px;
}


/* --- Contatti: spec PDF — label 24/32 bold, value 18/28 link.
   fix 2026-05-09: gap 24px verticale / 32px orizzontale per allineare colonne
   tra righe; overflow-wrap:anywhere sui __value per evitare overflow su
   email/url lunghi. Vedi TECH_DEBT.md voce sulla standardizzazione contatti
   cross-template (Servizio già pixel-perfect, 7 legacy da allineare). --- */
.mc-page .mc-content .mc-contacts {
   gap: 24px 32px;
}
.mc-page .mc-content .mc-contacts__col {
   min-width: 0; /* permette al figlio di shrinkare e attivare overflow-wrap */
}
.mc-page .mc-content .mc-contacts__value,
.mc-page .mc-content .mc-contacts__value a {
   overflow-wrap: anywhere;
}
.mc-page .mc-content .mc-contacts__col {
   gap: 8px;
}
.mc-page .mc-content .mc-contacts__label {
   font: 700 24px/32px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   letter-spacing: 0;
}
.mc-page .mc-content .mc-contacts__value {
   font: 400 18px/28px var(--mc-f-sans);
   letter-spacing: 0;
}
.mc-page .mc-content .mc-contacts__list li {
   font: 400 18px/28px var(--mc-f-sans);
   color: var(--mc-c-text-base);
   letter-spacing: 0;
}


/* --- Last update: spec PDF 14 muted --- */
.mc-page .mc-last {
   padding: 16px 0 32px;
   font: 400 14px/20px var(--mc-f-sans);
   color: var(--mc-c-text-muted);
   letter-spacing: 0;
}


/* --- MOBILE override --- */
@media (max-width: 768px) {
   /* Hero mobile: img sotto il breadcrumb, poi copy.
      DOM: .mc-hero__copy → .mc-hero__img: con column-reverse l'img va sopra. */
   .mc-page .mc-hero {
      flex-direction: column-reverse;
   }
   .mc-page .mc-hero__copy {
      max-width: 100%;
      margin-left: 0;
      padding: 32px 24px;
      gap: 20px;
   }
   .mc-page .mc-hero__title {
      font: 700 32px/40px var(--mc-f-sans);
      letter-spacing: -0.5px;
   }
   .mc-page .mc-hero__sub {
      font-size: 15px;
      line-height: 24px;
   }

   /* Sidebar diventa stack verticale full-width */
   .mc-page .mc-side {
      width: 100%;
      position: static;
      padding-top: 24px;
   }
   .mc-page .mc-content {
      padding-top: 24px;
   }

   /* Sezioni h2 più piccoli */
   .mc-page .mc-content .mc-sec h2 {
      font: 700 26px/34px var(--mc-f-sans);
   }
   .mc-page .mc-content .mc-sec {
      padding: 24px 0;
   }

   /* Card Place: stack img sopra, body sotto */
   .mc-page .mc-card-place {
      flex-direction: column;
   }
   .mc-page .mc-card-place__img {
      min-height: 220px;
   }
   .mc-page .mc-card-place__body {
      padding: 24px;
   }
   .mc-page .mc-card-place__title {
      font: 700 22px/28px var(--mc-f-sans);
   }

   /* Contatti diventano colonna unica */
   .mc-page .mc-content .mc-contacts {
      grid-template-columns: 1fr;
      gap: 16px;
   }

   /* Galleria 1 col */
   .mc-page .mc-content .mc-gal__row {
      grid-template-columns: 1fr;
      gap: 16px;
   }

   /* Feedback compatto */
   .mc-page .mc-feed {
      padding: 40px 24px;
   }
   .mc-page .mc-feed__card {
      padding: 24px;
   }
   .mc-page .mc-feed__title {
      font: 600 18px/26px var(--mc-f-sans);
   }
}


/* ============================================================================
   FINE PAGINA B
   Pagine C, D: in attesa di conferma "ok" prima di procedere.
   ============================================================================ */


/* ============================================================================
   LISTING NOTIZIE — pattern Designers Italia (refactor 2026-05-09 fix11)
   Riusa .mc-lhero, .mc-filt, .mc-list, .mc-list__grid, .mc-pag già pixel-perfect.
   Definisce solo .mc-card-news (nuova classe per card notizia con immagine).
   Vedi template-parts/lista-notizie.php
   ============================================================================ */

.mc-page .mc-card-news {
   background: #fff;
   box-shadow: 0 2px 8px rgba( 0, 0, 0, 0.06 );
   border-radius: 4px;
   overflow: hidden;
   transition: transform 200ms ease, box-shadow 200ms ease;
}
.mc-page .mc-card-news:hover {
   transform: translateY( -2px );
   box-shadow: 0 4px 16px rgba( 0, 0, 0, 0.1 );
}
.mc-page .mc-card-news__link {
   display: block;
   text-decoration: none;
   color: inherit;
}
.mc-page .mc-card-news__link:hover,
.mc-page .mc-card-news__link:focus {
   color: inherit;
   text-decoration: none;
}
.mc-page .mc-card-news__media {
   aspect-ratio: 4 / 3;
   background: var( --mc-c-bg-muted );
   overflow: hidden;
}
.mc-page .mc-card-news__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.mc-page .mc-card-news__placeholder {
   width: 100%;
   height: 100%;
   background: var( --mc-c-bg-muted );
}
.mc-page .mc-card-news__body {
   padding: 24px;
   display: flex;
   flex-direction: column;
   gap: 12px;
}
.mc-page .mc-card-news__title {
   font: 700 22px/28px var( --mc-f-sans );
   color: var( --mc-c-text-base );
   margin: 0;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden;
}
.mc-page .mc-card-news__excerpt {
   font: 400 16px/24px var( --mc-f-sans );
   color: var( --mc-c-text-base );
   margin: 0;
   display: -webkit-box;
   -webkit-line-clamp: 4;
   -webkit-box-orient: vertical;
   overflow: hidden;
}
.mc-page .mc-card-news__date {
   font: 400 14px/20px var( --mc-f-sans );
   color: var( --mc-c-text-muted );
   margin: 0;
   align-self: flex-end;
}

/* Stato "vuoto" lista (nessuna notizia trovata) */
.mc-page .mc-list .mc-empty {
   font: 400 18px/28px var( --mc-f-sans );
   color: var( --mc-c-text-secondary );
   text-align: center;
   padding: 40px 0;
}



/* ============================================================================
   ESPLORA IL MUSEO — page template (refactor 2026-05-11 fix15)
   File markup: template-esplora-museo.php
   Mockup HTML approvato 2026-05-10: mockup/esplora-museo-mockup.html
   Sostituisce le regole CSS dei fix12-13-14 precedenti (Hero split, card-banner
   bg-image, social-grid 4-col, ecc.) con il pattern del mockup approvato.
   ============================================================================ */

/* ── Sezione 1 — Hero (banner cinematic full-width con immagine + overlay) ── */
.mc-page .mc-hero{position:relative;width:100%;min-height:380px;overflow:hidden;display:flex;align-items:flex-start;background:var(--mc-c-bg-muted)}
.mc-page .mc-hero__bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.mc-page .mc-hero__bg img{width:100%;height:100%;object-fit:cover;display:block}
.mc-page .mc-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 50%, rgba(0,0,0,0) 100%);z-index:1;pointer-events:none}
.mc-page .mc-hero__copy{position:relative;z-index:2;padding:48px var(--mc-safe);width:100%;max-width:720px;color:#fff;display:flex;flex-direction:column;gap:16px}
.mc-page .mc-hero__title{font:700 48px/56px var(--mc-f-sans);letter-spacing:-2px;color:#fff;margin:0}
.mc-page .mc-hero__sub{font:400 18px/28px var(--mc-f-serif);color:#fff;margin:0;opacity:.95}
.mc-page .mc-hero__link{display:inline-flex;align-items:center;gap:8px;font:600 18px/28px var(--mc-f-sans);color:#fff;text-decoration:underline;text-underline-offset:2px;align-self:flex-start;margin-top:8px}
.mc-page .mc-hero__link:hover{text-decoration:none;color:#fff}
@media (max-width:991px){
   .mc-page .mc-hero{min-height:320px}
   .mc-page .mc-hero__copy{padding:32px 24px;gap:12px}
   .mc-page .mc-hero__title{font-size:32px;line-height:40px;letter-spacing:-1px}
   .mc-page .mc-hero__sub{font-size:16px;line-height:24px}
}

/* ── Sezioni .mc-sec generiche per Esplora ── */
.mc-page .mc-sec{padding:64px var(--mc-safe);display:flex;flex-direction:column;gap:32px}
.mc-page .mc-sec h2{font:700 40px/48px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
/* fix16: separa la prima .mc-sec dall'hero full-bleed sopra (80px invece di 64px) */
.mc-page .mc-hero + .mc-wrap > .mc-sec{padding-top:80px}
@media (max-width:991px){
   .mc-page .mc-sec{padding:48px 24px}
   .mc-page .mc-sec h2{font-size:32px;line-height:40px}
   .mc-page .mc-hero + .mc-wrap > .mc-sec{padding-top:56px}
}

/* ── Sezione 2 — I luoghi del museo (grid 2-col card .mc-card-place-grid) ── */
.mc-page .mc-grid-places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (max-width:991px){.mc-page .mc-grid-places{grid-template-columns:1fr}}
.mc-page .mc-card-place-grid{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit;background:transparent}
.mc-page .mc-card-place-grid:hover{color:inherit;text-decoration:none}
.mc-page .mc-card-place-grid__img{aspect-ratio:16/10;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-card-place-grid__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mc-page .mc-card-place-grid:hover .mc-card-place-grid__img img{transform:scale(1.04)}
.mc-page .mc-card-place-grid__body{padding:0;display:flex;flex-direction:column;gap:8px}
.mc-page .mc-card-place-grid__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px;margin:0}
.mc-page .mc-card-place-grid:hover .mc-card-place-grid__title{text-decoration:none}
.mc-page .mc-card-place-grid__text{font:400 16px/24px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0}

/* ── Sezione 3 — Cosa puoi vedere: banner card con banda overlay ── */
.mc-page .mc-grid-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:991px){.mc-page .mc-grid-banners{grid-template-columns:1fr;gap:16px}}
.mc-page .mc-card-banner{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;text-decoration:none;color:#fff;background:var(--mc-c-bg-muted)}
.mc-page .mc-card-banner:hover{color:#fff;text-decoration:none}
.mc-page .mc-card-banner img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mc-page .mc-card-banner:hover img{transform:scale(1.04)}
.mc-page .mc-card-banner__band{position:absolute;left:0;right:0;bottom:0;padding:24px;background:rgba(0,0,0,0.65);display:flex;align-items:center;justify-content:space-between;gap:16px}
.mc-page .mc-card-banner__label{font:700 24px/32px var(--mc-f-sans);color:#fff;margin:0}
.mc-page .mc-card-banner__arrow{display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.mc-page .mc-card-banner__arrow .icon{width:24px;height:24px;fill:#fff}

/* ── Sezione 4 — Mostre ed eventi: banner full-width ── */
.mc-page .mc-banner-full{position:relative;display:block;width:100%;aspect-ratio:21/9;overflow:hidden;text-decoration:none;color:#fff;background:var(--mc-c-bg-muted)}
.mc-page .mc-banner-full:hover{color:#fff;text-decoration:none}
.mc-page .mc-banner-full img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.mc-page .mc-banner-full:hover img{transform:scale(1.02)}
.mc-page .mc-banner-full__band{position:absolute;left:0;right:0;bottom:0;padding:32px var(--mc-safe);background:rgba(0,0,0,0.65);display:flex;align-items:center;justify-content:space-between;gap:24px}
.mc-page .mc-banner-full__label{font:700 32px/40px var(--mc-f-sans);color:#fff;margin:0}
.mc-page .mc-banner-full__arrow{display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}
.mc-page .mc-banner-full__arrow .icon{width:32px;height:32px;fill:#fff}
@media (max-width:991px){
   .mc-page .mc-banner-full{aspect-ratio:4/3}
   .mc-page .mc-banner-full__band{padding:24px}
   .mc-page .mc-banner-full__label{font-size:24px;line-height:32px}
}

/* ── Sezione 5 — Notizie: pattern news-card ── */
.mc-page .mc-grid-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:991px){.mc-page .mc-grid-news{grid-template-columns:1fr;gap:24px}}
.mc-page .mc-news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--mc-c-border-light);text-decoration:none;color:inherit;transition:box-shadow .2s;overflow:hidden}
.mc-page .mc-news-card:hover{color:inherit;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.mc-page .mc-news-card__img{aspect-ratio:16/10;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-news-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.mc-page .mc-news-card__body{padding:24px;display:flex;flex-direction:column;gap:16px;flex:1}
.mc-page .mc-news-card__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-accent);margin:0}
.mc-page .mc-news-card:hover .mc-news-card__title{text-decoration:underline;text-underline-offset:2px}
.mc-page .mc-news-card__excerpt{font:400 16px/24px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0;flex:1}
.mc-page .mc-news-card__date{font:400 14px/16px var(--mc-f-sans);color:var(--mc-c-text-muted);margin:0;align-self:flex-end}

.mc-page .mc-sec__more{align-self:flex-end;display:inline-flex;align-items:center;gap:8px;font:600 18px/28px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px}
.mc-page .mc-sec__more:hover{text-decoration:none}

/* ── Sezione 6 — Dai nostri social: sfondo rosa pastello ── */
.mc-page .mc-social{background:var(--mc-c-accent-lighter);padding:64px 0}
.mc-page .mc-social__inner{display:grid;grid-template-columns:180px repeat(3,minmax(0,1fr));gap:32px;align-items:start;padding:0 var(--mc-safe)}
@media (max-width:991px){.mc-page .mc-social__inner{grid-template-columns:1fr;gap:16px;padding:0 24px}}
.mc-page .mc-social h2{font:700 40px/48px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0 0 32px 0;padding:0 var(--mc-safe)}
@media (max-width:991px){.mc-page .mc-social h2{padding:0 24px;font-size:32px;line-height:40px;margin-bottom:24px}}
.mc-page .mc-social__handles{display:flex;flex-direction:column;gap:16px}
.mc-page .mc-social__handle{display:flex;align-items:center;gap:12px;font:400 18px/24px var(--mc-f-sans);color:var(--mc-c-text-base)}
.mc-page .mc-social__handle .ico{width:32px;height:32px;flex-shrink:0;background:var(--mc-c-accent);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:bold;font-size:14px}
.mc-page .mc-social__card{background:#fff;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--mc-c-border-light)}
.mc-page .mc-social__card-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--mc-c-border-light)}
.mc-page .mc-social__card-name{font:600 14px/16px var(--mc-f-sans);color:var(--mc-c-text-base)}
.mc-page .mc-social__card-source{width:24px;height:24px;background:var(--mc-c-accent);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px;font-weight:bold}
.mc-page .mc-social__card-img{aspect-ratio:1/1;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-social__card-img img{width:100%;height:100%;object-fit:cover;display:block}
.mc-page .mc-social__card-foot{padding:12px 16px;font:400 14px/16px var(--mc-f-sans);color:var(--mc-c-text-muted);display:flex;align-items:center;gap:8px}

/* ── Sezione 7 — Vuoi supportare il museo: CTA full-width nero ── */
.mc-page .mc-cta-supporta{background:#1A1A1A;padding:80px var(--mc-safe);text-align:center;color:#fff;background-size:cover;background-position:center;position:relative;overflow:hidden}
.mc-page .mc-cta-supporta::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400' opacity='0.08'><path d='M0,300 Q300,200 600,300 T1200,300' stroke='%23ffffff' stroke-width='2' fill='none'/><path d='M0,250 Q300,150 600,250 T1200,250' stroke='%23ffffff' stroke-width='2' fill='none'/><path d='M0,200 Q300,100 600,200 T1200,200' stroke='%23ffffff' stroke-width='2' fill='none'/></svg>") no-repeat center/cover;z-index:0;opacity:.3}
.mc-page .mc-cta-supporta__inner{position:relative;z-index:1;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:24px;align-items:center}
.mc-page .mc-cta-supporta__title{font:700 32px/40px var(--mc-f-sans);color:#fff;margin:0}
.mc-page .mc-cta-supporta__desc{font:400 18px/28px var(--mc-f-serif);color:#fff;margin:0}
.mc-page .mc-cta-supporta .mc-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;background:#fff;color:var(--mc-c-text-base);font:600 16px/24px var(--mc-f-sans);text-decoration:none;border-radius:4px;transition:opacity .15s}
.mc-page .mc-cta-supporta .mc-btn:hover{opacity:.9;color:var(--mc-c-text-base);text-decoration:none}
@media (max-width:991px){.mc-page .mc-cta-supporta{padding:48px 24px}.mc-page .mc-cta-supporta__title{font-size:24px;line-height:32px}}

/* === FINE ESPLORA IL MUSEO === */


/* ============================================================================
   ESPLORA IL MUSEO — fix17 (2026-05-11)
   Override mirati con specificità .mc-page .mc-hero/.mc-card-*/etc per battere
   regole pattern Servizio che conflittavano sul template Esplora.
   ============================================================================ */

/* FIX 5 — Hero min-height 380 (mobile 320) */
.mc-page .mc-hero{position:relative;width:100%;min-height:380px;overflow:hidden;display:flex;align-items:flex-start;background:var(--mc-c-bg-muted);max-width:none;padding-left:0;padding-right:0}
@media (max-width:991px){.mc-page .mc-hero{min-height:320px}}

/* FIX 1 — Hero copy allineato a sinistra (override del flex Servizio justify-content:center) */
.mc-page .mc-hero .mc-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:16px;padding:48px var(--mc-safe);width:100%;max-width:720px;color:#fff;flex:0 0 auto}
@media (max-width:991px){.mc-page .mc-hero .mc-hero__copy{padding:32px 24px;gap:12px}}

/* FIX 2 — Hero titolo 48/56 bianco con specificità garantita */
.mc-page .mc-hero .mc-hero__title{font:700 48px/56px var(--mc-f-sans);letter-spacing:-2px;color:#fff;margin:0;text-align:left}
@media (max-width:991px){.mc-page .mc-hero .mc-hero__title{font-size:32px;line-height:40px;letter-spacing:-1px}}

/* Hero sub + link bianchi (override .mc-hero__sub color:text-base che era per altro pattern) */
.mc-page .mc-hero .mc-hero__sub{font:400 18px/28px var(--mc-f-serif);color:#fff;margin:0;opacity:.95;text-align:left}
.mc-page .mc-hero .mc-hero__link{display:inline-flex;align-items:center;gap:8px;font:600 18px/28px var(--mc-f-sans);color:#fff;text-decoration:underline;text-underline-offset:2px;align-self:flex-start;margin-top:8px}
.mc-page .mc-hero .mc-hero__link:hover{text-decoration:none;color:#fff}

/* FIX 6 — Luoghi: titoli viola + underline (specificità garantita) */
.mc-page .mc-card-place-grid .mc-card-place-grid__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px;margin:0}
.mc-page .mc-card-place-grid:hover .mc-card-place-grid__title{text-decoration:none}

/* FIX 7 — Luoghi: aspect-ratio 16/10 (specificità garantita) */
.mc-page .mc-card-place-grid .mc-card-place-grid__img{aspect-ratio:16/10;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-card-place-grid .mc-card-place-grid__img img{width:100%;height:100%;object-fit:cover;display:block}

/* FIX 9 — Mostre banda più sottile (padding 20px desktop, 16px mobile) */
.mc-page .mc-banner-full .mc-banner-full__band{padding:20px var(--mc-safe)}
@media (max-width:991px){.mc-page .mc-banner-full .mc-banner-full__band{padding:16px 24px}}

/* FIX 11 — Notizie: aspect-ratio 16/10 (specificità garantita) */
.mc-page .mc-news-card .mc-news-card__img{aspect-ratio:16/10;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-news-card .mc-news-card__img img{width:100%;height:100%;object-fit:cover;display:block}

/* FIX 13 — CTA pattern decorativo SVG (specificità garantita) */
.mc-page .mc-cta-supporta{background:#1A1A1A;padding:80px var(--mc-safe);text-align:center;color:#fff;position:relative;overflow:hidden}
.mc-page .mc-cta-supporta::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 400'><path d='M0,300 Q300,200 600,300 T1200,300' stroke='%23ffffff' stroke-width='2' fill='none'/><path d='M0,250 Q300,150 600,250 T1200,250' stroke='%23ffffff' stroke-width='2' fill='none'/><path d='M0,200 Q300,100 600,200 T1200,200' stroke='%23ffffff' stroke-width='2' fill='none'/></svg>") no-repeat center/cover;z-index:0;opacity:.3;pointer-events:none}
.mc-page .mc-cta-supporta__inner{position:relative;z-index:1}


/* ============================================================================
   ESPLORA IL MUSEO — fix18 (2026-05-11)
   Override con specificità MASSIMA: main.mc-page section.X .CLASSE
   per battere qualsiasi regola di tema/cascade precedente.
   ============================================================================ */

/* === FIX18 — Hero copy align-left (specificità massima) === */
main.mc-page section.mc-hero .mc-hero__copy,
main.mc-page section.mc-hero .mc-hero__copy-wrap,
main.mc-page section.mc-hero .mc-hero__copy *{
   text-align:left;
}
main.mc-page section.mc-hero .mc-hero__copy{
   align-items:flex-start;
   justify-content:flex-start;
}
main.mc-page section.mc-hero .mc-hero__title,
main.mc-page section.mc-hero .mc-hero__sub,
main.mc-page section.mc-hero .mc-hero__link{
   text-align:left;
   align-self:flex-start;
   margin-left:0;
   margin-right:auto;
}

/* === FIX18 — Luoghi aspect-ratio 16:10 === */
main.mc-page .mc-card-place-grid .mc-card-place-grid__img{
   aspect-ratio:16/10;
   width:100%;
   height:auto;
   background:var(--mc-c-bg-muted);
   overflow:hidden;
   display:block;
}
main.mc-page .mc-card-place-grid .mc-card-place-grid__img img,
main.mc-page .mc-card-place-grid .mc-card-place-grid__img > img{
   width:100%;
   height:100%;
   object-fit:cover;
   display:block;
   max-width:none;
   max-height:none;
}

/* === FIX18 — Luoghi titoli: viola SENZA underline (underline solo al hover) === */
main.mc-page .mc-card-place-grid .mc-card-place-grid__title{
   font:700 24px/32px var(--mc-f-sans);
   color:var(--mc-c-accent);
   text-decoration:none;
   margin:0;
}
main.mc-page .mc-card-place-grid:hover .mc-card-place-grid__title{
   text-decoration:underline;
   text-underline-offset:2px;
}

/* === FIX18 — Notizie aspect-ratio 16:10 === */
main.mc-page .mc-news-card .mc-news-card__img{
   aspect-ratio:16/10;
   width:100%;
   height:auto;
   background:var(--mc-c-bg-muted);
   overflow:hidden;
   display:block;
}
main.mc-page .mc-news-card .mc-news-card__img img,
main.mc-page .mc-news-card .mc-news-card__img > img{
   width:100%;
   height:100%;
   object-fit:cover;
   display:block;
   max-width:none;
   max-height:none;
}

/* === FIX18 — Notizie titoli viola (underline solo al hover) === */
main.mc-page .mc-news-card .mc-news-card__title{
   font:700 24px/32px var(--mc-f-sans);
   color:var(--mc-c-accent);
   text-decoration:none;
   margin:0;
}
main.mc-page .mc-news-card:hover .mc-news-card__title{
   text-decoration:underline;
   text-underline-offset:2px;
}


/* ============================================================================
   ESPLORA IL MUSEO — fix19 (2026-05-11)
   Hero container ad-hoc + aspect-ratio 16/9 per Luoghi/News
   ============================================================================ */

/* === FIX19 — Hero container ad-hoc ancorato a sinistra === */
main.mc-page section.mc-hero .mc-hero__container{
   position:relative;
   z-index:2;
   width:100%;
   max-width:1440px;
   margin:0 auto;
   padding:48px var(--mc-safe);
   box-sizing:border-box;
}
main.mc-page section.mc-hero .mc-hero__container .mc-hero__copy{
   max-width:720px;
   margin:0;
   display:flex;
   flex-direction:column;
   gap:16px;
   align-items:flex-start;
   text-align:left;
}
@media (max-width:991px){
   main.mc-page section.mc-hero .mc-hero__container{
      padding:32px 24px;
   }
   main.mc-page section.mc-hero .mc-hero__container .mc-hero__copy{
      max-width:100%;
   }
}

/* === FIX19 — Luoghi aspect-ratio 16/9 === */
main.mc-page .mc-card-place-grid .mc-card-place-grid__img{
   aspect-ratio:16/9;
}

/* === FIX19 — News aspect-ratio 16/9 === */
main.mc-page .mc-news-card .mc-news-card__img{
   aspect-ratio:16/9;
}


/* === FIX20 — Hero copy: azzera padding interno (container già ha padding) === */
/* Allineamento orizzontale a sinistra coerente con .mc-bc/.mc-sec del resto pagina:
   container fornisce padding 48px var(--mc-safe); copy senza padding interno aggiuntivo. */
main.mc-page section.mc-hero .mc-hero__container .mc-hero__copy{
   padding:0;
}

/* === FIX20 — Hero filter overlay (stesso BI it-overlay it-dark del front-page) === */
/* Front-page usa <section class="it-hero-wrapper it-dark it-overlay"> → BI applica
   rgba(23,50,77,.8) come overlay scuro bluastro. Lo replichiamo sull'hero Esplora. */
main.mc-page section.mc-hero::before{
   background: rgba(23, 50, 77, 0.8);
}

/* === FIX20 — Hero: min-height 400 desktop + copy centrato verticalmente === */
main.mc-page section.mc-hero{
   min-height:400px;
   align-items:center;
}

/* === FIX20 — Mega menu: voci di secondo livello su 3 colonne (desktop) === */
/* BI applica display:flex su .link-list che invalida CSS multi-column.
   Override esplicito display:block + reset di proprietà BI residue. */
.has-megamenu .megamenu .dropdown-menu .link-list-wrapper .link-list{
   display:block;
   columns:3;
   column-gap:32px;
   padding:0;
   margin:0;
   height:auto;
   border:0;
}
.has-megamenu .megamenu .dropdown-menu .link-list-wrapper .link-list li{
   display:block;
   break-inside:avoid;
   -webkit-column-break-inside:avoid;
   page-break-inside:avoid;
}
@media (max-width:991px){
   .has-megamenu .megamenu .dropdown-menu .link-list-wrapper .link-list{
      columns:1;
   }
}


/* ============================================================================
   MEGAMENU COMPLETO BI — pattern Designers Italia
   Riferimento: https://italia.github.io/bootstrap-italia/docs/menu-di-navigazione/megamenu/
   Markup in header.php: col-lg-4 (img + excerpt) + col-lg-8 (link primary + voci 2 col)
   ============================================================================ */

/* Dropdown panel: padding interno + larghezza */
.navbar .megamenu .dropdown-menu{
   padding:24px;
   min-width:720px;
}
@media (max-width:991px){
   .navbar .megamenu .dropdown-menu{
      min-width:0;
      padding:16px;
   }
}

/* Colonna SX: immagine + excerpt */
.navbar .megamenu .mc-megamenu__img{
   width:100%;
   height:auto;
   max-height:200px;
   object-fit:cover;
   border-radius:4px;
   margin-bottom:12px;
   display:block;
}
.navbar .megamenu .mc-megamenu__excerpt{
   font-size:14px;
   line-height:1.5;
   color:#000;
   margin:0;
}

/* Colonna DX: link primary in evidenza */
.navbar .megamenu .mc-megamenu__primary{
   margin:0 0 8px 0;
   display:block;
   columns:1;
   padding:0;
   border:0;
   height:auto;
}
.navbar .megamenu .mc-megamenu__primary-link{
   display:inline-flex;
   align-items:center;
   gap:8px;
   font-size:16px;
   color:var(--mc-c-accent,#7D2670);
   text-decoration:none;
   padding:4px 0;
}
.navbar .megamenu .mc-megamenu__primary-link:hover{
   text-decoration:underline;
}
.navbar .megamenu .mc-megamenu__primary-link .icon{
   fill:currentColor;
}

/* Separatore */
.navbar .megamenu .mc-megamenu__divider{
   margin:8px 0 12px;
   border:0;
   border-top:1px solid #E6E9F2;
}

/* Voci secondo livello: 2 colonne via grid .row.col-md-6 (già nel markup) */
.navbar .megamenu .mc-megamenu__links .link-list{
   display:block;
   columns:1;
   padding:0;
   margin:0;
   border:0;
   height:auto;
}
.navbar .megamenu .mc-megamenu__links .link-list li{
   display:block;
}
.navbar .megamenu .mc-megamenu__links .link-list .list-item{
   padding:6px 0;
   display:flex;
   align-items:center;
}

/* Indicatore "voce attiva" — rombo bianco sotto la voce attiva del navbar
   Pattern Bootstrap Italia: triangolino bianco che indica il dropdown aperto */
.navbar .megamenu > .nav-link,
.navbar .megamenu > button.dropdown-toggle{
   position:relative;
}
.navbar .megamenu > button.dropdown-toggle[aria-expanded="true"]::after{
   content:"";
   position:absolute;
   bottom:-8px;
   left:50%;
   transform:translateX(-50%) rotate(45deg);
   width:14px;
   height:14px;
   background:#fff;
   z-index:1001;
   box-shadow:-1px -1px 0 rgba(0,0,0,0.08);
}

/* === FIX freccine megamenu voci secondo livello (Caso A SVG) ===
   Cambiato sprite da it-arrow-right-triangle (triangolo pieno tarchiato)
   a it-chevron-right (chevron sottile). Dimensione + fill + allineamento. */
.navbar .megamenu .mc-megamenu__voice{
   display:flex;
   align-items:center;
   gap:8px;
}
.navbar .megamenu .mc-megamenu__voice .mc-megamenu__chev{
   width:14px;
   height:14px;
   flex-shrink:0;
   fill:var(--mc-c-accent,#7D2670);
   color:var(--mc-c-accent,#7D2670);
   vertical-align:middle;
}
.navbar .megamenu .mc-megamenu__voice:hover .mc-megamenu__chev{
   fill:var(--mc-c-accent,#7D2670);
}

/* === FIX trigger megamenu: button unico (no più split) ===
   Allineamento + reset stile native button + rotazione icona quando aperto */
.navbar .megamenu > button.nav-link.dropdown-toggle{
   background:transparent;
   border:0;
   cursor:pointer;
   display:inline-flex;
   align-items:center;
   gap:6px;
}
.navbar .megamenu > button.nav-link.dropdown-toggle .icon{
   transition:transform .15s ease;
}
.navbar .megamenu > button.nav-link.dropdown-toggle[aria-expanded="true"] .icon{
   transform:rotate(180deg);
}


/* ============================================================================
   EDUCAZIONE E RICERCA — sezione card categorie
   2026-05-12: pattern .mc-card-category SOSTITUITO da .mc-card-banner riuso da
   Esplora il Museo. Le 2 card sono ora generate via WP_Query children automatica
   nel template. Regole legacy lasciate commentate per rollback rapido.
   ============================================================================ */

/* Modificatore griglia 2 colonne per pattern .mc-card-banner */
.mc-page .mc-grid-banner--2col{
   display:grid;
   grid-template-columns:repeat(2,minmax(0,1fr));
   gap:24px;
}
@media (max-width:991px){
   .mc-page .mc-grid-banner--2col{grid-template-columns:1fr;gap:16px}
}

/* [LEGACY mc-card-category - 2026-05-12 sostituito da .mc-card-banner riuso da Esplora]
.mc-page .mc-grid-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (max-width:991px){.mc-page .mc-grid-categories{grid-template-columns:1fr;gap:16px}}

.mc-page .mc-card-category{
   position:relative;
   display:block;
   aspect-ratio:16/10;
   overflow:hidden;
   text-decoration:none;
   color:#fff;
   background:var(--mc-c-bg-muted);
}
.mc-page .mc-card-category:hover{color:#fff;text-decoration:none}
.mc-page .mc-card-category img{
   width:100%;
   height:100%;
   object-fit:cover;
   display:block;
   transition:transform .4s;
}
.mc-page .mc-card-category:hover img{transform:scale(1.04)}

.mc-page .mc-card-category::after{
   content:"";
   position:absolute;
   inset:0;
   background:linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.65) 100%);
   pointer-events:none;
}

.mc-page .mc-card-category__body{
   position:absolute;
   left:0;
   right:0;
   bottom:0;
   padding:32px;
   display:flex;
   align-items:flex-end;
   justify-content:space-between;
   gap:16px;
   z-index:2;
}
.mc-page .mc-card-category__text{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.mc-page .mc-card-category__label{
   font:600 14px/20px var(--mc-f-sans);
   color:#fff;
   text-transform:uppercase;
   letter-spacing:1px;
   margin:0;
   opacity:.85;
}
.mc-page .mc-card-category__title{
   font:700 28px/36px var(--mc-f-sans);
   color:#fff;
   margin:0;
}
.mc-page .mc-card-category__arrow{
   flex-shrink:0;
   width:32px;
   height:32px;
   display:flex;
   align-items:center;
   justify-content:center;
   color:#fff;
}
.mc-page .mc-card-category__arrow .icon{
   width:24px;
   height:24px;
   fill:#fff;
}
@media (max-width:991px){
   .mc-page .mc-card-category{aspect-ratio:4/3}
   .mc-page .mc-card-category__body{padding:20px}
   .mc-page .mc-card-category__title{font-size:22px;line-height:28px}
}
*/

/* News section Educazione e ricerca: stesso pattern Esplora ma con bg rosa pastello.
   2026-05-12: padding orizzontale spostato dalla section al .mc-wrap interno per
   allineare il contenuto news allo stesso x delle card categorie sopra
   (mc-wrap esterno max-1440 + padding --mc-safe). Background resta full-bleed. */
.mc-page .mc-news-sec{
   background:var(--mc-c-accent-lightest);
   padding:64px 0;
}
.mc-page .mc-news-sec > .mc-wrap{
   padding:0 var(--mc-safe);
   box-sizing:border-box;
}
.mc-page .mc-news-sec h2{font:700 40px/48px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
@media (max-width:991px){
   .mc-page .mc-news-sec{padding:48px 0}
   .mc-page .mc-news-sec h2{font-size:32px;line-height:40px}
}

/* ============================================================
   Template Organizza la visita — 2026-05-12
   Helper riusabili + pattern nuovi (.mc-card-service, .mc-contatti-grid).
   Pattern card sezioni 2 e 6: usano classi BI nativé (it-card-info)
   senza CSS custom. Banner sezione 3: usa .mc-banner-full (Esplora)
   con __top per separare label+arrow dalla descrizione __sub.
   ============================================================ */

/* Helper griglie riusabili */
.mc-page .mc-grid-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mc-page .mc-grid-3col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:991px){
   .mc-page .mc-grid-2col,
   .mc-page .mc-grid-3col{grid-template-columns:1fr;gap:16px}
}

/* Sottotitolo sezione (.mc-sec__sub) */
.mc-page .mc-sec__sub{font:400 18px/28px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0}

/* Banner full-width — varianti __top e __sub per il banner Percorsi */
.mc-page .mc-banner-full__top{display:flex;align-items:center;gap:16px}
.mc-page .mc-banner-full__sub{font:400 16px/24px var(--mc-f-serif);color:#fff;margin:0;opacity:.95;max-width:900px}

/* Sezione Servizi: bg grigio FULL-WIDTH edge-to-edge; contenuto capped a 1440.
   Pattern: .mc-services-sec (bg + padding-y) > .mc-wrap.__inner (max-width + padding-x). */
.mc-page .mc-services-sec{background:var(--mc-c-bg-muted);padding:64px 0}
.mc-page .mc-services-sec__inner{display:flex;flex-direction:column;gap:32px;padding:0 var(--mc-safe)}
.mc-page .mc-services-sec h2{font:700 40px/48px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
@media (max-width:991px){
   .mc-page .mc-services-sec{padding:48px 0}
   .mc-page .mc-services-sec__inner{gap:24px;padding:0 24px}
   .mc-page .mc-services-sec h2{font-size:32px;line-height:40px}
}

/* Card servizio (.mc-card-service) */
.mc-page .mc-card-service{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit;background:transparent}
.mc-page .mc-card-service:hover{color:inherit;text-decoration:none}
.mc-page .mc-card-service__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--mc-c-accent-lighter)}
.mc-page .mc-card-service__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0;flex:1;min-width:0}
.mc-page .mc-card-service__chev{font-size:24px;line-height:1;color:var(--mc-c-accent);flex-shrink:0}
.mc-page .mc-card-service__desc{font:400 16px/24px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0;flex:1}
.mc-page .mc-card-service__link{display:inline-flex;align-items:center;gap:8px;font:600 16px/24px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px;align-self:flex-start}
.mc-page .mc-card-service:hover .mc-card-service__link{text-decoration:none}

.mc-page .mc-services-sec__more{align-self:flex-end;display:inline-flex;align-items:center;gap:8px;font:600 18px/28px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px}
.mc-page .mc-services-sec__more:hover{text-decoration:none}

/* Sezione Contatti: bg grigio FULL-WIDTH come .mc-services-sec; contenuto capped a 1440.
   Pattern: .mc-contatti-sec (bg + padding-y) > .mc-wrap.__inner (max-width + padding-x). */
.mc-page .mc-contatti-sec{background:var(--mc-c-bg-muted);padding:64px 0}
.mc-page .mc-contatti-sec__inner{display:flex;flex-direction:column;gap:32px;padding:0 var(--mc-safe)}
.mc-page .mc-contatti-sec h2{font:700 40px/48px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
.mc-page .mc-contatti-sec__intro{font:400 18px/28px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0}
@media (max-width:991px){
   .mc-page .mc-contatti-sec{padding:48px 0}
   .mc-page .mc-contatti-sec__inner{gap:24px;padding:0 24px}
   .mc-page .mc-contatti-sec h2{font-size:32px;line-height:40px}
}

.mc-page .mc-contatti-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
@media (max-width:991px){.mc-page .mc-contatti-grid{grid-template-columns:1fr;gap:24px}}

.mc-page .mc-contatto{display:flex;flex-direction:column;gap:8px}
.mc-page .mc-contatto__label{font:700 18px/24px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
.mc-page .mc-contatto__value{font:400 16px/24px var(--mc-f-sans);color:var(--mc-c-text-secondary);margin:0}
.mc-page .mc-contatto__value a{color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px}
.mc-page .mc-contatto__value a:hover{text-decoration:none}

/* === FIX banner Percorsi (Organizza la visita) — 2026-05-12 === */
/* Issue: .mc-banner-full__band ha display:flex row di default (Esplora usa */
/* solo label+arrow su una riga). Su Organizza il band ha 2 figli: */
/* .mc-banner-full__top (label+arrow) + .mc-banner-full__sub (descrizione). */
/* Modifier --stacked dispone i figli in colonna senza rompere Esplora. */
.mc-page .mc-banner-full--stacked .mc-banner-full__band{
   flex-direction:column;
   align-items:flex-start;
   justify-content:flex-end;
   gap:8px;
}
.mc-page .mc-banner-full--stacked .mc-banner-full__top{
   width:100%;
   justify-content:space-between;
}

/* === Padding sopra Durante la visita (Organizza la visita) — 2026-05-12 === */
/* La sezione "Durante la visita" segue la sezione Servizi con bg grigio; */
/* serve respiro verticale extra rispetto al default padding-y:64 di .mc-sec. */
.mc-page .mc-services-sec + .mc-wrap > .mc-sec,
.mc-page .mc-wrap:has(.mc-services-sec) + .mc-wrap > .mc-sec{
   padding-top:96px;
}
@media (max-width:991px){
   .mc-page .mc-services-sec + .mc-wrap > .mc-sec,
   .mc-page .mc-wrap:has(.mc-services-sec) + .mc-wrap > .mc-sec{
      padding-top:64px;
   }
}

/* === Banner band: testo bianco scoped (Organizza la visita) — 2026-05-12 === */
/* Quando il banner è dentro .mc-sec, la regola .mc-sec p (specificità 0,2,1) */
/* sovrasta .mc-banner-full__sub (0,2,0). Override scoped solo dentro __band. */
.mc-page .mc-banner-full__band p,
.mc-page .mc-banner-full__band li,
.mc-page .mc-banner-full__band ul,
.mc-page .mc-banner-full__band ol{
   color:#fff;
}

/* ====================================================================
 * Pattern card-opera (CPT oggetto-reperto) — 2026-05-20
 * Usato in: template-lista-oggetti-opere.php (archive) + front-page.php (sezione "Immergiti nel museo")
 * Spostato da CSS inline a globale, scope .mc-page (richiede class="mc-page" sul wrapper).
 * ==================================================================== */
.mc-page .card-opera-wrap{display:flex;flex-direction:column;height:100%}
/* Caso 1 — template archive: img figlia diretta di .card-opera-wrap */
.mc-page .card-opera-wrap > .card-opera__img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block}
/* Caso 2 — home Immergiti: anchor wrapper > img, forza container quadrato */
.mc-page .card-opera-wrap > a{display:block;aspect-ratio:1/1;overflow:hidden}
.mc-page .card-opera-wrap > a > img{width:100%;height:100%;object-fit:cover;display:block}
.mc-page .card-opera__info{padding:.75rem 0 0;flex-grow:1}
.mc-page .card-opera__title{font-size:1.375rem;margin-bottom:.125rem}
.mc-page .card-opera__title a{color:var(--mc-c-accent);font-weight:600;text-decoration:none}
.mc-page .card-opera__title a:hover{text-decoration:underline}
.mc-page .card-opera__autore{color:#17324d;font-weight:700;font-size:1rem;margin-bottom:0}
.mc-page .card-opera__data{color:#b5985a;font-size:.9375rem;margin-bottom:0}

/* Sezione "Immergiti nel museo" — homepage */
.mc-page.mc-immergiti{display:block;width:100%}

/* Link autore nelle card opera: no underline default, underline solo al hover */
.mc-page .card-opera__autore a{color:inherit;text-decoration:none}
.mc-page .card-opera__autore a:hover{text-decoration:underline}


/* === BLOCCO Come raggiungerci - 2026-06-04 === */
/* ─────────────────────────────────────────────────────────────────
   musei-civici-pixelperfect-additions.css — Append to existing file
   Patterns NUOVI per "Come raggiungerci"
   Tutto scoped a .mc-page · No !important · Allineato ai token MC
   ───────────────────────────────────────────────────────────────── */

/* ============================================================
   .mc-section — wrapper di sezione "neutro" (NON .mc-sec).
   Evita la cascata tipografica di .mc-sec p/h2 che sovrascriverebbe
   i titoli/paragrafi di .mc-luogo. Solo padding verticale.
   ============================================================ */
.mc-page .mc-section {
  padding: 80px 0;
}
/* Allinea il contenuto (mappa + luoghi) allo stesso x della title-bar:
   padding orizzontale --mc-safe sul .mc-wrap interno (capped 1440), non sulla
   section full-width — stesso pattern di .mc-news-sec (2026-05-12). */
.mc-page .mc-section > .mc-wrap {
  padding: 0 var(--mc-safe);
  box-sizing: border-box;
}

/* ============================================================
   .mc-mappa — Wrapper mappa interattiva (placeholder + pin overlay)
   Per produzione: sostituire l'immagine statica con embed Leaflet/Google Maps
   ============================================================ */
.mc-page .mc-mappa {
  position: relative;
  width: 100%;
  aspect-ratio: 1296 / 730; /* da Figma */
  border-radius: 4px;
  overflow: hidden;
  background: #f5f5f5;
}
.mc-page .mc-mappa__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mc-page .mc-mappa__pin {
  position: absolute;
  transform: translate(-50%, -100%);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.mc-page .mc-mappa__pin svg {
  display: block;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.25));
}
.mc-page .mc-mappa__pin:hover svg,
.mc-page .mc-mappa__pin:focus-visible svg {
  transform: scale(1.08);
  transition: transform 0.15s;
}

/* ============================================================
   .mc-luogo — Blocco luogo (titolo + indirizzo + N info)
   ============================================================ */
.mc-page .mc-luogo {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px 0;
}
.mc-page .mc-luogo + .mc-luogo {
  border-top: 1px solid var(--bs-border-color, #e6e6e6);
  padding-top: 48px;
  margin-top: 24px;
}
.mc-page .mc-luogo__header {
  display: flex;
  align-items: center;
  gap: 16px;
}
.mc-page .mc-luogo__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  color: var(--mc-c-accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mc-page .mc-luogo__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.mc-page .mc-luogo__title {
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 48px;
  color: #1a1a1a;
  margin: 0;
}
.mc-page .mc-luogo__address {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: var(--bs-secondary, #5c6f82);
  margin: 0;
}
.mc-page .mc-luogo__info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mc-page .mc-luogo__info-label {
  font-family: "Titillium Web", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  color: var(--bs-secondary, #5c6f82);
  margin: 0;
}
.mc-page .mc-luogo__info-body {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  line-height: 28px;
  color: var(--bs-secondary, #5c6f82);
  margin: 0;
}
.mc-page .mc-luogo__info-body a {
  color: var(--mc-c-accent);
  text-decoration: underline;
  font-weight: 600;
}
.mc-page .mc-luogo__info-body a:hover {
  text-decoration: none;
}

/* ============================================================
   Responsive — Mobile (≤991px)
   ============================================================ */
@media (max-width: 991px) {
  .mc-page .mc-luogo__title {
    font-size: 28px;
    line-height: 36px;
  }
  .mc-page .mc-luogo__header {
    align-items: flex-start;
  }
  .mc-page .mc-mappa {
    aspect-ratio: 4 / 3;
  }
}
/* === FINE blocco Come raggiungerci === */

/* === Leaflet container per Come raggiungerci (2026-06-04) === */
.mc-page .mc-mappa__leaflet {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.mc-page .mc-mappa__leaflet .leaflet-control-attribution {
  font-size: 11px;
}
.mc-page .mc-mappa__leaflet .leaflet-popup-content strong {
  color: var(--mc-c-accent);
  font-family: "Titillium Web", sans-serif;
}
/* === FINE Leaflet === */
