
.ev-page{max-width:1080px;margin:28px auto 56px;padding:0 16px;font-family:var(--f-ui);color:var(--ink)}
.ev-page *{box-sizing:border-box}
.ev-page [hidden]{display:none!important}
.ev-head{padding-bottom:14px;border-bottom:1px solid var(--line)}
.ev-head .back-link{display:inline-block;margin:0 0 6px;font-size:.875rem}
.ev-head h1.page-h{font-family:var(--f-head);font-weight:600;font-size:2.125rem;line-height:1.22;letter-spacing:-.015em;margin:4px 0 8px}
.ev-dek{margin:0;max-width:62ch;font:1.0625rem/1.55 var(--f-body);color:var(--muted)}

.ev-ribbon{margin:18px 0 0;padding:10px 14px;border:1px dashed var(--accent);border-radius:var(--r-card,14px);background:color-mix(in srgb,var(--accent) 10%,var(--paper));font-size:.9375rem;line-height:1.45}
.ev-ribbon b{font-weight:700}

.ev-filters{--r:var(--r-outer,20px);--pad:15px;display:grid;gap:14px;margin:18px 0 0;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.ev-group{display:grid;gap:8px;min-width:0;align-content:start}
.ev-group-row{gap:12px}
.ev-l{font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--muted)}
.ev-pills{display:flex;flex-wrap:wrap;gap:8px}
.ev-pill{min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-capsule,999px);background:var(--page);color:var(--ink);font:600 .875rem/1.2 var(--f-ui);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ev-pill:hover{border-color:var(--ink)}
.ev-pill[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--page)}
.ev-pill:disabled{opacity:.45;cursor:default}
.ev-pill:disabled:hover{border-color:var(--line)}
.ev-n{margin-left:2px;font-weight:500;font-variant-numeric:tabular-nums;opacity:.7}
.ev-pill:focus-visible,.ev-link:focus-visible,.ev-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ev-free-btn{justify-self:start}

.ev-group-city{padding-bottom:14px;border-bottom:1px solid var(--line)}
.ev-near{margin:0;font-size:.8125rem;line-height:1.4;color:var(--muted)}

.ev-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;margin:16px 0 0;min-height:44px}
.ev-status{margin:0;font-size:.875rem;line-height:1.5;color:var(--muted)}
.ev-reset{min-height:44px;padding:0;border:0;background:none;color:var(--ink);font:600 .875rem var(--f-ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ev-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.ev-app.is-month .ev-mh{display:none}
.ev-mh{margin:22px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line);font-family:var(--f-head);font-weight:600;font-size:1.625rem;line-height:1.25;letter-spacing:-.015em}
.ev-ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ev-item{--r:var(--r-card,14px);--pad:15px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 14px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.ev-top{display:grid;gap:4px;align-content:start;min-width:0}
.ev-item>.ev-d,.ev-item>.ev-link{grid-column:1/-1}

.ev-tile{display:grid;justify-items:center;align-content:center;width:3.5rem;min-height:3.75rem;padding:6px 4px;border:1px solid var(--line);border-radius:max(var(--r-min,0px),calc(var(--r) - var(--pad)));background:var(--page);text-align:center;line-height:1}
.ev-tile-top{font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:3px}
.ev-tile-m{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.ev-tile-d{margin-top:0;font-family:var(--f-head);font-weight:700;font-size:1.625rem;line-height:1.22;font-variant-numeric:tabular-nums;color:var(--ink)}
.ev-tile.is-on{border-color:var(--accent)}
.ev-when{margin:0;font-size:.875rem;font-weight:700;line-height:1.4;color:var(--muted)}
.ev-now{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:var(--r-capsule,999px);background:color-mix(in srgb,var(--accent) 16%,var(--paper));font-size:.75rem;font-weight:600;vertical-align:1px}
.ev-t{margin:0;font-family:var(--f-head);font-weight:700;font-size:1.25rem;line-height:1.25;letter-spacing:-.01em}
.ev-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0}
.ev-place{font-size:.8125rem;font-weight:600;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.ev-type,.ev-free,.ev-sample{padding:2px 9px;border:1px solid var(--line);border-radius:var(--r-capsule,999px);font-size:.75rem;font-weight:600;line-height:1.4}
.ev-free{border-color:var(--accent);color:var(--accent)}
.ev-sample{border-style:dashed}
.ev-d{margin:0;font:1rem/1.5 var(--f-body)}
.ev-link{justify-self:start;display:inline-flex;align-items:center;min-height:44px;margin-top:-8px;color:var(--ink);font-size:.9375rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ev-link::after{content:"\2197";margin-left:.3em;font-weight:400}
.ev-link:hover{color:var(--accent)}
.ev-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ev-empty{padding:28px 0;text-align:center;font-size:1rem;color:var(--muted)}
.ev-empty p{margin:0 0 12px}
.ev-clear{min-height:44px;padding:0 18px;border:1px solid var(--ink);border-radius:var(--r-capsule,999px);background:transparent;color:var(--ink);font:600 .9375rem var(--f-ui);cursor:pointer}
.ev-nothing{margin:28px 0 0;padding:28px 0;font-size:1.0625rem;color:var(--muted)}
.ev-note{max-width:62ch;margin:28px 0 0;font-size:.875rem;line-height:1.5;color:var(--muted)}


@media (max-width:639.98px){
  .ev-filters{--pad:13px;gap:12px;padding:12px}
  .ev-pills{flex-wrap:nowrap;overflow-x:auto;margin:0 -12px;padding:2px 12px 4px;scroll-padding-inline:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
  .ev-pills::-webkit-scrollbar{display:none}
  .ev-pill{flex:none;white-space:nowrap}
  .ev-group-city{padding-bottom:12px}
  .ev-group-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
  .ev-free-btn{flex:none;min-height:44px}
}
@media (min-width:640px){
  .ev-page{padding:0 24px;margin-top:34px}
  .ev-head h1.page-h{font-size:2.5rem;letter-spacing:-.02em}
  .ev-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}
  .ev-group-city,.ev-group-row{grid-column:1/-1}
}
@media (min-width:900px){
  .ev-ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:no-preference){
  .ev-pill{transition:background-color .15s ease,border-color .15s ease,color .15s ease}
}
