/* Mediofondo Calendar - frontend (Enfold/Gym-like dark blocks)
   - Nessun font impostato (usa quelli del tema)
   - Controlli e pulsanti poco stondati (no pill)
*/
.mf-cal { width:100%; /* Palette (simile screenshot) */
  --mf-accent:#d63d2d; --mf-bg:#1b1b1b; --mf-panel:#2a2a2a; --mf-panel-2:#333333; --mf-text:#ffffff; --mf-muted:rgba(255,255,255,.78); --mf-muted2:rgba(255,255,255,.62); --mf-border:rgba(255,255,255,.12); --mf-border-strong:rgba(255,255,255,.18); /* Raggi (quasi squadrati come nello screenshot) */
  --mf-r1:2px; --mf-r2:3px; --mf-r3:4px; color: var(--mf-text); }
.mf-cal,
.mf-cal * ,
.mf-cal *::before,
.mf-cal *::after { box-sizing:border-box; }
/* Link dentro al calendario */
.mf-cal a { color: inherit; }
/* ===== Filtri ===== */
.mf-cal__filters { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; margin: 0 0 16px 0; padding:14px; background: var(--mf-panel); border:1px solid var(--mf-border); border-radius: var(--mf-r2); }
.mf-field { display:flex; flex-direction:column; gap:6px; min-width:180px; }
.mf-field label { font-weight:800; font-size:13px; letter-spacing:.02em; text-transform:uppercase; color: var(--mf-muted); }
.mf-field select { padding:10px 12px; border-radius: var(--mf-r1); border:1px solid var(--mf-border-strong); background: var(--mf-panel-2); color: var(--mf-text); outline:none; box-shadow:none; transition: border-color .18s ease, background .18s ease; }
.mf-field select:focus { border-color: rgba(214,61,45,.75); background: #2f2f2f; }
.mf-field--check { min-width:auto; }
.mf-field--check label { font-weight:800; display:flex; gap:10px; align-items:center; text-transform:none; letter-spacing:0; color: var(--mf-muted); }
.mf-field--actions { margin-left:auto; display:flex; flex-direction:row; gap:10px; align-items:center; min-width:auto; }
/* ===== Lista eventi ===== */
.mf-cal__list { display:flex; flex-direction:column; gap:10px; }
.mf-cal__empty { padding:14px; border:1px dashed var(--mf-border-strong); border-radius: var(--mf-r2); background: var(--mf-panel); color: var(--mf-muted); }
/* Card evento (blocchi scuri) */
.mf-event-card { display:flex; gap:14px; align-items:center; padding:14px; background: var(--mf-panel); border:1px solid var(--mf-border); border-radius: var(--mf-r2); }
/* “Badge” data (rosso, quasi quadrato) */
.mf-event-card__date { width:86px; flex:0 0 86px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px 8px; background: var(--mf-accent); color:#fff; border-radius: var(--mf-r1); text-align:center; }
.mf-event-card__time { font-weight:900; font-size:18px; line-height:1.05; }
.mf-event-card__year { font-size:12px; opacity:.92; margin-top:2px; }
.mf-event-card__main { flex:1 1 auto; min-width:0; }
.mf-event-card__title { margin:0 0 6px 0; font-size:16px; line-height:1.2; font-weight:900; text-transform:uppercase; letter-spacing:.01em; color:#fff !important; }
.mf-event-card__title a { text-decoration:none; color: var(--mf-text); }
.mf-event-card__title a:hover { text-decoration:underline; text-underline-offset: 3px; }
.mf-event-card__meta { display:flex; flex-wrap:wrap; gap:10px; align-items:center; font-size:13px; color: var(--mf-muted); }
.mf-event-card__place { opacity:.95; }
.mf-event-card__stats { opacity:.85; }
.mf-event-card__actions { display:flex; gap:10px; align-items:center; flex:0 0 auto; }
/* ===== Pulsanti (rettangolari, stile screenshot) ===== */
.mf-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius: var(--mf-r1); border:1px solid var(--mf-border-strong); background: transparent; color: var(--mf-text); text-decoration:none; font-weight:900; font-size:13px; line-height:1; white-space:nowrap; text-transform:uppercase; letter-spacing:.02em; transition: background .18s ease, border-color .18s ease, transform .12s ease, opacity .18s ease; }
.mf-btn:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.30); transform: translateY(-1px); }
.mf-btn--primary { background: var(--mf-accent); border-color: var(--mf-accent); color:#fff; }
.mf-btn--primary:hover { background: rgba(214,61,45,.92); border-color: rgba(214,61,45,.92); }
.mf-btn--ghost { background: transparent; }
/* ===== Badge stato (rettangolari) ===== */
.mf-badge { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius: var(--mf-r1); font-weight:900; font-size:12px; border:1px solid var(--mf-border-strong); background: rgba(255,255,255,.04); color: var(--mf-text); text-transform:uppercase; letter-spacing:.02em; }
.mf-badge--open { background: rgba(0, 200, 120, .12); border-color: rgba(0, 200, 120, .30); }
.mf-badge--closed { background: rgba(214, 61, 45, .16); border-color: rgba(214, 61, 45, .40); }
.mf-badge--tba { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: var(--mf-muted); }
/* ===== Pagination (quadrata) ===== */
.mf-pagination { margin-top:14px; }
.mf-pagination__list { display:flex; gap:8px; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.mf-pagination__item a,
.mf-pagination__item span { display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px; border-radius: var(--mf-r1); border:1px solid var(--mf-border-strong); background: var(--mf-panel); color: var(--mf-text); text-decoration:none; font-weight:900; text-transform:uppercase; letter-spacing:.02em; transition: background .18s ease, border-color .18s ease, transform .12s ease; }
.mf-pagination__item a:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.30); transform: translateY(-1px); }
.mf-pagination__item .current { background: var(--mf-accent); border-color: var(--mf-accent); }
/* ===== Pagina singolo evento (pannello scuro) ===== */
.mf-event-hero { margin: 0 0 16px 0; padding: 16px; border:1px solid var(--mf-border); border-radius: var(--mf-r2); background: var(--mf-panel); }
.mf-event-hero__inner { display:flex; flex-direction:column; gap:12px; }
.mf-event-hero__top { display:flex; gap:18px; flex-wrap:wrap; }
.mf-event-hero__label { display:block; font-weight:900; font-size:12px; letter-spacing:.02em; text-transform:uppercase; color: var(--mf-muted2); margin-bottom:4px; }
.mf-event-hero__meta { display:flex; gap:10px; align-items:center; flex-wrap:wrap; color:var(--mf-muted); }
.mf-event-hero__actions { display:flex; gap:10px; flex-wrap:wrap; }
/* ===== Responsive ===== */
@media (max-width: 900px) {
 .mf-field { min-width: 46%; }
 }
@media (max-width: 700px) {
 .mf-cal__filters { gap:10px; }
.mf-field { min-width: 100%; }
.mf-field--actions { margin-left:0; width:100%; justify-content:flex-start; }
.mf-event-card { flex-direction:column; align-items:flex-start; }
.mf-event-card__date { width:auto; flex:0 0 auto; flex-direction:row; gap:10px; align-items:baseline; justify-content:flex-start; padding:10px 12px; }
.mf-event-card__actions { width:100%; flex-wrap:wrap; }
 }
/* =========================================================
   MEDIOFONDO - VETRINA (4 card per riga) - Mobile friendly
   Scope: solo dentro .vetrina
   ========================================================= */
.vetrina .mf-cal { --mf-accent:#d63d2d; --mf-bg:#1b1b1b; --mf-panel:#2a2a2a; --mf-panel2:#333333; --mf-text:#ffffff; --mf-muted:rgba(255,255,255,.80); --mf-muted2:rgba(255,255,255,.62); --mf-border:rgba(255,255,255,.12); --mf-border2:rgba(255,255,255,.18); --mf-r:4px; /* poco stondato */
  --mf-gap:18px; }
/* Contenitore lista = GRID */
.vetrina .mf-cal__list { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--mf-gap); align-items: stretch; margin: 0; padding: 0; }
/* Card in colonna (layout verticale) */
.vetrina .mf-event-card { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:14px; margin:0; background: var(--mf-panel); border:1px solid var(--mf-border); border-radius: var(--mf-r); min-height: 100%; }
/* Data come box in alto */
.vetrina .mf-event-card__date { width: fit-content; max-width: 100%; display:flex; align-items:baseline; gap:10px; padding:10px 12px; background: var(--mf-accent); color:#fff; border-radius: 2px; /* quasi squadrato */ }
.vetrina .mf-event-card__time { font-weight:900; font-size:16px; line-height:1.1; margin:0; }
.vetrina .mf-event-card__year { font-size:12px; opacity:.95; }
/* Titolo + meta */
.vetrina .mf-event-card__main { flex:1 1 auto; min-width:0; }
.vetrina .mf-event-card__title { margin:0 0 8px 0; font-weight:900; font-size:15px; line-height:1.2; text-transform:uppercase; letter-spacing:.01em; }
.vetrina .mf-event-card__title a { color: var(--mf-text); text-decoration:none; }
.vetrina .mf-event-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.vetrina .mf-event-card__meta { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; font-size:13px; color: var(--mf-muted); }
.vetrina .mf-event-card__place { color: var(--mf-muted); }
/* Badge stato: rettangolare */
.vetrina .mf-badge { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius: 2px; border:1px solid var(--mf-border2); background: rgba(255,255,255,.04); font-weight:900; font-size:12px; text-transform:uppercase; letter-spacing:.02em; color: var(--mf-text); }
.vetrina .mf-badge--open { background: rgba(0, 200, 120, .12); border-color: rgba(0, 200, 120, .30); }
.vetrina .mf-badge--closed { background: rgba(214, 61, 45, .16); border-color: rgba(214, 61, 45, .40); }
.vetrina .mf-badge--tba { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: var(--mf-muted2); }
.vetrina .mf-event-card__stats { color: var(--mf-muted2); }
/* Azioni in fondo, allineate e coerenti */
.vetrina .mf-event-card__actions { margin-top:auto; display:flex; gap:10px; flex-wrap:wrap; }
/* Pulsanti rettangolari, poco stondati */
.vetrina .mf-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border-radius: 2px; border:1px solid var(--mf-border2); background: transparent; color: var(--mf-text); text-decoration:none; font-weight:900; font-size:13px; line-height:1; text-transform:uppercase; letter-spacing:.02em; transition: background .18s ease, border-color .18s ease, transform .12s ease; }
.vetrina .mf-btn:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.30); transform: translateY(-1px); }
.vetrina .mf-btn--primary { background: var(--mf-accent); border-color: var(--mf-accent); color:#fff; }
.vetrina .mf-btn--primary:hover { background: rgba(214,61,45,.92); border-color: rgba(214,61,45,.92); }
.vetrina .mf-btn--ghost { background: transparent; }
/* =========================================================
   RESPONSIVE
   ========================================================= */
/* Desktop medio: 3 per riga */
@media (max-width: 1200px) {
 .vetrina .mf-cal__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 }
/* Tablet: 2 per riga */
@media (max-width: 900px) {
 .vetrina .mf-cal__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
 }
/* Mobile: 1 per riga */
@media (max-width: 600px) {
 .vetrina .mf-cal__list { grid-template-columns: 1fr; gap: 12px; }
.vetrina .mf-event-card { padding:12px; }
.vetrina .mf-event-card__actions { gap:8px; }
.vetrina .mf-btn { width: 100%; }
 }
/* =========================================================
   MEDIOFONDO - CALENDARIO (LISTA) - Scope: .calendario
   - stile lista (righe)
   - controlli poco stondati
   - bottoni con sfondo => testo bianco
   ========================================================= */
.calendario .mf-cal { --mf-accent:#d63d2d; --mf-panel:#2a2a2a; --mf-panel2:#333333; --mf-text:#ffffff; --mf-muted:rgba(255,255,255,.80); --mf-muted2:rgba(255,255,255,.62); --mf-border:rgba(255,255,255,.12); --mf-border2:rgba(255,255,255,.18); --mf-r:3px; /* poco stondato */
  --mf-gap:12px; color: var(--mf-text); }
.calendario .mf-cal,
.calendario .mf-cal * ,
.calendario .mf-cal *::before,
.calendario .mf-cal *::after { box-sizing:border-box; }
/* ===== FILTRI ===== */
.calendario .mf-cal__filters { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:14px; margin: 0 0 14px 0; background: var(--mf-panel); border:1px solid var(--mf-border); border-radius: var(--mf-r); }
.calendario .mf-field { display:flex; flex-direction:column; gap:6px; min-width: 200px; }
.calendario .mf-field label { font-weight:800; font-size:13px; letter-spacing:.02em; text-transform:uppercase; color: var(--mf-muted); }
.calendario .mf-field select { height:42px; padding: 10px 12px; border-radius: 2px; border:1px solid var(--mf-border2); background: var(--mf-panel2); color: var(--mf-text); outline:none; box-shadow:none; transition: border-color .18s ease, background .18s ease; }
.calendario .mf-field select:focus { border-color: rgba(214,61,45,.75); background: #2f2f2f; }
.calendario .mf-field--check { min-width:auto; }
.calendario .mf-field--check label { display:flex; align-items:center; gap:10px; font-weight:800; text-transform:none; letter-spacing:0; color: var(--mf-muted); }
.calendario .mf-field--check input[type="checkbox"] { width:18px; height:18px; margin:0; accent-color: var(--mf-accent); }
.calendario .mf-field--actions { margin-left:auto; display:flex; flex-direction:row; gap:10px; align-items:center; min-width:auto; }
/* ===== BOTTONI ===== */
.calendario .mf-btn { display:inline-flex; align-items:center; justify-content:center; height:42px; padding: 0 14px; border-radius: 2px; border:1px solid var(--mf-border2); background: transparent; color: var(--mf-text); text-decoration:none; font-weight:900; font-size:13px; line-height:1; text-transform:uppercase; letter-spacing:.02em; cursor:pointer; appearance:none; -webkit-appearance:none; transition: background .18s ease, border-color .18s ease, transform .12s ease, opacity .18s ease; }
.calendario .mf-btn:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.30); transform: translateY(-1px); }
/* pulsanti con sfondo => TESTO BIANCO (richiesta) */
.calendario .mf-btn--primary { background: var(--mf-accent); border-color: var(--mf-accent); color:#ffffff !important; }
.calendario .mf-btn--primary:hover { background: rgba(214,61,45,.92); border-color: rgba(214,61,45,.92); color:#ffffff !important; }
/* (il reset rimane “ghost”, ma testo bianco su bg scuro) */
.calendario .mf-btn--ghost { background: transparent; color: var(--mf-text) !important; }
/* Se Enfold applica stili ai button */
.calendario button.mf-btn { border-width:1px; }
/* ===== LISTA EVENTI (RIGHE) ===== */
.calendario .mf-cal__list { display:flex; flex-direction:column; gap:10px; margin:0; padding:0; }
.calendario .mf-event-card { display:flex; align-items:center; gap:14px; padding:14px; margin:0; background: var(--mf-panel); border:1px solid var(--mf-border); border-radius: var(--mf-r); }
.calendario .mf-event-card:hover { background: #2f2f2f; border-color: rgba(255,255,255,.18); }
/* box data rosso */
.calendario .mf-event-card__date { width:92px; flex:0 0 92px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px 8px; background: var(--mf-accent); color:#ffffff; border-radius: 2px; text-align:center; }
.calendario .mf-event-card__time { font-weight:900; font-size:18px; line-height:1.05; margin:0; color:#ffffff; }
.calendario .mf-event-card__year { font-size:12px; opacity:.92; margin-top:2px; color:#ffffff; }
.calendario .mf-event-card__main { flex:1 1 auto; min-width:0; }
.calendario .mf-event-card__title { margin:0 0 6px 0; font-size:16px; line-height:1.2; font-weight:900; text-transform:uppercase; letter-spacing:.01em; }
.calendario .mf-event-card__title a { color: var(--mf-text); text-decoration:none; }
.calendario .mf-event-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.calendario .mf-event-card__meta { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; font-size:13px; color: var(--mf-muted); }
.calendario .mf-event-card__stats { color: var(--mf-muted2); }
/* badge rettangolari */
.calendario .mf-badge { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius: 2px; border:1px solid var(--mf-border2); background: rgba(255,255,255,.04); color: var(--mf-text); font-weight:900; font-size:12px; text-transform:uppercase; letter-spacing:.02em; }
.calendario .mf-badge--open { background: rgba(0, 200, 120, .12); border-color: rgba(0, 200, 120, .30); color:#ffffff; }
.calendario .mf-badge--closed { background: rgba(214, 61, 45, .16); border-color: rgba(214, 61, 45, .40); color:#ffffff; }
.calendario .mf-badge--tba { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: var(--mf-muted2); }
/* azioni a destra */
.calendario .mf-event-card__actions { margin-left:auto; display:flex; gap:10px; align-items:center; flex:0 0 auto; }
/* ===== RESPONSIVE ===== */
@media (max-width: 980px) {
 .calendario .mf-field { min-width: 46%; }
.calendario .mf-field--actions { margin-left:0; }
 }
@media (max-width: 720px) {
 .calendario .mf-field { min-width: 100%; }
.calendario .mf-field--actions { width:100%; justify-content:flex-start; }
.calendario .mf-event-card { flex-direction:column; align-items:stretch; }
.calendario .mf-event-card__date { width:auto; flex:0 0 auto; flex-direction:row; justify-content:flex-start; gap:10px; padding:10px 12px; }
.calendario .mf-event-card__actions { width:100%; margin-left:0; flex-wrap:wrap; }
.calendario .mf-event-card__actions .mf-btn { width:100%; }
 }
/* =========================================================
   CALENDARIO - Ricerca / Filtri (SAFE per Enfold)
   Scope: SOLO .calendario .mf-cal__filters
   - niente grid
   - niente ::after frecce
   - niente appearance:none
   - bottoni con sfondo => testo bianco
   ========================================================= */
.calendario .mf-cal__filters { --mf-accent:#d63d2d; --mf-panel:#2a2a2a; --mf-panel2:#333333; --mf-text:#ffffff; --mf-muted:rgba(255,255,255,.78); --mf-border:rgba(255,255,255,.12); --mf-border2:rgba(255,255,255,.18); --mf-r:4px; display:flex; flex-wrap:wrap; gap:12px 16px; align-items:flex-end; padding:16px; margin:0 0 16px 0; background: linear-gradient(180deg, #2a2a2a 0%, #242424 100%); border:1px solid var(--mf-border); border-radius: var(--mf-r); }
/* campi: flessibili, senza rompere Enfold */
.calendario .mf-cal__filters .mf-field { display:flex; flex-direction:column; gap:6px; flex: 1 1 240px; /* cresce e va a capo */
  min-width: 220px; /* evita campi troppo stretti */
  max-width: 360px; /* evita campi troppo larghi */ }
.calendario .mf-cal__filters .mf-field label { margin:0; font-weight:900; font-size:12px; letter-spacing:.02em; text-transform:uppercase; color: var(--mf-muted); }
/* select: stile pulito, senza forzature "pericolose" */
.calendario .mf-cal__filters .mf-field select { width:100%; max-width:100%; padding:10px 12px; border-radius: 2px; border:1px solid var(--mf-border2); background: var(--mf-panel2); color: var(--mf-text); outline:none; box-shadow:none; transition: border-color .18s ease, background .18s ease; }
.calendario .mf-cal__filters .mf-field select:hover { background:#2f2f2f; }
.calendario .mf-cal__filters .mf-field select:focus { border-color: rgba(214,61,45,.75); background:#2f2f2f; }
/* checkbox: resta semplice e non rompe layout */
.calendario .mf-cal__filters .mf-field--check { flex: 0 1 auto; min-width: 220px; max-width: none; }
.calendario .mf-cal__filters .mf-field--check label { display:inline-flex; align-items:center; gap:10px; font-weight:900; font-size:13px; letter-spacing:0; text-transform:none; color: var(--mf-text); }
.calendario .mf-cal__filters .mf-field--check input[type="checkbox"] { width:18px; height:18px; margin:0; accent-color: var(--mf-accent); }
/* actions: a destra, senza "saltare" */
.calendario .mf-cal__filters .mf-field--actions { flex: 0 0 auto; min-width: auto; max-width: none; display:flex; gap:10px; align-items:center; margin-left:auto; /* spinge a destra su desktop */ }
/* bottoni: rettangolari, coerenti */
.calendario .mf-cal__filters .mf-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border-radius: 2px; border:1px solid var(--mf-border2); background: transparent; color: var(--mf-text); text-decoration:none; font-weight:900; font-size:13px; line-height:1; text-transform:uppercase; letter-spacing:.02em; cursor:pointer; transition: background .18s ease, border-color .18s ease, transform .12s ease; }
.calendario .mf-cal__filters .mf-btn:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.30); transform: translateY(-1px); }
/* pulsanti con sfondo => TESTO BIANCO (richiesta) */
.calendario .mf-cal__filters .mf-btn--primary { background: var(--mf-accent); border-color: var(--mf-accent); color:#ffffff !important; }
.calendario .mf-cal__filters .mf-btn--primary:hover { background: rgba(214,61,45,.92); border-color: rgba(214,61,45,.92); color:#ffffff !important; }
.calendario .mf-cal__filters .mf-btn--ghost { color: var(--mf-text) !important; }
/* responsive: su tablet/mobile niente colonna "a destra" */
@media (max-width: 980px) {
 .calendario .mf-cal__filters { padding:14px; gap:12px; }
.calendario .mf-cal__filters .mf-field { flex: 1 1 320px; max-width: none; }
.calendario .mf-cal__filters .mf-field--actions { margin-left:0; width:100%; justify-content:flex-start; }
 }
@media (max-width: 600px) {
 .calendario .mf-cal__filters .mf-field { flex: 1 1 100%; min-width: 0; }
.calendario .mf-cal__filters .mf-field--actions { flex-direction:column; align-items:stretch; }
.calendario .mf-cal__filters .mf-btn { width:100%; }
 }
/* =========================================================
   CALENDARIO - Allineamento perfetto campi + bottoni
   Scope: .calendario .mf-cal__filters
   ========================================================= */
.calendario .mf-cal__filters { align-items: flex-end; /* baseline dei controlli */ }
/* stessa altezza per select e bottoni */
.calendario .mf-cal__filters .mf-field select,
.calendario .mf-cal__filters .mf-btn { height: 44px; line-height: 44px; /* aiuta Enfold sui button */
  padding-top: 0; padding-bottom: 0; }
/* label “tutti uguali” = stessa altezza sopra ai campi */
.calendario .mf-cal__filters .mf-field label { min-height: 18px; /* uniforme anche con testi diversi */
  line-height: 18px; margin-bottom: 6px; }
/* larghezze coerenti dei due select */
.calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) { flex: 0 0 260px; /* fisso e allineato */
  max-width: 260px; }
/* checkbox allineata al “piano” dei controlli */
.calendario .mf-cal__filters .mf-field--check { flex: 1 1 auto; min-width: 220px; }
.calendario .mf-cal__filters .mf-field--check label { min-height: 44px; /* stessa altezza del controllo */
  line-height: 44px; /* allineata ai select */
  margin-bottom: 0; }
/* spinge i bottoni a destra e li mantiene sulla stessa riga */
.calendario .mf-cal__filters .mf-field--actions { flex: 0 0 auto; display:flex; gap:10px; align-items:flex-end; margin-left:auto; }
/* reset dei line-height che Enfold può mettere sui link-bottone */
.calendario .mf-cal__filters .mf-btn { display:inline-flex; align-items:center; justify-content:center; line-height: 1; /* evita testo “centrato male” */ }
/* Tablet: due colonne pulite e bottoni sotto, allineati */
@media (max-width: 980px) {
 .calendario .mf-cal__filters { align-items: stretch; }
.calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) { flex: 1 1 calc(50% - 8px); max-width: none; }
.calendario .mf-cal__filters .mf-field--check { flex: 1 1 100%; min-width: 0; }
.calendario .mf-cal__filters .mf-field--actions { width:100%; margin-left:0; justify-content:flex-start; }
 }
/* Mobile: tutto in colonna, bottoni full width */
@media (max-width: 600px) {
 .calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) { flex: 1 1 100%; }
.calendario .mf-cal__filters .mf-field--actions { flex-direction:column; align-items:stretch; }
.calendario .mf-cal__filters .mf-btn { width:100%; }
 }
/* =========================================================
   CALENDARIO - Allineamento perfetto campi + bottoni
   Scope: .calendario .mf-cal__filters
   ========================================================= */
.calendario .mf-cal__filters { align-items: flex-end; /* baseline dei controlli */ }
/* stessa altezza per select e bottoni */
.calendario .mf-cal__filters .mf-field select,
.calendario .mf-cal__filters .mf-btn { height: 44px; line-height: 44px; /* aiuta Enfold sui button */
  padding-top: 0; padding-bottom: 0; }
/* label “tutti uguali” = stessa altezza sopra ai campi */
.calendario .mf-cal__filters .mf-field label { min-height: 18px; /* uniforme anche con testi diversi */
  line-height: 18px; margin-bottom: 6px; }
/* larghezze coerenti dei due select */
.calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) { flex: 0 0 260px; /* fisso e allineato */
  max-width: 260px; }
/* checkbox allineata al “piano” dei controlli */
.calendario .mf-cal__filters .mf-field--check { flex: 1 1 auto; min-width: 220px; }
.calendario .mf-cal__filters .mf-field--check label { min-height: 44px; /* stessa altezza del controllo */
  line-height: 44px; /* allineata ai select */
  margin-bottom: 0; }
/* spinge i bottoni a destra e li mantiene sulla stessa riga */
.calendario .mf-cal__filters .mf-field--actions { flex: 0 0 auto; display:flex; gap:10px; align-items:flex-end; margin-left:auto; }
/* reset dei line-height che Enfold può mettere sui link-bottone */
.calendario .mf-cal__filters .mf-btn { display:inline-flex; align-items:center; justify-content:center; line-height: 1; /* evita testo “centrato male” */ }
/* Tablet: due colonne pulite e bottoni sotto, allineati */
@media (max-width: 980px) {
 .calendario .mf-cal__filters { align-items: stretch; }
.calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) { flex: 1 1 calc(50% - 8px); max-width: none; }
.calendario .mf-cal__filters .mf-field--check { flex: 1 1 100%; min-width: 0; }
.calendario .mf-cal__filters .mf-field--actions { width:100%; margin-left:0; justify-content:flex-start; }
 }
/* Mobile: tutto in colonna, bottoni full width */
@media (max-width: 600px) {
 .calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) { flex: 1 1 100%; }
.calendario .mf-cal__filters .mf-field--actions { flex-direction:column; align-items:stretch; }
.calendario .mf-cal__filters .mf-btn { width:100%; }
 }
/* =========================================================
   CALENDARIO - TUTTO IN LINEA (desktop)
   Scope: .calendario .mf-cal__filters
   ========================================================= */
.calendario .mf-cal__filters { display:flex !important; flex-wrap:nowrap !important; /* <- tutto su UNA riga */
  gap:18px !important; align-items:flex-end !important; /* allinea i controlli in basso */ }
/* campi regione/mese: stessa larghezza */
.calendario .mf-cal__filters .mf-field { flex:0 0 auto !important; min-width:0 !important; max-width:none !important; }
.calendario .mf-cal__filters .mf-field select { width:260px !important; /* cambia se vuoi (es. 280) */
  height:44px !important; line-height:44px !important; }
/* checkbox: portala alla stessa "baseline" dei select (compensa il label sopra) */
.calendario .mf-cal__filters .mf-field--check { padding-top:24px !important; /* altezza label + spazio sotto */
  flex:0 0 auto !important; min-width:260px; /* così non “schiaccia” */ }
.calendario .mf-cal__filters .mf-field--check label { min-height:44px !important; line-height:44px !important; margin:0 !important; }
/* azioni: FILTRA e RESET in riga, a destra */
.calendario .mf-cal__filters .mf-field--actions { margin-left:auto !important; display:flex !important; flex-direction:row !important; /* <- bottoni affiancati */
  gap:10px !important; align-items:flex-end !important; flex:0 0 auto !important; }
/* bottoni: stessa altezza e NON full width */
.calendario .mf-cal__filters .mf-field--actions .mf-btn { height:44px !important; line-height:44px !important; width:auto !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; white-space:nowrap !important; }
/* sicurezza: alcuni temi mettono i link-bottone a block */
.calendario .mf-cal__filters .mf-field--actions a.mf-btn { display:inline-flex !important; }
/* =========================================================
   RESPONSIVE: sotto i 980px lascia andare a capo
   ========================================================= */
@media (max-width: 980px) {
 .calendario .mf-cal__filters { flex-wrap:wrap !important; }
.calendario .mf-cal__filters .mf-field select { width:100% !important; }
.calendario .mf-cal__filters .mf-field { flex:1 1 calc(50% - 9px) !important; }
.calendario .mf-cal__filters .mf-field--check { padding-top:0 !important; flex:1 1 100% !important; min-width:0 !important; }
.calendario .mf-cal__filters .mf-field--check label { min-height:auto !important; line-height:1.2 !important; padding:10px 0 !important; }
.calendario .mf-cal__filters .mf-field--actions { width:100% !important; margin-left:0 !important; justify-content:flex-start !important; }
 }
@media (max-width: 600px) {
 .calendario .mf-cal__filters .mf-field { flex:1 1 100% !important; }
.calendario .mf-cal__filters .mf-field--actions { flex-direction:column !important; align-items:stretch !important; }
.calendario .mf-cal__filters .mf-field--actions .mf-btn { width:100% !important; }
 }
/* =========================================================
   CALENDARIO - Filtri: più belli, tutto in linea (desktop)
   Scope: .calendario .mf-cal__filters
   ========================================================= */
.calendario .mf-cal__filters { display:flex !important; flex-wrap:nowrap !important; align-items:flex-end !important; gap:16px !important; }
/* Colonne select (regione/mese) */
.calendario .mf-cal__filters .mf-field { flex:0 0 auto !important; min-width:0 !important; }
.calendario .mf-cal__filters .mf-field:not(.mf-field--check):not(.mf-field--actions) label { margin:0 0 6px 0 !important; min-height:16px !important; line-height:16px !important; }
.calendario .mf-cal__filters .mf-field select { width:260px !important; height:44px !important; line-height:44px !important; }
/* Checkbox come "chip" allineata e coerente */
.calendario .mf-cal__filters .mf-field--check { flex:1 1 auto !important; /* riempie lo spazio centrale */
  display:flex !important; align-items:flex-end !important; }
.calendario .mf-cal__filters .mf-field--check label { margin:0 !important; height:44px !important; line-height:44px !important; display:inline-flex !important; align-items:center !important; gap:10px !important; padding:0 14px !important; border:1px solid rgba(255,255,255,.16) !important; background: rgba(255,255,255,.04) !important; border-radius: 2px !important; white-space:nowrap !important; }
/* quadretto checkbox */
.calendario .mf-cal__filters .mf-field--check input[type="checkbox"] { width:18px !important; height:18px !important; margin:0 !important; }
/* Azioni a destra, bottoni perfettamente allineati */
.calendario .mf-cal__filters .mf-field--actions { margin-left:0 !important; display:flex !important; gap:10px !important; align-items:flex-end !important; flex:0 0 auto !important; }
.calendario .mf-cal__filters .mf-field--actions .mf-btn { height:44px !important; line-height:44px !important; width:auto !important; padding:0 16px !important; white-space:nowrap !important; }
/* Bottoni con sfondo: testo bianco */
.calendario .mf-cal__filters .mf-btn--primary { color:#fff !important; }
/* =========================================================
   RESPONSIVE: sotto 980px va a capo
   ========================================================= */
@media (max-width: 980px) {
 .calendario .mf-cal__filters { flex-wrap:wrap !important; align-items:stretch !important; }
.calendario .mf-cal__filters .mf-field { flex:1 1 calc(50% - 8px) !important; }
.calendario .mf-cal__filters .mf-field select { width:100% !important; }
.calendario .mf-cal__filters .mf-field--check { flex:1 1 100% !important; }
.calendario .mf-cal__filters .mf-field--check label { width:100% !important; justify-content:flex-start !important; }
.calendario .mf-cal__filters .mf-field--actions { width:100% !important; justify-content:flex-start !important; }
 }
@media (max-width: 600px) {
 .calendario .mf-cal__filters .mf-field { flex:1 1 100% !important; }
.calendario .mf-cal__filters .mf-field--actions { flex-direction:column !important; align-items:stretch !important; }
.calendario .mf-cal__filters .mf-field--actions .mf-btn { width:100% !important; }
 }
/* FIX: testo nei SELECT centrato verticalmente */
.calendario .mf-cal__filters .mf-field select { height:44px !important; line-height:44px !important; padding-top:0 !important; padding-bottom:0 !important; padding-left:12px !important; padding-right:12px !important; box-sizing:border-box !important; }
/* (opzionale) su alcuni temi aiuta anche questo */
.calendario .mf-cal__filters .mf-field select { vertical-align: middle !important; }
/* =========================================================
   DETTAGLIO EVENTO (SCHEDA) - Scope: .standard-content
   ========================================================= */
.standard-content { --mf-accent:#d63d2d; --mf-panel:#2a2a2a; --mf-panel2:#333333; --mf-text:#ffffff; --mf-muted:rgba(255,255,255,.78); --mf-muted2:rgba(255,255,255,.62); --mf-border:rgba(255,255,255,.12); --mf-border2:rgba(255,255,255,.18); --mf-r:4px; }
/* Header titolo: rende più “hero” l’intestazione senza cambiare font */
.standard-content .entry-content-header { margin-bottom: 18px; }
.standard-content .entry-content-header .blog-categories.minor-meta a { display:inline-block; padding:6px 10px; border-radius:2px; border:1px solid var(--mf-border2); background: rgba(255,255,255,.04); color: var(--mf-text); text-decoration:none; font-weight:900; text-transform:uppercase; letter-spacing:.02em; font-size:12px; }
.standard-content .entry-content-header .blog-categories.minor-meta a:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.28); }
.standard-content .entry-content-header .post-title { margin-top:10px; text-transform:uppercase; font-weight:900; letter-spacing:.01em; }
/* ===== HERO EVENTO ===== */
.standard-content .mf-event-hero { margin: 6px 0 18px 0; padding: 18px; background: linear-gradient(180deg, #2a2a2a 0%, #242424 100%); border:1px solid var(--mf-border); border-radius: var(--mf-r); }
/* Layout interno */
.standard-content .mf-event-hero__inner { display:flex; flex-direction:column; gap:14px; }
.standard-content .mf-event-hero__top { display:flex; gap:18px; flex-wrap:wrap; align-items:stretch; }
/* WHEN / WHERE come box affiancati */
.standard-content .mf-event-hero__when,
.standard-content .mf-event-hero__where { flex: 1 1 260px; min-width: 220px; padding: 14px; background: rgba(255,255,255,.04); border:1px solid var(--mf-border2); border-radius: 2px; }
.standard-content .mf-event-hero__label { display:block; margin:0 0 6px 0; font-weight:900; font-size:12px; letter-spacing:.02em; text-transform:uppercase; color: var(--mf-muted); }
/* Meta (badge + stats) */
.standard-content .mf-event-hero__meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 12px; color: var(--mf-muted); }
.standard-content .mf-event-hero__stats { color: var(--mf-muted2); font-weight:800; }
/* Badge coerenti */
.standard-content .mf-badge { display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius:2px; border:1px solid var(--mf-border2); background: rgba(255,255,255,.04); font-weight:900; font-size:12px; text-transform:uppercase; letter-spacing:.02em; color: var(--mf-text); }
.standard-content .mf-badge--open { background: rgba(0, 200, 120, .12); border-color: rgba(0, 200, 120, .30); color:#fff; }
.standard-content .mf-badge--closed { background: rgba(214, 61, 45, .16); border-color: rgba(214, 61, 45, .40); color:#fff; }
.standard-content .mf-badge--tba { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); color: var(--mf-muted2); }
/* Azioni: bottoni in riga (niente <p> che li spezza) */
.standard-content .mf-event-hero__actions { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.standard-content .mf-event-hero__actions p { margin:0 !important; /* Enfold mette <p> -> li annulliamo */ }
/* Bottoni */
.standard-content .mf-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 16px; border-radius:2px; border:1px solid var(--mf-border2); background: transparent; color: var(--mf-text); text-decoration:none; font-weight:900; font-size:13px; line-height:1; text-transform:uppercase; letter-spacing:.02em; transition: background .18s ease, border-color .18s ease, transform .12s ease; }
.standard-content .mf-btn:hover { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.30); transform: translateY(-1px); }
/* Bottone con sfondo => testo bianco */
.standard-content .mf-btn--primary { background: var(--mf-accent); border-color: var(--mf-accent); color:#fff !important; }
.standard-content .mf-btn--primary:hover { background: rgba(214,61,45,.92); border-color: rgba(214,61,45,.92); color:#fff !important; }
/* “Sito evento” resta ghost ma sempre leggibile */
.standard-content .mf-btn--ghost { color: var(--mf-text) !important; }
/* Testo contenuto dopo l’hero (spazi più ordinati) */
.standard-content .entry-content > p { margin: 0 0 12px 0; }
.standard-content .entry-content > p:last-child { margin-bottom:0; }
/* Riduci il delimiter verticale Enfold se dà fastidio */
.standard-content .av-vertical-delimiter { display:none; }
/* Responsive */
@media (max-width: 700px) {
 .standard-content .mf-event-hero { padding: 14px; }
.standard-content .mf-event-hero__when,
  .standard-content .mf-event-hero__where { padding: 12px; flex: 1 1 100%; }
.standard-content .mf-event-hero__actions .mf-btn { width:100%; }
 }
