.chorus-location-faqs {
	width: 100%;
}

.chorus-location-faqs__heading {
	margin: 0 0 1.25rem;
}

.chorus-location-faqs__items {
	border-top: 1px solid currentColor;
}

.chorus-location-faqs__item {
	border-bottom: 1px solid currentColor;
}

.chorus-location-faqs__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}

.chorus-location-faqs__question::-webkit-details-marker {
	display: none;
}

.chorus-location-faqs__question::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 1.4em;
	font-weight: 400;
	line-height: 1;
}

.chorus-location-faqs__item[open] > .chorus-location-faqs__question::after {
	content: "−";
}

.chorus-location-faqs__answer {
	padding: 0 0 1.25rem;
}

.chorus-location-faqs__answer > :first-child {
	margin-top: 0;
}

.chorus-location-faqs__answer > :last-child {
	margin-bottom: 0;
}

/* Auto-linked directory names inherit the site's normal link styling. */
.chorus-location-faqs__answer .chorus-business-auto-link {
	font: inherit;
}

/* Approved Location Discovery Pages */
.chorus-discovery-intro {
	max-width: 760px;
}

.chorus-discovery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px;
}

.chorus-discovery-card {
	margin: 0;
}

.chorus-discovery-card__image {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
}

.chorus-discovery-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.chorus-discovery-card__content {
	padding-top: 12px;
}

.chorus-discovery-card__title {
	margin: 0 0 6px;
	font-size: 1.125rem;
	line-height: 1.3;
}

.chorus-discovery-card__title a {
	color: inherit;
	text-decoration: none;
}

.chorus-discovery-card__title a:hover,
.chorus-discovery-card__title a:focus-visible {
	text-decoration: underline;
}

.chorus-discovery-card__strapline {
	margin: 0;
}

/* Automatic Discovery Page layout */
.chorus-discovery-page > .chorus-discovery-intro {
	margin-bottom: 1rem;
}

.chorus-discovery-count {
	margin: 0 0 1.5rem;
	font-weight: 600;
}

.chorus-discovery-page > .chorus-discovery-results {
	margin-bottom: 2rem;
}

/* Discovery pages are landing pages, not blog posts. The Astra option filters
   remove these server-side; these selectors are a defensive theme fallback. */
.single-chorus_discovery .entry-meta,
.single-chorus_discovery .ast-single-related-posts-container,
.single-chorus_discovery .post-navigation {
	display: none !important;
}

.single-chorus_discovery .entry-header {
	margin-bottom: 1.25rem;
}

/* Match the existing Location archive's clean card-based directory feel. */
.chorus-discovery-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
}

.chorus-discovery-card {
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 6px 15px -2px rgba(16, 24, 40, 0.05);
	display: flex;
	flex-direction: column;
}

.chorus-discovery-card__image {
	border-radius: 0;
}

.chorus-discovery-card__content {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.chorus-discovery-card__strapline {
	font-weight: 600;
	margin-bottom: .6rem;
}

.chorus-discovery-card__excerpt {
	margin: 0 0 1rem;
}

.chorus-discovery-card__read-more {
	margin-top: auto;
	font-weight: 600;
}

.chorus-discovery-content,
.chorus-discovery-faqs {
	margin-top: 2.5rem;
}

@media (max-width: 921px) {
	.chorus-discovery-grid {
		grid-template-columns: 1fr;
	}
}

/* Lazy filtered Discovery map */
.chorus-discovery-map-section {
	margin: 2rem 0 2.5rem;
}

.chorus-discovery-map-section h2 {
	margin-bottom: .5rem;
}

.chorus-discovery-map-section__intro {
	max-width: 760px;
}

.chorus-discovery-map {
	position: relative;
}

.chorus-discovery-map__load {
	appearance: none;
	border: 0;
	border-radius: 4px;
	padding: .75rem 1.1rem;
	background: var(--ast-global-color-0, #7b3f97);
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.chorus-discovery-map__load:disabled {
	opacity: .65;
	cursor: wait;
}

.chorus-discovery-map__canvas {
	width: 100%;
	height: min(60vh, 520px);
	min-height: 360px;
	border-radius: 8px;
	overflow: hidden;
	background: #f0f0f0;
}

.chorus-discovery-map__status {
	margin: .75rem 0 0;
}

.chorus-discovery-map-admin-note {
	padding: .75rem 1rem;
	border-left: 4px solid var(--ast-global-color-0, #7b3f97);
	background: #f7f7f7;
}

/* Related approved Discovery Pages */
.chorus-discovery-related {
	margin-top: 2.75rem;
}

.chorus-discovery-related__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.chorus-discovery-related__link {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--ast-border-color, #d1d5db);
	border-radius: 8px;
	text-decoration: none !important;
	background: #fff;
}

.chorus-discovery-related__link:hover,
.chorus-discovery-related__link:focus-visible {
	border-color: var(--ast-global-color-0, #7b3f97);
}

.chorus-discovery-related__link span {
	color: var(--ast-global-color-3, #334155);
	font-size: .92rem;
}

@media (max-width: 921px) {
	.chorus-discovery-related__links {
		grid-template-columns: 1fr;
	}
	.chorus-discovery-map__canvas {
		min-height: 320px;
	}
}

/* Discovery map marker popup */
.chorus-discovery-map-popup {
	width: 220px;
	max-width: 100%;
}

.chorus-discovery-map-popup__image-link {
	display: block;
	margin: 0 0 10px;
}

.chorus-discovery-map-popup__image {
	display: block;
	width: 100%;
	height: 120px;
	object-fit: cover;
	border-radius: 6px;
}

.chorus-discovery-map-popup__title {
	display: block;
	font-size: 15px;
	line-height: 1.35;
	margin-bottom: 4px;
}

.chorus-discovery-map-popup__address {
	font-size: 13px;
	line-height: 1.4;
}

/* -------------------------------------------------------------------------
 * Discovery Pages v2.1 — BPD-aligned visual language
 * ---------------------------------------------------------------------- */
.single-chorus_discovery .entry-header {
	display: none !important; /* defensive fallback when Astra title filter is unavailable */
}

.single-chorus_discovery .site-content .ast-container,
.single-chorus_discovery #primary,
.single-chorus_discovery .site-main,
.single-chorus_discovery article.ast-article-single {
	max-width: none;
	width: 100%;
}

.single-chorus_discovery #primary {
	margin-top: 0;
}

.single-chorus_discovery article.ast-article-single {
	padding-top: 0;
}

.chorus-discovery-page {
	--clp-purple: var(--ast-global-color-0, #7b3f97);
	--clp-purple-light: var(--ast-global-color-1, #ae6acd);
	--clp-ink: var(--ast-global-color-2, #1e293b);
	--clp-text: var(--ast-global-color-3, #334155);
	--clp-soft: var(--ast-global-color-5, #f0f5fa);
	--clp-border: var(--ast-global-color-7, #d1d5db);
}

.chorus-discovery-hero {
	position: relative;
	isolation: isolate;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	min-height: 390px;
	display: flex;
	align-items: end;
	background: linear-gradient(120deg, #7b3f97 0%, #5d2d78 48%, #2f1d39 100%);
	overflow: hidden;
	margin-top: -83px;
}

.chorus-discovery-hero.has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: var(--clp-discovery-hero-image);
	background-size: cover;
	background-position: center;
}

.chorus-discovery-hero__collage {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: grid;
	grid-template-columns: 1.18fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 3px;
	background: #2f1d39;
}

.chorus-discovery-hero__collage-item {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
}

.chorus-discovery-hero__collage-item:nth-child(1) {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.chorus-discovery-hero__collage-item:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
}

.chorus-discovery-hero__collage-item:nth-child(3) {
	grid-column: 2;
	grid-row: 2;
}

.chorus-discovery-hero__collage-item:nth-child(4) {
	grid-column: 3;
	grid-row: 1;
}

.chorus-discovery-hero__collage-item:nth-child(5) {
	grid-column: 3;
	grid-row: 2;
}

.chorus-discovery-hero__collage-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.015);
}

/* Graceful layouts when fewer matching businesses have featured images. */
.chorus-discovery-hero__collage--1 {
	display: block;
}
.chorus-discovery-hero__collage--1 .chorus-discovery-hero__collage-item {
	width: 100%;
	height: 100%;
}
.chorus-discovery-hero__collage--2 {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
}
.chorus-discovery-hero__collage--2 .chorus-discovery-hero__collage-item:nth-child(1),
.chorus-discovery-hero__collage--2 .chorus-discovery-hero__collage-item:nth-child(2) {
	grid-column: auto;
	grid-row: auto;
}
.chorus-discovery-hero__collage--3 {
	grid-template-columns: 1.2fr 1fr;
	grid-template-rows: 1fr 1fr;
}
.chorus-discovery-hero__collage--3 .chorus-discovery-hero__collage-item:nth-child(3) {
	grid-column: 2;
	grid-row: 2;
}
.chorus-discovery-hero__collage--4 {
	grid-template-columns: 1.18fr 1fr 1fr;
}
.chorus-discovery-hero__collage--4 .chorus-discovery-hero__collage-item:nth-child(4) {
	grid-column: 3;
	grid-row: 1 / span 2;
}

.chorus-discovery-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(35, 12, 48, .96) 0%, rgba(76, 29, 96, .87) 40%, rgba(31, 18, 38, .50) 70%, rgba(20, 14, 25, .30) 100%),
		linear-gradient(0deg, rgba(20, 14, 25, .42) 0%, rgba(20, 14, 25, .04) 62%);
}

.chorus-discovery-hero.no-image__overlay,
.chorus-discovery-hero.no-image .chorus-discovery-hero__overlay {
	background: linear-gradient(115deg, #7b3f97 0%, #6b3687 58%, #472555 100%);
}

.chorus-discovery-hero__inner {
	position: relative;
	z-index: 2;
	width: min(1200px, calc(100% - 48px));
	margin: 0 auto;
	padding: 72px 0 54px;
	color: #fff;
}

.chorus-discovery-hero__eyebrow {
	margin: 0 0 12px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.9);
}

.chorus-discovery-hero__title,
.entry-content .chorus-discovery-hero__title {
	max-width: 840px;
	margin: 0 0 16px;
	font-size: clamp(2.15rem, 4.6vw, 4.25rem);
	line-height: 1.05;
	font-weight: 600;
	color: #fff;
}

.chorus-discovery-hero__summary {
	max-width: 720px;
	margin: 0;
	font-size: clamp(1rem, 1.6vw, 1.18rem);
	line-height: 1.65;
	color: rgba(255,255,255,.94);
}

.chorus-discovery-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 24px;
}

.chorus-discovery-hero__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 6px 11px;
	border: 1px solid rgba(255,255,255,.34);
	border-radius: 999px;
	background: rgba(255,255,255,.11);
	backdrop-filter: blur(6px);
	font-size: .82rem;
	font-weight: 600;
	color: #fff;
}

.chorus-discovery-page__body {
	width: min(1200px, calc(100% - 48px));
	margin: 0 auto;
	padding: 42px 0 68px;
}

.chorus-discovery-page__body > .chorus-discovery-intro {
	max-width: 820px;
	margin: 0 0 30px;
	font-size: 1.08rem;
	line-height: 1.75;
	color: var(--clp-text);
}

.chorus-discovery-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.chorus-discovery-card--bpd {
	border: 1px solid rgba(123,63,151,.12);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(18,19,49,.075);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.chorus-discovery-card--bpd:hover {
	transform: translateY(-3px);
	border-color: rgba(123,63,151,.28);
	box-shadow: 0 18px 40px rgba(18,19,49,.11);
}

.chorus-discovery-card__media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, #f0eaff 0%, #f0f5fa 100%);
}

.chorus-discovery-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .28s ease;
}

.chorus-discovery-card--bpd:hover .chorus-discovery-card__image {
	transform: scale(1.025);
}

.chorus-discovery-card__image-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 24px;
	text-align: center;
	font-weight: 600;
	color: #7b3f97;
}

.chorus-discovery-card--bpd .chorus-discovery-card__content {
	padding: 20px 20px 22px;
}

.chorus-discovery-card__type {
	margin: 0 0 7px;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7b3f97;
}

.chorus-discovery-card--bpd .chorus-discovery-card__title {
	margin: 0 0 10px;
	font-size: 1.3rem;
	line-height: 1.22;
	font-weight: 600;
}

.chorus-discovery-card__summary {
	margin: 0 0 15px;
	font-size: .94rem;
	line-height: 1.62;
	color: var(--clp-text);
}

.chorus-discovery-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none !important;
	margin: 0 0 17px !important;
	padding: 0 !important;
}

.chorus-discovery-card__chips li {
	margin: 0;
	padding: 5px 9px;
	border-radius: 999px;
	background: #f5eef8;
	font-size: .76rem;
	font-weight: 600;
	line-height: 1.25;
	color: #65317e;
}

.chorus-discovery-card__link {
	margin-top: auto;
	font-weight: 600;
	text-decoration: none !important;
	color: #7b3f97;
}

.chorus-discovery-card__link:hover,
.chorus-discovery-card__link:focus-visible {
	color: var(--clp-purple-light);
}

.chorus-discovery-map-section,
.chorus-discovery-content,
.chorus-discovery-faqs,
.chorus-discovery-related {
	margin-top: 48px;
}

@media (max-width: 921px) {
	.chorus-discovery-hero__collage {
		grid-template-columns: 1.25fr 1fr 1fr;
	}
	.chorus-discovery-hero__overlay {
		background:
			linear-gradient(90deg, rgba(35, 12, 48, .96) 0%, rgba(76, 29, 96, .88) 48%, rgba(31, 18, 38, .48) 100%),
			linear-gradient(0deg, rgba(20, 14, 25, .48) 0%, rgba(20, 14, 25, .04) 60%);
	}
	.chorus-discovery-hero { min-height: 340px; }
	.chorus-discovery-hero__inner,
	.chorus-discovery-page__body { width: min(100% - 36px, 1200px); }
	.chorus-discovery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.chorus-discovery-hero__collage {
		grid-template-columns: 1.15fr 1fr;
		grid-template-rows: 1fr 1fr;
	}
	.chorus-discovery-hero__collage-item:nth-child(1) {
		grid-column: 1;
		grid-row: 1 / span 2;
	}
	.chorus-discovery-hero__collage-item:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}
	.chorus-discovery-hero__collage-item:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}
	.chorus-discovery-hero__collage-item:nth-child(n+4) {
		display: none;
	}
	.chorus-discovery-hero__overlay {
		background: linear-gradient(90deg, rgba(35, 12, 48, .96) 0%, rgba(76, 29, 96, .88) 62%, rgba(31, 18, 38, .52) 100%);
	}
	.chorus-discovery-hero { min-height: 310px; }
	.chorus-discovery-hero__inner { padding: 58px 0 38px; }
	.chorus-discovery-hero__inner,
	.chorus-discovery-page__body { width: min(100% - 28px, 1200px); }
	.chorus-discovery-page__body { padding-top: 30px; }
	.chorus-discovery-grid { grid-template-columns: 1fr; }
	.chorus-discovery-hero__meta span:nth-child(3) { display: none; }
}

/* -------------------------------------------------------------------------
 * Discovery Pages v2.2 — Winchester directory parity
 * ---------------------------------------------------------------------- */
.chorus-discovery-controls{margin:12px 0 30px;padding-bottom:26px;border-bottom:1px solid #ececf1}
.chorus-discovery-controls__pills,.chorus-discovery-controls__more{display:flex;flex-wrap:wrap;gap:10px}
.chorus-discovery-controls__more{margin-top:10px;padding:14px;border-radius:12px;background:#faf8fc}
.chorus-discovery-filter-pill,.chorus-discovery-near-me{appearance:none;border:1px solid #7b3f97;border-radius:999px;background:#7b3f97;color:#fff;padding:10px 16px;font:inherit;font-weight:600;line-height:1;cursor:pointer}
.chorus-discovery-filter-pill.is-active{background:#fff;color:#7b3f97;box-shadow:0 0 0 2px rgba(123,63,151,.12)}
.chorus-discovery-filter-pill--more,.chorus-discovery-near-me{background:#fff;color:#7b3f97}
.chorus-discovery-controls__status-row{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:26px}
.chorus-discovery-controls__status-row p{margin:12px 0 0;color:#7b3f97;font-size:.9rem}
.chorus-discovery-controls__sort{display:flex;align-items:center;gap:16px}
.chorus-discovery-controls__sort label{display:flex;align-items:center;gap:8px;color:#334155}
.chorus-discovery-controls__sort select{width:auto;min-width:130px;background:#fff;border:1px solid #e4e4ea;border-radius:10px;padding:9px 34px 9px 12px;height:auto}
.chorus-discovery-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:'results explore';gap:28px;align-items:start}
.chorus-discovery-directory-main{grid-area:results;min-width:0}.chorus-discovery-explore{grid-area:explore;min-width:0}.chorus-discovery-directory-main .chorus-discovery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.chorus-discovery-card--bpd{border:1px solid #e9e6ed;border-radius:16px;box-shadow:0 8px 22px rgba(18,19,49,.045);transform:none!important}
.chorus-discovery-card__media{aspect-ratio:1.36/1}
.chorus-discovery-card--bpd .chorus-discovery-card__content{padding:16px 16px 18px}
.chorus-discovery-card__type{font-size:.72rem;margin-bottom:7px}
.chorus-discovery-card--bpd .chorus-discovery-card__title{font-size:1.22rem;margin-bottom:7px}
.chorus-discovery-card__meta{display:flex;flex-wrap:wrap;gap:0;margin:0 0 12px;color:#6a7188;font-size:.78rem}
.chorus-discovery-card__meta span+span:before{content:'·';padding:0 7px;color:#9aa0b2}
.chorus-discovery-card__summary{font-size:.9rem;line-height:1.55;margin:0 0 12px;color:#536078}
.chorus-discovery-card__chips{display:flex;flex-wrap:wrap;gap:7px;list-style:none!important;padding:0!important;margin:0 0 14px!important}
.chorus-discovery-card__chips li{padding:5px 9px;border-radius:999px;background:#f7effa;color:#7b3f97;font-size:.74rem;line-height:1.2}
.chorus-discovery-card__link{display:block;margin-top:auto;padding:10px 14px;border-radius:7px;background:#7b3f97;color:#fff!important;text-align:center;text-decoration:none!important;font-weight:600;font-size:.86rem}
.chorus-discovery-explore{position:sticky;top:24px;border:1px solid #e9e6ed;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(18,19,49,.045)}
.chorus-discovery-map--compact{min-height:190px;background:#eef3ed;position:relative}
.chorus-discovery-map--compact .chorus-discovery-map__load{position:absolute;z-index:2;left:16px;top:16px;background:#fff;color:#7b3f97;border:1px solid #ded9e4;border-radius:7px}
.chorus-discovery-map--compact .chorus-discovery-map__canvas{height:220px;min-height:220px;border-radius:0}
.chorus-discovery-explore__body{padding:18px}
.chorus-discovery-explore__body h2{font-size:1.42rem;margin:0 0 9px}
.chorus-discovery-explore__body>p{margin:0 0 14px;color:#59647b;font-size:.9rem}
.chorus-discovery-explore__breakdown{list-style:none!important;margin:0!important;padding:0!important;border-top:1px solid #ececf1}
.chorus-discovery-explore__breakdown li{margin:0!important;border-bottom:1px solid #ececf1}
.chorus-discovery-explore__breakdown button{width:100%;display:flex;justify-content:space-between;gap:12px;padding:11px 0;border:0;background:transparent;color:#20283a;text-align:left;font:inherit;cursor:pointer}
.chorus-discovery-explore__breakdown button:hover span{color:#7b3f97}
.chorus-discovery-explore__breakdown strong{color:#7b3f97}
.chorus-discovery-explore__location-link{display:block;margin-top:16px;padding:11px;border:1px solid #ded9e4;border-radius:8px;text-align:center;color:#7b3f97!important;text-decoration:none!important;font-weight:600}
.chorus-discovery-hero__meta span{background:rgba(255,255,255,.14)}
@media(max-width:1150px){.chorus-discovery-directory-main .chorus-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.chorus-discovery-directory-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-areas:'results explore';gap:22px}.chorus-discovery-directory-main .chorus-discovery-grid{grid-template-columns:1fr}}
@media(max-width:760px){.chorus-discovery-directory-layout{grid-template-columns:1fr;grid-template-areas:'results' 'explore'}.chorus-discovery-explore{position:static}.chorus-discovery-controls__status-row{align-items:flex-start;flex-direction:column}.chorus-discovery-controls__sort{width:100%;justify-content:space-between}}
@media(max-width:620px){.chorus-discovery-directory-main .chorus-discovery-grid{grid-template-columns:1fr}.chorus-discovery-page__body{width:min(100% - 28px,1200px)}.chorus-discovery-controls__sort{align-items:stretch;flex-direction:column}.chorus-discovery-controls__sort label{justify-content:space-between}.chorus-discovery-filter-pill{font-size:.86rem;padding:9px 13px}}
