/* Veyra-style split layouts — Prakash Hospital brand (overrides Elementor kit) */

:root {
	--ph-veyra-navy: #111d6a;
	--ph-veyra-accent: #EF8E32;
	--ph-veyra-ink: #1C1C1C;
	--ph-veyra-muted: #5B6472;
}

/*
 * Critical: Elementor uses display: var(--display). If post CSS is stale,
 * --display is empty and columns stack full-width. Force flex on Veyra pages.
 * Also target .ph-veyra-split-row so Saved Template insert works without meta.
 */
body.ph-veyra-page .elementor .e-con.e-flex,
body.ph-veyra-page .elementor .e-con.e-flex > .e-con-inner,
.elementor:has(.ph-veyra-split-row) .e-con.e-flex,
.elementor:has(.ph-veyra-split-row) .e-con.e-flex > .e-con-inner {
	--display: flex;
	display: flex !important;
}

body.ph-veyra-page .elementor .e-con.e-parent,
body.ph-veyra-page .elementor .e-con.e-parent > .e-con-inner,
.elementor:has(.ph-veyra-split-row) .e-con.e-parent,
.elementor:has(.ph-veyra-split-row) .e-con.e-parent > .e-con-inner {
	flex-direction: column;
	width: 100%;
}

/* 50/50 left-right splits (Hero / Treat / Why / FAQ) */
/* Tight section rhythm like Veyra (avoid double 80–90px padding) */
body.ph-veyra-page .elementor .e-con.e-parent,
.elementor:has(.ph-veyra-split-row) .e-con.e-parent {
	--padding-top: 40px;
	--padding-bottom: 40px;
}

body.ph-veyra-page .elementor .ph-veyra-split-row,
body.ph-veyra-page .elementor .e-con.e-parent > .e-con-inner > .e-con.e-flex:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))),
.elementor .ph-veyra-split-row {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center;
	gap: 28px;
	width: 100%;
}

body.ph-veyra-page .elementor .ph-veyra-split-row > .e-con,
body.ph-veyra-page .elementor .e-con.e-parent > .e-con-inner > .e-con.e-flex:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))) > .e-con,
.elementor .ph-veyra-split-row > .e-con {
	width: calc(50% - 14px) !important;
	max-width: calc(50% - 14px);
	flex: 0 0 calc(50% - 14px);
	min-width: 0;
}

/* CTA button rows side-by-side */
body.ph-veyra-page .elementor .e-con.e-flex:has(> .elementor-widget-button):not(:has(> .e-con)),
.elementor:has(.ph-veyra-split-row) .e-con.e-flex:has(> .elementor-widget-button):not(:has(> .e-con)) {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center;
	gap: 14px;
}

/* Cards grid */
body.ph-veyra-page .elementor .ph-veyra-cards-row,
.elementor .ph-veyra-cards-row {
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 22px;
}

body.ph-veyra-page .elementor .ph-veyra-cards-row > .e-con,
.elementor .ph-veyra-cards-row > .e-con {
	width: calc(33.333% - 15px) !important;
	max-width: calc(33.333% - 15px);
	flex: 0 0 calc(33.333% - 15px);
}

/* Headings — force navy / orange eyebrow over kit colors */
.elementor-kit-500 .elementor-widget-heading .elementor-heading-title,
.elementor-page .elementor-widget-heading .elementor-heading-title {
	color: var(--ph-veyra-navy) !important;
}

.elementor-kit-500 .elementor-widget-heading p.elementor-heading-title,
.elementor-page .elementor-widget-heading p.elementor-heading-title {
	color: var(--ph-veyra-accent) !important;
	font-family: Poppins, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
}

.elementor-page .elementor-widget-heading h1.elementor-heading-title {
	font-family: "Libre Baskerville", serif !important;
	font-size: clamp(28px, 3.2vw, 44px) !important;
	line-height: 1.2 !important;
}

.elementor-page .elementor-widget-heading h2.elementor-heading-title {
	font-family: "Libre Baskerville", serif !important;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	line-height: 1.25 !important;
}

.elementor-page .elementor-widget-heading h3.elementor-heading-title {
	font-family: "Libre Baskerville", serif !important;
}

/* Buttons — beat Elementor post CSS + kit accent */
.elementor-kit-500 .elementor-widget-button .elementor-button,
.elementor-page .elementor-widget-button .elementor-button,
.elementor-page .elementor-button {
	background-color: var(--ph-veyra-navy) !important;
	background-image: none !important;
	color: #fff !important;
	border-radius: 4px !important;
	font-family: Poppins, sans-serif !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.6px !important;
	padding: 15px 28px !important;
	border: 0 !important;
	box-shadow: none !important;
}

.elementor-page .elementor-widget-button .elementor-button:hover,
.elementor-page .elementor-widget-button .elementor-button:focus {
	background-color: #0c1450 !important;
	color: #fff !important;
}

/* Second CTA in a row = orange (Book Appointment / Learn More secondary) */
.elementor-page .e-con.e-flex > .elementor-widget-button:nth-child(2) .elementor-button,
.elementor-page .ph-veyra-btn--orange .elementor-button {
	background-color: var(--ph-veyra-accent) !important;
}

.elementor-page .e-con.e-flex > .elementor-widget-button:nth-child(2) .elementor-button:hover,
.elementor-page .ph-veyra-btn--orange .elementor-button:hover {
	background-color: #D67A22 !important;
}

/* Accordion */
.elementor-page .elementor-widget-accordion .elementor-tab-title {
	color: var(--ph-veyra-navy) !important;
	font-family: Poppins, sans-serif !important;
	font-weight: 600 !important;
}

.elementor-page .elementor-widget-accordion .elementor-tab-title.elementor-active {
	color: var(--ph-veyra-accent) !important;
}

/* CTA buttons side-by-side like Veyra */
.elementor-page .e-con.e-flex > .elementor-widget-button {
	width: auto !important;
	max-width: max-content;
	flex: 0 0 auto;
}

.elementor-page .e-con.e-flex > .elementor-widget-button .elementor-button {
	width: auto !important;
	display: inline-flex !important;
}

/* Split images — tall rounded like Veyra */
body.ph-veyra-page .elementor .ph-veyra-split-row .elementor-widget-image img,
body.ph-veyra-page .elementor .e-con:has(> .elementor-widget-image):not(:has(.elementor-widget-heading)) .elementor-widget-image img,
.elementor-page .ph-veyra-img-col .elementor-widget-image img,
.elementor-page .ph-veyra-split-img img {
	width: 100%;
	height: 440px;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

.elementor-page .elementor-widget-image img {
	border-radius: 16px;
}

.ph-veyra-copy p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
	body.ph-veyra-page .elementor .ph-veyra-split-row > .e-con,
	body.ph-veyra-page .elementor .e-con.e-parent > .e-con-inner > .e-con.e-flex:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))) > .e-con,
	.elementor .ph-veyra-split-row > .e-con {
		width: 100% !important;
		max-width: 100%;
		flex: 0 0 100%;
	}

	body.ph-veyra-page .elementor .ph-veyra-cards-row > .e-con,
	.elementor .ph-veyra-cards-row > .e-con {
		width: calc(50% - 11px) !important;
		max-width: calc(50% - 11px);
		flex: 0 0 calc(50% - 11px);
	}

	body.ph-veyra-page .elementor .e-con.e-parent,
	.elementor:has(.ph-veyra-split-row) .e-con.e-parent {
		--padding-top: 28px;
		--padding-bottom: 28px;
	}

	body.ph-veyra-page .elementor .ph-veyra-split-row .elementor-widget-image img,
	body.ph-veyra-page .elementor .e-con:has(> .elementor-widget-image):not(:has(.elementor-widget-heading)) .elementor-widget-image img,
	.elementor-page .ph-veyra-img-col .elementor-widget-image img {
		height: 320px;
	}
}

@media (max-width: 767px) {
	body.ph-veyra-page .elementor .ph-veyra-cards-row > .e-con,
	.elementor .ph-veyra-cards-row > .e-con {
		width: 100% !important;
		max-width: 100%;
		flex: 0 0 100%;
	}

	body.ph-veyra-page .elementor .ph-veyra-split-row .elementor-widget-image img,
	body.ph-veyra-page .elementor .e-con:has(> .elementor-widget-image):not(:has(.elementor-widget-heading)) .elementor-widget-image img,
	.elementor-page .ph-veyra-img-col .elementor-widget-image img {
		height: 240px;
	}

	.elementor-page .e-con.e-flex > .elementor-widget-button {
		width: 100% !important;
		max-width: 100%;
	}

	.elementor-page .e-con.e-flex > .elementor-widget-button .elementor-button {
		width: 100% !important;
		justify-content: center;
	}
}
