/* =========================================================================
   Musei Civici — Pixel-perfect Designers Italia / Bootstrap Italia 2.x
   Vedi `CONVENTIONS.md` (root tema) per l'architettura pixel-perfect e i 3
   template part standard. Tutte le regole qui sono scoped sotto `.mc-page`:
   se la classe manca sul `<main>` del template, le regole non matchano.
   Layer di precisione sui template:
   - single-personaggio.php / single-servizio.php
   - template-lista-personaggi.php / template-lista-servizi.php
   Scoped su .mc-page per non interferire con il resto del tema.
   Si appoggia ai font Titillium Web e Lora già caricati da BI 2.x.
   ========================================================================= */

/* ── Tokens ──────────────────────────────────────────────────────────── */
.mc-page{
   --mc-c-text-base:#1A1A1A;
   --mc-c-text-secondary:#2F475E;
   --mc-c-text-muted:#5C6F82;
   --mc-c-accent:#5E1D55;
   --mc-c-accent-dark:#3F1339;
   --mc-c-accent-lighter:#E2C9DE;
   --mc-c-accent-lightest:#FBF9FB;
   --mc-c-bg-muted:#F5F5F5;
   --mc-c-border-light:#E6E6E6;
   --mc-c-border-active:#03313A;
   --mc-c-border-subtle:#C5C7C9;
   --mc-c-success-bg:#E8F5E9;
   --mc-c-success-text:#2E7D32;
   --mc-f-sans:'Titillium Web', system-ui, -apple-system, sans-serif;
   --mc-f-serif:'Lora', Georgia, serif;
   --mc-safe:72px;
   color:var(--mc-c-text-secondary);
   font-family:var(--mc-f-serif);
   font-size:18px;
   line-height:28px;
   background:#fff;
}
@media (max-width:991px){.mc-page{--mc-safe:24px}}
.mc-page *,.mc-page *::before,.mc-page *::after{box-sizing:border-box}
.mc-page p{margin:0 0 16px 0}
.mc-page p:last-child{margin-bottom:0}
.mc-page a{color:var(--mc-c-accent);text-decoration:underline;text-underline-offset:2px}
.mc-page a:hover{text-decoration:none}

/* ── Container ──────────────────────────────────────────────────────── */
.mc-page .mc-wrap{max-width:1440px;margin:0 auto}

/* ── Breadcrumb ─────────────────────────────────────────────────────── */
.mc-page .mc-bc{padding:24px var(--mc-safe);display:flex;flex-wrap:wrap;align-items:center;background:#fff}
.mc-page .mc-bc a{font:600 18px/28px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:underline;padding:4px}
.mc-page .mc-bc a:hover{text-decoration:none}
.mc-page .mc-bc__current{font:400 18px/28px var(--mc-f-sans);color:var(--mc-c-text-secondary);padding:4px}
.mc-page .mc-bc__sep{padding:10px 4px;color:var(--mc-c-text-muted);font:400 18px/28px var(--mc-f-sans)}

/* ── Hero card ──────────────────────────────────────────────────────── */
.mc-page .mc-hero{background:var(--mc-c-accent-lightest);display:flex;align-items:stretch;width:100%;min-height:531px;overflow:hidden}
.mc-page .mc-hero__copy{flex:1 0 0;padding:32px var(--mc-safe);display:flex;flex-direction:column;justify-content:center;gap:48px;min-width:0}
.mc-page .mc-hero__copy-block{display:flex;flex-direction:column;gap:24px}
.mc-page .mc-hero__title{font:700 48px/56px var(--mc-f-sans);letter-spacing:-2px;color:var(--mc-c-text-base);margin:0}
.mc-page .mc-hero__sub{font:400 18px/28px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0}
.mc-page .mc-hero__img{width:709px;flex-shrink:0;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-hero__img img{width:100%;height:100%;object-fit:cover;display:block}
.mc-page .mc-hero__share{display:inline-flex;align-items:center;gap:8px;padding:8px 0;font:600 14px/16px var(--mc-f-sans);color:var(--mc-c-text-secondary);background:none;border:0;cursor:pointer;text-decoration:none}
.mc-page .mc-hero__share:hover{color:var(--mc-c-accent)}
.mc-page .mc-hero__share svg{width:24px;height:24px}
@media (max-width:991px){
   .mc-page .mc-hero{flex-direction:column-reverse;min-height:auto}
   .mc-page .mc-hero__img{width:100%;height:280px}
   .mc-page .mc-hero__copy{padding:24px;gap:24px}
   .mc-page .mc-hero__title{font-size:36px;line-height:44px;letter-spacing:-1px}
}

/* Badge stato */
.mc-page .mc-badge{display:inline-block;padding:4px 16px;border-radius:4px;font:600 14px/16px var(--mc-f-sans);background:var(--mc-c-accent-lighter);color:var(--mc-c-text-secondary);width:-moz-fit-content;width:fit-content}
.mc-page .mc-badge--active{background:var(--mc-c-success-bg);color:var(--mc-c-success-text)}

/* ── Layout: sidebar + content ───────────────────────────────────────── */
.mc-page .mc-main{display:flex;gap:134px;padding:0 var(--mc-safe) 80px var(--mc-safe);align-items:flex-start}
.mc-page .mc-side{width:306px;flex-shrink:0;padding-top:80px;position:sticky;top:24px;align-self:flex-start}
.mc-page .mc-content{flex:1 0 0;min-width:0;padding-top:80px}
@media (max-width:1199px){.mc-page .mc-main{gap:48px}}
@media (max-width:991px){
   .mc-page .mc-main{flex-direction:column;padding:0 24px 40px 24px;gap:24px}
   .mc-page .mc-side{width:100%;position:static;padding-top:24px}
   .mc-page .mc-content{padding-top:0}
}

/* ── Sidebar Navscroll ───────────────────────────────────────────────── */
.mc-page .mc-nav__title{padding:24px;font:600 18px/24px var(--mc-f-sans);color:var(--mc-c-text-secondary);margin:0}
.mc-page .mc-nav__progress{height:4px;background:#D9DADB}
.mc-page .mc-nav__progress-bar{height:100%;background:var(--mc-c-accent);width:0;transition:width .25s}
.mc-page .mc-nav__list{list-style:none;margin:0;padding:0}
.mc-page .mc-nav__item{display:flex;align-items:stretch}
.mc-page .mc-nav__item a{display:block;flex:1;padding:16px 24px;font:600 18px/28px var(--mc-f-sans);color:var(--mc-c-accent);text-decoration:none;border-left:2px solid transparent}
.mc-page .mc-nav__item a:hover{color:var(--mc-c-text-base)}
.mc-page .mc-nav__item.is-active a{color:var(--mc-c-text-base);border-left-color:var(--mc-c-border-active)}

/* ── Sections ────────────────────────────────────────────────────────── */
.mc-page .mc-sec{padding:40px 0;display:flex;flex-direction:column;gap:16px;border:0}
.mc-page .mc-sec:first-child{padding-top:0}
.mc-page .mc-sec h2{font:700 40px/48px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0;padding:0}
.mc-page .mc-sec h3{font:600 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0;padding:0}
.mc-page .mc-sec p,.mc-page .mc-sec li,.mc-page .mc-sec ul,.mc-page .mc-sec ol{font:400 18px/28px var(--mc-f-serif);color:var(--mc-c-text-secondary)}
.mc-page .mc-sec--gap-lg{gap:24px}
.mc-page .mc-sec--gap-xl{gap:48px}
@media (max-width:991px){
   .mc-page .mc-sec h2{font-size:32px;line-height:40px}
}

/* ── Grid ────────────────────────────────────────────────────────────── */
.mc-page .mc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}
.mc-page .mc-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;width:100%}
@media (max-width:991px){.mc-page .mc-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.mc-page .mc-grid-2{gap:24px}}
@media (max-width:600px){.mc-page .mc-grid-3,.mc-page .mc-grid-2{grid-template-columns:1fr}}

/* ── Card / Object (Le opere) — flat, no border ──────────────────────── */
.mc-page .mc-card-obj{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;background:transparent}
.mc-page .mc-card-obj:hover{color:inherit;text-decoration:none}
.mc-page .mc-card-obj__img{aspect-ratio:4/3;background:var(--mc-c-bg-muted);overflow:hidden;border-radius:0}
.mc-page .mc-card-obj__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mc-page .mc-card-obj:hover .mc-card-obj__img img{transform:scale(1.04)}
.mc-page .mc-card-obj__body{display:flex;flex-direction:column;gap:4px;padding:8px 0}
.mc-page .mc-card-obj__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
.mc-page .mc-card-obj:hover .mc-card-obj__title{color:var(--mc-c-accent)}
.mc-page .mc-card-obj__date{font:400 16px/24px var(--mc-f-sans);color:var(--mc-c-text-muted);margin:0}

/* ── Card / Itinerary (Percorsi) ─────────────────────────────────────── */
.mc-page .mc-card-itin{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}
.mc-page .mc-card-itin:hover{color:inherit;text-decoration:none}
.mc-page .mc-card-itin__img{aspect-ratio:16/9;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-card-itin__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mc-page .mc-card-itin:hover .mc-card-itin__img img{transform:scale(1.04)}
.mc-page .mc-card-itin__body{display:flex;flex-direction:column;gap:4px;padding:8px 0}
.mc-page .mc-card-itin__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
.mc-page .mc-card-itin:hover .mc-card-itin__title{color:var(--mc-c-accent)}
.mc-page .mc-card-itin__meta{font:600 14px/16px var(--mc-f-sans);color:var(--mc-c-text-muted);text-transform:uppercase;letter-spacing:.5px;margin:0}

/* ── Card / Place (Dove) ─────────────────────────────────────────────── */
.mc-page .mc-card-place{display:flex;background:#fff;width:100%;max-width:856px;text-decoration:none;color:inherit;border:1px solid var(--mc-c-border-light);overflow:hidden}
.mc-page .mc-card-place:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);color:inherit;text-decoration:none}
.mc-page .mc-card-place__img{flex:1 0 0;background:var(--mc-c-bg-muted);overflow:hidden;min-height:200px}
.mc-page .mc-card-place__img img{width:100%;height:100%;object-fit:cover;display:block}
.mc-page .mc-card-place__body{flex:1 0 0;padding:24px;display:flex;flex-direction:column;gap:24px}
.mc-page .mc-card-place__title{font:700 32px/40px var(--mc-f-sans);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-secondary);margin:0}
@media (max-width:991px){.mc-page .mc-card-place{flex-direction:column}}

/* ── Galleria ────────────────────────────────────────────────────────── */
.mc-page .mc-gal{display:flex;flex-direction:column;gap:48px}
.mc-page .mc-gal__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.mc-page .mc-gal__row--single{grid-template-columns:1fr}
.mc-page .mc-gal__item{aspect-ratio:4/3;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-gal__item img,.mc-page .mc-gal__item iframe{width:100%;height:100%;object-fit:cover;display:block;border:0}
.mc-page .mc-gal__creds{display:flex;gap:8px;align-items:center;padding:16px 0;font:400 14px/16px var(--mc-f-sans);color:var(--mc-c-text-muted)}
.mc-page .mc-gal__creds b{font-weight:600}
@media (max-width:600px){.mc-page .mc-gal__row{grid-template-columns:1fr;gap:24px}}

/* ── Documenti ──────────────────────────────────────────────────────── */
.mc-page .mc-docs{display:flex;flex-direction:column}
.mc-page .mc-docs__item{display:flex;align-items:center;gap:16px;padding:24px 0;text-decoration:none;border-bottom:1px solid var(--mc-c-border-subtle);color:var(--mc-c-text-base)}
/* fix 2026-05-09: bordo basso ora visibile anche sull'ultimo elemento. Regola :last-child rimossa per uniformità. */
.mc-page .mc-docs__item:hover{color:var(--mc-c-accent);text-decoration:none}
.mc-page .mc-docs__icon{width:40px;height:40px;flex-shrink:0;color:var(--mc-c-accent);display:flex;align-items:center;justify-content:center}
.mc-page .mc-docs__icon svg{width:32px;height:32px}
.mc-page .mc-docs__title{font:600 18px/24px var(--mc-f-sans);margin:0;flex:1}
.mc-page .mc-docs__size{font:400 18px/24px var(--mc-f-sans);color:var(--mc-c-text-muted);margin:0 0 0 8px}

/* ── Contatti ───────────────────────────────────────────────────────── */
.mc-page .mc-contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;width:100%}
@media (max-width:768px){.mc-page .mc-contacts{grid-template-columns:1fr;gap:16px}}
.mc-page .mc-contacts__col{display:flex;flex-direction:column;gap:8px;min-width:0}
.mc-page .mc-contacts__label{font:600 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
.mc-page .mc-contacts__value{font:400 18px/28px var(--mc-f-serif);color:var(--mc-c-accent);text-decoration:underline;margin:0;overflow-wrap:anywhere}
.mc-page .mc-contacts__value a{overflow-wrap:anywhere}
.mc-page .mc-contacts__list{list-style:none;margin:0;padding:0}
.mc-page .mc-contacts__list li{font:400 18px/28px var(--mc-f-serif);color:var(--mc-c-text-secondary);padding:0;margin:0}

/* ── Bottoni ────────────────────────────────────────────────────────── */
.mc-page .mc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:4px;font:600 16px/24px var(--mc-f-sans);text-decoration:none;border:0;cursor:pointer;transition:opacity .15s}
.mc-page .mc-btn--primary{background:var(--mc-c-accent);color:#fff}
.mc-page .mc-btn--primary:hover{opacity:.9;color:#fff;text-decoration:none}
.mc-page .mc-btn--outline{background:#fff;color:var(--mc-c-accent);border:1px solid var(--mc-c-accent)}
.mc-page .mc-btn--outline:hover{background:var(--mc-c-accent-lighter);text-decoration:none}

/* ── Last update ─────────────────────────────────────────────────────── */
.mc-page .mc-last{display:flex;gap:8px;padding:24px 0;font:400 14px/16px var(--mc-f-sans);color:var(--mc-c-text-secondary)}
.mc-page .mc-last b{font-weight:600}

/* ── Feedback ───────────────────────────────────────────────────────── */
.mc-page .mc-feed{background:var(--mc-c-accent-dark);padding:80px var(--mc-safe);display:flex;justify-content:center}
.mc-page .mc-feed__card{background:#fff;box-shadow:0 8px 16px rgba(0,0,0,.15);padding:24px;width:100%;max-width:636px;border-radius:4px}
.mc-page .mc-feed__title{font:600 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0 0 16px 0}

/* ── Listing hero ───────────────────────────────────────────────────── */
.mc-page .mc-lhero{background:var(--mc-c-accent);color:#fff;padding:48px var(--mc-safe);position:relative;overflow:hidden;min-height:280px;display:flex;align-items:center}
.mc-page .mc-lhero--has-img::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(94,29,84,.85),rgba(94,29,84,.65));z-index:1}
.mc-page .mc-lhero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.mc-page .mc-lhero__copy{position:relative;z-index:2;max-width:856px}
.mc-page .mc-lhero h1{font:700 48px/56px var(--mc-f-sans);letter-spacing:-2px;color:#fff;margin:0 0 16px 0}
.mc-page .mc-lhero p{font:400 18px/28px var(--mc-f-serif);color:#fff;margin:0}
@media (max-width:600px){.mc-page .mc-lhero h1{font-size:36px;line-height:44px}}

/* ── Listing filters ────────────────────────────────────────────────── */
.mc-page .mc-filt{padding:24px var(--mc-safe);display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;background:#fff}
.mc-page .mc-filt__item{display:flex;flex-direction:column;gap:8px;flex:1 1 240px;min-width:200px}
.mc-page .mc-filt__item label{font:600 14px/16px var(--mc-f-sans);color:var(--mc-c-text-secondary)}
.mc-page .mc-filt__item select{height:48px;padding:0 40px 0 16px;border:1px solid var(--mc-c-border-subtle);border-radius:4px;font:400 16px/24px var(--mc-f-sans);color:var(--mc-c-text-base);background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%237D2670' d='M6 8.825L.35 3.175l.7-.7L6 7.425l4.95-4.95.7.7z'/></svg>") no-repeat right 16px center;background-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}
.mc-page .mc-filt__reset{flex:0 0 auto}

/* ── Listing grid ───────────────────────────────────────────────────── */
.mc-page .mc-list{padding:40px var(--mc-safe) 80px var(--mc-safe)}
.mc-page .mc-list__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;width:100%}
@media (max-width:991px){.mc-page .mc-list__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media (max-width:600px){.mc-page .mc-list__grid{grid-template-columns:1fr}}

/* Card listing — flat, image on top */
.mc-page .mc-lcard{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;background:transparent}
.mc-page .mc-lcard:hover{color:inherit;text-decoration:none}
.mc-page .mc-lcard__img{aspect-ratio:4/3;background:var(--mc-c-bg-muted);overflow:hidden}
.mc-page .mc-lcard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.mc-page .mc-lcard:hover .mc-lcard__img img{transform:scale(1.04)}
.mc-page .mc-lcard__body{display:flex;flex-direction:column;gap:8px;padding:8px 0}
.mc-page .mc-lcard__badges{display:flex;flex-wrap:wrap;gap:8px}
.mc-page .mc-lcard__title{font:700 24px/32px var(--mc-f-sans);color:var(--mc-c-text-base);margin:0}
.mc-page .mc-lcard:hover .mc-lcard__title{color:var(--mc-c-accent)}
.mc-page .mc-lcard__meta{font:400 16px/24px var(--mc-f-sans);color:var(--mc-c-text-muted);margin:0}
.mc-page .mc-lcard__excerpt{font:400 16px/24px var(--mc-f-serif);color:var(--mc-c-text-secondary);margin:0}

/* Pagination */
.mc-page .mc-pag{margin-top:48px;display:flex;justify-content:center}
.mc-page .mc-pag ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;align-items:center}
.mc-page .mc-pag a,.mc-page .mc-pag span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:4px;font:600 16px/24px var(--mc-f-sans);text-decoration:none;color:var(--mc-c-accent)}
.mc-page .mc-pag a:hover{background:var(--mc-c-accent-lighter)}
.mc-page .mc-pag .is-active{background:var(--mc-c-accent);color:#fff}
.mc-page .mc-pag .is-disabled{color:var(--mc-c-text-muted);pointer-events:none;opacity:.5}

/* Empty state */
.mc-page .mc-empty{padding:40px;background:var(--mc-c-accent-lightest);text-align:center;color:var(--mc-c-text-secondary)}
