:root { color-scheme: light; --ink: #292929; --muted: #686868; --line: #dad9d5; --link: #22536d; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #f2f1ee; font: 15px/1.45 Arial, Helvetica, sans-serif; }
.top { background: #303433; color: #fff; }
.top-inner { max-width: 1600px; margin: auto; min-height: 52px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { color: #fff; font-size: 23px; font-weight: bold; text-decoration: none; }
.top-location { font-size: 13px; color: #e3e4e2; }
.content { max-width: 1600px; margin: auto; padding: 18px 24px; }
.page-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
h1 { margin: 0; font-size: 26px; line-height: 1.2; }
.count { margin: 0; font-size: 13px; color: var(--muted); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; max-width: 920px; }
.search, .city, .date { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 11px; border: 1px solid #bdbdb8; background: white; }
.search { flex: 1 1 230px; }
.search > span:first-child { font-size: 21px; color: #666; }
.city span, .date span { color: #555; font-size: 12px; white-space: nowrap; }
input, select, button { font: inherit; }
input, select { border: 0; color: var(--ink); background: transparent; min-width: 0; }
input[type=search] { width: 100%; }
.city select { max-width: 160px; }
button { min-height: 38px; border: 1px solid #303433; padding: 0 16px; color: white; background: #303433; cursor: pointer; }
button:hover { background: #4a4e4c; }
.list-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 18px 0 9px; }
.list-heading h2 { margin: 0; font-size: 17px; text-transform: capitalize; }
.list-heading > span { font-size: 12px; color: var(--muted); }
.cards { columns: 275px; column-gap: 10px; }
.card { display: inline-block; width: 100%; margin: 0 0 10px; break-inside: avoid; vertical-align: top; background: #fff; border: 1px solid #d4d3ce; overflow: hidden; }
.card-header { padding: 9px 12px; background: #e4e6e2; border-bottom: 1px solid #d1d4cf; }
.card-header h3 { margin: 0 0 4px; font-size: 18px; line-height: 1.25; }
.meta { display: flex; justify-content: space-between; gap: 8px; color: #555d58; font-size: 12px; }
.meta span:last-child { white-space: nowrap; }
ul { list-style: none; margin: 0; padding: 0; }
li { padding: 7px 12px; border-bottom: 1px solid #ecebe8; line-height: 1.4; overflow-wrap: anywhere; }
.card-status { padding: 6px 12px; color: #737373; font-size: 11px; }
.card-footer { border-top: 1px solid #ecebe8; padding: 8px 12px; display: flex; justify-content: space-between; gap: 10px; align-items: center; font-size: 12px; color: var(--muted); }
a { color: var(--link); }
.card-footer a { font-weight: bold; text-decoration: none; white-space: nowrap; }
a:hover { text-decoration: underline; }
.no-menu { margin: 0; padding: 12px 12px; color: #626262; }
.empty { grid-column: 1 / -1; padding: 20px; background: #fff; border: 1px solid var(--line); }
.empty h3 { margin: 0; font-size: 17px; }
.empty p { margin-bottom: 0; color: var(--muted); }
.disclaimer, .site-footer { color: #6b6b6b; font-size: 12px; }
.disclaimer { margin: 25px 0 0; }
.site-footer { max-width: 1600px; margin: auto; padding: 0 24px 26px; }
.sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
:focus-visible { outline: 3px solid #315c87; outline-offset: 2px; }
@media (max-width: 700px) {
  .top-inner { padding: 0 16px; }
  .content { padding: 16px 16px; }
  .search { flex-basis: 100%; }
  .city, .date { flex: 1 1 140px; }
  .filters button { flex: 1 1 100%; }
  .list-heading > span { display: none; }
  .site-footer { padding: 0 16px 24px; }
}
