/* Memoriale v2 — "Meno interfaccia, più memoria" */
:root{
  --mv-ivory:#F9F6EF; --mv-sand:#F0E9D8; --mv-sand2:#E1D5B8; --mv-taupe:#8C8374;
  --mv-ink:#3A3F35; --mv-muted:#6E7263; --mv-champ:#B08A4E; --mv-accent:#B8714F;
  --mv-serif:'Cormorant Garamond',Georgia,serif; --mv-sans:'Plus Jakarta Sans',system-ui,sans-serif;
}
.mv-wrap{max-width:64rem;margin:0 auto;padding:0 1.25rem}
.mv-col{max-width:40rem;margin:0 auto;padding:0 1.25rem}
.mv-section{padding:clamp(2rem,5vw,3.25rem) 0}
.mv-eyebrow{font:500 .7rem var(--mv-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mv-accent)}
.mv-title{text-align:center;margin-bottom:2.2rem}
.mv-title h2{font:500 clamp(2rem,5vw,2.8rem)/1.15 var(--mv-serif);color:var(--mv-ink);margin-top:.5rem}
.mv-title::after{content:"";display:block;width:3rem;height:1px;background:var(--mv-champ);margin:1.2rem auto 0}
.mv-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.8rem;border-radius:999px;border:1px solid var(--mv-ink);background:var(--mv-ink);color:var(--mv-ivory);font:500 .92rem var(--mv-sans);cursor:pointer;text-decoration:none;transition:background .25s,color .25s}
.mv-btn:hover{background:#000}
.mv-btn.line{background:transparent;color:var(--mv-ink);border-color:var(--mv-taupe)}
.mv-btn.line:hover{background:var(--mv-sand)}
.mv-section :focus-visible,.mv-lb :focus-visible,.mv-top :focus-visible,.mv-foot :focus-visible{outline:2px solid var(--mv-accent);outline-offset:3px}

/* intestazione e piè di pagina sobri */
.mv-top{display:flex;align-items:center;justify-content:space-between;max-width:64rem;margin:0 auto;padding:.7rem 1.25rem}
.mv-top a.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--mv-ink);font:500 1.15rem var(--mv-serif);letter-spacing:.04em}
.mv-top a.brand img{width:40px;height:40px;object-fit:contain}
.mv-top a.scopri{font:.78rem var(--mv-sans);color:var(--mv-muted);text-decoration:none;border-bottom:1px solid var(--mv-sand2)}
.mv-foot{border-top:1px solid var(--mv-sand2);text-align:center;padding:3rem 1.25rem 2.5rem;color:var(--mv-muted);font:.78rem/1.8 var(--mv-sans)}
.mv-foot .memoria{font:italic 1.25rem var(--mv-serif);color:var(--mv-muted)}
.mv-foot a,.mv-foot button{color:inherit;text-decoration:none;border:0;background:none;font:inherit;cursor:pointer;margin:0 .6rem}
.mv-foot a:hover,.mv-foot button:hover{text-decoration:underline}
.mv-foot .demo{max-width:30rem;margin:1.5rem auto 0;padding:1rem;border-top:1px solid var(--mv-sand2);border-bottom:1px solid var(--mv-sand2)}

/* hero */
.mv-hero{position:relative;overflow:hidden;text-align:center;padding:3rem 1.25rem 2.4rem;background:radial-gradient(ellipse 60% 38% at 50% 14%,#F4E9D4 0%,rgba(249,246,239,0) 100%),var(--mv-ivory)}
.mv-portrait{width:min(19rem,80vw);aspect-ratio:1;margin:0 auto;border-radius:50%;padding:7px;border:1px solid var(--mv-champ);box-shadow:0 24px 50px -28px rgba(58,63,53,.45)}
@media(min-width:700px){.mv-portrait{width:22rem}}
.mv-portrait .ring{width:100%;height:100%;border-radius:50%;overflow:hidden;background:var(--mv-sand);display:flex;align-items:center;justify-content:center}
.mv-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.mv-portrait span{font:400 5rem var(--mv-serif);color:var(--mv-accent)}
.mv-hero .in{margin-top:2.2rem;font:500 .72rem var(--mv-sans);letter-spacing:.35em;text-transform:uppercase;color:var(--mv-accent)}
.mv-hero h1{font:500 clamp(3rem,11vw,5.4rem)/1.04 var(--mv-serif);color:var(--mv-ink);margin-top:.6rem;letter-spacing:.005em;text-wrap:balance}
.mv-hero .years{font:400 1.2rem var(--mv-sans);letter-spacing:.22em;color:var(--mv-ink);margin-top:1.1rem}
.mv-hero .dates{font:.88rem var(--mv-sans);color:var(--mv-muted);margin-top:.35rem}
.mv-hero .city{font:.88rem var(--mv-sans);color:var(--mv-muted);margin-top:.3rem}
.mv-hero blockquote{font:italic 400 clamp(1.5rem,4.2vw,2.1rem)/1.45 var(--mv-serif);color:var(--mv-ink);max-width:34rem;margin:2.2rem auto 0;text-wrap:balance}
.mv-hero blockquote::before{content:"“";display:block;font-size:3.4rem;line-height:.6;color:var(--mv-champ);opacity:.7}
.mv-hero .acts{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2.2rem}

/* biografia */
.mv-prose{font:1.0625rem/1.95 var(--mv-sans);color:#4A4D44}
.mv-prose p{margin-bottom:1.35rem}
.mv-prose>p:first-child{font-size:1.18rem;color:var(--mv-ink)}
.mv-prose h2,.mv-prose h3{font-family:var(--mv-serif);font-weight:500;color:var(--mv-ink);line-height:1.2;margin:3rem 0 1rem}
.mv-prose h2{font-size:1.9rem}.mv-prose h3{font-size:1.5rem}
.mv-prose h2::before,.mv-prose h3::before{content:"";display:block;width:2rem;height:1px;background:var(--mv-champ);margin-bottom:1rem}
.mv-prose blockquote{border-left:2px solid var(--mv-champ);padding-left:1.2rem;font:italic 1.3rem/1.6 var(--mv-serif);margin:1.8rem 0}
.mv-prose ul,.mv-prose ol{margin:0 0 1.35rem 1.4rem}
.mv-prose a{color:var(--mv-accent)}
.mv-bio-short{position:relative}
.mv-bio-more{text-align:center;margin-top:1.2rem}
.mv-bio-short.fade::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;background:linear-gradient(180deg,rgba(249,246,239,0),var(--mv-ivory))}

/* galleria / album */
.mv-album{background:linear-gradient(180deg,var(--mv-ivory),var(--mv-sand) 50%,var(--mv-ivory))}
.mv-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem}
.mv-chips button{min-height:40px;padding:.4rem 1rem;border-radius:999px;border:1px solid var(--mv-sand2);background:transparent;color:var(--mv-ink);font:.82rem var(--mv-sans);cursor:pointer}
.mv-chips button[aria-pressed=true]{background:var(--mv-ink);color:var(--mv-ivory);border-color:var(--mv-ink)}
/* visore a schermo intero */
.mv-lb{position:fixed;inset:0;z-index:100;background:rgba(20,21,18,.94);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.mv-lb.open{opacity:1;visibility:visible}
.mv-lb .stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:3.5rem .5rem .5rem;touch-action:pan-y}
.mv-lb img{max-width:100%;max-height:100%;object-fit:contain;transition:opacity .25s}
.mv-lb .cap{color:#E9E4D6;text-align:center;font:italic 1.1rem/1.4 var(--mv-serif);padding:.6rem 1.5rem 1.4rem;min-height:3.2rem}
.mv-lb .cap small{display:block;font:.72rem var(--mv-sans);letter-spacing:.15em;color:#9d9a8f;margin-top:.3rem;font-style:normal}
.mv-lb button{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mv-lb button:hover{background:rgba(255,255,255,.18)}
.mv-lb .x{top:.6rem;right:.6rem}
.mv-lb .pv,.mv-lb .nx{top:50%;transform:translateY(-50%)}
.mv-lb .pv{left:.6rem}.mv-lb .nx{right:.6rem}
@media(max-width:700px){.mv-lb .pv,.mv-lb .nx{top:auto;bottom:4.8rem;transform:none;background:rgba(255,255,255,.14)}}
body.mv-lock{overflow:hidden}

/* libro dei ricordi */
.mv-book{border-top:1px solid var(--mv-sand2)}
.mv-book .intro{text-align:center;max-width:32rem;margin:-0.6rem auto 2.6rem;font:1.02rem/1.8 var(--mv-sans);color:var(--mv-muted)}
.mv-notice{border-top:1px solid var(--mv-champ);border-bottom:1px solid var(--mv-champ);padding:.9rem 1rem;font:.92rem var(--mv-sans);color:var(--mv-ink);margin-bottom:2rem;text-align:center}
.mv-cards{display:grid;gap:2.4rem 3rem;max-width:44rem;margin:0 auto}
@media(min-width:900px){.mv-cards{max-width:none;grid-template-columns:1fr 1fr;align-items:start}}
.mv-card{padding-top:1.1rem;border-top:1px solid var(--mv-sand2)}
.mv-card blockquote{font:italic 400 1.32rem/1.6 var(--mv-serif);color:var(--mv-ink);white-space:pre-line}
.mv-card footer{margin-top:.9rem;font:.78rem var(--mv-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mv-muted)}
.mv-card footer b{font-weight:600;color:var(--mv-ink)}
.mv-book .cta{text-align:center;margin-top:2.8rem}

/* condivisione */
.mv-share{text-align:center;padding:2.2rem 1.25rem 0}
.mv-share button{background:none;border:0;border-bottom:1px solid var(--mv-taupe);color:var(--mv-muted);font:.88rem var(--mv-sans);padding:.5rem .2rem;min-height:44px;cursor:pointer}
.mv-share button:hover{color:var(--mv-ink)}
.mv-share .st{min-height:1.4rem;font:.82rem var(--mv-sans);color:var(--mv-accent);margin-top:.5rem}

/* comparsa morbida */
.mv-rv{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.mv-rv.on{opacity:1;transform:none}
html:not(.js) .mv-rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.mv-rv{opacity:1;transform:none;transition:none}.mv-lb,.mv-lb img,.mv-thumbs .swiper-slide,.mv-arrow{transition:none}html{scroll-behavior:auto}}

.mv-tagline{font:italic 1.3rem var(--mv-serif);color:var(--mv-muted)}
/* sezioni ereditate (video, audio, mappa): niente riquadri */
.mv-legacy [class*="ring-1"],.mv-legacy [class*="shadow"]{box-shadow:none!important}
.mv-legacy [class*="bg-white"]{background:transparent!important}

/* frecce sulla galleria di prima: sempre visibili, leggibili su qualsiasi foto */
.memorial-swiper .swiper-button-prev,.memorial-swiper .swiper-button-next{width:44px;height:44px;margin-top:-22px;border-radius:50%;background:rgba(249,246,239,.88);color:var(--mv-ink)!important;box-shadow:0 1px 6px rgba(0,0,0,.18)}
.memorial-swiper .swiper-button-prev{left:.6rem}.memorial-swiper .swiper-button-next{right:.6rem}
.memorial-swiper .swiper-button-prev::after,.memorial-swiper .swiper-button-next::after{font-size:1.1rem!important;font-weight:700;color:var(--mv-ink)!important}
.memorial-swiper .swiper-button-disabled{opacity:.35;pointer-events:none}

/* desktop e tablet: composizione più ampia, meno "striscia" verticale */
@media(min-width:900px){
  .mv-hero{padding:3.5rem 2rem 3rem}
  .mv-hero-in{max-width:68rem;margin:0 auto;display:grid;grid-template-columns:22rem 1fr;gap:clamp(3rem,6vw,5.5rem);align-items:center;text-align:left}
  .mv-hero .in{margin-top:0}
  .mv-hero blockquote{margin-left:0;margin-right:0;max-width:none}
  .mv-hero blockquote::before{margin-left:-.2rem}
  .mv-hero .acts{justify-content:flex-start}
  .mv-hero h1{font-size:clamp(3.4rem,5.6vw,5.2rem)}
  .mv-col{max-width:46rem}
  .mv-wrap{max-width:72rem}
  .mv-legacy .max-w-2xl{max-width:46rem}
  .mv-legacy .max-w-3xl{max-width:56rem}
  .mv-legacy .max-w-5xl{max-width:68rem}
  .mv-section{padding:3.5rem 0}
}
@media(min-width:1200px){.mv-hero-in{grid-template-columns:26rem 1fr}.mv-portrait{width:26rem}}

.mv-foot .social a{margin:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%}
.mv-foot .social a:hover{text-decoration:none;color:var(--mv-accent)}
