/* Public event cards; loaded only on the homepage and competition list. */
.bf-events-page { background:#f5f6f8; }
.bf-events-shell { max-width:1240px; margin:0 auto; padding:48px 28px 64px; color:#17202c; font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.bf-events-heading { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px; margin-bottom:28px; }
.bf-events-eyebrow { margin:0 0 8px; color:#ce3044; font-size:11px; letter-spacing:.16em; font-weight:800; text-transform:uppercase; }
.bf-events-heading h1 { margin:0; color:#17202c; font-size:clamp(30px,4vw,42px); line-height:1.15; letter-spacing:-.04em; font-weight:800; }
.bf-events-heading h2 { margin:0; font-size:28px; line-height:1.2; letter-spacing:-.03em; font-weight:750; }
.bf-events-intro { margin:12px 0 0; color:#637080; font-size:16px; }
.bf-events-all { color:#17202c; font-weight:650; text-decoration:none; border-bottom:1px solid #bac2cc; padding-bottom:3px; }
.bf-events-all span { color:#ce3044; margin-left:8px; }
.bf-events-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.bf-events-grid--compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bf-events-grid > .col { display:flex; min-width:0; width:auto; padding:0; }
.bf-events-grid > .col > .card { width:100%; }
.bf-event { background:#fff; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; min-width:0; width:100%; transition:box-shadow .18s; }
.bf-event:hover { box-shadow:0 12px 30px #17202c0b; }
.bf-event-art { position:relative; display:block; height:300px; flex:none; background:linear-gradient(135deg,#fff,#eceff3); border-bottom:1px solid #eef0f3; }
.bf-event-art img { display:block; width:100%; height:100%; padding:0; object-fit:contain; }
.bf-event-format { position:absolute; left:16px; top:16px; border:1px solid #e0e4e9; background:#fffffff5; color:#384555; padding:5px 9px; border-radius:6px; font-size:10px; font-weight:800; letter-spacing:.07em; }
.bf-event-content { display:flex; flex-direction:column; flex:1; padding:24px; min-width:0; }
.bf-event-topline { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-bottom:12px; }
.bf-event-sport { color:#627080; font-size:10px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; overflow-wrap:anywhere; }
.bf-event-status { display:inline-flex; align-items:center; gap:5px; color:#626d79; background:#f1f2f5; border-radius:20px; padding:4px 8px; font-size:10px; font-weight:650; }
.bf-event-status::before { content:""; width:5px; height:5px; flex:none; border-radius:50%; background:#8a949f; }
.bf-event-status--open { color:#246548; background:#edf7f0; }
.bf-event-status--open::before { background:#35865c; }
.bf-event-title { margin:0; min-height:2.6em; color:#17202c; font-size:22px; line-height:1.3; letter-spacing:-.025em; font-weight:750; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.bf-event-title a { color:inherit; text-decoration:none; }
.bf-event-title a:hover { color:#ce3044; }
.bf-event-description { margin:12px 0 20px; color:#637080; font-size:13px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bf-event-meta { display:grid; gap:8px; margin:auto 0 22px; padding-top:16px; }
.bf-event-meta > div { display:flex; align-items:flex-start; gap:9px; color:#344252; font-size:13px; }
.bf-event-meta span { min-width:0; overflow-wrap:anywhere; }
.bf-event-meta svg { width:16px; height:16px; margin-top:2px; flex:none; color:#7c8794; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.bf-event-footer { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; padding-top:18px; border-top:1px solid #edf0f3; }
.bf-event-fee { display:flex; flex-direction:column; min-width:0; }
.bf-event-fee small { color:#637080; font-size:10px; }
.bf-event-fee strong { font-size:18px; letter-spacing:-.025em; overflow-wrap:anywhere; }
.bf-event-details { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:42px; padding:10px 15px; border-radius:8px; background:#ce3044; color:#fff; text-decoration:none; font-size:12px; font-weight:700; }
.bf-event-details:hover { color:#fff; background:#b32437; }
.bf-event a:focus-visible,.bf-events-all:focus-visible { outline:3px solid #17202c; outline-offset:4px; }
.bf-event-art:focus-visible { outline-offset:-4px; }
.bf-events-past { margin-top:48px; padding-top:32px; border-top:1px solid #dce1e7; }
.bf-events-empty { padding:24px; margin:0; border-radius:12px; background:#fff; color:#637080; }
@media(max-width:1000px) { .bf-events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
    .bf-events-shell { padding:32px 18px 48px; }
    .bf-events-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    .bf-event-art { height:280px; }
    .bf-event-content { padding:20px; }
    .bf-event-title { min-height:0; }
    .bf-events-intro { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .bf-event { transition:none; } }
