/*
Theme Name: Hello Elementor Child
Theme URI: https://example.com/hello-elementor-child
Description: Child theme for Hello Elementor (VCS).
Author: Top Shelf Design
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Default Elementor video widget ratio: preserve explicit widget ratios,
   otherwise fall back to a fixed 16:9 frame. */
.elementor-widget-video .elementor-wrapper {
	position: relative;
	overflow: hidden;
	aspect-ratio: var(--video-aspect-ratio, 1.77777778);
}

.elementor-widget-video .elementor-wrapper iframe,
.elementor-widget-video .elementor-wrapper video,
.elementor-widget-video .elementor-wrapper .elementor-video,
.elementor-widget-video .elementor-wrapper .elementor-custom-embed-image-overlay,
.elementor-widget-video .elementor-wrapper .elementor-custom-embed-play {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.elementor-widget-video .elementor-wrapper .elementor-custom-embed-image-overlay {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* Divider fallback: render Elementor divider widgets even if the widget CSS
   bundle doesn't fully apply. */
.elementor-widget-divider .elementor-divider {
	display: flex;
}

.elementor-widget-divider .elementor-divider-separator {
	display: flex;
	width: 100%;
	margin: 0;
}

.elementor-widget-divider--view-line_icon .elementor-divider-separator,
.elementor-widget-divider--view-line_text .elementor-divider-separator {
	align-items: center;
}

.elementor-widget-divider--view-line_icon .elementor-divider-separator::before,
.elementor-widget-divider--view-line_icon .elementor-divider-separator::after,
.elementor-widget-divider--view-line_text .elementor-divider-separator::before,
.elementor-widget-divider--view-line_text .elementor-divider-separator::after {
	content: "";
	display: block;
	flex-grow: 1;
	border-top: var(--divider-border-width, 1px) var(--divider-border-style, solid) var(--divider-color, currentColor);
}

.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
	border-top: var(--divider-border-width, 1px) var(--divider-border-style, solid) var(--divider-color, currentColor);
}

/* Button icon fallback for URL-based SVG selections in Elementor preview. */
.elementor-button .elementor-button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.elementor-button .elementor-button-icon-image {
	display: block;
	width: 1em;
	height: 1em;
}

/* Global hash-scroll behavior for the VCS sticky header. */
:root {
	--vcs-hash-scroll-offset: 150px;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--vcs-hash-scroll-offset);
}

[id] {
	scroll-margin-top: var(--vcs-hash-scroll-offset);
}

@media (min-width: 769px) {
	:root {
		--vcs-hash-scroll-offset: 160px;
	}
}

@media (min-width: 1700px) {
	:root {
		--vcs-hash-scroll-offset: 150px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.vcs-silo-section-toc .vcs-silo-section-toc-item .elementor-widget-container {
	border-radius: 14px;
	transition:
		background-color 220ms ease,
		box-shadow 220ms ease,
		color 220ms ease;
}

.vcs-silo-section-toc .vcs-silo-section-toc-item .elementor-heading-title {
	margin: 0;
}

.vcs-silo-section-toc .vcs-silo-section-toc-link {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	gap: 0.7rem;
	align-items: start;
	padding: 0.55rem 0.8rem;
	border-radius: inherit;
	transition:
		background-color 220ms ease,
		color 220ms ease,
		box-shadow 220ms ease;
}

.vcs-silo-section-toc .vcs-silo-section-toc-link::before {
	content: "";
	width: 18px;
	height: 12px;
	margin-top: 0.35em;
	background-image: url('/wp-content/uploads/2025/09/vcs-logo.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0;
	transform: translateX(-2px);
	transition:
		opacity 220ms ease,
		transform 220ms ease;
}

.vcs-silo-section-toc .vcs-silo-section-toc-link:hover,
.vcs-silo-section-toc .vcs-silo-section-toc-link:focus-visible {
	background-color: #f8fafc;
}

.vcs-silo-section-toc .vcs-silo-section-toc-item.is-active .elementor-widget-container {
	background-color: #f3f4f6;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.vcs-silo-section-toc .vcs-silo-section-toc-item.is-active .vcs-silo-section-toc-link {
	color: var(--e-global-color-primary, #12385b);
}

.vcs-silo-section-toc .vcs-silo-section-toc-item.is-active .vcs-silo-section-toc-link::before {
	opacity: 1;
	transform: translateX(0);
}


.vcs-silo-toc-disabled-sidebar {
	display: none !important;
}

.vcs-silo-toc-disabled-content {
	width: 100% !important;
	max-width: 100% !important;
	--width: 100% !important;
	--container-widget-width: 100% !important;
	--container-widget-flex-grow: 1 !important;
	flex: 1 1 100% !important;
}

.vcs-silo-toc-disabled > .e-con-inner,
.vcs-silo-toc-disabled.e-con {
	--gap: clamp(28px, 4vw, 56px);
}

@media (prefers-reduced-motion: reduce) {
	.vcs-silo-section-toc .vcs-silo-section-toc-item .elementor-widget-container,
	.vcs-silo-section-toc .vcs-silo-section-toc-link,
	.vcs-silo-section-toc .vcs-silo-section-toc-link::before {
		transition: none;
	}
}

/* Header/menu loop tile styling moved into Elementor loop item templates on 2026-07-07.
   Non-TOC silo/banner/hero text/icon CSS removed on 2026-07-08 so the Site Kit prose block owns those styles. */

/* Footer awards carousel: keep the mobile slider and bullets inside the viewport. */
.elementor-location-footer .elementor-widget-loop-carousel .swiper-pagination {
	display: none !important;
}

@media (max-width: 767px) {

	.elementor-location-footer .elementor-element-53b8fdd {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.elementor-location-footer .elementor-element-ac7e43f > .elementor-widget-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.elementor-location-footer .elementor-element-66579d9,
	.elementor-location-footer .elementor-element-be1be31 {
		display: none !important;
	}

	.elementor-location-footer .elementor-element-77b595f > .e-con-inner,
	.elementor-location-footer .elementor-element-67fdca2 > .e-con-inner {
		align-items: center;
	}

	.elementor-location-footer .elementor-element-67fdca2 > .e-con-inner {
		flex-direction: column;
		justify-content: center;
		gap: 12px;
	}

	.elementor-location-footer .elementor-element-1c0ae43 {
		margin-top: 8px;
	}

	.elementor-location-footer .elementor-element-1c0ae43 .elementor-heading-title {
		text-align: center;
	}

	.elementor-location-footer .elementor-widget-loop-carousel .swiper {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.elementor-location-footer .elementor-widget-loop-carousel .swiper-pagination {
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		display: none !important;
		flex-wrap: wrap;
		justify-content: center;
		box-sizing: border-box;
		padding-inline: 16px;
	}

	/* Hide treatment/silo sticky sidebars on phones; restore at tablet and up. */
	.vcs-content-row > .secondary-content,
	.vcs-content-row > .vcs-migrated-content,
	.elementor-sticky:has(.vcs-silo-section-toc),
	.elementor-sticky > .e-con-full:has(.vcs-silo-section-toc),
	.vcs-silo-section-toc {
		display: none !important;
	}


}

/* Patient/search filter form polish. */
.page-id-75 .searchandfilter,
.page-id-48186 .searchandfilter,
.page-id-24802 .searchandfilter,
.page-id-107 .searchandfilter {
	--vcs-filter-border: rgba(27, 57, 97, 0.16);
	--vcs-filter-border-strong: rgba(27, 57, 97, 0.28);
	--vcs-filter-bg: rgba(255, 255, 255, 0.94);
	--vcs-filter-text: #1b3961;
	--vcs-filter-muted: #6b7280;
	--vcs-filter-accent: #ffc743;
	--vcs-filter-shadow: 0 20px 48px rgba(15, 23, 42, 0.08);
	width: min(100%, 720px);
	margin-inline: auto;
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 24px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
	box-shadow: var(--vcs-filter-shadow);
	backdrop-filter: blur(10px);
}

.page-id-75 .searchandfilter > ul,
.page-id-48186 .searchandfilter > ul,
.page-id-24802 .searchandfilter > ul,
.page-id-107 .searchandfilter > ul {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-id-75 .searchandfilter > ul > li,
.page-id-48186 .searchandfilter > ul > li,
.page-id-24802 .searchandfilter > ul > li,
.page-id-107 .searchandfilter > ul > li {
	margin: 0;
}

.page-id-75 .searchandfilter label,
.page-id-48186 .searchandfilter label,
.page-id-24802 .searchandfilter label,
.page-id-107 .searchandfilter label {
	display: block;
	margin: 0;
}

.page-id-75 .searchandfilter .sf-field-search input[type="text"],
.page-id-75 .searchandfilter .sf-field-search input[type="search"],
.page-id-48186 .searchandfilter .sf-field-search input[type="text"],
.page-id-48186 .searchandfilter .sf-field-search input[type="search"],
.page-id-24802 .searchandfilter .sf-field-search input[type="text"],
.page-id-24802 .searchandfilter .sf-field-search input[type="search"],
.page-id-107 .searchandfilter .sf-field-search input[type="text"],
.page-id-107 .searchandfilter .sf-field-search input[type="search"],
.page-id-75 .searchandfilter select,
.page-id-48186 .searchandfilter select,
.page-id-24802 .searchandfilter select,
.page-id-107 .searchandfilter select,
.page-id-75 .searchandfilter .chosen-single,
.page-id-48186 .searchandfilter .chosen-single,
.page-id-24802 .searchandfilter .chosen-single,
.page-id-107 .searchandfilter .chosen-single {
	width: 100%;
	min-height: 62px;
	padding: 0 22px;
	border: 1px solid var(--vcs-filter-border);
	border-radius: 18px;
	background: var(--vcs-filter-bg);
	color: var(--vcs-filter-text);
	font-family: "Montserrat", Geomanist, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		background-color 180ms ease;
}

.page-id-75 .searchandfilter select,
.page-id-48186 .searchandfilter select,
.page-id-24802 .searchandfilter select,
.page-id-107 .searchandfilter select {
	appearance: none;
	padding: 0 36px 0 14px;
	font-size: 14px;
	background-image:
		linear-gradient(45deg, transparent 50%, #1b3961 50%),
		linear-gradient(135deg, #1b3961 50%, transparent 50%);
	background-position:
		calc(100% - 20px) calc(50% - 2px),
		calc(100% - 14px) calc(50% - 2px);
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.page-id-75 .searchandfilter .chosen-container,
.page-id-48186 .searchandfilter .chosen-container,
.page-id-24802 .searchandfilter .chosen-container,
.page-id-107 .searchandfilter .chosen-container {
	width: 100% !important;
}

.page-id-75 .searchandfilter .chosen-single,
.page-id-48186 .searchandfilter .chosen-single,
.page-id-24802 .searchandfilter .chosen-single,
.page-id-107 .searchandfilter .chosen-single {
	display: flex;
	align-items: center;
	height: auto;
	padding: 0 36px 0 14px;
	font-size: 14px;
}

.page-id-75 .searchandfilter .chosen-single div,
.page-id-48186 .searchandfilter .chosen-single div,
.page-id-24802 .searchandfilter .chosen-single div,
.page-id-107 .searchandfilter .chosen-single div {
	right: 10px;
}

.page-id-75 .searchandfilter .sf-field-search input::placeholder,
.page-id-48186 .searchandfilter .sf-field-search input::placeholder,
.page-id-24802 .searchandfilter .sf-field-search input::placeholder,
.page-id-107 .searchandfilter .sf-field-search input::placeholder {
	color: var(--vcs-filter-muted);
	opacity: 1;
}

.page-id-75 .searchandfilter .sf-field-search input:hover,
.page-id-48186 .searchandfilter .sf-field-search input:hover,
.page-id-24802 .searchandfilter .sf-field-search input:hover,
.page-id-107 .searchandfilter .sf-field-search input:hover,
.page-id-75 .searchandfilter select:hover,
.page-id-48186 .searchandfilter select:hover,
.page-id-24802 .searchandfilter select:hover,
.page-id-107 .searchandfilter select:hover,
.page-id-75 .searchandfilter .chosen-single:hover,
.page-id-48186 .searchandfilter .chosen-single:hover,
.page-id-24802 .searchandfilter .chosen-single:hover,
.page-id-107 .searchandfilter .chosen-single:hover {
	border-color: var(--vcs-filter-border-strong);
	background-color: #fff;
}

.page-id-75 .searchandfilter .sf-field-search input:focus,
.page-id-48186 .searchandfilter .sf-field-search input:focus,
.page-id-24802 .searchandfilter .sf-field-search input:focus,
.page-id-107 .searchandfilter .sf-field-search input:focus,
.page-id-75 .searchandfilter select:focus,
.page-id-48186 .searchandfilter select:focus,
.page-id-24802 .searchandfilter select:focus,
.page-id-107 .searchandfilter select:focus,
.page-id-75 .searchandfilter .chosen-single:focus,
.page-id-48186 .searchandfilter .chosen-single:focus,
.page-id-24802 .searchandfilter .chosen-single:focus,
.page-id-107 .searchandfilter .chosen-single:focus {
	outline: none;
	border-color: rgba(27, 57, 97, 0.42);
	background-color: #fff;
	box-shadow:
		0 0 0 4px rgba(255, 199, 67, 0.2),
		0 12px 28px rgba(15, 23, 42, 0.1);
	transform: translateY(-1px);
}

.page-id-75 .searchandfilter .sf-field-submit input[type="submit"],
.page-id-24802 .searchandfilter .sf-field-submit input[type="submit"],
.page-id-107 .searchandfilter .sf-field-submit input[type="submit"] {
	width: 100%;
	min-height: 60px;
	border: 1px solid rgba(27, 57, 97, 0.12);
	border-radius: 18px;
	background: linear-gradient(135deg, #1b3961, #2c5c9c);
	color: #fff;
	font-family: "Montserrat", Geomanist, sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.01em;
	box-shadow:
		0 16px 32px rgba(27, 57, 97, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);
	cursor: pointer;
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		filter 180ms ease;
}

.page-id-75 .searchandfilter .sf-field-submit input[type="submit"]:hover,
.page-id-75 .searchandfilter .sf-field-submit input[type="submit"]:focus-visible,
.page-id-24802 .searchandfilter .sf-field-submit input[type="submit"]:hover,
.page-id-24802 .searchandfilter .sf-field-submit input[type="submit"]:focus-visible,
.page-id-107 .searchandfilter .sf-field-submit input[type="submit"]:hover,
.page-id-107 .searchandfilter .sf-field-submit input[type="submit"]:focus-visible {
	outline: none;
	transform: translateY(-2px);
	box-shadow:
		0 22px 36px rgba(27, 57, 97, 0.22),
		0 0 0 4px rgba(255, 199, 67, 0.2);
	filter: saturate(1.05);
}

.page-id-75 .searchandfilter .sf-field-submit input[type="submit"]:active,
.page-id-24802 .searchandfilter .sf-field-submit input[type="submit"]:active,
.page-id-107 .searchandfilter .sf-field-submit input[type="submit"]:active {
	transform: translateY(0);
	box-shadow:
		0 10px 18px rgba(27, 57, 97, 0.16),
		0 0 0 3px rgba(255, 199, 67, 0.14);
}

@media (max-width: 767px) {
	.page-id-75 .searchandfilter,
	.page-id-48186 .searchandfilter,
	.page-id-24802 .searchandfilter,
	.page-id-107 .searchandfilter {
		padding: 16px;
		border-radius: 20px;
	}

	.page-id-75 .searchandfilter .sf-field-search input[type="text"],
	.page-id-75 .searchandfilter .sf-field-search input[type="search"],
	.page-id-75 .searchandfilter .sf-field-submit input[type="submit"],
	.page-id-48186 .searchandfilter .sf-field-search input[type="text"],
	.page-id-48186 .searchandfilter .sf-field-search input[type="search"],
	.page-id-75 .searchandfilter select,
	.page-id-48186 .searchandfilter select,
	.page-id-24802 .searchandfilter select,
	.page-id-107 .searchandfilter select,
	.page-id-75 .searchandfilter .chosen-single,
	.page-id-48186 .searchandfilter .chosen-single,
	.page-id-24802 .searchandfilter .chosen-single,
	.page-id-107 .searchandfilter .chosen-single,
	.page-id-24802 .searchandfilter .sf-field-search input[type="text"],
	.page-id-24802 .searchandfilter .sf-field-search input[type="search"],
	.page-id-24802 .searchandfilter .sf-field-submit input[type="submit"],
	.page-id-107 .searchandfilter .sf-field-search input[type="text"],
	.page-id-107 .searchandfilter .sf-field-search input[type="search"],
	.page-id-107 .searchandfilter .sf-field-submit input[type="submit"] {
		min-height: 56px;
		font-size: 15px;
		border-radius: 16px;
	}
}

/* [layout exception] Search results layout polish. Typography/color authority lives in Elementor loop template 48194 and Site Kit tokens; this block only controls spacing and separators. */
.page-id-48186 .search-filter-results-48169 {
	--vcs-search-result-gap: 52px;
}

.page-id-48186 .search-filter-results-48169 .elementor-loop-container {
	row-gap: var(--vcs-search-result-gap) !important;
}

.page-id-48186 .search-filter-results-48169 .e-loop-item {
	margin: 0;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b {
	padding: 0 0 34px;
	border-bottom: 1px solid var(--e-global-color-9c81c1d, #e7edf2);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b > .e-con-inner {
	gap: 16px;
}


.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-WOizd5a .elementor-heading-title a::after {
	content: " →";
	color: var(--e-global-color-accent, #F2B12C);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-WOizd5a .elementor-heading-title a:hover,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-WOizd5a .elementor-heading-title a:focus-visible,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a776b15 .elementor-heading-title:hover {
	text-decoration: underline;
	text-decoration-color: var(--e-global-color-accent, #F2B12C);
	text-underline-offset: 0.18em;
}

@media (max-width: 767px) {
	.page-id-48186 .search-filter-results-48169 {
		--vcs-search-result-gap: 36px;
	}

	.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b {
		padding-bottom: 26px;
	}
}

/* [layout exception] Search page filter rail reinforcement. */
.page-id-48186 .elementor-element.elementor-element-3aaf9ad .searchandfilter {
	width: 100%;
	padding: 24px;
	border: 1px solid rgba(27, 57, 97, 0.12);
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(245, 247, 250, 0.96));
	box-shadow: 0 22px 44px rgba(15, 23, 42, 0.08);
}

.page-id-48186 .elementor-element.elementor-element-3aaf9ad .searchandfilter > ul {
	gap: 16px;
}

.page-id-48186 .elementor-element.elementor-element-3aaf9ad .sf-field-search input[type="text"],
.page-id-48186 .elementor-element.elementor-element-3aaf9ad .sf-field-search input[type="search"],
.page-id-48186 .elementor-element.elementor-element-3aaf9ad .searchandfilter select,
.page-id-48186 .elementor-element.elementor-element-3aaf9ad .searchandfilter .chosen-single {
	background-color: #fff;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.75),
		0 10px 24px rgba(27, 57, 97, 0.06);
}

@media (max-width: 767px) {
	.page-id-48186 .elementor-element.elementor-element-3aaf9ad .searchandfilter {
		padding: 18px;
		border-radius: 20px;
	}
}

/* [layout exception] Global search result cards — richer cards with optional featured image support. Typography is assigned in Elementor loop template 48194. */
.page-id-48186 .search-filter-results-48169 {
	--vcs-search-result-gap: 28px;
}

.page-id-48186 .search-filter-results-48169 .elementor-loop-container {
	row-gap: var(--vcs-search-result-gap) !important;
}

.page-id-48186 .search-filter-results-48169 .e-loop-item {
	margin: 0;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b {
	position: relative;
	overflow: hidden;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 !important;
	min-height: 150px;
	padding: 0 !important;
	border: 1px solid rgba(27, 57, 97, 0.11) !important;
	border-radius: 24px !important;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(245, 247, 250, 0.94)),
		#fff;
	box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		border-color 180ms ease;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 7px;
	background: var(--e-global-color-accent, #f2b12c);
}


.page-id-48186 .search-filter-results-48169 .e-loop-item:nth-child(3n) .elementor-element.elementor-element-a91313b::before {
	background: var(--e-global-color-ce9f9ec, #22508f);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b:hover,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b:focus-within {
	transform: translateY(-2px);
	border-color: rgba(242, 177, 44, 0.42) !important;
	box-shadow: 0 24px 54px rgba(15, 23, 42, 0.11);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsbdy1 {
	padding: 28px 32px 28px 36px;
	gap: 10px !important;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 {
	display: none;
	min-height: 100%;
	background:
		linear-gradient(135deg, rgba(27, 57, 97, 0.08), rgba(242, 177, 44, 0.08)),
		#f5f7fa;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1:has(img) {
	display: block;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b:has(.elementor-element.elementor-element-vcsmda1 img) {
	grid-template-columns: minmax(172px, 24%) minmax(0, 1fr);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 .elementor-widget-theme-post-featured-image,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 .elementor-widget-container,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 a,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 img {
	display: block;
	width: 100%;
	height: 100%;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 img {
	object-fit: cover;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b:has(.elementor-element.elementor-element-vcsmda1 img) .elementor-element.elementor-element-vcsmda1 img {
	min-height: 100%;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-r21tgCC .elementor-heading-title {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 2px;
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(242, 177, 44, 0.14);
	color: var(--e-global-color-accent, #f2b12c);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a776b15 .elementor-heading-title,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a776b15 .elementor-heading-title a {
	margin: 0;
	color: var(--e-global-color-primary, #163154);
	text-decoration: none;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-wok6O4y .elementor-heading-title,
.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-wok6O4y .elementor-heading-title p {
	margin: 0;
	color: rgba(22, 49, 84, 0.88);
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-WOizd5a .elementor-heading-title {
	margin: 6px 0 0;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-WOizd5a .elementor-heading-title a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--e-global-color-ce9f9ec, #22508f);
	text-decoration: none;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-WOizd5a .elementor-heading-title a::after {
	content: "→";
	color: var(--e-global-color-accent, #f2b12c);
	font-size: 1.1em;
	transition: transform 160ms ease;
}

.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b:hover .elementor-element.elementor-element-WOizd5a .elementor-heading-title a::after {
	transform: translateX(3px);
}

@media (max-width: 899px) {
	.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-a91313b:has(.elementor-element.elementor-element-vcsmda1 img) {
		grid-template-columns: 1fr;
	}

	.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsmda1 img {
		max-height: 220px;
	}

	.page-id-48186 .search-filter-results-48169 .elementor-element.elementor-element-vcsbdy1 {
		padding: 24px 24px 24px 30px;
	}
}

/* [component bridge / accessibility] Patient story shortcode metadata.
   Markup is server-rendered by `vcs_patient_story_meta`, not Elementor-authored,
   so this bridge maps its typography to Site Kit tokens while keeping layout and
   link affordance CSS here. */
.vcs-patient-story-meta {
	--vcs-patient-story-meta-color: var(--e-global-color-primary, #1b3961);
	--vcs-patient-story-meta-font-family: var(--e-global-typography-d68e226-font-family, "Montserrat"), sans-serif;
	--vcs-patient-story-meta-font-size: var(--e-global-typography-d68e226-font-size, 16px);
	--vcs-patient-story-meta-font-weight: var(--e-global-typography-d68e226-font-weight, 400);
	--vcs-patient-story-meta-line-height: var(--e-global-typography-d68e226-line-height, 26px);
	--vcs-patient-story-label-font-family: var(--e-global-typography-2950aca-font-family, "Montserrat"), sans-serif;
	--vcs-patient-story-label-font-size: var(--e-global-typography-2950aca-font-size, 12px);
	--vcs-patient-story-label-font-weight: var(--e-global-typography-2950aca-font-weight, 700);
	--vcs-patient-story-label-line-height: var(--e-global-typography-2950aca-line-height, 16px);
	--vcs-patient-story-label-letter-spacing: var(--e-global-typography-2950aca-letter-spacing, 2px);
	--vcs-patient-story-label-transform: var(--e-global-typography-2950aca-text-transform, uppercase);
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 4px;
}

.vcs-patient-story-meta-line {
	margin: 0;
	color: var(--vcs-patient-story-meta-color);
	font-family: var(--vcs-patient-story-meta-font-family);
	font-size: var(--vcs-patient-story-meta-font-size);
	font-weight: var(--vcs-patient-story-meta-font-weight);
	line-height: var(--vcs-patient-story-meta-line-height);
}

.vcs-patient-story-meta-label {
	margin-right: 4px;
	font-family: var(--vcs-patient-story-label-font-family);
	font-size: var(--vcs-patient-story-label-font-size);
	font-weight: var(--vcs-patient-story-label-font-weight);
	line-height: var(--vcs-patient-story-label-line-height);
	letter-spacing: var(--vcs-patient-story-label-letter-spacing);
	text-transform: var(--vcs-patient-story-label-transform);
}

.vcs-patient-story-meta-value a,
.vcs-patient-story-meta-line a {
	color: var(--vcs-patient-story-meta-color);
	text-decoration: underline;
	text-underline-offset: 0.14em;
}

/* Default loop-grid numbered pagination */
.elementor-widget-loop-grid .elementor-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 40px;
}

.elementor-widget-loop-grid .elementor-pagination .page-numbers {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 25px;
	min-height: 25px;
	color: #163154;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.elementor-widget-loop-grid .elementor-pagination a.page-numbers:hover,
.elementor-widget-loop-grid .elementor-pagination a.page-numbers:focus-visible {
	color: #163154;
	text-decoration: underline;
	text-decoration-color: #f2b12c;
	text-underline-offset: 0.14em;
}

.elementor-widget-loop-grid .elementor-pagination .page-numbers.current {
	background: #163154;
	color: #ffffff;
	aspect-ratio: 1;
	width: 25px;
	border-radius: 999px;
	text-decoration: none;
}

.elementor-widget-loop-grid .elementor-pagination .page-numbers.prev,
.elementor-widget-loop-grid .elementor-pagination .page-numbers.next {
	width: auto;
	aspect-ratio: auto;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

/* [layout exception] VCS mobile hero edge guard — 2026-05-04; consolidated 2026-05-29
   Keep hero copy off the viewport edge on phones with a consistent 32px inset.
   Targets the shared interior hero, treatment hub hero, silo/knowledge-base
   hero, home hero, and generated 404 hero patterns. */
@media (max-width: 767px) {
	/* Shared interior and treatment hub hero wrappers. */
	.elementor-element.elementor-element-3d4db018,
	.elementor-element.elementor-element-mniZo5C {
		padding-left: 32px !important;
		padding-right: 32px !important;
		--padding-left: 32px !important;
		--padding-right: 32px !important;
	}


	/* Boxed hero containers need the inset on their generated .e-con-inner;
	   reset Elementor's default 16px side margin so the visible inset is 32px,
	   not 48px. */
	.elementor-element.elementor-element-5dc6d60b > .e-con-inner,
	.elementor-element.elementor-element-869d0cc > .e-con-inner,
	.elementor-element.elementor-element-tsd404hero > .e-con-inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 32px !important;
		padding-right: 32px !important;
		box-sizing: border-box;
	}
}


/* VCS Asana QA fixes — 2026-05-08
   Loop-card button overrides removed 2026-06-05: excerpt-style loop buttons are now controlled by
   the Elementor cascade preset `continue-reading-text-link` instead of child-theme !important rules. */

.vcs-related-physician--inline,
.vcs-related-physician--image,
.vcs-related-physician-image-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	vertical-align: middle;
}

.vcs-related-physician-image,
.vcs-related-physician--image img,
.vcs-related-physician-image-link img {
	display: inline-block;
	width: 32px !important;
	height: 32px !important;
	max-width: 32px !important;
	max-height: 32px !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	flex: 0 0 32px;
}

.page-id-13 .elementor-element.elementor-element-22c60b3::before {
	opacity: 0.14 !important;
}

.page-id-13 .elementor-element.elementor-element-22c60b3 .elementor-heading-title,
.page-id-13 .elementor-element.elementor-element-22c60b3 .elementor-widget-text-editor,
.page-id-13 .elementor-element.elementor-element-22c60b3 .elementor-widget-text-editor p {
	color: #163154 !important;
}

.page-id-13 .elementor-element.elementor-element-22c60b3 a {
	color: #1B5FA7 !important;
	font-weight: 700;
}

.page-id-43636 .elementor-element.elementor-element-73fe99e {
	flex-wrap: wrap !important;
	gap: 14px 20px !important;
	justify-content: center !important;
	align-items: center !important;
}

.page-id-43636 .elementor-element.elementor-element-73fe99e .elementor-widget-button {
	width: auto !important;
	margin: 0 !important;
}


/* [layout exception / legacy fallback] Footer wordmark override for cached Elementor footer markup — 2026-05-08; consolidated 2026-05-29
   The footer template's post_content can lag behind _elementor_data in Local;
   visually retire the separate mark + serif heading and draw Andrew's supplied
   full SVG wordmark from the child theme asset folder. The final implementation
   uses the section background, so the older ::before fallback is explicitly hidden. */
.elementor-45806 .elementor-element.elementor-element-77b595f {
	position: relative;
	flex-wrap: wrap !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background-image: url('/wp-content/themes/hello-elementor-child/assets/images/vcs-logo-centered-20260508.svg') !important;
	background-repeat: no-repeat !important;
	background-position: center 18px !important;
	background-size: min(300px, 80vw) auto !important;
	padding-top: 125px !important;
}

.elementor-45806 .elementor-element.elementor-element-09a275f,
.elementor-45806 .elementor-element.elementor-element-7b1b55d,
.elementor-45806 .elementor-element.elementor-element-77b595f::before {
	display: none !important;
}

.elementor-45806 .elementor-element.elementor-element-77b595f .elementor-element.elementor-element-66579d9 {
	width: 100% !important;
}

/* [layout exception] VCS QA tuning — homepage hero leading + tablet nav separator breathing room — 2026-05-12
   Andrew/Gregg screenshot notes:
   1) give the two-line homepage hero headline more leading;
   2) add horizontal breathing room between tablet nav labels and vertical separators. */
.page-id-43636 .elementor-element.elementor-element-f913139 .elementor-heading-title {
	line-height: 0.98 !important;
}

/* Standard publication excerpt — stack related physicians vertically. 2026-05-12 */
.elementor-45882 .elementor-element.elementor-element-hyWDvPR,
.elementor-45882 .elementor-element.elementor-element-hyWDvPR .elementor-widget-container,
.elementor-45882 .elementor-element.elementor-element-hyWDvPR .elementor-heading-title,
.elementor-45882 .elementor-element.elementor-element-hyWDvPR .vcs-related-physicians {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 8px !important;
}

.elementor-45882 .elementor-element.elementor-element-hyWDvPR .vcs-related-physician--inline {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	line-height: 1.25 !important;
}

.elementor-45882 .elementor-element.elementor-element-hyWDvPR .vcs-related-physician-image,
.elementor-45882 .elementor-element.elementor-element-hyWDvPR .vcs-related-physician-image-link img {
	width: 35px !important;
	height: 35px !important;
	object-fit: cover !important;
}

/* VCS final pre-send QA guardrails — overflow, form sizing, and dynamic singles. 2026-05-13 */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}

@supports not (overflow-x: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}

.searchandfilter input,
.searchandfilter select,
.searchandfilter textarea,
.elementor-widget-search-filter-form input,
.elementor-widget-search-filter-form select,
.elementor-widget-search-filter-form textarea,
.elementor-search-form input {
	box-sizing: border-box !important;
	max-width: 100% !important;
}

.elementor-widget-loop-carousel .swiper,
.elementor-widget-loop-carousel .swiper-container,
.elementor-widget-image-carousel .swiper,
.elementor-widget-image-carousel .swiper-container,
.elementor-widget-slides .swiper,
.elementor-widget-slides .swiper-container {
	max-width: 100% !important;
	overflow: hidden !important;
}

@media (max-width: 767px) {
	.elementor-widget-loop-carousel,
	.elementor-widget-image-carousel,
	.elementor-widget-slides {
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}
}

/* Clinical Trials page — keep mobile sections roomy without reintroducing horizontal drift. */
@media (max-width: 767px) {
	body.page-id-43831 .elementor-element.elementor-element-47c17fc {
		padding-top: 48px !important;
		padding-bottom: 52px !important;
	}

	body.page-id-43831 .elementor-element.elementor-element-47c17fc .elementor-heading-title,
	body.page-id-43831 .elementor-element.elementor-element-e6773b4 .elementor-heading-title,
	body.page-id-43831 .elementor-element.elementor-element-f0d5870 .elementor-heading-title,
	body.page-id-43831 .elementor-element.elementor-element-befd2d8 .elementor-heading-title,
	body.page-id-43831 .elementor-element.elementor-element-6b05ac4 .elementor-heading-title,
	body.page-id-43831 .elementor-element.elementor-element-fd3fe8d .elementor-heading-title {
		text-wrap: balance;
	}
}

/* [layout exception] Single physician primary-location details now use real location fields. Typography is assigned in Elementor template 48185. */
.single-physician .elementor-48185 .elementor-element-2cfbf16 {
	gap: 16px !important;
	--grid-row-gap: 16px !important;
	--grid-column-gap: 16px !important;
}


@media (max-width: 767px) {
	.single-physician .elementor-48185 .elementor-element-2cfbf16 {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}
}

/* Single physician reviews/testimonials — boxed width with breathing room. */
.single-physician .elementor-48185 .elementor-element-testimonials_placeholder {
	width: min(1200px, calc(100% - 48px)) !important;
	max-width: min(1200px, calc(100% - 48px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 56px !important;
	padding-bottom: 64px !important;
}

.single-physician .elementor-48185 .elementor-element-shortcode_testimonials_embedsocial,
.single-physician .elementor-48185 .elementor-element-shortcode_testimonials_embedsocial .elementor-widget-container,
.single-physician .elementor-48185 .elementor-element-shortcode_testimonials_embedsocial iframe {
	max-width: 100% !important;
}

@media (max-width: 767px) {
	.single-physician .elementor-48185 .elementor-element-testimonials_placeholder {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		padding-top: 40px !important;
		padding-bottom: 48px !important;
	}
}


/* Event Calendar row order — two-row layout with alternating sidebar positions. 2026-05-13 */
body.page-id-135 .vcs-events-archive .vcs-events-row {
	width: 100% !important;
	max-width: 100% !important;
	align-items: flex-start !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-main,
body.page-id-135 .vcs-events-archive .vcs-events-sidebar,
body.page-id-135 .vcs-events-archive .vcs-events-row-sidebar {
	min-width: 0 !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-main,
body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main {
	flex: 1 1 calc(66.667% - 12px) !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-sidebar,
body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-sidebar {
	flex: 0 1 calc(33.333% - 12px) !important;
}

@media (max-width: 767px) {
	body.page-id-135 .vcs-events-archive .vcs-events-row {
		flex-direction: column !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-main,
	body.page-id-135 .vcs-events-archive .vcs-events-sidebar,
	body.page-id-135 .vcs-events-archive .vcs-events-row-sidebar {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}
}

/* Event Calendar sidebar — keep sidebar event cards using the full available sidebar width. 2026-05-13 */
body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid,
body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .elementor-widget-container,
body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .elementor-loop-container,
body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .e-loop-item,
body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .e-loop-item > .elementor {
	width: 100% !important;
	max-width: 100% !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .elementor-element-8e2f1d5,
body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .elementor-element-ZFwFrRD {
	width: 100% !important;
	max-width: 100% !important;
	flex-basis: 100% !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-sidebar .elementor-widget-loop-grid .elementor-element-DI4akcy {
	display: none !important;
}

/* Event Calendar — empty state for Featured/Upcoming non-repeating events. 2026-05-13 */
@supports selector(:has(*)) {
	body.page-id-135 .vcs-events-archive .elementor-element-VErh5HK:not(:has(.e-loop-item)) .elementor-widget-container::before {
		content: "No upcoming events are scheduled right now. Please check back soon for new events.";
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 8px 0 44px;
		padding: 34px 38px;
		border-top: 4px solid #f5aa20;
		border-radius: 0 0 18px 18px;
		background: #eef3f8;
		box-shadow: 0 18px 40px rgba(22, 48, 84, 0.08);
		color: #163054;
		font-family: Montserrat, sans-serif;
		font-size: 21px;
		font-weight: 600;
		line-height: 1.5;
	}

	@media (max-width: 767px) {
		body.page-id-135 .vcs-events-archive .elementor-element-VErh5HK:not(:has(.e-loop-item)) .elementor-widget-container::before {
			margin-bottom: 32px;
			padding: 26px 24px;
			font-size: 18px;
		}
	}
}

/* Contact page image sections — requested QA refinements. 2026-05-14 */
body.page-id-13 .vcs-contact-secondary-light {
	background-color: #eaf2fa !important;
	background-image: none !important;
}

body.page-id-13 .vcs-contact-secondary-light::before,
body.page-id-13 .vcs-contact-secondary-light::after {
	background-image: none !important;
}

/* Event Calendar support group meetings — restored original top-row sidebar layout. 2026-06-09 */
@media (min-width: 768px) {
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming {
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 24px !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-main {
		width: calc(66.667% - 12px) !important;
		max-width: calc(66.667% - 12px) !important;
		flex: 1 1 calc(66.667% - 12px) !important;
		flex-basis: calc(66.667% - 12px) !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-sidebar {
		width: calc(33.333% - 12px) !important;
		max-width: calc(33.333% - 12px) !important;
		flex: 0 1 calc(33.333% - 12px) !important;
		flex-basis: calc(33.333% - 12px) !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-loop-container {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
	}
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar,
body.page-id-135 .vcs-events-archive .elementor-element-VErh5HK:not(:has(.e-loop-item)) .elementor-widget-container::before {
	border-radius: 0 !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .e-loop-item > .elementor,
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-8e2f1d5 {
	height: auto !important;
}

@media (max-width: 767px) {
	body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-loop-container {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}
}
/* [accessibility] TSD 2026-06-03: popup header CTAs keep dark text.
   Generic Elementor button contrast now comes from Elementor/cascade controls
   so hover states are not blocked by stylesheet-level !important color. */
a.elementor-button.vcs-popup-link--new_patient,
a.elementor-button.vcs-popup-link--refer_patient {
	color: var(--e-global-color-primary, #163154) !important;
	fill: var(--e-global-color-primary, #163154) !important;
}

.elementor-widget-button .elementor-button .elementor-button-text,
.elementor-widget-button .elementor-button .elementor-button-icon,
.elementor-widget-button .elementor-button svg,
a.elementor-button.vcs-popup-link--new_patient .elementor-button-text,
a.elementor-button.vcs-popup-link--refer_patient .elementor-button-text {
	color: inherit !important;
	fill: currentColor !important;
}

/* [accessibility] TSD 2026-05-18: touch targets and inline text links.
   Keep these CSS-only/server-rendered; do not rely on JavaScript for a11y fixes. */

/* Physician archive cards: the specialty line is a real link but rendered under
   the 24px minimum touch target height on mobile Lighthouse. */
body.page-id-107 .elementor-45977 .elementor-element.elementor-element-a75185a .elementor-heading-title > a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
}

/* [accessibility] Body-copy links need a visible non-color affordance in text blocks. */
main .primary-content .elementor-widget-text-editor p a:not(.elementor-button),
main .vcs-content-row .elementor-widget-text-editor p a:not(.elementor-button) {
	text-decoration-line: underline !important;
	text-decoration-color: currentColor;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

main .primary-content .elementor-widget-text-editor p a:not(.elementor-button):hover,
main .primary-content .elementor-widget-text-editor p a:not(.elementor-button):focus-visible,
main .vcs-content-row .elementor-widget-text-editor p a:not(.elementor-button):hover,
main .vcs-content-row .elementor-widget-text-editor p a:not(.elementor-button):focus-visible {
	text-decoration-thickness: 0.12em;
}

/* [accessibility/layout exception] Locations intro: the secondary Contact Us CTA sits over a gray-blue surface;
   give the outlined button a white fill so dark-blue text clears contrast. */
body.page-id-200 main .elementor-element.elementor-element-0e14eba .elementor-button {
	background-color: #ffffff !important;
	border-color: var(--e-global-color-primary, #163154) !important;
	color: var(--e-global-color-primary, #163154) !important;
	fill: var(--e-global-color-primary, #163154) !important;
}

body.page-id-200 main .elementor-element.elementor-element-0e14eba .elementor-button:hover,
body.page-id-200 main .elementor-element.elementor-element-0e14eba .elementor-button:focus-visible {
	background-color: var(--e-global-color-primary, #163154) !important;
	color: #ffffff !important;
	fill: #ffffff !important;
}

/* TSD 2026-05-18: semantic eyebrow/subheader pattern.
   Elementor may still supply the typography via `.elementor-heading-title`,
   but the rendered tag should be non-ranked text (`p`) when it is a visual
   subheader above the real page heading. */
p.vcs-nonheading-eyebrow.elementor-heading-title {
	display: block;
	margin: 0;
}

/* VCS silo Supportive Cancer Care theme-CSS band removed on 2026-07-08; Site Kit/Elementor owns section/prose styling. */

/* VCS site canvas — 2026-06-08.
   The pale blue page canvas is global; Elementor sections/cards may still
   intentionally override it with white/navy treatments. */
html,
body {
	background: #F5F7FA;
}

main#content.site-main,
main#content.site-main > .page-content,
body.elementor-page main#content.site-main > .page-content > .elementor {
	background: #F5F7FA;
}

/* Legacy content marker — 2026-05-27 / revised 2026-06-01
   Applied to pages with post meta `vcs_content_status=legacy`.
   Keep only the legacy canvas/background in theme CSS; vertical rhythm,
   hero spacing, and content-width decisions belong in Elementor data. */
body.vcs-legacy-content-template {
	background: #F5F7FA;
}

body.vcs-legacy-content-template main#content.site-main {
	background: #F5F7FA;
}

body.vcs-legacy-content-template main#content.site-main > .page-content {
	background: #F5F7FA;
}

body.vcs-legacy-content-template .elementor-location-header + main#content.site-main,
body.vcs-legacy-content-template main#content.site-main + .elementor-location-footer {
	position: relative;
}

/* VCS silo rich-text/list theme-CSS overrides removed on 2026-07-08; Site Kit prose block owns text rhythm. */

/* Event Calendar one-off restoration — 2026-06-08 */
/* Page-specific exception: restore the bespoke Event Calendar layout after the global preset/cascade reset. */

@media (min-width: 768px) and (max-width: 1199px) {
	body.page-id-135 .vcs-events-archive .vcs-events-row {
		width: calc(100% - 32px) !important;
		max-width: calc(100% - 32px) !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming {
	flex-direction: column !important;
	align-items: stretch !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-main,
body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-meetings-full,
body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-sidebar {
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 1 auto !important;
	flex-basis: auto !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-loop-container,
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-loop-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 32px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .e-loop-item > .elementor,
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .e-loop-item > .elementor,
body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-element-8e2f1d5,
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-8e2f1d5 {
	height: 100% !important;
}

@media (max-width: 1199px) {
	body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-loop-container,
	body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-loop-container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-past {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 32px !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-past .elementor-element-evtPastSide,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 1 auto !important;
		flex-basis: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main .elementor-widget-loop-grid,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main .elementor-widget-container,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main .elementor-loop-container {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main .elementor-loop-container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px !important;
	}
}

@media (max-width: 767px) {
	body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-loop-container,
	body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-loop-container,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main .elementor-loop-container {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}
/* End Event Calendar one-off restoration — 2026-06-08 */



/* Patient Stories landing — featured patient story slider. 2026-06-08 */
body.page-id-75 .vcs-patient-story-feature-slider-section {
	background: #f5f7fa !important;
}

body.page-id-75 .vcs-patient-story-feature-slider-section > .e-con-inner {
	max-width: 1500px !important;
	width: 100% !important;
}

body.page-id-75 .vcs-patient-story-feature-slider-section .elementor-heading-title {
	color: var(--e-global-color-primary, #163154);
	letter-spacing: 0.08em;
}

body.page-id-75 .vcs-patient-story-feature-carousel .swiper,
body.page-id-75 .vcs-patient-story-feature-carousel .swiper-container,
body.page-id-75 .vcs-patient-story-feature-carousel .swiper-wrapper,
body.page-id-75 .vcs-patient-story-feature-carousel .swiper-slide {
	min-height: 0 !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-3a03760,
body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-4e069e3 {
	width: 100% !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-4e069e3 {
	align-items: center !important;
	gap: clamp(36px, 5vw, 76px) !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-3b6b616,
body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-867ba5a {
	min-width: 0 !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-3b6b616 img {
	width: 100% !important;
	min-height: clamp(420px, 42vw, 660px) !important;
	max-height: 660px !important;
	object-fit: cover !important;
	object-position: center center !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-8cce17d {
	min-width: max-content !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-bd7133e img {
	width: clamp(72px, 7vw, 118px) !important;
	height: auto !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .elementor-widget-container,
body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 p {
	font-size: clamp(2rem, 3vw, 3rem) !important;
	line-height: 1.08 !important;
	font-weight: 800 !important;
	color: #2c5c9c !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .vcs-patient-story-carousel-related {
	margin-top: 20px !important;
	font-size: clamp(1rem, 1.35vw, 1.25rem) !important;
	line-height: 1.45 !important;
	font-weight: 600 !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-eaecc18 .elementor-button {
	min-height: 44px !important;
	padding: 9px 22px !important;
	border: 2px solid var(--e-global-color-accent, #f2b12c) !important;
	border-radius: 60px !important;
	background: var(--e-global-color-accent, #f2b12c) !important;
	color: var(--e-global-color-primary, #163154) !important;
	font-weight: 800 !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .swiper-button-prev,
body.page-id-75 .vcs-patient-story-feature-carousel .swiper-button-next {
	color: var(--e-global-color-primary, #163154) !important;
}

@media (max-width: 1024px) {
	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-4e069e3 {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-3b6b616 img {
		min-height: 360px !important;
	}
}

@media (max-width: 767px) {
	body.page-id-75 .vcs-patient-story-feature-slider-section {
		padding: 52px 20px !important;
	}

	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .elementor-widget-container,
	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 p {
		font-size: 1.65rem !important;
		line-height: 1.14 !important;
	}
}

/* Patient Stories landing featured slider — person name is title; quote/excerpt is supporting copy. 2026-06-08 */
body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-8cce17d {
	display: none !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-psSlideName .elementor-heading-title {
	margin: 0 0 18px !important;
	color: var(--e-global-color-primary, #163154) !important;
	font-family: var(--e-global-typography-5217b2f-font-family, "Montserrat"), sans-serif !important;
	font-size: clamp(3.35rem, 5vw, 5.35rem) !important;
	line-height: 0.92 !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .elementor-widget-container,
body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 p {
	font-size: clamp(1.15rem, 1.55vw, 1.55rem) !important;
	line-height: 1.42 !important;
	font-weight: 500 !important;
	color: var(--e-global-color-primary, #163154) !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 > .elementor-widget-container {
	padding-left: 22px !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .vcs-patient-story-meta {
	margin: 0 0 16px !important;
	gap: 4px !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .vcs-patient-story-meta-line,
body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .vcs-patient-story-meta-line a {
	font-size: clamp(0.9rem, 1vw, 1.05rem) !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
}

body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .vcs-patient-story-meta-label {
	font-size: 0.78rem !important;
	letter-spacing: 0.18em !important;
}

@media (max-width: 767px) {
	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-psSlideName .elementor-heading-title {
		font-size: 2.45rem !important;
		line-height: 1 !important;
	}

	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 .elementor-widget-container,
	body.page-id-75 .vcs-patient-story-feature-carousel .elementor-47877 .elementor-element-d941826 p {
		font-size: 1.05rem !important;
		line-height: 1.45 !important;
	}
}

/* Single physician: primary-location values on blue field + testimonial quote encoding cleanup support. 2026-06-08 */
body.single-physician .vcs-single-physician-primary-location-value,
body.single-physician .vcs-single-physician-primary-location-value .elementor-widget-container,
body.single-physician .vcs-single-physician-primary-location-value .elementor-shortcode,
body.single-physician .vcs-single-physician-primary-location-value a {
	color: #ffffff !important;
}

/*
VCS sitewide card corners reset DISABLED — 2026-07-08 TSD/Gregg.
Reason: this broad reset forced Elementor containers/cards to square corners with
--border-radius: 0 !important and border-radius: 0 !important, which blocked
Elementor/Site Kit radius controls. Preserve the original rule below for rollback;
restore only if the square-card system is explicitly re-approved.

Original disabled rule:
body .elementor .elementor-element.e-con,
body .elementor .elementor-element.e-con.e-con,
body .elementor .elementor-loop-container .e-loop-item > .elementor,
body .elementor :is(.searchandfilter, .vcs-cta-card, .vcs-global-ready-talk-cta, .vcs-kb-treatment-card, .vcs-silo-section-toc-link),
body .elementor [class*="card" i]:not(.elementor-button):not(.elementor-button-content-wrapper),
body .elementor [class*="tile" i]:not(.elementor-button):not(.elementor-button-content-wrapper) {
	--border-radius: 0 !important;
	border-radius: 0 !important;
}

body .elementor .elementor-element.e-con::before,
body .elementor .elementor-element.e-con::after,
body .elementor [class*="card" i]::before,
body .elementor [class*="card" i]::after,
body .elementor [class*="tile" i]::before,
body .elementor [class*="tile" i]::after {
	border-radius: 0 !important;
}
End original disabled VCS sitewide card corners rule.
*/



/* VCS clinical trials metric number circles — restore after square-card reset. 2026-06-08
   Surgical exception: only the four statistic number badges on /clinical-trials/.
   Card/panel corners remain square per sitewide card system. */
body.page-id-43831 .elementor-43831 .elementor-element.elementor-element-ae0aee2 :is(.elementor-element-b95630a, .elementor-element-a90e901, .elementor-element-423440b, .elementor-element-cd27f44).elementor-widget-heading > .elementor-widget-container {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 126px !important;
	height: 126px !important;
	max-width: 126px !important;
	max-height: 126px !important;
	padding: 0 !important;
	border-radius: 999px !important;
}

body.page-id-43831 .elementor-43831 .elementor-element.elementor-element-ae0aee2 :is(.elementor-element-b95630a, .elementor-element-a90e901, .elementor-element-423440b, .elementor-element-cd27f44).elementor-widget-heading > .elementor-widget-container::before,
body.page-id-43831 .elementor-43831 .elementor-element.elementor-element-ae0aee2 :is(.elementor-element-b95630a, .elementor-element-a90e901, .elementor-element-423440b, .elementor-element-cd27f44).elementor-widget-heading > .elementor-widget-container::after {
	border-radius: 999px !important;
}
/* End VCS clinical trials metric number circles. */

/* VCS clinical trials metric circle text fit. 2026-06-08 */
body.page-id-43831 .elementor-43831 .elementor-element.elementor-element-ae0aee2 :is(.elementor-element-b95630a, .elementor-element-a90e901, .elementor-element-423440b, .elementor-element-cd27f44).elementor-widget-heading .elementor-heading-title {
	line-height: 1 !important;
	white-space: nowrap !important;
}

body.page-id-43831 .elementor-43831 .elementor-element.elementor-element-ae0aee2 .elementor-element-423440b.elementor-widget-heading .elementor-heading-title {
	font-size: 31px !important;
}

body.page-id-43831 .elementor-43831 .elementor-element.elementor-element-ae0aee2 .elementor-element-cd27f44.elementor-widget-heading .elementor-heading-title {
	font-size: 24px !important;
}
/* End VCS clinical trials metric circle text fit. */

/* VCS second opinions content/sidebar top margin restore. 2026-06-08
   Scoped to page 47565 so the main content card and sidebar card regain the
   legacy/interior breathing room below the hero without changing other pages. */
body.page-id-47565 .vcs-content-row {
	margin-top: 60px !important;
}

@media (max-width: 767px) {
	body.page-id-47565 .vcs-content-row {
		margin-top: 36px !important;
	}
}
/* End VCS second opinions content/sidebar top margin restore. */


/* Event Calendar review restoration — side-by-side featured/upcoming events + repeating meetings. 2026-06-09
   Local review exception: restores the earlier Event Calendar composition after later full-width meeting-card overrides. */
@media (min-width: 768px) {
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: 32px !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-main {
		width: calc(66.667% - 16px) !important;
		max-width: calc(66.667% - 16px) !important;
		flex: 1 1 calc(66.667% - 16px) !important;
		flex-basis: calc(66.667% - 16px) !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-sidebar,
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-meetings-full {
		width: calc(33.333% - 16px) !important;
		max-width: calc(33.333% - 16px) !important;
		flex: 0 0 calc(33.333% - 16px) !important;
		flex-basis: calc(33.333% - 16px) !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-sidebar .elementor-loop-container,
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-meetings-full .elementor-loop-container {
		display: block !important;
		grid-template-columns: none !important;
		gap: 0 !important;
	}
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar,
body.page-id-135 .vcs-events-archive .vcs-events-row-sidebar {
	border-top: 3px solid #f2b12c !important;
	padding-top: 24px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .e-loop-item + .e-loop-item,
body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .e-loop-item + .e-loop-item {
	margin-top: 22px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-8e2f1d5,
body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-element-8e2f1d5 {
	border-width: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-sgVwEvt,
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-DI4akcy,
body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-element-sgVwEvt,
body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .elementor-element-DI4akcy {
	display: none !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-past-main .elementor-loop-container {
	align-items: stretch !important;
	gap: 48px 36px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-past-main .e-loop-item > .elementor,
body.page-id-135 .vcs-events-archive .vcs-events-past-main .elementor-element-b6849e1 {
	height: 100% !important;
}

@media (max-width: 767px) {
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-main,
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-upcoming-sidebar,
	body.page-id-135 .vcs-events-archive .vcs-events-row-upcoming .vcs-events-meetings-full,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-sidebar,
	body.page-id-135 .vcs-events-archive .vcs-events-row-past .vcs-events-past-main {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 1 auto !important;
		flex-basis: auto !important;
	}
}
/* End Event Calendar review restoration. */


/* Event Calendar top-row sidebar compact typography — matches original upcoming-meetings rail. 2026-06-09 */
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar {
	padding: 18px 16px !important;
	gap: 8px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-diyUjls .elementor-heading-title {
	font-size: 13px !important;
	line-height: 1.2 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
	margin: 0 0 4px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-21bf6ee .elementor-heading-title {
	font-size: 13px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	margin: 0 !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-g6DNbAF .elementor-heading-title {
	font-size: 12px !important;
	line-height: 1.25 !important;
	font-weight: 400 !important;
	margin: 0 !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-ZFwFrRD {
	gap: 2px !important;
}

body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .e-loop-item + .e-loop-item,
body.page-id-135 .vcs-events-archive .vcs-events-meetings-full .e-loop-item + .e-loop-item {
	margin-top: 12px !important;
}
/* End Event Calendar top-row sidebar compact typography. */


/* Event Calendar top-row compact heading/empty-state restoration. 2026-06-09 */
body.page-id-135 .vcs-events-archive .elementor-element-heading_events .elementor-heading-title {
	font-size: 30px !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
}

body.page-id-135 .vcs-events-archive .elementor-element-KFpR6rA .elementor-heading-title,
body.page-id-135 .vcs-events-archive .vcs-events-upcoming-sidebar .elementor-element-diyUjls .elementor-heading-title {
	font-size: 14px !important;
	line-height: 1.25 !important;
	letter-spacing: 1.2px !important;
	text-transform: uppercase !important;
}

@supports selector(:has(*)) {
	body.page-id-135 .vcs-events-archive .elementor-element-VErh5HK:not(:has(.e-loop-item)) .elementor-widget-container::before {
		margin: 6px 0 0 !important;
		padding: 24px 24px !important;
		font-size: 15px !important;
		line-height: 1.45 !important;
		border-top-width: 3px !important;
		box-shadow: 0 14px 30px rgba(22, 48, 84, 0.05) !important;
	}
}
/* End Event Calendar top-row compact heading/empty-state restoration. */



/* Event Calendar Past Events row layout — one-column media rows. 2026-06-09
   Scoped to page 135 so the shared Event Slide loop item can remain unchanged elsewhere. */
body.page-id-135 .vcs-events-past-main .elementor-widget-loop-grid .elementor-loop-container.elementor-grid {
	grid-template-columns: 1fr !important;
	display: grid !important;
	gap: 34px !important;
}

body.page-id-135 .vcs-events-past-main .elementor-widget-loop-grid .e-loop-item {
	width: 100% !important;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-b6849e1 {
	background: transparent !important;
	border-top: 3px solid var(--e-global-color-accent, #f2b12c);
	padding-top: 26px;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-b6849e1 > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 52px);
	align-items: center;
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-8455ab1 {
	aspect-ratio: auto !important;
	width: 100% !important;
	max-width: 280px;
	align-self: center;
	justify-self: start;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-21efc8e img {
	width: 100% !important;
	max-height: 210px;
	aspect-ratio: 4 / 3 !important;
	object-fit: contain !important;
	object-position: center;
	display: block;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-VN8YLWh {
	padding: 0 !important;
	gap: 12px;
	justify-content: center;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-15ad000 .elementor-heading-title,
body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-15ad000 .elementor-heading-title a {
	color: var(--e-global-color-primary, #163154) !important;
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.1;
	font-weight: 800;
	text-decoration: none !important;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-4CNDtPj .elementor-heading-title {
	color: var(--e-global-color-primary, #163154) !important;
	font-size: clamp(17px, 1.45vw, 22px);
	line-height: 1.35;
	font-weight: 400;
	margin: 2px 0 10px;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-aX7aLDM .elementor-heading-title,
body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-aX7aLDM .elementor-heading-title p {
	color: var(--e-global-color-primary, #163154) !important;
	font-size: clamp(16px, 1.35vw, 20px);
	line-height: 1.55;
	font-weight: 400;
	margin: 0;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-5BdJGqX .elementor-button {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--e-global-color-primary, #163154) !important;
	fill: var(--e-global-color-primary, #163154) !important;
	padding: 0 !important;
	font-weight: 800 !important;
	text-decoration: none !important;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-5BdJGqX .elementor-button:hover,
body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-5BdJGqX .elementor-button:focus {
	background: transparent !important;
	color: var(--e-global-color-accent, #f2b12c) !important;
}

body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-5BdJGqX .elementor-button-text::after {
	content: " →";
	font-weight: 800;
}

@media (max-width: 767px) {
	body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-b6849e1 > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	body.page-id-135 .vcs-events-past-main .e-loop-item .elementor-element.elementor-element-8455ab1 {
		max-width: 100%;
	}
}

/* BEGIN Codex Michelle provider portrait normalization 2026-06-15
   Keeps single provider portraits visually consistent for QA while preserving source images/editability. */
body.single-physician .elementor-location-single .elementor-element-widget_photo .elementor-widget-container,
body.single-personnel .elementor-location-single .elementor-element-widget_photo .elementor-widget-container {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  width: 100%;
}

body.single-physician .elementor-location-single .elementor-element-widget_photo img,
body.single-personnel .elementor-location-single .elementor-element-widget_photo img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}
/* END Codex Michelle provider portrait normalization 2026-06-15 */

/* BEGIN Codex Michelle provider portrait widget-box square override 2026-06-15
   Elementor stores a negative top margin on the image widget container; normalize the whole widget box. */
body.single-physician .elementor-location-single .elementor-element-widget_photo,
body.single-personnel .elementor-location-single .elementor-element-widget_photo {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
}

body.single-physician .elementor-location-single .elementor-element-widget_photo .elementor-widget-container,
body.single-personnel .elementor-location-single .elementor-element-widget_photo .elementor-widget-container {
  aspect-ratio: auto !important;
  height: 100% !important;
  /* Let Elementor template 48185 own the portrait overlap margin.
     2026-06-18: removed hard reset that pushed single-physician photos down on frontend. */
  overflow: hidden;
}

body.single-physician .elementor-location-single .elementor-element-widget_photo img,
body.single-personnel .elementor-location-single .elementor-element-widget_photo img {
  height: 100% !important;
}
/* END Codex Michelle provider portrait widget-box square override 2026-06-15 */


/* VCS inline section search polish — 2026-07-22.
 * Reuses the approved global Search & Filter field treatment while leaving the
 * surrounding Elementor sidebar composition and existing CTA styling intact. */
[data-tsd-vcs-section-search] .searchandfilter {
	--vcs-filter-border: rgba(27, 57, 97, 0.16);
	--vcs-filter-border-strong: rgba(27, 57, 97, 0.28);
	--vcs-filter-text: #1b3961;
	--vcs-filter-muted: #6b7280;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

[data-tsd-vcs-section-search] .searchandfilter > ul {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

[data-tsd-vcs-section-search] .searchandfilter > ul > li,
[data-tsd-vcs-section-search] .searchandfilter label {
	display: block;
	margin: 0;
	padding: 0;
}

[data-tsd-vcs-section-search] .searchandfilter .sf-field-search input[type="text"],
[data-tsd-vcs-section-search] .searchandfilter .sf-field-search input[type="search"] {
	width: 100%;
	min-height: 56px;
	padding: 0 18px;
	border: 1px solid var(--vcs-filter-border);
	border-radius: 16px;
	background: #fff;
	color: var(--vcs-filter-text);
	font-family: "Montserrat", Geomanist, sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.75),
		0 10px 24px rgba(27, 57, 97, 0.06);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease,
		background-color 180ms ease;
}

[data-tsd-vcs-section-search] .searchandfilter .sf-field-search input::placeholder {
	color: var(--vcs-filter-muted);
	opacity: 1;
}

[data-tsd-vcs-section-search] .searchandfilter .sf-field-search input:hover {
	border-color: var(--vcs-filter-border-strong);
	background-color: #fff;
}

[data-tsd-vcs-section-search] .searchandfilter .sf-field-search input:focus {
	outline: none;
	border-color: rgba(27, 57, 97, 0.42);
	background-color: #fff;
	box-shadow:
		0 0 0 4px rgba(255, 199, 67, 0.2),
		0 12px 28px rgba(15, 23, 42, 0.1);
	transform: translateY(-1px);
}


/* ---------------------------------------------------------------------------
   Personnel credential lists (bio pages)
   Rendered by the `vcs-personnel-credential-list` dynamic tag, which binds into
   heading widgets -- so every element below is a <span> by necessity and this
   block is what gives them their box. Without this CSS the rows run together on
   one line, so keep it loaded wherever the Credentials block renders.
   Group labels copy the `pers_certl` heading widget's own type settings
   (12px / 600 / uppercase / 1px tracking / accent) so a level label sits at the
   same rank as the static "Certifications & Licenses" label above it.
--------------------------------------------------------------------------- */

.vcs-credential-list,
.vcs-credential-group {
	display: block;
}

.vcs-credential-list__item {
    /* The items are <span>s by necessity — the dynamic tag binds into a heading
       widget, so <ul>/<li> is not available. `display: list-item` is what puts a
       real marker on a span, and it keeps ::marker stylable. The margin reserves
       room for the marker, which `outside` positioning would otherwise clip. */
    display: list-item;
    list-style: disc outside;
    margin-left: 1.15em;
}

.vcs-credential-list__item::marker {
    color: currentColor;
}

.vcs-credential-list__item + .vcs-credential-list__item {
	margin-top: 0.15em;
}

.vcs-credential-group + .vcs-credential-group {
	margin-top: 0.9em;
}

.vcs-credential-group__label {
	display: block;
	margin-bottom: 0.15em;
	color: var(--e-global-color-accent, #f2b12c);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.4;
	text-transform: uppercase;
}
