/* targetace.app/events and /clubs: the search box and the list (listings.js draws it;
   site_render.js writes it in for crawlers). */
.search-box { display: grid; gap: 6px; margin-bottom: 20px; }
/* /clubs: "Near me" sorts by the distance to each club's nearest public venue, worked out in
   the browser (listings.js); the visitor's location never leaves it. */
.search-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.search-row .search { flex: 1 1 260px; }
.near[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.near-note { margin: 0; font-size: 15px; }
.near-note:empty { display: none; }
.card .away { font-size: 15px; font-weight: 600; color: var(--navy); }
.list { display: grid; gap: 12px; }
.card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; color: var(--ink); text-decoration: none; padding: 16px 20px; }
.card:hover { border-color: var(--navy); }
.card img, .card .ph { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; background: var(--th-bg); border: 1px solid var(--rule); }
.card .body { display: grid; gap: 2px; min-width: 0; }
.card .body strong { font-size: 18px; line-height: 1.3; }
.card .desc { font-size: 14px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.event .when { min-width: 90px; font-family: "Barlow Condensed", "Arial Narrow", sans-serif; font-size: 20px; line-height: 1.1; color: var(--navy); }
.event .when strong { font-weight: 700; }
.month { font-size: 28px; margin: 20px 0 2px; }
.list > .month:first-child { margin-top: 0; }
.state { padding: 30px 20px; text-align: center; }
@media (max-width: 520px) { .card { grid-template-columns: auto minmax(0, 1fr); gap: 12px 14px; padding: 14px 16px; } .card > .pill { grid-column: 2; justify-self: start; } }
/* /events: the type filter beside the search. */
.kind-filter { flex: 0 1 220px; min-width: 0; max-width: 100%; min-height: 48px; padding: 8px 12px; font: inherit; font-size: 16px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.card .body .pill { justify-self: start; }
/* /find-a-club: a map of every club's venues, then a card per club (listings.js; site_render.js
   writes the cards in for crawlers). Cards hold several links, so they aren't links themselves. */
.fac-map { height: 280px; margin: 0 0 20px; }
.fac-card { display: grid; gap: 10px; padding: 18px 20px; }
.fac-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center; }
.fac-head img, .fac-head .ph { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; background: var(--th-bg); border: 1px solid var(--rule); }
.fac-head .body { display: grid; gap: 2px; min-width: 0; }
.fac-head h2 { font-size: 24px; margin: 0; overflow-wrap: anywhere; }
.fac-head h2 a { color: var(--ink); }
.fac-head .away { font-size: 15px; font-weight: 600; color: var(--navy); }
.fac-note { margin: 0; font-size: 17px; overflow-wrap: anywhere; }
.fac-join { margin: 0; font-size: 15px; }
.fac-next h3 { margin: 4px 0 4px; font-size: 16px; }
.fac-next ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.fac-next li { overflow-wrap: anywhere; }
.fac-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 16px; margin: 0; font-size: 15px; }
.fac-links a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 600; overflow-wrap: anywhere; }
.fac-organisers { margin-top: 28px; }
.fac-organisers p { margin: 0 0 10px; }
/* /events: the link on to World Archery's calendar (/competitions/), under the list. */
.card.more { grid-template-columns: minmax(0, 1fr); margin-top: 20px; }
