/*
 * Estilos exclusivos de la home (template-home-custom.php).
 * Solo se cargan en la pagina que usa esta plantilla.
 */

/* El tema limita .content_wrap a un ancho fijo (1170px/1000px segun
 * el breakpoint). Para que el banner pueda ir a ancho completo (full
 * bleed) en esta pagina, se libera ese limite solo aqui, usando la
 * clase que WordPress agrega al <body> por esta plantilla. */
body.page-template-template-home-custom-php .content_wrap {
	width: 100%;
}

/* ============================================================= */
/* Hero / banner                                                 */
/* ============================================================= */

.hv-hero {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	min-height: 620px;
}

.hv-hero__text {
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: 60px clamp(24px, 6vw, 80px);
}

.hv-hero__title {
	margin: 0 0 24px;
	color: #607064 !important;
	font-size: 3.25rem !important;
	line-height: 1.2;
	font-weight: 400;
}

.hv-hero__subtitle {
	margin: 0 0 20px;
	color: #4F4F4F !important;
	font-size: 1.7rem !important;
	line-height: 1.3 !important;
}

.hv-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 12px;
}

.hv-hero__btn {
	display: inline-block;
	padding: 16px 36px;
	border-radius: 999px;
	font-size: 1.2rem;
	font-weight: 400;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.hv-hero__btn:hover {
	opacity: 0.85;
	color: #ffffff;
}

.hv-hero__btn--primary {
	background-color: #4a6b58;
	color: #ffffff !important;
}

.hv-hero__btn--secondary {
	background-color: #c5b5a4;
	color: #ffffff !important;
}

.hv-hero__media {
	width: 50%;
	position: relative;
}

.hv-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 900px) {

.hv-hero{
	flex-direction: column-reverse;
}
	.hv-hero__text,
	.hv-hero__media {
		width: 100%;
	}
	.hv-hero__media {
		height: 50vh;
	}

	.hv-hero__text {
		padding: 40px 24px;
	}

	.hv-hero__title {
		font-size: 2rem;
	}

	.hv-hero__media {
		min-height: 320px;
	}
}

/* ============================================================= */
/* Trust bar (franja verde debajo del banner)                    */
/* ============================================================= */

.hv-trust-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
	background-color: #4a6b58;
	padding: 24px 20px;
	color: #ffffff;
}

.hv-trust-bar__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.6rem !important;
}

.hv-trust-bar__icon {
	width: 34px;
	height: 34px;
}

.hv-trust-bar__divider {
	width: 1px;
	height: 20px;
	background-color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 700px) {
	.hv-trust-bar__divider {
		display: none;
	}

	.hv-trust-bar__item {
		width: 100%;
		justify-content: flex-start;
	}
}

/* ============================================================= */
/* Memberships (3 tarjetas)                                       */
/* ============================================================= */

.hv-memberships {
	padding: 80px 20px;
	max-width: 1400px;
	margin: 0 auto;
}

.hv-memberships__intro {
	max-width: 900px;
	margin: 0 auto 56px;
	text-align: center;
}

.hv-memberships__heading {
	margin: 0 0 20px;
	color: #4a6b58 !important;
	font-size: 2.5rem !important;
	font-weight: 400;
	line-height: 1.2;
}

.hv-memberships__subtext {
	margin: 0 auto;
	color: #333333;
	font-size: 1.15rem;
	line-height: 1.6;
	max-width: 780px;
}

.hv-memberships__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-items: stretch;
	max-width: 1100px;
    margin: 0 auto;
}

.hv-membership-card {
	display: flex;
	flex-direction: column;
	background-color: #faf8f2;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.hv-membership-card__bar {
	height: 28px;
}

.hv-membership-card--green .hv-membership-card__bar {
	background-color: #4a6b58;
}

.hv-membership-card--gold .hv-membership-card__bar {
	background-color: #b8914b;
}

.hv-membership-card--rose .hv-membership-card__bar {
	background-color: #d4a89b;
}

.hv-membership-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 60px 40px;
}

.hv-membership-card__label {
	color: #8C8A88;
	font-size: 1.2rem;
}

.hv-membership-card__title {
	margin: 4px 0 20px;
	color: #27503b !important;
	font-size: 2rem !important;
	font-weight: 300;
	line-height: 1.1;
}

.hv-membership-card__divider {
	width: 100%;
	height: 1px;
	margin: 0 0 20px;
	border: none;
	background-color: #d8d3c8;
}

.hv-membership-card__text {
	flex: 1;
	margin: 0 0 24px;
	color: #5F5D5A !important;
	font-size: 1.3rem !important;
	line-height: 1.4 !important;
}

.hv-membership-card__btn {
	display: inline-block;
	align-self: flex-start;
	padding: 6px 18px;
	border: 1px solid #27503b;
	border-radius: 999px;
	color: #27503b !important;
	font-size: 1.2rem;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.hv-membership-card__btn:hover {
	background-color: rgba(74, 107, 88, 0.08);
	color: #27503b;
}

.hv-memberships__cta {
	margin-top: 56px;
	text-align: center;
}

.hv-memberships__cta-btn {
	display: inline-block;
	padding: 18px 44px;
	background-color: #4a6b58;
	border-radius: 999px;
	color: #ffffff !important; 
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: opacity 0.2s ease;
}

.hv-memberships__cta-btn:hover {
	opacity: 0.85;
	color: #ffffff;
}

@media (max-width: 900px) {
	.hv-memberships__grid {
		grid-template-columns: 1fr;
	}

	.hv-memberships__heading {
		font-size: 1.9rem;
	}
}

/* ============================================================= */
/* Clinical Continuum                                             */
/* ============================================================= */

.hv-continuum {
	padding: 40px 20px 60px;
	max-width: 1300px;
	margin: 0 auto;
	text-align: center;
}

.hv-continuum__heading {
	margin: 0 0 40px;
	color: #4a6b58 !important;
	font-size: 2.4rem !important;
	font-weight: 400;
}

.hv-continuum__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0;
}

.hv-continuum__step {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	flex-shrink: 0;
	border: 2px solid #3b5b49;
	border-radius: 50%;
	background-color: #ffffff;
}

.hv-continuum__step-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background-color: #f7ede6;
}

.hv-continuum__step span {
	padding: 0 14px;
	color: #27503b;
	font-size: 1.2rem;
	line-height: 1.3;
}

.hv-continuum__arrow {
	position: relative;
	flex-shrink: 0;
	width: 70px;
	height: 2px;
	background-color: #3b5b49;
}

.hv-continuum__arrow::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #3b5b49;
}

.hv-continuum__caption {
	margin: 40px 0 0;
	color: #4a6b58 !important;
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.hv-continuum__step {
		width: 120px;
		height: 120px;
	}

	.hv-continuum__step span {
		font-size: 0.9rem;
	}

	.hv-continuum__arrow {
		transform: rotate(90deg);
	}
}

/* ============================================================= */
/* Why Membership-Based Care                                      */
/* ============================================================= */

.hv-why {
	display: flex;
	align-items: stretch;
	gap: 60px;
	max-width: 1600px;
	
	padding: 30px 0;
}

.hv-why__bar {
	flex-shrink: 0;
	width: 80px;
	border-radius: 0 30px 30px 0;
	background-color: #4a6b58;
}

.hv-why__text {
	flex-shrink: 0;
	width: 320px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.hv-why__heading {
	margin: 0 0 20px;
	color: #4a6b58 !important;
	font-size: 2.9rem;
	font-weight: 300;
	line-height: 1.2;
}

.hv-why__highlight {
	margin: 0;
	color: #a78719;
	font-size: 1.8rem;
	line-height: 1.4 !important;
}

.hv-why__card {
	display: flex;
	flex: 1;
	border-radius: 16px;
	overflow: hidden;
	background-color: #f6ede3;
}

.hv-why__card-text {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	padding: 40px;
}

.hv-why__card-text p {
	margin: 0;
	color: #4f4f4f;
	font-size: 1.2rem;
	line-height: 1.5;
}

.hv-why__card-media {
	flex: 1;
	min-height: 420px;
	min-width: 420px;
}

.hv-why__card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 1100px) {
	.hv-why {
		flex-wrap: wrap;
	}

	.hv-why__text {
		width: auto;
	}

	.hv-why__card {
		flex-direction: column;
		flex-basis: 100%;
	}

	.hv-why__card-media {
		min-height: 280px;
	}
}

/* ============================================================= */
/* Insurance vs Membership                                        */
/* ============================================================= */

.hv-insurance {
	background-color: #f9f7f1;
	padding: 70px 20px;
	text-align: center;
}

.hv-insurance__heading {
	margin: 0 0 50px;
	color: #4a6b58 !important;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.5;
}

.hv-insurance__heading em {
	font-style: italic;
	font-family: Georgia, 'Times New Roman', serif;
	color: #27503b !important;
}

.hv-insurance__cards {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 24px;
	max-width: 1000px;
	margin: 0 auto;
}

.hv-insurance__card {
	position: relative;
	width: 222px;
	height: 222px;
	flex-shrink: 0;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hv-insurance__card-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hv-insurance__card-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(5, 20, 12, 0.55);
}

.hv-insurance__card-text {
	position: relative;
	z-index: 2;
	margin: 0;
	padding: 0 28px;
	color: #ffffff;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}

.hv-insurance__caption {
	margin: 40px 0 0;
	color: #4a6b58;
	font-size: 1.3rem;
	font-weight: 700;
}

/* ============================================================= */
/* Investing in the Future of Your Health                        */
/* ============================================================= */

.hv-invest {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 80px 20px;
}

.hv-invest__left {
	flex: 1.2;
	min-width: 280px;
}

.hv-invest__heading {
	margin: 0 0 40px;
	color: #4a6b58 !important;
	font-size: 4rem !important;
	font-weight: 400;
	line-height: 1.2;
}

.hv-invest__heading em {
	font-style: italic;
	font-family: Georgia, 'Times New Roman', serif;
	color: #27503b !important;
}

.hv-invest__icons {
	display: flex;
	gap: 20px;
}

.hv-invest__icon {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	object-fit: cover;
	background-color: #f5ede4;
}

.hv-invest__right {
	flex: 1;
	min-width: 320px;
}

.hv-invest__right-heading {
	margin: 0 0 20px;
	color: #4a6b58 !important;
	font-size: 2.5rem !important;
	font-weight: 300;
	line-height: 1.2 !important;
}

.hv-invest__right p {
	margin: 0 0 20px;
	color: #333333;
	font-size: 1.5rem;
	line-height: 1.6;
}

@media (max-width: 700px) {
	.hv-insurance__card {
		width: 100%;
		max-width: 320px;
	}

	.hv-invest__icons {
		flex-wrap: wrap;
	}
}

/* ============================================================= */
/* Your Health Journey Starts Here                                */
/* ============================================================= */

.hv-journey {
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	min-height: 480px;
}

.hv-journey__photo,
.hv-journey__quote,
.hv-journey__info {
	flex: 1 1 33.3333%;
	min-width: 280px;
	box-sizing: border-box;
}

.hv-journey__photo {
	position: relative;
	overflow: hidden;
}

.hv-journey__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hv-journey__quote {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.hv-journey__quote-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hv-journey__quote-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(5, 20, 12, 0.35);
}

.hv-journey__quote-text {
	position: relative;
	z-index: 2;
	margin: 0;
	padding: 40px;
	color: #ffffff !important;
	font-size: 2.25rem;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
}

.hv-journey__quote-text em {
	font-style: italic;
	font-family: Georgia, 'Times New Roman', serif;
	color: #ffffff !important;
}

.hv-journey__info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 20px;
	padding: 50px;
	background-color: #4a6b58;
	color: #ffffff;
}

.hv-journey__info p {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.6;
}

.hv-journey__btn {
	display: inline-block;
	align-self: flex-start;
	margin-top: 8px;
	padding: 16px 36px;
	background-color: #ffffff;
	border-radius: 999px;
	color: #4a6b58 !important;
	font-size: 1.3rem;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.hv-journey__btn:hover {
	opacity: 0.85;
	color: #4a6b58;
}

/* ============================================================= */
/* Trusted Clinical Care                                          */
/* ============================================================= */

.hv-clinical {
	max-width: 900px;
	margin: 0 auto;
	padding: 80px 20px;
	text-align: center;
}

.hv-clinical__heading {
	margin: 0 0 20px;
	color: #27503b;
	font-size: 2.5rem;
	font-weight: 400;
}

.hv-clinical__subtext {
	margin: 0 0 48px;
	color: #333333;
	font-size: 1.15rem;
}

.hv-clinical__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.hv-clinical__item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 24px 28px;
	border: 1px solid #d9d3c7;
	border-radius: 999px;
	text-align: left;
}

.hv-clinical__item--full {
	grid-column: 1 / -1;
	max-width: 60%;
	margin: 0 auto;
}

.hv-clinical__icon {
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	color: #27503b;
}

.hv-clinical__icon svg {
	width: 100%;
	height: 100%;
}

.hv-clinical__item span:last-child {
	color: #2b2b2b;
	font-size: 1.05rem;
}

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

	.hv-clinical__item--full {
		max-width: 100%;
	}
}

/* ============================================================= */
/* SECCIONES MIGRADAS DESDE WPBAKERY                              */
/*                                                                */
/* WPBakery genera estas reglas en un <style> por pagina. Como en  */
/* esta plantilla no existe ese <style>, se replican aqui tal cual */
/* para conservar fondos y bordes redondeados identicos.           */
/* ============================================================= */

/* Card verde + imagen redondeada — Built Within a Broader Clinical Infrastructure */
.vc_custom_1780089420455 {
	background-color: #4a6b58 !important;
	border-radius: 30px !important;
}

.vc_custom_1774892057489 {
	border-radius: 30px !important;
}

/* Fondo hoja verde — Your Hormona Vida Journey */
.vc_custom_1775517616698 {
	background-image: url(/wp-content/uploads/2025/01/Back-Journey.webp) !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

/* Fondo crema — Hormona Vida vs Traditional Hormone Care */
.vc_custom_1780094870517 {
	background-color: #f5ede4 !important;
}

/* Fondo gris claro — Founded by Karen Berrios */
.vc_custom_1774908230440 {
	background-color: #f9f7f4 !important;
}

/* Fondo crema — Proud members of */
.vc_custom_1780089096117 {
	background-color: #f5ede4 !important;
}

/* Separadores bajo los logos — Proud members of */
.vc_custom_1774881786504 {
	margin-top: 0px !important;
	margin-bottom: 0px !important;
}

/* ============================================================= */
/* Hormonal Changes: 4 columnas centradas                         */
/*                                                                */
/* .vc_row-fluid (js_composer.min.css) se carga DESPUES que este   */
/* archivo y aplica margin-left/right:-15px, lo que anulaba el      */
/* "margin: 0 auto" y dejaba la rejilla pegada a la izquierda.      */
/* De ahi el !important en los margenes.                           */
/* ============================================================= */

body.page-template-template-home-custom-php .hv-changes-4col {
	max-width: 1400px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(20px, 4vw, 56px);
	padding-right: clamp(20px, 4vw, 56px);
	box-sizing: border-box;
}

@media (max-width: 991px) {
	/* En 2x2 el divisor de la segunda celda sobra */
	body.page-template-template-home-custom-php .hv-changes-4col .vc_col-sm-3:nth-child(2) .hv26-border-right::after {
		display: none;
	}
}

/* ============================================================= */
/* Contenedor de las secciones migradas (.hv-inset)               */
/*                                                                */
/* En esta plantilla .content_wrap va al 100% (para el hero a      */
/* sangre completa), asi que las filas de WPBakery se quedaban sin */
/* limite de ancho y el contenido se cortaba o quedaba pegado a    */
/* los bordes. En las filas con fondo a sangre completa se aplica  */
/* a la fila interna, para que el fondo siga llegando a los bordes.*/
/* ============================================================= */

body.page-template-template-home-custom-php .hv-inset {
	max-width: 1300px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(20px, 4vw, 56px);
	padding-right: clamp(20px, 4vw, 56px);
	box-sizing: border-box;
}

/* ============================================================= */
/* Clinical Infrastructure: botones bajo la card verde            */
/* ============================================================= */

body.page-template-template-home-custom-php .hv-infra-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 48px auto 0;
	padding: 0 20px;
}

body.page-template-template-home-custom-php .hv-infra-btn {
	display: inline-block;
	padding: 17px 38px;
	border: none;
	border-radius: 999px;
	font-size: 1.15rem;
	line-height: 1.2 !important;
	font-weight: 400;
	letter-spacing: normal;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	transition: opacity 0.2s ease;
}

body.page-template-template-home-custom-php .hv-infra-btn:hover {
	opacity: 0.85;
}

body.page-template-template-home-custom-php .hv-infra-btn--tan {
	background-color: #c9b6a4;
	color: #ffffff !important;
}

body.page-template-template-home-custom-php .hv-infra-btn--green {
	background-color: #4a6b58;
	color: #ffffff !important;
}

/* ============================================================= */
/* Our Clinical Philosophy                                        */
/*                                                                */
/* La forma verde del mockup viene incorporada en la propia imagen, */
/* asi que aqui NO se dibuja ninguna forma con CSS.                */
/* ============================================================= */

body.page-template-template-home-custom-php .hv-philosophy {
	padding: 80px 0;
	background-color: #ffffff;
}

body.page-template-template-home-custom-php .hv-philosophy__inner {
	display: flex;
	align-items: center;
	gap: clamp(32px, 5vw, 72px);
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 56px);
	box-sizing: border-box;
}

body.page-template-template-home-custom-php .hv-philosophy__media {
	flex: 1 1 48%;
	min-width: 0;
	max-width: 48%;
}

body.page-template-template-home-custom-php .hv-philosophy__photo {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 24px;
}

body.page-template-template-home-custom-php .hv-philosophy__text {
	flex: 1 1 52%;
	min-width: 0;
}

body.page-template-template-home-custom-php .hv-philosophy__heading {
	margin: 0 0 24px;
	color: #2e5540 !important;
	font-size: 3rem !important;
	font-weight: 400;
	line-height: 1.15 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__heading em {
	font-style: italic;
	font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	font-weight: 600;
	color: #2e5540 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__intro {
	margin: 0 0 32px;
	color: #333333;
	font-size: 1.2rem;
	line-height: 1.5 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__subheading {
	margin: 0 0 14px;
	color: #4a6b58 !important;
	font-size: 1.9rem !important;
	font-weight: 400;
	line-height: 1.2 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__lead {
	margin: 0 0 22px;
	color: #333333;
	font-size: 1.2rem;
	line-height: 1.5 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__list {
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

body.page-template-template-home-custom-php .hv-philosophy__list li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 6px;
	color: #333333;
	font-size: 1.2rem;
	line-height: 1.45 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__list li::before {
	content: "\2022";
	position: absolute;
	left: 0;
	color: #333333;
}

body.page-template-template-home-custom-php .hv-philosophy__note {
	margin: 0 0 34px;
	color: #333333;
	font-size: 1.2rem;
	line-height: 1.5 !important;
}

body.page-template-template-home-custom-php .hv-philosophy__btn {
	display: inline-block;
	padding: 17px 40px;
	background-color: #c9b6a4;
	border: none;
	border-radius: 999px;
	color: #ffffff !important;
	font-size: 1.15rem;
	letter-spacing: normal;
	text-decoration: none;
	text-transform: none;
	transition: opacity 0.2s ease;
}

body.page-template-template-home-custom-php .hv-philosophy__btn:hover {
	opacity: 0.85;
}

/* ============================================================= */
/* Preguntas frecuentes (rediseno)                                */
/*                                                                */
/* OJO: css/__colors.css y style.css se cargan DESPUES que este     */
/* archivo y aplican a <button> generico:                          */
/*     button { text-transform: uppercase; font-size: 1.38rem }    */
/*     .scheme_default button { background-color:#333; color:#fff } */
/* Por eso cada regla va prefijada con el body class (especificidad */
/* 0,2,1 > 0,1,1) y los <button> llevan un reset explicito.        */
/* ============================================================= */

body.page-template-template-home-custom-php .hv-faq {
	background-color: #f6ede3;
	padding: 90px 0 70px;
}

body.page-template-template-home-custom-php .hv-faq__inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 56px);
	box-sizing: border-box;
}

body.page-template-template-home-custom-php .hv-faq__master {
	background-color: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 18px rgba(0, 0, 0, 0.05);
}

/* --- Reset de los <button> del acordeon (ver nota de arriba) --- */
body.page-template-template-home-custom-php .hv-faq__master-btn,
body.page-template-template-home-custom-php .hv-faq__q {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
	font-family: inherit;
	font-weight: 400;
	letter-spacing: normal !important;
	text-align: left;
	text-transform: none !important;
	cursor: pointer;
	min-height: 0;
	min-width: 0;
}

body.page-template-template-home-custom-php .hv-faq__master-btn {
	gap: 20px;
	padding: 26px 34px !important;
}

body.page-template-template-home-custom-php .hv-faq__master-icon {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	color: #2e5540;
}

body.page-template-template-home-custom-php .hv-faq__master-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

body.page-template-template-home-custom-php .hv-faq__master-title {
	flex: 1 1 auto;
	color: #2e5540;
	font-size: 1.75rem;
	line-height: 1.25 !important;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
}

/* "+" que gira a "x" al abrir */
body.page-template-template-home-custom-php .hv-faq__master-plus,
body.page-template-template-home-custom-php .hv-faq__q-icon {
	position: relative;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	transition: transform 0.25s ease;
}

body.page-template-template-home-custom-php .hv-faq__master-plus::before,
body.page-template-template-home-custom-php .hv-faq__master-plus::after,
body.page-template-template-home-custom-php .hv-faq__q-icon::before,
body.page-template-template-home-custom-php .hv-faq__q-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #2e5540;
	transform: translateY(-50%);
}

body.page-template-template-home-custom-php .hv-faq__master-plus::after,
body.page-template-template-home-custom-php .hv-faq__q-icon::after {
	transform: translateY(-50%) rotate(90deg);
}

body.page-template-template-home-custom-php .hv-faq__master--open .hv-faq__master-plus {
	transform: rotate(45deg);
}

/* Panel: colapso por max-height (robusto, sin depender de grid) */
body.page-template-template-home-custom-php .hv-faq__panel {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

body.page-template-template-home-custom-php .hv-faq__master--open .hv-faq__panel {
	max-height: 4000px;
}

body.page-template-template-home-custom-php .hv-faq__item {
	border-top: 1px solid #e7e0d5;
}

body.page-template-template-home-custom-php .hv-faq__q {
	gap: 16px;
	padding: 20px 34px !important;
}

body.page-template-template-home-custom-php .hv-faq__q-text {
	flex: 1 1 auto;
	color: #2b2b2b;
	font-size: 1.15rem;
	line-height: 1.4 !important;
	text-transform: none;
	letter-spacing: normal;
}

body.page-template-template-home-custom-php .hv-faq__q-icon {
	width: 18px;
	height: 18px;
}

body.page-template-template-home-custom-php .hv-faq__item--open .hv-faq__q-icon {
	transform: rotate(45deg);
}

body.page-template-template-home-custom-php .hv-faq__a {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease;
}

body.page-template-template-home-custom-php .hv-faq__item--open .hv-faq__a {
	max-height: 1200px;
}

body.page-template-template-home-custom-php .hv-faq__a-inner {
	padding: 0 34px 22px;
}

body.page-template-template-home-custom-php .hv-faq__a-inner p {
	margin: 0;
	color: #4f4f4f;
	font-size: 1.05rem;
	line-height: 1.65 !important;
}

body.page-template-template-home-custom-php .hv-faq__footer {
	margin: 40px 0 0;
	color: #5f5d5a;
	font-size: 0.95rem;
	line-height: 1.6 !important;
	text-align: center;
}

/* ============================================================= */
/* RESPONSIVE — tablets y celulares                               */
/*                                                                */
/* Las secciones migradas (hv26-*) ya traen sus media queries en    */
/* luxmed/stylehv.css, identicas a produccion. Aqui va lo que no    */
/* las tenia: .hv-inset, los botones nuevos, Our Clinical           */
/* Philosophy, el FAQ rediseñado y hv-journey.                      */
/* Prefijado igual que arriba para no perder contra el CSS del tema.*/
/* ============================================================= */

/* ---------- Tablet horizontal ---------- */
@media (max-width: 1024px) {
	body.page-template-template-home-custom-php .hv-philosophy {
		padding: 64px 0;
	}

	body.page-template-template-home-custom-php .hv-philosophy__heading {
		font-size: 2.5rem !important;
	}

	body.page-template-template-home-custom-php .hv-philosophy__subheading {
		font-size: 1.6rem !important;
	}

	body.page-template-template-home-custom-php .hv-faq__master-title {
		font-size: 1.5rem;
	}
}

/* ---------- Tablet vertical ---------- */
@media (max-width: 900px) {
	/* Journey (codigo puro): las 3 columnas pasan a una sola */
	body.page-template-template-home-custom-php .hv-journey {
		min-height: 0;
	}

	body.page-template-template-home-custom-php .hv-journey__photo,
	body.page-template-template-home-custom-php .hv-journey__quote,
	body.page-template-template-home-custom-php .hv-journey__info {
		flex: 1 1 100%;
	}

	body.page-template-template-home-custom-php .hv-journey__photo {
		min-height: 320px;
	}

	body.page-template-template-home-custom-php .hv-journey__quote {
		min-height: 280px;
	}

	body.page-template-template-home-custom-php .hv-journey__quote-text {
		font-size: 1.9rem;
		padding: 32px 24px;
	}

	body.page-template-template-home-custom-php .hv-journey__info {
		padding: 40px 28px;
	}

	body.page-template-template-home-custom-php .hv-journey__info p {
		font-size: 1.25rem;
	}

	/* Philosophy: foto arriba, texto abajo */
	body.page-template-template-home-custom-php .hv-philosophy__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 40px;
	}

	body.page-template-template-home-custom-php .hv-philosophy__media,
	body.page-template-template-home-custom-php .hv-philosophy__text {
		flex: 1 1 100%;
		max-width: 100%;
	}
}

/* ---------- Celular ---------- */
@media (max-width: 700px) {
	/* Botones de Clinical Infrastructure: uno por linea */
	body.page-template-template-home-custom-php .hv-infra-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		margin-top: 36px;
	}

	body.page-template-template-home-custom-php .hv-infra-btn {
		padding: 16px 24px;
		font-size: 1.05rem;
	}

	/* Philosophy */
	body.page-template-template-home-custom-php .hv-philosophy {
		padding: 52px 0;
	}

	body.page-template-template-home-custom-php .hv-philosophy__inner {
		padding-left: 18px;
		padding-right: 18px;
		gap: 32px;
	}

	body.page-template-template-home-custom-php .hv-philosophy__heading {
		font-size: 2.1rem !important;
	}

	body.page-template-template-home-custom-php .hv-philosophy__subheading {
		font-size: 1.4rem !important;
	}

	body.page-template-template-home-custom-php .hv-philosophy__intro,
	body.page-template-template-home-custom-php .hv-philosophy__lead,
	body.page-template-template-home-custom-php .hv-philosophy__note,
	body.page-template-template-home-custom-php .hv-philosophy__list li {
		font-size: 1.05rem;
	}

	body.page-template-template-home-custom-php .hv-philosophy__intro {
		margin-bottom: 24px;
	}

	body.page-template-template-home-custom-php .hv-philosophy__btn {
		display: block;
		padding: 16px 24px;
		font-size: 1.05rem;
		text-align: center;
	}

	/* FAQ */
	body.page-template-template-home-custom-php .hv-faq {
		padding: 56px 0 44px;
	}

	body.page-template-template-home-custom-php .hv-faq__inner {
		padding-left: 18px;
		padding-right: 18px;
	}

	body.page-template-template-home-custom-php .hv-faq__master-btn {
		gap: 14px;
		padding: 20px 20px !important;
	}

	body.page-template-template-home-custom-php .hv-faq__master-icon {
		width: 26px;
		height: 26px;
	}

	body.page-template-template-home-custom-php .hv-faq__master-title {
		font-size: 1.2rem;
	}

	body.page-template-template-home-custom-php .hv-faq__master-plus {
		width: 18px;
		height: 18px;
	}

	body.page-template-template-home-custom-php .hv-faq__q {
		gap: 12px;
		padding: 16px 20px !important;
	}

	body.page-template-template-home-custom-php .hv-faq__q-text {
		font-size: 1.02rem;
	}

	body.page-template-template-home-custom-php .hv-faq__a-inner {
		padding: 0 20px 18px;
	}

	body.page-template-template-home-custom-php .hv-faq__a-inner p {
		font-size: 0.98rem;
	}

	body.page-template-template-home-custom-php .hv-faq__footer {
		margin-top: 28px;
		font-size: 0.88rem;
	}
}

/* ---------- Celular pequeno ---------- */
@media (max-width: 420px) {
	body.page-template-template-home-custom-php .hv-philosophy__heading {
		font-size: 1.85rem !important;
	}

	body.page-template-template-home-custom-php .hv-faq__master-title {
		font-size: 1.08rem;
	}

	body.page-template-template-home-custom-php .hv-journey__quote-text {
		font-size: 1.6rem;
	}
}

/* ============================================================= */
/* CORRECCIONES + RESPONSIVE (revision 2)                         */
/*                                                                */
/* Todo va prefijado con el body class de la plantilla porque este  */
/* archivo se encola ANTES que el CSS del tema (js_composer,        */
/* __colors.css, responsive.css, stylehv.css). Ver la nota del      */
/* bloque del FAQ mas arriba.                                      */
/* ============================================================= */

/* ---------------------------------------------------------------
 * FIX: el titulo de "Trusted Clinical Care" salia negro y enorme.
 * .hv-clinical__heading no llevaba !important, asi que perdia
 * contra `.scheme_default h2{color}` y `h2{font-size:3rem!important}`
 * de stylehv.css, que cargan despues.
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php .hv-clinical__heading {
	color: #27503b !important;
	font-size: clamp(1.65rem, 4vw, 2.5rem) !important;
	line-height: 1.2 !important;
}

body.page-template-template-home-custom-php .hv-clinical__subtext {
	font-size: clamp(0.98rem, 2.2vw, 1.15rem);
	line-height: 1.5 !important;
}

/* ---------------------------------------------------------------
 * Titulares de las secciones migradas.
 *
 * WPBakery deja tamanos fijos en atributos style (3.2rem, 1.8em...)
 * y .font-garamont-h2 mide 3.8rem, lo que desbordaba en tablet y
 * movil ("Understandin/g", "Founded by Karen Berrios" gigante).
 * Neutralizamos SOLO los span con style inline y dejamos que el
 * h2/h3 mande con una escala fluida.
 * --------------------------------------------------------------- */
@media (max-width: 1200px) {
	body.page-template-template-home-custom-php .wpb-content-wrapper h2 span[style],
	body.page-template-template-home-custom-php .wpb-content-wrapper h3 span[style],
	body.page-template-template-home-custom-php .wpb-content-wrapper p span[style*="font-size"] {
		font-size: inherit !important;
		line-height: 1.3 !important;
	}

	body.page-template-template-home-custom-php .wpb-content-wrapper h2 {
		font-size: clamp(1.7rem, 4.4vw, 3rem) !important;
		line-height: 1.18 !important;
	}

	body.page-template-template-home-custom-php .wpb-content-wrapper h3 {
		font-size: clamp(1.35rem, 3.6vw, 2.25rem) !important;
		line-height: 1.2 !important;
	}

	body.page-template-template-home-custom-php .wpb-content-wrapper .font-garamont-h1,
	body.page-template-template-home-custom-php .wpb-content-wrapper .font-garamont-h2 {
		font-size: clamp(1.8rem, 4.8vw, 3.4rem) !important;
		line-height: 1.1 !important;
	}

	/* OJO: no tocar .vc_empty_space. Un `height:auto` en un div vacio
	 * lo colapsa a 0 y la pagina pierde TODOS los espacios entre
	 * secciones. Ademas WPBakery ya trae las clases hide_on_mobile /
	 * hide_on_tab / hide_on_notebook, que el tema resuelve en
	 * luxmed/css/responsive.css. */
}

/* ---------------------------------------------------------------
 * Hormona Vida vs Traditional Care: se veia muy largo y estrecho.
 * --------------------------------------------------------------- */
@media (max-width: 1200px) {
	body.page-template-template-home-custom-php .hv26-vs-title {
		padding: 0 0 20px;
		justify-content: center;
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv26-vs-card {
		max-width: 460px;
		margin: 0 auto 20px;
		padding: 12px 22px 22px;
	}

	body.page-template-template-home-custom-php .hv26-vs-list__item {
		font-size: 1.05rem !important;
		padding: 14px 0 10px;
		line-height: 1.35 !important;
	}

	body.page-template-template-home-custom-php .hv26-vs-list__icon {
		flex: 0 0 auto;
	}
}

/* ---------------------------------------------------------------
 * Understanding Hormonal Health: los chips iban en position
 * absolute y se superponian entre 769px y 1100px (el tema solo
 * los apila por debajo de 768px). Aqui se adelanta ese apilado.
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {


	body.page-template-template-home-custom-php .hv26-topics__img {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		order: -1;
		flex: 0 0 100%;
		width: 100% !important;
		max-width: 260px !important;
		height: auto !important;
		margin: 0 auto 16px;
	}

	

	body.page-template-template-home-custom-php .hv26-topics__title {
		font-size: 1.2rem !important;
	}
}

/* ---------------------------------------------------------------
 * Imagenes de las secciones migradas: la de Karen Berrios (671x956)
 * ocupaba pantallas enteras en movil.
 * --------------------------------------------------------------- */
@media (max-width: 900px) {
	body.page-template-template-home-custom-php .wpb-content-wrapper .wpb_single_image img {
		display: block;
		width: auto;
		max-width: 100%;
		max-height: 420px;
		height: auto;
		margin: 0 auto;
	}
}

/* ---------------------------------------------------------------
 * Why Membership-Based Care: la tarjeta dejaba un hueco crema
 * enorme y la foto quedaba suelta abajo.
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-why {
		flex-direction: column;
		gap: 24px;
		padding: 30px 0;
	}

	/* La barra vertical verde pasa a ser un acento horizontal */
	body.page-template-template-home-custom-php .hv-why__bar {
		width: 100%;
		height: 8px;
		border-radius: 0 0 14px 14px;
	}

	body.page-template-template-home-custom-php .hv-why__text {
		width: 100%;
		padding: 0 20px;
		box-sizing: border-box;
	}

	body.page-template-template-home-custom-php .hv-why__heading {
		font-size: clamp(1.7rem, 4.6vw, 2.9rem) !important;
		line-height: 1.18 !important;
	}

	body.page-template-template-home-custom-php .hv-why__highlight {
		font-size: clamp(1.1rem, 3vw, 1.8rem) !important;
		line-height: 1.35 !important;
	}

	body.page-template-template-home-custom-php .hv-why__card {
		flex-direction: column;
		flex-basis: auto;
		margin: 0 20px;
		border-radius: 16px;
	}

	/* flex:0 0 auto evita que el texto se estire y deje el hueco */
	body.page-template-template-home-custom-php .hv-why__card-text {
		flex: 0 0 auto;
		justify-content: flex-start;
		gap: 12px;
		padding: 28px 24px;
	}

	body.page-template-template-home-custom-php .hv-why__card-text p {
		font-size: 1.05rem;
		line-height: 1.55 !important;
	}

	/* altura fija: mata cualquier estiramiento raro de la foto */
	body.page-template-template-home-custom-php .hv-why__card-media {
		flex: 0 0 auto;
		min-width: 0;
		min-height: 0;
		height: 360px;
	}

	body.page-template-template-home-custom-php .hv-why__card-media img {
		height: 100%;
	}
}

/* ---------------------------------------------------------------
 * Investing in the Future of Your Health: los iconos de 140px no
 * encogian y se metian debajo del texto de la derecha.
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php .hv-invest__heading {
	font-size: clamp(1.9rem, 5vw, 4rem) !important;
	line-height: 1.14 !important;
}

body.page-template-template-home-custom-php .hv-invest__icons {
	flex-wrap: wrap;
}

body.page-template-template-home-custom-php .hv-invest__icon {
	width: clamp(84px, 9vw, 140px);
	height: clamp(84px, 9vw, 140px);
	flex: 0 0 auto;
}

@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-invest {
		gap: 32px;
		padding: 64px 20px;
	}

	body.page-template-template-home-custom-php .hv-invest__left,
	body.page-template-template-home-custom-php .hv-invest__right {
		flex: 1 1 100%;
		min-width: 0;
	}

	body.page-template-template-home-custom-php .hv-invest__right-heading {
		font-size: clamp(1.4rem, 3.8vw, 2.5rem) !important;
		line-height: 1.2 !important;
	}

	body.page-template-template-home-custom-php .hv-invest__right p {
		font-size: 1.08rem;
		line-height: 1.55 !important;
	}
}

/* ---------------------------------------------------------------
 * Clinical Continuum: al envolverse quedaban 3 + 2 circulos con una
 * flecha colgando y las flechas girando 90deg sin sentido.
 * Por debajo de 1100px se ocultan las flechas y se usa una rejilla.
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-continuum {
		padding: 40px 20px 56px;
	}

	body.page-template-template-home-custom-php .hv-continuum__heading {
		font-size: clamp(1.55rem, 4.2vw, 2.4rem) !important;
		margin-bottom: 28px;
	}

	body.page-template-template-home-custom-php .hv-continuum__steps {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-items: center;
		gap: 18px;
	}

	/* las flechas no encajan en una rejilla que se envuelve */
	body.page-template-template-home-custom-php .hv-continuum__arrow {
		display: none;
	}

	body.page-template-template-home-custom-php .hv-continuum__step {
		width: 100%;
		max-width: 150px;
		aspect-ratio: 1;
		height: auto;
	}

	body.page-template-template-home-custom-php .hv-continuum__step-inner {
		width: 88%;
		height: 88%;
	}

	body.page-template-template-home-custom-php .hv-continuum__step span {
		font-size: clamp(0.8rem, 2vw, 1.1rem);
		padding: 0 8px;
	}

	body.page-template-template-home-custom-php .hv-continuum__caption {
		margin-top: 28px;
		font-size: 0.95rem;
	}

	/* recorta el hueco entre el CTA de memberships y el continuum */
	body.page-template-template-home-custom-php .hv-memberships {
		padding: 64px 20px;
	}

	body.page-template-template-home-custom-php .hv-memberships__cta {
		margin-top: 32px;
	}
}

/* ---------------------------------------------------------------
 * Hormonal Changes: apilado en movil se veia enorme y muy largo.
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv26-health-cell {
		padding: 18px 14px;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__title {
		font-size: 1.22rem !important;
		line-height: 1.25 !important;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__icon {
		width: 34px;
		height: 34px;
	}
}

/* ---------------------------------------------------------------
 * Trusted Clinical Care + AHCA
 * --------------------------------------------------------------- */
@media (max-width: 900px) {
	body.page-template-template-home-custom-php .hv-clinical {
		padding: 64px 20px 0 20px;
	}

	body.page-template-template-home-custom-php .hv-clinical__item {
		padding: 18px 20px;
		gap: 12px;
	}

	body.page-template-template-home-custom-php .hv-clinical__item span:last-child {
		font-size: 0.98rem;
	}
}

/* ---------------------------------------------------------------
 * Celular: apretar aun mas
 * --------------------------------------------------------------- */
@media (max-width: 700px) {
	body.page-template-template-home-custom-php .hv-continuum__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-template-template-home-custom-php .hv-why__card-media {
		height: 300px;
	}

	body.page-template-template-home-custom-php .hv-invest {
		padding: 52px 18px;
	}

	body.page-template-template-home-custom-php .hv26-vs-card {
		padding: 10px 16px 18px;
	}

	body.page-template-template-home-custom-php .hv26-vs-list__item {
		font-size: 0.98rem !important;
	}

	body.page-template-template-home-custom-php .wpb-content-wrapper .wpb_single_image img {
		max-height: 320px;
	}
}

/* ============================================================= */
/* CLINICAL CONTINUUM — flujo vertical con flechas (revision 3)    */
/*                                                                */
/* Antes se ocultaban las flechas y la rejilla dejaba el ultimo    */
/* circulo colgando a un costado. Ahora:                           */
/*   - tablet: sigue en fila, todo mas pequeno para que quepa      */
/*   - movil:  columna centrada con las flechas apuntando ABAJO    */
/* ============================================================= */

/* ---------- Tablet: mantener la fila, encogiendo ---------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-continuum__steps {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: 0;
	}

	body.page-template-template-home-custom-php .hv-continuum__step {
		width: clamp(84px, 11vw, 132px);
		height: clamp(84px, 11vw, 132px);
		aspect-ratio: auto;
		max-width: none;
	}

	body.page-template-template-home-custom-php .hv-continuum__step-inner {
		width: 86%;
		height: 86%;
	}

	/* las flechas vuelven: horizontales y mas cortas */
	body.page-template-template-home-custom-php .hv-continuum__arrow {
		display: block;
		width: clamp(18px, 3vw, 52px);
		height: 2px;
		transform: none;
		margin: 0;
	}

	body.page-template-template-home-custom-php .hv-continuum__arrow::after {
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		border-width: 6px 0 6px 10px;
		border-color: transparent transparent transparent #3b5b49;
	}
}

/* ---------- Movil: columna centrada, flechas hacia abajo ---------- */
@media (max-width: 760px) {
	body.page-template-template-home-custom-php .hv-continuum__steps {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: 0;
	}

	body.page-template-template-home-custom-php .hv-continuum__step {
		width: clamp(130px, 40vw, 168px);
		height: clamp(130px, 40vw, 168px);
	}

	/* barra vertical de 2px con el triangulo apuntando abajo */
	body.page-template-template-home-custom-php .hv-continuum__arrow {
		width: 2px;
		height: 34px;
		margin: 4px 0 12px;
		transform: none;
	}

	body.page-template-template-home-custom-php .hv-continuum__arrow::after {
		left: 50%;
		top: 100%;
		transform: translate(-50%, -50%);
		border-width: 10px 6px 0 6px;
		border-color: #3b5b49 transparent transparent transparent;
	}
}

/* ============================================================= */
/* CENTRAR ELEMENTOS HUERFANOS                                    */
/*                                                                */
/* Cuando una rejilla se envuelve y el ultimo elemento queda solo  */
/* en su fila, se centra en vez de quedarse pegado a la izquierda. */
/* ============================================================= */

/* Trusted Clinical Care: 5 items en 2 columnas -> el 5o va solo */
body.page-template-template-home-custom-php .hv-clinical__item--full {
	grid-column: 1 / -1;
	justify-self: center;
	width: 100%;
	max-width: 60%;
	margin: 0 auto;
}

@media (max-width: 700px) {
	body.page-template-template-home-custom-php .hv-clinical__item--full {
		max-width: 100%;
	}
}

/* Investing: 3 iconos que pueden envolverse a 2 + 1 */
body.page-template-template-home-custom-php .hv-invest__icons {
	flex-wrap: wrap;
	justify-content: flex-start;
}

@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-invest__icons {
		justify-content: center;
	}

	body.page-template-template-home-custom-php .hv-invest__left,
	body.page-template-template-home-custom-php .hv-invest__right {
		text-align: center;
	}
}

/* Hormonal Changes: 4 celdas en 2 columnas al envolverse */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-changes-4col {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* Proud members / filas de WPBakery que se apilan: centrar el contenido */
@media (max-width: 767px) {
	body.page-template-template-home-custom-php .hv-inset .wpb_single_image,
	body.page-template-template-home-custom-php .hv-inset .vc_figure,
	body.page-template-template-home-custom-php .hv-inset .vc_single_image-wrapper {
		display: block;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}

	body.page-template-template-home-custom-php .hv-inset .wpb_single_image img {
		margin-left: auto;
		margin-right: auto;
	}
}

/* ============================================================= */
/* ESCALA TIPOGRAFICA FLUIDA                                      */
/*                                                                */
/* Antes cada seccion tenia su tamano fijo y sus propios saltos de */
/* breakpoint: algunos titulos quedaban enormes en tablet y algunos */
/* textos diminutos en movil. Aqui se unifica todo con clamp().    */
/*                                                                */
/* El maximo de cada clamp es el tamano de escritorio que ya tenia */
/* la seccion, asi que el desktop NO cambia: solo se corrige como  */
/* baja. Este bloque va AL FINAL a proposito, para que gane a las  */
/* reglas de font-size que quedaron en los media queries de arriba. */
/*                                                                */
/* Escala:  titulo XL 5.2vw · titulo L 4.2vw · titulo M 3.4vw       */
/*          lead 2.4vw · cuerpo 2.05vw · pequeno 1.85vw            */
/* ============================================================= */

/* ---------- Titulos ---------- */
body.page-template-template-home-custom-php .hv-hero__title {
	font-size: clamp(1.95rem, 5.2vw, 3.25rem) !important;
}

body.page-template-template-home-custom-php .hv-invest__heading {
	font-size: clamp(2rem, 5.4vw, 4rem) !important;
}

body.page-template-template-home-custom-php .hv-philosophy__heading {
	font-size: clamp(1.9rem, 4.9vw, 3rem) !important;
}

body.page-template-template-home-custom-php .hv-why__heading {
	font-size: clamp(1.8rem, 4.6vw, 2.9rem) !important;
}

body.page-template-template-home-custom-php .hv-memberships__heading,
body.page-template-template-home-custom-php .hv-clinical__heading {
	font-size: clamp(1.7rem, 4.2vw, 2.5rem) !important;
}

body.page-template-template-home-custom-php .hv-continuum__heading {
	font-size: clamp(1.65rem, 4vw, 2.4rem) !important;
}

body.page-template-template-home-custom-php .hv-journey__quote-text {
	font-size: clamp(1.55rem, 3.9vw, 2.25rem) !important;
}

body.page-template-template-home-custom-php .hv-invest__right-heading {
	font-size: clamp(1.55rem, 3.8vw, 2.5rem) !important;
}

body.page-template-template-home-custom-php .hv-insurance__heading {
	font-size: clamp(1.4rem, 3.4vw, 2rem) !important;
}

body.page-template-template-home-custom-php .hv-membership-card__title {
	font-size: clamp(1.45rem, 3.4vw, 2rem) !important;
}

body.page-template-template-home-custom-php .hv-philosophy__subheading {
	font-size: clamp(1.35rem, 3.3vw, 1.9rem) !important;
}

body.page-template-template-home-custom-php .hv-faq__master-title {
	font-size: clamp(1.15rem, 2.9vw, 1.75rem) !important;
}

/* ---------- Lead / destacados ---------- */
body.page-template-template-home-custom-php .hv-hero__subtitle {
	font-size: clamp(1.08rem, 2.7vw, 1.7rem) !important;
}

body.page-template-template-home-custom-php .hv-why__highlight {
	font-size: clamp(1.18rem, 2.9vw, 1.8rem) !important;
}

body.page-template-template-home-custom-php .hv-insurance__card-text {
	font-size: clamp(1.12rem, 2.6vw, 1.6rem) !important;
}

body.page-template-template-home-custom-php .hv-trust-bar__item {
	font-size: clamp(1rem, 2.3vw, 1.6rem) !important;
}

body.page-template-template-home-custom-php .hv-invest__right p,
body.page-template-template-home-custom-php .hv-journey__info p {
	font-size: clamp(1.05rem, 2.4vw, 1.5rem) !important;
}

/* ---------- Cuerpo ---------- */
body.page-template-template-home-custom-php .hv-membership-card__text,
body.page-template-template-home-custom-php .hv-insurance__caption,
body.page-template-template-home-custom-php .hv-journey__btn {
	font-size: clamp(1.02rem, 2.2vw, 1.3rem) !important;
}

body.page-template-template-home-custom-php .hv-why__card-text p,
body.page-template-template-home-custom-php .hv-philosophy__intro,
body.page-template-template-home-custom-php .hv-philosophy__lead,
body.page-template-template-home-custom-php .hv-philosophy__note,
body.page-template-template-home-custom-php .hv-philosophy__list li {
	font-size: clamp(1.02rem, 2.1vw, 1.2rem) !important;
}

body.page-template-template-home-custom-php .hv-memberships__subtext,
body.page-template-template-home-custom-php .hv-clinical__subtext,
body.page-template-template-home-custom-php .hv-membership-card__label,
body.page-template-template-home-custom-php .hv-membership-card__btn,
body.page-template-template-home-custom-php .hv-hero__btn,
body.page-template-template-home-custom-php .hv-infra-btn,
body.page-template-template-home-custom-php .hv-philosophy__btn,
body.page-template-template-home-custom-php .hv-faq__q-text {
	font-size: clamp(1rem, 2.05vw, 1.15rem) !important;
}

body.page-template-template-home-custom-php .hv-continuum__step span {
	font-size: clamp(0.92rem, 2vw, 1.2rem) !important;
}

/* ---------- Pequeno ---------- */
body.page-template-template-home-custom-php .hv-clinical__item span:last-child,
body.page-template-template-home-custom-php .hv-faq__a-inner p {
	font-size: clamp(0.96rem, 2vw, 1.05rem) !important;
}

body.page-template-template-home-custom-php .hv-continuum__caption {
	font-size: clamp(0.92rem, 1.9vw, 1.1rem) !important;
}

body.page-template-template-home-custom-php .hv-faq__footer {
	font-size: clamp(0.88rem, 1.85vw, 0.95rem) !important;
}

body.page-template-template-home-custom-php .hv-memberships__cta-btn {
	font-size: clamp(0.9rem, 1.9vw, 1rem) !important;
}

/* ---------- Secciones migradas (usaban em, de ahi el desajuste) ---------- */
body.page-template-template-home-custom-php .hv26-health-cell__title {
	font-size: clamp(1.15rem, 2.6vw, 1.5rem) !important;
}

body.page-template-template-home-custom-php .hv26-topics__title {
	font-size: clamp(1.1rem, 2.5vw, 1.5rem) !important;
}

body.page-template-template-home-custom-php .hv26-step-card__num {
	font-size: clamp(1.15rem, 2.6vw, 1.7rem) !important;
}

body.page-template-template-home-custom-php .hv26-health-cell__list li,
body.page-template-template-home-custom-php .hv26-vs-list__item {
	font-size: clamp(1rem, 2.1vw, 1.3rem) !important;
}

body.page-template-template-home-custom-php .hv26-step-card__title {
	font-size: clamp(1.02rem, 2.15vw, 1.25rem) !important;
}

body.page-template-template-home-custom-php .hv26-step-card__desc,
body.page-template-template-home-custom-php .hv26-topics__chip {
	font-size: clamp(0.85rem, 1.9vw, 1.02rem) !important;
}

/* ============================================================= */
/* CENTRADO Y ESPACIADO EN RESPONSIVE (revision 4)                */
/*                                                                */
/* Hero + trust bar, AHCA + Proud members y Hormonal Changes:      */
/* en movil el contenido quedaba alineado a la izquierda y con     */
/* espaciados irregulares.                                         */
/* ============================================================= */

/* ---------------------------------------------------------------
 * Hero: texto y botones centrados, botones del mismo ancho
 * --------------------------------------------------------------- */
@media (max-width: 900px) {
	body.page-template-template-home-custom-php .hv-hero__text {
		text-align: center;
		padding: 44px 24px 48px;
	}

	body.page-template-template-home-custom-php .hv-hero__actions {
		justify-content: center;
		gap: 14px;
		margin-top: 20px;
	}

	/* mismo ancho en los dos botones (antes cada uno medía su texto) */
	body.page-template-template-home-custom-php .hv-hero__btn {
		min-width: 268px;
	}
}

@media (max-width: 700px) {
	body.page-template-template-home-custom-php .hv-hero__text {
		padding: 36px 20px 40px;
	}

	body.page-template-template-home-custom-php .hv-hero__actions {
		flex-direction: column;
		align-items: center;
	}

	body.page-template-template-home-custom-php .hv-hero__btn {
		width: 100%;
		max-width: 320px;
		min-width: 0;
	}
}

/* ---------------------------------------------------------------
 * Trust bar: cada item centrado en su linea
 * --------------------------------------------------------------- */
@media (max-width: 700px) {
	body.page-template-template-home-custom-php .hv-trust-bar {
		gap: 20px;
		padding: 28px 20px;
	}

	body.page-template-template-home-custom-php .hv-trust-bar__item {
		width: 100%;
		justify-content: center;
		gap: 12px;
	}

	body.page-template-template-home-custom-php .hv-trust-bar__icon {
		flex: 0 0 auto;
	}
}

/* ---------------------------------------------------------------
 * Florida AHCA: logo y texto centrados
 * --------------------------------------------------------------- */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-sec-ahca .sc_title,
	body.page-template-template-home-custom-php .hv-sec-ahca .sc_item_title,
	body.page-template-template-home-custom-php .hv-sec-ahca .wpb_text_column,
	body.page-template-template-home-custom-php .hv-sec-ahca .wpb_text_column p {
		text-align: center !important;
	}

	body.page-template-template-home-custom-php .hv-sec-ahca .wpb_single_image,
	body.page-template-template-home-custom-php .hv-sec-ahca .vc_figure,
	body.page-template-template-home-custom-php .hv-sec-ahca .vc_single_image-wrapper {
		display: block;
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv-sec-ahca img {
		margin-left: auto;
		margin-right: auto;
		max-width: 190px;
	}

	/* el logo y el titulo iban demasiado pegados */
	body.page-template-template-home-custom-php .hv-sec-ahca .sc_title {
		margin-top: 22px;
	}
}

/* ---------------------------------------------------------------
 * Proud members of: logos centrados y separadores a ras del logo
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-sec-logos .wpb_single_image,
	body.page-template-template-home-custom-php .hv-sec-logos .vc_figure,
	body.page-template-template-home-custom-php .hv-sec-logos .vc_single_image-wrapper {
		display: block;
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv-sec-logos img {
		display: block;
		margin: 0 auto;
		max-width: 190px;
	}

	body.page-template-template-home-custom-php .hv-sec-logos .vc_column-inner {
		padding-top: 0;
	}

	/* respiro uniforme entre logo y su linea, y entre filas */
	body.page-template-template-home-custom-php .hv-sec-logos .wpb_column {
		margin-bottom: 26px;
	}

	body.page-template-template-home-custom-php .hv-sec-logos .vc_separator {
		margin-top: 16px !important;
	}
}

/* ---------------------------------------------------------------
 * Hormonal Changes: celdas centradas
 *
 * El titulo se salia del viewport porque las filas internas del
 * titulo y del caption no tenian contenedor; ya llevan .hv-inset
 * (ver sections/04-hormonal-changes.php).
 * --------------------------------------------------------------- */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv26-health-cell {
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__header {
		align-items: center;
		justify-content: center;
		gap: 12px;
		margin-bottom: 12px;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__title {
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__list {
		text-align: center;
	}

	/* el bloque de icono + textos se centra como grupo */
	body.page-template-template-home-custom-php .hv26-health-cell__header > div {
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__header p {
		margin: 0;
	}
}

/* Titulos largos: que partan palabra antes que desbordar */
body.page-template-template-home-custom-php .wpb-content-wrapper .sc_item_title,
body.page-template-template-home-custom-php .hv-changes-4col,
body.page-template-template-home-custom-php .hv-inset {
	overflow-wrap: break-word;
}

/* ============================================================= */
/* AJUSTES SEGUN MOCKUP (revision 5)                              */
/* ============================================================= */

/* ---------------------------------------------------------------
 * Hormonal Changes: los sintomas van en pildoras con borde,
 * no como texto suelto (ver mockup).
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php .hv26-health-cell__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.page-template-template-home-custom-php .hv26-health-cell__list li {
	display: block;
	margin: 0 0 10px;
	padding: 9px 20px;
	background-color: #ffffff;
	border: 1px solid #dcdcdc;
	border-radius: 22px;
	color: #2b2b2b;
	line-height: 1.35 !important;
	box-sizing: border-box;
}

body.page-template-template-home-custom-php .hv26-health-cell__list li:last-child {
	margin-bottom: 0;
}

/* los divisores verticales deben abarcar tambien las pildoras */
body.page-template-template-home-custom-php .hv26-health-cell {
	padding-bottom: 28px;
}

/* ---------------------------------------------------------------
 * Our Clinical Philosophy: Grupo-494.webp ya incluye la forma verde
 * y las esquinas redondeadas, asi que la imagen va tal cual.
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php .hv-philosophy__photo {
	border-radius: 0;
	width: 100%;
	height: auto;
}

/* En el mockup la imagen sobresale un poco por la izquierda del
 * contenedor, como en el original. */
body.page-template-template-home-custom-php .hv-philosophy__media {
	flex: 1 1 50%;
	max-width: 50%;
}

@media (max-width: 900px) {
	body.page-template-template-home-custom-php .hv-philosophy__media {
		max-width: 100%;
	}

	body.page-template-template-home-custom-php .hv-philosophy__photo {
		max-width: 460px;
		margin: 0 auto;
	}
}

/* ============================================================= */
/* AJUSTES RESPONSIVE (revision 6)                                */
/* ============================================================= */

/* ---------------------------------------------------------------
 * FIX: elementos cortados en pantallas pequenas.
 *
 * El tema NO declara box-sizing:border-box global, asi que todo lo
 * que lleva width:100% + padding se desbordaba justo lo que mide el
 * padding (los botones del hero por 72px, las capsulas de Trusted
 * Clinical Care por 58px). js_composer ya usa border-box en sus
 * columnas, asi que unificarlo aqui es coherente.
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php .hv-home,
body.page-template-template-home-custom-php .hv-home *,
body.page-template-template-home-custom-php .hv-home *::before,
body.page-template-template-home-custom-php .hv-home *::after {
	box-sizing: border-box;
}

/* ---------------------------------------------------------------
 * Gutter unico para TODAS las secciones, para que el contenido
 * quede alineado en la misma columna vertical de arriba a abajo.
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php {
	--hv-gutter: clamp(20px, 4vw, 56px);
	--hv-maxw: 1300px;
}

body.page-template-template-home-custom-php .hv-inset,
body.page-template-template-home-custom-php .hv-changes-4col {
	max-width: var(--hv-maxw);
	padding-left: var(--hv-gutter);
	padding-right: var(--hv-gutter);
}

/* Secciones en codigo puro: mismo gutter y mismo ancho maximo */
body.page-template-template-home-custom-php .hv-memberships,
body.page-template-template-home-custom-php .hv-continuum,
body.page-template-template-home-custom-php .hv-invest,
body.page-template-template-home-custom-php .hv-clinical,
body.page-template-template-home-custom-php .hv-insurance__cards,
body.page-template-template-home-custom-php .hv-philosophy__inner {
	max-width: var(--hv-maxw);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--hv-gutter);
	padding-right: var(--hv-gutter);
}

body.page-template-template-home-custom-php .hv-insurance,
body.page-template-template-home-custom-php .hv-hero__text,
body.page-template-template-home-custom-php .hv-trust-bar {
	padding-left: var(--hv-gutter);
	padding-right: var(--hv-gutter);
}

body.page-template-template-home-custom-php .hv-faq__inner {
	padding-left: var(--hv-gutter);
	padding-right: var(--hv-gutter);
}

@media (max-width: 1100px) {
	/* Why: el texto y la tarjeta se alinean con el resto */
	body.page-template-template-home-custom-php .hv-why__text {
		padding-left: var(--hv-gutter);
		padding-right: var(--hv-gutter);
	}

	body.page-template-template-home-custom-php .hv-why__card {
		margin-left: var(--hv-gutter);
		margin-right: var(--hv-gutter);
	}
}

/* ---------------------------------------------------------------
 * Karen Berrios: aire entre la foto y el texto al apilarse
 * --------------------------------------------------------------- */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-sec-karen .wpb_single_image {
		margin-bottom: 34px;
	}

	body.page-template-template-home-custom-php .hv-sec-karen .wpb_column {
		margin-bottom: 0;
	}
}

/* ---------------------------------------------------------------
 * Hormonal Changes en responsive:
 * icono AL LADO del titulo, y titulo + capsulas a todo el ancho.
 *
 * El markup anida <h3> y <ul> dentro de un <div> hermano del icono;
 * con display:contents ese div desaparece del layout y sus hijos
 * pasan a ser celdas de la rejilla, asi la lista puede ocupar las
 * dos columnas.
 * --------------------------------------------------------------- */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv26-health-cell {
		text-align: left;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__header {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		column-gap: 14px;
		row-gap: 12px;
		justify-content: flex-start;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__header > p {
		grid-column: 1;
		grid-row: 1;
		margin: 0;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__header > div {
		display: contents;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__title {
		grid-column: 2;
		grid-row: 1;
		text-align: left;
		margin: 0;
	}

	/* la lista ocupa las dos columnas = ancho completo de la celda */
	body.page-template-template-home-custom-php .hv26-health-cell__list {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
	}

	body.page-template-template-home-custom-php .hv26-health-cell__list li {
		width: 100%;
		text-align: center;
	}
}

/* ============================================================= */
/* NORMALIZACION DEL GUTTER (revision 7)                          */
/*                                                                */
/* El gutter se aplica UNA SOLA VEZ, a nivel de seccion. Nada      */
/* anidado debe sumar espacio horizontal. Habia tres bordes        */
/* distintos conviviendo:                                          */
/*                                                                */
/*   1. WPBakery: .vc_column_container > .vc_column-inner lleva    */
/*      padding 0 15px. Normalmente lo cancela el margin -15px de  */
/*      .vc_row-fluid, pero en .hv-inset ese margin se sustituyo   */
/*      por "auto" para centrar -> las migradas quedaban a         */
/*      gutter + 15px.                                             */
/*   2. .hv-insurance__cards repetia el gutter dentro de           */
/*      .hv-insurance, que ya lo tenia -> gutter x 2.              */
/*   3. .hv-why aplicaba el gutter en los hijos y no en la seccion.*/
/* ============================================================= */

/* --- 1. WPBakery: quitar los 15px en los bordes exteriores --- */
body.page-template-template-home-custom-php .hv-inset > .wpb_column:first-child > .vc_column-inner,
body.page-template-template-home-custom-php .hv-changes-4col > .wpb_column:first-child > .vc_column-inner {
	padding-left: 0;
}

body.page-template-template-home-custom-php .hv-inset > .wpb_column:last-child > .vc_column-inner,
body.page-template-template-home-custom-php .hv-changes-4col > .wpb_column:last-child > .vc_column-inner {
	padding-right: 0;
}

/* Al apilarse, cada columna ocupa el ancho completo: sin padding
 * lateral en ninguna, o el contenido quedaria a gutter + 15px. */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-inset > .wpb_column > .vc_column-inner,
	body.page-template-template-home-custom-php .hv-changes-4col > .wpb_column > .vc_column-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

/* --- 2. Contenedores anidados: no repetir el gutter --- */
body.page-template-template-home-custom-php .hv-insurance__cards {
	padding-left: 0;
	padding-right: 0;
}

/* --- 3. Why: el gutter va en la seccion, no en los hijos --- */
body.page-template-template-home-custom-php .hv-why {
	padding-left: var(--hv-gutter);
	padding-right: var(--hv-gutter);
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-why__text {
		padding-left: 0;
		padding-right: 0;
	}

	/* el borde de la tarjeta queda a ras del gutter; su padding
	 * interior es el del propio componente, no espacio de seccion */
	body.page-template-template-home-custom-php .hv-why__card {
		margin-left: 0;
		margin-right: 0;
	}
}

/* La barra verde vertical solo tiene sentido pegada al borde en
 * escritorio; al apilarse se alinea con el resto. */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-why__bar {
		border-radius: 0 0 14px 14px;
	}
}

/* --- Ancho maximo unico: .hv-why seguia en 1600px --- */
body.page-template-template-home-custom-php .hv-why {
	max-width: var(--hv-maxw);
}

/* .hv-insurance es una banda de fondo a sangre completa; el que se
 * alinea con el resto es su contenido. */
body.page-template-template-home-custom-php .hv-insurance__heading,
body.page-template-template-home-custom-php .hv-insurance__caption {
	max-width: var(--hv-maxw);
	margin-left: auto;
	margin-right: auto;
}

/* ============================================================= */
/* NORMALIZACION WPBAKERY (revision 8)                            */
/*                                                                */
/* WPBakery reparte el espacio lateral en capas:                   */
/*   .vc_row-fluid                      -> margin: 0 -15px         */
/*   .vc_column_container>.vc_column-inner -> padding: 0 15px      */
/* Segun la anidacion de cada seccion esas capas se sumaban o se   */
/* restaban, dando bordes distintos (Karen sobraba 15px, la fila   */
/* interna de Understanding restaba 15px, etc).                    */
/*                                                                */
/* Al apilarse (<=991px) se anulan las dos y el unico espacio lo   */
/* pone .hv-inset. En escritorio se dejan intactas, porque ahi     */
/* generan la separacion entre columnas hermanas.                  */
/* ============================================================= */

@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-home .vc_row-fluid {
		margin-left: 0;
		margin-right: 0;
	}

	body.page-template-template-home-custom-php .hv-home .vc_column_container > .vc_column-inner {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ---------------------------------------------------------------
 * EXCEPCION: las columnas que son tarjeta (fondo + esquinas) si
 * necesitan su padding interior. Es el caso de la card verde de
 * "Built Within a Broader Clinical Infrastructure", que se habia
 * quedado con el texto pegado al borde.
 * --------------------------------------------------------------- */
body.page-template-template-home-custom-php .hv-home .vc_col-has-fill > .vc_column-inner {
	padding-left: clamp(24px, 3vw, 48px) !important;
	padding-right: clamp(24px, 3vw, 48px) !important;
}

/* ---------------------------------------------------------------
 * Florida AHCA: aire entre el logo y el bloque de texto
 * --------------------------------------------------------------- */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-sec-ahca > .wpb_column {
		margin-bottom: 0;
	}

	body.page-template-template-home-custom-php .hv-sec-ahca .wpb_single_image {
		margin-bottom: 28px;
	}

	body.page-template-template-home-custom-php .hv-sec-ahca .sc_title {
		margin-top: 0;
		margin-bottom: 10px;
	}

	body.page-template-template-home-custom-php .hv-sec-ahca .wpb_text_column {
		margin-top: 6px;
	}
}

/* ---------------------------------------------------------------
 * Why Membership-Based: la barra verde solo aporta en escritorio;
 * apilada quedaba como una linea suelta.
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-why__bar {
		display: none;
	}
}

/* ---------------------------------------------------------------
 * Florida AHCA: al apilarse, la fila pasa a columna flex con gap.
 * (equivale a los estilos probados en el inspector:
 *  display:flex; flex-direction:column; gap:30px)
 * --------------------------------------------------------------- */
@media (max-width: 991px) {
	body.page-template-template-home-custom-php .hv-sec-ahca {
		display: flex;
		flex-direction: column;
		gap: 30px;
	}
}

/* ---------------------------------------------------------------
 * FIX: desborde horizontal de "Understanding Hormonal Health"
 * entre 768px y 1100px.
 *
 * Las columnas vc_col-sm-* de WPBakery no se apilan hasta 768px,
 * pero los chips de .hv26-topics pasan a flujo normal ya en 1100px.
 * En esa franja no caben en el 66% de la columna, desbordaban la
 * pagina a lo ancho y el contenido de la izquierda quedaba fuera
 * de la vista al desplazarse. Se apilan las dos columnas antes.
 * --------------------------------------------------------------- */
@media (max-width: 1100px) {
	body.page-template-template-home-custom-php .hv-sec-topics .vc_row-flex,
	body.page-template-template-home-custom-php .hv-sec-topics.vc_row-flex {
		flex-wrap: wrap;
	}

	body.page-template-template-home-custom-php .hv-sec-topics .wpb_column {
		width: 100%;
		max-width: 100%;
	}

	body.page-template-template-home-custom-php .hv-sec-topics .wpb_text_column {
		text-align: center;
	}

	body.page-template-template-home-custom-php .hv-sec-topics .btn-banner {
		text-align: center;
	}
}

/* Las columnas flex deben poder encogerse; sin min-width:0 un hijo
 * ancho las estira y provoca scroll horizontal en toda la pagina. */
body.page-template-template-home-custom-php .hv-home .vc_row-flex > .wpb_column {
	min-width: 0;
}
