/* ============================================================
   SPORTERRA EVENTS — blue accent (--c-events #1A5CB5)
   ============================================================ */
:root{
  --ev:      #1A5CB5;
  --ev-700:  #154A93;
  --ev-800:  #103A74;
  --ev-50:   #EAF1FB;
  --ev-100:  #D2E2F6;
}

.ev .eyebrow { color: var(--ev-700); }
.ev .eyebrow::before { background: var(--ev-700); }
.btn-ev { background: var(--ev); color:#fff; border:1px solid var(--ev); }
.btn-ev:hover { background: var(--ev-700); color:#fff; box-shadow:0 12px 26px -12px rgba(26,92,181,.5); transform:translateY(-1px); }

.evh-hero { background:
   radial-gradient(120% 130% at 88% -10%, var(--ev-50), transparent 55%), #fff; padding-top:2.4rem; }
.evh-search { display:flex; align-items:center; gap:.6rem; background:#fff; border:1px solid var(--line-2);
  border-radius:999px; padding:.55rem .55rem .55rem 1.2rem; box-shadow:var(--shadow-sm); max-width:560px; }
.evh-search input { border:0; outline:0; flex:1; font-size:1rem; font-family:var(--font); color:var(--ink); background:transparent; }
.evh-search input::placeholder { color:#9aa8a1; }

.pill-scroll { display:flex; gap:.6rem; overflow-x:auto; padding-bottom:.4rem; scrollbar-width:none; }
.pill-scroll::-webkit-scrollbar { display:none; }
.evh-pill { flex:0 0 auto; display:inline-flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--line);
  border-radius:999px; padding:.55rem 1.05rem; font-weight:600; font-size:.92rem; color:var(--ink-2); cursor:pointer; transition:all .2s var(--ease); white-space:nowrap; }
.evh-pill i { color:var(--ev-700); }
.evh-pill:hover { border-color:var(--ev); }
.evh-pill.active { background:var(--ink); color:#fff; border-color:var(--ink); }
.evh-pill.active i { color:#8fbaf0; }

.filter-panel { position:sticky; top:90px; }
.filter-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem; }
.filter-group + .filter-group { margin-top:1.3rem; padding-top:1.3rem; border-top:1px solid var(--line); }
.filter-group h6 { font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); font-weight:700; margin-bottom:.8rem; }
.ev .form-check-input:checked { background-color:var(--ev); border-color:var(--ev); }
.ev .form-check-input:focus { box-shadow:0 0 0 .2rem rgba(26,92,181,.2); border-color:var(--ev); }
.form-check-label { font-size:.95rem; color:var(--ink-2); cursor:pointer; }
.ev .form-range::-webkit-slider-thumb { background:var(--ev); }
.ev .form-range::-moz-range-thumb { background:var(--ev); }
.sort-select { border:1px solid var(--line-2); border-radius:999px; padding:.5rem 1rem; font-family:var(--font); font-weight:600; color:var(--ink); background:#fff; }

/* cards */
.evg-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
@media (max-width: 767px){ .evg-grid { grid-template-columns:1fr; } }
.evg-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .28s var(--ease); }
.evg-card:hover { transform: translateY(-4px); box-shadow:var(--shadow); border-color:transparent; }
.evg-media { position:relative; aspect-ratio:16/9; background:var(--bg-soft); overflow:hidden; }
.evg-media img { width:100%; height:100%; object-fit:cover; transition: transform .5s var(--ease); }
.evg-card:hover .evg-media img { transform: scale(1.05); }
.evg-fallback { background: linear-gradient(135deg,#cfdcef,#e9f0fa); }
.evg-date { position:absolute; top:.7rem; left:.7rem; background:#fff; border-radius:11px; padding:.4rem .6rem; text-align:center; box-shadow:var(--shadow-sm); line-height:1; }
.evg-date .d { font-size:1.3rem; font-weight:800; color:var(--ink); letter-spacing:-.02em; }
.evg-date .m { font-size:.7rem; font-weight:700; text-transform:uppercase; color:var(--ev-700); letter-spacing:.06em; }
.evg-badge { position:absolute; top:.7rem; right:.7rem; font-size:.72rem; font-weight:800; padding:.28rem .55rem; border-radius:8px; background:rgba(19,33,26,.85); color:#fff; backdrop-filter:blur(6px); }
.evg-badge.filling { background:var(--c-market); color:#3d2906; }
.evg-body { padding:1.1rem 1.2rem 1.25rem; display:flex; flex-direction:column; flex:1; }
.evg-cat { font-size:.76rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ev-700); }
.evg-name { font-weight:800; font-size:1.18rem; letter-spacing:-.018em; margin:.2rem 0 .3rem; line-height:1.25; }
.evg-meta { color:var(--muted); font-size:.88rem; display:flex; flex-direction:column; gap:.25rem; }
.evg-meta span { display:flex; align-items:center; gap:.45rem; }
.evg-cats { display:flex; flex-wrap:wrap; gap:.35rem; margin:.8rem 0; }
.evg-cats span { font-size:.76rem; color:var(--ink-2); background:var(--bg-soft); border:1px solid var(--line); border-radius:999px; padding:.2rem .55rem; }
.evg-foot { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:.6rem; }
.evg-price small { color:var(--muted); display:block; font-size:.75rem; }
.evg-price b { font-size:1.2rem; font-weight:800; letter-spacing:-.02em; }

/* detail */
.evd-hero { aspect-ratio:21/9; border-radius:var(--radius-lg); overflow:hidden; background:var(--bg-soft); border:1px solid var(--line); }
.evd-hero img { width:100%; height:100%; object-fit:cover; }
.evd-fact { display:flex; gap:.8rem; align-items:flex-start; padding:.8rem 0; border-bottom:1px solid var(--line); }
.evd-fact i { width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--ev-50);color:var(--ev-700);flex:0 0 auto; }
.evd-fact .lbl { font-size:.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
.evd-fact .val { font-weight:700; }
.incl-item { display:flex; align-items:center; gap:.7rem; font-weight:600; color:var(--ink-2); }
.incl-item i { width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--ev-100);color:var(--ev-700);flex:0 0 auto; }

/* register widget */
.reg-card { position:sticky; top:90px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow-sm); }
.cat-opt { border:1.5px solid var(--line-2); border-radius:13px; padding:.85rem 1rem; cursor:pointer; transition:all .2s var(--ease); margin-bottom:.7rem; display:flex; align-items:center; justify-content:space-between; }
.cat-opt:hover { border-color:var(--ev); }
.cat-opt.active { border-color:var(--ev); background:var(--ev-50); }
.cat-opt .cname { font-weight:800; }
.cat-opt .csub { font-size:.82rem; color:var(--muted); }
.cat-opt .cprice { font-weight:800; font-size:1.05rem; letter-spacing:-.02em; }
.reg-total { display:flex; justify-content:space-between; font-weight:800; font-size:1.25rem; margin-top:.8rem; padding-top:.8rem; border-top:1px solid var(--line); }

.confirm-check { width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--ev-50);color:var(--ev-700);font-size:2.4rem;margin:0 auto 1.4rem; }
.bib { background:var(--ink); color:#fff; border-radius:14px; padding:1rem 1.2rem; display:flex; align-items:center; justify-content:space-between; }
.bib .num { font-size:2rem; font-weight:800; letter-spacing:.02em; }
.qr-box { width:200px;height:200px;border-radius:18px;border:1px solid var(--line);padding:14px;background:#fff;margin:0 auto;box-shadow:var(--shadow-sm); }
.qr-box svg { width:100%;height:100%; }

.empty-state { text-align:center; padding:4rem 1rem; color:var(--muted); }
.empty-state i { font-size:2.4rem; color:var(--line-2); margin-bottom:1rem; }
.info-ic { width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--ev-50); color:var(--ev-700); font-size:1.2rem; flex:0 0 auto; }
