/* ==========================================================================
   Citizens Behavioral Health - Public Styles
   ========================================================================== */

/* The CSS custom properties (--cbh-*) are dynamically injected via wp_head
   based on the Global Design System (Branding) settings. 
   Do not redefine them here. */

.cbh-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* ==========================================================================
   Header Module
   ========================================================================== */

.cbh-header-module {
	font-family: var(--cbh-font-primary, sans-serif);
	width: 100%;
	position: relative;
	z-index: 1000;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	background: var(--cbh-background, #FFFFFF);
}

.cbh-header-module * {
	box-sizing: border-box;
}

/* Topbar */
.cbh-header-topbar {
	background-color: var(--cbh-primary, #0D6EFD);
	color: #FFFFFF;
	padding: 8px 0;
	font-size: 13px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}

.cbh-topbar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
}

.cbh-topbar-left, .cbh-topbar-right {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-shrink: 0;
}

.cbh-topbar-item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.cbh-topbar-item a {
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 500;
}

.cbh-topbar-item a:hover {
	text-decoration: underline;
}

/* Social Icons */
.cbh-social-icon {
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(255,255,255,0.1);
	transition: background 0.3s ease;
}

.cbh-social-icon:hover {
	background: rgba(255,255,255,0.3);
}

/* Animated Ticker */
.cbh-topbar-center {
	flex-grow: 1;
	overflow: hidden;
	position: relative;
	height: 20px;
	display: flex;
	align-items: center;
}

.cbh-ticker-wrap {
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
}

.cbh-ticker-move {
	display: inline-block;
	white-space: nowrap;
	padding-right: 100%;
	animation: cbh-ticker 20s linear infinite;
}

.cbh-ticker-move:hover {
	animation-play-state: paused;
}

.cbh-ticker-item {
	display: inline-block;
	padding: 0 2rem;
	font-weight: 600;
	letter-spacing: 0.5px;
}

@keyframes cbh-ticker {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

/* Sticky Header */
.cbh-header-sticky-enabled.is-stuck {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1050;
	animation: slideDown 0.5s ease;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

@keyframes slideDown {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}

/* Main Header */
.cbh-header-main {
	padding: 15px 0;
}

.cbh-header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.cbh-logo a {
	display: inline-block;
	text-decoration: none;
}

.cbh-logo img {
	max-height: 50px;
	width: auto;
	display: block;
}

.cbh-logo-text {
	font-size: 24px;
	font-weight: var(--cbh-weight-heading, 700);
	color: var(--cbh-primary, #0D6EFD);
	letter-spacing: -0.5px;
	line-height: 1;
}

/* Navigation */
.cbh-main-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.cbh-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 20px;
}

.cbh-nav-list li {
	position: relative;
}

.cbh-nav-list a {
	color: var(--cbh-text, #1F2937);
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	transition: color 0.2s ease;
	padding: 10px 0;
	display: inline-block;
}

.cbh-nav-list a:hover {
	color: var(--cbh-primary, #0D6EFD);
}

/* Sub Menu */
.cbh-nav-list li.menu-item-has-children > a::after {
	content: '▾';
	display: inline-block;
	margin-left: 5px;
	font-size: 12px;
}

.cbh-nav-list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	background: var(--cbh-background, #FFFFFF);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	list-style: none;
	padding: 10px 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.3s ease;
	z-index: 100;
	border-radius: 4px;
}

.cbh-nav-list li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cbh-nav-list .sub-menu li {
	display: block;
}

.cbh-nav-list .sub-menu a {
	display: block;
	padding: 8px 20px;
	font-size: 15px;
	color: var(--cbh-text, #1F2937);
	border-bottom: none;
}

.cbh-nav-list .sub-menu a:hover {
	background: var(--cbh-border, #E5E7EB);
}

/* Actions & Button */
.cbh-header-actions {
	display: flex;
	align-items: center;
	gap: 20px;
}

.cbh-btn-cta {
	display: inline-block;
	background-color: var(--cbh-btn-secondary-bg, #1E40AF);
	color: #FFFFFF !important;
	padding: 12px 24px;
	border-radius: 5px;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	transition: background-color 0.2s ease, transform 0.2s ease;
	line-height: 1;
}

.cbh-btn-cta:hover {
	background-color: var(--cbh-btn-secondary-hover, #1e3a8a);
	transform: translateY(-2px);
}

.cbh-mobile-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 5px;
	color: var(--cbh-text, #1F2937);
}

/* Mobile Responsive */
@media (max-width: 1199px) {
	/* Mobile Off-canvas Sidebar */
	.cbh-main-nav {
		position: fixed;
		top: 0;
		right: -320px; /* Hidden off-screen */
		width: 320px;
		max-width: 90vw;
		height: 100vh;
		background: var(--cbh-background, #FFFFFF);
		box-shadow: -5px 0 20px rgba(0, 0, 0, 0.15);
		display: flex;
		flex-direction: column;
		padding: 20px;
		z-index: 9999;
		transition: right 0.3s ease-in-out;
		overflow-y: auto;
		border-top: none;
	}

	.cbh-main-nav.is-open {
		right: 0;
	}

	.cbh-mobile-sidebar-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 30px;
		padding-bottom: 15px;
		border-bottom: 1px solid var(--cbh-border, #E5E7EB);
	}

	.cbh-mobile-sidebar-header .cbh-logo img {
		max-height: 40px;
	}

	.cbh-mobile-sidebar-header .cbh-logo-text {
		font-size: 18px;
		font-weight: 700;
		color: var(--cbh-text, #1F2937);
	}

	.cbh-mobile-close {
		position: absolute;
		top: 50%;
		left: 20px;
		transform: translateY(-50%) rotate(-45deg);
		background: #FFFFFF;
		width: 48px;
		height: 48px;
		border-radius: 50% 0 50% 50%; /* Water drop shape pointing UP */
		border: none;
		color: var(--cbh-primary, #0D6EFD);
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.3s ease;
		box-shadow: 0 0 15px rgba(0,0,0,0.2);
	}

	.cbh-mobile-close svg {
		transform: rotate(45deg); /* Counter-rotate X to keep it upright */
		transition: transform 0.3s ease;
	}

	.cbh-mobile-close:hover {
		background: var(--cbh-primary, #0D6EFD);
		color: #FFFFFF;
		transform: translateY(-50%) rotate(-45deg) scale(1.05);
	}

	.cbh-mobile-close:hover svg {
		transform: rotate(135deg); /* Playful spin on hover */
	}

	/* Overlay */
	.cbh-mobile-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(0, 0, 0, 0.5);
		z-index: 9998;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	}

	.cbh-mobile-overlay.is-active {
		opacity: 1;
		visibility: visible;
	}

	/* Body no-scroll class */
	body.cbh-no-scroll {
		overflow: hidden;
	}

	.cbh-nav-list {
		flex-direction: column;
		gap: 0;
		margin-bottom: 20px;
	}

	.cbh-nav-list li {
		position: relative;
		display: flex;
		flex-direction: column;
	}

	.cbh-nav-list a {
		padding: 15px 0;
		border-bottom: 1px solid var(--cbh-border, #E5E7EB);
		display: block;
		width: 100%;
	}

	.cbh-submenu-toggle {
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
		background: none;
		border: none;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		color: var(--cbh-text, #1F2937);
		border-left: 1px solid var(--cbh-border, #E5E7EB);
		border-bottom: 1px solid var(--cbh-border, #E5E7EB);
		transition: all 0.3s ease;
	}

	.cbh-submenu-toggle svg {
		transition: transform 0.3s ease;
	}

	.cbh-submenu-toggle.is-active svg {
		transform: rotate(180deg);
	}

	.cbh-nav-list .sub-menu {
		position: static;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none; /* Hidden for accordion */
		padding-left: 20px;
		margin: 0;
		border-bottom: 1px solid var(--cbh-border, #E5E7EB);
	}

	.cbh-nav-list .sub-menu a {
		padding: 12px 0;
		border-bottom: 1px dashed var(--cbh-border, #E5E7EB);
	}

	.cbh-nav-list .sub-menu li:last-child a {
		border-bottom: none;
	}

	.cbh-mobile-toggle {
		display: block;
	}

	.cbh-header-actions .cbh-btn-cta {
		display: none;
	}

	.cbh-topbar-left, 
	.cbh-topbar-right {
		display: none !important;
	}

	.cbh-mobile-contact-social {
		display: flex;
		flex-direction: column;
		gap: 15px;
		padding-top: 20px;
		border-top: 1px solid var(--cbh-border, #E5E7EB);
	}
	
	.cbh-mobile-item {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 15px;
		color: var(--cbh-text, #1F2937);
	}
	
	.cbh-mobile-item a {
		color: var(--cbh-text, #1F2937);
		text-decoration: none;
		font-weight: 500;
	}

	.cbh-mobile-socials {
		display: flex;
		gap: 15px;
		margin-top: 10px;
	}

	.cbh-mobile-socials .cbh-social-icon {
		background: var(--cbh-primary, #0D6EFD);
		color: #fff;
		width: 32px;
		height: 32px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

@media (min-width: 1200px) {
	.cbh-mobile-contact-social,
	.cbh-mobile-sidebar-header,
	.cbh-mobile-overlay,
	.cbh-submenu-toggle {
		display: none !important;
	}
}

/* =========================================
   HOMEPAGE STYLES
   ========================================= */

.cbh-home-module {
	font-family: var(--cbh-font-primary, sans-serif);
	background: #f8fafc; /* subtle light bg */
}

/* Split Hero Slider */
.cbh-hero-split {
	position: relative;
	width: 100%;
	height: 85vh;
	min-height: 650px;
	display: flex;
	overflow: hidden;
	background-color: var(--cbh-primary, #0D6EFD); /* Base color for left side */
}

/* Left Column (Content) */
.cbh-hero-left {
	position: relative;
	width: 42%;
	height: 100%;
	display: flex;
	align-items: center;
	background-color: var(--cbh-primary, #0D6EFD); /* Ensure image doesn't peek through */
	z-index: 3;
}

.cbh-hero-content-slider {
	position: relative;
	width: 100%;
	padding: 40px 40px 40px 10%; /* Padding matches container alignment */
	display: grid;
	align-items: center;
}

/* Beautiful Gradient Joint */
.cbh-hero-blend-mask {
	position: absolute;
	top: 0;
	left: 99%; /* Start slightly inside to prevent 1px render gaps */
	width: 25vw; /* Smooth fade revealing more image */
	height: 100%;
	background: linear-gradient(to right, var(--cbh-primary, #0D6EFD) 0%, rgba(13, 110, 253, 0) 100%);
	z-index: 3;
	pointer-events: none;
}

.cbh-slide-content {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(30px);
	transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.cbh-slide-content.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

/* Right Column (Images) */
.cbh-hero-right {
	position: absolute;
	top: 0;
	right: 0;
	width: 65%; /* Extended behind the gradient joint */
	height: 100%;
	z-index: 1;
	overflow: hidden;
}

.cbh-hero-image-slider {
	position: relative;
	width: 100%;
	height: 100%;
}

.cbh-slide-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1.2s ease-in-out, transform 8s ease-out;
	transform: scale(1.05);
}

.cbh-slide-image.active {
	opacity: 1;
	transform: scale(1);
	z-index: 2;
}

.cbh-slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* Extra overlay for text contrast on the image side if needed */
	background: linear-gradient(to top, rgba(0, 0, 0, 0.2) 0%, transparent 40%);
}

.cbh-slide-title {
	font-size: 46px; /* Reduced for premium look */
	line-height: 1.15;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 20px;
	letter-spacing: -0.5px;
	text-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.cbh-slide-desc {
	font-size: 18px; /* Reduced for premium look */
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 35px;
	max-width: 90%;
	font-weight: 400;
}

.cbh-slide-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.cbh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	font-size: 16px;
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	cursor: pointer;
}

/* Specific styling for hero slide buttons to ensure visibility on blue background */
.cbh-slide-actions .cbh-btn-primary {
	background-color: #ffffff !important;
	color: var(--cbh-primary, #0D6EFD) !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	border: 2px solid transparent !important;
}

.cbh-slide-actions .cbh-btn-primary:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
	background-color: #f8fafc !important;
}

.cbh-slide-actions .cbh-btn-secondary {
	background-color: transparent !important;
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
}

.cbh-slide-actions .cbh-btn-secondary:hover {
	border-color: #ffffff !important;
	background-color: rgba(255, 255, 255, 0.1) !important;
	color: #ffffff !important;
	transform: translateY(-3px);
}

.cbh-btn-primary:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
	background-color: #f8fafc;
	color: var(--cbh-primary, #0D6EFD);
}

.cbh-btn-secondary {
	background-color: transparent;
	color: #ffffff;
	border: 2px solid rgba(255, 255, 255, 0.4);
}

.cbh-btn-secondary:hover {
	border-color: #ffffff;
	background-color: rgba(255, 255, 255, 0.1);
	color: #ffffff;
	transform: translateY(-3px);
}

/* Slider Controls */
.cbh-slider-controls {
	position: absolute;
	bottom: 50px;
	right: 50px;
	display: flex;
	gap: 15px;
	z-index: 10;
}

.cbh-slider-prev,
.cbh-slider-next {
	width: 54px;
	height: 54px;
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 50%;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	pointer-events: auto;
	transition: all 0.3s ease;
}

.cbh-slider-prev:hover,
.cbh-slider-next:hover {
	background: #ffffff;
	color: var(--cbh-primary, #0D6EFD);
	border-color: #ffffff;
	transform: scale(1.05);
}

/* Slider Dots */
.cbh-slider-dots {
	position: absolute;
	bottom: 65px;
	left: 45%;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
	z-index: 10;
}

.cbh-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	border: none;
	cursor: pointer;
	transition: all 0.4s ease;
	padding: 0;
}

.cbh-dot.active, .cbh-dot:hover {
	background: #ffffff;
	transform: scale(1.5);
}

/* Trust Badges */
.cbh-trust-badges {
	background: #ffffff;
	padding: 30px 0;
	box-shadow: 0 10px 30px rgba(0,0,0,0.03);
	position: relative;
	z-index: 5;
	border-bottom: 1px solid #e2e8f0;
}

.cbh-badges-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 30px;
}

.cbh-badge-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #475569;
	font-weight: 600;
	font-size: 15px;
}

.cbh-badge-item svg {
	color: var(--cbh-primary, #0D6EFD);
}

/* =========================================
   FEATURES SECTION (PREMIUM GRID)
   ========================================= */

.cbh-features-section {
	padding: 120px 0;
	background-color: #f8fafc; /* Very soft cool gray background */
	position: relative;
}

.cbh-features-header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 60px;
}

.cbh-badge-pill {
	display: inline-block;
	background: rgba(13, 110, 253, 0.1);
	color: var(--cbh-primary, #0D6EFD);
	padding: 8px 18px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 24px;
}

.cbh-section-title {
	font-size: 44px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 24px;
	line-height: 1.15;
	letter-spacing: -0.5px;
}

.cbh-section-desc {
	font-size: 18px;
	color: #475569;
	line-height: 1.7;
	font-weight: 400;
}

/* Right Grid Column -> Standard Grid */
.cbh-features-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 60px;
}

/* Premium Feature Cards */
.cbh-feature-card {
	background: #ffffff;
	border-radius: 24px;
	padding: 45px 35px;
	box-shadow: 0 10px 40px rgba(15, 23, 42, 0.04);
	border: 1px solid rgba(226, 232, 240, 0.8);
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.cbh-feature-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 25px 50px rgba(15, 23, 42, 0.08);
	border-color: rgba(13, 110, 253, 0.2);
}

.cbh-feature-icon-wrapper {
	width: 64px;
	height: 64px;
	background: rgba(13, 110, 253, 0.06);
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cbh-primary, #0D6EFD);
	transition: all 0.4s ease;
}

.cbh-feature-card:hover .cbh-feature-icon-wrapper {
	background: var(--cbh-primary, #0D6EFD);
	color: #ffffff;
	transform: scale(1.05);
}

.cbh-feature-title {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 12px 0;
	line-height: 1.3;
}

.cbh-feature-desc {
	font-size: 16px;
	color: #64748b;
	line-height: 1.6;
	margin: 0;
}

/* CTA Area */
.cbh-features-cta {
	background: #ffffff;
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-radius: 24px;
	padding: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.04);
}

.cbh-features-cta-text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 650px;
}

.cbh-cta-title {
	font-size: 24px;
	font-weight: 700;
	color: #0f172a;
	margin: 0;
	line-height: 1.3;
	letter-spacing: -0.5px;
}

.cbh-cta-subtitle {
	font-size: 16px;
	font-weight: 400;
	color: #64748b;
	margin: 0;
	line-height: 1.6;
}

.cbh-features-cta-actions {
	display: flex;
	gap: 16px;
	flex-shrink: 0;
}

@media (max-width: 991px) {
	.cbh-hero-split {
		flex-direction: column-reverse; /* Put image on top, text on bottom */
		height: auto;
		display: flex;
	}
	.cbh-hero-left {
		position: relative;
		width: 100%;
		height: auto;
		min-height: 50vh;
		padding-bottom: 60px; /* Space for dots */
	}
	.cbh-hero-blend-mask {
		/* Change the joint to be horizontal, sitting at the top of the text section */
		top: -15vh;
		left: 0; /* Reset desktop value to align properly */
		right: auto;
		width: 100%;
		height: 15.2vh; /* Slight overlap to prevent rendering gap */
		background: linear-gradient(to bottom, rgba(13, 110, 253, 0) 0%, var(--cbh-primary, #0D6EFD) 100%);
	}
	.cbh-hero-right {
		position: relative;
		width: 100%;
		height: 50vh;
		min-height: 350px;
		-webkit-mask-image: none;
		mask-image: none;
	}
	.cbh-hero-content-slider {
		padding: 40px 20px 20px 20px;
	}
	.cbh-slide-title {
		font-size: 32px;
	}
	.cbh-badges-wrapper {
		gap: 15px;
		justify-content: flex-start;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 10px;
	}
	.cbh-badge-item {
		white-space: nowrap;
	}
	.cbh-slider-controls {
		display: none;
	}
	.cbh-slider-dots {
		bottom: 15px;
	}

	/* Features Grid Responsive */
	.cbh-features-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.cbh-features-cta {
		flex-direction: column;
		text-align: center;
		padding: 40px 30px;
		gap: 25px;
	}

	/* Programs Grid Responsive */
	.cbh-programs-grid {
		grid-template-columns: 1fr;
	}
	.cbh-programs-grid .cbh-program-img-wrapper {
		height: 300px;
	}

	/* Programs Tabs Responsive */
	.cbh-programs-tabs {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.cbh-tab-btn {
		flex: 1 1 calc(50% - 10px);
		text-align: center;
	}

	.cbh-programs-cta {
		flex-direction: column;
		text-align: center;
		padding: 40px 30px;
		gap: 25px;
	}
}

@media (max-width: 768px) {
	/* Features Grid Mobile */
	.cbh-features-grid {
		grid-template-columns: 1fr;
	}
	.cbh-section-title {
		font-size: 32px;
	}
	.cbh-features-cta {
		flex-direction: column;
		width: 100%;
	}
	.cbh-features-cta .cbh-btn {
		width: 100%;
	}

	/* Programs Grid Mobile */
	.cbh-programs-grid {
		grid-template-columns: 1fr;
	}
	.cbh-programs-cta-actions {
		flex-direction: column;
		width: 100%;
	}
	.cbh-programs-cta-actions .cbh-btn {
		width: 100%;
	}
}

/* =========================================
   TREATMENT PROGRAMS SECTION
   ========================================= */

.cbh-programs-section {
	padding: 40px 0 80px 0;
	background: #ffffff; /* Contrast with the features section */
}

.cbh-programs-header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 60px;
}

.cbh-programs-interactive {
	margin-bottom: 50px;
}

.cbh-program-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
	margin-bottom: 40px;
}

.cbh-program-tab {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #475569;
	font-weight: 600;
	font-size: 16px;
	padding: 12px 24px;
	border-radius: 50px;
	cursor: pointer;
	transition: all 0.3s ease;
	font-family: var(--cbh-font-primary);
}

.cbh-program-tab:hover {
	background: #e2e8f0;
	color: #0f172a;
}

.cbh-program-tab.active {
	background: var(--cbh-primary);
	color: #ffffff;
	border-color: var(--cbh-primary);
	box-shadow: 0 4px 10px rgba(13, 110, 253, 0.3);
}

.cbh-program-showcase {
	position: relative;
	min-height: 650px; /* Increased to prevent layout jumping */
}

.cbh-program-panel {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	display: flex;
	flex-direction: row;
}

.cbh-program-panel.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	position: relative; /* Takes up space when active */
}

.cbh-program-panel-image {
	width: 45%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 400px;
}

.cbh-program-panel-content {
	width: 55%;
	padding: 50px 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cbh-program-panel-title {
	font-size: 32px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 20px;
	line-height: 1.2;
}

.cbh-program-panel-desc {
	font-size: 18px;
	color: #475569;
	line-height: 1.6;
	margin-bottom: 30px;
}

.cbh-program-benefits {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px 20px;
}

.cbh-program-benefits li {
	display: flex;
	align-items: flex-start;
	color: #334155;
	font-weight: 500;
	font-size: 16px;
}

.cbh-program-benefits li svg {
	color: var(--cbh-primary);
	margin-right: 12px;
	margin-top: 2px;
	flex-shrink: 0;
}

@media (max-width: 992px) {
	.cbh-program-panel {
		flex-direction: column;
	}
	.cbh-program-panel-image {
		width: 100%;
		height: 300px;
		min-height: auto;
	}
	.cbh-program-panel-content {
		width: 100%;
		padding: 40px;
	}
}

@media (max-width: 768px) {
	.cbh-program-benefits {
		grid-template-columns: 1fr;
	}
	.cbh-program-panel-content {
		padding: 30px 20px;
	}
	.cbh-program-panel-title {
		font-size: 26px;
	}
}

.cbh-programs-cta {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	padding: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.04);
}

.cbh-programs-cta-text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 650px;
}

.cbh-programs-cta-actions {
	display: flex;
	gap: 16px;
	flex-shrink: 0;
}

/* =========================================
   CONDITIONS WE TREAT SECTION
   ========================================= */

.cbh-conditions-section {
	padding: 50px 0 100px 0;
	background: #f8fafc;
	position: relative;
}

.cbh-conditions-header {
	text-align: center;
	max-width: 650px;
	margin: 0 auto 50px;
}

.cbh-conditions-header .cbh-badge-pill {
	background: rgba(13, 110, 253, 0.1);
	color: var(--cbh-primary);
	border: 1px solid rgba(13, 110, 253, 0.2);
}

.cbh-conditions-header .cbh-section-title {
	color: #0f172a;
	font-size: 36px;
	line-height: 1.2;
}

.cbh-conditions-header .cbh-section-desc {
	color: #64748b;
	font-size: 16px;
	line-height: 1.6;
}

/* CAROUSEL STYLES */
.cbh-conditions-carousel-wrapper {
	position: relative;
	margin: 0 -20px 60px;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.cbh-carousel-btn {
	background: #ffffff;
	border: none;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cbh-primary);
	cursor: pointer;
	box-shadow: 0 4px 15px rgba(0,0,0,0.08);
	transition: all 0.3s ease;
	z-index: 2;
	flex-shrink: 0;
}

.cbh-carousel-btn:hover {
	background: var(--cbh-primary);
	color: #ffffff;
	transform: scale(1.05) translateY(-2px);
	box-shadow: 0 8px 25px rgba(13, 110, 253, 0.25);
}

.cbh-conditions-carousel-track-container {
	flex: 1;
	overflow: hidden;
	position: relative;
	padding: 20px 0;
	mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 3%, black 97%, transparent);
}

.cbh-conditions-carousel-track {
	display: flex;
	gap: 30px;
	align-items: stretch; /* Force all slides to have the same height */
	transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.cbh-carousel-slide {
	flex: 0 0 calc(33.333% - 20px);
	min-width: 0;
	display: flex;
}

/* CARD STYLES */
.cbh-condition-card {
	background: #ffffff;
	border-radius: 20px;
	padding: 40px 30px;
	transition: all 0.4s ease;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
	border: 1px solid rgba(0, 0, 0, 0.04);
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
}

.cbh-condition-card::after {
	content: '';
	position: absolute;
	bottom: 0; left: 0; width: 100%; height: 4px;
	background: var(--cbh-primary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cbh-condition-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
	border-color: transparent;
}

.cbh-condition-card:hover::after {
	transform: scaleX(1);
}

.cbh-condition-icon {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: #f1f5f9;
	color: var(--cbh-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.cbh-condition-icon svg {
	width: 32px;
	height: 32px;
	stroke-width: 1.5;
}

.cbh-condition-card:hover .cbh-condition-icon {
	background: var(--cbh-primary);
	color: #ffffff;
	transform: scale(1.1) rotate(5deg);
	box-shadow: 0 10px 25px rgba(13, 110, 253, 0.25);
}

.cbh-condition-title {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 15px;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.cbh-condition-desc {
	font-size: 15px;
	color: #64748b;
	line-height: 1.6;
	margin: 0;
	flex: 1;
}

/* CAROUSEL DOTS */
.cbh-carousel-dots {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 30px;
}

.cbh-carousel-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #cbd5e1;
	border: none;
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	padding: 0;
}

.cbh-carousel-dot:hover {
	background: #94a3b8;
	transform: scale(1.2);
}

.cbh-carousel-dot.active {
	background: var(--cbh-primary);
	transform: scale(1.4);
	box-shadow: 0 4px 10px rgba(13, 110, 253, 0.3);
}

/* RESPONSIVE */
@media (max-width: 1200px) {
	.cbh-carousel-slide {
		flex: 0 0 calc(33.333% - 16px);
	}
}

@media (max-width: 992px) {
	.cbh-carousel-slide {
		flex: 0 0 calc(50% - 12px);
	}
}

@media (max-width: 768px) {
	.cbh-conditions-section {
		padding: 70px 0;
	}
	.cbh-carousel-slide {
		flex: 0 0 100%;
	}
	.cbh-conditions-carousel-wrapper {
		margin: 0 0 40px;
		padding: 0;
	}
	.cbh-carousel-btn {
		display: none; /* Hide arrows on mobile, let them swipe/scroll (or JS auto-play) */
	}
	.cbh-conditions-carousel-track-container {
		mask-image: none;
		-webkit-mask-image: none;
	}
	.cbh-conditions-highlight-box p {
		font-size: 18px;
	}
	.cbh-conditions-cta-actions {
		flex-direction: column;
	}
}

/* =========================================
   ADMISSIONS PROCESS SECTION
   ========================================= */

.cbh-admissions-section {
	padding: 100px 0;
	background: #f8fafc;
}

.cbh-admissions-header {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 60px;
}

.cbh-timeline-container {
	position: relative;
	margin: 0 auto 60px;
	max-width: 1200px;
}

.cbh-timeline {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

.cbh-timeline-track {
	position: absolute;
	top: 30px; /* Center with the 60px icon */
	left: 5%;
	right: 5%;
	height: 4px;
	background: #e2e8f0;
	z-index: -1;
	border-radius: 4px;
}

.cbh-timeline-item {
	flex: 1;
	text-align: center;
	padding: 0 15px;
	position: relative;
	display: flex;
	flex-direction: column;
}

.cbh-timeline-marker {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 25px;
	align-self: center;
}

.cbh-timeline-icon {
	width: 60px;
	height: 60px;
	background: #ffffff;
	border: 4px solid #e2e8f0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	transition: all 0.4s ease;
	box-shadow: 0 10px 20px rgba(0,0,0,0.05);
	z-index: 2;
}

.cbh-timeline-item.active .cbh-timeline-icon {
	border-color: var(--cbh-primary);
	color: var(--cbh-primary);
	transform: scale(1.1);
	box-shadow: 0 15px 30px rgba(13,110,253,0.15);
}

.cbh-timeline-item.done .cbh-timeline-icon {
	background: var(--cbh-primary);
	border-color: var(--cbh-primary);
	color: #ffffff;
}

.cbh-timeline-number {
	position: absolute;
	top: -10px;
	right: -10px;
	background: var(--cbh-primary);
	color: #fff;
	font-weight: 700;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	border: 3px solid #f8fafc;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	z-index: 3;
}

.cbh-timeline-content {
	background: #ffffff;
	padding: 30px 20px;
	border-radius: 16px;
	box-shadow: 0 4px 15px rgba(0,0,0,0.03);
	border: 1px solid rgba(0,0,0,0.04);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	flex: 1;
}

.cbh-timeline-item.active .cbh-timeline-content {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0,0,0,0.08);
	border-color: rgba(13,110,253,0.2);
}

.cbh-timeline-item.done .cbh-timeline-content {
	border-color: rgba(13,110,253,0.3);
}

.cbh-timeline-title {
	font-size: 20px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 15px;
}

.cbh-timeline-desc {
	font-size: 15px;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

/* Final Step "Healing Ripple" Effect */
.cbh-timeline-item:last-child .cbh-timeline-icon {
	position: relative;
}
.cbh-timeline-item:last-child .cbh-timeline-icon::after {
	content: '';
	position: absolute;
	top: -4px; left: -4px; right: -4px; bottom: -4px;
	border-radius: 50%;
	border: 2px solid var(--cbh-primary);
	opacity: 0;
	pointer-events: none;
}
.cbh-timeline-item:last-child.active .cbh-timeline-icon::after {
	animation: cbh-healing-ripple 1.8s ease-out infinite;
}
@keyframes cbh-healing-ripple {
	0% {
		transform: scale(1);
		opacity: 0.6;
	}
	100% {
		transform: scale(1.6);
		opacity: 0;
	}
}

.cbh-admissions-highlight {
	background: rgba(13, 110, 253, 0.05);
	border-left: 4px solid var(--cbh-primary);
	padding: 25px 30px;
	border-radius: 0 12px 12px 0;
	display: flex;
	align-items: flex-start;
	max-width: 900px;
	margin: 0 auto 60px;
}

.cbh-highlight-icon {
	color: var(--cbh-primary);
	margin-right: 20px;
	flex-shrink: 0;
}

.cbh-admissions-highlight p {
	font-size: 18px;
	color: #1e293b;
	font-weight: 500;
	margin: 0;
	line-height: 1.6;
}

.cbh-admissions-info-panel {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 24px;
	padding: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 20px 40px rgba(0,0,0,0.04);
}

.cbh-info-panel-text {
	max-width: 60%;
}

.cbh-info-panel-text h3 {
	font-size: 28px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 15px;
}

.cbh-info-panel-text p {
	font-size: 17px;
	color: #475569;
	margin: 0;
	line-height: 1.6;
}

.cbh-info-panel-actions {
	display: flex;
	gap: 15px;
}

.cbh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 28px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
	border: 2px solid transparent;
}

.cbh-btn-primary {
	background-color: var(--cbh-primary, #0D6EFD);
	color: #ffffff !important;
}

.cbh-btn-primary:hover {
	background-color: #0b5ed7;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2);
}

.cbh-btn-secondary.cbh-btn-outline {
	background-color: transparent;
	border-color: var(--cbh-primary, #0D6EFD);
	color: var(--cbh-primary, #0D6EFD) !important;
}

.cbh-btn-secondary.cbh-btn-outline:hover {
	background-color: var(--cbh-primary, #0D6EFD);
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(13, 110, 253, 0.2);
}

@media (max-width: 992px) {
	.cbh-timeline {
		flex-direction: column;
		gap: 30px;
	}
	.cbh-timeline-track {
		left: 55px; /* (15px padding + 40px half-icon) */
		top: 0;
		bottom: 0;
		width: 4px;
		height: auto;
		right: auto;
	}
	.cbh-timeline-item {
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
		padding: 0 15px;
	}
	.cbh-timeline-marker {
		margin-right: 25px;
		margin-bottom: 0;
		align-self: flex-start;
	}
	.cbh-admissions-info-panel {
		flex-direction: column;
		text-align: center;
		padding: 40px 25px;
	}
	.cbh-info-panel-text {
		max-width: 100%;
		margin-bottom: 30px;
	}
}

@media (max-width: 768px) {
	.cbh-timeline-track {
		left: 40px; /* No padding on container on small mobile maybe? */
	}
	.cbh-timeline-item {
		padding: 0;
	}
	.cbh-info-panel-actions {
		flex-direction: column;
		width: 100%;
	}
	.cbh-info-panel-actions .cbh-btn {
		width: 100%;
	}
	.cbh-info-panel-text h3 {
		font-size: 24px;
		margin-bottom: 12px;
	}
	.cbh-info-panel-text p {
		font-size: 16px;
	}
	.cbh-admissions-highlight {
		flex-direction: column;
		padding: 20px;
	}
	.cbh-highlight-icon {
		margin-bottom: 15px;
	}
}


/* =========================================
   FOOTER STYLES
   ========================================= */

.cbh-footer-main {
	background-color: var(--cbh-primary, #0D6EFD);
	color: #FFFFFF;
	margin-top: 80px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.cbh-footer-top {
	display: grid;
	grid-template-columns: 1fr;
	gap: 50px;
	padding: 80px 0 50px;
}

@media (min-width: 768px) {
	.cbh-footer-top {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.cbh-footer-top {
		grid-template-columns: 2fr 1.2fr 1.2fr 1.5fr;
		gap: 40px;
	}
}

.cbh-footer-col {
	display: flex;
	flex-direction: column;
}

.cbh-footer-logo {
	margin-bottom: 25px;
}

.cbh-footer-logo img {
	max-height: 55px;
	display: block;
}

.cbh-footer-logo .cbh-logo-text {
	font-size: 24px;
	font-weight: 700;
	color: #FFFFFF;
	letter-spacing: -0.5px;
}

.cbh-footer-about {
	font-size: 15px;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 25px;
}

.cbh-footer-socials {
	display: flex;
	gap: 15px;
}

.cbh-footer-socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, 0.2);
	transition: all 0.3s ease;
}

.cbh-footer-socials a:hover {
	background: #FFFFFF;
	color: var(--cbh-primary, #0D6EFD);
	transform: translateY(-4px);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
}

.cbh-footer-title {
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 24px;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 1px;
	position: relative;
	padding-bottom: 10px;
}

.cbh-footer-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 2px;
	background: var(--cbh-warning_color, #F59E0B);
	border-radius: 2px;
}

.cbh-footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cbh-footer-menu li {
	margin-bottom: 12px;
	position: relative;
	padding-left: 15px;
	transition: all 0.3s ease;
}

.cbh-footer-menu li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 6px;
	height: 6px;
	background: var(--cbh-warning_color, #F59E0B);
	border-radius: 50%;
	transition: all 0.3s ease;
}

.cbh-footer-menu li:hover::before {
	background: #ffffff;
	transform: scale(1.2);
}

.cbh-footer-menu a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	transition: all 0.3s ease;
	display: inline-block;
}

.cbh-footer-menu a:hover {
	color: #ffffff;
	transform: translateX(4px);
}

.cbh-footer-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cbh-footer-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
	line-height: 1.5;
}

.cbh-footer-contact-list li svg {
	min-width: 18px;
	margin-top: 0;
	color: #ffffff;
	background: rgba(255,255,255,0.1);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 50%;
	padding: 8px;
	box-sizing: content-box;
	transition: all 0.3s ease;
}

.cbh-footer-contact-list li:hover svg {
	background: #ffffff;
	color: var(--cbh-primary, #0D6EFD);
	transform: scale(1.1);
	border-color: #ffffff;
}

.cbh-footer-contact-list a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	transition: color 0.3s ease;
}

.cbh-footer-contact-list a:hover {
	color: #ffffff;
}

.cbh-footer-bottom {
	background: #060913;
	padding: 25px 0;
	border-top: 1px solid rgba(255,255,255,0.05);
}

.cbh-footer-bottom-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.cbh-copyright {
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
	margin: 0;
}

/* =========================================
   MOBILE BOTTOM BAR (APP-STYLE)
   ========================================= */

.cbh-mobile-bottom-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #ffffff;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 10px 5px;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
	z-index: 9999;
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease;
}

.cbh-bottom-bar-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #64748b; /* slate-500 */
	background: transparent;
	border: none;
	padding: 5px;
	flex: 1;
	cursor: pointer;
	transition: all 0.2s ease;
}

.cbh-bottom-bar-item svg {
	margin-bottom: 4px;
	stroke: currentColor;
	transition: all 0.2s ease;
}

.cbh-bottom-bar-item span {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.cbh-bottom-bar-item:hover,
.cbh-bottom-bar-item:focus,
.cbh-bottom-bar-item.is-active {
	color: var(--cbh-primary, #0D6EFD);
	outline: none;
}

.cbh-bottom-bar-item:hover svg {
	transform: translateY(-2px);
}

/* Add padding to body to prevent content from hiding behind the bar */
body {
	padding-bottom: 70px;
}

@media (min-width: 1024px) {
	.cbh-mobile-bottom-bar {
		display: none !important;
	}
	body {
		padding-bottom: 0 !important;
	}
}

@media (min-width: 768px) {
	.cbh-footer-bottom-inner {
		flex-direction: row;
		justify-content: space-between;
	}
}


/* =========================================
   INSURANCE & PAYMENT SECTION
   ========================================= */

.cbh-insurance-section {
	padding: 100px 0;
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	color: #ffffff;
	position: relative;
	overflow: hidden;
}

/* Background Pattern overlay */
.cbh-insurance-section::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-image: radial-gradient(circle at 100% 0%, rgba(13,110,253,0.15) 0%, transparent 50%),
	                  radial-gradient(circle at 0% 100%, rgba(13,110,253,0.1) 0%, transparent 50%);
	pointer-events: none;
}

.cbh-insurance-header {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 60px;
	position: relative;
	z-index: 2;
}

.cbh-insurance-header .cbh-badge-pill {
	background: rgba(255,255,255,0.1);
	color: #cbd5e1;
	border: 1px solid rgba(255,255,255,0.2);
}

.cbh-insurance-header .cbh-section-title {
	color: #ffffff;
}

.cbh-insurance-header .cbh-section-desc {
	color: #94a3b8;
}

.cbh-insurance-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-bottom: 40px;
	position: relative;
	z-index: 2;
}

.cbh-ins-card {
	background: #ffffff;
	border-radius: 24px;
	padding: 40px 30px;
	color: #0f172a;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	box-shadow: 0 10px 30px rgba(0,0,0,0.2);
	position: relative;
	overflow: hidden;
}

.cbh-ins-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; height: 6px;
	background: var(--cbh-primary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s ease;
}

.cbh-ins-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.cbh-ins-card:hover::before {
	transform: scaleX(1);
}

.cbh-ins-icon {
	width: 64px;
	height: 64px;
	border-radius: 16px;
	background: rgba(13,110,253,0.1);
	color: var(--cbh-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 25px;
	transition: all 0.3s ease;
}

.cbh-ins-card:hover .cbh-ins-icon {
	background: var(--cbh-primary);
	color: #ffffff;
	transform: scale(1.1) rotate(5deg);
}

.cbh-ins-card h3 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #0f172a;
}

.cbh-ins-card p {
	font-size: 16px;
	color: #475569;
	line-height: 1.6;
	margin: 0;
}

.cbh-insurance-grid-bottom {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-bottom: 50px;
	position: relative;
	z-index: 2;
}

.cbh-ins-notice, .cbh-ins-no-ins {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 20px;
	padding: 35px;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	backdrop-filter: blur(10px);
}

.cbh-ins-notice-icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(16, 185, 129, 0.2);
	color: #34d399;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.cbh-ins-icon-alt {
	background: rgba(245, 158, 11, 0.2);
	color: #fbbf24;
}

.cbh-ins-notice-text h4 {
	font-size: 20px;
	font-weight: 600;
	color: #ffffff;
	margin-bottom: 10px;
}

.cbh-ins-notice-text p {
	font-size: 15px;
	color: #cbd5e1;
	line-height: 1.6;
	margin: 0;
}

.cbh-ins-cta {
	display: flex;
	justify-content: center;
	gap: 20px;
	position: relative;
	z-index: 2;
}

.cbh-ins-cta .cbh-btn-secondary.cbh-btn-outline {
	border-color: rgba(255,255,255,0.3);
	color: #ffffff !important;
}

.cbh-ins-cta .cbh-btn-secondary.cbh-btn-outline:hover {
	background: #ffffff;
	color: #0f172a !important;
}

@media (max-width: 992px) {
	.cbh-insurance-cards {
		grid-template-columns: repeat(2, 1fr);
	}
	.cbh-insurance-grid-bottom {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.cbh-insurance-section {
		padding: 70px 0;
	}
	.cbh-insurance-cards {
		grid-template-columns: 1fr;
	}
	.cbh-ins-cta {
		flex-direction: column;
	}
	.cbh-ins-cta .cbh-btn {
		width: 100%;
	}
	.cbh-ins-notice, .cbh-ins-no-ins {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}


/* =========================================
   FINAL CTA SECTION
   ========================================= */

.cbh-final-cta-section {
	padding: 120px 0;
	background: #ffffff;
	color: #0f172a;
	position: relative;
	overflow: hidden;
}

.cbh-final-cta-bg {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-image: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="dots" width="40" height="40" patternUnits="userSpaceOnUse"><circle cx="2" cy="2" r="2" fill="rgba(13,110,253,0.08)"/></pattern></defs><rect width="100%" height="100%" fill="url(%23dots)"/></svg>');
	opacity: 0.8;
	pointer-events: none;
}

.cbh-final-cta-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
	position: relative;
	z-index: 2;
}

.cbh-final-cta-left {
	flex: 1;
	max-width: 600px;
}

.cbh-final-cta-left .cbh-badge-pill-light {
	background: rgba(13,110,253,0.1);
	color: var(--cbh-primary, #0D6EFD);
	border: 1px solid rgba(13,110,253,0.2);
	margin-bottom: 25px;
	display: inline-block;
}

.cbh-final-title {
	font-size: 48px;
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 25px;
	color: #0f172a;
	letter-spacing: -0.02em;
}

.cbh-final-desc {
	font-size: 20px;
	color: #475569;
	line-height: 1.6;
	margin-bottom: 40px;
}

.cbh-final-buttons {
	display: flex;
	gap: 20px;
}

.cbh-final-cta-right {
	flex: 1;
	max-width: 500px;
}

.cbh-final-trust-card {
	background: #ffffff;
	border-radius: 24px;
	padding: 40px;
	color: #0f172a;
	box-shadow: 0 25px 50px rgba(0,0,0,0.2);
	position: relative;
}

.cbh-final-trust-card h4 {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #0f172a;
}

.cbh-final-trust-list {
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
}

.cbh-final-trust-list li {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: 500;
	color: #334155;
}

.cbh-final-trust-list li svg {
	color: #10b981;
	margin-right: 12px;
	flex-shrink: 0;
}

.cbh-final-divider {
	border: 0;
	height: 1px;
	background: #e2e8f0;
	margin: 0 0 30px;
}

.cbh-final-location p {
	margin: 0 0 10px;
	font-size: 16px;
	color: #475569;
	line-height: 1.5;
}

.cbh-final-location .cbh-serving-text {
	font-weight: 600;
	color: var(--cbh-primary, #0D6EFD);
	margin-bottom: 15px;
}

@media (max-width: 992px) {
	.cbh-final-cta-content {
		flex-direction: column;
		text-align: center;
	}
	.cbh-final-cta-left {
		max-width: 100%;
	}
	.cbh-final-buttons {
		justify-content: center;
	}
	.cbh-final-cta-right {
		max-width: 100%;
		width: 100%;
	}
	.cbh-final-trust-card {
		text-align: left;
	}
}

@media (max-width: 768px) {
	.cbh-final-title {
		font-size: 36px;
	}
	.cbh-final-buttons {
		flex-direction: column;
	}
	.cbh-final-buttons .cbh-btn {
		width: 100%;
	}
}


/* ==========================================================================
   ABOUT PAGE STYLES
   ========================================================================== */

/* 1. Hero Section */
.cbh-about-hero {
	padding: 120px 0;
	background: linear-gradient(135deg, var(--cbh-primary, #0D6EFD) 0%, #084298 100%);
	color: #ffffff;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.cbh-about-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background-image: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.05) 0%, transparent 60%);
	pointer-events: none;
}

.cbh-about-hero-content {
	max-width: 800px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.cbh-about-title {
	font-size: 56px;
	font-weight: 800;
	line-height: 1.1;
	margin-bottom: 25px;
	color: #ffffff;
	letter-spacing: -0.02em;
}

.cbh-about-desc {
	font-size: 20px;
	color: rgba(255,255,255,0.9);
	line-height: 1.6;
	margin-bottom: 40px;
}

.cbh-about-hero-actions {
	display: flex;
	gap: 20px;
	justify-content: center;
}

.cbh-about-hero .cbh-badge-pill {
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	margin-bottom: 20px;
}

.cbh-about-hero .cbh-btn-white {
	background: #ffffff;
	color: var(--cbh-primary, #0D6EFD);
	border: none;
}

.cbh-about-hero .cbh-btn-white:hover {
	background: #f8fafc;
	box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.cbh-about-hero .cbh-btn-white-outline {
	background: transparent;
	color: #ffffff;
	border: 2px solid #ffffff;
}

.cbh-about-hero .cbh-btn-white-outline:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* 2. Trusted Partner Section */
.cbh-about-trusted {
	padding: 100px 0;
	background: #ffffff;
}

.cbh-trusted-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
}

.cbh-trusted-img-wrapper {
	width: 100%;
	height: 500px;
	border-radius: 24px;
	overflow: hidden;
	background: #e2e8f0;
	box-shadow: 0 25px 50px rgba(0,0,0,0.15);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.cbh-trusted-img-wrapper:hover {
	transform: translateY(-10px);
	box-shadow: 0 35px 60px rgba(0,0,0,0.2);
}

.cbh-trusted-img-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.cbh-trusted-img-wrapper:hover img {
	transform: scale(1.05);
}

.cbh-trusted-card {
	background: #ffffff;
	padding: 50px;
	border-radius: 24px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.08);
	margin-left: -80px; /* Overlap effect */
	position: relative;
	z-index: 2;
}

.cbh-trusted-card h2 {
	font-size: 36px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 25px;
}

.cbh-trusted-content p {
	font-size: 18px;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 20px;
}

/* 3. Mission & Vision */
.cbh-about-mission-vision {
	padding: 100px 0;
	background: #f8fafc;
}

.cbh-mv-main-title {
	text-align: center;
	font-size: 42px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 60px;
}

.cbh-mv-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.cbh-mv-card {
	background: #ffffff;
	border-radius: 24px;
	padding: 60px;
	text-align: center;
	box-shadow: 0 10px 30px rgba(0,0,0,0.05);
	transition: transform 0.3s ease;
	border-top: 4px solid var(--cbh-primary, #0D6EFD);
}

.cbh-mv-card:hover {
	transform: translateY(-5px);
}

.cbh-mv-icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(13,110,253,0.1);
	color: var(--cbh-primary, #0D6EFD);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 30px;
}

.cbh-mv-card h3 {
	font-size: 28px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 20px;
}

.cbh-mv-card p {
	font-size: 18px;
	color: #475569;
	line-height: 1.7;
}

/* 4. Who We Serve */
.cbh-about-serve {
	padding: 100px 0;
	background: #ffffff;
}

.cbh-serve-header {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 60px;
}

.cbh-serve-header h2 {
	font-size: 42px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 20px;
}

.cbh-serve-header p {
	font-size: 20px;
	color: #64748b;
}

.cbh-serve-staggered {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding-top: 40px;
	padding-bottom: 40px;
}

.cbh-serve-card {
	background: #f8fafc;
	border-radius: 20px;
	padding: 40px 30px;
	text-align: center;
	box-shadow: 0 4px 6px rgba(0,0,0,0.02);
	border: 1px solid #e2e8f0;
	transition: all 0.3s ease;
}

.cbh-serve-card:hover {
	background: #ffffff;
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
	border-color: transparent;
	transform: translateY(-5px);
}

.cbh-serve-card-high {
	transform: translateY(-40px);
}

.cbh-serve-card-low {
	transform: translateY(40px);
}

.cbh-serve-card-high:hover { transform: translateY(-45px); }
.cbh-serve-card-low:hover { transform: translateY(35px); }

.cbh-serve-card h3 {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 15px;
}

.cbh-serve-card p {
	font-size: 16px;
	color: #475569;
	line-height: 1.6;
}

/* 5. Clinical Approach */
.cbh-about-approach {
	padding: 100px 0;
	background: #f1f5f9;
}

.cbh-approach-header {
	text-align: center;
	max-width: 700px;
	margin: 0 auto 60px;
}

.cbh-approach-header h2 {
	font-size: 42px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 20px;
}

.cbh-approach-header p {
	font-size: 20px;
	color: #64748b;
}

.cbh-approach-rows {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

.cbh-approach-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: center;
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.cbh-row-right {
	direction: rtl; /* simple way to reverse grid */
}

.cbh-row-right > * {
	direction: ltr; /* reset content direction */
}

.cbh-approach-text {
	padding: 60px;
}

.cbh-approach-text h3 {
	font-size: 32px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 20px;
}

.cbh-approach-text p {
	font-size: 18px;
	color: #475569;
	line-height: 1.6;
}

.cbh-approach-img {
	height: 100%;
	min-height: 400px;
	background: #e2e8f0;
}

/* 6. Why Choose Us */
.cbh-about-why {
	padding: 100px 0;
	background: #eff6ff;
}

.cbh-why-header {
	text-align: center;
	margin-bottom: 60px;
}

.cbh-why-header h2 {
	font-size: 42px;
	font-weight: 800;
	color: #0f172a;
}

.cbh-why-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 20px;
}

.cbh-why-item {
	background: #ffffff;
	padding: 30px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	box-shadow: 0 4px 15px rgba(0,0,0,0.03);
	transition: all 0.3s ease;
}

.cbh-why-item:hover {
	transform: translateX(5px);
	box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.cbh-why-item svg {
	color: #10b981; /* Success green */
	margin-right: 20px;
	flex-shrink: 0;
}

.cbh-why-item span {
	font-size: 18px;
	font-weight: 600;
	color: #1e293b;
}

/* 7. Accessible & Inclusive Care */
.cbh-about-inclusive {
	padding: 100px 0;
	background: #ffffff;
}

.cbh-inclusive-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.cbh-inclusive-text h2 {
	font-size: 38px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 25px;
}

.cbh-inclusive-content p {
	font-size: 18px;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 20px;
}

.cbh-inclusive-img {
	height: 500px;
	border-radius: 24px;
	background: #e2e8f0;
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* Responsive Styles for About Page */
@media (max-width: 1024px) {
	.cbh-serve-staggered {
		grid-template-columns: repeat(2, 1fr);
		padding: 0;
	}
	.cbh-serve-card-high, .cbh-serve-card-low {
		transform: none; /* remove staggered effect on tablets */
	}
	.cbh-serve-card-high:hover, .cbh-serve-card-low:hover {
		transform: translateY(-5px);
	}
	.cbh-trusted-card {
		margin-left: -40px;
	}
}

@media (max-width: 992px) {
	.cbh-about-hero {
		padding: 80px 0;
	}
	.cbh-about-title {
		font-size: 48px;
	}
	.cbh-trusted-split,
	.cbh-mv-grid,
	.cbh-approach-row,
	.cbh-inclusive-split {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.cbh-trusted-card {
		margin-left: 0;
		margin-top: -80px;
		padding: 40px;
	}
	
	.cbh-row-right {
		direction: ltr; /* remove reverse direction on mobile */
	}
	
	.cbh-approach-text {
		padding: 40px 30px;
	}
	
	.cbh-approach-img {
		min-height: 300px;
	}
	
	.cbh-inclusive-split {
		flex-direction: column-reverse; /* if we changed it to flex */
	}
}

@media (max-width: 768px) {
	.cbh-about-title {
		font-size: 36px;
	}
	.cbh-about-desc {
		font-size: 18px;
	}
	.cbh-about-hero-actions {
		flex-direction: column;
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}
	.cbh-serve-staggered {
		grid-template-columns: 1fr;
	}
	.cbh-mv-card {
		padding: 40px 20px;
	}
	.cbh-mv-main-title, .cbh-serve-header h2, .cbh-approach-header h2, .cbh-why-header h2, .cbh-inclusive-text h2 {
		font-size: 32px;
	}
	.cbh-why-grid {
		grid-template-columns: 1fr;
	}
	.cbh-why-item {
		padding: 20px;
	}
	.cbh-why-item span {
		font-size: 16px;
	}
	.cbh-trusted-img-wrapper {
		height: 300px;
	}
	.cbh-inclusive-img {
		height: 300px;
	}
}

@media (max-width: 480px) {
	.cbh-about-title {
		font-size: 28px;
	}
	.cbh-trusted-card, .cbh-approach-text {
		padding: 25px 20px;
	}
	.cbh-mv-card {
		padding: 30px 15px;
	}
	.cbh-why-item {
		align-items: flex-start;
		flex-direction: row;
	}
	.cbh-why-item svg {
		margin-right: 15px;
		margin-top: 2px;
	}
}


/* ==========================================================================
   PROGRAMS PAGE STYLES
   ========================================================================== */

.cbh-programs-hero {
	padding: 100px 0;
	background: #f8fafc; /* Very light cool grey */
	/* Removed overflow: hidden so the floating card can peek out */
}

.cbh-programs-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.cbh-programs-hero-content .cbh-badge-pill-primary {
	background: rgba(13, 110, 253, 0.1);
	color: var(--cbh-primary, #0D6EFD);
	margin-bottom: 25px;
}

.cbh-programs-hero-content h1 {
	font-size: 44px;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.25;
	margin-bottom: 20px;
	letter-spacing: -0.01em;
}

.cbh-programs-hero-content .cbh-hero-desc {
	font-size: 18px;
	color: #475569;
	line-height: 1.7;
	margin-bottom: 40px;
}

.cbh-programs-highlights {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-bottom: 40px;
}

.cbh-ph-item {
	display: flex;
	align-items: flex-start;
}

.cbh-ph-item svg {
	color: #10b981;
	margin-right: 12px;
	margin-top: 3px;
	flex-shrink: 0;
}

.cbh-ph-item span {
	font-size: 16px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.4;
}

.cbh-programs-hero-actions {
	display: flex;
	gap: 20px;
}

.cbh-btn-outline-dark {
	background: transparent;
	color: #0f172a;
	border: 2px solid #cbd5e1;
}

.cbh-btn-outline-dark:hover {
	border-color: #0f172a;
	background: rgba(15, 23, 42, 0.05);
}

.cbh-programs-hero-image-col {
	position: relative;
}

.cbh-programs-hero-image-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
	aspect-ratio: 4/5;
	background: #e2e8f0;
}

.cbh-programs-hero-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cbh-programs-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #94a3b8;
	background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);
}

.cbh-programs-placeholder svg {
	margin-bottom: 15px;
	color: #64748b;
}

.cbh-programs-placeholder span {
	font-size: 20px;
	font-weight: 600;
	color: #475569;
}

/* Floating Decorative Element */
.cbh-floating-card {
	position: absolute;
	bottom: -30px;
	left: -30px;
	background: #ffffff;
	padding: 20px 25px;
	border-radius: 16px;
	box-shadow: 0 15px 35px rgba(0,0,0,0.1);
	display: flex;
	align-items: center;
	gap: 15px;
	z-index: 10;
}

.cbh-fc-icon {
	font-size: 24px;
	background: #f1f5f9;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

.cbh-fc-text strong {
	display: block;
	font-size: 16px;
	color: #0f172a;
	margin-bottom: 2px;
}

.cbh-fc-text span {
	font-size: 14px;
	color: #64748b;
}

/* Programs Responsive */
@media (max-width: 992px) {
	.cbh-programs-hero-grid {
		grid-template-columns: 1fr;
		gap: 60px;
	}
	.cbh-programs-hero-content h1 {
		font-size: 44px;
	}
	.cbh-programs-hero-image-wrapper {
		aspect-ratio: 16/9;
	}
	.cbh-floating-card {
		bottom: -20px;
		left: 20px;
	}
}

@media (max-width: 768px) {
	.cbh-programs-hero-content h1 {
		font-size: 36px;
	}
	.cbh-programs-highlights {
		grid-template-columns: 1fr;
	}
	.cbh-programs-hero-actions {
		flex-direction: column;
	}
	.cbh-programs-hero-image-wrapper {
		border-radius: 16px;
	}
}


/* ==========================================================================
   PROGRAMS PAGE: ALL SECTIONS
   ========================================================================== */

/* Section 2: Pathway */
.cbh-programs-pathway { padding: 100px 0; background: #ffffff; }
.cbh-pathway-header { text-align: center; max-width: 800px; margin: 0 auto 60px; }
.cbh-pathway-header h2 { font-size: 42px; font-weight: 800; color: #0f172a; margin: 20px 0; }
.cbh-pathway-header p { font-size: 18px; color: #475569; line-height: 1.7; }
.cbh-pathway-timeline { display: flex; align-items: center; justify-content: space-between; max-width: 900px; margin: 0 auto 60px; position: relative; }
.cbh-pt-connector { flex-grow: 1; height: 4px; background: #e2e8f0; margin: 0 15px; border-radius: 2px; }
.cbh-pt-step { text-align: center; width: 120px; flex-shrink: 0; position: relative; z-index: 2; }
.cbh-pt-icon { width: 60px; height: 60px; margin: 0 auto 15px; border-radius: 50%; background: #f1f5f9; color: #64748b; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; border: 4px solid #ffffff; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.cbh-pt-highlight .cbh-pt-icon { background: var(--cbh-primary, #0D6EFD); color: #ffffff; }
.cbh-pt-content h3 { font-size: 18px; font-weight: 700; color: #0f172a; margin-bottom: 5px; }
.cbh-pt-content p { font-size: 14px; color: #64748b; }
.cbh-pathway-community { max-width: 600px; margin: 0 auto 50px; background: #f8fafc; padding: 30px; border-radius: 16px; text-align: center; border: 1px solid #e2e8f0; }
.cbh-pathway-community h4 { font-size: 18px; color: #0f172a; margin-bottom: 15px; }
.cbh-pc-tags { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; }
.cbh-pc-tags span { background: #ffffff; padding: 8px 20px; border-radius: 20px; font-size: 15px; font-weight: 600; color: var(--cbh-primary, #0D6EFD); border: 1px solid #cbd5e1; }
.cbh-pathway-footer { text-align: center; }
.cbh-pf-box { display: inline-block; background: #eff6ff; padding: 20px 30px; border-radius: 12px; color: #1e3a8a; font-size: 16px; }

/* Section 3: PHP (Premium Split) */
.cbh-program-php { padding: 100px 0; background: #f1f5f9; }
.cbh-php-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cbh-php-img-col { position: relative; }
.cbh-php-img { width: 100%; height: 500px; object-fit: cover; border-radius: 24px; position: relative; z-index: 2; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.cbh-php-deco { position: absolute; bottom: -30px; left: -30px; width: 100%; height: 100%; border: 2px dashed #94a3b8; border-radius: 24px; z-index: 1; }
.cbh-program-tag { display: inline-block; padding: 6px 16px; background: rgba(13,110,253,0.1); color: var(--cbh-primary, #0D6EFD); font-weight: 700; font-size: 14px; border-radius: 20px; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; }
.cbh-php-content h2 { font-size: 40px; font-weight: 800; color: #0f172a; margin-bottom: 25px; }
.cbh-prog-desc { font-size: 18px; color: #475569; line-height: 1.7; margin-bottom: 30px; }
.cbh-php-content h4 { font-size: 20px; font-weight: 700; color: #0f172a; margin-bottom: 20px; }
.cbh-prog-benefits { list-style: none; padding: 0; margin: 0 0 30px 0; }
.cbh-prog-benefits li { position: relative; padding-left: 30px; margin-bottom: 15px; font-size: 16px; color: #475569; font-weight: 500; }
.cbh-prog-benefits li::before { content: '\2713'; position: absolute; left: 0; top: 0; color: #10b981; font-weight: 800; }
.cbh-prog-who { padding: 20px; background: #ffffff; border-left: 4px solid var(--cbh-primary, #0D6EFD); border-radius: 0 8px 8px 0; margin-bottom: 30px; font-size: 16px; color: #334155; line-height: 1.6; }

/* Section 4: IOP (Floating Content) */
.cbh-program-iop { padding: 120px 0; background: #ffffff; }
.cbh-iop-wrapper { position: relative; max-width: 1200px; margin: 0 auto; min-height: 600px; display: flex; align-items: center; justify-content: flex-end; }
.cbh-iop-bg { position: absolute; top: 0; left: 0; width: 80%; height: 100%; background-size: cover; background-position: center; border-radius: 24px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.cbh-iop-floating-card { width: 500px; background: #ffffff; padding: 50px; border-radius: 24px; box-shadow: 0 25px 50px rgba(0,0,0,0.15); position: relative; z-index: 2; margin-right: 40px; }
.cbh-tag-alt { background: rgba(16,185,129,0.1); color: #10b981; }
.cbh-iop-floating-card h2 { font-size: 36px; font-weight: 800; color: #0f172a; margin-bottom: 20px; }
.cbh-benefits-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cbh-who-alt { border-left-color: #10b981; background: #f8fafc; }

/* Section 5: SAIOP (Featured) */
.cbh-program-saiop { padding: 100px 0; background: #0f172a; color: #ffffff; }
.cbh-saiop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.cbh-saiop-content h2 { font-size: 42px; font-weight: 800; color: #ffffff; margin-bottom: 25px; line-height: 1.2; }
.cbh-saiop-content .cbh-prog-desc { color: #cbd5e1; font-size: 20px; margin-bottom: 40px; }
.cbh-who-dark { background: rgba(255,255,255,0.05); border-left-color: #38bdf8; color: #e2e8f0; }
.cbh-saiop-sidebar { position: relative; }
.cbh-saiop-img { width: 100%; height: 400px; object-fit: cover; border-radius: 24px; }
.cbh-saiop-benefits-box { position: absolute; bottom: -40px; left: -40px; background: var(--cbh-primary, #0D6EFD); padding: 40px; border-radius: 24px; box-shadow: 0 20px 40px rgba(0,0,0,0.2); width: 80%; }
.cbh-saiop-benefits-box h4 { color: #ffffff; font-size: 24px; margin-bottom: 20px; }
.cbh-benefits-light li { color: #ffffff; }
.cbh-benefits-light li::before { color: #ffffff; }

/* Section 6: Outpatient (Glass Card) */
.cbh-program-outpatient { padding: 120px 0; position: relative; overflow: hidden; }
.cbh-outpatient-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; background-attachment: fixed; }
.cbh-outpatient-bg::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15, 23, 42, 0.6); }
.cbh-outpatient-glass-card { position: relative; z-index: 2; background: rgba(255,255,255,0.9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 60px; border-radius: 24px; border: 1px solid rgba(255,255,255,0.2); box-shadow: 0 30px 60px rgba(0,0,0,0.2); }
.cbh-glass-header { text-align: center; max-width: 800px; margin: 0 auto 50px; }
.cbh-glass-header h2 { font-size: 42px; font-weight: 800; color: #0f172a; margin-bottom: 20px; }
.cbh-glass-header p { font-size: 20px; color: #475569; line-height: 1.7; }
.cbh-glass-body { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cbh-benefits-dark li { color: #0f172a; font-size: 18px; margin-bottom: 20px; }
.cbh-who-glass { background: #f8fafc; border-left-color: var(--cbh-primary, #0D6EFD); }

/* Section 7: ACTT (Timeline Style) */
.cbh-program-actt { padding: 100px 0; background: #ffffff; }
.cbh-actt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cbh-actt-content h2 { font-size: 42px; font-weight: 800; color: #0f172a; margin-bottom: 25px; }
.cbh-actt-timeline { display: flex; gap: 40px; }
.cbh-actt-img-box { width: 250px; flex-shrink: 0; }
.cbh-actt-img-box img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.cbh-timeline-list { display: flex; flex-direction: column; gap: 20px; position: relative; padding-left: 20px; border-left: 2px solid #e2e8f0; }
.cbh-tl-item { position: relative; font-size: 18px; color: #0f172a; }
.cbh-tl-dot { position: absolute; left: -27px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: var(--cbh-primary, #0D6EFD); border: 2px solid #ffffff; }

/* Section 8: CTS (Feature Grid) */
.cbh-program-cts { padding: 100px 0; background: #f8fafc; }
.cbh-cts-header { margin-bottom: 60px; max-width: 800px; margin: 0 auto 60px; }
.cbh-cts-header h2 { font-size: 42px; font-weight: 800; color: #0f172a; margin-bottom: 20px; }
.cbh-cts-layout { display: grid; grid-template-columns: 400px 1fr; gap: 60px; align-items: center; }
.cbh-cts-img-col { position: relative; }
.cbh-cts-img-col img { width: 100%; height: 500px; object-fit: cover; border-radius: 24px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.cbh-who-float { position: absolute; bottom: -20px; right: -40px; width: 300px; box-shadow: 0 15px 30px rgba(0,0,0,0.1); z-index: 2; }
.cbh-cts-grid-col { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.cbh-fg-item { background: #ffffff; padding: 30px; border-radius: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); }
.cbh-fg-icon { font-size: 32px; margin-bottom: 15px; }
.cbh-fg-item h4 { font-size: 18px; font-weight: 700; color: #0f172a; margin: 0; }
.cbh-fg-cta { grid-column: span 2; display: flex; align-items: center; padding-top: 20px; }

/* Section 9: Peer Support (Human-Centered) */
.cbh-program-peer { padding: 120px 0; background: #ffffff; }
.cbh-peer-card { max-width: 1000px; margin: 0 auto; background: #fcf8f3; border-radius: 32px; display: grid; grid-template-columns: 1fr 1.2fr; overflow: hidden; box-shadow: 0 20px 40px rgba(0,0,0,0.05); border: 1px solid #f3e8d9; }
.cbh-peer-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.cbh-peer-content { padding: 60px; display: flex; flex-direction: column; justify-content: center; }
.cbh-tag-warm { background: rgba(245,158,11,0.1); color: #d97706; margin-bottom: 15px; }
.cbh-peer-content h2 { font-size: 36px; font-weight: 800; color: #451a03; margin-bottom: 25px; }
.cbh-peer-quote { font-size: 22px; font-style: italic; color: #78350f; line-height: 1.6; margin-bottom: 30px; border-left: 4px solid #f59e0b; padding-left: 20px; }
.cbh-peer-benefits { font-size: 16px; font-weight: 600; color: #92400e; margin-bottom: 30px; line-height: 1.8; }
.cbh-who-warm { background: #fffbeb; border-left-color: #f59e0b; color: #92400e; }
.cbh-btn-warm { background: #d97706; color: #ffffff; border: none; align-self: flex-start; }
.cbh-btn-warm:hover { background: #b45309; }

/* Section 10: Comparison */
.cbh-programs-comparison { padding: 100px 0; background: #f8fafc; border-top: 1px solid #e2e8f0; }
.cbh-comp-header { max-width: 700px; margin: 0 auto 50px; }
.cbh-comp-header h2 { font-size: 38px; font-weight: 800; color: #0f172a; margin: 20px 0; }
.cbh-comp-header p { font-size: 18px; color: #475569; line-height: 1.7; }
.cbh-comp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 50px; }
.cbh-comp-card { background: #ffffff; padding: 30px; border-radius: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); display: flex; flex-direction: column; align-items: center; text-align: center; transition: transform 0.3s ease; }
.cbh-comp-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.08); }
.cbh-cc-tag { font-size: 18px; font-weight: 800; color: var(--cbh-primary, #0D6EFD); margin-bottom: 15px; }
.cbh-comp-card p { font-size: 16px; font-weight: 600; color: #334155; margin: 0; }
.cbh-comp-actions { display: flex; gap: 20px; justify-content: center; }

/* Section 11: Final CTA */
.cbh-programs-final-cta { padding: 120px 0; background: #ffffff; color: #0f172a; position: relative; }
.cbh-programs-final-cta::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 80%; height: 1px; background: linear-gradient(90deg, transparent, #e2e8f0, transparent); }
.cbh-fc-wrapper { max-width: 900px; margin: 0 auto; text-align: center; background: #ffffff; padding: 60px; border-radius: 32px; box-shadow: 0 20px 40px rgba(0,0,0,0.05); border: 1px solid #f1f5f9; }
.cbh-badge-pill-white { background: rgba(13, 110, 253, 0.1); color: var(--cbh-primary, #0D6EFD); margin-bottom: 25px; border: none; }
.cbh-fc-wrapper h2 { font-size: 48px; font-weight: 800; color: #0f172a; margin-bottom: 25px; line-height: 1.2; }
.cbh-fc-wrapper p { font-size: 20px; color: #475569; line-height: 1.6; margin-bottom: 40px; }
.cbh-fc-trust-points { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-bottom: 50px; }
.cbh-fc-trust-points span { display: flex; align-items: center; font-size: 16px; font-weight: 600; color: #334155; }
.cbh-fc-trust-points svg { color: var(--cbh-primary, #0D6EFD); margin-right: 8px; }
.cbh-fc-contact-info { display: flex; justify-content: center; gap: 60px; margin-bottom: 50px; background: #f8fafc; padding: 30px; border-radius: 16px; border: 1px solid #e2e8f0; }
.cbh-fc-ci-item strong { color: #64748b; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; display: block; margin-bottom: 5px; }
.cbh-fc-ci-item { font-size: 18px; font-weight: 700; color: #0f172a; }
.cbh-fc-actions { display: flex; gap: 20px; justify-content: center; }

/* Utilities */
.text-center { text-align: center; }
.cbh-img-placeholder { width: 100%; height: 100%; min-height: 400px; background: #e2e8f0; border-radius: 24px; display: flex; align-items: center; justify-content: center; color: #94a3b8; font-size: 24px; font-weight: 700; border: 2px dashed #cbd5e1; }
.cbh-placeholder-dark { background: #1e293b; border-color: #334155; color: #475569; }
.cbh-bg-placeholder { background: #e2e8f0; }
.cbh-bg-placeholder-blue { background: #0ea5e9; }
.cbh-placeholder-warm { background: #fde68a; border-color: #fcd34d; color: #d97706; }


/* ==========================================================================
   PROGRAMS PAGE RESPONSIVE POLISH
   ========================================================================== */
@media (max-width: 1024px) {
	.cbh-iop-wrapper { display: flex; flex-direction: column; padding: 0; align-items: center; }
	.cbh-iop-bg { position: relative; width: 100%; height: 350px; border-radius: 24px; }
	.cbh-iop-floating-card { position: relative; margin: -60px 0 0 0; width: 90%; max-width: none; border-radius: 24px; z-index: 5; }
	.cbh-saiop-benefits-box { position: static; width: 100%; margin-top: -40px; border-radius: 0 0 24px 24px; }
	.cbh-cts-layout { grid-template-columns: 1fr; gap: 40px; }
	.cbh-cts-img-col img { height: 350px; }
	.cbh-who-float { position: static; width: 100%; margin-top: 20px; box-shadow: none; border: 1px solid #e2e8f0; }
	.cbh-peer-card { grid-template-columns: 1fr; }
	.cbh-peer-img-wrap, .cbh-peer-img-wrap img { height: 300px; }
	.cbh-programs-hero-grid { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 768px) {
	/* General Section Padding */
	.cbh-programs-hero, .cbh-programs-pathway, .cbh-program-php, .cbh-program-iop, .cbh-program-saiop, .cbh-program-outpatient, .cbh-program-actt, .cbh-program-cts, .cbh-program-peer, .cbh-programs-comparison, .cbh-programs-final-cta {
		padding: 60px 0;
	}

	/* Typography Adjustments */
	.cbh-programs-hero h1 { font-size: 36px; }
	.cbh-pathway-header h2, .cbh-php-content h2, .cbh-iop-floating-card h2, .cbh-saiop-content h2, .cbh-glass-header h2, .cbh-actt-content h2, .cbh-cts-header h2, .cbh-peer-content h2, .cbh-comp-header h2 {
		font-size: 32px;
	}
	.cbh-fc-wrapper h2 { font-size: 32px; }

	/* Grids to Single Column */
	.cbh-php-split, .cbh-saiop-grid, .cbh-glass-body, .cbh-actt-grid, .cbh-programs-hero-grid { 
		grid-template-columns: 1fr; 
		gap: 30px; 
	}
	
	/* Layout specifics */
	.cbh-pathway-timeline { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
	.cbh-pt-connector { display: none; }
	.cbh-pt-step { width: 100%; background: #ffffff; padding: 20px 10px; border-radius: 16px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); border: 1px solid #f1f5f9; }
	.cbh-php-img, .cbh-saiop-img, .cbh-img-placeholder { height: 250px; min-height: 250px; }
	.cbh-php-deco { display: none; }
	
	/* IOP Wrapper fixes */
	.cbh-iop-wrapper { padding: 20px 15px; border-radius: 16px; }
	
	/* Card paddings */
	.cbh-outpatient-glass-card { padding: 30px 20px; border-radius: 16px; }
	.cbh-iop-floating-card { padding: 30px 20px; width: 100%; border-radius: 16px; box-sizing: border-box; }
	.cbh-peer-content { padding: 30px 20px; }
	.cbh-fc-wrapper { padding: 40px 20px; }
	
	/* Buttons and Actions */
	.cbh-fc-actions, .cbh-comp-actions, .cbh-programs-hero-actions { flex-direction: column; width: 100%; gap: 15px; }
	.cbh-comp-actions .cbh-btn, .cbh-fc-actions .cbh-btn, .cbh-programs-hero-actions .cbh-btn { width: 100%; display: block; text-align: center; }
	
	/* Hero Image Mobile Fix */
	.cbh-programs-hero-image-col { margin-bottom: 40px; }
	.cbh-floating-card {
		bottom: -30px;
		left: 50%;
		transform: translateX(-50%);
		width: 90%;
		justify-content: center;
		padding: 20px 15px;
		box-sizing: border-box;
	}

	/* Images */
	.cbh-actt-timeline { flex-direction: column; width: 100%; }
	.cbh-actt-img-box { width: 100%; }
	.cbh-actt-img-box img { height: 250px; }
	
	/* Feature Grids */
	.cbh-benefits-2col, .cbh-cts-grid-col { grid-template-columns: 1fr; }
	.cbh-fg-cta { grid-column: 1 / -1; }
	
	/* Contact Info Wrapper */
	.cbh-fc-contact-info { flex-direction: column; gap: 20px; text-align: center; padding: 20px; }
}

@media (max-width: 480px) {
	.cbh-programs-hero h1 { font-size: 28px; }
	.cbh-iop-wrapper { padding: 10px; border-radius: 12px; }
	.cbh-iop-floating-card { padding: 25px 15px; }
	.cbh-outpatient-glass-card { padding: 25px 15px; }
	.cbh-peer-content { padding: 25px 15px; }
	.cbh-container { padding: 0 15px; }
	.cbh-pathway-header h2, .cbh-php-content h2, .cbh-iop-floating-card h2, .cbh-saiop-content h2, .cbh-glass-header h2, .cbh-actt-content h2, .cbh-cts-header h2, .cbh-peer-content h2, .cbh-comp-header h2, .cbh-fc-wrapper h2 {
		font-size: 26px;
	}
	.cbh-prog-desc, .cbh-pathway-header p, .cbh-glass-header p, .cbh-fc-wrapper p { font-size: 16px; }
	.cbh-fc-wrapper { padding: 30px 15px; }
}






/* ==========================================================================
   SERVICES PAGE STYLES
   ========================================================================== */

.cbh-services-page {
	font-family: 'Inter', sans-serif;
	color: #334155;
	line-height: 1.6;
}

/* SECTION 1: HERO */
.cbh-services-hero {
	padding: 100px 0;
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	overflow: hidden;
}
.cbh-services-hero-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}
.cbh-services-hero-content h1 {
	font-size: 48px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 20px;
	line-height: 1.2;
}
.cbh-services-hero-actions {
	display: flex;
	gap: 20px;
	margin-top: 40px;
}
.cbh-services-hero-image-col {
	position: relative;
}
.cbh-services-hero-image-wrapper {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 25px 50px -12px rgba(0,0,0,0.15);
	aspect-ratio: 4/5;
	background: #e2e8f0;
}
.cbh-services-hero-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* SECTION 2: OUR SERVICES GRID */
.cbh-services-grid-section {
	padding: 120px 0;
	background: #ffffff;
}
.cbh-services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	margin-top: 60px;
}
.cbh-service-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	padding: 40px;
	border-radius: 16px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
	display: flex;
	flex-direction: column;
}
.cbh-service-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
	border-color: var(--cbh-primary, #0D6EFD);
}
.cbh-sc-icon {
	font-size: 32px;
	color: var(--cbh-primary, #0D6EFD);
	margin-bottom: 20px;
	height: 60px;
	width: 60px;
	background: #eff6ff;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.cbh-service-card h3 {
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: 15px;
}
.cbh-service-card p {
	color: #64748b;
	margin-bottom: 25px;
	flex-grow: 1;
}
.cbh-sc-link {
	color: var(--cbh-primary, #0D6EFD);
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: opacity 0.2s;
}
.cbh-sc-link:hover {
	opacity: 0.8;
}

/* SECTION 3: INTEGRATED CARE APPROACH */
.cbh-services-integrated {
	padding: 120px 0;
	background: #f1f5f9;
}
.cbh-integrated-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}
.cbh-integrated-img-col {
	position: relative;
}
.cbh-integrated-img {
	width: 100%;
	height: 600px;
	object-fit: cover;
	border-radius: 24px;
	position: relative;
	z-index: 2;
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
.cbh-integrated-deco {
	position: absolute;
	top: -30px;
	right: -30px;
	width: 100%;
	height: 100%;
	border: 2px dashed #94a3b8;
	border-radius: 24px;
	z-index: 1;
}
.cbh-integrated-content h2 {
	font-size: 40px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 25px;
}
.cbh-integrated-points {
	list-style: none;
	padding: 0;
	margin: 30px 0 0;
}
.cbh-integrated-points li {
	margin-bottom: 15px;
	font-size: 16px;
	color: #475569;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 10px;
}
.cbh-chk-icon {
	color: #10b981;
	font-weight: bold;
	font-size: 18px;
}

/* SECTION 4: WHY CHOOSE US */
.cbh-services-why-choose {
	padding: 120px 0;
	background: #0f172a; /* Dark premium background */
	color: #ffffff;
}
.cbh-why-header h2 {
	font-size: 40px;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 25px;
}
.cbh-why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.cbh-why-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 30px;
	border-radius: 12px;
	text-align: center;
	transition: all 0.3s ease;
}
.cbh-why-card:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-5px);
}
.cbh-why-card h4 {
	color: #ffffff;
	font-size: 18px;
	font-weight: 600;
	margin: 0;
}

/* RESPONSIVE STYLES */
@media (max-width: 1024px) {
	.cbh-services-hero-grid, .cbh-integrated-split {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.cbh-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.cbh-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.cbh-services-hero, .cbh-services-grid-section, .cbh-services-integrated, .cbh-services-why-choose {
		padding: 60px 0;
	}
	.cbh-services-hero-content h1 {
		font-size: 36px;
	}
	.cbh-services-hero-actions {
		flex-direction: column;
	}
	.cbh-services-hero-actions .cbh-btn {
		width: 100%;
		text-align: center;
	}
	.cbh-services-grid, .cbh-why-grid {
		grid-template-columns: 1fr;
	}
	.cbh-integrated-content h2, .cbh-why-header h2 {
		font-size: 32px;
	}
	.cbh-integrated-img {
		height: 350px;
	}
	.cbh-integrated-deco {
		display: none;
	}
}

@media (max-width: 480px) {
	.cbh-services-hero-content h1 {
		font-size: 28px;
	}
	.cbh-integrated-content h2, .cbh-why-header h2 {
		font-size: 26px;
	}
}


/* ==========================================================================
   SINGLE SERVICE PAGE STYLES
   ========================================================================== */

.cbh-single-service-page {
	font-family: 'Inter', sans-serif;
	color: #334155;
	line-height: 1.6;
}

/* HERO SECTION */
.cbh-single-hero {
	padding: 120px 0;
	background-color: #0f172a;
	background-size: cover;
	background-position: center;
	color: #ffffff;
	position: relative;
}
.cbh-single-hero-content {
	max-width: 800px;
	margin: 0 auto;
}
.cbh-single-hero-content h1 {
	font-size: 56px;
	font-weight: 800;
	color: #ffffff;
	margin: 20px 0;
	line-height: 1.2;
}
.cbh-single-hero-content .cbh-prog-desc {
	color: #cbd5e1;
	font-size: 20px;
}
.cbh-single-hero-actions {
	margin-top: 40px;
}

/* CONTENT SPLIT SECTION */
.cbh-single-content-section {
	padding: 100px 0;
	background: #ffffff;
}
.cbh-single-content-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}
.cbh-ss-text h2 {
	font-size: 36px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 25px;
}
.cbh-ss-text p {
	font-size: 18px;
	color: #475569;
	margin-bottom: 20px;
	line-height: 1.8;
}
.cbh-ss-text ul {
	margin-top: 20px;
	padding-left: 20px;
}
.cbh-ss-text li {
	margin-bottom: 10px;
	font-size: 17px;
	color: #475569;
}
.cbh-ss-image-col {
	position: relative;
}
.cbh-ss-img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* RESPONSIVE STYLES */
@media (max-width: 1024px) {
	.cbh-single-content-split {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 768px) {
	.cbh-single-hero {
		padding: 80px 0;
	}
	.cbh-single-hero-content h1 {
		font-size: 42px;
	}
	.cbh-single-hero-content .cbh-prog-desc {
		font-size: 18px;
	}
	.cbh-single-content-section {
		padding: 60px 0;
	}
	.cbh-ss-text h2 {
		font-size: 30px;
	}
}

@media (max-width: 480px) {
	.cbh-single-hero-content h1 {
		font-size: 32px;
	}
}

/* ==========================================================================
   BLOG-STYLE SINGLE SERVICE PAGE
   ========================================================================== */

.cbh-single-blog-style {
	font-family: 'Inter', sans-serif;
	color: #334155;
	line-height: 1.8;
	background: #f8fafc;
}

/* SECTION 1: HERO */
.cbh-sb-hero {
	padding: 160px 0 100px;
	background-color: #0f172a;
	background-size: cover;
	background-position: center;
	color: #ffffff;
	text-align: center;
}
.cbh-sb-hero-content {
	max-width: 800px;
	margin: 0 auto;
}
.cbh-sb-tag {
	display: inline-block;
	padding: 6px 16px;
	background: rgba(255,255,255,0.15);
	border-radius: 30px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.cbh-sb-hero-content h1 {
	font-size: 56px;
	font-weight: 800;
	color: #ffffff;
	margin-bottom: 20px;
	line-height: 1.1;
}
.cbh-sb-desc {
	font-size: 22px;
	color: #cbd5e1;
	font-weight: 400;
}

/* CENTRAL BLOG COLUMN */
.cbh-sb-main-column {
	max-width: 860px;
	margin: -60px auto 0;
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
	padding: 80px;
	position: relative;
	z-index: 10;
}

.cbh-sb-section {
	margin-bottom: 60px;
}
.cbh-sb-section:last-child {
	margin-bottom: 0;
}
.cbh-sb-section h2 {
	font-size: 32px;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 30px;
	border-bottom: 2px solid #f1f5f9;
	padding-bottom: 15px;
}

/* SECTION 2: OVERVIEW */
.cbh-sb-text p {
	font-size: 19px;
	color: #475569;
	margin-bottom: 25px;
}

/* SECTION 3: BENEFITS GRID */
.cbh-sb-benefits-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.cbh-sb-benefit-item {
	display: flex;
	align-items: flex-start;
	background: #f8fafc;
	padding: 20px;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
}
.cbh-sb-check-icon {
	color: #10b981;
	font-size: 20px;
	font-weight: bold;
	margin-right: 15px;
	margin-top: 2px;
}
.cbh-sb-benefit-item p {
	margin: 0;
	font-size: 17px;
	color: #334155;
	font-weight: 500;
}

/* SECTION 4: WHO CAN BENEFIT */
.cbh-sb-who-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.cbh-sb-who-list li {
	position: relative;
	padding: 15px 15px 15px 40px;
	margin-bottom: 15px;
	background: #eff6ff;
	border-radius: 8px;
	color: #1e3a8a;
	font-weight: 500;
	font-size: 18px;
}
.cbh-sb-who-list li::before {
	content: '?';
	position: absolute;
	left: 15px;
	color: #3b82f6;
	font-weight: bold;
}

/* SECTION 5: WHAT TO EXPECT (TIMELINE) */
.cbh-sb-timeline {
	position: relative;
	padding-left: 30px;
}
.cbh-sb-timeline::before {
	content: '';
	position: absolute;
	left: 15px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #e2e8f0;
}
.cbh-sb-timeline-item {
	position: relative;
	margin-bottom: 30px;
}
.cbh-sb-timeline-item:last-child {
	margin-bottom: 0;
}
.cbh-sb-step-num {
	position: absolute;
	left: -46px;
	top: 0;
	width: 32px;
	height: 32px;
	background: var(--cbh-primary, #0D6EFD);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 14px;
	box-shadow: 0 0 0 4px #ffffff;
}
.cbh-sb-step-content p {
	margin: 0;
	padding-top: 4px;
	font-size: 18px;
	color: #475569;
	font-weight: 500;
}

/* RESPONSIVE */
@media (max-width: 768px) {
	.cbh-sb-main-column {
		margin: -40px 20px 0;
		padding: 40px 20px;
	}
	.cbh-sb-hero h1 {
		font-size: 40px;
	}
	.cbh-sb-benefits-grid {
		grid-template-columns: 1fr;
	}
	.cbh-sb-section h2 {
		font-size: 26px;
	}
}

/* WHO CAN BENEFIT CARDS */
.cbh-sb-who-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.cbh-sb-who-card {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 12px;
	padding: 25px;
	transition: all 0.3s ease;
}
.cbh-sb-who-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(59, 130, 246, 0.15);
}
.cbh-sb-who-card h4 {
	font-size: 20px;
	font-weight: 700;
	color: #1e3a8a;
	margin: 0 0 10px;
}
.cbh-sb-who-card p {
	font-size: 16px;
	color: #475569;
	margin: 0;
	line-height: 1.6;
}

/* TIMELINE UPDATES */
.cbh-sb-step-content h4 {
	font-size: 20px;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 5px;
	padding-top: 2px;
}
.cbh-sb-step-content p {
	font-size: 17px;
	color: #475569;
	margin: 0;
}

@media (max-width: 768px) {
	.cbh-sb-who-cards {
		grid-template-columns: 1fr;
	}
}


/* HERO RESPONSIVENESS UPDATES */
@media (max-width: 768px) {
	.cbh-sb-hero {
		padding: 100px 0 80px;
	}
	.cbh-sb-hero-content {
		padding: 0 20px;
	}
	.cbh-sb-desc {
		font-size: 17px;
		line-height: 1.6;
	}
	.cbh-sb-hero-content h1 {
		font-size: 38px;
		margin-bottom: 15px;
	}
	.cbh-sb-tag {
		font-size: 12px;
		padding: 5px 12px;
		margin-bottom: 15px;
	}
}

@media (max-width: 480px) {
	.cbh-sb-hero {
		padding: 80px 0 60px;
	}
	.cbh-sb-hero-content h1 {
		font-size: 32px;
	}
	.cbh-sb-desc {
		font-size: 16px;
	}
}

/* FULL MOBILE UI POLISH FOR SINGLE SERVICE PAGE */
@media (max-width: 768px) {
	.cbh-sb-section {
		margin-bottom: 40px;
	}
	.cbh-sb-section h2 {
		font-size: 24px;
		margin-bottom: 20px;
		padding-bottom: 10px;
	}
	.cbh-sb-text p {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.cbh-sb-benefit-item {
		padding: 15px;
	}
	.cbh-sb-benefit-item p {
		font-size: 16px;
	}
	.cbh-sb-check-icon {
		font-size: 18px;
		margin-right: 12px;
	}
	.cbh-sb-who-card {
		padding: 20px;
	}
	.cbh-sb-who-card h4 {
		font-size: 18px;
		margin-bottom: 8px;
	}
	.cbh-sb-who-card p {
		font-size: 15px;
	}
	.cbh-sb-step-content h4 {
		font-size: 18px;
	}
	.cbh-sb-step-content p {
		font-size: 16px;
	}
	.cbh-sb-timeline {
		padding-left: 25px;
	}
	.cbh-sb-step-num {
		width: 28px;
		height: 28px;
		left: -40px;
		font-size: 13px;
	}
	.cbh-sb-timeline-item {
		margin-bottom: 25px;
	}
}

@media (max-width: 480px) {
	.cbh-sb-main-column {
		margin: -30px 15px 0;
		padding: 30px 15px;
		border-radius: 16px;
	}
	.cbh-sb-section h2 {
		font-size: 22px;
	}
}

/* ==========================================================================
   SIDEBAR LAYOUT & STYLING
   ========================================================================== */

.cbh-sb-layout-wrapper {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 50px;
	margin-top: -80px;
	position: relative;
	z-index: 10;
	align-items: start;
}

/* Override previous main column margin since wrapper handles it now */
.cbh-single-blog-style .cbh-sb-main-column {
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}

/* SIDEBAR STICKY WIDGET */
.cbh-sb-sidebar {
	position: sticky;
	top: 40px;
}
.cbh-sb-sidebar-widget {
	background: #ffffff;
	padding: 30px;
	border-radius: 24px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}
.cbh-sb-sidebar-widget h3 {
	font-size: 22px;
	font-weight: 800;
	color: #0f172a;
	margin-top: 0;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 2px solid #f1f5f9;
}
.cbh-sb-sidebar-menu {
	list-style: none;
	padding: 0;
	margin: 0;
}
.cbh-sb-sidebar-menu li {
	margin-bottom: 8px;
}
.cbh-sb-sidebar-menu li:last-child {
	margin-bottom: 0;
}
.cbh-sb-sidebar-menu a {
	display: block;
	padding: 14px 20px;
	color: #475569;
	font-weight: 600;
	font-size: 16px;
	border-radius: 10px;
	text-decoration: none;
	transition: all 0.3s ease;
	background: transparent;
}
.cbh-sb-sidebar-menu a:hover {
	background: #f8fafc;
	color: #0D6EFD;
	transform: translateX(4px);
}
.cbh-sb-sidebar-menu a.cbh-sb-active {
	background: #0D6EFD;
	color: #ffffff;
	box-shadow: 0 4px 15px rgba(13, 110, 253, 0.3);
}

/* MOBILE RESPONSIVENESS FOR SIDEBAR */
@media (max-width: 1024px) {
	.cbh-sb-layout-wrapper {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-top: -60px;
	}
	.cbh-sb-sidebar {
		position: static;
	}
	/* Ensure main column padding adjusts since wrapper width is 100% */
	.cbh-sb-main-column {
		padding: 40px;
	}
}

@media (max-width: 768px) {
	.cbh-sb-main-column {
		padding: 30px 20px;
	}
}


/* HIDE SIDEBAR ON MOBILE/TABLET */
@media (max-width: 1024px) {
	.cbh-sb-sidebar {
		display: none;
	}
}

/* --- PREMIUM ABOUT US REDESIGN --- */

/* Hero Premium */
.cbh-about-hero-premium {
    position: relative;
    padding: 120px 0;
    min-height: 600px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0 0 40px 40px;
    margin-bottom: 60px;
}
.cbh-about-hero-premium::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(135deg, rgba(0,25,60,0.85) 0%, rgba(13,110,253,0.6) 100%);
    border-radius: 0 0 40px 40px;
}
.cbh-about-hero-premium .cbh-container {
    position: relative;
    z-index: 2;
}
.cbh-about-hero-content-premium {
    max-width: 600px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}
.cbh-about-hero-content-premium h1 {
    color: #fff;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.cbh-about-hero-content-premium p {
    color: #f8fafc;
    font-size: 1.15rem;
    margin-bottom: 30px;
    line-height: 1.6;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}


/* Premium Buttons */
.cbh-about-hero-premium .cbh-btn-white-outline {
	background: transparent;
	color: #ffffff;
	border: 2px solid #ffffff;
	transition: all 0.3s ease;
}

.cbh-about-hero-premium .cbh-btn-white-outline:hover {
	background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(255,255,255,0.2);
}

/* Stats Bar */
.cbh-stats-bar {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: -100px;
    position: relative;
    z-index: 10;
    margin-bottom: 80px;
}
.cbh-stat-item {
    background: #fff;
    padding: 30px 40px;
    border-radius: 20px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.08);
    text-align: center;
    min-width: 200px;
    border-bottom: 4px solid var(--cbh-primary);
    transition: transform 0.3s ease;
}
.cbh-stat-item:hover {
    transform: translateY(-10px);
}
.cbh-stat-number {
    font-size: 3rem;
    font-weight: 800;
    color: var(--cbh-primary);
    display: block;
    line-height: 1;
    margin-bottom: 10px;
}
.cbh-stat-label {
    font-size: 1rem;
    color: var(--cbh-text-light);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Premium Mission & Vision */
.cbh-mv-premium-wrapper {
    display: flex;
    gap: 40px;
    margin-bottom: 80px;
}
.cbh-mv-card-premium {
    flex: 1;
    background: #fff;
    border-radius: 24px;
    padding: 50px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.05);
    border: 1px solid rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}
.cbh-mv-card-premium:hover {
    box-shadow: 0 20px 50px rgba(13, 110, 253, 0.1);
    transform: translateY(-5px);
}
.cbh-mv-card-premium::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 6px;
    background: linear-gradient(90deg, var(--cbh-primary), var(--cbh-secondary));
}
.cbh-mv-card-premium h3 {
    font-size: 2rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--cbh-dark);
}
.cbh-mv-card-premium svg {
    color: var(--cbh-primary);
    width: 40px; height: 40px;
    padding: 8px;
    background: #eff6ff;
    border-radius: 12px;
}

/* Timeline Approach */
.cbh-timeline-approach {
    position: relative;
    padding: 40px 0;
}
.cbh-timeline-approach::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #e2e8f0;
    transform: translateX(-50%);
    border-radius: 2px;
}
.cbh-timeline-approach .cbh-timeline-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
    position: relative;
}
.cbh-timeline-approach .cbh-timeline-item:nth-child(even) {
    flex-direction: row-reverse;
}
.cbh-timeline-approach .cbh-timeline-content {
    width: 45%;
    background: #fff;
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    position: relative;
    transition: transform 0.3s ease;
}
.cbh-timeline-approach .cbh-timeline-content:hover {
    transform: scale(1.02);
}
.cbh-timeline-approach .cbh-timeline-content::before {
    content: '';
    position: absolute;
    top: 50%;
    width: 24px;
    height: 24px;
    background: var(--cbh-primary);
    border: 6px solid #fff;
    border-radius: 50%;
    transform: translateY(-50%);
    box-shadow: 0 0 0 4px rgba(13, 110, 253, 0.2);
    z-index: 2;
}
.cbh-timeline-approach .cbh-timeline-item:nth-child(odd) .cbh-timeline-content::before {
    right: -54px;
}
.cbh-timeline-approach .cbh-timeline-item:nth-child(even) .cbh-timeline-content::before {
    left: -54px;
}
.cbh-timeline-img {
    width: 45%;
    height: 300px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}
.cbh-timeline-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.cbh-timeline-item:hover .cbh-timeline-img img {
    transform: scale(1.05);
}

/* Premium Why Choose Us Cards */
.cbh-why-premium-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}
.cbh-why-premium-item {
    background: #fff;
    padding: 30px;
    border-radius: 20px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}
.cbh-why-premium-item:hover {
    border-color: var(--cbh-primary);
    box-shadow: 0 15px 30px rgba(13,110,253,0.1);
    transform: translateY(-5px);
}
.cbh-why-premium-item svg {
    color: var(--cbh-secondary);
    background: #f0fdf4;
    padding: 10px;
    border-radius: 50%;
    width: 48px; height: 48px;
    flex-shrink: 0;
}
.cbh-why-premium-item h4 {
    margin: 0 0 10px 0;
    font-size: 1.25rem;
}
.cbh-why-premium-item p {
    margin: 0;
    color: var(--cbh-text-light);
    font-size: 0.95rem;
}

@media (max-width: 992px) {
    .cbh-about-hero-premium { padding: 40px 10px; }
    .cbh-about-hero-content-premium { 
        padding: 25px; 
        max-width: 100%;
        box-sizing: border-box;
        width: 100%;
    }
    .cbh-about-hero-content-premium h1 { font-size: 2rem; word-break: break-word; }
    .cbh-about-hero-content-premium p { font-size: 1.05rem; }
    
    .cbh-about-hero-actions {
        display: flex;
        flex-direction: column;
        gap: 15px;
        width: 100%;
    }
    .cbh-about-hero-actions .cbh-btn {
        width: 100%;
        margin-left: 0 !important;
        text-align: center;
        box-sizing: border-box;
    }
    
    .cbh-stats-bar { 
        display: grid; 
        grid-template-columns: 1fr 1fr; 
        gap: 15px; 
        margin-top: 40px; 
        margin-bottom: 40px; 
    }
    .cbh-stat-item { 
        width: 100%; 
        max-width: none; 
        min-width: 0;
        padding: 20px 10px;
    }
    .cbh-stat-number { font-size: 2.2rem; }
    .cbh-stat-label { font-size: 0.8rem; }
    .cbh-mv-premium-wrapper { flex-direction: column; }
    
    .cbh-timeline-approach::before { left: 20px; }
    .cbh-timeline-approach .cbh-timeline-item, .cbh-timeline-approach .cbh-timeline-item:nth-child(even) { flex-direction: column; align-items: flex-start; }
    .cbh-timeline-approach .cbh-timeline-content, .cbh-timeline-approach .cbh-timeline-img { width: calc(100% - 50px); margin-left: 50px; box-sizing: border-box; }
    .cbh-timeline-approach .cbh-timeline-img { margin-top: 20px; height: auto; min-height: 200px; }
    .cbh-timeline-approach .cbh-timeline-item:nth-child(odd) .cbh-timeline-content::before,
    .cbh-timeline-approach .cbh-timeline-item:nth-child(even) .cbh-timeline-content::before {
        left: -30px; right: auto; transform: translateX(-50%) translateY(-50%);
    }
}
/* Contact Page Specific */
.cbh-contact-split-section { padding: 80px 0; background: #f8fafc; }
.cbh-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.cbh-info-cards-wrapper { display: flex; flex-direction: column; gap: 20px; }
.cbh-contact-info-card {
    background: #fff;
    padding: 25px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    display: flex;
    align-items: flex-start;
    gap: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f1f5f9;
}
.cbh-contact-info-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(13,110,253,0.1); border-color: var(--cbh-primary); }
.cbh-info-icon {
    color: var(--cbh-primary);
    background: #eff6ff;
    padding: 15px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cbh-info-text h4 { margin: 0 0 5px 0; font-size: 1.2rem; color: var(--cbh-text-dark); }
.cbh-info-text p { margin: 0; color: var(--cbh-text-light); line-height: 1.6; }
.cbh-info-text a { color: var(--cbh-primary); text-decoration: none; font-weight: 600; }

.cbh-contact-form-wrapper {
    background: #fff;
    padding: 40px;
    border-radius: 24px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.1);
}
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-text,
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    margin-bottom: 20px;
    font-family: inherit;
    transition: border-color 0.3s;
    box-sizing: border-box;
}
.cbh-contact-form-wrapper .wpcf7-form-control:focus { outline: none; border-color: var(--cbh-primary); box-shadow: 0 0 0 3px rgba(13,110,253,0.1); }
.cbh-contact-form-wrapper .wpcf7-submit {
    background: var(--cbh-primary);
    color: #fff;
    border: none;
    padding: 15px 30px;
    border-radius: 30px;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    transition: all 0.3s ease;
}
.cbh-contact-form-wrapper .wpcf7-submit:hover { background: #0b5ed7; transform: translateY(-2px); box-shadow: 0 10px 20px rgba(13,110,253,0.2); }

.cbh-map-embed iframe { border-radius: 24px; box-shadow: 0 15px 40px rgba(0,0,0,0.1); width: 100%; }

@media (max-width: 992px) {
    .cbh-contact-grid { grid-template-columns: 1fr; }
    .cbh-contact-form-wrapper { padding: 30px 20px; }
}

/* Premium CTA Section */
.cbh-cta-premium {
    padding: 80px 0;
    background: #ffffff;
}
.cbh-cta-premium-card {
    background: linear-gradient(135deg, rgba(0,25,60,0.95) 0%, rgba(13,110,253,0.9) 100%);
    border-radius: 30px;
    padding: 60px 40px;
    text-align: center;
    box-shadow: 0 20px 50px rgba(13,110,253,0.15);
    position: relative;
    overflow: hidden;
}
.cbh-cta-premium-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}
.cbh-cta-premium-content h2 {
    color: #ffffff;
    font-size: 2.8rem;
    margin-bottom: 20px;
}
.cbh-cta-premium-content p {
    color: #e2e8f0;
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 30px;
}
.cbh-trust-points {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin: 30px 0;
}
.cbh-cta-actions {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}
@media (max-width: 768px) {
    .cbh-cta-premium-card { padding: 40px 20px; }
    .cbh-cta-premium-content h2 { font-size: 2.2rem; }
    .cbh-cta-actions { flex-direction: column; }
    .cbh-cta-actions .cbh-btn { width: 100%; margin: 0 !important; text-align: center; }
    .cbh-trust-points { flex-direction: column; align-items: flex-start; margin: 30px auto; max-width: 250px; }
}
/* Premium CTA Light Theme */
.cbh-cta-premium.light-theme {
    padding: 20px 0 80px 0;
    background: #ffffff;
}
.cbh-cta-premium.light-theme .cbh-cta-premium-card {
    background: linear-gradient(135deg, #ffffff 0%, #f4f7fb 100%);
    border-radius: 32px;
    padding: 80px 60px;
    text-align: center;
    box-shadow: 0 30px 60px rgba(13, 110, 253, 0.08), inset 0 2px 5px rgba(255,255,255,1);
    border: 1px solid rgba(13,110,253,0.1);
    position: relative;
    overflow: hidden;
}
.cbh-cta-premium.light-theme .cbh-cta-premium-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: url('data:image/svg+xml;utf8,<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><circle cx="2" cy="2" r="1" fill="rgba(13,110,253,0.05)"/></svg>') repeat;
    pointer-events: none;
}
.cbh-cta-premium.light-theme .cbh-cta-premium-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    margin: 0 auto;
}
.cbh-cta-premium.light-theme h2 {
    color: #0f172a;
    font-size: 3.2rem;
    font-weight: 800;
    margin-bottom: 25px;
    letter-spacing: -0.03em;
}
.cbh-cta-premium.light-theme p {
    color: #475569;
    font-size: 1.25rem;
    line-height: 1.8;
    margin-bottom: 40px;
}
.cbh-cta-premium .cbh-trust-points {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    margin: 40px 0;
}
.cbh-cta-premium .cbh-trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 10px 20px;
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    backdrop-filter: blur(5px);
}
.cbh-cta-premium .cbh-trust-item span {
    color: #ffffff;
    font-weight: 600;
    font-size: 1.05rem;
}
.cbh-cta-premium .cbh-trust-item svg {
	color: #ffffff !important;
}

/* Light Theme overrides for trust items */
.cbh-cta-premium.light-theme .cbh-trust-item {
    background: #ffffff;
    border: 1px solid rgba(13,110,253,0.1);
    box-shadow: 0 8px 25px rgba(13, 110, 253, 0.05);
    backdrop-filter: none;
}
.cbh-cta-premium.light-theme .cbh-trust-item span {
    color: #0f172a;
}
.cbh-cta-premium.light-theme .cbh-trust-item svg {
    color: var(--cbh-primary) !important;
}
.cbh-cta-premium.light-theme .cbh-program-tag {
    background: rgba(13, 110, 253, 0.1);
    color: var(--cbh-primary);
    border-color: rgba(13, 110, 253, 0.2);
    font-weight: 700;
    padding: 8px 20px;
}
.cbh-cta-premium.light-theme .cbh-btn-outline:hover {
    background: var(--cbh-primary) !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    .cbh-cta-premium.light-theme .cbh-cta-premium-card { padding: 50px 30px; }
    .cbh-cta-premium.light-theme h2 { font-size: 2.4rem; }
    .cbh-cta-premium.light-theme p { font-size: 1.1rem; }
    .cbh-cta-premium.light-theme .cbh-trust-points { gap: 15px; }
}

/* Premium Contact Form 7 Styling */
.cbh-contact-form-wrapper .wpcf7 form label {
    display: flex;
    flex-direction: column;
    font-weight: 600;
    color: #334155;
    margin-bottom: 25px;
    font-size: 0.95rem;
    gap: 8px; /* Spacing between label text and input box */
}

/* Base Input Styles */
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-text,
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-tel,
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 16px 20px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 12px !important;
    background-color: #f8fafc !important;
    font-family: inherit;
    font-size: 1rem;
    color: #0f172a;
    transition: all 0.3s ease;
    box-sizing: border-box;
    margin-bottom: 0 !important; /* Reset CF7 default margins */
}

/* Input Focus State */
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-text:focus,
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-tel:focus,
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-textarea:focus {
    outline: none !important;
    border-color: var(--cbh-primary) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(13,110,253,0.15) !important;
}

/* Textarea specific */
.cbh-contact-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    height: 100px;
    min-height: 100px;
    resize: vertical;
}

/* Submit Button Styling */
.cbh-contact-form-wrapper .wpcf7-submit {
    background: var(--cbh-primary) !important;
    color: #fff !important;
    border: none !important;
    padding: 18px 30px !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    cursor: pointer;
    width: 100%;
    transition: all 0.3s ease !important;
    box-shadow: 0 10px 20px rgba(13,110,253,0.2) !important;
    margin-top: 10px;
}
.cbh-contact-form-wrapper .wpcf7-submit:hover { 
    background: #0b5ed7 !important; 
    transform: translateY(-3px) !important; 
    box-shadow: 0 15px 25px rgba(13,110,253,0.3) !important; 
}

/* Mobile Typography Polish for Contact Page */
@media (max-width: 768px) {
    /* Main section headings */
    .cbh-contact-page .cbh-section-title {
        font-size: 2rem !important;
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
        font-weight: 800 !important;
    }
    .cbh-contact-page .cbh-section-desc {
        font-size: 1.05rem !important;
        line-height: 1.6 !important;
        margin-bottom: 25px !important;
        color: #475569 !important;
    }
    
    /* CTA Section specific */
    .cbh-cta-premium.light-theme h2 { 
        font-size: 2rem !important; 
        line-height: 1.3 !important;
        margin-bottom: 15px !important;
    }
    .cbh-cta-premium.light-theme p { 
        font-size: 1.05rem !important; 
        line-height: 1.6 !important;
        margin-bottom: 25px !important;
    }
    
    /* Adjust spacing */
    .cbh-contact-split-section, .cbh-location-section, .cbh-cta-premium {
        padding: 50px 0 !important;
    }
}


/* --- ADMISSIONS PAGE COMPONENTS --- */

/* Split Layout Section (Insurance) */
.cbh-split-layout { display: flex; align-items: center; gap: 60px; }
.cbh-split-content { flex: 1; }
.cbh-split-image { flex: 1; }
.cbh-split-image img { width: 100%; border-radius: 20px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.cbh-check-list-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; }
.cbh-check-item { display: flex; align-items: center; gap: 12px; }
.cbh-check-item span { font-weight: 600; color: #1e293b; }

/* FAQ Accordion */
.cbh-faq-accordion { max-width: 800px; margin: 0 auto; }
.cbh-faq-item { background: #ffffff; border-radius: 12px; margin-bottom: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); overflow: hidden; transition: all 0.3s ease; border: 1px solid #e2e8f0; }
.cbh-faq-item[open] { box-shadow: 0 10px 25px rgba(0,0,0,0.08); border-color: #cbd5e1; }
.cbh-faq-question { padding: 25px 30px; font-size: 1.2rem; font-weight: 700; color: #0f172a; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.cbh-faq-question::-webkit-details-marker { display: none; }
.cbh-faq-icon { width: 24px; height: 24px; position: relative; flex-shrink: 0; margin-left: 15px; }
.cbh-faq-icon::before, .cbh-faq-icon::after { content: ''; position: absolute; background: var(--cbh-primary); border-radius: 2px; transition: transform 0.3s ease; }
.cbh-faq-icon::before { top: 11px; left: 4px; right: 4px; height: 2px; }
.cbh-faq-icon::after { top: 4px; bottom: 4px; left: 11px; width: 2px; }
.cbh-faq-item[open] .cbh-faq-icon::after { transform: rotate(90deg); opacity: 0; }
.cbh-faq-answer { padding: 0 30px 25px; color: #475569; line-height: 1.7; font-size: 1.05rem; }

/* Section Spacing */
.cbh-admissions-page section.cbh-section-padding, .cbh-admissions-page section.cbh-split-layout-section { padding: 100px 0; }

/* --- PREMIUM AUTO-ANIMATED TIMELINE --- */
.cbh-horizontal-timeline {
    position: relative;
    padding: 60px 0 20px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
}
.cbh-timeline-track { display: none !important; }

/* The Premium Floating Box */
.cbh-timeline-step {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.6);
    border-radius: 24px;
    padding: 50px 25px 30px;
    position: relative;
    z-index: 2;
    flex: 1;
    text-align: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    /* The core auto-play animation */
    animation: stepHighlightBox 15s infinite;
}

/* The Premium Pop-Out Badge */
.cbh-step-number {
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    background: #f8fafc;
    color: #cbd5e1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
    box-shadow: 0 0 0 6px #ffffff, 0 4px 10px rgba(0,0,0,0.02);
    border: 1px solid #e2e8f0;
    z-index: 3;
    /* The core auto-play animation */
    animation: stepHighlightCircle 15s infinite;
}

/* Typography inside the box */
.cbh-step-content h3 { font-size: 1.25rem; font-weight: 800; color: #0f172a; margin: 0 0 12px 0; letter-spacing: -0.02em; }
.cbh-step-content p { font-size: 1rem; color: #64748b; line-height: 1.6; margin: 0; }

/* The Cascading Delays (15s total loop) */
.cbh-timeline-step:nth-child(2), .cbh-timeline-step:nth-child(2) .cbh-step-number { animation-delay: 0s; }
.cbh-timeline-step:nth-child(3), .cbh-timeline-step:nth-child(3) .cbh-step-number { animation-delay: 3s; }
.cbh-timeline-step:nth-child(4), .cbh-timeline-step:nth-child(4) .cbh-step-number { animation-delay: 6s; }
.cbh-timeline-step:nth-child(5), .cbh-timeline-step:nth-child(5) .cbh-step-number { animation-delay: 9s; }
.cbh-timeline-step:nth-child(6), .cbh-timeline-step:nth-child(6) .cbh-step-number { animation-delay: 12s; }

/* The Keyframes (Simulating the perfect hover effect automatically) */
@keyframes stepHighlightBox {
    0%, 18% {
        transform: translateY(-20px);
        border-color: rgba(13,110,253, 0.4);
        box-shadow: 0 25px 50px rgba(13,110,253,0.12), 0 0 0 1px var(--cbh-primary);
    }
    20%, 100% {
        transform: translateY(0);
        border-color: rgba(226, 232, 240, 0.6);
        box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    }
}
@keyframes stepHighlightCircle {
    0%, 18% {
        transform: scale(1.2);
        background: var(--cbh-primary);
        color: #ffffff;
        border-color: var(--cbh-primary);
        box-shadow: 0 0 0 8px #ffffff, 0 15px 30px rgba(13,110,253,0.3);
    }
    20%, 100% {
        transform: scale(1);
        background: #f8fafc;
        color: #cbd5e1;
        border-color: #e2e8f0;
        box-shadow: 0 0 0 6px #ffffff, 0 4px 10px rgba(0,0,0,0.02);
    }
}

/* Mobile Responsiveness */
@media (max-width: 992px) {
    .cbh-horizontal-timeline { flex-direction: column; gap: 40px; }
    .cbh-timeline-step { padding: 30px 20px 30px 40px; margin: 15px 0; text-align: left; display: flex; align-items: center; }
    .cbh-step-number { top: 50%; left: -30px; margin-left: 0; margin-top: -30px; }
    .cbh-step-content h3 { margin-top: 0; }
    .cbh-admissions-page section.cbh-section-padding, .cbh-admissions-page section.cbh-split-layout-section { padding: 60px 0; }
    .cbh-split-layout { flex-direction: column; }
    .cbh-check-list-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .cbh-faq-question { padding: 20px; font-size: 1.1rem; }
    .cbh-faq-answer { padding: 0 20px 20px; }
}

/* --- PREMIUM INSURANCE SECTION POLISH --- */

/* Improve Typography for the description */
.cbh-split-content .cbh-section-desc {
    font-size: 1.1rem !important;
    color: #475569 !important;
    line-height: 1.8 !important;
    margin-bottom: 40px !important;
}

/* Upgrade Checkmarks to Interactive Pills */
.cbh-check-list-grid {
    gap: 20px !important;
}
.cbh-check-item {
    background: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 14px !important;
    border: 1px solid #e2e8f0 !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.02) !important;
}
.cbh-check-item:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 25px rgba(13,110,253,0.1) !important;
    border-color: rgba(13,110,253,0.3) !important;
}
/* Style the checkmark icon itself */
.cbh-check-item svg {
    background: rgba(13,110,253,0.1) !important;
    padding: 4px !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    flex-shrink: 0 !important;
    stroke: var(--cbh-primary) !important;
}
.cbh-check-item span {
    font-size: 1.05rem !important;
    color: #0f172a !important;
    font-weight: 700 !important;
}

/* Premium Image Treatment with Offset Shadow Box */
.cbh-split-image {
    position: relative !important;
    padding-right: 30px !important;
    padding-bottom: 30px !important;
}
/* Decorative blue shape behind the image */
.cbh-split-image::before {
    content: '' !important;
    position: absolute !important;
    top: 40px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 40px !important;
    background: linear-gradient(135deg, rgba(13,110,253,0.1) 0%, rgba(13,110,253,0.02) 100%) !important;
    border-radius: 30px !important;
    z-index: 0 !important;
}
.cbh-split-image img {
    position: relative !important;
    z-index: 1 !important;
    border-radius: 24px !important;
    box-shadow: 0 25px 60px rgba(0,0,0,0.15) !important;
    border: 10px solid #ffffff !important;
}

/* Mobile Fixes */
@media (max-width: 992px) {
    .cbh-split-image {
        padding-right: 15px !important;
        padding-bottom: 15px !important;
        margin-top: 40px !important;
    }
    .cbh-split-image::before {
        top: 20px !important;
        left: 20px !important;
    }
}

/* --- MOBILE TIMELINE OVERFLOW FIX --- */
@media (max-width: 992px) {
    .cbh-timeline-step {
        margin-left: 35px !important; /* Push box right to fit the circle */
        margin-right: 15px !important;
        padding-left: 45px !important; /* Ensure text doesn't hit the circle */
    }
    .cbh-step-number {
        left: -30px !important;
    }
}
@media (max-width: 768px) {
    .cbh-timeline-step {
        margin-left: 25px !important;
        margin-right: 10px !important;
        padding: 25px 15px 25px 35px !important; /* Tighter padding for small phones */
    }
    .cbh-step-number {
        left: -25px !important;
        width: 50px !important;
        height: 50px !important;
        font-size: 1.3rem !important;
        margin-top: -25px !important;
    }
    .cbh-step-content h3 {
        font-size: 1.15rem !important;
    }
    .cbh-step-content p {
        font-size: 0.95rem !important;
    }
}

/* --- FIX MENU WRAPPING --- */
.cbh-main-nav ul li a {
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
}

/* --- PREMIUM MENU UI POLISH --- */
/* Enhanced Menu Design */
.cbh-main-nav ul.cbh-nav-list > li > a {
    position: relative !important;
    color: #334155 !important;
    font-weight: 600 !important;
    padding: 10px 15px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 8px;
}

.cbh-main-nav ul.cbh-nav-list > li > a:hover {
    color: var(--cbh-primary) !important;
    background: rgba(13, 110, 253, 0.05) !important;
    transform: translateY(-1px);
}

.cbh-main-nav ul.cbh-nav-list > li.current-menu-item > a {
    color: var(--cbh-primary) !important;
    background: rgba(13, 110, 253, 0.1) !important;
    box-shadow: inset 0 -2px 0 var(--cbh-primary);
}

.cbh-main-nav ul.cbh-nav-list > li.menu-item-has-children > a::after {
    transition: transform 0.3s ease;
}

.cbh-main-nav ul.cbh-nav-list > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Submenu Enhancements */
.cbh-nav-list .sub-menu {
    border-radius: 12px !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid rgba(255,255,255,0.5) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px) !important;
    padding: 10px !important;
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.cbh-nav-list li:hover > .sub-menu {
    transform: translateY(0);
    opacity: 1;
}

.cbh-nav-list .sub-menu a {
    border-radius: 6px;
    font-weight: 500;
    color: #475569 !important;
    transition: all 0.2s ease !important;
}

.cbh-nav-list .sub-menu a:hover {
    background: var(--cbh-primary) !important;
    color: #ffffff !important;
    padding-left: 25px !important;
}

/* Dropdown Menu Polish */
.cbh-main-nav ul.sub-menu {
    border-radius: 16px !important;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    padding: 12px !important;
    min-width: 280px !important;
    margin-top: 15px !important;
    background: #ffffff !important;
}
.cbh-main-nav ul.sub-menu li a {
    border-radius: 10px !important;
    padding: 14px 20px !important;
    color: #475569 !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
}
.cbh-main-nav ul.sub-menu li a:hover,
.cbh-main-nav ul.sub-menu li.current-menu-item a {
    background: #f8fafc !important;
    color: var(--cbh-primary) !important;
    padding-left: 28px !important; /* Slide right effect */
}
/* Treatment Program Sub-Pages CSS */
.cbh-program-hero { padding: 80px 0; background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 100%); border-bottom: 1px solid #e2e8f0; }
.cbh-program-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.cbh-program-badge { display: inline-block; padding: 6px 16px; background: rgba(13, 110, 253, 0.1); color: var(--cbh-primary); border-radius: 50px; font-weight: 700; font-size: 0.9rem; margin-bottom: 20px; }
.cbh-program-hero-content h1 { font-size: 3.5rem; font-weight: 800; color: #0f172a; line-height: 1.1; margin-bottom: 25px; letter-spacing: -0.03em; }
.cbh-program-overview { font-size: 1.15rem; color: #475569; line-height: 1.8; }
.cbh-program-hero-img img { width: 100%; border-radius: 24px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.cbh-program-details { padding: 80px 0; background: #ffffff; }
.cbh-program-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.cbh-program-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 40px; box-shadow: 0 10px 30px rgba(0,0,0,0.03); margin-bottom: 30px; }
.cbh-program-card h3 { font-size: 1.5rem; font-weight: 700; color: #0f172a; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #f1f5f9; }
.cbh-program-benefit-list { list-style: none; padding: 0; margin: 0; }
.cbh-program-benefit-list li { display: flex; align-items: flex-start; gap: 15px; margin-bottom: 15px; font-size: 1.1rem; color: #334155; }
.cbh-program-benefit-list li svg { color: var(--cbh-primary); flex-shrink: 0; margin-top: 3px; }
.cbh-program-text-content { font-size: 1.05rem; color: #475569; line-height: 1.7; }
.cbh-program-why { padding: 80px 0; background: #f8fafc; border-top: 1px solid #e2e8f0; }
.cbh-program-why-inner { max-width: 800px; margin: 0 auto; }
.cbh-program-why h2 { font-size: 2.5rem; font-weight: 800; color: #0f172a; margin-bottom: 30px; }
.cbh-program-why-content { font-size: 1.15rem; color: #475569; line-height: 1.8; }
@media (max-width: 991px) { .cbh-program-hero-grid, .cbh-program-details-grid { grid-template-columns: 1fr; } .cbh-program-hero-content h1 { font-size: 2.5rem; } }
/* Premium Single Blog Article Layout for Programs */
.cbh-premium-article { background-color: #ffffff; font-family: 'Inter', sans-serif; }
.cbh-article-header { position: relative; padding: 160px 20px; background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; text-align: center; }
.cbh-article-header-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,23,42,0.4) 0%, rgba(15,23,42,0.8) 100%); z-index: 1; }
.cbh-article-header-content { position: relative; z-index: 2; max-width: 900px; width: 100%; margin: 0 auto; }
.cbh-article-badge { display: inline-block; padding: 8px 20px; background: rgba(255,255,255,0.15); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #ffffff; border-radius: 50px; font-weight: 700; font-size: 0.95rem; margin-bottom: 25px; letter-spacing: 0.05em; text-transform: uppercase; }
.cbh-article-title { color: #ffffff; font-size: 4rem; font-weight: 800; line-height: 1.1; margin: 0; text-shadow: 0 4px 20px rgba(0,0,0,0.3); letter-spacing: -0.02em; }
.cbh-article-body { max-width: 800px; margin: -60px auto 0 auto; padding: 60px 40px; position: relative; z-index: 10; background: #ffffff; border-radius: 24px; box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
.cbh-article-section { margin-bottom: 70px; }
.cbh-article-section:last-child { margin-bottom: 0; }
.cbh-prose { font-size: 1.25rem; line-height: 1.8; color: #334155; }
.cbh-prose p { margin-bottom: 1.5rem; }
.cbh-prose h3 { font-size: 2rem; color: #0f172a; margin-bottom: 25px; font-weight: 800; }
.cbh-section-title { font-size: 2.25rem; font-weight: 800; color: #0f172a; margin-bottom: 35px; letter-spacing: -0.02em; position: relative; padding-bottom: 15px; }
.cbh-section-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 60px; height: 4px; background: var(--cbh-primary); border-radius: 2px; }
.text-center .cbh-section-title::after { left: 50%; transform: translateX(-50%); }
.cbh-benefits-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; }
.cbh-benefit-item { display: flex; align-items: flex-start; gap: 15px; padding: 20px; background: #f8fafc; border-radius: 16px; border: 1px solid #e2e8f0; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.cbh-benefit-item:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); }
.cbh-benefit-icon { color: var(--cbh-primary); flex-shrink: 0; background: rgba(13, 110, 253, 0.1); padding: 10px; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.cbh-benefit-text { font-size: 1.1rem; font-weight: 600; color: #1e293b; line-height: 1.5; margin-top: 5px; }
.cbh-who-content, .cbh-expect-content, .cbh-why-content { font-size: 1.15rem; line-height: 1.8; color: #475569; }
@media (max-width: 768px) {
    .cbh-article-title { font-size: 2.5rem; }
    .cbh-article-body { padding: 40px 20px; margin: -40px 15px 0 15px; border-radius: 16px; }
    .cbh-benefits-grid { grid-template-columns: 1fr; }
}
/* Unique Premium White CTA for Program Sub-Pages */
.cbh-program-single-cta-card { background: #ffffff; border-radius: 30px; padding: 80px 40px; text-align: center; color: #0f172a; box-shadow: 0 25px 50px -12px rgba(13,110,253,0.15), 0 0 0 1px rgba(13,110,253,0.05); position: relative; overflow: hidden; z-index: 10; }
.cbh-program-single-cta-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 6px; background: linear-gradient(90deg, var(--cbh-primary) 0%, #60a5fa 100%); z-index: 1; }
.cbh-program-single-cta-title { font-size: 3rem; font-weight: 800; color: #0f172a; margin-bottom: 20px; position: relative; z-index: 2; letter-spacing: -0.02em; }
.cbh-program-single-cta-desc { font-size: 1.35rem; color: #475569; max-width: 600px; margin: 0 auto 40px auto; line-height: 1.6; position: relative; z-index: 2; }
.cbh-program-single-cta-buttons { display: flex; gap: 20px; justify-content: center; position: relative; z-index: 2; }
.cbh-program-single-cta-btn { padding: 18px 40px; font-size: 1.1rem; border-radius: 50px; font-weight: 600; }
.cbh-btn-outline-primary { border: 2px solid var(--cbh-primary); color: var(--cbh-primary); background: transparent; }
.cbh-btn-outline-primary:hover { background: var(--cbh-primary); color: #fff; }

@media (max-width: 768px) {
    .cbh-program-single-cta-card { padding: 50px 20px; border-radius: 20px; }
    .cbh-program-single-cta-title { font-size: 2.2rem; }
    .cbh-program-single-cta-buttons { flex-direction: column; }
    .cbh-program-single-cta-btn { width: 100%; }
}
.cbh-article-cta { max-width: 900px; margin: 80px auto 40px auto; padding: 0 20px; }

/* --- PREMIUM MOBILE NAVIGATION UI POLISH --- */
@media (max-width: 1199px) {
    /* 1. Bulletproof Submenu Text Color (Fix invisible text bug) */
    html body .cbh-main-nav ul.sub-menu li a,
    html body .cbh-main-nav ul.cbh-nav-list .sub-menu a {
        color: #1e293b !important;
        background: transparent !important;
        font-size: 14px !important;
        padding: 10px 15px !important;
        white-space: normal !important;
        line-height: 1.4 !important;
        border-radius: 6px !important;
        font-weight: 500 !important;
        display: block !important;
    }
    html body .cbh-main-nav ul.sub-menu li a:hover,
    html body .cbh-main-nav ul.sub-menu li.current-menu-item a {
        color: var(--cbh-primary, #0D6EFD) !important;
        background: rgba(13, 110, 253, 0.05) !important;
    }

    /* Fix Submenu Overflow and Container */
    .cbh-main-nav ul.sub-menu {
        min-width: 0 !important;
        width: 100% !important;
        margin-top: 5px !important;
        padding: 5px !important;
        box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
        border: 1px solid rgba(226, 232, 240, 0.8) !important;
        background: #f8fafc !important;
        border-radius: 8px !important;
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }

    /* 2. Premium "Glass/Tab" Close Button attached exactly to the middle-left edge */
    .cbh-mobile-close {
        position: fixed !important;
        top: 50% !important;
        right: calc(min(320px, 90vw)) !important; /* Locks exactly to sidebar edge */
        left: auto !important;
        transform: translateY(-50%) !important;
        z-index: 10005 !important;
        
        /* Premium UI */
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        border: 1px solid rgba(226, 232, 240, 0.8) !important;
        border-right: none !important; /* Seamless connection to sidebar */
        color: #64748b !important; /* Soft slate color for the X */
        width: 44px !important;
        height: 54px !important;
        border-radius: 12px 0 0 12px !important; /* Clean rounded left edge */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: -4px 0 15px rgba(0, 0, 0, 0.05) !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    .cbh-mobile-close svg {
        width: 22px !important;
        height: 22px !important;
        transform: none !important;
        margin-left: -2px !important;
        stroke-width: 2.5 !important;
    }
    
    /* Hover/Active State */
    .cbh-mobile-close:hover, .cbh-mobile-close:active {
        background: #ffffff !important;
        color: #ef4444 !important; /* X turns red on interaction */
        width: 52px !important; /* Elegant slide out effect */
        box-shadow: -8px 0 20px rgba(239, 68, 68, 0.1) !important;
    }
}

/* ==========================================================================
   Premium Footer Styles
   ========================================================================== */
.cbh-footer-premium {
    background-color: var(--cbh-primary, #0D6EFD);
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    position: relative;
    overflow: hidden;
    margin-top: 60px;
    border-top: 5px solid rgba(0,0,0,0.15);
}

.cbh-footer-top {
    padding: 80px 0 60px;
}

.cbh-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.5fr 1fr;
    gap: 40px;
}

/* Typography & Elements */
.cbh-footer-title {
    color: #ffffff;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 12px;
}
.cbh-footer-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 3px;
    background: #ffffff;
    border-radius: 2px;
}

/* Col 1: Brand */
.cbh-footer-brand .cbh-footer-logo {
    max-width: 220px;
    height: auto;
    margin-bottom: 25px;
    filter: brightness(0) invert(1); /* Ensure logo is white */
}
.cbh-footer-brand .cbh-footer-logo-text {
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 800;
    margin-bottom: 20px;
    margin-top: 0;
}
.cbh-footer-about {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    max-width: 90%;
}

/* Col 2: Quick Links */
.cbh-footer-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cbh-footer-nav-list li {
    margin-bottom: 15px;
}
.cbh-footer-nav-list a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-size: 1rem;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}
.cbh-footer-nav-list a svg {
    margin-right: 10px;
    color: rgba(255, 255, 255, 0.6);
    transition: transform 0.3s ease;
}
.cbh-footer-nav-list a:hover {
    color: #ffffff;
    transform: translateX(5px);
}
.cbh-footer-nav-list a:hover svg {
    color: #ffffff;
}

/* Col 3: Contact Info */
.cbh-footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cbh-footer-contact-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}
.cbh-footer-contact-list svg {
    color: #ffffff;
    flex-shrink: 0;
    margin-right: 15px;
    margin-top: 3px;
}
.cbh-footer-contact-list a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: color 0.3s ease;
}
.cbh-footer-contact-list a:hover {
    color: #ffffff;
}

/* Col 4: Connect / Socials */
.cbh-social-icons-wrapper {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.cbh-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: #ffffff;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.cbh-social-link:hover {
    background: #ffffff;
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    border-color: #ffffff;
    color: var(--cbh-primary, #0D6EFD);
}

/* Bottom Bar */
.cbh-footer-bottom {
    background: rgba(0, 0, 0, 0.15);
    padding: 25px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.cbh-footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.cbh-copyright {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    margin: 0;
}

/* Responsive Styles */
@media (max-width: 1199px) {
    .cbh-footer-grid {
        grid-template-columns: 1.5fr 1fr 1.5fr;
    }
    .cbh-footer-social {
        grid-column: 1 / -1;
    }
}
@media (max-width: 991px) {
    .cbh-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
    .cbh-footer-brand, .cbh-footer-social {
        grid-column: 1 / -1;
    }
}
@media (max-width: 575px) {
    .cbh-footer-top {
        padding: 60px 0 40px;
    }
    .cbh-footer-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .cbh-footer-brand, .cbh-footer-links, .cbh-footer-contact, .cbh-footer-social {
        grid-column: 1 / -1;
    }
    .cbh-footer-bottom-inner {
        justify-content: center;
        text-align: center;
    }
}

/* Adjust Grid for 4 Columns */
.cbh-footer-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 1.2fr !important;
    gap: 50px !important;
    align-items: start !important;
}
/* Quick Links Tags */
.cbh-footer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.cbh-footer-tag {
    display: inline-block;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-radius: 20px;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.cbh-footer-tag:hover {
    background: #ffffff;
    color: var(--cbh-primary, #0D6EFD);
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Icon Box for Contact Info */
.cbh-footer-icon-box {
    background: rgba(255, 255, 255, 0.1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 15px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.cbh-footer-contact-list svg {
    margin: 0 !important;
}

/* Responsive updates for new grid */
@media (max-width: 1199px) {
    .cbh-footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr !important;
    }
    .cbh-footer-contact {
        grid-column: 1 / -1;
    }
}
@media (max-width: 991px) {
    .cbh-footer-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .cbh-footer-brand, .cbh-footer-contact {
        grid-column: 1 / -1;
    }
}
@media (max-width: 575px) {
    .cbh-footer-grid {
        grid-template-columns: 1fr !important;
    }
}
.cbh-footer-premium, .cbh-footer-top {
    width: 100%;
}

/* Footer Bottom Navigation Row */
.cbh-footer-bottom-inner {
    flex-direction: column !important;
    justify-content: center !important;
    gap: 15px !important;
}
.cbh-footer-bottom-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}
.cbh-footer-bottom-nav a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s ease;
}
.cbh-footer-bottom-nav a:hover {
    color: #ffffff;
}

/* Mobile Sticky Bottom Bar */
.cbh-mobile-bottom-bar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-top: 1px solid rgba(0,0,0,0.1);
    z-index: 9999;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.05);
    padding: 10px 5px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
}

.cbh-mbar-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    text-decoration: none;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: color 0.3s ease;
}

.cbh-mbar-item svg {
    width: 22px;
    height: 22px;
    margin-bottom: 4px;
    stroke: currentColor;
    transition: transform 0.2s ease;
}

.cbh-mbar-item:hover, .cbh-mbar-item:active {
    color: var(--cbh-primary, #0D6EFD);
}

.cbh-mbar-item:active svg {
    transform: scale(0.9);
}

/* Mobile Programs Drawer */
.cbh-mobile-drawer {
    position: fixed;
    bottom: -100%;
    left: 0;
    width: 100vw;
    background: #ffffff;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    z-index: 10001;
    padding: 20px 15px 30px;
    box-shadow: 0 -10px 40px rgba(0,0,0,0.1);
    transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.cbh-mobile-drawer.cbh-drawer-open {
    bottom: 0;
}

.cbh-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f1f5f9;
}

.cbh-drawer-header h4 {
    margin: 0;
    font-size: 1.2rem;
    color: #0f172a;
    font-family: 'Outfit', sans-serif;
}

.cbh-drawer-close-btn {
    background: #f1f5f9;
    border: none;
    width: 100%;
    height: 48px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f172a;
    font-family: 'Inter', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 20px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.cbh-drawer-close-btn svg {
    width: 18px;
    height: 18px;
    stroke: #0f172a;
    margin-left: 8px;
    transition: stroke 0.2s ease;
}

.cbh-drawer-close-btn:hover {
    background: var(--cbh-primary, #0D6EFD);
    color: #ffffff;
}

.cbh-drawer-close-btn:hover svg {
    stroke: #ffffff;
}

.cbh-drawer-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cbh-drawer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: #f8fafc;
    border-radius: 8px;
    text-decoration: none;
    color: #334155;
    font-weight: 500;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}

.cbh-drawer-link svg {
    width: 18px;
    height: 18px;
    color: var(--cbh-primary, #0D6EFD);
}

.cbh-drawer-link:hover {
    background: #e0f2fe;
    color: var(--cbh-primary, #0D6EFD);
    transform: translateX(5px);
}

.cbh-mobile-drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(3px);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.cbh-mobile-drawer-overlay.cbh-drawer-open {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 767px) {
    .cbh-mobile-bottom-bar {
        display: flex;
    }
    body {
        padding-bottom: 70px !important;
    }
}
