/* Componente circoscritto: nessuna regola globale del tema. */
.mcf-events { --mcf-ink:#351d19; --mcf-wine:#771c15; --mcf-paper:#fbf6ee; --mcf-line:#d9c9bb; background:var(--mcf-paper); color:var(--mcf-ink); font-family:inherit; padding:clamp(3rem,7vw,7rem) 0 4rem; line-height:1.6; }
.mcf-events *, .mcf-preview * { box-sizing:border-box; }
.mcf-events [hidden], .mcf-preview [hidden] { display:none!important; }
.mcf-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.mcf-events h2,.mcf-events h3,.mcf-events h4,.mcf-events p { margin:0; color:inherit; }
.mcf-events h2,.mcf-events h3,.mcf-events h4 { font-family:inherit; text-transform:none; }
.mcf-events a { color:inherit; text-decoration-thickness:1px; text-underline-offset:5px; }
.mcf-events button { font:inherit; cursor:pointer; border:1px solid var(--mcf-wine); background:var(--mcf-wine); color:#fff; padding:.7rem 1rem; min-height:46px; border-radius:2px; transition:background .18s; }
.mcf-events button:hover { background:#54160f; }
.mcf-events button:active { transform:translateY(1px); }
.mcf-events :is(button,a):focus-visible,.mcf-preview :is(a,select):focus-visible { outline:3px solid #19666c; outline-offset:5px; }
.mcf-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.mcf-heading-row { display:flex; justify-content:space-between; gap:3rem; align-items:end; margin:1.2rem 0 3.5rem; }
.mcf-heading-row h2 { font-size:clamp(2.8rem,5.8vw,5.3rem); font-weight:500; line-height:1.03; letter-spacing:-.04em; text-wrap:balance; }
.mcf-heading-row>p { max-width:320px; padding-bottom:.3rem; }
.mcf-section-label { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--mcf-line); }
.mcf-section-label h3 { font-size:1.1rem; font-weight:600; }
.mcf-section-label>span { font-size:.8rem; }
.mcf-program-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; padding-top:1.5rem; }
.mcf-event { display:grid; grid-template-columns:65px 1fr; gap:1.3rem; padding:1.4rem 0; border-bottom:1px solid var(--mcf-line); }
.mcf-event-featured { color:#fff; background:var(--mcf-wine); padding:2rem; border:0; align-content:start; }
.mcf-event-featured .mcf-event-body { padding-top:.2rem; }
.mcf-date { font-variant-numeric:tabular-nums; line-height:1; }
.mcf-date strong { display:block; font-size:2.8rem; font-weight:500; letter-spacing:-.06em; }
.mcf-date span { display:block; margin-top:.45rem; text-transform:uppercase; font-size:.75rem; letter-spacing:.05em; }
.mcf-event h4 { font-size:1.35rem; line-height:1.25; font-weight:600; }
.mcf-event-featured h4 { font-size:1.8rem; }
.mcf-event-meta { font-size:.82rem; margin:.65rem 0!important; }
.mcf-event-description { max-width:48ch; font-size:.95rem; }
.mcf-event a { display:inline-flex; align-items:center; min-height:44px; margin-top:.75rem; font-weight:600; }
.mcf-empty { padding:1.8rem 0; max-width:62ch; }
.mcf-paths { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--mcf-line); border-bottom:1px solid var(--mcf-line); margin-top:2rem; }
.mcf-paths a { display:flex; align-items:center; gap:.8rem; padding:1.2rem .8rem; text-decoration:none; font-weight:600; }
.mcf-paths a+a { border-left:1px solid var(--mcf-line); }
.mcf-paths a span:first-child { font-size:.7rem; font-weight:400; }
.mcf-paths a span:last-child { margin-left:auto; }
.mcf-paths a:hover,.mcf-text-link:hover { color:var(--mcf-wine); text-decoration:underline; }
.mcf-social { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(0,1.65fr); gap:2.5rem; padding-top:4.5rem; }
.mcf-social-intro h3 { font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.1; letter-spacing:-.025em; margin:1rem 0; font-weight:500; }
.mcf-social-intro>p:not(.mcf-eyebrow) { max-width:30ch; margin-bottom:1.2rem; }
.mcf-text-link { display:inline-block; min-height:44px; }
.mcf-video-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.mcf-video { min-width:0; }
.mcf-video-stage { position:relative; aspect-ratio:9/14; background:#e8ddd0; border:1px solid #cdbca9; overflow:hidden; display:grid; place-items:center; }
.mcf-video-stage>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mcf-video-cover { position:relative; margin:1rem!important; max-width:18ch; text-align:center; font-size:.88rem; }
.mcf-video-stage iframe { width:100%; height:100%; border:0; position:absolute; inset:0; background:var(--mcf-paper); }
.mcf-video h4 { margin-top:1rem; font-size:1.1rem; line-height:1.3; }
.mcf-video-description { font-size:.85rem; margin:.4rem 0!important; }
.mcf-video button { width:100%; margin-top:.5rem; }
.mcf-video-status { font-size:.8rem; min-height:2.8rem; margin-top:.5rem!important; }
.mcf-video>a { display:inline-block; font-size:.82rem; min-height:44px; padding-top:.4rem; }
.mcf-consent { border-top:1px solid var(--mcf-line); margin-top:2rem; padding-top:1.5rem; font-size:.86rem; }
.mcf-consent>p { max-width:95ch; }
.mcf-consent-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1rem 0; }
.mcf-consent [data-reject],.mcf-consent [data-revoke] { background:transparent; color:var(--mcf-wine); }
.mcf-consent [data-reject]:hover,.mcf-consent [data-revoke]:hover { background:#eee0d3; }
.mcf-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Stessa identità della home sviluppata in locale: trattoria.css è la fonte visiva. */
.mcf-events{--mcf-ink:var(--ink);--mcf-wine:var(--wine);--mcf-paper:var(--paper);--mcf-line:var(--line);background:transparent;padding:60px 0 80px;font-family:'Barlow',sans-serif;border-top:1px solid var(--line)}
.mcf-wrap{width:100%;margin:0}.mcf-events h2,.mcf-events h3,.mcf-events h4{font-family:'Barlow Condensed',sans-serif;font-weight:600}
.mcf-heading-row{margin:22px 0 40px;align-items:center}.mcf-heading-row h2{font-size:clamp(48px,5.5vw,78px);line-height:.96;letter-spacing:-.015em}.mcf-heading-row>p{font-size:16px;line-height:1.7;max-width:390px}
.mcf-eyebrow{font:600 11px/1.5 'Barlow',sans-serif;letter-spacing:.08em}.mcf-section-label h3{font-size:27px}.mcf-section-label>span{font-size:12px}
.mcf-empty{font-size:15px;line-height:1.7}.mcf-events button{border-radius:0;font:600 11px/1.3 'Barlow',sans-serif;text-transform:uppercase;letter-spacing:.045em;padding:16px 18px;min-height:48px}
.mcf-paths a{font-size:15px;padding:19px 16px;font-weight:500}.mcf-paths a span:first-child{font-size:10px}
.mcf-social{grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;padding-top:55px}.mcf-social-intro h3{font-size:clamp(44px,4.5vw,64px);line-height:.98;letter-spacing:-.015em}.mcf-social-intro>p:not(.mcf-eyebrow){font-size:16px;line-height:1.7;max-width:32ch}.mcf-text-link{font-size:15px}
.mcf-local-photo{grid-column:1/-1;margin:0}.mcf-local-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.mcf-local-photo figcaption{font-size:12px;line-height:1.5;margin-top:10px;color:#675c4e}
.mcf-video-list:has(.mcf-video){grid-template-columns:1fr}.mcf-video h4{font-size:28px}.mcf-video-stage{aspect-ratio:9/12}.mcf-date strong{font-family:'Barlow Condensed',sans-serif}
@media(max-width:950px){.mcf-heading-row{display:block}.mcf-heading-row>p{margin-top:25px;max-width:550px}.mcf-social{gap:35px;grid-template-columns:1fr 1fr}}
@media(max-width:650px){.mcf-events{padding:45px 0 50px}.mcf-heading-row h2{font-size:54px}.mcf-heading-row>p{font-size:15px}.mcf-social{grid-template-columns:1fr;gap:25px;padding-top:40px}.mcf-social-intro h3{font-size:48px}.mcf-paths{grid-template-columns:1fr}.mcf-paths a+a{border-left:0;border-top:1px solid var(--line)}.mcf-program-grid{grid-template-columns:1fr}.mcf-event-featured{padding:24px}.mcf-consent-actions{display:grid}.mcf-section-label{align-items:start}.mcf-section-label>span{max-width:12ch;text-align:right}}
@media(prefers-reduced-motion:reduce){.mcf-events *{transition:none!important}}

/* Reel reali: griglia leggibile e copertine originali, con consenso su richiesta. */
.mcf-social{grid-template-columns:1fr;gap:28px}.mcf-social-intro>p:not(.mcf-eyebrow){max-width:55ch}
.mcf-video-list:has(.mcf-video){grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px;gap:32px}
.mcf-video-stage{aspect-ratio:9/12}.mcf-video-cover{background:var(--wine);color:var(--paper);padding:12px 20px;font-weight:600;align-self:end;margin-bottom:25px!important}
.mcf-video-stage>img{object-fit:cover}.mcf-video button{font-size:13px}.mcf-social{scroll-margin-top:110px}
@media(max-width:720px){.mcf-video-list:has(.mcf-video){grid-template-columns:1fr}.mcf-video-stage{aspect-ratio:9/13}.mcf-social{scroll-margin-top:95px}}
.mcf-events .mcf-video-cover{color:var(--paper)}

/* Feed Instagram: video in movimento, attribuzione permanente, controlli visibili. */
.mcf-video-list:has(.mcf-native-reel){max-width:860px;gap:42px;align-items:start}
.mcf-native-reel:nth-child(2){margin-top:64px}
.mcf-events .mcf-reel-source{display:block;padding:12px 0;min-height:44px;font:600 12px/1.5 'Barlow',sans-serif;color:var(--wine);text-decoration:none;letter-spacing:.015em}
.mcf-native-reel .mcf-video-stage{aspect-ratio:9/16;background:var(--wine);border:0}
.mcf-native-reel video{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.mcf-reel-badge{position:absolute;left:16px;top:16px;background:var(--paper);color:var(--wine);padding:8px 11px;font:600 10px/1.3 'Barlow',sans-serif;letter-spacing:.09em;pointer-events:none}
.mcf-reel-controls{display:flex;gap:1px;background:var(--wine)}
.mcf-events .mcf-reel-controls button{width:50%;margin:0;border:0;border-radius:0;min-height:48px;background:var(--wine);color:var(--paper);font-size:11px}
.mcf-events .mcf-reel-controls button:hover{background:var(--deep)}
.mcf-reel-controls button:focus-visible{outline:3px solid var(--paper);outline-offset:-5px}
.mcf-native-reel .mcf-video-status{min-height:0;font-size:12px;margin:10px 0!important}
.mcf-native-reel .mcf-reel-link{font-size:13px}
@media(max-width:720px){.mcf-native-reel:nth-child(2){margin-top:0}.mcf-video-list:has(.mcf-native-reel){gap:32px}.mcf-events .mcf-reel-source{font-size:11px}}
