/* Where to buy (cbco-retail.php), 2026-10-06 — answer-first version (afternoon).
 * Two homes: the "Where to buy <beer>" block on beer pages (inside .cbco-bp) and the Where to buy
 * directory page (page-retail-template.php on top of cbco-location.css + cbco-trade.css).
 * One place row (.cbco-rt__row) is shared by both. */

/* ---------- the place row ---------- */
.cbco-rt__rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid #dcd7c9; }
.cbco-rt__row { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; gap: 4px 16px; align-items: center; margin: 0; padding: 12px 0; list-style: none; border-bottom: 1px solid #dcd7c9; font-family: 'Open Sans', Arial, sans-serif; font-weight: 400; color: #1c1f2a; }
.cbco-rt__row.is-hidden { display: none; }
.cbco-rt__type { font-family: 'Oswald', Arial, sans-serif; font-weight: 500; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #01207f; line-height: 1.3; }
.cbco-rt__row--bar .cbco-rt__type { color: #b85600; }
.cbco-rt__type i { display: block; font-style: normal; letter-spacing: .04em; text-transform: none; font-size: 12px; color: #5f6472; }
.cbco-rt__row-main { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cbco-rt__name { font-family: 'Oswald', Arial, sans-serif; font-weight: 600; font-size: 17px; line-height: 1.15; text-transform: uppercase; color: #1c1f2a; }
.cbco-rt a.cbco-rt__addr, .cbco-rt-page a.cbco-rt__addr, .cbco-rt__addr { font-size: 13.5px; line-height: 1.4; color: #333; text-decoration: none; }
.cbco-rt a.cbco-rt__addr:hover, .cbco-rt-page a.cbco-rt__addr:hover { color: #fa7500; text-decoration: underline; text-underline-offset: 3px; }
.cbco-rt__area { font-family: 'Oswald', Arial, sans-serif; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: #5f6472; }
.cbco-rt__meta { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #5f6472; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cbco-rt a.cbco-rt__call, .cbco-rt-page a.cbco-rt__call { display: inline-flex; align-items: center; padding: 6px 13px; border-radius: 999px; background: #01207f; color: #fff; font-family: 'Oswald', Arial, sans-serif; font-weight: 500; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.cbco-rt a.cbco-rt__call:hover, .cbco-rt-page a.cbco-rt__call:hover { background: #fa7500; color: #fff; }
.cbco-rt__none { padding: 14px 0; font-size: 15px; color: #5f6472; list-style: none; }
@media (max-width: 600px) {
	.cbco-rt__row { grid-template-columns: minmax(0, 1fr) auto; }
	.cbco-rt__type { grid-column: 1 / -1; }
	.cbco-rt__type i { display: inline; margin-left: 6px; }
}

/* ---------- beer page block ---------- */
.cbco-bp .cbco-rt { padding: 10px 0 30px; border-top: 1px solid var(--bp-line); margin-top: 24px; scroll-margin-top: 120px; }
.cbco-bp .cbco-rt__head { max-width: 760px; margin: 24px 0 14px; }
.cbco-bp .cbco-rt__eyebrow { color: var(--bp-ember); display: block; margin-bottom: 6px; }
.cbco-bp .cbco-rt h2 { margin: 0 0 8px; padding: 0; font-family: 'Oswald', Arial, sans-serif; font-weight: 600; text-transform: uppercase; font-size: clamp(26px, 3vw, 34px); letter-spacing: -.6px; line-height: 1.05; color: var(--bp-ink); }
.cbco-bp .cbco-rt p.cbco-rt__lede { margin: 0; padding: 0; font-family: 'Open Sans', Arial, sans-serif; font-size: 15.5px; line-height: 1.5; color: #555; }
.cbco-bp .cbco-rt__rows { max-width: 760px; }
.cbco-bp .cbco-rt__near-l { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 12px 0 0; padding: 0; font-family: 'Open Sans', Arial, sans-serif; }
.cbco-bp button.cbco-rt__near { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 8px 16px; border: 1.5px solid var(--bp-navy); border-radius: 999px; background: transparent; color: var(--bp-navy); font-family: 'Open Sans', Arial, sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .8px; text-transform: uppercase; line-height: 1.2; cursor: pointer; transition: background .15s, color .15s; }
.cbco-bp button.cbco-rt__near::before { content: ""; width: 9px; height: 9px; border-radius: 50%; border: 2px solid currentColor; }
.cbco-bp button.cbco-rt__near:hover { background: var(--bp-navy); color: #fff; }
.cbco-bp button.cbco-rt__near.is-on { background: var(--bp-navy); color: #fff; }
.cbco-bp button.cbco-rt__near.is-busy { opacity: .7; cursor: progress; }
.cbco-bp .cbco-rt__near-msg { font-size: 13px; color: var(--bp-muted); }
.cbco-bp .cbco-rt__near-msg[hidden] { display: none; }
.cbco-bp .cbco-rt__acts { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 0; }
.cbco-bp a.cbco-rt__btn { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; border-radius: 999px; padding: 13px 22px; font-family: 'Open Sans', Arial, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .8px; text-transform: uppercase; line-height: 1.2; background: var(--bp-navy); color: #fff; border: 1.5px solid var(--bp-navy); transition: background .15s, color .15s, border-color .15s; }
.cbco-bp a.cbco-rt__btn:hover { background: var(--bp-ember); border-color: var(--bp-ember); color: #fff; }
.cbco-bp a.cbco-rt__btn--ghost { background: transparent; color: var(--bp-navy); }
.cbco-bp a.cbco-rt__btn--ghost:hover { background: var(--bp-navy); color: #fff; border-color: var(--bp-navy); }
.cbco-bp details.cbco-rt__faq { max-width: 760px; margin-top: 22px; font-family: 'Open Sans', Arial, sans-serif; border-top: 1px solid var(--bp-line); border-bottom: 1px solid var(--bp-line); }
.cbco-bp .cbco-rt__faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; padding: 14px 0; font-family: 'Oswald', Arial, sans-serif; font-weight: 600; text-transform: uppercase; font-size: 17px; letter-spacing: -.2px; color: var(--bp-ink); }
.cbco-bp .cbco-rt__faq summary::-webkit-details-marker { display: none; }
.cbco-bp .cbco-rt__faq summary::after { content: ""; flex: 0 0 auto; width: 10px; height: 10px; border-right: 2.4px solid var(--bp-ember); border-bottom: 2.4px solid var(--bp-ember); transform: rotate(45deg); transition: transform .15s; margin-right: 4px; }
.cbco-bp .cbco-rt__faq[open] summary::after { transform: rotate(-135deg); }
.cbco-bp .cbco-rt__faq-in { padding: 0 0 16px; }
.cbco-bp .cbco-rt__faq h3 { margin: 14px 0 6px; padding: 0; font-family: 'Oswald', Arial, sans-serif; font-weight: 600; text-transform: uppercase; font-size: 16px; color: var(--bp-ink); }
.cbco-bp .cbco-rt__faq p { margin: 0; padding: 0; font-size: 15px; line-height: 1.6; color: #3d3d3d; }
.cbco-bp .cbco-rt__faq p.cbco-rt__note { margin-top: 12px; font-size: 12.5px; color: var(--bp-muted); }

/* ---------- directory page: hero + find bar ---------- */
.cbco-loc h1.cbco-rt__h1 { max-width: 14ch; }
.cbco-rt-page img.cbco-loc__hero-img { object-position: 70% 40%; }
@media (max-width: 760px) { .cbco-rt-page img.cbco-loc__hero-img { object-position: 70% 20%; } }
.cbco-rt__find { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 22px 0 0; max-width: 720px; }
.cbco-rt-page .cbco-rt__find button, .cbco-rt-page .cbco-rt__find input, .cbco-rt-page .cbco-rt__find select { margin: 0; height: 48px; box-sizing: border-box; font-family: 'Open Sans', Arial, sans-serif; font-size: 15px; line-height: 1; }
.cbco-rt-page button.cbco-rt__geo { display: inline-flex; align-items: center; gap: 8px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--lp-ember); color: #fff; font-family: 'Oswald', Arial, sans-serif; font-weight: 500; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cbco-rt-page button.cbco-rt__geo:hover { background: var(--lp-ember-deep); color: #fff; }
.cbco-rt-page button.cbco-rt__geo.is-busy { opacity: .7; cursor: progress; }
.cbco-rt__or { font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; color: var(--lp-on-dark-muted); }
.cbco-rt-page input.cbco-rt__zip { width: 130px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 999px; background: rgba(255, 255, 255, .12); color: #fff; }
.cbco-rt-page input.cbco-rt__zip::placeholder { color: rgba(255, 255, 255, .75); }
.cbco-rt-page input.cbco-rt__zip:focus { outline: 2px solid var(--lp-ember); outline-offset: 2px; background: rgba(255, 255, 255, .18); }
.cbco-rt-page button.cbco-rt__go { padding: 0 18px; border: 1px solid rgba(255, 255, 255, .8); border-radius: 999px; background: transparent; color: #fff; font-family: 'Oswald', Arial, sans-serif; font-weight: 500; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cbco-rt-page button.cbco-rt__go:hover { background: #fff; color: var(--lp-navy); }
.cbco-rt__zip-l, .cbco-rt__jump-l { margin: 0; }
.cbco-rt-page select.cbco-rt__jump { width: 240px; max-width: 100%; padding: 0 40px 0 16px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 999px; background: rgba(255, 255, 255, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center; color: #fff; appearance: none; -webkit-appearance: none; }
.cbco-rt-page select.cbco-rt__jump option { color: var(--lp-ink); }
.cbco-rt-page select.cbco-rt__jump:focus { outline: 2px solid var(--lp-ember); outline-offset: 2px; }
.cbco-rt-page .cbco-rt__msg { width: 100%; margin: 2px 0 0; font-size: 14px; color: #ffd9b8; }
@media (max-width: 600px) {
	.cbco-rt-page button.cbco-rt__geo { width: 100%; justify-content: center; }
	.cbco-rt__or { display: none; }
	.cbco-rt-page input.cbco-rt__zip { flex: 1; width: auto; }
	.cbco-rt-page select.cbco-rt__jump { width: 100%; }
}

/* ---------- the strip ---------- */
.cbco-rt__stripsec { padding-top: clamp(28px, 4vw, 44px) !important; padding-bottom: clamp(28px, 4vw, 44px) !important; }
.cbco-rt__strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.cbco-rt-page .cbco-rt__filter { display: inline-flex; align-items: center; gap: 8px; font-family: 'Oswald', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; font-size: 13px; font-weight: 500; color: var(--lp-ink); border: 1px solid var(--lp-line); border-radius: 999px; padding: 9px 16px; text-decoration: none; background: var(--lp-paper); }
.cbco-rt-page .cbco-rt__filter--chain { border-color: var(--lp-navy); background: #fff; }
.cbco-rt-page .cbco-rt__filter span { font-size: 11px; color: var(--lp-muted); letter-spacing: .04em; }
.cbco-rt-page .cbco-rt__filter:hover { border-color: var(--lp-navy); color: var(--lp-navy); }
.cbco-rt-page .cbco-rt__filter.is-on { background: var(--lp-navy); border-color: var(--lp-navy); color: #fff; }
.cbco-rt-page .cbco-rt__filter.is-on span { color: var(--lp-on-dark-muted); }
.cbco-rt-page .cbco-rt__strip-note { margin: 14px 0 0; font-size: 14px; color: var(--lp-muted); }

/* ---------- results + map ---------- */
.cbco-rt__res-head { margin-bottom: 18px; }
.cbco-rt-page .cbco-rt__res-head h2 { margin: 4px 0 6px; }
.cbco-rt-page .cbco-rt__res-c { margin: 0; font-size: 14.5px; color: var(--lp-muted); }
.cbco-rt__res-in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; align-items: start; }
.cbco-rt__res-list .cbco-rt__rows { background: #fff; border: 1px solid var(--lp-line); border-top: 0; border-radius: 12px; overflow: hidden; }
.cbco-rt__res-list .cbco-rt__row { padding: 12px 16px; }
.cbco-rt__res-list .cbco-rt__row:last-child { border-bottom: 0; }
.cbco-rt-page button.cbco-rt__more { display: inline-block; margin: 14px 0 0; padding: 12px 22px; border: 2px solid var(--lp-navy); border-radius: 999px; background: var(--lp-navy); color: #fff; font-family: 'Oswald', Arial, sans-serif; font-weight: 500; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cbco-rt-page button.cbco-rt__more:hover { background: var(--lp-ember); border-color: var(--lp-ember); }
.cbco-rt-page button.cbco-rt__more[hidden] { display: none; }
.cbco-rt-page .cbco-rt__res-note { margin: 12px 0 0; font-size: 13px; color: var(--lp-muted); }
.cbco-rt__map-wrap { position: sticky; top: 100px; }
.cbco-rt__map { height: 460px; border-radius: 12px; overflow: hidden; border: 1px solid var(--lp-line); background: var(--lp-cream); z-index: 1; }
.cbco-rt__map .leaflet-popup-content { font-family: 'Open Sans', Arial, sans-serif; font-size: 13.5px; line-height: 1.5; margin: 12px 14px; }
.cbco-rt__map .leaflet-popup-content a { color: var(--lp-navy); font-weight: 600; }
.cbco-rt__pop-n { display: block; font-family: 'Oswald', Arial, sans-serif; font-size: 16px; text-transform: uppercase; letter-spacing: .02em; color: var(--lp-ink); }
.cbco-rt__pop-k { display: block; font-family: 'Oswald', Arial, sans-serif; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: var(--lp-ember-deep); margin-bottom: 4px; }
.cbco-rt__legend { margin: 10px 0 0; font-size: 13.5px; color: var(--lp-muted); display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.cbco-rt__dot { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--lp-navy); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--lp-line); }
.cbco-rt__dot--bar { background: var(--lp-ember); }
.cbco-rt__dot--you { background: #fff; border: 3px solid var(--lp-ember); }
@media (max-width: 960px) {
	.cbco-rt__res-in { grid-template-columns: 1fr; gap: 20px; }
	.cbco-rt__map-wrap { position: static; }
	.cbco-rt__map { height: 340px; }
}

/* ---------- the folded directory ---------- */
.cbco-rt-page details.cbco-rt__all { border-top: 1px solid var(--lp-line); }
.cbco-rt-page details.cbco-rt__all + details.cbco-rt__all { margin-top: 10px; }
.cbco-rt-page details.cbco-rt__all:last-child { border-bottom: 1px solid var(--lp-line); }
.cbco-rt-page .cbco-rt__all > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 16px; align-items: center; list-style: none; cursor: pointer; padding: 18px 0; }
.cbco-rt-page .cbco-rt__all > summary::-webkit-details-marker { display: none; }
.cbco-rt-page .cbco-rt__all > summary .cbco-loc__eyebrow { grid-column: 1; }
.cbco-rt-page .cbco-rt__all > summary h2 { grid-column: 1; margin: 4px 0 0; font-size: clamp(22px, 2.6vw, 28px); }
.cbco-rt__chev { grid-column: 2; grid-row: 1 / span 2; width: 14px; height: 14px; border-right: 2.5px solid var(--lp-ember); border-bottom: 2.5px solid var(--lp-ember); transform: rotate(45deg); transition: transform .15s; margin-right: 6px; }
.cbco-rt-page .cbco-rt__all[open] > summary .cbco-rt__chev { transform: rotate(-135deg); }
.cbco-rt__all-in { padding: 0 0 22px; }
.cbco-rt-page details.cbco-rt__area { border-top: 1px solid var(--lp-line); }
.cbco-rt-page details.cbco-rt__area.is-hidden { display: none; }
.cbco-rt-page .cbco-rt__area > summary { display: flex; align-items: baseline; gap: 12px; list-style: none; cursor: pointer; padding: 12px 0; }
.cbco-rt-page .cbco-rt__area > summary::-webkit-details-marker { display: none; }
.cbco-rt-page .cbco-rt__area > summary b { font-family: 'Oswald', Arial, sans-serif; font-weight: 600; font-size: 18px; text-transform: uppercase; color: var(--lp-ink); }
.cbco-rt-page .cbco-rt__area > summary span { font-family: 'Oswald', Arial, sans-serif; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--lp-muted); }
.cbco-rt-page .cbco-rt__area > summary::after { content: ""; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--lp-ember); border-bottom: 2px solid var(--lp-ember); transform: rotate(45deg); flex: 0 0 auto; }
.cbco-rt-page .cbco-rt__area[open] > summary::after { transform: rotate(-135deg); }
.cbco-rt-page .cbco-rt__area .cbco-rt__rows { border-top: 0; margin: 0 0 10px; }
.cbco-rt-page .cbco-rt__area .cbco-rt__row:last-child { border-bottom: 0; }
.cbco-rt-page .cbco-rt__source { margin: 26px 0 0; font-size: 13px; color: var(--lp-muted); max-width: 80ch; }
.cbco-rt-page .cbco-rt__source a { color: var(--lp-navy); text-decoration: underline; text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { .cbco-rt-page .cbco-rt__filter, .cbco-rt a.cbco-rt__btn, .cbco-rt__chev { transition: none; } }
