/* Componenti che il clone FV non aveva. Solo variabili del tema (mr22.css),
   nessun colore scritto in chiaro. */

/* Slot foto vuoto: richiesta visiva al team, MAI riempito con foto generate
   o stock. Si toglie solo quando arriva la foto vera. */
.mr-slot{
  width:100%; height:100%; min-height:100%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px;
  padding:18px; text-align:center;
  border:1.5px dashed rgba(var(--c-accent-rgb),.5); border-radius:inherit;
  background:repeating-linear-gradient(135deg, rgba(var(--c-accent-rgb),.035) 0 12px, transparent 12px 24px);
  color:var(--c-muted); font-size:11px; letter-spacing:.16em; text-transform:uppercase; line-height:1.5;
}
.mr-slot svg{ width:34px; height:34px; fill:none; stroke:var(--c-accent); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; opacity:.85; }
.mr-slot strong{ display:block; color:var(--c-accent); font-weight:600; letter-spacing:.14em; }
.fv-card__img .mr-slot{ position:absolute; inset:0; border-radius:0; border-width:0 0 1.5px 0; }
.fv-gallery__item .mr-slot{ border:0; }
.fv-gallery__item:has(.mr-slot){ border:1.5px dashed rgba(var(--c-accent-rgb),.5); }

/* Foto/slot ritratto nella sottopagina del singolo barbero */
.mr-portrait{ position:relative; aspect-ratio:4/5; border-radius:24px; overflow:hidden; border:1px solid var(--c-line); background:var(--c-panel); }
.mr-portrait img{ width:100%; height:100%; object-fit:cover; }
.mr-portrait .mr-slot{ border-radius:24px; border:0; }
.mr-portrait:has(.mr-slot){ border:1.5px dashed rgba(var(--c-accent-rgb),.5); }

/* Listino: riga nome ... prezzo dentro una .fv-step-card */
.mr-menu{ margin-top:6px; }
.mr-menu li{ display:flex; align-items:baseline; gap:10px; padding:11px 0; border-bottom:1px solid var(--c-line); }
.mr-menu li:last-child{ border-bottom:0; }
.mr-menu__name{ color:var(--c-text); font-size:15.5px; }
.mr-menu__dots{ flex:1; border-bottom:1px dotted rgba(var(--c-accent-rgb),.35); transform:translateY(-4px); }
.mr-menu__price{ font-family:'Playfair Display',Georgia,serif; color:var(--c-accent); font-size:19px; white-space:nowrap; }

/* ==========================================================================
   LISTINO su sfondo chiaro: grafica clonata dal dossier (chat Operazioni &
   Listino, build_dossier.py: .hexh/.catbody/.it/.itn/.its/.itp/.catfoot),
   stessi colori INK #161616, INK2 #3d3a36, MUTED #8a847b, GRID #ebe6de.
   ========================================================================== */
.mr-listino{ background:#fbfaf8; color:#161616; padding:clamp(48px,6vw,80px) 24px; border-top:1px solid #ebe6de; border-bottom:1px solid #ebe6de; }
.mr-listino .fv-p-head h2{ color:#161616; }
.mr-listino .fv-p-head p{ color:#3d3a36; }
.mr-listino .fv-kicker{ color:#b8862f; }
.mr-listino .fv-kicker::before,.mr-listino .fv-kicker::after{ background:#b8862f; box-shadow:none; }
.mr-listino .fv-btn--outline{ color:#161616; border-color:#d6d0c6; }
.mr-listino__grid{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr)); gap:28px; align-items:start; }
.mr-cat{ background:#fff; border:1px solid #ebe6de; border-radius:20px; overflow:hidden; box-shadow:0 20px 40px -30px rgba(22,22,22,.25); }
.hexh{ display:block; width:100%; height:auto; }
.hexh .ht{ font-family:'Playfair Display',serif; font-size:66px; fill:#161616; }
.hexh .hs{ font-family:'Alex Brush',cursive; font-size:34px; fill:#3d3a36; }
.hexh .hc{ font-family:'Montserrat',sans-serif; font-size:12px; letter-spacing:4px; fill:#3d3a36; }
.catbody{ padding:6px clamp(18px,3vw,30px) 14px; }
.catrule{ width:64px; height:2px; margin:18px 0 6px; }
.it{ display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:14px 0; border-bottom:1px solid #ebe6de; }
.it:last-child{ border-bottom:0; }
.itn{ font-family:'Playfair Display',serif; font-size:18px; line-height:1.25; color:#161616; }
.its{ font-family:'Montserrat',sans-serif; font-size:10.5px; color:#8a847b; letter-spacing:.03em; margin-top:3px; }
.mr-listino p.itd{ margin:7px 0 0; font-size:14.5px; line-height:1.55; color:#3d3a36; }
.itp{ text-align:right; font-family:'Playfair Display',serif; font-size:18px; color:#161616; white-space:nowrap; }
.itp small{ display:block; font-family:'Montserrat',sans-serif; font-size:10.5px; color:#8a847b; margin-top:3px; }
.catfoot{ margin-top:34px; text-align:center; font-family:'Playfair Display',serif; font-size:14px; color:#8a847b; letter-spacing:.06em; }
.catfoot span{ font-family:'Alex Brush',cursive; font-size:21px; letter-spacing:0; }

/* Orari dentro .fv-info-card */
.mr-hours li{ display:flex; justify-content:space-between; gap:12px; padding:5px 0; font-size:14.5px; color:var(--c-soft); }
.mr-hours li b{ color:var(--c-text); font-weight:500; }

/* Hero Home con il loop del logo: il video E' il titolo (contiene il marchio),
   quindi niente testo sopra. Riquadro 16:9 per non tagliare il logo, solo i
   pulsanti in basso; h1 e testo vanno nella sezione subito sotto. */
.mr-hero--logo{ min-height:0; aspect-ratio:16/9; max-height:82vh; width:100%; align-items:flex-end; padding:0 24px clamp(18px,3vw,36px); }
.mr-hero--logo .fv-hero__media::after{ background:linear-gradient(180deg,rgba(10,10,10,0) 70%,rgba(11,11,12,.85) 100%) !important; }
.mr-hero--logo .fv-hero__media video,.mr-hero--logo .fv-hero__media img{ opacity:1 !important; filter:none !important; }
@media(max-width:640px){ .mr-hero--logo{ aspect-ratio:auto; min-height:0; padding:0; } .mr-hero--logo .fv-hero__media{ position:relative; aspect-ratio:16/9; } .mr-hero--logo .fv-hero__in{ display:none; } }
.mr-intro{ padding-top:clamp(40px,5vw,64px); }
.mr-intro h1{ font-size:clamp(40px,6.6vw,84px); line-height:.97; letter-spacing:-.04em; margin:0 auto 20px; }

/* Foto staff dal sito live: nome stampato in basso nell'immagine, si
   inquadra dall'alto per non mostrarlo tagliato a meta'. */
.fv-card__img img[src*="/equipo/"],.mr-portrait img[src*="/equipo/"]{ object-position:center top; }

/* ==========================================================================
   Sezione chiara (FAQ): stessi componenti clonati, solo token ridefiniti nello
   scope, come lo swap di mr22.css. Palette = listino (dossier).
   ========================================================================== */
.mr-light{
  --c-bg:#fbfaf8; --c-panel:#ffffff; --c-text:#161616; --c-text-rgb:22,22,22;
  --c-soft:#3d3a36; --c-muted:#8a847b; --c-accent:#b8862f; --c-accent-rgb:184,134,47;
  --c-accent-light:#c9a04a; --c-accent-ink:#ffffff; --c-line:#ebe6de;
  background:var(--c-bg); color:var(--c-text);
}
.mr-light .fv-hero{ background:radial-gradient(circle at 50% 0%, rgba(184,134,47,.08), transparent 46%), var(--c-bg); min-height:0; padding-bottom:clamp(30px,4vw,48px); }
.mr-light .fv-kicker::before,.mr-light .fv-kicker::after{ box-shadow:none; }
.mr-light .fv-hero__tag{ background:#fff; color:var(--c-soft); }
.mr-light .fv-hero__tag:hover{ border-color:var(--c-accent); color:var(--c-accent); }
.mr-light .fv-faq{ padding-top:clamp(20px,3vw,36px); }
.mr-light .fv-faq-group{ scroll-margin-top:110px; }
.mr-light .fv-faq-item{ box-shadow:0 10px 26px -22px rgba(22,22,22,.35); }
.mr-light .fv-faq-item__answer a{ color:var(--c-accent); text-decoration:underline; }
.mr-light .fv-faq-item summary:hover{ color:var(--c-accent); }

/* ==========================================================================
   TIPOGRAFIA "aggressiva" (28/10/2026, richiesta Riccardo): titoli in Anton
   maiuscolo al posto di Playfair. La parola in oro (em.fv-accent) resta Anton,
   maiuscola, con effetto consumato: maschera a grana (SVG feTurbulence) che
   buca la lettera come vernice scrostata. Listino (dossier) escluso.
   ========================================================================== */
.fv-clone h1,.fv-clone h2,.fv-clone h3,
.fv-clone .fv-faq-group__title,.fv-check-card strong,.fv-stat b,.fv-text-box h3,.fv-footer h4{
  font-family:'Anton',Impact,'Arial Narrow',sans-serif; font-weight:400;
  text-transform:uppercase; letter-spacing:.012em; line-height:1.02;
}
.fv-clone .fv-card__title{ font-size:clamp(22px,2.1vw,27px); }
.fv-footer h4{ letter-spacing:.06em; font-size:14px; }
.fv-clone em.fv-accent{
  font-style:normal; text-transform:uppercase; display:inline-block; padding:0 .04em;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.022' numOctaves='4' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 0 0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23g%29'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 0 0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23g%29'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.022' numOctaves='4' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 1 1 1 0 0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23g%29'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='discrete' tableValues='1 1 1 1 0 0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url%28%23g%29'/%3E%3C/svg%3E");
  -webkit-mask-size:6em 6em,1.6em 1.6em; mask-size:6em 6em,1.6em 1.6em;
  -webkit-mask-composite:source-in; mask-composite:intersect;
}
.mr-listino .fv-p-head h2{ font-size:clamp(34px,5vw,56px); margin:0 auto 20px; }

/* ==========================================================================
   PAGINA BARBERO (28/10/2026): foto + nome/eta/nazionalita, biografia a
   macchina da scrivere (Special Elite), tagli con flash casuale, prenota.
   ========================================================================== */
.mr-member{ max-width:1000px; margin:0 auto; padding:clamp(40px,6vw,72px) 24px 0; }
.mr-member__head{ display:grid; grid-template-columns:clamp(140px,22vw,220px) 1fr; gap:clamp(20px,4vw,40px); align-items:center; }
.mr-member__photo{ position:relative; aspect-ratio:4/5; border-radius:20px; overflow:hidden; border:1px solid var(--c-line); background:var(--c-panel); }
.mr-member__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; }
.mr-member__photo:has(.mr-slot){ border:1.5px dashed rgba(var(--c-accent-rgb),.5); }
.mr-member__photo .mr-slot{ border:0; font-size:10px; }
.mr-member__name{ font-size:clamp(52px,9vw,110px); line-height:.9; margin:6px 0 16px; cursor:pointer; }
.mr-member__facts{ display:flex; flex-wrap:wrap; gap:8px; }
.mr-member .fv-hero__tag{ color:var(--c-text); }
@media(max-width:560px){ .mr-member__head{ grid-template-columns:120px 1fr; } }

.mr-bio{ margin:clamp(30px,5vw,48px) 0 0; padding:clamp(22px,3vw,34px); border:1px solid var(--c-line); border-radius:20px;
  background:var(--c-panel); font-family:'Special Elite','Courier New',monospace; cursor:default; }
.mr-bio p{ margin:0 0 14px; font-size:clamp(15px,1.6vw,17.5px); line-height:1.7; color:var(--c-text); }
.mr-bio p:last-child{ margin-bottom:0; }
.mr-bio p.is-pending{ display:none; }
.mr-bio b{ color:var(--c-accent); font-weight:400; text-transform:uppercase; letter-spacing:.06em; }
.mr-tw-cursor{ display:inline-block; width:.55em; height:1.05em; margin-left:1px; vertical-align:-.15em; background:var(--c-accent); animation:mrBlink .8s steps(1) infinite; }
@keyframes mrBlink{ 50%{ opacity:0; } }

.mr-flash{ display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.mr-flash__item{ position:relative; aspect-ratio:4/5; border-radius:12px; overflow:hidden; border:1px solid var(--c-line); background:var(--c-panel); }
.mr-flash__item img{ width:100%; height:100%; object-fit:cover; filter:brightness(.42) saturate(.55); }
.mr-flash__item.is-flash img{ animation:mrFlash 1.5s ease-out; }
.mr-flash__item.is-flash{ animation:mrFlashBox 1.5s ease-out; }
@keyframes mrFlash{
  0%{ filter:brightness(.42) saturate(.55); }
  12%{ filter:brightness(1.3) saturate(1.05); }
  35%{ filter:brightness(1) saturate(1); }
  100%{ filter:brightness(.42) saturate(.55); }
}
@keyframes mrFlashBox{
  0%{ box-shadow:none; }
  12%{ box-shadow:0 0 0 1px rgba(var(--c-accent-rgb),.9),0 0 34px 6px rgba(var(--c-accent-rgb),.55); }
  100%{ box-shadow:none; }
}
.mr-flash.is-static .mr-flash__item img,.mr-flash__item:hover img{ filter:none; }
.mr-flash .mr-slot{ border:0; }
.mr-flash__item:has(.mr-slot){ border:1.5px dashed rgba(var(--c-accent-rgb),.5); }
@media(max-width:860px){ .mr-flash{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:520px){ .mr-flash{ grid-template-columns:repeat(2,1fr); gap:8px; } }
.mr-member__book{ text-align:center; padding:clamp(40px,6vw,64px) 24px; }
.mr-member__book .fv-btn{ min-height:60px; padding:0 40px; font-size:14px; }

/* Fascia d'apertura della biografia: foto ambientata sotto una pellicola nera
   semitrasparente (si vede, ma resta piu' scura che chiara). */
.mr-hero-bio{ position:relative; overflow:hidden; border-bottom:1px solid var(--c-line); }
.mr-hero-bio__media{ position:absolute; inset:0; z-index:0; }
.mr-hero-bio__media img{ width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.05) brightness(.8); }
.mr-hero-bio__media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.5) 55%,rgba(11,11,12,.92) 100%),rgba(0,0,0,.18); }
.mr-hero-bio .mr-member{ position:relative; z-index:1; min-height:clamp(380px,58vh,600px); display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:clamp(32px,5vw,56px); }
.mr-hero-bio .fv-collection__back{ color:rgba(243,236,224,.75); margin-bottom:auto; }
.mr-hero-bio .mr-member__head{ margin-top:28px; }
.mr-hero-bio .mr-member__photo{ box-shadow:0 24px 50px -20px rgba(0,0,0,.8); }
.mr-hero-bio .fv-hero__tag{ background:rgba(0,0,0,.35); border-color:rgba(243,236,224,.25); }
.mr-member--bio{ padding-top:0; }
.mr-hero-bio--plain{ border-bottom:0; }
.mr-hero-bio--plain .mr-member{ min-height:0; padding-bottom:0; }
/* foto della fascia sul lato destro, sfumata verso sinistra nel nero: il volto
   non finisce dietro a foto profilo e nome */
.mr-hero-bio{ background:var(--c-bg); }
.mr-hero-bio__media{ left:auto; width:min(68%,980px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%); mask-image:linear-gradient(90deg,transparent 0%,#000 38%); }
@media(max-width:760px){ .mr-hero-bio__media{ width:100%; -webkit-mask-image:none; mask-image:none; } }

/* Foto d'ambiente come SFONDO del riquadro della biografia (richiesta
   Riccardo 28/10): molto scurita e in dissolvenza, il testo resta leggibile. */
.mr-bio--photo{ position:relative; overflow:hidden; isolation:isolate; background:#0d0d0e; }
.mr-bio--photo::before{ content:""; position:absolute; inset:0; z-index:-2;
  background:var(--bio-bg) var(--bio-pos,50% 30%)/cover no-repeat;
  filter:grayscale(.35) brightness(.55) contrast(1.05); opacity:.55;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.25) 0%,#000 55%,#000 100%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.25) 0%,#000 55%,#000 100%); }
.mr-bio--photo::after{ content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,rgba(13,13,14,.88) 0%,rgba(13,13,14,.62) 60%,rgba(13,13,14,.45) 100%),
             linear-gradient(180deg,rgba(13,13,14,.25) 0%,rgba(13,13,14,.55) 100%); }
.mr-bio--photo p{ text-shadow:0 1px 2px rgba(0,0,0,.7); }
.mr-bio--photo{ min-height:300px; }
/* taratura: foto piu' presente, testo sempre leggibile */
.mr-bio--photo::before{ filter:grayscale(.25) brightness(.75) contrast(1.05); opacity:.8; }
.mr-bio--photo::after{ background:linear-gradient(90deg,rgba(13,13,14,.82) 0%,rgba(13,13,14,.55) 55%,rgba(13,13,14,.35) 100%),
             linear-gradient(180deg,rgba(13,13,14,.15) 0%,rgba(13,13,14,.45) 100%); }
/* Trabajos: griglia flash piu' ampia (molte foto) */
.mr-flash--wide{ grid-template-columns:repeat(6,1fr); max-width:1240px; margin:0 auto; }
@media(max-width:1100px){ .mr-flash--wide{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:860px){ .mr-flash--wide{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:520px){ .mr-flash--wide{ grid-template-columns:repeat(2,1fr); } }

/* Galleria del negozio: 6 foto verticali su 3 colonne (2 righe piene, niente buchi) */
.fv-gallery__grid.mr-gallery-3{ grid-template-columns:repeat(3,1fr); grid-auto-rows:220px; }
@media(max-width:860px){ .fv-gallery__grid.mr-gallery-3{ grid-template-columns:repeat(2,1fr); grid-auto-rows:170px; } }
@media(max-width:520px){ .fv-gallery__grid.mr-gallery-3{ grid-auto-rows:140px; } }

/* Link legali nella barra in fondo al footer (11/11/2026) */
.mr-footer-legal{ display:flex; flex-wrap:wrap; gap:6px 18px; }
.mr-footer-legal a{ color:var(--c-muted); text-decoration:none; transition:color .2s ease; }
.mr-footer-legal a:hover{ color:var(--c-accent); }
.fv-legal th{ width:34%; }
@media(max-width:520px){ .fv-legal table,.fv-legal tbody,.fv-legal tr,.fv-legal th,.fv-legal td{ display:block; width:auto; } .fv-legal th{ border-bottom:0; } }
.fv-legal ul{ list-style:disc; }
.fv-legal li::marker{ color:var(--c-accent); }
