/* ==========================================================================
   Goldstar — Location landing pages (single-location.php)
   Brand: gold #c39b32 / blue #145487 / myriad-pro
   ========================================================================== */

/* ---------- Shared ---------- */

.locEyebrow {
	color: var(--gold);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.locBtn {
	border-radius: 4px;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
	margin: 0 8px 8px 0;
	padding: 15px 32px;
	text-decoration: none;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.locBtn:hover,
.locBtn:focus {
	text-decoration: none;
}

.bodyWrapper a.locBtnGold {
	background-color: var(--gold);
	border: 2px solid var(--gold);
	color: #fff !important;
}

.bodyWrapper a.locBtnGold:hover,
.bodyWrapper a.locBtnGold:focus {
	background-color: #a8842a;
	border-color: #a8842a;
	color: #fff !important;
}

.bodyWrapper a.locBtnOutline {
	background-color: transparent;
	border: 2px solid rgba(255, 255, 255, 0.65);
	color: #fff !important;
}

.bodyWrapper a.locBtnOutline:hover,
.bodyWrapper a.locBtnOutline:focus {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff !important;
}

/* ---------- Hero ---------- */

.locHero {
	align-items: center;
	background-color: var(--blue);
	background-position: center;
	background-size: cover;
	display: flex;
	min-height: 62vh;
	padding: 96px 0;
	position: relative;
}

.locHeroOverlay {
	background: linear-gradient(100deg, rgba(10, 35, 60, 0.88) 30%, rgba(10, 35, 60, 0.42) 100%);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.locHeroInner {
	position: relative;
	z-index: 2;
}

.bodyWrapper .locHero h1 {
	color: #fff !important;
	font-size: clamp(36px, 5vw, 60px);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.08;
	margin: 0 0 28px;
	max-width: 720px;
}

.locHeroBtns {
	margin-top: 8px;
}

/* ---------- Editable content area ---------- */

.locContent {
	padding: 56px 0 16px;
}

.locContent .locIntro {
	color: var(--blue);
	font-size: 20px;
	line-height: 1.6;
	max-width: 820px;
}

.locContent h2 {
	color: var(--blue);
	font-size: clamp(32px, 3.6vw, 46px);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.15;
	margin-bottom: 20px;
}

.bodyWrapper .locContent h3 {
	color: var(--gold) !important;
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 700;
	margin-top: 32px;
}

.locContent p,
.locContent li {
	line-height: 1.75;
}

.locSection {
	margin: 72px 0;
}

.locSection .wp-block-columns {
	gap: 48px;
}

.locSectionImage {
	border-radius: 8px;
	box-shadow: 0 14px 40px rgba(20, 84, 135, 0.18);
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.locSectionImage.locWide {
	aspect-ratio: 21 / 9;
	margin: 16px 0 32px;
	object-fit: cover;
}

.locCaption {
	color: var(--gray);
	font-size: 15px;
	margin-top: 12px;
}

/* Boilerplate buttons inside content */
.bodyWrapper .locBtnPrimary a.wp-block-button__link {
	background-color: var(--gold);
	border-radius: 4px;
	color: #fff !important;
	font-weight: 700;
	padding: 14px 30px;
}

.bodyWrapper .locBtnPrimary a.wp-block-button__link:hover {
	background-color: #a8842a;
}

.bodyWrapper .locBtnGhost a.wp-block-button__link {
	background-color: transparent;
	border: 2px solid var(--blue);
	border-radius: 4px;
	color: var(--blue) !important;
	font-weight: 700;
	padding: 14px 30px;
}

.bodyWrapper .locBtnGhost a.wp-block-button__link:hover {
	background-color: var(--blue);
	color: #fff !important;
}

/* ---------- Reviews ---------- */

.locReviews {
	background-color: #f5f6f8;
	padding: 80px 0;
}

.locReviews h2 {
	color: var(--blue);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	margin-bottom: 40px;
}

.locReviewRow {
	display: flex;
	flex-wrap: wrap;
}

.locReviewRow > div {
	display: flex;
	margin-bottom: 24px;
}

.locReviewCard {
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07);
	display: flex;
	flex-direction: column;
	padding: 32px;
	width: 100%;
}

.locStars {
	color: var(--gold);
	font-size: 17.6px;
	letter-spacing: 0.12em;
	margin-bottom: 16px;
}

.locReviewText {
	color: #3c3c3e;
	font-size: 16px;
	font-style: italic;
	line-height: 1.7;
}

.locReviewer {
	color: var(--blue);
	font-size: 14.4px;
	font-weight: 700;
	margin-bottom: 0;
	margin-top: auto;
	padding-top: 16px;
}

.locReviewDate {
	color: var(--gray);
	font-weight: 400;
}

.locGoogleNote {
	color: var(--gray);
	font-size: 13px;
	margin-top: 8px;
}

/* ---------- FAQ accordion ---------- */

.locFaq {
	padding: 80px 0;
}

.locFaqInner {
	max-width: 860px;
}

.locFaq h2 {
	color: var(--blue);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	margin-bottom: 36px;
}

.locAccordion .locFaqItem {
	border: 1px solid #e6e8ec;
	border-radius: 6px;
	box-shadow: none;
	margin-bottom: 12px;
	overflow: hidden;
}

.bodyWrapper .locFaqQ a {
	color: var(--blue) !important;
	display: block;
	font-size: clamp(18px, 1.6vw, 21px);
	font-weight: 700;
	line-height: 1.4;
	padding: 22px 52px 22px 26px;
	position: relative;
	text-decoration: none;
}

.bodyWrapper .locFaqQ a:hover {
	color: var(--gold) !important;
}

.locFaqIcon::before {
	content: "\2212"; /* minus */
	color: var(--gold);
	font-size: 20px;
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
}

.locFaqQ a.collapsed .locFaqIcon::before {
	content: "\002B"; /* plus */
}

.locFaqA {
	border-top: 1px solid #eef0f3;
	color: #3c3c3e;
	font-size: 18px;
	line-height: 1.8;
	padding: 24px 26px;
}

/* ---------- Map ---------- */

.locMap {
	background-color: #f5f6f8;
	padding: 80px 0 0;
}

.locMap h2 {
	color: var(--blue);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 800;
	margin-bottom: 40px;
}

.locMapEmbed {
	line-height: 0;
}

.locMapEmbed iframe {
	border: 0;
	height: 460px;
	width: 100%;
}

/* ---------- CTA footer ---------- */

.locCta {
	background-color: var(--blue);
	background-position: center;
	background-size: cover;
	padding: 88px 0;
	position: relative;
	text-align: center;
}

.locCtaOverlay {
	background: linear-gradient(180deg, rgba(10, 35, 60, 0.82) 0%, rgba(10, 35, 60, 0.92) 100%);
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.locCtaInner {
	margin: 0 auto;
	max-width: 760px;
	position: relative;
	z-index: 2;
}

.bodyWrapper .locCta h2 {
	color: #fff !important;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 800;
	letter-spacing: -0.01em;
	margin-bottom: 20px;
}

.locCta p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 17px;
	line-height: 1.75;
	margin-bottom: 32px;
}

.locCtaDetails {
	color: rgba(255, 255, 255, 0.75);
	list-style: none;
	margin: 36px 0 0;
	padding: 0;
}

.locCtaDetails li {
	display: inline-block;
	font-size: 15px;
	margin: 6px 18px;
}

.bodyWrapper .locCtaDetails a {
	color: rgba(255, 255, 255, 0.9) !important;
	text-decoration: none;
}

.bodyWrapper .locCtaDetails a:hover {
	color: var(--lightGold) !important;
}

.locCtaDetails .fa {
	color: var(--gold);
	margin-right: 6px;
}

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
	.locHero {
		min-height: 48vh;
		padding: 72px 0;
	}

	.locSection {
		margin: 48px 0;
	}

	.locSection .wp-block-columns {
		display: block;
	}

	.locSection .wp-block-column {
		margin-bottom: 28px;
		width: 100%;
	}

	.locReviewRow > div {
		width: 100%;
	}

	.locMapEmbed iframe {
		height: 340px;
	}

	.locCtaDetails li {
		display: block;
		margin: 8px 0;
	}
}


/* ==========================================================================
   v3 — full-bleed split layouts, market grid, bleed images
   ========================================================================== */

.locContent {
	overflow-x: clip;
}

/* ---------- Half-page full-bleed splits ---------- */

.locSplit {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 80px calc(50% - 50vw);
	min-height: 560px;
	width: 100vw;
}

.locSplit .locSplitText {
	align-self: center;
	padding: clamp(40px, 5vw, 72px) clamp(24px, 4vw, 64px);
}

.locSplit--imgRight .locSplitText {
	justify-self: end;
	max-width: 680px;
	padding-left: max(24px, calc((100vw - 1140px) / 2));
}

.locSplit--imgLeft .locSplitText {
	justify-self: start;
	max-width: 680px;
	padding-right: max(24px, calc((100vw - 1140px) / 2));
}

.locSplit .locSplitImg {
	overflow: hidden;
	position: relative;
}

.locSplit .locSplitImg .locSectionImage {
	border-radius: 0;
	box-shadow: none;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

/* ---------- Full-width bleed images ---------- */

.locBleed {
	margin: 32px calc(50% - 50vw) 40px;
	width: 100vw;
}

.locBleed .locSectionImage {
	border-radius: 0;
	box-shadow: none;
	display: block;
	height: clamp(340px, 48vh, 600px);
	object-fit: cover;
	width: 100%;
}

/* ---------- Market section — 4-column icon cards ---------- */

.locMarket {
	background-color: #f5f6f8;
	margin: 80px calc(50% - 50vw);
	padding: clamp(56px, 6vw, 88px) max(24px, calc((100vw - 1320px) / 2));
	width: 100vw;
}

.locMarket > h2,
.locMarket > .wp-block-group__inner-container > h2 {
	margin-left: auto;
	margin-right: auto;
	max-width: 900px;
	text-align: center;
}

.locMarket .locMarketIntro {
	font-size: 18px;
	margin: 0 auto 48px;
	max-width: 820px;
	text-align: center;
}

.locMarketGrid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.locMarketCard {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 4px 18px rgba(20, 84, 135, 0.08);
	display: flex;
	flex-direction: column;
	padding: 36px 28px;
	text-align: center;
}

.locCardIcon {
	align-items: center;
	background-color: var(--gold);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 26px;
	height: 68px;
	justify-content: center;
	margin: 0 auto 24px;
	width: 68px;
}

.bodyWrapper .locMarketCard h3 {
	color: var(--blue) !important;
	font-size: clamp(20px, 1.6vw, 23px);
	line-height: 1.25;
	margin-top: 0;
	min-height: 2.5em;
}

.locMarketCard p {
	color: #49494b;
	font-size: 15.8px;
	line-height: 1.7;
	margin-bottom: 0;
}

/* ---------- v3 responsive ---------- */

@media (max-width: 1100px) {
	.locMarketGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.locSplit {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.locSplit--imgLeft .locSplitImg {
		order: -1;
	}

	.locSplit--imgRight .locSplitImg {
		order: -1;
	}

	.locSplit .locSplitImg {
		min-height: 320px;
	}

	.locSplit .locSplitText {
		max-width: none;
		padding: 40px 24px;
	}
}

@media (max-width: 700px) {
	.locMarketGrid {
		grid-template-columns: 1fr;
	}

	.locBleed .locSectionImage {
		height: 260px;
	}
}


/* ---------- Classic-theme group inner-container unwrap ----------
   Group blocks render an extra .wp-block-group__inner-container div in
   classic themes; display:contents promotes the real children to grid/flex
   items so the split + market layouts work. */

.locSplit > .wp-block-group__inner-container,
.locBleed > .wp-block-group__inner-container,
.locMarketGrid > .wp-block-group__inner-container,
.locMarketCard > .wp-block-group__inner-container,
.locSplitText > .wp-block-group__inner-container,
.locSplitImg > .wp-block-group__inner-container,
.locSection > .wp-block-group__inner-container,
.locCommunity > .wp-block-group__inner-container,
.locServiceGrid > .wp-block-group__inner-container,
.locServiceCard > .wp-block-group__inner-container,
.locLead > .wp-block-group__inner-container,
.locMarket > .wp-block-group__inner-container {
	display: contents;
}


/* ==========================================================================
   v6 — high-contrast redesign: wider split text, dark bands, service grid
   ========================================================================== */

/* ---------- Lead intro ---------- */

.locContent {
	padding: 0 0 16px;
}

.locLead {
	margin: 0 auto;
	max-width: 880px;
	padding: 72px 24px 8px;
	text-align: center;
}

.locLead .locEyebrow {
	margin-bottom: 18px;
}

.locContent .locIntro {
	color: var(--blue);
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 700;
	line-height: 1.45;
	margin: 0 auto 20px;
	max-width: 820px;
}

.locLeadSub {
	color: #55585c;
	font-size: 18px;
	line-height: 1.75;
	margin: 0 auto;
	max-width: 760px;
}

/* ---------- Splits: wider text, balanced height ---------- */

.locSplit {
	grid-template-columns: 11fr 9fr;
	margin: 72px calc(50% - 50vw) 0;
	min-height: 480px;
}

.locSplit--imgLeft {
	grid-template-columns: 9fr 11fr;
}

.locSplit .locSplitText {
	padding: clamp(48px, 5vw, 80px) clamp(28px, 4vw, 64px);
}

.locSplit--imgRight .locSplitText {
	max-width: 760px;
	padding-left: max(24px, calc((100vw - 1240px) / 2));
}

.locSplit--imgLeft .locSplitText {
	max-width: 760px;
	padding-right: max(24px, calc((100vw - 1240px) / 2));
}

.locSplit .locSplitText p,
.locSplit .locSplitText li {
	font-size: 17px;
	line-height: 1.7;
}

.locSplit .locSplitText .locEyebrow {
	margin-bottom: 12px;
}

.locSplit .locSplitText h2 {
	margin-bottom: 20px;
}

/* ---------- Dark navy split band ---------- */

.locSplit--dark {
	background: linear-gradient(120deg, #0d2c49 0%, #145487 100%);
}

.bodyWrapper .locSplit--dark h2 {
	color: #fff !important;
}

.bodyWrapper .locSplit--dark h3 {
	color: var(--lightGold) !important;
}

.locSplit--dark .locSplitText p,
.locSplit--dark .locSplitText li {
	color: rgba(255, 255, 255, 0.85);
}

.locSplit--dark .locSplitText li::marker {
	color: var(--gold);
}

.locSplit--dark .locEyebrow {
	color: var(--lightGold);
}

.locFinePrint {
	font-size: 14px !important;
	opacity: 0.75;
}

/* ---------- Check lists ---------- */

.locCheckList {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.locCheckList li {
	margin-bottom: 14px;
	padding-left: 36px;
	position: relative;
}

.locCheckList li::before {
	color: var(--gold);
	content: "\f00c";
	font-family: FontAwesome;
	font-size: 16px;
	left: 0;
	position: absolute;
	top: 2px;
}

.locCols2 {
	columns: 2;
	column-gap: 32px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.locCols2 li {
	break-inside: avoid;
	margin-bottom: 10px;
	padding-left: 26px;
	position: relative;
}

.locCols2 li::before {
	color: var(--gold);
	content: "\f105";
	font-family: FontAwesome;
	left: 8px;
	position: absolute;
	top: 1px;
}

/* ---------- Services section — centered header + 4-card grid ---------- */

.locServices {
	margin: 0;
	padding: 80px 0 0;
	text-align: center;
}

.locServices .locEyebrow {
	margin-bottom: 12px;
}

.locServices > .wp-block-group__inner-container > h2,
.locServices > h2 {
	margin-left: auto;
	margin-right: auto;
	max-width: 820px;
}

.locSectionIntro {
	color: #55585c;
	font-size: 18px;
	line-height: 1.75;
	margin: 0 auto 48px;
	max-width: 720px;
	text-align: center;
}

.locServiceGrid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto 64px;
	max-width: 1320px;
	text-align: center;
}

.locServiceCard {
	background-color: #f7f8fa;
	border-bottom: 3px solid var(--gold);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	padding: 36px 26px;
	text-align: center;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.locServiceCard:hover {
	box-shadow: 0 14px 34px rgba(20, 84, 135, 0.14);
	transform: translateY(-4px);
}

.bodyWrapper .locServiceCard h3 {
	color: var(--blue) !important;
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 12px;
}

.locServiceCard p {
	color: #55585c;
	font-size: 15.5px;
	line-height: 1.7;
	margin-bottom: 0;
}

.locBleed--short {
	margin-bottom: 0;
	margin-top: 0;
}

.locBleed--short .locSectionImage {
	height: clamp(240px, 32vh, 380px);
}

/* ---------- Market band — navy, white cards pop ---------- */

.locMarket {
	background: linear-gradient(120deg, #0d2c49 0%, #145487 100%);
	margin: 0 calc(50% - 50vw);
	text-align: center;
}

.bodyWrapper .locMarket > h2,
.bodyWrapper .locMarket > .wp-block-group__inner-container > h2 {
	color: #fff !important;
}

.locMarket .locEyebrow {
	color: var(--lightGold);
	margin-bottom: 12px;
	text-align: center;
}

.locMarket .locMarketIntro {
	color: rgba(255, 255, 255, 0.8);
}

.locMarketCard {
	text-align: left;
}

.locMarketCard .locCardIcon {
	margin-left: 0;
}

.bodyWrapper .locMarketCard h3 {
	min-height: 0;
	text-align: left;
}

.locMarketCard p {
	text-align: left;
}

/* ---------- Community section ---------- */

.locCommunity {
	margin: 0;
	padding: 80px 0 24px;
	text-align: center;
}

.locCommunity .locEyebrow {
	margin-bottom: 12px;
}

.locCommunity .locBleed {
	margin-top: 36px;
	margin-bottom: 40px;
}

/* ---------- Ghost button on dark ---------- */

.bodyWrapper .locBtnGhostLight a.wp-block-button__link {
	background-color: transparent;
	border: 2px solid rgba(255, 255, 255, 0.55);
	border-radius: 4px;
	color: #fff !important;
	font-weight: 700;
	padding: 14px 30px;
}

.bodyWrapper .locBtnGhostLight a.wp-block-button__link:hover {
	background-color: rgba(255, 255, 255, 0.12);
	border-color: #fff;
}

/* ---------- v6 responsive ---------- */

@media (max-width: 1100px) {
	.locServiceGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0 24px;
	}
}

@media (max-width: 900px) {
	.locSplit,
	.locSplit--imgLeft {
		grid-template-columns: 1fr;
	}

	.locCols2 {
		columns: 1;
	}

	.locLead {
		padding-top: 48px;
	}
}

@media (max-width: 700px) {
	.locServiceGrid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   v8 — tighter lead, centered 700px split text, services bg, community hero
   ========================================================================== */

/* Lead: less padding above eyebrow */
.locLead {
	padding-top: 28px;
}

/* Splits: text content max 700px, centered within its half */
.locSplit--imgRight .locSplitText,
.locSplit--imgLeft .locSplitText {
	justify-self: stretch;
	max-width: none;
	padding: clamp(48px, 5vw, 72px) 40px;
}

.locSplitText > *,
.locSplitText > .wp-block-group__inner-container > * {
	margin-left: auto;
	margin-right: auto;
	max-width: 700px;
}

.locSplitText > ul,
.locSplitText > .wp-block-group__inner-container > ul {
	width: 100%;
}

/* Services: photo background with 65% white overlay */
.locServices {
	background-color: #f3f5f8; /* fallback; photo bg injected inline from the location's Services image */
	margin: 0 calc(50% - 50vw);
	padding: 88px max(24px, calc((100vw - 1320px) / 2)) 88px;
	width: 100vw;
}

.locServiceCard {
	background-color: #fff;
	box-shadow: 0 6px 24px rgba(20, 84, 135, 0.10);
}

.locServiceGrid {
	margin-bottom: 0;
}

/* Community hero band */
.locCommunityHero {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 calc(50% - 50vw);
	min-height: 560px;
	overflow: hidden;
	padding: 96px 24px;
	position: relative;
	text-align: center;
	width: 100vw;
}

.locCommunityHero > .wp-block-group__inner-container {
	display: contents;
}

.locCommunityBg img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.locCommunityHero::before {
	background: linear-gradient(180deg, rgba(9, 30, 50, 0.45) 0%, rgba(9, 30, 50, 0.7) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.locCommunityHero .locEyebrow,
.locCommunityHero h2,
.locCommunityHero .locCommunityText {
	position: relative;
	z-index: 2;
}

.locCommunityHero .locEyebrow {
	color: var(--lightGold);
	margin-bottom: 14px;
}

.bodyWrapper .locCommunityHero h2 {
	color: #fff !important;
	font-size: clamp(40px, 5vw, 64px);
	letter-spacing: -0.01em;
	margin-bottom: 18px;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.locCommunityHero .locCommunityText {
	color: rgba(255, 255, 255, 0.92);
	font-size: 19px;
	line-height: 1.7;
	margin: 0 auto;
	max-width: 640px;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.4);
}

@media (max-width: 900px) {
	.locCommunityHero {
		min-height: 420px;
		padding: 64px 20px;
	}
}


/* ==========================================================================
   v9 — Google reviews carousel (slick)
   ========================================================================== */

.locReviewCarousel {
	margin: 0 -12px;
}

.locReviewSlide {
	padding: 8px 12px 28px;
}

.locReviewCarousel .slick-track {
	display: flex;
}

.locReviewCarousel .slick-slide {
	float: none;
	height: auto;
}

.locReviewCarousel .slick-slide > div,
.locReviewCarousel .locReviewSlide,
.locReviewCarousel .locReviewCard {
	height: 100%;
}

.locReviewCarousel .slick-dots {
	bottom: -16px;
}

.locReviewCarousel .slick-dots li button:before {
	color: var(--blue);
	font-size: 10px;
	opacity: 0.25;
}

.locReviewCarousel .slick-dots li.slick-active button:before {
	color: var(--gold);
	opacity: 1;
}

.locReviewCard {
	display: flex;
	flex-direction: column;
}

.locGoogleNote {
	margin-top: 32px;
	text-align: center;
}


/* ==========================================================================
   v10 — flush sections with 7px gold dividers, tighter lead, reviews block
   ========================================================================== */

/* Tighter above the lead eyebrow */
.locLead {
	padding: 10px 24px 40px;
}

.locContent {
	padding: 0;
}

/* Gold divider system — no gaps, 7px #ebce8c between bands */
.locSplit,
.locServices,
.locMarket,
.locCommunityHero,
.locReviews,
.locLogos,
.locFaq,
.locMap,
.locCta {
	border-top: 7px solid #ebce8c;
}

.locSplit {
	margin: 0 calc(50% - 50vw);
}

.locServices {
	padding-bottom: 96px;
}

.locCommunityHero {
	margin: 0 calc(50% - 50vw);
}

/* Reviews — now a block inside the content area; break out full width */
.locReviews {
	margin: 0 calc(50% - 50vw);
	padding: 80px 24px;
	width: 100vw;
}

.locReviewsInner {
	margin: 0 auto;
	max-width: 1170px;
}

/* FAQ / map / CTA flush */
.locFaq {
	padding: 80px 0;
}

.locMap {
	padding: 80px 0 0;
}

.locReviewSlide {
	padding-bottom: 8px;
}

.locReviewCarousel .slick-dots {
	bottom: -36px;
}

.locReviewCarousel {
	padding-bottom: 28px;
}


/* Kill theme mainContainer padding inside location content (100px top / 40px bottom) */
main .bkgroundColor.locContent .container.mainContainer {
	padding-bottom: 0;
	padding-top: 0;
}

.locLead {
	padding-top: 36px;
}


/* ==========================================================================
   v13 — client logo strip
   ========================================================================== */

.locLogos {
	background-color: #fff;
	margin: 0 calc(50% - 50vw);
	padding: 72px 24px;
	text-align: center;
	width: 100vw;
}

.locLogosInner {
	margin: 0 auto;
	max-width: 1170px;
}

.locLogos h2 {
	color: var(--blue);
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 800;
	margin-bottom: 40px;
}

.locLogoGrid {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 64px;
	justify-content: center;
}

.locLogoItem {
	align-items: center;
	display: flex;
	justify-content: center;
}

.locLogoImg {
	filter: grayscale(1);
	height: auto;
	max-height: 120px;
	max-width: 300px;
	opacity: 0.7;
	transition: filter 0.25s ease, opacity 0.25s ease;
	width: auto;
}

.locLogoItem:hover .locLogoImg {
	filter: grayscale(0);
	opacity: 1;
}

@media (max-width: 700px) {
	.locLogoGrid {
		gap: 32px;
	}

	.locLogoImg {
		max-height: 80px;
		max-width: 200px;
	}
}
