/* Venue pages. Loaded AFTER assets/southern-concierge.css (the kit), which owns tokens, type, buttons,
   header, footer, .container/.section/.hero/.experience-*/.plan-grid/.dark. Only venue-specific rules here. */
[hidden] { display: none !important; }

/* Index */
.v-intro { padding-block: 64px 32px; }
.v-intro h1 { max-width: 16ch; }
.v-intro .lead { margin-top: 24px; }
.filters { border-block: 1px solid var(--sc-sandstone); padding-block: 12px; position: sticky; top: 0; z-index: 5; background: var(--sc-oyster); }
.filters__row { display: flex; gap: 8px; align-items: center; overflow-x: auto; padding: 4px 0; scrollbar-width: none; }
.filters__row::-webkit-scrollbar { display: none; }
.filters__label { flex: none; width: 6.5em; margin: 0; }
.chip { flex: none; min-height: 44px; padding: 10px 16px; border: 1px solid var(--sc-palmetto); border-radius: var(--sc-radius-control); background: transparent; color: var(--sc-palmetto); font-size: 13px; font-weight: 600; cursor: pointer; transition: background var(--sc-duration) ease-out; }
.chip:hover { background: var(--sc-sandstone); }
.chip[aria-pressed="true"] { background: var(--sc-palmetto); color: var(--sc-oyster); }
.chip__n { font-weight: 400; opacity: .75; margin-left: 4px; }
.v-list { padding-block: 32px 96px; }
.v-list .muted { margin-bottom: 24px; }
.v-note { margin-top: 12px; max-width: 56ch; }

.v-photo { align-self: center; }
.v-photo .ph__img { border-radius: var(--sc-radius-feature); }
.pop__media .ph-icon, .ph-icon { display: block; width: 44px; height: 44px; background: var(--sc-palmetto); -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }

/* Page */
.v-top { padding-top: 24px; }
.crumbs a { color: var(--sc-palmetto); }
.v-hero { padding-block: 32px 80px; }
.v-hero h1 { font-size: clamp(36px, 4.4vw, 56px); }
.v-detail { padding-top: 0; }
.v-copy { max-width: 56ch; margin-top: 16px; }
.v-facts { display: grid; gap: 28px; align-content: start; border-top: 1px solid var(--sc-sandstone); }
.v-fact { padding-top: 24px; border-bottom: 1px solid var(--sc-sandstone); padding-bottom: 24px; }
.v-fact h2 { font: 600 12px var(--sc-font-body); letter-spacing: .14em; text-transform: uppercase; color: var(--sc-palmetto); margin-bottom: 8px; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tag { border: 1px solid var(--sc-palmetto); border-radius: 4px; padding: 3px 10px; font-size: 12px; font-weight: 500; color: var(--sc-palmetto); }
.v-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 96px; align-items: start; }
.sources { padding-block: 32px 64px; }
@media (max-width: 1023px) { .v-cta { gap: 48px; } }
@media (max-width: 700px) {
  .v-intro { padding-block: 40px 24px; }
  .media { height: 280px; }
  .hero-photo .ph-icon { width: 72px; height: 72px; }
  .v-cta { grid-template-columns: 1fr; gap: 24px; }
  .v-hero { padding-block: 24px 48px; }
  .filters__label { width: auto; }
}

.v-detail .plan-grid.solo { grid-template-columns: minmax(0, 560px); }
@media (max-width: 700px) { .v-hero .hero-photo { height: 280px; } }

/* Map */
.sc-map { height: 560px; border-radius: var(--sc-radius-feature); overflow: hidden; border: 1px solid var(--sc-sandstone); background: var(--sc-sandstone); z-index: 0; }
.sc-pin { background: none; border: 0; }
.sc-pin svg { display: block; filter: drop-shadow(0 2px 3px rgba(28,40,49,.35)); }
.pin__ic { position: absolute; left: 9px; top: 8.5px; width: 18px; height: 18px; background: var(--sc-oyster); -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat; }
.sc-pin:hover svg path, .sc-pin:focus svg path { fill: var(--sc-navy); }
.leaflet-container { font-family: var(--sc-font-body); }
.leaflet-popup-content { margin: 12px; font: 400 14px/1.5 var(--sc-font-body); color: var(--sc-navy); }
.leaflet-popup-content-wrapper { border-radius: var(--sc-radius-card); background: var(--sc-oyster); }
.leaflet-popup-tip { background: var(--sc-oyster); }
.pop h3 { font-size: 22px; margin: 4px 0 8px; }
.pop .eyebrow { margin: 0; font-size: 11px; }
.pop__media { height: 120px; border-radius: 8px; overflow: hidden; background: var(--sc-sandstone); }
.pop__media img { width: 100%; height: 100%; object-fit: cover; }
.pop__media--ph { display: grid; place-items: center; background-color: var(--sc-sandstone); background-blend-mode: multiply; background-size: 300px auto; box-shadow: inset 0 0 0 1px var(--sc-gold); }
.pop__media--ph .ph-icon { width: 44px; height: 44px; }
.pop__credit { font-size: 11px; margin: 4px 0 8px; }
.pop__label { margin-top: 4px !important; }
.pop__rec--missing { font-style: italic; }
.pop__occ, .pop__rec { font-size: 13px; margin-bottom: 8px; }
.pop__acts { display: grid; gap: 8px; margin-top: 12px; }
.pop__acts .button { min-height: 44px; padding: 10px 16px; font-size: 13px; color: var(--sc-oyster); }
.pop__link { font-size: 13px; text-align: center; min-height: 32px; }
.map-list-h { font-size: 28px; margin: 48px 0 16px; }
.map-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 48px; }
.map-item { break-inside: avoid; padding: 10px 0; border-bottom: 1px solid var(--sc-sandstone); display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; }
.map-show { margin-left: auto; background: none; border: 0; color: var(--sc-palmetto); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; min-height: 32px; }
@media (max-width: 700px) { .sc-map { height: 420px; } .map-list { columns: 1; } }
.leaflet-container a { color: var(--sc-palmetto); }
.leaflet-container .pop__acts a.button { color: var(--sc-oyster); }

/* Tiles in the kit palette: OSM tiles desaturated to paper, then the water and roads pulled toward palmetto */
.sc-map .leaflet-tile-pane { filter: grayscale(1) sepia(.28) contrast(.82) brightness(1.08); }
.sc-map { position: relative; }
.sc-map::after { content: ""; position: absolute; inset: 0; background: var(--sc-palmetto); mix-blend-mode: soft-light; opacity: .35; pointer-events: none; z-index: 399; }
.sc-map .leaflet-control, .sc-map .leaflet-popup-pane, .sc-map .leaflet-marker-pane { z-index: 800; }
.sc-map .leaflet-popup a, .sc-map .leaflet-control-attribution a { color: var(--sc-palmetto); }
.sc-map .leaflet-popup .pop__acts a.button { color: var(--sc-oyster); }

/* Our picks (Dorcy's guide): a quiet mark, and a distinct on-brand pin (gold ground, navy keyline and icon) */
.pick { display: inline-block; padding: 1px 10px; border: 1px solid var(--sc-gold); border-radius: 999px; color: var(--sc-navy); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; line-height: 1.6; vertical-align: 1px; white-space: nowrap; }
.map-item .pick { margin-left: 4px; }
.pin__ic--pick { background: var(--sc-navy); }
.sc-pin--pick:hover svg path, .sc-pin--pick:focus svg path { fill: var(--sc-oyster); }

/* What we know (knowledge base): known rows first, one line for everything unconfirmed */
.v-kb { padding-top: 0; }
.kb-h { font-size: clamp(26px, 3vw, 32px); margin: 0 0 20px; }
.kb { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; border-top: 1px solid var(--sc-sandstone); }
.kb-row { display: grid; grid-template-columns: 13em minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--sc-sandstone); align-items: baseline; }
.kb dt { font: 600 12px var(--sc-font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--sc-palmetto); }
.kb dd { margin: 0; font-size: 15px; line-height: 1.5; }
.kb-prov { display: inline-block; margin-left: 6px; padding: 2px 10px; font-size: 12px; line-height: 1.5; border: 1px solid var(--sc-sandstone); border-radius: 999px; }
.kb-prov a { color: var(--sc-palmetto); }
.kb-row--firsthand .kb-prov { border-color: var(--sc-gold); }
.v-tip { margin-top: 24px; max-width: 56ch; }
.v-tip .eyebrow { margin-bottom: 4px; }
.v-tip__t { font-size: 17px; margin: 0; }
.pop__recnote { font-size: 11px; margin: -4px 0 8px; }
.kb-gap { margin: 20px 0 0; font-size: 14px; line-height: 1.6; max-width: 70ch; }
.kb-gap span { opacity: .75; }
.kb-gap a { margin-left: 6px; white-space: nowrap; }
@media (max-width: 900px) { .kb { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .kb-row { grid-template-columns: 1fr; gap: 2px; } }

.button--on-dark { background: var(--sc-oyster); color: var(--sc-navy); border-color: var(--sc-oyster); }
.button--on-dark:hover { background: var(--sc-sandstone); border-color: var(--sc-sandstone); color: var(--sc-navy); }

/* Explore: the graph comes first on a phone */
@media (max-width: 700px) { .v-intro--tight { padding-block: 20px 10px; } .v-intro--tight h1 { font-size: 32px; } .v-intro--tight .lead { display: none; } .v-list { padding-block: 8px 48px; } }
.curator-wrap { padding-block: 40px 96px; }

/* Category landing pages */
.lp-h { font-size: clamp(26px, 3vw, 34px); margin: 0 0 24px; }
.pcard__plan { margin: 8px 0 0; font-size: 13px; position: relative; z-index: 2; }
.pcard__line { margin: 6px 0 0; font-size: 14px; line-height: 1.5; }
.v-intro .actions { margin-top: 24px; }
.partners { padding-block: 64px; }

/* Nightlife: the dark variant of the kit palette. Ground and ink swap; palmetto becomes the gold accent; lines and surfaces go to a deep slate.
   Contrast pairs are measured in sites/southern-concierge/landing.test.mjs (all text >= 4.5:1). */
body.theme-night { --sc-oyster: #0F161C; --sc-navy: #F1ECE3; --sc-sandstone: #2A3640; --sc-palmetto: #D3B773; --sc-gold: #D3B773; --night-ground: #0F161C; --night-raise: #172128; background: var(--night-ground); color: var(--sc-navy); }
.theme-night .site-header { background: var(--night-ground); border-bottom-color: var(--sc-sandstone); }
.theme-night .brand .wordmark { filter: brightness(0) invert(.94); }
.theme-night .nav a { color: var(--sc-navy); }
.theme-night .nav a.button, .theme-night .button { background: var(--sc-gold); border-color: var(--sc-gold); color: #0F161C; }
.theme-night .button:hover { background: #E7D49B; border-color: #E7D49B; color: #0F161C; }
.theme-night .button.secondary { background: transparent; color: var(--sc-gold); border-color: var(--sc-gold); }
.theme-night .button.secondary:hover { background: var(--night-raise); }
.theme-night .menu-btn { color: var(--sc-navy); border-color: var(--sc-gold); background: transparent; }
@media (max-width: 1023px) { .theme-night .nav.open { background: var(--night-raise); } }
.theme-night .eyebrow, .theme-night .pcard .eyebrow { color: var(--sc-gold); }
.theme-night a { color: var(--sc-gold); }
.theme-night .pcard__link { color: var(--sc-navy); }
.theme-night .muted, .theme-night .ph__credit { color: #C9C4BB; opacity: 1; }
.theme-night .pick { color: var(--sc-navy); border-color: var(--sc-gold); }
.theme-night .ph--empty .ph__img { background: var(--night-raise); border: 1px solid var(--sc-sandstone); }
.theme-night .ph--empty .ph__img::after { filter: brightness(0) invert(.85); opacity: .35; }
.theme-night :focus-visible { outline-color: var(--sc-gold); }
.theme-night .site-footer { background: #090E12; color: var(--sc-navy); border-top: 1px solid var(--sc-sandstone); }
.theme-night .site-footer a { color: var(--sc-navy); }

/* Impeccable round: category pages */
.pcard__name { font-family: var(--sc-font-display); font-weight: 400; font-size: 24px; line-height: 1.2; margin: 0; }
@media (max-width: 700px) { .pcard__name { font-size: 19px; } .pcard .eyebrow { font-size: 12px; } }
/* tap targets: the plan link and the credit link get a 44px hit area without moving the layout */
.venue-card .pcard__plan a { display: inline-flex; align-items: center; min-height: 44px; }
/* landing intro: the lead stays on a phone, the disclaimer shrinks, secondary buttons share a row */
.v-intro--land { padding-block: 48px 24px; }
.v-intro--land h1 { max-width: none; text-wrap: balance; }
.v-intro--land .actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 700px) {
  .v-intro--land { padding-block: 24px 12px; }
  .v-intro--land h1 { font-size: 34px; }
  .v-intro--land .v-note { font-size: 12px; }
  .v-intro--land .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
  .v-intro--land .actions .button { width: auto; }
  .v-intro--land .actions .button:first-child { grid-column: 1 / -1; }
}
/* nightlife: the skip link keeps its own night colours; placeholders and loading images stay navy (no cream flash) */
.theme-night .skip-link { background: var(--sc-gold); color: #0F161C; }
.theme-night .ph__img, .theme-night .ph--empty .ph__img { background: var(--night-raise); }
.theme-night .ph--empty .ph__img { border: 1px solid var(--sc-sandstone); }

/* IT1 */
/* P0: the band button keeps its own colours (the kit's ".dark a" would otherwise paint the label the same ivory as the button) */
.dark a.button--on-dark, .dark .button.button--on-dark { background: var(--sc-oyster); color: var(--sc-navy); border-color: var(--sc-oyster); }
.dark a.button--on-dark:hover, .dark .button.button--on-dark:hover { background: var(--sc-sandstone); border-color: var(--sc-sandstone); color: var(--sc-navy); }
/* P0: placeholders are one solid tint (no wave while photos load); photos fade in (no fade when reduced motion is asked for) */
.pcard .ph--empty .ph__img, .v-photo .ph--empty .ph__img { background: #ECE6DA; border: 1px solid var(--sc-sandstone); }
/* P2 */
.kb-from { margin: -8px 0 16px; font-size: 14px; }
@media (max-width: 700px) { .v-hero .v-photo { order: -1; } }
.theme-night .pcard .ph--empty .ph__img { background: var(--night-raise); }
/* explore: the one-line explanation stays on a phone */
.v-intro--explore .lead { margin-top: 12px; font-size: 16px; }
@media (max-width: 700px) { .v-intro--explore .lead { display: block; font-size: 15px; margin-top: 8px; } .v-intro--explore .v-note { font-size: 12px; } }
/* map: compact intro so the map starts above the fold; clusters; chip rows hint that they scroll */
.v-intro--map { padding-block: 28px 12px; } .v-intro--map h1 { font-size: clamp(30px, 3.4vw, 44px); }
.v-intro--map .lead { margin-top: 10px; font-size: 16px; } .v-intro--map .v-note { margin-top: 6px; }
.v-list:has(#map) { padding-block: 12px 64px; }
.sc-map { height: clamp(380px, 64vh, 640px); }
@media (max-width: 700px) { .v-intro--map { padding-block: 16px 6px; } .sc-map { height: 62vh; min-height: 360px; } }
.sc-cluster { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--sc-palmetto); color: var(--sc-oyster); border: 2px solid var(--sc-gold); font: 600 14px var(--sc-font-body); box-shadow: 0 0 0 4px rgba(49,83,71,.18); }
.sc-cluster--pick { background: var(--sc-gold); color: var(--sc-navy); border-color: var(--sc-navy); }
.filters__row.has-more { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent); }

/* IT2: tap targets. Padding, not bigger text; inline links grow their hit area with padding and cancel it with a negative margin so the layout does not move. */
.pcard__plan a { display: inline-flex; align-items: center; min-height: 44px; }
.pcard__plan { margin: 0; }
.crumbs a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 2px; }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; margin: 0; }
.v-fact a, .kb-gap a, .kb-from a, .sources a, .map-item a { display: inline-block; padding: 14px 4px; margin: -14px -4px; }
.v-fact p:has(> a) { margin: 0; }
.v-intro--map .lead a, .v-intro .lead a { display: inline-flex; align-items: center; min-height: 44px; }
.v-intro--map .lead { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; }
.map-show { min-height: 44px; padding: 0 8px; }
.sc-cluster { width: 44px; height: 44px; }
.sc-pin svg { margin-left: 4px; }
.sc-pin .pin__ic { left: 13px; }
/* the little provenance pill: room to breathe */
.kb-prov { padding: 5px 12px; margin-left: 10px; line-height: 1.4; }

/* IT2 additions: closing band on the category pages (also in the night variant), short map button on a phone, tel links */
.v-cta .actions { margin-top: 20px; }
.theme-night .dark { background: #090E12; color: var(--sc-navy); border-top: 1px solid var(--sc-sandstone); }
.theme-night .dark .button--on-dark, .theme-night .dark a.button--on-dark { background: var(--sc-gold); border-color: var(--sc-gold); color: #0F161C; }
.theme-night .dark .eyebrow { color: var(--sc-gold); }
.v-intro--land .actions .button .short { display: none; }
@media (max-width: 700px) { .v-intro--land .actions .button .long { display: none; } .v-intro--land .actions .button .short { display: inline; } }
a.tel { display: inline-block; padding: 14px 2px; margin: -14px -2px; }
.kb-gap a { margin-left: 8px; }

/* IT3 */
.eyebrow--long { text-transform: none; letter-spacing: .03em; font-size: 13px; line-height: 1.4; }
.map-item a, .g-list__group li a { min-width: 44px; text-align: start; }
.map-item a { display: inline-flex; align-items: center; justify-content: flex-start; padding: 0 6px; margin: 0; min-height: 44px; }
.sc-map .leaflet-bar a, .sc-map.leaflet-touch .leaflet-bar a, .leaflet-touch.sc-map .leaflet-bar a:first-child, .leaflet-touch.sc-map .leaflet-bar a:last-child { width: 44px; height: 44px; line-height: 44px; font-size: 22px; }
.sc-map .leaflet-bar a:first-child { border-radius: 8px 8px 0 0; } .sc-map .leaflet-bar a:last-child { border-radius: 0 0 8px 8px; }

/* explore: on a phone the list is the primary view and the graph is the second; both show on desktop */
.gx-switch { display: none; }
@media (max-width: 700px) {
  .gx-switch { display: flex; gap: 0; margin-bottom: 16px; border: 1px solid var(--sc-palmetto); border-radius: 8px; overflow: hidden; }
  .gx-b { flex: 1; min-height: 44px; border: 0; background: transparent; color: var(--sc-palmetto); font: 600 14px/1 inherit; font-family: inherit; cursor: pointer; }
  .gx-b[aria-pressed="true"] { background: var(--sc-palmetto); color: var(--sc-oyster); }
  .gx[data-view="list"] #graph, .gx[data-view="list"] noscript { display: none; }
  .gx[data-view="graph"] .gx-list { display: none; }
  .gx-list .g-list__h { margin-top: 8px; font-size: 22px; }
}

.eyebrow, .pcard .eyebrow { text-wrap: balance; }


/* map list: name + pick left and "Show on map" right on line 1, meta on line 2 */
.map-item { display: block; }
.map-item__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.map-item__name { display: flex; align-items: center; flex-wrap: wrap; gap: 0 8px; min-width: 0; }
.map-item__meta { display: block; font-size: 14px; line-height: 1.4; margin-top: -6px; padding-bottom: 6px; }
.map-show { margin-left: 0; flex: none; white-space: nowrap; }
.map-fold > summary { cursor: pointer; display: flex; align-items: baseline; gap: 12px; min-height: 44px; list-style: none; }
.map-fold > summary::-webkit-details-marker { display: none; }
.map-fold > summary .muted { font: 400 14px/1 inherit; font-family: inherit; }
.map-fold > summary::after { content: "+"; margin-left: auto; font-size: 24px; }
.map-fold[open] > summary::after { content: "\2212"; }
@media (min-width: 701px) { .map-fold > summary { pointer-events: none; } .map-fold > summary::after { content: none; } }
/* venue: the host line leads; the venue's own number is a quieter second */
.v-arrange { margin: 12px 0 0; }
.v-arrange__call { display: block; font-size: 14px; opacity: .8; margin-top: 2px; }
.kb-gap { display: flex; flex-wrap: wrap; gap: 4px 0; align-items: baseline; }
.kb-gap span { flex: 1 1 100%; }
.kb-gap a { white-space: nowrap; margin-left: 0; margin-right: 16px; }
/* chips wrap (never scroll sideways) */
.filters__row { flex-wrap: wrap; overflow: visible; }
.filters__row.has-more { -webkit-mask-image: none; mask-image: none; }
.chip__n { font-variant-numeric: tabular-nums; }

/* placeholder tone shows until the image paints (no fade) */
.pcard .ph, .v-photo .ph { background: #ECE6DA; border-radius: var(--sc-radius-feature, 12px); }
.theme-night .pcard .ph, .theme-night .v-photo .ph { background: var(--night-raise); }
.v-note--foot { padding-block: 8px 48px; font-size: 14px; }
/* filters: one 'Filter' disclosure under 720px, not sticky; on desktop the chips are simply open */
.filters__sum { display: none; }
@media (max-width: 719px) {
  .filters { position: static; }
  .filters__sum { display: flex; align-items: center; justify-content: space-between; min-height: 44px; cursor: pointer; font-weight: 600; list-style: none; }
  .filters__sum::-webkit-details-marker { display: none; }
  .filters__sum::after { content: "+"; font-size: 22px; }
  .filters__fold[open] > .filters__sum::after { content: "\2212"; }
  .sc-map { height: max(420px, 64vh); }
}
@media (min-width: 720px) { .filters__fold > .filters__row:first-of-type { margin-top: 0; } }
.map-list-h { font-family: var(--sc-font-display, "Playfair Display", serif); }
.map-fold > summary.map-list-h, .map-fold > summary { font-family: var(--sc-font-display, "Playfair Display", serif); font-weight: 400; }

/* map: a compact header line (title + Filter on one row) so the map starts high on the page */
.map-head { position: relative; }
.map-head h1 { margin: 0; }
.map-head .filters__fold { margin: 0; }
.map-head .filters__row { margin-top: 8px; }
.map-sec { padding-block: 0 48px; }
.map-meta { margin: 10px 0 0; font-size: 14px; }
@media (max-width: 719px) {
  .map-head .filters__sum { position: absolute; right: 16px; top: 18px; min-height: 44px; padding-inline: 14px; border: 1px solid var(--sc-palmetto); border-radius: 8px; color: var(--sc-palmetto); gap: 8px; }
  .map-head .filters__fold[open] { padding-top: 4px; }
  .map-head .filters__fold[open] .filters__row:first-of-type { margin-top: 52px; }
}

/* venue-name links: a 44px-wide, centred hit box even for one short word */

/* photo-credit owner links (often one short word: Trio, FIG): a 44px-wide centred hit box, same visual position */

/* occasion row on the map: only the selected chip shows until "More" */
.filters__row--c:not(.is-open) .chip[aria-pressed="false"] { display: none; }
.chip-more { min-height: 44px; padding: 0 12px; border: 0; background: none; color: var(--sc-palmetto); font: 600 13px/1 inherit; font-family: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }

.kb-credit { font-size: 12px; line-height: 1.4; opacity: .75; margin: 12px 0 0; }
.map-fitall { min-height: 44px; min-width: 44px; padding: 0 10px; border: 0; background: none; color: var(--sc-palmetto); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }

.nw { white-space: nowrap; }
/* map header: no accordion border/padding under the h1 (the kit styles every details), and the h1 gap sits close to the other pages' */
.map-head .filters__fold { border: 0; padding: 0; }
.map-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 6px; }
.map-meta a, .map-meta .map-fitall { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 6px; }

/* venue on a phone: a short photo so the name is on the first screen; the Researched chip sits on its own line at the text edge */
@media (max-width: 700px) {
  .v-photo .ph__img { aspect-ratio: 2 / 1; }
  .kb-prov { display: table; margin: 6px 0 0; }
}

/* venue gap line: the links start at the text edge (no 4px inset) */
.kb-gap a { padding: 14px 0; margin: -14px 16px -14px 0; }
/* map list line: "Browse as a list" and "Show all" share one row baseline, no inset */
.map-meta { align-items: center; }
.map-meta a, .map-meta .map-fitall { padding-inline: 0; margin-right: 14px; }

/* map tiles: no hairline seams between tiles */
.sc-map .leaflet-tile { outline: 1px solid transparent; }
