

.l-section.c-our-locations {
	overflow: visible;
}

.c-our-locations .c-section__intro {
	width: 100%;
}

.c-our-locations .c-section__intro > .vc_column-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.0625rem;
	text-align: center;
}

.c-our-locations .c-section__intro > .vc_column-inner > .c-section__heading {
	width: 100%;
	margin-inline: auto;
}

.c-our-locations .c-section__content {
	width: 100%;
	max-width: none;
	margin-top: 0.25rem;
}

.c-our-locations .c-section__content .vc_column-inner {
	display: block;
	width: 100%;
	padding: 0;
}

.c-locations-grid.w-grid {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding-bottom: 0;
	/* 70% black at the top, gone by 35%. */
	--meda-locations-image-overlay: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.7) 0%,
		rgba(0, 0, 0, 0) 35%
	);
	--meda-locations-image-overlay-hover: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.2) 0%,
		rgba(0, 0, 0, 0) 35%
	);
}

/* Branded carousel chrome (progress space) — opt in on section or grid. */
.c-locations-grid.u-enable-branded-carousel,
.u-enable-branded-carousel .c-locations-grid {
	padding-bottom: 2.75rem;
}

.c-locations-grid.u-no-progress-bar {
	padding-bottom: 0;
}

.c-locations-grid.u-no-progress-bar .c-locations-grid__progress {
	display: none !important;
}

/* Branded Owl chrome — opt in with u-enable-branded-carousel on the section (with c-our-locations) or on the grid. Card/tile styles stay on. */
.u-enable-branded-carousel.c-locations-grid.type_carousel .owl-nav,
.u-enable-branded-carousel.c-locations-grid.type_carousel .owl-dots,
.u-enable-branded-carousel.c-locations-grid .owl-nav,
.u-enable-branded-carousel.c-locations-grid .owl-dots,
.u-enable-branded-carousel .c-locations-grid.type_carousel .owl-nav,
.u-enable-branded-carousel .c-locations-grid.type_carousel .owl-dots,
.u-enable-branded-carousel .c-locations-grid .owl-nav,
.u-enable-branded-carousel .c-locations-grid .owl-dots {
	display: none !important;
}

.u-enable-branded-carousel.c-locations-grid.type_carousel .owl-stage-outer,
.u-enable-branded-carousel .c-locations-grid.type_carousel .owl-stage-outer {
	overflow: visible;
}

.c-locations-grid.type_carousel .owl-item {
	display: flex;
	height: auto;
}

.c-locations-grid .w-grid-item {
	width: 100%;
	height: auto;
	overflow: visible;
}

.c-locations-grid .w-grid-item-h {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 301 / 360;
	overflow: hidden;
	padding: 0;
	background: #000;
	box-shadow: none;
}

html.meda-motion-gsap .c-locations-grid .w-grid-item-h {
	transition-property: transform;
}

.c-locations-grid .c-locations-grid__image.post_image,
.c-locations-grid .c-locations-grid__image,
.c-locations-grid .usg_post_image_1 {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0;
	overflow: hidden;
}

.c-locations-grid__image a {
	display: block;
	width: 100%;
	height: 100%;
	transform-origin: center center;
	will-change: transform;
}

.c-locations-grid__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-locations-grid__image::before,
.c-locations-grid__image::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
}

.c-locations-grid__image::before {
	background: var(--meda-locations-image-overlay);
	mix-blend-mode: multiply;
}

.c-locations-grid__image::after {
	background: none;
	transition: background var(--meda-locations-hover-duration, 0.75s) var(--meda-ease);
}

.no-touch .c-locations-grid .w-grid-item.meda-locations-tile-is-hovered .c-locations-grid__image::after,
.no-touch .c-locations-grid .w-grid-item:focus-within .c-locations-grid__image::after {
	background: var(--meda-locations-image-overlay-hover);
}

.c-locations-grid__content,
.c-locations-grid .w-grid-item-h > .w-vwrapper.c-locations-grid__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.75rem !important;
	padding: 1.25rem 1.4375rem 1.5rem;
	pointer-events: none;
	text-align: left;
}

.c-locations-grid__content a {
	pointer-events: auto;
}

.c-locations-grid__title,
.c-locations-grid__title a,
.c-locations-grid h2.c-locations-grid__title,
.c-locations-grid h2.c-locations-grid__title a,
.c-locations-grid .w-post-elm.post_title.c-locations-grid__title,
.c-locations-grid .w-post-elm.post_title.c-locations-grid__title a {
	margin: 0;
	width: 100%;
	font-family: var(--h4-font-family, var(--body-font-family, var(--font-family, var(--meda-body-font))));
	font-size: var(--meda-text-2xl);
	font-weight: var(--h4-font-weight, 400);
	line-height: var(--h4-line-height, normal);
	letter-spacing: var(--h4-letter-spacing, 0);
	text-transform: var(--h4-text-transform, none) !important;
	text-decoration: none;
	color: #fff;
}

.no-touch .c-locations-grid__title a:hover {
	opacity: 0.85;
}

.c-locations-grid__street,
.c-locations-grid__street .w-post-elm-value {
	margin: 0;
	font-family: var(--body-font-family, var(--font-family, var(--meda-body-font)));
	font-size: var(--meda-body-font-size);
	font-weight: 300;
	line-height: var(--body-line-height, normal);
	color: #fff;
}

.c-locations-grid__street {
	margin-bottom: 0 !important;
	opacity: 0;
	transform: translateY(10px);
	will-change: transform, opacity;
}

.c-locations-grid__street + .c-locations-grid__street {
	margin-top: -0.75rem;
}

.c-locations-grid__link.w-btn {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 0;
	min-height: 0;
	padding: 0 !important;
	border: none !important;
	border-color: transparent !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--meda-shell-white) !important;
	opacity: 0;
	transform: translateY(10px);
	will-change: transform, opacity;
}

.c-locations-grid__link.w-btn::before {
	display: none !important;
}

.c-locations-grid__link .w-btn-label {
	font-family: var(--body-font-family, var(--meda-body-font));
	font-size: var(--meda-text-base);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--meda-section-bg);
	background: none !important;
	-webkit-background-clip: unset;
	background-clip: unset;
}

.no-touch .c-locations-grid__link.w-btn:hover,
.no-touch .c-locations-grid__link.w-btn.meda-hover-btn:hover {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	transform: translateY(10px);
}

.no-touch .c-locations-grid .w-grid-item.meda-locations-tile-is-hovered .c-locations-grid__link.w-btn:hover,
.no-touch .c-locations-grid .w-grid-item:focus-within .c-locations-grid__link.w-btn:hover {
	transform: translateY(0);
}

.no-touch .c-locations-grid__link.w-btn:hover .w-btn-label,
.no-touch .c-locations-grid__link.w-btn.meda-hover-btn:hover .w-btn-label {
	opacity: 0.85;
	color: var(--meda-section-bg);
}

.c-locations-grid__link.w-btn:focus-visible {
	outline: 2px solid var(--meda-section-bg);
	outline-offset: 3px;
}

html:not(.no-touch) .c-locations-grid__street,
html:not(.no-touch) .c-locations-grid__link.w-btn {
	opacity: 1;
	transform: none;
}

html:not(.no-touch) .c-locations-grid__image::after {
	background: var(--meda-locations-image-overlay-hover);
}

.c-locations-grid__progress {
	width: 100%;
	margin: 1.75rem auto 0;
	padding: 0.75rem 0;
}

.c-locations-grid__progress-track {
	position: relative;
	height: 1px;
	background: rgba(0, 0, 0, 0.18);
	border-radius: 999px;
	cursor: pointer;
	transition:
		height var(--meda-duration-fast) var(--meda-ease),
		background-color var(--meda-duration-fast) var(--meda-ease);
}

.c-locations-grid__progress:hover .c-locations-grid__progress-track,
.c-locations-grid__progress:focus-within .c-locations-grid__progress-track,
.c-locations-grid__progress.is-dragging .c-locations-grid__progress-track {
	height: 6px;
	background: rgba(0, 0, 0, 0.14);
}

.c-locations-grid__progress-fill {
	position: absolute;
	top: 50%;
	left: 0;
	width: var(--meda-locations-progress-thumb, 11.1%);
	height: 4px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: var(--meda-gold, #a58b46);
	transform: translate3d(0, -50%, 0);
	will-change: transform;
	cursor: grab;
	touch-action: none;
	transition:
		height var(--meda-duration-fast) var(--meda-ease),
		box-shadow var(--meda-duration-fast) var(--meda-ease);
}

.c-locations-grid__progress-fill:focus {
	outline: none;
}

.c-locations-grid__progress-fill:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--meda-gold, #a58b46);
}

.c-locations-grid__progress:hover .c-locations-grid__progress-fill,
.c-locations-grid__progress:focus-within .c-locations-grid__progress-fill {
	height: 8px;
	box-shadow: 0 2px 10px rgba(165, 139, 70, 0.35);
}

.c-locations-grid__progress.is-dragging .c-locations-grid__progress-fill {
	height: 10px;
	cursor: grabbing;
	box-shadow: 0 4px 16px rgba(165, 139, 70, 0.45);
}

@media (max-width: 900px) {
	.c-locations-grid__progress {
		width: calc(100% - 2.5rem);
		padding-inline: 1.25rem;
	}

	.c-our-locations .c-section__intro > .vc_column-inner {
		gap: 1.5rem;
	}

	.c-locations-grid {
		padding-bottom: 2rem;
	}

	.c-locations-grid__content,
	.c-locations-grid .w-grid-item-h > .w-vwrapper.c-locations-grid__content {
		padding: 1rem 1.125rem 1.25rem;
		gap: 0.5rem !important;
	}

	.c-locations-grid__street + .c-locations-grid__street {
		margin-top: -0.5rem;
	}

	/* 301/360 is drawn for a 4-up carousel slide (~300px wide). On a full-width mobile slide that portrait ratio made a 375px card 439px tall for three lines of text over an image. A landscape ratio keeps the photo legible at a third of the height. */
	.c-locations-grid .w-grid-item-h {
		aspect-ratio: 3 / 2;
	}
}

@media (max-width: 600px) {
	.c-locations-grid__title,
	.c-locations-grid__title a {
		font-size: var(--meda-text-xl);
	}

	.c-locations-grid__content,
	.c-locations-grid .w-grid-item-h > .w-vwrapper.c-locations-grid__content {
		padding: 0.875rem 1rem 1.125rem;
	}

	.c-locations-grid__progress {
		width: calc(100% - 2rem);
		margin-top: 1.25rem;
		padding-inline: 1rem;
	}

	.c-locations-grid__street,
	.c-locations-grid__link.w-btn {
		opacity: 1 !important;
		transform: none !important;
	}

	.c-locations-grid__image::after {
		background: var(--meda-locations-image-overlay-hover) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.c-locations-grid__image a,
	.c-locations-grid__street,
	.c-locations-grid__link.w-btn,
	.c-locations-grid__image::after,
	.c-locations-grid__progress-track,
	.c-locations-grid__progress-fill {
		transition: none !important;
		will-change: auto;
	}

	.c-locations-grid__street,
	.c-locations-grid__link.w-btn {
		opacity: 1 !important;
		transform: none !important;
	}

	.c-locations-grid__image::after {
		background: var(--meda-locations-image-overlay-hover);
	}
}

.c-location-directions {
	width: 100%;
}

.c-location-directions .c-location-directions__accordions.w-tabs {
	width: 100%;
	--sections-gap: 0 !important;
}

.c-location-directions .c-location-directions__accordions > .w-tabs-sections {
	width: 100%;
	gap: 0.75rem !important;
}

.c-location-directions .c-location-directions__accordions.toggle_style_1 > .w-tabs-sections > .w-tabs-section {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 0.75rem 0;
	border: 0;
	background: transparent !important;
	color: var(--meda-content-heading);
	text-align: left;
	cursor: pointer;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section.active > .w-tabs-section-header {
	align-items: flex-start;
	padding-bottom: 0.5rem;
}

.no-touch .c-location-directions .c-location-directions__accordions.toggle_style_1 .w-tabs-section-header:hover {
	background: transparent !important;
}

.c-location-directions .c-location-directions__accordions.toggle_style_1 .w-tabs-section.active:not(.has_text_color) > .w-tabs-section-header {
	color: var(--meda-content-heading);
}

.c-location-directions .c-location-directions__accordions .w-tabs-section-title,
.c-location-directions .c-location-directions__accordions h4.w-tabs-section-title,
.c-location-directions .c-location-directions__accordions h5.w-tabs-section-title,
.c-location-directions .c-location-directions__accordions div.w-tabs-section-title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--body-font-family, var(--font-family, var(--meda-body-font)));
	font-size: var(--meda-body-font-size);
	font-weight: 600;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section.active .w-tabs-section-title,
.c-location-directions .c-location-directions__accordions .w-tabs-section.active h4.w-tabs-section-title,
.c-location-directions .c-location-directions__accordions .w-tabs-section.active h5.w-tabs-section-title,
.c-location-directions .c-location-directions__accordions .w-tabs-section.active div.w-tabs-section-title {
	color: var(--color-dark-pink);
}

.c-location-directions .c-location-directions__accordions .w-tabs-section-control {
	position: relative;
	flex: 0 0 1.125rem;
	width: 1.125rem;
	height: 1.125rem;
	margin: 0;
	color: var(--meda-content-heading);
}

.c-location-directions .c-location-directions__accordions .w-tabs-sections.icon_plus > div > .w-tabs-section-header .w-tabs-section-control:before {
	left: 0.5em;
}

.c-location-directions .c-location-directions__accordions .w-tabs-sections.icon_plus > div > .w-tabs-section-header .w-tabs-section-control:after {
	top: 0.5em;
}

.c-location-directions .c-location-directions__accordions.accordion > .w-tabs-sections > .w-tabs-section > .w-tabs-section-content {
	padding: 0 1.875rem 0.25rem 0;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section.active > .w-tabs-section-content {
	padding-top: 0.5rem;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section-content-h {
	margin: 0;
	max-width: none;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section-content-h,
.c-location-directions .c-location-directions__accordions .w-tabs-section-content-h p,
.c-location-directions .c-location-directions__accordions .w-tabs-section-content .wpb_text_column,
.c-location-directions .c-location-directions__accordions .w-tabs-section-content .wpb_text_column p,
.c-location-directions .c-location-directions__item-body,
.c-location-directions .c-location-directions__item-body p,
.c-location-directions .c-location-directions__item-body li {
	margin: 0;
	font-family: var(--body-font-family, var(--font-family, var(--meda-body-font)));
	font-size: var(--meda-body-font-size);
	font-weight: 300;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	color: var(--meda-content-heading);
	text-align: left;
	margin-top: 0.25rem;
}

.c-location-directions .c-location-directions__item-body:empty {
	display: none;
}

.c-location-directions .c-location-directions__accordions .w-tabs-section-content-h p + p {
	margin-top: 0.75rem;
}

.c-location-directions .c-location-directions__accordions.accordion .w-tabs-section.active .w-tabs-section-content {
	opacity: 1;
}

@media (max-width: 900px) {
	.c-location-directions .c-location-directions__accordions.accordion > .w-tabs-sections > .w-tabs-section > .w-tabs-section-content {
		padding-right: 1rem;
	}
}

@media (max-width: 600px) {
	.c-location-directions .c-location-directions__accordions > .w-tabs-sections {
		gap: 0.5rem !important;
	}

	.c-location-directions .c-location-directions__accordions .w-tabs-section-header {
		gap: 0.75rem;
		padding: 0.625rem 0;
	}

	.c-location-directions .c-location-directions__accordions .w-tabs-section-title,
	.c-location-directions .c-location-directions__accordions h4.w-tabs-section-title,
	.c-location-directions .c-location-directions__accordions h5.w-tabs-section-title,
	.c-location-directions .c-location-directions__accordions div.w-tabs-section-title {
		font-size: var(--meda-text-base);
		line-height: 1.3;
	}

	.c-location-directions .c-location-directions__accordions.accordion > .w-tabs-sections > .w-tabs-section > .w-tabs-section-content {
		padding: 0 0 0.25rem;
	}

	.c-location-directions .c-location-directions__accordions .w-tabs-section.active > .w-tabs-section-content {
		padding-top: 0.375rem;
	}

	.c-location-directions .c-location-directions__accordions .w-tabs-section-content-h,
	.c-location-directions .c-location-directions__accordions .w-tabs-section-content-h p,
	.c-location-directions .c-location-directions__accordions .w-tabs-section-content .wpb_text_column,
	.c-location-directions .c-location-directions__accordions .w-tabs-section-content .wpb_text_column p,
	.c-location-directions .c-location-directions__item-body,
	.c-location-directions .c-location-directions__item-body p,
	.c-location-directions .c-location-directions__item-body li {
		font-size: var(--meda-text-base);
		line-height: 1.5;
	}
}

body.meda-shell-page-location .c-location-header :is(h1, .vc_custom_heading, .w-post-elm) {
	margin: 0;
	font-family: var(--h2-font-family);
	font-size: var(--h2-font-size);
	font-weight: var(--h2-font-weight);
	line-height: var(--h2-line-height);
	letter-spacing: var(--h2-letter-spacing);
	text-transform: var(--h2-text-transform);
	font-style: var(--h2-font-style, normal);
	color: var(--color-content-heading, var(--meda-content-heading));
}

body.meda-shell-page-location :is(
	.u-locations-section-title,
	.u-locations-section-title :is(h1, h2, h3, h4, h5, h6),
	.c-treatment-collections .c-section__heading,
	.c-treatment-collections .c-section__intro > h2,
	.c-treatment-collections .c-section__intro .u-locations-section-title h2,
	.c-our-team .c-section__heading,
	.c-our-team .c-section__intro > h2,
	.c-our-team .c-section__intro .u-locations-section-title h2,
	.c-our-locations-directions .c-section__heading
) {
	margin: 0;
	font-family: var(--h3-font-family);
	font-size: var(--h3-font-size);
	font-weight: var(--h3-font-weight);
	line-height: var(--h3-line-height);
	letter-spacing: var(--h3-letter-spacing);
	text-transform: var(--h3-text-transform);
	font-style: var(--h3-font-style, normal);
	color: var(--color-content-heading, var(--meda-content-heading));
}

body.meda-shell-page-location .c-treatment-collections .c-section__intro > .vc_column-inner {
	align-items: flex-start;
	text-align: left;
}

body.meda-shell-page-location .c-treatment-collections .u-locations-section-title,
body.meda-shell-page-location .c-treatment-collections .u-locations-section-title h2 {
	text-align: left !important;
}

body.meda-shell-page-location .c-our-locations-intro .u-locations-section-title,
body.meda-shell-page-location .c-our-locations-about .u-locations-section-title,
body.meda-shell-page-location .c-our-locations-directions .u-locations-section-title {
	text-align: left !important;
}

body.meda-shell-page-location .c-our-locations-about .location_about_text,
body.meda-shell-page-location .c-our-locations-about .location_about_text p {
	text-align: left;
}

body.meda-shell-page-location .c-our-team .u-locations-section-title,
body.meda-shell-page-location .c-our-team .u-locations-section-title h2 {
	text-align: center !important;
}

.c-contact-locations .c-section__intro .c-section__content {
	width: 100%;
	align-self: stretch;
}

.c-contact-locations .c-section__content .vc_column-inner {
	display: block;
	width: 100%;
	padding: 0;
}

.c-contact-locations .c-contact-locations-grid.c-locations-grid {
	padding-bottom: 0;
}

.c-contact-locations .c-locations-grid__street,
.c-contact-locations .c-locations-grid__link {
	opacity: 1 !important;
	transform: none !important;
}

/* Phones and small tablets, client 2026-10-01: same card layout as the treatment tiles. The 1-up carousel put a 24px title, two address lines and View Clinic over a busy photo with only a top fade, so the address was unreadable. Darken top and bottom (the extra class beats the same overlay declared !important in style.css), keep the title and address at the top, pin View Clinic to the bottom. */
@media (max-width: 900px) {
	.c-locations-grid .c-locations-grid__image::before {
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 100%) !important;
	}

	.c-locations-grid .c-locations-grid__link.w-btn {
		margin-top: auto;
	}
}

/* iPhone flicker while the carousel slides (client, 2026-10-01). Cause: `.c-locations-grid__image a` carries will-change: transform for the desktop hover zoom, so every photo is promoted to its own GPU layer inside Owl's translate3d stage; WebKit drops and rebuilds those layers as the stage moves and each card flashes. On phones there is no hover, so take the promotion away and let each slide paint as one surface. The blend mode is dropped too (the two-way gradient above is dark enough without it) and the hover transitions are switched off. Do NOT add translateZ(0)/backface-visibility to the tiles here: that was tried first and it adds layers rather than removing them. */
@media (max-width: 900px) {
	.c-locations-grid.type_carousel .c-locations-grid__image::before {
		mix-blend-mode: normal;
	}

	.c-locations-grid.type_carousel .c-locations-grid__image a,
	.c-locations-grid.type_carousel .c-locations-grid__image img,
	.c-locations-grid.type_carousel .c-locations-grid__image,
	.c-locations-grid.type_carousel .w-grid-item-h {
		will-change: auto;
	}

	.c-locations-grid.type_carousel .c-locations-grid__image img,
	.c-locations-grid.type_carousel .c-locations-grid__image::after,
	.c-locations-grid.type_carousel .w-grid-item-h {
		transition: none;
	}
}
