.mf-events-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px; max-width: 1200px; margin: 0 auto; }
.mf-event-card { overflow: hidden; background: #fff; border: 1px solid rgba(24, 55, 76, .14); }
.mf-event-card__image { display: block; aspect-ratio: 4 / 3; background: #e9f1f5; }
.mf-event-card__image img { width: 100%; height: 100%; object-fit: cover; }
.mf-event-card__body { padding: 22px; }
.mf-event-card__date { margin: 0 0 8px; color: #1388bd; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.mf-event-card h3 { margin: 0 0 10px; font-size: 1.25rem; line-height: 1.2; }
.mf-event-card h3 a { color: inherit; text-decoration: none; }
.mf-event-card__link { display: inline-flex; gap: 8px; margin-top: 12px; color: #1388bd; font-weight: 700; text-decoration: none; }
@media (max-width: 980px) { .mf-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .mf-events-grid { grid-template-columns: 1fr; } }
.mf-event-page { max-width:1240px !important; margin:0 auto !important; padding:32px 20px 80px !important; color:#173247; }.mf-event-hero { display:grid !important; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important; min-height:420px; background:#eef5f7; }.mf-event-hero__media { min-height:320px; background:#dce9ed; }.mf-event-hero__media img { width:100%; height:100%; object-fit:cover; }.mf-event-hero__content { padding:clamp(28px,5vw,72px); display:flex !important; flex-direction:column; justify-content:center; }.mf-event-eyebrow { color:#1388bd; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.mf-event-hero h1 { margin:0 0 22px; font-size:clamp(2rem,4vw,4rem); line-height:1.05; }.mf-event-facts { display:grid !important; gap:10px; }.mf-event-facts strong { font-size:1.35rem; color:#1388bd; }.mf-event-facts small { font-size:.7em; font-weight:400; }.mf-event-layout { display:grid !important; grid-template-columns:minmax(0,1fr) 440px !important; gap:48px; padding-top:48px; }.mf-event-description { font-size:1.05rem; line-height:1.75; }.mf-booking-panel { border:1px solid rgba(23,50,71,.15); padding:28px; background:#fff; box-shadow:0 12px 36px rgba(23,50,71,.08); }.mf-booking-panel h2 { margin-top:0; }.mf-booking-form fieldset { border:0; border-top:1px solid #dce5e8; padding:22px 0; margin:0; }.mf-booking-form legend { font-weight:700; font-size:1.05rem; padding:0 0 12px; }.mf-booking-form label { display:grid; gap:6px; font-size:.9rem; font-weight:600; margin-bottom:10px; }.mf-booking-form input[type=text], .mf-booking-form input[type=email], .mf-booking-form input[type=number] { width:100%; border:1px solid #bccbd1; padding:11px 12px; box-sizing:border-box; }.mf-passenger-grid, .mf-customer-grid { display:grid !important; grid-template-columns:1fr 1fr !important; gap:12px; }.mf-form-help, .mf-payment-note { font-size:.82rem; color:#5a6d75; }.mf-seat-map { display:grid !important; gap:6px; background:#edf4f6; padding:16px; border-radius:8px; }.mf-seat-row { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:6px; }.mf-seat-cell button { width:100%; min-height:40px; border:1px solid #1587b7; background:#fff; color:#136b91; cursor:pointer; border-radius:4px; }.mf-seat-cell button.is-selected { background:#1587b7; color:#fff; }.mf-seat-cell.is-aisle { min-height:40px; }.mf-seat-selected { font-size:.82rem; margin-top:10px; }.mf-policy { display:flex!important; grid-template-columns:auto 1fr!important; align-items:start; gap:8px; font-weight:400!important; }.mf-policy input { margin-top:3px; }.mf-booking-total { display:flex !important; justify-content:space-between; padding:18px 0; font-size:1.05rem; }.mf-booking-total strong { color:#1388bd; }.mf-booking-submit { width:100%; padding:14px 18px; border:0; background:#1388bd; color:#fff; font-weight:700; cursor:pointer; }.mf-booking-submit span { float:right; }.mf-booking-error { padding:12px; background:#fff0f0; color:#a00; margin-bottom:14px; }
@media (max-width: 900px) { .mf-event-hero, .mf-event-layout { grid-template-columns:1fr; }.mf-booking-panel { order: -1; } }
@media (max-width: 520px) { .mf-passenger-grid, .mf-customer-grid { grid-template-columns:1fr; }.mf-event-page { padding-inline:12px; } }
