/**
 * B0 (#121) — the Serena block palette: ONE sheet for the four blocks, loaded by
 * the front end (only on pages that carry a serena/* block or use the
 * «Serena bloques» template) and by the editor's canvas iframe, so what Nicoletta
 * sees while composing is what a visitor gets.
 *
 * D7 — the colours and type of Elementor's global kit (post-9.css, kit 9) ported
 * to variables OF THE THEME. The blocks read these and nothing else, so retiring
 * Elementor (F5) cannot change them. Values are the kit's, not guessed:
 * --e-global-color-{primary FF9472, secondary 4F4F4F, text 212121, accent B11972,
 * 412523be FFF, 42ce261 FF7D53, 191993ab FFBC02}.
 *
 * Breakpoints are Elementor's own: laptop <= 1366, tablet <= 1024, mobile <= 767.
 * The numbers below were read from the served 8704 («Landing Newsletter», local
 * stack 2026-10-03: getComputedStyle at 1440 and 390 + post-8704.css) and keep
 * its oddities on purpose (production visual fidelity ~99 %): the lead is
 * left-aligned on desktop and centred below 1025, the tablet hero carries a 50px
 * bottom margin, the laptop title is 65 % wide.
 */

:root {
	--serena-color-primary: #ff9472;
	--serena-color-secondary: #4f4f4f;
	--serena-color-text: #212121;
	--serena-color-accent: #b11972;
	--serena-color-white: #fff;
	--serena-color-orange: #ff7d53;
	--serena-color-yellow: #ffbc02;
	--serena-font-heading: "Nunito", sans-serif;
	--serena-font-body: "Open Sans", sans-serif;
	--serena-font-form: "Rubik", sans-serif;
}

/* ---------------------------------------------------------------- campaign header */

.serena-campaign-header,
.serena-campaign-header *,
.serena-campaign-header *::before,
.serena-campaign-header *::after,
.serena-media-carousel,
.serena-media-carousel *,
.serena-form-block,
.serena-form-block * {
	box-sizing: border-box;
}

.serena-campaign-header {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: var(--serena-ch-min-height, 70vh);
	margin: 0;
	padding: 80px 0 70px;
	color: var(--serena-color-white);
	background-color: #5ac4c45c;
	background-image: var(--serena-ch-bg, none);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.serena-campaign-header::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.95;
	background-image: linear-gradient(191deg, #fdd4c7c7 0%, #fffcf0d4 58%);
}
.serena-campaign-header__shape {
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	direction: ltr;
	/* Elementor's `.elementor-shape-bottom[data-negative=false]` rotates the
	   whole container; the svg inside is then mirrored (rotateY) as below. */
	transform: rotate(180deg);
}
.serena-campaign-header__shape svg {
	display: block;
	position: relative;
	left: 50%;
	width: calc(112% + 1.3px);
	height: 111px;
	transform: translateX(-50%) rotateY(180deg);
}
.serena-campaign-header__shape .serena-shape-fill {
	fill: var(--serena-color-white);
}
.serena-campaign-header__inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
}
.serena-campaign-header__col {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 67%;
	margin: 0;
	padding: 0 40px 5px 0;
}
.serena-campaign-header__eyebrow {
	display: block;
	margin: 0;
	padding: 0;
	font-family: var(--serena-font-heading);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2em;
	letter-spacing: 2px;
	text-align: center;
	text-transform: uppercase;
	color: var(--serena-color-accent);
}
.serena-campaign-header__title {
	margin: 0 0 5px;
	padding: 0;
	font-family: var(--serena-font-heading);
	font-size: 55px;
	font-weight: 500;
	line-height: 55px;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	color: var(--serena-color-orange);
}
.serena-campaign-header__lead {
	margin: 20px 0 5px;
	padding: 0;
	font-family: var(--serena-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6em;
	text-align: start;
	color: var(--serena-color-secondary);
}
.serena-campaign-header--lead-center .serena-campaign-header__lead {
	text-align: center;
}
.serena-campaign-header__slot {
	align-self: stretch;
	width: 100%;
}

@media (max-width: 1366px) {
	.serena-campaign-header {
		padding: 80px 40px 70px;
	}
	.serena-campaign-header__col {
		width: 100%;
		padding: 0 40px 0 0;
	}
	.serena-campaign-header__title {
		width: 100%;
		max-width: 65%;
		font-size: 39px;
		line-height: 1.1em;
	}
	.serena-campaign-header__lead {
		margin: 0;
	}
}
@media (max-width: 1024px) {
	.serena-campaign-header {
		margin-bottom: 50px;
		padding: 80px 40px 40px;
	}
	.serena-campaign-header__inner {
		flex-wrap: wrap;
		max-width: 1024px;
	}
	.serena-campaign-header__col {
		gap: 5px 0;
	}
	.serena-campaign-header__shape svg {
		width: calc(125% + 1.3px);
		height: 52px;
	}
	.serena-campaign-header__title {
		width: 84%;
		max-width: 84%;
		padding: 0;
		font-size: 36px;
		line-height: 1.1em;
	}
	.serena-campaign-header__lead,
	.serena-campaign-header--lead-center .serena-campaign-header__lead {
		padding: 0;
		text-align: center;
	}
}
@media (max-width: 767px) {
	.serena-campaign-header {
		margin-bottom: 0;
		padding: 20px 0 40px;
	}
	.serena-campaign-header__inner {
		max-width: 767px;
	}
	.serena-campaign-header__col {
		gap: 10px;
		margin: 20px 0 0;
		padding: 0 25px;
	}
	.serena-campaign-header__shape svg {
		width: calc(120% + 1.3px);
		height: 49px;
	}
	.serena-campaign-header__title {
		width: 100%;
		max-width: 100%;
		margin: 2px 0 5px;
		font-size: 28px;
		line-height: 1.2em;
	}
	.serena-campaign-header__lead {
		margin: 2px 0 5px;
	}
}

/* ----------------------------------------------------------------------- form */

.serena-form-block {
	display: flow-root; /* keeps the fields wrapper's -8px bottom margin inside, as Elementor's widget box did */
	margin: 0 0 20px;
	padding: 0;
}
.serena-form-block.serena-form-block--page {
	margin: 0; /* the widget's own margin is on the group around the block (L4b) */
}
.serena-form-block:not(.serena-form-block--page) .swbn-form .elementor-form-fields-wrapper {
	margin: 0 -10px -8px;
}
.serena-form-block:not(.serena-form-block--page) .swbn-form .elementor-field-group {
	width: 100%;
	padding: 0 10px;
	margin-bottom: 8px;
}
@media (min-width: 768px) {
	.serena-form-block:not(.serena-form-block--page) .swbn-form .elementor-field-group.elementor-col-50 {
		width: 50%;
	}
}
.serena-form-block .swbn-form .elementor-field-subgroup {
	display: flex;
	flex-wrap: wrap;
}
.serena-form-block .swbn-form .elementor-field-subgroup label {
	line-height: 26px;
	color: var(--serena-color-secondary);
}
.serena-form-block .swbn-form .elementor-field-subgroup a {
	color: var(--serena-color-accent);
	text-decoration: none;
}
/* The acceptance links of the page forms were label-coloured in Elementor (measured on the contacto capture), not accent-coloured. */
.serena-form-block--page .swbn-form .elementor-field-subgroup a {
	color: inherit;
}
.serena-form-block .swbn-form button.elementor-button {
	height: 40px;
	padding: 0 24px;
}
.serena-form-block__notice {
	margin: 0;
	padding: 12px 16px;
	border: 1px dashed var(--serena-color-secondary);
	font-family: var(--serena-font-body);
	font-size: 14px;
	color: var(--serena-color-secondary);
	background: rgba(255, 255, 255, 0.7);
}

/* ------------------------------------------------------------------ ac embed */

.serena-ac-embed {
	width: 100%;
}
.serena-ac-embed__placeholder {
	margin: 0;
	padding: 12px 16px;
	border: 1px dashed var(--serena-color-secondary);
	font-family: var(--serena-font-body);
	font-size: 14px;
	color: var(--serena-color-secondary);
	background: rgba(255, 255, 255, 0.7);
}

/* ------------------------------------------------------------- media carousel */

.serena-media-carousel {
	margin: 0;
	padding: 20px;
	background-color: transparent; /* Elementor's box is transparent: it shows the band behind it (#fafafa on 7489/9877/7987), never its own white */
}
.serena-media-carousel__container {
	display: flow-root; /* the title's 10px top margin stays inside the container */
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.serena-media-carousel__title {
	margin: 10px 0 0;
	padding: 0 0 0 15px;
	line-height: 26px;
	text-align: center;
}
.serena-media-carousel__title-text {
	font-family: var(--serena-font-heading);
	font-size: 16px;
	font-weight: 400;
	line-height: 16px;
	color: var(--serena-color-secondary);
}
.serena-carousel {
	--pv: var(--serena-pv-d, 6);
	--gap: var(--serena-gap, 10px);
	position: relative;
	height: var(--serena-h, 140px);
	padding: 0;
}
.serena-carousel__track {
	display: flex;
	gap: var(--gap);
	height: 100%;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	list-style: none;
	scroll-snap-type: x mandatory;
	/* Swiper moved its wrapper with translate3d, i.e. on a compositor layer; the
	   logos rasterise differently on one. Same hint, same pixels (measured on the
	   carousel band of 8704 at 1440: 12 520 -> 2 150 AE). */
	will-change: transform;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.serena-carousel__track::-webkit-scrollbar {
	display: none;
}
.serena-carousel__slide {
	flex: 0 0 calc((100% - (var(--pv) - 1) * var(--gap)) / var(--pv));
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	scroll-snap-align: start;
}
.serena-carousel__img {
	display: block;
	flex: none;
	max-width: none;
	/* Elementor painted each logo as a 100x99 background at its natural size,
	   centred in the slide (background-size: auto); cover on a 100x99 box of the
	   same crop is the same pixels. */
	object-fit: cover;
}
.serena-carousel__arrow {
	appearance: none;
	position: absolute;
	top: 50%;
	z-index: 1;
	display: flex;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	font-size: 20px;
	line-height: 1;
	color: var(--serena-color-yellow);
	cursor: pointer;
	transform: translateY(-50%);
}
.serena-carousel__arrow svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: var(--serena-color-yellow);
}
/* Opt-in (`arrowColor`, the inline `--serena-arrow` of that carousel only): the arrows of the carousels that do not set it are the yellow above. */
.serena-carousel[style*="--serena-arrow"] .serena-carousel__arrow {
	color: var(--serena-arrow);
}
.serena-carousel[style*="--serena-arrow"] .serena-carousel__arrow svg {
	fill: var(--serena-arrow);
}
.serena-carousel__arrow--prev {
	left: 10px;
}
.serena-carousel__arrow--next {
	right: 10px;
}
@media (max-width: 1024px) {
	.serena-carousel {
		--pv: var(--serena-pv-t, 4);
	}
}
/* Opt-in (`perViewLaptop`): Elementor's Swiper had its own count from 1024 to 1365 (its 1024 breakpoint, the widget's `slides_per_view_laptop`). */
@media (min-width: 1024px) and (max-width: 1365px) {
	.serena-carousel--laptop {
		--pv: var(--serena-pv-l);
		--sg: var(--serena-sg-l, var(--serena-pv-l)); /* the group of a step (forward mode): `scrollLaptop`, else the view count */
	}
}
@media (max-width: 767px) {
	.serena-media-carousel {
		margin: 10px 0 0;
		padding: 0 0 15px;
	}
	.serena-carousel {
		--pv: var(--serena-pv-m, 2);
		height: var(--serena-h-m, 100px);
	}
}
/* Opt-in (`forwardLoop` prints `data-forward`): Elementor's Swiper keys its tablet count to a min-width of 767 (its mobile breakpoint, not 768), so AT 767 px the
   views and the step are already the tablet ones (4 / 4) while the page layout is still the mobile one (measured: `swiper.currentBreakpoint` 767 at
   767 and 2 / 2 at 766). The mobile query of the stylesheet is `max-width: 767px`; this restores the tablet count at that one width, nothing else moves. */
@media (min-width: 767px) and (max-width: 767px) {
	.serena-carousel[data-forward="1"] {
		--pv: var(--serena-pv-t, 4);
	}
}

/* ======================================================================== */
/* F4-L4a (#95) — the specialty pages: band, header, cta, cards, accordion,   */
/* expandable, psychologists, index card.                                     */
/*                                                                            */
/* Every number below was read from the served pages (local stack,           */
/* getComputedStyle at 1440 and 390 + post-568/792/2250/4826/4915.css, the   */
/* rules of Elementor's own sheets with their media queries) and keeps their */
/* oddities on purpose (production visual fidelity ~99 %). Breakpoints are   */
/* Elementor's: laptop <= 1366, tablet <= 1024, mobile <= 767. 1rem is 10px  */
/* on Bridge pages: the values are written in px.                            */
/* ======================================================================== */

.serena-band,
.serena-band *,
.serena-band *::before,
.serena-band *::after,
.serena-cta,
.serena-icon-cards,
.serena-icon-cards *,
.serena-accordion,
.serena-accordion *,
.serena-expandable,
.serena-expandable *,
.serena-psy-grid,
.serena-psy-grid *,
.serena-itc,
.serena-itc * {
	box-sizing: border-box;
}

/* ------------------------------------------------------------------- band */

.serena-band {
	position: relative;
	display: block;
	background-repeat: no-repeat;
	/* The width of Bridge's `.container_inner` at this viewport: Elementor's percentage paddings were
	   resolved against the page document that sat inside it (css/responsive.min.css of the parent). */
	--serena-cw: 1100px;
}
@media only screen and (max-width: 1200px) {
	.serena-band {
		--serena-cw: 950px;
	}
}
@media only screen and (max-width: 1000px) {
	.serena-band {
		--serena-cw: 768px;
	}
}
@media only screen and (max-width: 768px) {
	.serena-band {
		--serena-cw: 600px;
	}
}
@media only screen and (max-width: 600px) {
	.serena-band {
		--serena-cw: 420px;
	}
}
@media only screen and (max-width: 480px) {
	.serena-band {
		--serena-cw: 300px;
	}
}
.serena-band__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	width: 100%;
	max-width: var(--serena-band-w, 1400px);
	margin: 0 auto;
	padding: var(--serena-band-pad, 10px);
}
/* Elementor's own layout model: the column is a wrapping flex row and every widget is 100 % wide,
   so negative margins and the widget spacing behave exactly as they did. The widget spacing (20px
   by default) is the default bottom margin; every block of a band carries its own margins (the page
   script writes them from the widget's: top = its margin, bottom = spacing + its margin). */
.serena-band__inner > * {
	width: 100%;
	margin: 0 0 20px;
}
.serena-band__inner > :last-child {
	margin-bottom: 0;
}

/* The two «shape dividers» Elementor paints, verbatim (shapes.min.css). */
.serena-band__shape {
	position: absolute;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	direction: ltr;
	pointer-events: none;
}
.serena-band__shape svg {
	display: block;
	position: relative;
	left: 50%;
	width: calc(100% + 1.3px);
	transform: translateX(-50%);
}
.serena-band__shape .serena-shape-fill {
	fill: #fff;
	transform: rotateY(0deg);
	transform-origin: center;
}
.serena-band__shape--bottom {
	bottom: -1px;
	transform: rotate(180deg);
}
.serena-band__shape--top {
	top: -1px;
	transform: rotate(180deg);
}

/* hero: the empty gradient strip under the native header */
.serena-band--hero {
	background-image: linear-gradient(45deg, #ffe8a7 0%, #ff9f98 100%);
	--serena-band-pad: 0;
}
.serena-band--hero .serena-band__inner {
	min-height: 260px;
}
.serena-band--hero .serena-band__shape--bottom svg,
.serena-band--header .serena-band__shape--bottom svg {
	width: calc(165% + 1.3px);
	height: 189px;
}

/* The child theme pulls every Elementor page document up 7rem on desktop
   (`div[data-elementor-type="wp-page"] { margin-top: -7rem }`, style.css) so the first band goes under
   the native header: the same pull-up for a hero band that opens the page. */
@media (min-width: 1025px) {
	.serena-band--hero:first-child,
	.serena-band--hero-image:first-child {
		margin-top: -70px;
	}
}

/* The flat URL keeps Bridge's single.php envelope (D1, SERENA_SPECIALTIES_CONVERGE_FLAT off): the
   bands then sit inside `.post_text_inner` (padded 70px/19.5px by Bridge) instead of in a full-width
   <main>. Elementor used to stretch its sections to the viewport with JS (`stretch_section`, every
   top-level section but the closing widget); the same is done here in CSS, so the flat URL paints as
   its «before» and not as a hero boxed in the container. The nested URL and the converged flat URL have no
   `.post_text_inner` around the bands: nothing changes there. */
.post_text_inner > .serena-band:not(.container_inner) {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}
/* ...and the bands that sat in Bridge's `.container_inner` column (the closing one, `contained`) take the
   width of the document the old widgets had (the padded `.post_text_inner`), not a second column. */
.post_text_inner > .serena-band.container_inner {
	width: auto;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* hero-image (the index 2250): a photo under a peach gradient, 500px (350 tablet, 213 mobile) high, with
   Elementor's «waves» divider (flipped, 106 % wide, 86px) in white at the bottom. */
.serena-band--hero-image {
	background-color: #fdd4c7;
	background-image: var(--serena-band-bg, none);
	background-position: top center;
	background-size: cover;
	--serena-band-w: 1300px;
	--serena-band-pad: 10px 10px 10px 75px;
}
.serena-band--hero-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(271deg, #fdd4c7c7 0%, #fffcf0d4 100%);
}
.serena-band--hero-image .serena-band__inner {
	align-content: center;
	min-height: 500px;
}
.serena-band--hero-image .serena-band__shape--bottom svg {
	width: calc(106% + 1.3px);
	height: 86px;
	transform: translateX(-50%) rotateY(180deg);
}
.serena-band .serena-esp-eyebrow {
	font-family: var(--serena-font-body);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.4em;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--serena-color-orange);
}
.serena-band .serena-esp-hero-title {
	font-size: 62px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: 1px;
	color: var(--serena-color-primary);
}
@media (max-width: 1024px) {
	.serena-band--hero-image .serena-band__inner {
		min-height: 350px;
	}
	.serena-band--hero-image .serena-band__shape--bottom svg {
		height: 60px;
	}
	.serena-band .serena-esp-eyebrow {
		font-size: 22px;
	}
	.serena-band .serena-esp-hero-title {
		font-size: 54px;
	}
}
@media (max-width: 767px) {
	.serena-band--hero-image .serena-band__inner {
		min-height: 213px;
	}
	.serena-band--hero-image .serena-band__shape--bottom svg {
		width: calc(100% + 1.3px);
		height: 25px;
	}
	.serena-band .serena-esp-eyebrow {
		font-size: 13px;
		letter-spacing: 0;
	}
	.serena-band .serena-esp-hero-title {
		font-size: 30px;
	}
}

/* The two page-specific heroes of L4b: the hero-image band with their own numbers (read from post-6880.css / post-1359.css). They
   carry the base class too (render.php), so only what differs is here. A divider colour that is not the default white is a class
   the page script writes from the section's `shape_divider_bottom_color` (188, 5103, 615, 2685, 1359: #FAFAFA). */
.serena-band.serena-esp-shape-fafafa .serena-band__shape .serena-shape-fill {
	fill: #fafafa;
}
/* 6880 «Prensa»: 280 px high on a tablet, 150 on a phone; the gradient stops at 11 % and 58 %. */
.serena-band--hero-image-short::before {
	background-image: linear-gradient(271deg, #fdd4c7c7 11%, #fffcf0d4 58%);
}
@media (max-width: 1024px) {
	.serena-band--hero-image-short .serena-band__inner {
		min-height: 280px;
	}
}
@media (max-width: 767px) {
	.serena-band--hero-image-short .serena-band__inner {
		min-height: 150px;
	}
}
/* 1359 «FAQ»: 372 / 350 / 180 px, a curve (147 % wide, 247 / 120 / 100 px high; Elementor's «invert» on: not turned over), the
   gradient at 208deg to 71 %, the 60 px the column was pushed down, and a title of 40 px on a phone (not 30). */
.serena-band--hero-image-curve::before {
	background-image: linear-gradient(208deg, #fdd4c7c7 0%, #fffcf0d4 71%);
}
.serena-band--hero-image-curve .serena-band__inner {
	min-height: 372px;
}
.serena-band--hero-image-curve .serena-band__shape--bottom {
	transform: none;
}
.serena-band--hero-image-curve .serena-band__shape--bottom svg {
	width: calc(147% + 1.3px);
	height: 247px;
	transform: translateX(-50%);
}
@media (max-width: 1024px) {
	.serena-band--hero-image-curve .serena-band__inner {
		min-height: 350px;
	}
	.serena-band--hero-image-curve .serena-band__shape--bottom svg {
		height: 120px;
	}
}
@media (max-width: 767px) {
	.serena-band--hero-image-curve .serena-band__inner {
		min-height: 180px;
	}
	.serena-band--hero-image-curve .serena-band__shape--bottom svg {
		width: calc(147% + 1.3px);
		height: 100px;
	}
	.serena-band--hero-image-curve .serena-esp-hero-title {
		font-size: 40px;
	}
}
/* The hero column of 188, 5103, 615, 2685, 6880 is pushed in by 5 % of its box (L4b): 65 px in the 1300 px box (+ the column's 10 px),
   5 vw on a tablet (+ 10 px) and on a phone (the column's padding is 0 there). */
.serena-band--hero-image.serena-esp-hero-pct {
	--serena-band-pad: 10px 10px 10px calc(min(100vw, 1300px) * 0.05 + 10px);
}
@media (max-width: 1024px) {
	.serena-band--hero-image.serena-esp-hero-pct.serena-esp-hero-pct-t0 {
		--serena-band-pad: 10px;
	}
}
@media (max-width: 767px) {
	.serena-band--hero-image.serena-esp-hero-pct {
		--serena-band-pad: 0 0 0 5vw;
	}
	.serena-band--hero-image.serena-esp-hero-pct.serena-esp-hero-pct-t0 {
		--serena-band-pad: 0;
	}
}
@media (max-width: 1024px) {
	.serena-band--hero-image.serena-esp-hero-zero-t {
		--serena-band-pad: 0;
	}
}
/* A body section whose column pads 0 on a phone (L4b): the band's inner box (10 px by default) is off there; the band's own padding carries the rest. */
@media (max-width: 767px) {
	.serena-band.serena-esp-inner0-m .serena-band__inner {
		--serena-band-pad: 0;
	}
}
/* An element Elementor ordered last in its column (`_flex_order: end`, the h1 of 615 sits AFTER its kicker on screen and BEFORE it in the DOM). */
.serena-band .serena-esp-order-end {
	order: 99999;
}
.serena-band .serena-esp-order-start {
	order: -99999;
}
/* The kicker over a title that is a `div` with the kit's typography 902355a and the colour #B11972 (615: «Las mejores profesionales»). */
.serena-band .serena-esp-kicker {
	font-family: "Nunito", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #b11972;
}

/* intro: the kicker + title over a row of cards (kit boxed width) */
.serena-band--intro {
	--serena-band-w: 1300px;
}

/* On a phone (2250): the spacer is 5 px (not 20) and the intro's inner padding is not there (measured: the kicker -10, title -15, cards -10). */
@media (max-width: 767px) {
	.serena-band--intro .serena-band__inner {
		padding-top: 0;
		padding-bottom: 0;
	}
	.serena-band--intro .serena-esp-h2 {
		margin-top: 5px !important;
	}
}

/* cards: a centred row of index cards (Elementor's 25 % columns; the empty ones centre the rest) */
.serena-band--cards {
	--serena-band-w: 1600px;
	--serena-band-pad: 0;
}
.serena-band--cards .serena-band__inner {
	justify-content: center;
}
.serena-band--cards .serena-band__inner > * {
	margin-bottom: 0;
}

/* header: photo + title (+ authorship note) */
.serena-band--header {
	background-color: #fff;
}

/* body: the text of the specialty */
.serena-band--body {
	--serena-band-pad: 20px;
	margin-top: 20px;
	margin-bottom: 40px;
}

/* steps: «Tu proceso en Serena» */
.serena-band--steps {
	background-color: #fafafa;
	padding: 50px 0;
	--serena-band-w: 1200px;
	--serena-band-pad: 0 0 5px;
}
.serena-band--steps .serena-band__inner {
	align-content: center;
	align-items: center;
	justify-content: center;
}

/* ratings: «Nuestras pacientas cuentan que…» */
.serena-band--ratings {
	background-color: #f6f6f6;
	padding: 60px 0 70px;
	--serena-band-w: 1600px;
}

/* doctors: «Algunas de nuestras especialistas en …» */
.serena-band--doctors {
	background-color: #fafafa;
	padding: 100px 0 60px;
	--serena-band-pad: 0;
}
.serena-band--doctors .serena-band__inner {
	align-content: center;
	align-items: center;
	justify-content: center;
}
.serena-band--doctors .serena-band__shape--top svg {
	width: calc(109% + 1.3px);
	height: 92px;
}

/* The fill a page's section had when it differs from the variant's (the page script writes the class): 852's doctors band
   had none, 4826's «Cómo funciona» none, 4915's another grey. */
.serena-band.serena-esp-bg-none {
	background-color: transparent;
}
.serena-band.serena-esp-bg-fafafa {
	background-color: #fafafa;
}
.serena-band.serena-esp-bg-f6f6f6 {
	background-color: #f6f6f6;
}
.serena-band.serena-esp-bg-ffffff {
	background-color: #fff;
}

/* plain: a section with no fill (the «Saber más» one): the kit's 1300px boxed width */
.serena-band--plain {
	--serena-band-w: 1300px;
}

/* faq */
.serena-band--faq {
	background-color: #fafafa;
	padding: 80px 0;
	--serena-band-w: 1200px;
}

/* closing: the container under the FAQ (Elementor's flex container: its 20px gap between widgets
   is written by the page script into each block's bottom margin, like the widget spacing) */
.serena-band--closing {
	padding: 0 10px;
}
.serena-band--closing .serena-band__inner {
	max-width: none;
	padding: 10px 0;
}

@media (max-width: 1366px) {
	.serena-band--ratings {
		padding: 50px 20px 80px;
	}
}
@media (max-width: 1024px) {
	.serena-band--steps {
		padding: 60px 10px 40px;
	}
	.serena-band--ratings {
		padding: 40px 0;
	}
	.serena-band--doctors {
		padding: calc(var(--serena-cw) * 0.14) calc(var(--serena-cw) * 0.1) 0;
	}
}
@media (max-width: 767px) {
	.serena-band--hero .serena-band__inner {
		min-height: 150px;
	}
	.serena-band--steps {
		padding: 50px 20px 20px;
		--serena-band-pad: 0;
	}
	.serena-band--ratings {
		padding: 40px 0 50px;
		--serena-band-pad: 0;
	}
	.serena-band--doctors {
		padding: 40px 20px 0;
	}
	.serena-band--doctors .serena-band__shape--top svg {
		width: calc(100% + 1.3px);
		height: 19px;
	}
}

/* --------------------------------------------------------- core text in bands */

.serena-band__inner > p {
	line-height: 28px;
}

/* «Titular de sección»: the 25px light uppercase title of the specialty text. */
.serena-band .serena-esp-title {
	font-family: var(--serena-font-heading);
	font-size: 25px;
	font-weight: 300;
	line-height: 1.2em;
	letter-spacing: 0.1px;
	text-transform: uppercase;
	color: var(--serena-color-primary);
}
/* The centred section heading: same box as the theme's h2, centred. */
.serena-band .serena-esp-center {
	text-align: center;
}
.serena-band .serena-esp-right {
	text-align: right;
}
.serena-band .serena-esp-h2 {
	font-family: var(--serena-font-heading);
	font-size: 45px;
	font-weight: 500;
	line-height: 1.3846em;
	color: var(--serena-color-secondary);
}
/* The four sizes the specialty headings come in (Elementor's heading widget, per its typography):
   plain (the kit's h2: 45, 30/44 on mobile), --ratings (45, 38 laptop, 28 tablet, 22 mobile),
   --small-mobile (45, 22 on mobile: «Algunas de nuestras especialistas…») and --steps (40, 38, 36, 24). */
.serena-band .serena-esp-h2--steps {
	font-size: 40px;
}
@media (max-width: 1366px) {
	.serena-band .serena-esp-h2--ratings,
	.serena-band .serena-esp-h2--steps {
		font-size: 38px;
		line-height: 1.3846em;
	}
}
@media (max-width: 1024px) {
	.serena-band .serena-esp-h2--ratings {
		font-size: 28px;
		line-height: 1.4em;
	}
	.serena-band .serena-esp-h2--steps {
		font-size: 36px;
		line-height: 1.4em;
	}
}
@media (max-width: 767px) {
	.serena-band .serena-esp-h2 {
		font-size: 30px;
		line-height: 44px;
	}
	.serena-band .serena-esp-h2--ratings,
	.serena-band .serena-esp-h2--small-mobile {
		font-size: 22px;
		line-height: 1.4em;
	}
	.serena-band .serena-esp-h2--steps {
		font-size: 24px;
		line-height: 1.4em;
	}
}

/* L4b: the section title of the six pages (188, 5103, 615, 6880, 2685): 45 px, 32 on a tablet, 22 on a phone, 1.4em. */
@media (max-width: 1024px) {
	.serena-band .serena-esp-h2--section {
		font-size: 32px;
		line-height: 1.4em;
	}
	/* L4c (7489 / 7654): a text left-aligned on the desktop and centred from the tablet down, and the other way round. */
	.serena-band .serena-esp-left-t {
		text-align: left;
	}
	.serena-band .serena-esp-center-t {
		text-align: center;
	}
}
@media (max-width: 767px) {
	.serena-band .serena-esp-h2--section {
		font-size: 22px;
		line-height: 1.4em;
	}
	/* A text centred on the desktop that is left-aligned on a phone (2685's title), and the other way round. */
	.serena-band .serena-esp-left-m {
		text-align: left;
	}
	.serena-band .serena-esp-center-m {
		text-align: center;
	}
}

.serena-band .serena-esp-consejeria-cols {
	gap: 20px; /* core prints the 20 px blockGap as a custom property the columns block does not read: 32 px came out (measured, 1440 and 390) */
}
/* L4b, 615's Consejería badge and its text (two equal cells; the badge sat at the END of its cell, centred and 32 % wide on a phone; the
   text is 322 px wide on a phone). Only this page has them. */
.serena-band .serena-esp-consejeria {
	margin: 0;
	text-align: end;
}
.serena-band .serena-esp-consejeria img {
	display: inline-block;
}
@media (max-width: 767px) {
	.serena-band .serena-esp-consejeria {
		text-align: center;
	}
	.serena-band .serena-esp-consejeria img {
		display: block; /* no line box under the badge: the inline one added 12 px on a phone (measured) */
		width: 32%;
		margin: 0 auto;
	}
	.serena-band .serena-esp-consejeria-text {
		max-width: 322px;
	}
}

/* A bulleted list of the text (a `ul` of a text widget): the theme's 16px indent, bullets outside. */
.serena-band .wp-block-list:not(.serena-esp-checks) {
	margin-left: 16px;
	padding: 0;
}

/* …on 2139 (phase B) the indent is 1em of the list's own size: 15px at its 15px (`serena-esp-ul-em`, written by the generator). */
.serena-band .wp-block-list.serena-esp-ul-em:not(.serena-esp-checks) {
	margin-left: 1em;
}

/* A list whose own items had their marker switched off in Elementor (`<li style="list-style-type: none;">` around a nested list, 2139):
   the item paints no bullet, the nested list keeps its own (`serena-esp-li-none`, written by the generator; core/list-item takes no class). */
.serena-band .wp-block-list.serena-esp-li-none > li {
	list-style-type: none;
}

/* A heading that Elementor printed as a `div` with the theme's `.h5` class: one line high. */
.serena-band .serena-esp-lh1 {
	line-height: 1;
}

/* A heading Elementor printed as a `span` (the «Valoraciones» label): served as a span, laid out as a block so its margins count. */
.serena-band .serena-esp-span {
	display: block;
}

/* Bare text in a text-editor widget (no <p>): it sat in the widget's container at the page's 26 px line-height, not the paragraph's 28. */
.serena-band p.serena-esp-bare {
	line-height: 26px;
}

/* The checklist of «¿Te sientes identificada?»: Elementor's icon-list (14px check, 26px rows). */
.serena-band .serena-esp-checks {
	list-style: none;
	margin: 0;
	padding: 0;
}
.serena-band .serena-esp-checks li {
	position: relative;
	margin: 0;
	padding: 0 0 0 22.5px;
	line-height: 26px;
}
.serena-band .serena-esp-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%; /* Elementor's icon-list centres the check on the whole item, however many lines it wraps to */
	margin-top: -7px;
	width: 14px;
	height: 14px;
	background: #212121;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/></svg>") no-repeat center / contain;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/></svg>") no-repeat center / contain;
}

/* The quotation of 4915 (`core/quote`): Elementor's «quotation» skin — a big “ above the text. */
.serena-band .serena-esp-quote {
	position: relative;
	margin: 0;
	/* Bridge forces `.wp-block-quote { padding; color }` with !important too. */
	padding: 0 !important;
	border: 0;
	/* Bridge forces `.wp-block-quote > p { font: inherit !important }`: the face is set on the quote itself. */
	font-family: var(--serena-font-heading);
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	line-height: 28px;
	color: var(--serena-color-text) !important;
	text-align: left;
}
.serena-band .serena-esp-quote::before {
	content: "\201C";
	display: block;
	height: 0.6em;
	font-family: "Times New Roman", Times, serif;
	font-size: 100px;
	font-weight: 900;
	line-height: 1;
	color: rgba(255, 148, 114, 0.4);
}
.serena-band .serena-esp-quote p {
	margin: 15px 0 0;
}

/* ----------------------------------------------------------------- header */

.serena-specialty-header .serena-specialty-header__note {
	display: flow-root;
	max-width: 1320px;
	margin: 20px auto 0;
	padding: 10px;
}
.serena-specialty-header__note p {
	margin: 16px 0;
	line-height: 28px;
}

/* -------------------------------------------------------------------- cta */

.serena-cta {
	display: block;
}
.serena-cta--center {
	text-align: center;
}
.serena-cta--left {
	text-align: left;
}
/* A bridge button is as wide as its text (the widget was «auto»); centred when asked. */
.serena-band__inner > .serena-cta--bridge,
.serena-band__inner > .serena-cta--plain {
	width: auto;
}
.serena-cta--bridge.serena-cta--center:not(.serena-cta--full),
.serena-cta--plain.serena-cta--center:not(.serena-cta--full) {
	margin-left: auto;
	margin-right: auto;
}
.serena-band__inner > .serena-cta--full {
	width: 100%;
}
/* The «shrunk pill» (888 / 914 / 928 first CTA): prod scales it on mobile and lets it hang over the paragraph above (kept). */
@media (max-width: 767px) {
	.serena-cta--mw {
		width: var(--serena-cta-mw);
	}
	.serena-cta--shrunk {
		transform: translateY(var(--serena-cta-shift)) scale(var(--serena-cta-scale));
	}
}
/* A band that was a narrower box on a phone (`mobileWidth`): centred, never wider than its column. */
@media (max-width: 767px) {
	.serena-band.serena-band--mw,
	.post_text_inner > .serena-band.container_inner.serena-band--mw {
		max-width: var(--serena-band-mw);
		margin-left: auto;
		margin-right: auto;
	}
}
/* The checklists inside the flat envelope (single.php): the theme gives every `li` there 24 px of left padding
   (`.blog_single.single_image_title_post ul li`), which also beat the block's 22.5 px. Elementor's list kept that
   padding AND its icon box, so the icon sits 24 px in and the text starts 46.5 px in. */
.blog_single .serena-band .serena-esp-checks li {
	padding-left: 46.5px;
}
.blog_single .serena-band .serena-esp-checks li::before {
	left: 24px;
}
/* ...and its 10 px of bottom margin on every `li`: in Elementor's text widget the last one collapsed into the next
   paragraph's margin, in the flex column of a band it would add to the list's height (852, +10 px). */
.blog_single .serena-band .wp-block-list:not(.serena-esp-checks) > li:last-child {
	margin-bottom: 0;
}
/* Mobile pull of a button past its own height (`pullTop` / `pullBottom`): the wrapper is a box that clamps at 0 px, like Elementor's widget. */
@media (max-width: 767px) {
	.serena-cta--pulled {
		display: flow-root;
	}
	.serena-cta--pulled .serena-cta__pull {
		margin: var(--serena-pull-t) 0 var(--serena-pull-b);
	}
	.serena-cta--pulled .serena-cta__pull > .qbutton {
		vertical-align: top;
	}
	/* the shrunk pill scaled around ITS box (Elementor's widget container), not around the 0 px wrapper */
	.serena-cta--shrunk.serena-cta--pulled {
		transform: none;
	}
	.serena-cta--shrunk.serena-cta--pulled .serena-cta__pull {
		transform: translateY(var(--serena-cta-shift)) scale(var(--serena-cta-scale));
	}
}
/* pill: Elementor's gradient button (global 9574 and the core `button`). */
.serena-cta--pill .serena-cta__link {
	display: inline-block;
	padding: 10px 30px;
	font-family: var(--serena-font-heading);
	font-size: 16px;
	font-weight: 500;
	line-height: 16px;
	letter-spacing: 0.5px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background-color: transparent;
	background-image: linear-gradient(-90deg, var(--serena-color-yellow) 0%, var(--serena-color-primary) 100%);
	border: 0;
	border-radius: 30px;
	transition: background 0.3s, color 0.3s;
}
.serena-cta--pill .serena-cta__link:hover,
.serena-cta--pill .serena-cta__link:focus {
	color: #fff;
	background-image: linear-gradient(-90deg, var(--serena-color-orange) 0%, var(--serena-color-yellow) 100%);
}
/* Phase B (2139, 6489): Elementor's `.elementor-button` has line-height 1em (measured 24px at 24px, 22 at 22); the 16px above is right only for the 16px of the
   global 9574 that the closed pages carry, so it is not touched for them (round 18: it was changed for every page). */
.page-id-2139 .serena-cta--pill .serena-cta__link,
.page-id-6489 .serena-cta--pill .serena-cta__link {
	line-height: 1;
}

/* ------------------------------------------------------------ icon cards */

.serena-icon-cards__item {
	text-align: center;
}
.serena-icon-cards__icon {
	line-height: 0;
}
.serena-icon-cards__icon img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}
.serena-icon-cards__title {
	margin: 0;
	font-family: var(--serena-font-heading);
	font-weight: 600;
	letter-spacing: -1px;
	color: var(--serena-color-secondary);
}
.serena-icon-cards__text {
	margin: 0;
	color: var(--serena-color-secondary);
}

/* steps: four icon-boxes */
.serena-icon-cards--steps {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.serena-icon-cards--steps .serena-icon-cards__item {
	width: 25%;
	padding: 10px;
}
.serena-icon-cards--steps .serena-icon-cards__item > * {
	padding: 0 10px;
}
.serena-icon-cards--steps .serena-icon-cards__icon img {
	width: 187px;
	height: 187px;
}
.serena-icon-cards--steps .serena-icon-cards__title {
	margin-bottom: 1px;
	font-size: 24px;
	line-height: 36px;
}
.serena-icon-cards--steps .serena-icon-cards__text {
	font-family: var(--serena-font-heading);
	font-size: 15px;
	line-height: 1.4em;
}
@media (max-width: 1366px) {
	.serena-icon-cards--steps .serena-icon-cards__icon img {
		width: 140px;
		height: 140px;
	}
	.serena-icon-cards--steps .serena-icon-cards__title {
		margin-bottom: 10px;
		line-height: 1.2em;
	}
}
@media (max-width: 1024px) {
	.serena-icon-cards--steps .serena-icon-cards__item {
		width: 50%;
	}
	.serena-icon-cards--steps .serena-icon-cards__icon img {
		width: 100px;
		height: 100px;
	}
}
@media (max-width: 767px) {
	.serena-icon-cards--steps .serena-icon-cards__item {
		width: 100%;
		padding: 0;
	}
	.serena-icon-cards--steps .serena-icon-cards__icon img {
		width: 120px;
		height: 120px;
	}
	.serena-icon-cards--steps .serena-icon-cards__title {
		font-size: 21px;
	}
}

/* testimonials: three icon-boxes in a grid */
.serena-icon-cards--testimonials {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	width: 100%;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
	padding: 80px 20px 20px;
}
.serena-icon-cards--testimonials .serena-icon-cards__item {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.serena-icon-cards__content {
	display: block;
}
.serena-icon-cards--testimonials .serena-icon-cards__quote {
	display: block;
	width: 50px;
	height: 50px;
	margin: 0 auto;
	fill: var(--serena-color-yellow);
}
.serena-icon-cards--testimonials .serena-icon-cards__title {
	font-size: 26px;
	line-height: 44px;
}
.serena-icon-cards--testimonials .serena-icon-cards__text {
	font-family: var(--serena-font-body);
	font-size: 16px;
	line-height: 28px;
	color: var(--serena-color-text);
}
/* Elementor's grid container defaulted to two equal-height rows (`repeat(2, 1fr)`): the page that keeps
   that default (786) says so with `rows`; the others set one row and size to their cards. */
.serena-icon-cards--testimonials.serena-icon-cards--rows-2 {
	grid-template-rows: repeat(2, 1fr);
}
@media (max-width: 1366px) {
	.serena-icon-cards--testimonials {
		padding-top: 40px;
	}
}
@media (max-width: 1024px) {
	.serena-icon-cards--testimonials {
		padding-top: 41px;
	}
}
@media (max-width: 767px) {
	.serena-icon-cards--testimonials {
		grid-template-columns: 1fr;
		padding: 35px 30px 10px;
	}
	.serena-icon-cards--testimonials .serena-icon-cards__title {
		font-size: 30px;
		line-height: 36px;
	}
}

/* process: image + heading + text, flex-wrap, calc(100/cols % - 2rem) wide. The Elementor container
   was 1300px wide inside the band (the kit's boxed width) with 10px of padding top and bottom. */
.serena-icon-cards--process {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 30px;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding: 10px;
}
/* Four to a row (4826: eight phases in two rows): Elementor's flex gap was 20px both ways (measured: a pitch of
   325px between columns and 367px between rows). The three-up variant (4915) keeps the 30px it was measured with. */
.serena-icon-cards--process.serena-icon-cards--cols-4 {
	gap: 20px;
}
.serena-icon-cards--process .serena-icon-cards__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: calc(33% - 20px);
	padding: 10px;
}
.serena-icon-cards--process.serena-icon-cards--cols-4 .serena-icon-cards__item {
	width: calc(25% - 20px);
}
.serena-icon-cards--process .serena-icon-cards__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.serena-icon-cards--process .serena-icon-cards__icon img {
	border-radius: 100px;
}
.serena-icon-cards--process .serena-icon-cards__title {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2em;
	letter-spacing: 0;
}
.serena-icon-cards--process .serena-icon-cards__text {
	margin: 16px 0;
	font-family: var(--serena-font-body);
	font-size: 16px;
	line-height: 28px;
}
/* The phases keep their share down to the tablet; on mobile each one takes the whole row. */
@media (max-width: 767px) {
	.serena-icon-cards--process .serena-icon-cards__item,
	.serena-icon-cards--process.serena-icon-cards--cols-4 .serena-icon-cards__item {
		width: 100%;
	}
}

/* -------------------------------------------------------------- accordion */

.serena-accordion {
	display: block;
}
.serena-accordion__head {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: var(--serena-font-heading);
	font-size: 20px;
	font-weight: 300;
	line-height: 27px;
	letter-spacing: 1px;
	text-transform: uppercase;
	background: #fff;
	border-bottom: 1px solid #f4f4f4;
}
.serena-accordion__toggle {
	display: flex;
	align-items: flex-start;
	width: 100%;
	margin: 0;
	padding: 0 40px 7px 60px;
	font: inherit;
	letter-spacing: inherit;
	text-align: left;
	text-transform: inherit;
	color: #8c0454;
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}
.serena-accordion__title {
	display: flex;
	align-items: center;
	box-sizing: content-box;
	min-height: 56px;
	padding: 5px 0;
}
.serena-accordion__mark {
	position: absolute;
	top: 50%;
	right: 6px;
	width: 30px;
	margin-top: -13.5px;
	font-family: ElegantIcons;
	font-size: 21px;
	font-weight: 400;
	line-height: 27px;
	letter-spacing: 1px;
	text-align: center;
	text-transform: none;
}
.serena-accordion__mark::before {
	content: "L";
}
.serena-accordion__item.is-open .serena-accordion__head {
	border-bottom-color: transparent;
}
.serena-accordion__item.is-open .serena-accordion__toggle {
	color: var(--serena-color-orange);
}
.serena-accordion__item.is-open .serena-accordion__mark::before {
	content: "K";
}
.serena-accordion__panel {
	padding: 20px;
}
.serena-accordion__body p {
	margin: 16px 0;
	line-height: 28px;
}
.serena-accordion.serena-js .serena-accordion__item:not(.is-open) .serena-accordion__panel {
	display: none;
}

/* ------------------------------------------------------------- expandable */

/* Bridge's «expendable section»: the button is 103px high (39 above, 15 below), the label 17px/600 and the
   angle 19px (Font Awesome 4, which Bridge loads). */
.serena-expandable__button-holder {
	text-align: center;
}
.serena-expandable__button {
	display: block;
	width: 100%;
	margin: 0;
	padding: 39px 0 15px;
	font-family: "Open Sans", sans-serif;
	font-size: 19px;
	font-weight: 400;
	line-height: 22px;
	text-align: center;
	color: #666464;
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}
.serena-expandable__label {
	display: block;
	padding-bottom: 5px;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 22px;
	text-transform: uppercase;
}
.serena-expandable__arrow {
	display: block;
	height: 22px;
	font-family: FontAwesome;
	font-size: 19px;
	font-weight: 400;
	line-height: 22px;
}
.serena-expandable__arrow::before {
	content: "\f107";
}
.serena-expandable.is-open .serena-expandable__arrow::before {
	content: "\f106";
}
.serena-expandable.serena-js:not(.is-open) .serena-expandable__outer {
	display: none;
}
.serena-expandable--cols-2 .serena-expandable__inner {
	column-count: 2;
	column-gap: 20px;
}
.serena-expandable--cols-2 .serena-expandable__inner > * {
	break-inside: avoid;
}
.serena-expandable--cols-2 .serena-expandable__inner > .serena-col-break {
	break-before: column;
}
@media (max-width: 767px) {
	.serena-expandable--cols-2 .serena-expandable__inner {
		column-count: 1;
	}
}

/* --------------------------------------------------------------- psychologists */

.serena-psy-grid {
	display: block;
	width: 100%;
	text-align: center;
}
.serena-psy-grid__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 30px;
}
.serena-psy-card {
	display: flex;
	flex: 0 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 0 10px 10px;
}
@media (min-width: 768px) {
	.serena-psy-grid__list {
		gap: 20px;
	}
	.serena-psy-card {
		flex: 0 1 calc(50% - 20px);
	}
}
@media (min-width: 1024px) {
	.serena-psy-card {
		flex: 0 1 calc(33% - 20px);
	}
}
@media (min-width: 1168px) {
	.serena-psy-grid__list {
		gap: 30px;
	}
	.serena-psy-grid--cols-4 .serena-psy-card {
		flex: 0 1 calc(25% - 30px);
	}
	.serena-psy-grid--cols-3 .serena-psy-card {
		flex: 0 1 calc(33% - 30px);
	}
}
.serena-psy-card__photo {
	position: relative;
	z-index: 1;
	margin: 10px auto 20px;
	text-align: center;
	line-height: 0;
}
@media (max-width: 767px) {
	.serena-psy-card__photo {
		width: var(--serena-photo-w, 340px);
		max-width: 100%;
	}
}
.serena-psy-card__photo img {
	display: inline-block;
	width: 80%;
	max-width: 100%;
	height: auto;
	border-radius: 150px 15px 150px 150px;
}
.serena-psy-card__body {
	position: relative;
	z-index: 0;
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	gap: 20px;
	margin-top: -120px;
	padding: 120px 20px 40px;
	background: #fff;
}
.serena-psy-grid .serena-psy-card__name {
	margin: 0;
	font-family: var(--serena-font-heading);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: 0.5px;
	text-align: center;
	color: var(--serena-color-secondary);
}
.serena-psy-card__row {
	text-align: center;
}
.serena-psy-card__colegiada {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4em;
	letter-spacing: 0.2px;
	text-align: center;
	text-transform: uppercase;
	color: var(--serena-color-accent);
}
.serena-psy-card__more {
	text-align: center;
}
.serena-psy-card__link {
	display: inline-block;
	padding: 10px 10px 8px;
	font-family: var(--serena-font-heading);
	font-size: 15px;
	font-weight: 500;
	line-height: 15px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--serena-color-primary);
	background: #fff;
	border: 1px solid var(--serena-color-orange);
	border-radius: 30px;
}
.serena-psy-card__link:hover,
.serena-psy-card__link:focus {
	color: var(--serena-color-orange);
}

/* ---------------------------------------------------- index card (2250) */

.serena-band__inner > .serena-itc {
	width: 25%;
}
.serena-itc {
	display: block;
	padding: 20px;
}
.serena-itc__card {
	position: relative;
	min-height: 500px;
	padding-bottom: 30px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.serena-itc__body {
	display: block;
	padding: 0 10px 10px;
	margin-bottom: 20px; /* the text widget's 20 px gap: a card whose text runs long (a two-line title on a phone) grows by it, past the 500 px minimum */
	text-align: center;
}
.serena-itc__image {
	display: block;
	width: calc(100% + 20px);
	max-width: calc(100% + 20px);
	height: auto;
	margin: 0 -10px 22px;
}
.serena-itc__title {
	margin: 0;
	font-family: var(--serena-font-heading);
	font-size: 26px;
	font-weight: 100;
	line-height: 1.4em;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--serena-color-accent);
}
.serena-itc--tight .serena-itc__title {
	letter-spacing: -1.7px;
}
.serena-itc__text {
	/* 23px = what Elementor served between the title and the quote: the separator's 6 + its 1 px of height + the paragraph's 16 (measured). At 22.6 every
	   two-line title pushed the cards below it 0.4 px up, and on a phone the illustrations of cards 4 to 13 were drawn on another pixel row. */
	margin: 23px 0 16px;
	font-family: var(--serena-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4em;
	color: var(--serena-color-secondary);
}
.serena-itc__button {
	position: absolute;
	left: 50%;
	bottom: 31px;
	transform: translateX(-50%);
}
@media (max-width: 1024px) {
	.serena-band__inner > .serena-itc {
		width: 50%;
	}
}
@media (max-width: 767px) {
	.serena-band__inner > .serena-itc {
		width: 100%;
	}
	/* the button sat on the card's bottom edge 29 px up on a phone (Elementor's button widget: 30 px + 29 px of margin), 31 on the desktop one */
	.serena-itc__button {
		bottom: 29px;
	}
	/* the card title stays 26 px on a phone (measured: «ANSIEDAD» 128 px wide; the kit's h3 rule made it 148) */
	.serena-itc .serena-itc__title {
		font-size: 26px; /* one class more than the kit's `.elementor-kit-9 h3` (30 px / 1.2em on a phone) */
		line-height: 1.4em;
	}
	.serena-itc.serena-itc--tight .serena-itc__title {
		letter-spacing: 0; /* the -1.7px squeeze is a desktop one: on a phone «DEPENDENCIA EMOCIONAL» wraps in two lines */
	}
}

/* ======================================================================== */
/* F4-L4b (#118) — the six page conversions: bridge-button, bridge-latest-   */
/* posts, bridge-accordion, psychologist-filter, press-list.                 */
/*                                                                            */
/* Read from the served pages (local stack, headless Chrome getComputedStyle  */
/* after the page's own scripts ran + post-615/6880/2685/1359.css and the     */
/* widget sheets of Elementor Pro: widget-loop-filter, widget-posts). Nothing */
/* here depends on an Elementor sheet being enqueued. 1rem is 10px on Bridge  */
/* pages: written in px. The fine geometry (band paddings, margins per page)  */
/* is the page script's and stage D's. The three Bridge ports need NO rule:   */
/* Bridge's and the child theme's sheets paint `.qode-accordion-holder`,      */
/* `.qbutton`, `.gradient-button .qbutton` and `.podcast-grid .latest_post…`. */
/* ======================================================================== */

.serena-bridge-button,
.serena-bridge-accordion,
.serena-bridge-posts,
.serena-psy-filter,
.serena-psy-filter *,
.serena-press-list,
.serena-press-list * {
	box-sizing: border-box;
}

/* What an editor sees when bridge-core is not active (the front prints nothing). */
.serena-bridge-missing {
	padding: 12px 16px;
	font-size: 13px;
	color: #69727d;
	background: #f5f5f5;
	border: 1px dashed #c3c4c7;
}

/* ---- bridge-button: the widget was `auto` wide with a 20 10 0 10 margin, centred by its column. The wrapper is
        the full line and centres the link: same box, same place. Margins are the block's own `spacing.margin`. */
.serena-bridge-button {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
.serena-bridge-button--left {
	justify-content: flex-start;
}
.serena-bridge-button--right {
	justify-content: flex-end;
}
/* Gate V point 3 (6489, 1165): in the «¿Cómo funciona?» steps band, Elementor's link is an inline-block in a centred line, so a link wider than its box
   («RESERVA PRUEBA GRATIS», 302.4 px in 280 at 320) overflows from the box's start edge (x = 20), not both sides (x = 8.8). `safe center` is `center`
   whenever the link fits. Only that band: 6489's pricing button (302.4 px in 300) does overflow both sides in Elementor too. Before every page's own button
   rules, which keep winning at equal or higher specificity. */
.page-id-6489 .serena-band:has(.serena-icon-cards--steps) .serena-bridge-button--center,
.page-id-1165 .serena-band:has(.serena-icon-cards--steps) .serena-bridge-button--center {
	justify-content: safe center;
}

/* ---- bridge-latest-posts: the widget's container painted #FAFAFA (post-2685.css, 700c583). */
.serena-bridge-posts.podcast-grid {
	background-color: #fafafa;
}

/* ---- psychologist-filter: widget-loop-filter.min.css + the 615 settings (post-615.css, f31d44e):
        row, centred, no wrap, scroll sideways with no bar, 10px between items, 12px, 30 / 10 margins. */
.serena-psy-filter .e-filter {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 30px 0 10px;
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
/* post-615.css: margin-bottom calc(var(--kit-widget-spacing) + 10px); the gap to the cards measured 30 px at 1440 and at 390 (the grid's own 20 px top margin collapses into it). */
.serena-psy-filter .e-filter {
	margin-bottom: 30px;
}
.serena-psy-filter .e-filter::-webkit-scrollbar {
	display: none;
}
/* The items were <button>s (border 0, the browser's button face, measured «Arial» 12px): now links with the same box. */
.serena-psy-filter .e-filter .e-filter-item {
	display: flex;
	flex-basis: content;
	flex-grow: 0;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	box-sizing: content-box;
	width: initial;
	max-width: calc(100% - 24px);
	margin: 0;
	padding: 8px;
	overflow: hidden;
	overflow-wrap: break-word;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: normal;
	color: #69727d;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	background-color: transparent;
	border: 1px #69727d;
	border-style: none;
	border-radius: initial;
}
.serena-psy-filter .e-filter .e-filter-item[aria-pressed="true"] {
	color: var(--serena-color-primary);
	border-color: #0c0d0e;
}
.serena-psy-filter .e-filter .e-filter-item:hover:not([aria-pressed="true"]) {
	color: var(--serena-color-primary);
	border-color: #0c0d0e;
}
.serena-psy-filter .e-filter .e-filter-item:hover,
.serena-psy-filter .e-filter .e-filter-item[aria-pressed="true"] {
	background-color: transparent;
}
.serena-psy-filter .e-filter .e-filter-item[data-filter="__all"] {
	order: -1; /* last in the DOM, first on screen — as the widget printed it. */
}
.serena-psy-filter .e-filter .e-filter-item:focus:not(:focus-visible) {
	outline: none;
}
.serena-psy-card[hidden] {
	display: none;
}

/* ---- press-list: Elementor's `posts` widget, classic skin, thumbnail left (widget-posts.min.css + post-6880.css, a6f7f27).
        2 columns, 50px between them; rows 50 / 40 (laptop, tablet) / 25 (phone); the thumbnail link is 90 / 70 / 60px wide
        and the box «item ratio» 0.6 (0.78 on a phone), the picture centred in it. */
.serena-press-list {
	display: block;
	width: 100%;
}
.serena-press-list .elementor-posts-container {
	display: grid;
	grid-column-gap: 50px;
	grid-row-gap: 50px;
	align-items: stretch;
	grid-template-columns: repeat(2, 1fr);
}
.serena-press-list.elementor-grid-1 .elementor-posts-container {
	grid-template-columns: repeat(1, 1fr);
}
.serena-press-list.elementor-grid-3 .elementor-posts-container {
	grid-template-columns: repeat(3, 1fr);
}
.serena-press-list .elementor-post {
	display: flex;
	flex-direction: row;
	margin: 0;
	padding: 0;
	overflow: hidden;
	text-align: left;
}
.serena-press-list .elementor-post__thumbnail__link {
	display: block;
	position: relative;
	flex-shrink: 0;
	order: 0;
	width: 90px;
	margin: 0 20px 0 0;
	transition: none;
}
.serena-press-list .elementor-post__thumbnail {
	position: relative;
	padding-bottom: calc(0.6 * 100%);
	overflow: hidden;
	border-radius: 0;
	inset: 0;
}
.serena-press-list .elementor-post__thumbnail img {
	display: block;
	position: absolute;
	top: calc(50% + 1px);
	left: calc(50% + 1px);
	width: 100%;
	height: auto;
	max-width: none;
	max-height: none;
	transform: scale(1.01) translate(-50%, -50%);
	transition: filter 0.3s;
}
.serena-press-list .elementor-post__thumbnail.elementor-fit-height img {
	width: auto;
	height: 100%;
}
.serena-press-list .elementor-post__text {
	display: block;
	flex-grow: 1;
	flex-direction: column;
}
.serena-press-list .elementor-post__title,
.serena-press-list .elementor-post__title a {
	font-size: 20px;
	line-height: 1.4em;
	letter-spacing: 0;
}
.serena-press-list .elementor-post__title {
	margin: 0 0 3px;
}
.serena-press-list .elementor-post__meta-data {
	margin-bottom: 0;
	font-family: "Nunito", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3em;
	color: #adadad;
}
@media (max-width: 1366px) {
	.serena-press-list .elementor-posts-container {
		grid-row-gap: 40px;
	}
}
@media (max-width: 1024px) {
	.serena-press-list.elementor-grid-tablet-2 .elementor-posts-container {
		grid-template-columns: repeat(2, 1fr);
	}
	.serena-press-list .elementor-post__thumbnail__link {
		width: 70px;
	}
	.serena-press-list .elementor-post__title,
	.serena-press-list .elementor-post__title a {
		font-size: 19px;
		line-height: 1.2em;
	}
}
@media (max-width: 767px) {
	.serena-press-list .elementor-posts-container {
		grid-row-gap: 25px;
	}
	.serena-press-list.elementor-grid-mobile-1 .elementor-posts-container {
		grid-template-columns: repeat(1, 1fr);
	}
	.serena-press-list .elementor-post__thumbnail__link {
		width: 60px;
		margin-right: 15px;
	}
	.serena-press-list .elementor-post__thumbnail {
		padding-bottom: calc(0.78 * 100%);
	}
	.serena-press-list .elementor-post__title,
	.serena-press-list .elementor-post__title a {
		font-size: 18px;
	}
}

/* ======================================================================== */
/* F4-L4c (#94) — the commercial pages: visibility per breakpoint, the         */
/* testimonials carousel.                                                      */
/* ======================================================================== */

/* ------------------------------------------ visibility per breakpoint (tokens) */
/* Elementor's «hide on desktop / laptop / tablet / mobile» (the widget carried `elementor-hidden-<device>`, whose rules are
   `.elementor .elementor-hidden-<device> { display: none }` inside these exact ranges: desktop >= 1367, laptop 1025-1366, tablet 768-1024,
   mobile <= 767). The element STAYS IN THE DOM — the conversion handlers count it and a hidden twin is how Elementor served two buttons
   with the same class — it is only not painted. `serena-hide-d|l|t|m` on any block (a `className` token, as the page script writes it).
   !important: a block's own `display` (flex wrappers) must not win. */
@media (min-width: 1367px) {
	.serena-hide-d {
		display: none !important;
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.serena-hide-l {
		display: none !important;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.serena-hide-t {
		display: none !important;
	}
}
@media (max-width: 767px) {
	.serena-hide-m {
		display: none !important;
	}
}

/* ------------------------------------------ responsive margins and paddings (tokens) */
/* `serena-rm-<bp>-…` / `serena-rp-<bp>-…` on a block become `--serena-rm-<bp>` / `--serena-rp-<bp>`
   (serena_blocks_responsive_margins()): the margin / padding that Elementor gave the widget or section
   on that breakpoint. !important: the inline value of the block is the desktop one. Order matters:
   laptop, then tablet, then mobile. */
[style*="--serena-rm-d"] {
	margin: var(--serena-rm-d) !important;
}
[style*="--serena-rp-d"] {
	padding: var(--serena-rp-d) !important;
}
@media (max-width: 1366px) {
	[style*="--serena-rm-l"] {
		margin: var(--serena-rm-l) !important;
	}
	[style*="--serena-rp-l"] {
		padding: var(--serena-rp-l) !important;
	}
}
@media (max-width: 1024px) {
	[style*="--serena-rm-t"] {
		margin: var(--serena-rm-t) !important;
	}
	[style*="--serena-rp-t"] {
		padding: var(--serena-rp-t) !important;
	}
}
@media (max-width: 767px) {
	[style*="--serena-rm-m"] {
		margin: var(--serena-rm-m) !important;
	}
	[style*="--serena-rp-m"] {
		padding: var(--serena-rp-m) !important;
	}
}

/* `serena-bi-<bp>-…` (serena_blocks_bi_tokens()): the INNER padding Elementor's column gave the content of a band (the `--serena-band-pad` of its
   `__inner`) or of an inner section's single column (the 10px of `.serena-esp-gap10-1`) where it differs from the default gap. Same order. */
@media (max-width: 1366px) {
	.serena-band[style*="--serena-bi-l"] > .serena-band__inner {
		--serena-band-pad: var(--serena-bi-l);
	}
	.serena-esp-gap10-1[style*="--serena-bi-l"] > .wp-block-group__inner-container {
		padding: var(--serena-bi-l);
	}
}
@media (max-width: 1024px) {
	.serena-band[style*="--serena-bi-t"] > .serena-band__inner {
		--serena-band-pad: var(--serena-bi-t);
	}
	.serena-esp-gap10-1[style*="--serena-bi-t"] > .wp-block-group__inner-container {
		padding: var(--serena-bi-t);
	}
}
@media (max-width: 767px) {
	.serena-band[style*="--serena-bi-m"] > .serena-band__inner {
		--serena-band-pad: var(--serena-bi-m);
	}
	.serena-esp-gap10-1[style*="--serena-bi-m"] > .wp-block-group__inner-container {
		padding: var(--serena-bi-m);
	}
}

/* ------------------------------------------ looks (F4-L4c): what the generator recognises by fingerprint */
/* `sl4c_looks()` of scripts/retire-paginas-l4c.php gives an element one of these classes ONLY when the whole set of its Elementor settings that
   no block carries is exactly the set measured here (a page that differs by one value gets a RESIDUAL line, not an approximation). Every number
   below was read off the Elementor render of the page (local «before», 2026-10-04: 1440 / 1366 / 390) and is checked by the matrix of the
   subset (docs/serena-blocks.md «L4c looks»). */

/* ------------------------------------------ columns between 768 and 781 px (#94)
   WordPress stacks `core/columns` at <= 781 px (`@media (max-width: 781px)`: wrap + `flex-basis: 100% !important`); Elementor's mobile cut is 767. In 768-781
   the native columns stacked while Elementor's stayed in a row (measured: 7292 at 768 px 6166 -> 7022 px of document). This block puts the >= 782 px layout
   back in that range only: the same rules core applies at >= 782 px, with the same specificity as core's (0,3,0) so that the page families' own rules
   (the hero 60 / 40, ...) that come AFTER this block keep winning over it, as they do from 782 px up. `:where()` keeps the inline-width
   selectors from raising that specificity. Columns whose inline width is not 16 / 20 / 25 / 33 / 50 % end up with equal shares between 768 and 781 px (`flex-basis: 0; flex-grow: 1`; a 40/60 pair
   measured 384/384 at 768 and 391/391 at 781 px, not stacked; NOT measured on real pages: the fixtures carry only those widths); the test
   of serena-page-blocks lists the widths the fixtures carry. `.is-not-stacked-on-mobile` is left alone. */
@media (min-width: 768px) and (max-width: 781px) {
	:where(.serena-blocks-page) .wp-block-columns {
		flex-wrap: nowrap !important;
	}
	:where(.serena-blocks-page) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 0 !important;
		flex-grow: 1;
	}
	:where(.serena-blocks-page) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:where([style*="flex-basis:16%"]) {
		flex-basis: 16% !important;
		flex-grow: 0;
	}
	:where(.serena-blocks-page) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:where([style*="flex-basis:20%"]) {
		flex-basis: 20% !important;
		flex-grow: 0;
	}
	:where(.serena-blocks-page) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:where([style*="flex-basis:25%"]) {
		flex-basis: 25% !important;
		flex-grow: 0;
	}
	:where(.serena-blocks-page) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:where([style*="flex-basis:33%"]) {
		flex-basis: 33% !important;
		flex-grow: 0;
	}
	:where(.serena-blocks-page) .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:where([style*="flex-basis:50%"]) {
		flex-basis: 50% !important;
		flex-grow: 0;
	}
	/* the four plan cards of the landings: two per row from the tablet down (their own rule is (0,2,0) and cannot beat the one above) */
	.serena-lk-ld-plans .wp-block-columns > .wp-block-column {
		flex: 0 0 47% !important;
	}
}

/* «Gracias» header of 7437 / 7451: a 83vh header container (min-height; 0 on a phone) with a peach gradient, 1100px boxed, two cells side by side
   (text 50 %, picture 60 % — together wider than the box, as Elementor's flex row with `flex: none` was) and, on a phone, the picture first.
   The page document of Elementor was pulled up 7rem under the native header on desktop and laptop and was padded 7rem at its top at every width:
   the pull-up is the margin, the 70px is the inner top padding; the band's own padding (80/70, 80/50 laptop, 40/40 phone) is the generated token. */
.serena-lk-thanks-band {
	--serena-band-w: 1100px;
	--serena-band-pad: 70px 0 0;
	min-height: 83vh;
	box-sizing: border-box;
	background-image: linear-gradient(191deg, #ff94725c 0%, #e7e7e95c 58%);
}
@media (min-width: 1025px) {
	.serena-band.serena-lk-thanks-band {
		margin-top: -70px;
	}
}
.serena-lk-thanks-band {
	display: flex;
	flex-direction: column;
}
.serena-lk-thanks-band .serena-band__inner {
	flex: 1 1 auto;
	align-content: stretch;
}
.serena-lk-thanks-band .wp-block-columns {
	flex-wrap: nowrap;
	gap: 10px;
	align-items: stretch;
	margin: 0;
}
.serena-lk-thanks-band .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-shrink: 0;
}
.serena-lk-thanks-text {
	padding: 0 50px 0 30px;
}
.serena-lk-thanks-title {
	box-sizing: border-box;
	align-self: flex-start;
	width: 100%;
	margin: 0 0 0 !important;
	padding: 25px 0;
	text-align: center;
	font-size: 45px;
	line-height: 50px;
	letter-spacing: 0;
}
.serena-lk-thanks-btn {
	align-self: center;
	width: auto !important;
	margin: 10px 0 25px !important;
}
.serena-lk-thanks-media figure.wp-block-image,
.serena-lk-thanks-media .wp-block-group {
	width: 100%;
	margin: 0;
}
.serena-lk-thanks-img {
	width: 100%;
	max-width: 420px;
	margin: 0 auto !important;
}
.serena-lk-thanks-img a,
.serena-lk-thanks-img figure {
	display: block;
	margin: 0;
}
.serena-lk-thanks-img img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 1366px) {
	.serena-lk-thanks-img {
		max-width: 397.5px;
		margin: 0 !important;
	}
}
@media (max-width: 1024px) {
	/* tablet: 60 % / 40 %, no gap — together exactly the box, so nothing sticks out (the desktop pair is 110 % of it and does, as it did). */
	.serena-lk-thanks-band .wp-block-columns {
		gap: 0;
	}
	.serena-lk-thanks-band .wp-block-columns > .serena-lk-thanks-text {
		flex-basis: 60% !important;
	}
	.serena-lk-thanks-band .wp-block-columns > .serena-lk-thanks-media {
		flex-basis: 40% !important;
	}
	.serena-lk-thanks-text {
		padding: 0 40px 0 0;
	}
	.serena-lk-thanks-title {
		font-size: 37px;
		line-height: 1.1em;
		padding: 0;
		margin-bottom: 15px !important;
	}
	.serena-lk-thanks-img {
		max-width: 100%;
		margin: 0 0 0 10px !important;
	}
}
@media (max-width: 767px) {
	.serena-lk-thanks-band {
		min-height: 0;
	}
	.serena-lk-thanks-band .wp-block-columns {
		flex-direction: column-reverse;
		flex-wrap: nowrap !important;
		gap: 0;
	}
	.serena-lk-thanks-band .wp-block-columns > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
		box-sizing: border-box;
	}
	.serena-lk-thanks-band .wp-block-columns > .serena-lk-thanks-media {
		margin-bottom: 20px;
	}
	.serena-lk-thanks-text {
		padding: 0 25px 20px;
	}
	/* Elementor's title widget is `align-self: flex-start` with the width of its text: from 600 to 767 px the line is shorter than the column and sits at its left */
	.serena-lk-thanks-title {
		width: auto;
		font-size: 24px;
		line-height: 1.2em;
		padding: 0;
		margin-bottom: 5px !important;
	}
	/* phone: Elementor keeps the box of the laptop rule above (397.5 px, flush left; the tablet one is not in force) and the picture is 60 % of it, centred:
	   239 px at 766, 234 at 390 (the 60 % used to be of the whole column: 460 px at 766). */
	.serena-lk-thanks-img {
		max-width: 397.5px;
		margin: 0 !important;
	}
	.serena-lk-thanks-media .serena-lk-thanks-img figure.wp-block-image {
		width: 60%;
		margin: 0 auto;
	}
	/* Gate V point 1 (2139): the 60 % is the picture's, not its link's. Elementor's link is an inline-block as wide as the picture's 560 px file allows, so
	   the whole box (0-360 at 360, 0-397.5 from 414 to 767) is a click to /areaprivada/; the 60 % figure shrank the link to the picture (72-288 at 360).
	   Scoped to 2139: 7437 and 7451 (already native in production) use the rule above and do not move. */
	.page-id-2139 .serena-lk-thanks-media .serena-lk-thanks-img figure.wp-block-image {
		width: 100%;
		margin: 0;
	}
	.page-id-2139 .serena-lk-thanks-media .serena-lk-thanks-img img {
		width: 60%;
		margin: 0 auto;
	}
}

/* ======================================================================== */
/* F4-L4c (#94) — 7489 «Empresas» and 7654 «Empresas · gracias»              */
/* Every number below was read from the Elementor «before» of the two pages  */
/* (post-7489.css / post-7654.css and getComputedStyle at 1440 / 1366 / 1024 */
/* / 820 / 390, evidence/r33). The bands are KNOWN WHOLE-BAND LOOKS          */
/* (`sl4c_band_looks()`): a band that differs by one Elementor setting is    */
/* not given the class. Elementor's breakpoints: laptop <= 1366, tablet <=   */
/* 1024, mobile <= 767.                                                      */
/* ======================================================================== */

/* ---- entrance animations (serena-fx.js plays them; without the script the content is simply visible) ---- */
.serena-fx-pending {
	visibility: hidden;
}
.serena-fx-anim {
	animation-duration: 1.25s;
	animation-fill-mode: both;
}
.serena-fx-anim.serena-fx-anim--slow {
	animation-duration: 2s;
}
.serena-fx-anim.serena-fx-anim--fast {
	animation-duration: 0.75s;
}
.serena-fx-anim--fadeIn { animation-name: serena-fadeIn; }
.serena-fx-anim--fadeInUp { animation-name: serena-fadeInUp; }
.serena-fx-anim--fadeInDown { animation-name: serena-fadeInDown; }
.serena-fx-anim--fadeInLeft { animation-name: serena-fadeInLeft; }
.serena-fx-anim--fadeInRight { animation-name: serena-fadeInRight; }
@keyframes serena-fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes serena-fadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes serena-fadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@keyframes serena-fadeInLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes serena-fadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.serena-fx-pending { visibility: visible; }
	.serena-fx-anim { animation: none; }
}

/* ---- hover animations of Elementor (hover.css): float (the pills of the cards), wobble-top (the rows of the impact list) ---- */
.serena-hov-float {
	transition-duration: 0.3s;
	transition-property: transform;
	transition-timing-function: ease-out;
}
.serena-hov-float:hover,
.serena-hov-float:focus,
.serena-hov-float:active {
	transform: translateY(-8px);
}
/* 7489 (Gate R, under the band `.serena-lk-em-prod`, the only one with this pill): Elementor puts `elementor-animation-float` on the BUTTON (the <a>), not on its widget box, so it is the link that rises (-8 px) on hover AND on
   focus (the box is never focused) and that carries the transition `transform 0.3s ease-out` alone (the colour of hover/focus snaps, it is not animated).
   Here the class sits on the box of the `serena/cta-button`: on this page the box stays still and the link takes the animation. Other pages are out of reach (band class). */
.serena-lk-em-prod .serena-cta.serena-hov-float,
.serena-lk-em-prod .serena-cta.serena-hov-float:hover,
.serena-lk-em-prod .serena-cta.serena-hov-float:focus,
.serena-lk-em-prod .serena-cta.serena-hov-float:active {
	transform: none;
	transition: none;
}
.serena-lk-em-prod .serena-cta.serena-hov-float .serena-cta__link {
	transition: transform 0.3s ease-out;
}
.serena-lk-em-prod .serena-cta.serena-hov-float .serena-cta__link:hover,
.serena-lk-em-prod .serena-cta.serena-hov-float .serena-cta__link:focus,
.serena-lk-em-prod .serena-cta.serena-hov-float .serena-cta__link:active {
	transform: translateY(-8px);
}
@keyframes serena-wobble-top {
	16.65% { transform: skew(-12deg); }
	33.3% { transform: skew(10deg); }
	49.95% { transform: skew(-6deg); }
	66.6% { transform: skew(4deg); }
	83.25% { transform: skew(-2deg); }
	100% { transform: skew(0); }
}
.serena-hov-wobble-top {
	transform-origin: 0 100%;
}
.serena-hov-wobble-top:hover,
.serena-hov-wobble-top:focus,
.serena-hov-wobble-top:active {
	animation-name: serena-wobble-top;
	animation-duration: 1s;
	animation-timing-function: ease-in-out;
	animation-iteration-count: 1;
}

/* ---- serena/icon, the four decorative shapes: the SVG is `size` px high and wide (Elementor's `.elementor-icon svg { height: <size>px }` on a 1em box), per breakpoint ---- */
.serena-icon--shape {
	--serena-icon-s: var(--serena-icon-size, 16px);
}
@media (max-width: 1366px) {
	.serena-icon--shape { --serena-icon-s: var(--serena-icon-size-l, var(--serena-icon-size, 16px)); }
}
@media (max-width: 1024px) {
	.serena-icon--shape { --serena-icon-s: var(--serena-icon-size-t, var(--serena-icon-size-l, var(--serena-icon-size, 16px))); }
}
@media (max-width: 767px) {
	.serena-icon--shape { --serena-icon-s: var(--serena-icon-size-m, var(--serena-icon-size-t, var(--serena-icon-size-l, var(--serena-icon-size, 16px)))); }
}
.serena-icon--shape .serena-icon__wrap {
	font-size: var(--serena-icon-s);
	text-align: center;
}
.serena-icon--shape .serena-icon__svg {
	width: 1em;
	height: 1em;
	fill: none;
}
.serena-icon--shape {
	opacity: var(--serena-icon-opacity, 1);
	pointer-events: none; /* decorative: a shape's box (as wide as its column) must never swallow the click meant for the pill under it */
}

/* ======================================================================== */
/* 1 · hero (7489) and the «gracias» header (7654): 70vh, 191° gradient, a 1300 px box, the wave under it  */
/* ======================================================================== */
.serena-lk-em-hero,
.serena-lk-em-thanks {
	--serena-band-w: 1300px;
	--serena-band-pad: 70px 0 0; /* the 70 px the page document was padded by under the header; the band's own 80 / 70 are the generated tokens */
	box-sizing: border-box;
	min-height: 70vh;
	display: flex;
	flex-direction: column;
}
@media (min-width: 1025px) {
	.serena-band.serena-lk-em-hero,
	.serena-band.serena-lk-em-thanks {
		margin-top: -70px;
	}
}
.serena-lk-em-hero > .serena-band__inner,
.serena-lk-em-thanks > .serena-band__inner {
	flex: 1 1 auto;
	align-items: center;
	align-content: center;
}
/* the hero text cell and the form cell: a flex row centred on each other, 10 px apart */
.serena-lk-em-hero .wp-block-columns {
	flex-wrap: nowrap;
	gap: 10px;
	align-items: center !important;
	margin: 0;
}
.serena-lk-em-hero .wp-block-column {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-shrink: 1;
	min-width: 0;
}
.serena-lk-em-hero .wp-block-column:first-child {
	justify-content: center;
	padding: 0 40px 5px 0;
}
.serena-lk-em-hero .wp-block-column:first-child > * {
	width: 100%;
	box-sizing: border-box;
}
@media (min-width: 1025px) {
	.serena-lk-em-hero .wp-block-column:first-child > h2,
	.serena-lk-em-hero .wp-block-column:first-child > .serena-esp-center-t:not(h2) {
		text-align: left;
	}
}
.serena-lk-em-hero .wp-block-column:last-child {
	padding: 0 0 0 30px;
}
.serena-lk-em-hero h1.h5,
.serena-lk-em-thanks h1.h5 {
	text-align: center;
	width: auto;
	align-self: flex-start;
}
/* the title (a div / h2 with a 55 px line, a text shadow in the sheet's .text-shadow) */
.serena-lk-em-hero .wp-block-column:first-child > h2 {
	margin-left: 0;
}
/* the rating row: «Excelente 4.8» + the five stars on one line, the note under them; Elementor's flex container (700 px, 10 px of padding, 20 px between) */
.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: 20px;
	max-width: 700px;
	padding: 10px;
	box-sizing: border-box;
}
.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > * {
	width: auto;
	margin: 0 !important;
}
.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > :last-child {
	flex: 0 0 100%;
	font-family: Nunito, sans-serif;
}
.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > .serena-esp-span {
	font-family: Nunito, sans-serif;
	font-size: 17px;
	font-weight: 700;
	line-height: 30px;
	/* Round 34: Elementor's heading widget is a 26 px box (its glyphs in a 30 px inline line that overflows it); with the stars still closed (cold) the row is 4 px taller if this box is 30 */
	height: 26px;
}
/* the card with the form: white, 20 px radius, the peach shadow, 615 px */
.serena-lk-em-hero .wp-block-column:last-child > .wp-block-group {
	background: #fff;
	border-radius: 20px;
	box-shadow: -7px 15px 15px 0 rgba(255, 148, 114, 0.19);
	overflow: hidden;
	box-sizing: border-box;
	width: 100%;
}
.serena-lk-em-hero .wp-block-column:last-child > .wp-block-group > .wp-block-group__inner-container > .wp-block-group {
	margin: 0;
}

/* the hero and the «gracias» cell of 7654: a 50 % column, centred, its content centred */
.serena-lk-em-thanks > .serena-band__inner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 10px;
}
.serena-lk-em-thanks > .serena-band__inner > .wp-block-group {
	position: relative;
	box-sizing: border-box;
	width: 50%;
	flex: 0 1 auto;
	margin: 0;
}
.serena-lk-em-thanks > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
}
.serena-lk-em-thanks > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > * {
	width: 100%;
	box-sizing: border-box;
}
.serena-lk-em-thanks > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .serena-icon {
	width: auto;
}
.serena-lk-em-thanks .wp-block-group > .wp-block-group__inner-container > h2,
.serena-lk-em-thanks .wp-block-group > .wp-block-group__inner-container > div:not(.serena-icon) {
	text-align: center;
}
.serena-lk-em-thanks .wp-block-group > .wp-block-group__inner-container > div:not(.serena-icon):not(.serena-esp-center-t) {
	text-align: left;
}
@media (max-width: 1024px) {
	/* tablet: the hero wraps and its cell takes the whole box (Elementor: `--flex-wrap: wrap`, `--width: 100%`); 7489: the two cells are stacked, the form under the text */
	.serena-lk-em-thanks > .serena-band__inner {
		flex-wrap: wrap;
	}
	.serena-lk-em-thanks > .serena-band__inner > .wp-block-group {
		width: 100%;
	}
	.serena-lk-em-hero .wp-block-columns {
		flex-wrap: wrap !important;
		gap: 10px;
	}
	.serena-lk-em-hero .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
	.serena-lk-em-hero .wp-block-column:first-child {
		align-items: center;
		padding: 0 40px 0 0;
	}
	.serena-lk-em-hero .wp-block-column:first-child > * {
		width: auto;
		max-width: 100%;
	}
	.serena-lk-em-hero .wp-block-column:first-child > h1.h5 {
		align-self: center;
	}
	.serena-lk-em-hero .wp-block-column:last-child {
		margin: 0 0 0 3%; /* the laptop's margin (3 % of the box) is still in force on a tablet: Elementor's tablet value is empty */
		padding: 0;
	}
}

/* ======================================================================== */
/* 8 · «Logos» (7489 and 7654): 900 px, the line of the press logos         */
/* ======================================================================== */
.serena-lk-em-logos {
	--serena-band-w: 900px;
	--serena-band-pad: 0;
}
.serena-lk-em-logos .serena-media-carousel {
	margin: 0;
	padding: 0;
}
/* Elementor's Swiper breakpoints of this carousel: 2 slides per view up to 766, 4 from 767 to 1023, 3 from 1024 to 1365, 6 from 1366 (as the landings' one) */
@media (min-width: 767px) and (max-width: 1023px) {
	.serena-lk-em-logos .serena-carousel {
		--pv: 4;
	}
}
@media (min-width: 1024px) and (max-width: 1365px) {
	.serena-lk-em-logos .serena-carousel {
		--pv: 3;
	}
}
/* the phase of the logo tile (see the landings' one: Elementor painted a background, Chrome places its tile one pixel off an <img> at some widths) */
.serena-lk-em-logos .serena-carousel__img {
	position: relative;
	left: 0.3px;
}
.serena-lk-em-logos .serena-carousel__arrow {
	color: #ffbc02;
}
.serena-lk-em-logos .serena-carousel__arrow svg {
	fill: #ffbc02;
}
@media (max-width: 767px) {
	.serena-lk-em-logos .serena-media-carousel {
		margin-top: 0 !important;
	}
}
.serena-lk-em-logos > .serena-band__inner > .serena-esp-span {
	font-family: Nunito, sans-serif;
	font-weight: 400;
	color: #4f4f4f;
}
/* the kicker «Es posible que nos hayas visto en»: Elementor's inline 16 px span sits in a 26 px line with the glyphs 1 px lower (as in the landings' logos band) */
.serena-lk-em-logos > .serena-band__inner > .serena-esp-span {
	position: relative;
	top: 1px;
}

/* the kicker «EMPRESAS» is as wide as its text and sits at the start of the cell (Elementor: `align-self: flex-start`, its text centred in that box) */
.serena-lk-em-hero .wp-block-column:first-child > h1.h5 {
	width: auto;
	align-self: flex-start;
}

/* ======================================================================== */
/* 2 · «¿Porque es tan importante…?»: white, 1200 px, a kicker, a title, four icon boxes in a row (two per row on a tablet, one on a phone), a pill  */
/* ======================================================================== */
.serena-lk-em-why {
	--serena-band-w: 1200px;
	--serena-band-pad: 0 0 5px;
}
.serena-lk-em-why > .serena-band__inner > .wp-block-columns,
.serena-lk-em-why .serena-esp-gap10 .wp-block-columns {
	flex-wrap: nowrap;
	margin: 0;
	align-items: flex-start !important;
}
@media (min-width: 1025px) {
	.serena-lk-em-why .serena-esp-gap10 .wp-block-columns > .wp-block-column {
		flex: 0 0 25% !important;
	}
}
@media (max-width: 1024px) and (min-width: 768px) {
	.serena-lk-em-why .serena-esp-gap10 .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.serena-lk-em-why .serena-esp-gap10 .wp-block-columns > .wp-block-column {
		flex: 0 0 50% !important;
		margin-bottom: 20px;
		padding: 0;
	}
}
@media (max-width: 767px) {
	.serena-lk-em-why .serena-esp-gap10 .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.serena-lk-em-why .serena-esp-gap10 .wp-block-columns > .wp-block-column {
		flex: 0 0 100% !important;
		margin-bottom: 20px;
		padding: 0;
	}
}

/* the icon boxes (serena-ib): an icon (one of the four shapes), a title and a text */
.serena-ib {
	box-sizing: border-box;
}
.serena-ib > .wp-block-group__inner-container > .serena-ib__icon {
	margin: 0;
}
.serena-ib .serena-ib__icon .serena-icon__wrap {
	display: block;
}
.serena-ib .serena-ib__title {
	margin: 0 0 15px;
	padding: 0;
}
.serena-ib .serena-ib__text {
	margin: 0;
	padding: 0;
}
.serena-ib--top {
	text-align: center;
}
.serena-ib--top .serena-ib__icon .serena-icon__svg {
	margin: 0 auto;
}
.serena-ib--top .serena-ib__text {
	font-family: Nunito, sans-serif;
}
@media (max-width: 1366px) {
	.serena-ib--top .serena-ib__title {
		margin-bottom: 10px;
	}
}
/* the rows of the impact list: the icon at the left (40 px), 20 px, the title over the text */
.serena-ib--side > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 40px 1fr;
	column-gap: 20px;
	align-items: start;
}
.serena-ib--side .serena-ib__icon {
	grid-row: 1 / span 2;
	grid-column: 1;
}
.serena-ib--side .serena-ib__title {
	grid-column: 2;
	margin: 0;
}
.serena-ib--side .serena-ib__text {
	grid-column: 2;
}
@media (max-width: 767px) {
	.serena-ib--side > .wp-block-group__inner-container {
		display: block;
	}
	.serena-ib--side .serena-ib__title {
		margin: 0 0 5px;
	}
}

/* ======================================================================== */
/* 4 · «Productos Serena»: white, 1050 px, two teal cards over their own photo + two floating pictures and three shapes  */
/* ======================================================================== */
.serena-lk-em-prod {
	--serena-band-w: 1050px;
	--serena-band-pad: 0 0 5px;
	overflow: hidden;
}
.serena-lk-em-prod > .serena-band__inner > .wp-block-group {
	position: relative;
	box-sizing: border-box;
}
@media (min-width: 1025px) {
	.serena-lk-em-prod > .serena-band__inner > .wp-block-group {
		padding: 10px;
	}
}
.serena-lk-em-prod > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	flex-direction: row;
	column-gap: 25px;
	align-items: stretch;
}
@media (max-width: 1024px) {
	.serena-lk-em-prod > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container {
		flex-direction: column;
		row-gap: 25px;
	}
}
/* the photos: Elementor's derivative of the picture (218 x 380 centre crop, `elementor/thumbs`), round (500 px of radius), floating */
.serena-lk-em-prod .wp-block-group.serena-po-d-a-en150-sn100-z0,
.serena-lk-em-prod .wp-block-group.serena-po-d-a-sn145-en52-z0 {
	width: 218px;
}
.serena-lk-em-prod .wp-block-image,
.serena-lk-em-prod .wp-block-image img {
	display: block;
	margin: 0;
}
.serena-lk-em-prod .wp-block-group[class*="serena-po-"] .wp-block-image img {
	border-radius: 500px;
	width: 218px;
	height: 380px;
	max-width: none;
	object-fit: cover;
}
@media (max-width: 1024px) {
	.serena-lk-em-prod .wp-block-group[class*="serena-po-"] {
		width: auto;
	}
	.serena-lk-em-prod .wp-block-group[class*="serena-po-"] .wp-block-image img {
		width: auto;
		height: 300px;
	}
}
/* Gate W point 1: from 768 to 1024 px production keeps the widget's 218 px width and only drops the height to 300 px, with `object-fit: fill`:
   the 218 x 380 photo prints squashed and the woman starts at x 717 (not 762.9) at 900. A visible defect of production, copied as it is. */
@media (min-width: 768px) and (max-width: 1024px) {
	.serena-lk-em-prod .wp-block-group[class*="serena-po-"] .wp-block-image img {
		width: 218px;
		object-fit: fill;
	}
}
@media (max-width: 767px) {
	.serena-lk-em-prod .wp-block-group[class*="serena-po-"] {
		width: auto;
	}
	.serena-lk-em-prod .wp-block-group[class*="serena-po-"] .wp-block-image img {
		width: auto;
		height: 130px;
	}
	.serena-lk-em-prod .wp-block-group.serena-po-m-a-en24-sn51-z0,
	.serena-lk-em-prod .wp-block-group.serena-po-m-a-sn52-e66-z0 {
		z-index: 2;
	}
}
/* the shapes inside the cards' container: as wide as their size; the big one under the band (a child of the column, as wide as it) is centred in a box as wide as the column */
.serena-lk-em-prod .wp-block-group__inner-container > .serena-icon {
	width: auto;
}
.serena-lk-em-prod > .serena-band__inner > .serena-icon {
	width: 100%;
	text-align: center;
}
/* the two cards */
.serena-lk-em-prod > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .wp-block-group:not([class*="serena-po-"]) {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	flex: 1 1 0;
	min-width: 0;
	border-radius: 20px;
	box-shadow: 0 0 50px 10px rgba(0, 0, 0, 0.1);
	/* Gate R: the texture sits at `0 0 / cover` — Elementor sets no position on this background (computed 0% 0%), so the 240deg gradient over it (::before, 80 %) shows the same crop of the picture. `center` moved it by the card's overflow */
	background: url("/wp-content/uploads/2024/05/bg-effect.webp") 0 0 / cover;
	overflow: visible;
}
.serena-lk-em-prod > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .wp-block-group:not([class*="serena-po-"])::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background-image: linear-gradient(240deg, #5ac4c4 0%, #00b4b4 100%);
	opacity: 0.8;
	pointer-events: none;
}
.serena-lk-em-prod > .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .wp-block-group:not([class*="serena-po-"]) > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.serena-lk-em-prod .wp-block-group:not([class*="serena-po-"]) > .wp-block-group__inner-container > h3 {
	text-align: center;
}
@media (max-width: 767px) {
	/* the widget's `align_mobile`: «Terapia Online» / «Talleres y Programas» are left aligned in the teal cards from the phone breakpoint (centred above it) */
	.serena-lk-em-prod .wp-block-group:not([class*="serena-po-"]) > .wp-block-group__inner-container > h3 {
		text-align: left;
	}
}
.serena-lk-em-prod .wp-block-group:not([class*="serena-po-"]) > .wp-block-group__inner-container > p {
	margin-top: 0;
	margin-bottom: 0;
	font-family: "Open Sans", sans-serif;
	text-align: left;
}
.serena-lk-em-prod .wp-block-group:not([class*="serena-po-"]) > .wp-block-group__inner-container > .serena-cta {
	position: absolute;
	width: auto;
}

/* ======================================================================== */
/* 5 · «Conoce el impacto»: #FAFAFA, 1050 px, the text at the left and the laptop picture at the right (stacked on a tablet) */
/* ======================================================================== */
.serena-lk-em-impact {
	--serena-band-w: 1050px;
	--serena-band-pad: 0;
	box-sizing: border-box;
	background: #fafafa;
}
.serena-lk-em-impact .wp-block-columns {
	flex-wrap: nowrap;
	margin: 0;
	gap: 20px;
	align-items: center !important;
}
.serena-lk-em-impact .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}
.serena-lk-em-impact .wp-block-column {
	box-sizing: border-box;
	padding: 10px;
	flex: 1 1 0 !important;
}
.serena-lk-em-impact .wp-block-column > .serena-cta,
.serena-lk-em-impact .wp-block-column > .wp-block-group {
	width: auto;
}
.serena-lk-em-impact .wp-block-image,
.serena-lk-em-impact .wp-block-image img {
	margin: 0;
	display: block;
}
.serena-lk-em-impact .wp-block-column > .wp-block-group {
	width: fit-content;
	max-width: 100%;
}
.serena-lk-em-impact .wp-block-column > .wp-block-group img {
	width: auto;
	max-width: 100%;
	height: auto;
}
@media (max-width: 1024px) {
	.serena-lk-em-impact .wp-block-columns {
		flex-direction: column-reverse;
		flex-wrap: nowrap !important;
		gap: 20px;
	}
	.serena-lk-em-impact .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
		align-items: center;
	}
	.serena-lk-em-impact .wp-block-columns > .wp-block-column:last-child {
		align-items: flex-start;
	}
	.serena-lk-em-impact .wp-block-column > .wp-block-group img {
		margin: 0 auto;
	}
	.serena-lk-em-impact .wp-block-column > .wp-block-group img {
		max-width: 60%;
	}
}
@media (max-width: 767px) {
	.serena-lk-em-impact .wp-block-column > .wp-block-group img {
		max-width: 100%;
	}
}

/* ======================================================================== */
/* 6 · «El impacto de la salud mental»: 80vh, the team photo at the left (cover, right), the list at the right (70 % on a laptop, stacked on a tablet) */
/* ======================================================================== */
.serena-lk-em-stats {
	--serena-band-w: 100%;
	--serena-band-pad: 0;
	box-sizing: border-box;
	min-height: 80vh;
	display: flex;
}
.serena-lk-em-stats > .serena-band__inner {
	max-width: none;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	align-content: stretch;
}
.serena-lk-em-stats .wp-block-columns {
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
	align-items: stretch !important;
}
.serena-lk-em-stats .wp-block-column {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.serena-lk-em-stats .wp-block-column:first-child {
	flex-basis: 50% !important;
	background: url("/wp-content/uploads/2024/04/Equipo_comprimida-scaled.jpg") center right / cover no-repeat;
}
.serena-lk-em-stats .wp-block-column:last-child {
	flex-basis: 50% !important;
	justify-content: center;
	padding: 50px 90px 50px 70px;
}
.serena-lk-em-stats .wp-block-column:last-child > * {
	width: 100%;
}
.serena-lk-em-stats .wp-block-column:last-child > h2.h5 {
	margin-bottom: 10px;
	line-height: 22.2px;
}

@media (max-width: 1366px) {
	.serena-lk-em-stats .wp-block-column:first-child {
		flex: 0 1 50% !important;
		padding: 10px;
	}
	.serena-lk-em-stats .wp-block-column:last-child {
		flex: 0 1 70% !important;
		padding: 50px 30px;
	}
}
@media (max-width: 1024px) {
	.serena-lk-em-stats {
		display: block;
	}
	.serena-lk-em-stats .wp-block-columns {
		flex-wrap: nowrap !important;
		flex-direction: column;
	}
	.serena-lk-em-stats .wp-block-columns > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}
	.serena-lk-em-stats .wp-block-column:first-child {
		min-height: 288px;
	}
	.serena-lk-em-stats .wp-block-column:last-child {
		padding: 50px 40px;
	}
}
@media (max-width: 767px) {
	.serena-lk-em-stats .wp-block-column:first-child {
		min-height: 150px;
	}
	.serena-lk-em-stats .wp-block-column:last-child {
		padding: 50px 30px;
	}
}

/* the kicker of «¿Porque es tan importante…?» is Bridge's `.h6` div: a 44 px line on a desktop (the widget's tablet / phone lines are the generated tokens) */
@media (min-width: 1367px) {
	.serena-lk-em-why h3.h6 {
		line-height: 44px;
	}
}

/* «Excelente 4.8»: the glyphs sit 1 px higher in the 30 px line of Elementor's inline span than in this block */
.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > .serena-esp-span {
	position: relative;
	top: -1px;
}
@media (max-width: 1024px) {
	.serena-lk-em-hero .wp-block-column:first-child > h1.h5 {
		align-self: center;
	}
	.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container {
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
		justify-content: flex-start;
		align-items: center; /* Round 34: Elementor centres the cold 10 px stars (and the 26 px heading) in the row at the tablet too */
	}
	.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > .serena-bridge-progress-icons {
		align-self: center;
	}
}

/* laptop: the form cell is 45 % wide, 3 % of the box from the text cell, 10 px of padding at its left */
@media (min-width: 1025px) and (max-width: 1366px) {
	.serena-lk-em-hero .wp-block-columns > .wp-block-column:first-child {
		padding: 0 40px 0 0;
	}
	.serena-lk-em-hero .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 45% !important;
		margin-left: 3%;
		padding: 0 0 0 10px;
	}
}
@media (max-width: 767px) {
	.serena-lk-em-hero .wp-block-column:last-child {
		margin: 0;
		padding: 20px 20px 30px 20px;
	}
	.serena-lk-em-hero .wp-block-column:first-child {
		padding: 0 25px;
		margin-top: 20px;
	}
}
@media (max-width: 1366px) {
	.serena-lk-em-why .serena-esp-gap10 .wp-block-columns > .wp-block-column {
		padding: 0;
	}
}
/* the acceptance checkbox: Elementor printed a space (4.2 px of the 17 px label) between the box and its text; the native markup has none */
.serena-lk-em-hero .swbn-form--page .elementor-field-subgroup .elementor-field-option input {
	margin-right: 7.2px;
}
/* the hero form's placeholders (Gate O, #94): Elementor's ::placeholder is the field's own style (post-7489.css: #00B4B4, Nunito 600, 17 px; 15 px at the
   phone), the opacity .6 that of the form sheet; swbn-forms.css paints every placeholder Rubik 15 / 300 black. Scoped to the `empresas` form inside the hero band
   of 7489 (`.serena-lk-em-hero` + `data-swbn-form`): the landings (`.serena-lk-ld-form`) and the other forms are out of its reach. */
.serena-lk-em-hero .swbn-form--page[data-swbn-form="empresas"] .elementor-field-group .elementor-field-textual::placeholder {
	color: #00b4b4;
	font-family: Nunito, sans-serif;
	font-size: 17px;
	font-weight: 600;
}
@media (max-width: 767px) {
	.serena-lk-em-hero .swbn-form--page[data-swbn-form="empresas"] .elementor-field-group .elementor-field-textual::placeholder {
		font-size: 15px;
	}
}
/* «Condiciones de Uso»: Elementor printed the acceptance link #303030 (the kit's text colour), not the label's #4f4f4f the page forms inherit */
.serena-lk-em-hero .serena-form-block--page .swbn-form[data-swbn-form="empresas"] .elementor-field-subgroup a {
	color: #303030;
}
/* …and on hover both links («Condiciones de Uso», «Política de Privacidad») turned the theme's link-hover orange, text and (currentColor) border: Bridge's
   style_dynamic `a:hover, p a:hover { color: #ff7d53 }` (production, GET 2026-10-07), which the rule above outranks (Gate T, #94). Production has no
   `a:focus` colour (Bridge's stylesheet and style_dynamic print none): a focused link stays #303030, so no :focus here. */
.serena-lk-em-hero .serena-form-block--page .swbn-form[data-swbn-form="empresas"] .elementor-field-subgroup a:hover {
	color: #ff7d53;
}

@media (max-width: 1024px) {
	.serena-lk-em-hero .wp-block-column:first-child > .serena-esp-center-t:not(h2) {
		width: 100%;
	}
	.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > .serena-esp-span {
		top: -1px; /* Round 34: centred in the row, the glyphs are 2 px lower than at its top */
	}
}
@media (max-width: 767px) {
	/* phone: the rating row is the 340 px of the cell, «Excelente 4.8» and the stars centred on one line (15 px apart), the note under them */
	.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container {
		max-width: none;
		margin: 0;
		padding: 0;
		justify-content: center;
		column-gap: 15px;
		align-items: center;
	}
	.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > .serena-esp-span {
		margin: -10px 0 0 !important;
		top: -1px;
		align-self: center;
	}
	.serena-lk-em-hero .wp-block-column:first-child > .wp-block-group > .wp-block-group__inner-container > .serena-bridge-progress-icons {
		align-self: center;
	}
}

@media (max-width: 767px) {
	.serena-lk-em-impact .wp-block-columns > .wp-block-column {
		padding: 0;
	}
}
@media (max-width: 767px) {
	.serena-lk-em-impact .wp-block-columns > .wp-block-column:first-child {
		margin-top: 20px;
	}
}
@media (max-width: 600px) {
	/* Round 34: the kicker «EL IMPACTO DE LA SALUD MENTAL» is ONE line at every width (297.5 px wide) in Elementor too. What it has below 601 px is Bridge's own `h2 { line-height: 44px }`
	   (responsive.css, `@media (max-width: 600px)`, which beats the widget's 1.38462em): a 44 px box, the glyphs centred in it. The sheet had 22.2 px at every width and forced 44 px only up to 400
	   (it had read the 44 px as a second line and the 400 px as the width where it wraps: between 405 and 600 the band was 21.8 px short). */
	.serena-lk-em-stats .wp-block-column:last-child > h2.h5 {
		line-height: 44px;
	}
}

/* the header's floating shapes have a negative z-index in Elementor (the arch of 7654 sits UNDER the wave and the translucent gradient): the band's inner box must not be a stacking context of its own for them to get there */
.serena-lk-em-thanks > .serena-band__inner,
.serena-lk-em-hero > .serena-band__inner {
	z-index: auto;
}

/* ------------------------------------------ looks (F4-L4c): the twin landings 7292 / 7315, WHOLE bands */
/* `sl4c_band_looks()` gives a top-level band one of these classes when the fingerprint of its WHOLE tree (every uncarried setting of every element,
   in order) is the one measured here; what is inside is then styled by descendant selectors. Every number is the one Elementor printed for the page
   (post-7292.css, local «before» 2026-10-04) — the matrix of the subset (docs/serena-blocks.md «L4c looks — landings») checks them at 1440 / 1366 / 390.
   Desktop > 1366 px; laptop <= 1366; tablet <= 1024; phone <= 767. */

/* 1 · hero («Header»): the band of the «gracias» pages (class serena-lk-thanks-band: 83vh, 191° gradient, two cells) + the wave under it */
.serena-lk-ld-hero .wp-block-column:first-child {
	padding: 0 50px 0 30px;
}
.serena-lk-ld-hero h1 {
	box-sizing: border-box;
	align-self: flex-start;
	width: 100%;
	font-family: Nunito, sans-serif;
	font-size: 45px;
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 0;
	text-align: left;
}
.serena-lk-ld-hero h2.p {
	font-family: Nunito, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
	letter-spacing: 0;
	color: #4f4f4f;
	text-align: left;
}
.serena-lk-ld-hero .wp-block-column:last-child .wp-block-group {
	width: 100%;
	max-width: 420px;
	margin: 0 auto !important;
}
.serena-lk-ld-hero .wp-block-image,
.serena-lk-ld-hero .wp-block-image a {
	display: block;
	margin: 0;
}
.serena-lk-ld-hero .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 1366px) {
	.serena-lk-ld-hero .wp-block-column:last-child .wp-block-group {
		max-width: 397.5px;
		margin: 0 !important;
	}
}
@media (max-width: 1024px) {
	.serena-lk-ld-hero .wp-block-column:first-child {
		padding: 0 40px 0 0;
	}
	.serena-lk-ld-hero h1 {
		font-size: 37px;
		line-height: 1.1em;
	}
	.serena-lk-ld-hero h2.p {
		font-size: 20px;
		line-height: 1.4em;
	}
	.serena-lk-ld-hero .wp-block-columns > .wp-block-column:first-child {
		flex-basis: 60% !important;
	}
	.serena-lk-ld-hero .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 40% !important;
	}
	.serena-lk-ld-hero .wp-block-column:last-child .wp-block-group {
		max-width: 100%;
		margin: 0 0 0 10px !important;
	}
}
/* tablet only (768-1024): Elementor's 10 px row gap of the text column sits on top of the widgets' own 5 px margin (0 on a phone); the tablet
   token `--serena-rm-t` of the two headings carries only the 5 px, so the 15 px of the desktop value is restated here (!important as the token is) */
@media (max-width: 1024px) and (min-width: 768px) {
	.serena-lk-ld-hero h1,
	.serena-lk-ld-hero h2.p {
		margin-bottom: 15px !important;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-hero .wp-block-column:first-child {
		padding: 0 25px 20px;
	}
	.serena-lk-ld-hero .wp-block-columns > .wp-block-column:first-child,
	.serena-lk-ld-hero .wp-block-columns > .wp-block-column:last-child {
		flex-basis: auto !important;
	}
	.serena-lk-ld-hero .wp-block-columns > .wp-block-column:last-child {
		margin-bottom: 20px;
	}
	.serena-lk-ld-hero h1 {
		width: auto;
		font-size: 24px;
		line-height: 1.2em;
		text-align: center;
	}
	.serena-lk-ld-hero h2.p {
		font-size: 17px;
		line-height: 1.2em;
		text-align: center;
	}
	.serena-lk-ld-hero .wp-block-column:last-child .wp-block-group {
		max-width: 397.5px;
		margin: 0 !important;
	}
	.serena-lk-ld-hero .wp-block-column:last-child .wp-block-image {
		width: 60%;
		margin: 0 auto;
	}
}

/* the «waves» shape divider under the header (bottom, not negative, flipped: net effect = the picture mirrored top to bottom), white, 112 % wide and 111 px high
   (125 % / 52 px on a tablet, 120 % / 49 px on a phone). The content sits above it (the band's inner box has its own z-index). */
.serena-lk-ld-hero::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 111px;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: calc(112% + 1.3px) 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z'/%3E%3C/svg%3E");
	transform: scaleY(-1);
}
@media (max-width: 1024px) {
	.serena-lk-ld-hero::after {
		height: 52px;
		background-size: calc(125% + 1.3px) 100%;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-hero::after {
		height: 49px;
		background-size: calc(120% + 1.3px) 100%;
		/* Elementor's shape (an svg with a 3D `rotateY(180deg)`) was a compositor layer, and so were the sections painted over it: their text was
		   anti-aliased in grey, not in LCD. A 3D transform here gives the page the same layering on a phone (measured at 390: pixels differing by
		   more than 1 level 4.96 % -> 0.15 %); it changes nothing of the geometry. */
		transform: scaleY(-1) translateZ(0);
	}
}

/* the page's own custom CSS (`_elementor_page_settings.custom_css`, the same on both landings): `.qbutton.big_large { padding: .5rem 3.5rem }` */
.serena-lk-ld-hero .qbutton.big_large,
.serena-lk-ld-intro .qbutton.big_large {
	padding: 0.5rem 3.5rem;
}
.serena-lk-ld-hero h1 {
	color: #ff9472;
}
/* the widget without the Elementor class `centered` sat on the left of its column */
.serena-lk-ld-hero .serena-bridge-button:not(.centered) {
	justify-content: flex-start;
}

/* 2 · «Descubre …»: white band, content 1492 px wide + the column's 10 px (0 / 20 / 40 on a phone) */
.serena-lk-ld-intro {
	--serena-band-w: 1492px;
	background-color: #fff;
}
.serena-lk-ld-intro h3.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-size: 25px;
	font-weight: 300;
	line-height: 1.2em;
	letter-spacing: 0.1px;
	text-transform: uppercase;
	color: #ff9472;
}
/* Elementor's icon box: icon 80 px, 15 px, the title on its bottom edge (Bridge floats them) */
.serena-lk-ld-intro .q_icon_with_title {
	display: flex;
	align-items: flex-end;
	gap: 15px;
}
.serena-lk-ld-intro .q_icon_with_title .icon_holder {
	float: none;
	flex: none;
	width: 80px;
	height: 80px;
}
.serena-lk-ld-intro .q_icon_with_title .icon_holder img {
	display: block;
	width: 80px;
	height: 80px;
}
.serena-lk-ld-intro .q_icon_with_title .icon_text_holder {
	flex: 1 1 auto;
	width: auto;
	padding: 0 !important;
}
.serena-lk-ld-intro .q_icon_with_title .icon_text_inner {
	padding: 0 !important;
}
.serena-lk-ld-intro .ico-title-swbn .icon_title {
	margin: 0 !important;
	font-family: Nunito, sans-serif;
	font-size: 40px;
	font-weight: 500 !important;
	line-height: 1.3846em;
	color: #4f4f4f !important;
}
@media (max-width: 767px) {
	.serena-lk-ld-intro .q_icon_with_title {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.serena-lk-ld-intro .q_icon_with_title .icon_text_holder {
		width: 100%;
	}
	.serena-lk-ld-intro {
		--serena-band-pad: 0 20px 40px;
	}
	.serena-lk-ld-intro h3.wp-block-heading {
		font-size: 20px;
	}
	/* Bridge's phone rule: 1.3846em (41.5 px) from 601 to 767 px, 44 px up to 600 */
	.serena-lk-ld-intro .ico-title-swbn .icon_title {
		font-size: 30px;
		line-height: 1.3846em;
	}
}
@media (max-width: 600px) {
	.serena-lk-ld-intro .ico-title-swbn .icon_title {
		line-height: 44px;
	}
}

.serena-lk-ld-intro .q_icon_with_title .icon_text_inner > p:empty {
	display: none;
}
/* the button of the intro: Elementor's container had a margin-left of -28 px and so was 28 px wider (a block); the wrapper is a fixed 100 % */
@media (min-width: 1025px) {
	.serena-lk-ld-intro .serena-bridge-button {
		flex: 0 0 calc(100% + 28px);
		width: calc(100% + 28px);
	}
}

/* 3 · «Contacto»: the form on a #FAFAFA box 900 px wide */
.serena-lk-ld-form {
	--serena-band-w: 900px;
	--serena-band-pad: 0;
	background-color: #fafafa;
}
.serena-lk-ld-form .h5 {
	color: #f3433c;
}
/* a heading widget with header_size `p` kept the browser's 16 px above and below INSIDE its box, at every width */
.serena-lk-ld-form p.serena-esp-center,
.serena-lk-ld-goal .wp-block-column > p {
	padding: 16px 0;
}
.serena-lk-ld-form p.serena-esp-center {
	font-size: 38px;
	line-height: 1.2em;
	color: #4f4f4f;
}
.serena-lk-ld-form .serena-esp-span:last-child {
	font-family: Nunito, sans-serif;
	font-size: 12px;
	/* the note under the form: Elementor's line was 12 px high, 9 px below the form and 5 px above the next band (a 26 px line put the glyphs 1 px higher) */
	line-height: 12px;
	margin: 9px 0 5px !important;
	font-weight: 400;
}
.serena-lk-ld-form .elementor-field-option a {
	color: #303030 !important;
}
@media (max-width: 1024px) {
	.serena-lk-ld-form p.serena-esp-center {
		font-size: 28px;
		line-height: 1.4em;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-form p.serena-esp-center {
		font-size: 22px;
		line-height: 1.4em;
	}
}

/* 4 · «Nuestro objetivo»: 45° peach gradient, full width, five 20 % columns inside a 1300 px section */
.serena-lk-ld-goal {
	--serena-band-w: none;
	--serena-band-pad: 0;
	background-image: linear-gradient(45deg, #ff94725c 0%, #e7e7e95c 100%);
}
/* an inline `span` heading sat on the baseline of the 26 px line of its widget: a block with that line height puts the text where it was */
.serena-lk-ld-goal > .serena-band__inner > .serena-esp-span {
	font-size: 16px;
	line-height: 26px;
	color: #ff9472;
}
.serena-lk-ld-goal h2.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.3846em;
	color: #ff9472;
}
.serena-lk-ld-goal .wp-block-columns {
	max-width: 1300px;
	margin-right: auto !important;
	margin-left: auto !important;
	gap: 0 !important;
}
.serena-lk-ld-goal .wp-block-column {
	box-sizing: border-box;
	padding: 10px;
}
.serena-lk-ld-goal h3.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2em;
	letter-spacing: -1px;
	color: #4f4f4f;
}
.serena-lk-ld-goal .wp-block-column > p {
	font-family: Nunito, sans-serif;
	font-weight: 400;
	color: #4f4f4f;
}
@media (max-width: 1366px) {
	.serena-lk-ld-goal h2.wp-block-heading {
		font-size: 38px;
	}
}
@media (max-width: 1024px) {
	.serena-lk-ld-goal h2.wp-block-heading {
		font-size: 28px;
		line-height: 1.4em;
	}
	.serena-lk-ld-goal h3.wp-block-heading {
		font-size: 20px;
		line-height: 1.2em;
	}
	.serena-lk-ld-goal .wp-block-column > p {
		line-height: 1.1em;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-goal h2.wp-block-heading {
		font-size: 22px;
	}
	.serena-lk-ld-goal h3.wp-block-heading {
		font-size: 24px;
		line-height: 1.4em;
	}
	.serena-lk-ld-goal .wp-block-columns {
		flex-direction: column;
	}
	.serena-lk-ld-goal .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
}

/* 5 · «Valoraciones»: #F6F6F6, content 1600 px + the column's 10 px (none on a phone), a white curve 92 px (29 px) under it */
.serena-lk-ld-reviews {
	--serena-band-w: 1600px;
	background-color: #f6f6f6;
}
.serena-lk-ld-reviews::after,
.serena-lk-ld-plans::before,
.serena-lk-ld-plans::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
}
.serena-lk-ld-reviews::after {
	bottom: -1px;
	height: 92px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M1000,4.3V0H0v4.3C0.9,23.1,126.7,99.2,500,100S1000,22.7,1000,4.3z'/%3E%3C/svg%3E");
	background-size: calc(106% + 1.3px) 100%;
	transform: rotate(180deg);
}
@media (max-width: 767px) {
	.serena-lk-ld-reviews {
		--serena-band-pad: 0;
	}
	.serena-lk-ld-reviews::after {
		height: 29px;
		background-size: calc(109% + 1.3px) 100%;
	}
}
/* the carousel sat in an inner section 1300 px wide (centred) whose column padded it 10 px — except on a phone, where the page's token pads it */
@media (min-width: 768px) {
	.serena-lk-ld-reviews .wp-block-group {
		box-sizing: border-box;
		max-width: 1300px;
		margin-right: auto;
		margin-left: auto;
		padding: 10px;
	}
}
.serena-lk-ld-reviews .h6,
.serena-lk-ld-how .h6 {
	color: #ff9472;
}
.serena-lk-ld-reviews h2.wp-block-heading,
.serena-lk-ld-how h2.wp-block-heading,
.serena-lk-ld-plans h2.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-weight: 500;
	color: #4f4f4f;
}
@media (max-width: 1024px) {
	.serena-lk-ld-reviews h2.wp-block-heading {
		font-size: 28px;
		line-height: 1.4em;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-reviews h2.wp-block-heading {
		font-size: 22px;
	}
}

/* 6 · «Cómo funciona»: white, 1200 px, four steps */
.serena-lk-ld-how {
	--serena-band-w: 1200px;
	--serena-band-pad: 0 0 5px;
	background-color: #fff;
}
.serena-lk-ld-how h2.wp-block-heading {
	font-size: 40px;
	line-height: 1.3846em;
}
@media (max-width: 1366px) {
	.serena-lk-ld-how h2.wp-block-heading {
		font-size: 38px;
	}
}
@media (max-width: 1024px) {
	.serena-lk-ld-how h2.wp-block-heading {
		font-size: 36px;
		line-height: 1.4em;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-how {
		--serena-band-pad: 0;
	}
	.serena-lk-ld-how h2.wp-block-heading {
		font-size: 24px;
	}
}

/* 7 · «Bonos»: #FAFAFA with a 45° peach overlay (89 %), curves 20 px above and below, four white cards */
.serena-lk-ld-plans {
	--serena-band-w: 1300px;
	background-color: #fafafa;
	/* #FFBC0233 → #FF94724F at 89 % opacity (the overlay layer) */
	background-image: linear-gradient(-45deg, rgba(255, 188, 2, 0.178) 2%, rgba(255, 148, 114, 0.2757) 100%);
}
.serena-lk-ld-plans::before,
.serena-lk-ld-plans::after {
	height: 20px;
	background-size: calc(106% + 1.3px) 100%;
}
.serena-lk-ld-plans::before {
	top: -1px;
	transform: rotate(180deg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M500,97C126.7,96.3,0.8,19.8,0,0v100l1000,0V1C1000,19.4,873.3,97.8,500,97z'/%3E%3C/svg%3E");
}
.serena-lk-ld-plans::after {
	bottom: -1px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fafafa' d='M500,97C126.7,96.3,0.8,19.8,0,0v100l1000,0V1C1000,19.4,873.3,97.8,500,97z'/%3E%3C/svg%3E");
}
.serena-lk-ld-plans .h5 {
	color: #f3433c;
}
.serena-lk-ld-plans h2.wp-block-heading {
	font-size: 38px;
	line-height: 1.2em;
}
@media (max-width: 1024px) {
	.serena-lk-ld-plans h2.wp-block-heading {
		font-size: 28px;
		line-height: 1.4em;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-plans h2.wp-block-heading {
		font-size: 22px;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-plans::before {
		background-size: calc(160% + 1.3px) 100%;
	}
	.serena-lk-ld-plans::after {
		height: 40px;
		background-size: calc(160% + 1.3px) 100%;
	}
}
/* the four plan cards: a row of white 20 px-radius boxes (33 %, shrinking to fit) with a 15 px gap between their lines */
.serena-lk-ld-plans .wp-block-columns {
	flex-wrap: nowrap !important;
	gap: 30px !important;
	justify-content: flex-start;
}
.serena-lk-ld-plans .wp-block-column {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 0 1 33% !important;
	justify-content: center;
	gap: 15px;
	overflow: hidden;
	padding: 30px 20px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: -7px 15px 15px 0 rgba(115.23, 12.26, 119, 0.19);
}
.serena-lk-ld-plans .wp-block-column > div {
	margin: 0;
	font-family: Nunito, sans-serif;
	text-align: center;
	letter-spacing: 0;
}
.serena-lk-ld-plans .wp-block-column > div a {
	color: inherit;
}
.serena-lk-ld-plans .wp-block-column > div:nth-child(1) {
	align-self: center;
	text-align: start;
	font-size: 20px;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 0.5px;
	color: #b11972;
}
.serena-lk-ld-plans .wp-block-column > div:nth-child(2) {
	font-size: 15px;
	font-weight: 400;
	line-height: 15px;
	color: #4f4f4f;
}
.serena-lk-ld-plans .wp-block-column > div:nth-child(3) {
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
	color: #ff9472;
}
.serena-lk-ld-plans .wp-block-column > div:nth-child(3) sub {
	font-size: 25px;
	line-height: 25px;
}
.serena-lk-ld-plans .wp-block-column > div:nth-child(4) {
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #707070;
}
.serena-lk-ld-plans .wp-block-column > div b {
	font-weight: 700;
}
/* tablet (Elementor: <= 1024 px): two cards per row (47 %, space-between, 30 px between rows) */
@media (max-width: 1024px) {
	.serena-lk-ld-plans .wp-block-columns {
		flex-wrap: wrap !important;
		justify-content: space-between;
	}
	.serena-lk-ld-plans .wp-block-column {
		flex: 0 0 47% !important;
	}
}
@media (max-width: 767px) {
	.serena-lk-ld-plans .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.serena-lk-ld-plans .wp-block-column {
		flex: 0 0 100% !important;
		align-items: center;
		justify-content: space-between;
		padding: 20px;
		border-radius: 13px;
	}
}

/* 8 · «Logos»: 900 px, the line of the press logos */
.serena-lk-ld-logos {
	--serena-band-w: 900px;
	--serena-band-pad: 0;
}
.serena-lk-ld-logos .serena-media-carousel {
	padding: 0;
}
/* Elementor's Swiper breakpoints of this carousel (measured at 15 widths on the local «before», evidence/r3/spv-elementor-7292.json; the native read is
   spv-native-7292.json): 2 slides per view up to 766, 4 from 767 to 1023 (Elementor's mobile breakpoint is the Swiper's min-width of the tablet value, so
   767 itself already has 4), 3 from 1024 to 1365, 6 from 1366. */
@media (min-width: 767px) and (max-width: 1023px) {
	.serena-lk-ld-logos .serena-carousel {
		--pv: 4;
	}
}
@media (min-width: 1024px) and (max-width: 1365px) {
	.serena-lk-ld-logos .serena-carousel {
		--pv: 3;
	}
}
/* Elementor painted each logo as a 100x99 background centred in the slide, and Chrome places that tile at round(round(slide x) + offset); an <img> in a
   flex slide is placed at round(slide x + offset). With a fractional slide position (141.656 px slides + 10 px gap) the two differ by one pixel on some slides,
   and a logo one pixel to the side is 1 356 px of difference 255 (a hard edge). No CSS rounds a flex position, so the img is moved 0.3 px right, the phase
   that lands on the background's pixel at 1440, 1366, 1920, 1280, 1100, 1024, 900, 820, 390 and 360 (1 356 -> 0 px at 1440; evidence/r3/logos, cmp-logos.py).
   Residual, named: at 600, 767, 768, 1023 and 1365 one logo of the line (580 to 1 340 px) still sits one pixel off: the widths where the
   slide x has the other fractional phase. */
.serena-lk-ld-logos .serena-carousel__img {
	position: relative;
	left: 0.3px;
}
/* the arrows of this page's image carousel were the salmon #ff9472 (measured on the Elementor render), not the yellow of the other carousels */
.serena-lk-ld-logos .serena-carousel__arrow {
	color: #ff9472;
}
.serena-lk-ld-logos .serena-carousel__arrow svg {
	fill: #ff9472;
}
@media (max-width: 767px) {
	.serena-lk-ld-logos .serena-media-carousel {
		margin-top: 0 !important;
	}
}
.serena-lk-ld-logos > .serena-band__inner > .serena-esp-span {
	padding-left: 15px;
	font-family: Nunito, sans-serif;
	font-size: 16px;
	font-weight: 700;
	/* Elementor's line was 16 px high: its glyphs sit 1 px lower than in a 26 px line with the same box (margins 16 above, 4 below here = 10 + 5 + 1 and 0 + 5 - 1) */
	line-height: 16px;
	margin: 16px 0 4px !important;
	color: #4f4f4f;
}

/* the landing forms: Elementor's field style (post-7292.css 18f36f3): Nunito 17 / 600 in the accent colour */
.serena-lk-ld-form .swbn-form--page .elementor-field-group .elementor-field-textual {
	font-family: Nunito, sans-serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: #b11972 !important;
}
.serena-lk-ld-form .swbn-form--page .elementor-field-textual::placeholder {
	font-family: Nunito, sans-serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: #b11972 !important;
	opacity: 0.6 !important;
}

/* ------------------------------------------ looks (F4-L4c): the landing 5577 (terapia de pareja), WHOLE bands */
/* `sl4c_band_looks()` gives a top-level band of 5577 one of these classes when the fingerprint of its WHOLE tree is the measured one (the class
   `serena-lk-pp-*`: «pareja»); what is inside is styled by descendant selectors. Every number is the one Elementor printed for the page
   (post-5577.css, local «before» 2026-10-04) and the matrix of the subset (docs/serena-blocks.md «L4c looks — 5577») checks them at
   1440 / 1366 / 820 / 1024 / 390. Desktop > 1366 px; laptop <= 1366; tablet <= 1024; phone <= 767. */

/* 1 · hero («Header»): 123° gradient (#B11972 → #FF9472 at 90 %) with a blurred radial overlay at 42 %, the box 1100 px wide, two cells of 50 % that
   touch, and the «waves» divider (white, 50 px) over the content; pulled 70 px under the native header on desktop (as the «gracias» header). */
.serena-lk-pp-hero {
	--serena-band-w: 1100px;
	--serena-band-pad: 0;
	position: relative;
	box-sizing: border-box;
	background-image: linear-gradient(123deg, #b11972 0%, #ff9472 90%);
}
@media (min-width: 1025px) {
	.serena-band.serena-lk-pp-hero {
		margin-top: -70px;
	}
}
.serena-lk-pp-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(at bottom left, #ffbc02 21%, #ffffff8a 56%);
	opacity: 0.42;
	filter: blur(10px);
	clip-path: inset(0);
}
.serena-lk-pp-hero .serena-band__inner {
	position: relative;
}
/* the «GRATIS» sticker sits OVER the wave, as in Elementor: there the column (z-index 10) and the wave (z-index 2) share one stacking context; the
   band's inner box (`z-index: 1` in the base rule) would make one of its own and put the whole content, sticker included, under the wave (Gate S) */
.serena-lk-pp-hero > .serena-band__inner {
	z-index: auto;
}
.serena-lk-pp-hero .wp-block-columns {
	flex-wrap: nowrap;
	gap: 0;
	align-items: stretch;
	margin: 0;
}
.serena-lk-pp-hero .wp-block-column {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/* the picture is centred VERTICALLY in its cell, as Elementor's (its widget-wrap: `align-content: center` at every width; its `justify-content:
   flex-end` is the row's, horizontal). It only shows where the picture is shorter than the cell, 768 to ~815 px: bottom-aligned it sat up to 11 px
   lower (Gate S, point 5) */
.serena-lk-pp-hero .wp-block-column:last-child {
	position: relative;
	z-index: 10;
	justify-content: center;
	padding-bottom: 5px;
}
.serena-lk-pp-hero h1,
.serena-lk-pp-hero h2.p {
	text-align: left;
	color: #fff;
}
.serena-lk-pp-hero h1 {
	font-family: Nunito, sans-serif;
	font-size: 45px;
	font-weight: 600;
	line-height: 50px;
	letter-spacing: 0;
	text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}
.serena-lk-pp-hero h2.p {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5em;
	letter-spacing: 0;
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}
.serena-lk-pp-hero .serena-bridge-button:not(.centered) {
	justify-content: flex-start;
}
.serena-lk-pp-hero .wp-block-column:last-child .wp-block-image {
	display: block;
	margin: 0;
}
/* the link is only as wide as its picture, as Elementor's `inline-block` <a> (min(the file's width, the cell), the picture a share of it): a link as
   wide as the column made its empty sides a click to /areaprivada/ that production does not have (Gate U, point 1) */
.serena-lk-pp-hero .wp-block-column:last-child .wp-block-image a {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
}
.serena-lk-pp-hero .wp-block-column:last-child .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}
.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:first-child .wp-block-image img {
	max-width: 440px;
	margin: 0 auto;
}
/* the sticker: a widget taken out of the flow (`position: absolute; left: -106px; bottom: -63px`) 550 wide, its picture 390 centred */
.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:last-child {
	position: absolute;
	left: -106px;
	bottom: -63px;
	z-index: 1;
	width: 100%;
	text-align: center;
}
.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:last-child .wp-block-image img {
	width: auto;
	max-width: 390px;
	margin: 0 auto;
}
.serena-lk-pp-hero .qbutton.big_large {
	padding: 0.5rem 3.5rem;
}
.serena-lk-pp-hero::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 50px;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center;
	background-size: calc(100% + 1.3px) 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z'/%3E%3C/svg%3E");
	transform: rotate(180deg) translateZ(0);
}
@media (max-width: 1024px) {
	.serena-lk-pp-hero::after {
		height: 49px;
	}
	.serena-lk-pp-hero h1 {
		font-size: 37px;
		line-height: 1.1em;
	}
	.serena-lk-pp-hero h2.p {
		font-size: 20px;
		line-height: 1.4em;
	}
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:first-child .wp-block-image img {
		max-width: 100%;
	}
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:last-child {
		left: -85px;
		bottom: 32px;
	}
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:last-child .wp-block-image img {
		max-width: 185px;
	}
}
@media (max-width: 767px) {
	.serena-lk-pp-hero::after {
		height: 33px;
		background-size: calc(122% + 1.3px) 100%;
		transform: rotate(180deg) translateZ(0);
	}
	.serena-lk-pp-hero .wp-block-columns {
		flex-direction: column;
	}
	.serena-lk-pp-hero .wp-block-columns > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
		box-sizing: border-box;
	}
	.serena-lk-pp-hero .wp-block-columns > .wp-block-column:first-child {
		padding: 0 25px;
		margin-top: 10px;
	}
	.serena-lk-pp-hero .wp-block-columns > .wp-block-column:last-child {
		padding: 0 10px 0 10px;
	}
	.serena-lk-pp-hero h1 {
		font-size: 24px;
		line-height: 1.2em;
		text-align: center;
	}
	.serena-lk-pp-hero h2.p {
		font-size: 17px;
		line-height: 1.2em;
		text-align: center;
	}
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:first-child {
		padding-right: 10px;
		box-sizing: border-box;
	}
	/* Elementor's picture link is shrink-wrapped to the file (560 px wide): the picture is 60 % of min(560 px, the column), centred (336 px from 600 to 767, not 60 % of the whole column: 442 px at 767) */
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:first-child .wp-block-image {
		max-width: 560px;
		margin: 0 auto;
	}
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:first-child .wp-block-image img {
		max-width: 60%;
	}
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:last-child {
		left: 0;
		bottom: -30px;
		padding-right: 10px;
		box-sizing: border-box;
	}
	/* 60 % of its link (the 250 px file), as Elementor: 150 px either way, but a fixed cap would shrink the link to 150 (Gate U, point 1) */
	.serena-lk-pp-hero .wp-block-column:last-child > .wp-block-group:last-child .wp-block-image img {
		max-width: 60%;
	}
}

/* 2 · «Objetivo»: white band, the full width; kicker, 45 px title, five cells of 20 % (1300 px on a desktop, the section's 20 px padding on a tablet,
   stacked on a phone) with a 28 px heading and a 13 px capitalised line, and the CTA */
.serena-lk-pp-goal {
	--serena-band-w: 1440px;
	--serena-band-pad: 0;
	background-color: #fff;
}
.serena-lk-pp-goal .serena-esp-span {
	display: block;
	font-size: 16px;
	line-height: 26px;
	color: #e61d54;
}
.serena-lk-pp-goal h2.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-size: 45px;
	font-weight: 500;
	line-height: 62.3077px;
	color: #ff9472;
}
.serena-lk-pp-goal .wp-block-columns {
	flex-wrap: nowrap;
	gap: 0;
	max-width: 1300px;
	margin: 0 auto;
	align-items: flex-start;
}
.serena-lk-pp-goal .wp-block-column {
	box-sizing: border-box;
}
.serena-lk-pp-goal h3.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.2em;
	letter-spacing: -1px;
	color: #b11972;
}
.serena-lk-pp-goal .wp-block-column > p {
	box-sizing: border-box;
	padding: 0 35px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	line-height: 26px;
	text-transform: uppercase;
	color: #ec7162;
}
/* the CTA (367.7 px, one line) is wider than a 320-360 px screen: Elementor's link is an inline-block in a centred line, which overflows from its start
   edge (x = 0); a flex `center` overflowed both sides (x = -23.9 at 320). `safe` is `center` whenever the link fits (Gate U, point 5) */
.serena-lk-pp-goal .serena-bridge-button {
	justify-content: safe center;
}
/* Gate V point 4: the same for the hero's centred «PRUEBA GRATIS» (281.2 px in 270 at 320: x = 25, not 19.4) and «PRUEBA GRATIS 30 MINS» of the steps
   (x = 30, the box's start, at 320 and 340; not 13.3 / 23.3) */
.serena-lk-pp-hero .serena-bridge-button.centered,
.serena-lk-pp-how .serena-bridge-button {
	justify-content: safe center;
}
@media (max-width: 1024px) {
	.serena-lk-pp-goal h2.wp-block-heading {
		font-size: 28px;
		line-height: 1.4em;
	}
	.serena-lk-pp-goal .wp-block-column {
		padding: 0 5px;
	}
	.serena-lk-pp-goal h3.wp-block-heading {
		font-size: 19px;
	}
	/* the one cell whose heading set its own tablet letter spacing (-1.2 px) */
	.serena-lk-pp-goal .wp-block-column:nth-child(2) h3.wp-block-heading {
		letter-spacing: -1.2px;
	}
	.serena-lk-pp-goal .wp-block-column > p {
		padding: 0;
		line-height: 1.4em;
		letter-spacing: 0;
	}
}
@media (max-width: 767px) {
	.serena-lk-pp-goal h2.wp-block-heading {
		font-size: 22px;
	}
	.serena-lk-pp-goal .wp-block-columns {
		flex-direction: column;
	}
	.serena-lk-pp-goal .wp-block-columns > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}
	.serena-lk-pp-goal h3.wp-block-heading {
		font-size: 24px;
	}
}

/* 3 · «Terapia pareja»: #FAFAFA band, the box 1400 px wide, the icon + title the specialty pages carry (class `especialidad-individual`, whose
   sheet restyles the pair) */
.serena-lk-pp-intro {
	--serena-band-w: 1400px;
	background-color: #fafafa;
}

/* 4 · «Terapia pareja+»: the same grey, box 1400 px with the column's 20 px; 25 px / 300 uppercase headings, 16 px / 28 px text */
.serena-lk-pp-text {
	--serena-band-w: 1400px;
	--serena-band-pad: 20px;
	background-color: #fafafa;
}
.serena-lk-pp-text h3.wp-block-heading {
	font-family: Nunito, sans-serif;
	font-size: 25px;
	font-weight: 300;
	line-height: 30px;
	letter-spacing: 0.1px;
	text-transform: uppercase;
	color: #ff9472;
}
.serena-lk-pp-text p {
	font-size: 16px;
	line-height: 28px;
}
/* `text-lg-left` (Bootstrap's large breakpoint, from 992 px) left-aligns the button; below it the block stays centred. The link carries `margin: 0 auto`
   but sat in a left-aligned block: an inline box does not centre on its auto margins, a flex item does */
@media (max-width: 991px) {
	/* a link wider than the box (358 px in 350 on a phone) starts at the left edge, as a block with auto margins does, instead of being centred outside it */
	.serena-lk-pp-text .serena-bridge-button {
		justify-content: safe center;
	}
}
@media (min-width: 992px) {
	.serena-lk-pp-text .serena-bridge-button {
		justify-content: flex-start;
	}
	.serena-lk-pp-text .serena-bridge-button .qbutton {
		margin: 0 !important;
	}
}
@media (max-width: 767px) {
	.serena-lk-pp-text h3.wp-block-heading {
		font-size: 22px;
		line-height: 1.2em;
	}
}

/* 5 · «Cómo funciona»: white band, the content box exactly the section's own padding box (10 % at each side on a desktop); the four steps are the
   icon boxes of the page (187 / 140 / 125 px icons, 27 / 22 px titles, «Nunito Sans» descriptions at 1.6 em) */
.serena-lk-pp-how {
	--serena-band-w: 1200px;
	--serena-band-pad: 0 0 5px;
	background-color: #fff;
}
.serena-lk-pp-how .serena-band__inner > span.h6 {
	line-height: 20px;
}
.serena-lk-pp-how h2.wp-block-heading {
	font-size: 40px;
	color: #4f4f4f;
}
.serena-lk-pp-how .serena-icon-cards__title {
	font-size: 27px;
	line-height: 36px;
	letter-spacing: -1px;
	color: #4f4f4f;
}
.serena-lk-pp-how .serena-icon-cards__text {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 16px;
	line-height: 1.6em;
	color: #4f4f4f;
}
@media (max-width: 1024px) {
	.serena-lk-pp-how h2.wp-block-heading {
		font-size: 28px;
		line-height: 1.4em;
	}
	.serena-lk-pp-how .serena-icon-cards__title {
		font-size: 22px;
		line-height: 1.3em;
	}
	.serena-lk-pp-how .serena-icon-cards__text {
		line-height: 1.3em;
	}
}
@media (max-width: 767px) {
	.serena-lk-pp-how {
		--serena-band-pad: 0 10px;
	}
	.serena-lk-pp-how h2.wp-block-heading {
		font-size: 22px;
	}
}

/* 6 · «Bonos»: the photo (cover) under a -45° wash (#FF9472 58 % → #B11972, 37 %), a white «curve» divider at the top (flipped: the picture is a dome) and
   one at the bottom, 106 % wide and 92 px high (48 px on a tablet, 20 px on a phone); the whole stack is background layers of the band, in this order:
   top divider, bottom divider, wash, photo, #FF9472A6 */
.serena-lk-pp-plans {
	background-color: rgba(255, 148, 114, 0.65);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' transform='matrix(1 0 0 -1 0 100)' d='M500,97C126.7,96.3,0.8,19.8,0,0v100l1000,0V1C1000,19.4,873.3,97.8,500,97z'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M500,97C126.7,96.3,0.8,19.8,0,0v100l1000,0V1C1000,19.4,873.3,97.8,500,97z'/%3E%3C/svg%3E"), linear-gradient(-45deg, rgba(255, 148, 114, 0.37) 58%, rgba(177, 25, 114, 0.37) 100%), url('/wp-content/uploads/2020/09/2_Salud-mental-min.jpg');
	background-repeat: no-repeat;
	background-position: center top, center bottom, center, center center;
	background-size: calc(106% + 1.3px) 92px, calc(106% + 1.3px) 92px, 100% 100%, cover;
}
.serena-lk-pp-plans .serena-band__inner > span.h6 {
	line-height: 20px;
	color: #fff;
}
/* the «Nuestros planes» label is the theme's `.h5` span (Elementor's heading carries the white in its own widget CSS, which is gone): without this it takes
   `.h5`'s #B11972 and prints magenta on the wash, at every width (measured: rgb(255,255,255) before, rgb(177,25,114) after) */
.serena-lk-pp-plans .serena-band__inner > span.h5 {
	color: #fff;
}
.serena-lk-pp-plans h2.wp-block-heading {
	color: #fff;
	text-shadow: 0 0 10px rgba(133.5, 16.7, 16.7, 0.3);
}
@media (max-width: 1024px) {
	.serena-lk-pp-plans {
		background-size: calc(106% + 1.3px) 48px, calc(106% + 1.3px) 48px, 100% 100%, cover;
	}
	.serena-lk-pp-plans h2.wp-block-heading {
		font-size: 28px;
		line-height: 1.4em;
	}
}
@media (max-width: 767px) {
	.serena-lk-pp-plans {
		background-size: calc(106% + 1.3px) 20px, calc(106% + 1.3px) 20px, 100% 100%, cover;
	}
	.serena-lk-pp-plans h2.wp-block-heading {
		font-size: 22px;
	}
	/* the plan titles' phone size came from Elementor's kit (h3: 30 / 36 px); Bridge's own is 26 / 44: named here so the page does not depend on the kit */
	.serena-lk-pp-plans .q_price_table h3 {
		font-size: 30px;
		line-height: 36px;
	}
}

/* 7 · «Nuestras psicólogas»: white band; six round photos (125 px) in a row 800 px wide, four counters (50 px figure in Open Sans 600 above a 17 px
   «Nunito Sans» title) and the CTA */
/* Elementor's section is full width and only its counters' inner section is boxed at 1300 px: the plain band's 1300 px box minus its 10 px padding left the
   row at 1280 (columns of 320 against 325) from ~1805 px up. A 1320 px box gives the content exactly 1300; below ~1805 px the box never caps (Gate U, point 3) */
.serena-lk-pp-team {
	--serena-band-w: 1320px;
}
.serena-lk-pp-team .serena-band__inner > span.h6 {
	line-height: 20px;
}
.serena-lk-pp-team h2.wp-block-heading {
	color: #4f4f4f;
}
.serena-lk-pp-team .wp-block-columns {
	flex-wrap: nowrap;
	gap: 0;
	margin: 0 auto;
}
.serena-lk-pp-team .wp-block-columns:has(.wp-block-image) {
	max-width: 800px;
}
.serena-lk-pp-team .wp-block-columns > .wp-block-column {
	box-sizing: border-box;
	flex: 1 1 0 !important;
	min-width: 0;
}
@media (max-width: 767px) {
	.serena-lk-pp-team .wp-block-columns:has(.serena-counter) > .wp-block-column {
		flex: 0 0 auto !important;
	}
}
/* the six photos: Elementor's inner-section columns are 16.666 % of the row each (16.6 % on a phone), not an even sixth: with `flex: 1` a cell is 133.333 px
   (58.33 on a phone) against Elementor's 133.312 (58.09), which flips the pixel an image snaps to (two of the six photos sat 1 px to the right of the «before»
   at 1440 and most at 820) and, on a phone, makes the row 0.24 px taller, which pushed everything below by 0.2 px and the text by a whole pixel (measured) */
.serena-lk-pp-team .wp-block-columns:has(.wp-block-image) > .wp-block-column {
	flex: 0 0 16.666% !important;
}
@media (max-width: 767px) {
	.serena-lk-pp-team .wp-block-columns:has(.wp-block-image) > .wp-block-column {
		flex: 0 0 16.6% !important;
	}
}
.serena-lk-pp-team .wp-block-image {
	margin: 0;
	text-align: center;
}
.serena-lk-pp-team .wp-block-image img {
	width: 125px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0 auto;
	object-fit: cover;
	border-radius: 100%;
}
.serena-lk-pp-team .wp-block-column:has(> .serena-counter) {
	padding: 10px;
}
.serena-lk-pp-team .serena-counter__inner {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
}
.serena-lk-pp-team .serena-counter__title {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4em;
	text-transform: uppercase;
	color: #4f4f4f;
}
.serena-lk-pp-team .wp-block-column:first-child .serena-counter__title {
	letter-spacing: -0.1px;
}
.serena-lk-pp-team .serena-counter__wrap {
	display: flex;
	justify-content: center;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.5em;
}
.serena-lk-pp-team .wp-block-column:nth-child(2) .serena-counter__wrap {
	color: #ff9472;
}
.serena-lk-pp-team .wp-block-column:nth-child(4) .serena-counter__wrap {
	color: #b11972;
}
@media (max-width: 767px) {
	.serena-lk-pp-team {
		--serena-band-pad: 0;
	}
	.serena-lk-pp-team .wp-block-columns:has(.serena-counter) {
		flex-direction: column;
	}
}
/* the title keeps the desktop 45 / 62.3 px up to 767 px and drops to Bridge's phone 30 / 44 px only from 600 px down (measured on Elementor: 45 px, two lines at 620-660
   px, one line from 680 up; the 767 px rule that was here made it 30 px from 601 to 767: -81 px of band at 620-660, -18 px at 680-767) */
@media (max-width: 600px) {
	.serena-lk-pp-team h2.wp-block-heading {
		font-size: 30px;
		line-height: 44px;
	}
}

/* 8 · «Logos»: the box 750 px wide, the Serena logo centred, a line of text (15 px of left padding) and the five logos of Bridge's clients row (11 px of
   padding around it, 10 px from the tablet down) */
.serena-lk-pp-logos {
	--serena-band-w: 750px;
	--serena-band-pad: 0;
}
.serena-lk-pp-logos .wp-block-image {
	margin: 0;
	text-align: center;
}
.serena-lk-pp-logos .wp-block-image img {
	display: block;
	margin: 0 auto;
}
.serena-lk-pp-logos .serena-esp-span {
	display: block;
	box-sizing: border-box;
	padding-left: 15px;
	line-height: 26px;
}
.serena-lk-pp-logos .serena-bridge-clients {
	box-sizing: border-box;
	width: 100%;
	padding: 11px;
}
@media (max-width: 1024px) {
	.serena-lk-pp-logos .serena-bridge-clients {
		padding: 10px;
	}
}

/* the drawing keeps its 187 px box even where the cell is narrower (~1025 to ~1140 px) and spills over its right edge, as Elementor's inline <svg>:
   capped at the cell (`max-width: 100%` of the base rule) the box was 166 x 187 at 1030 and the drawing came out ~11 % smaller (Gate U, point 2) */
.serena-lk-pp-how .serena-icon-cards--steps .serena-icon-cards__icon img {
	width: 187px;
	max-width: none;
	height: 187px;
}
.serena-lk-pp-how .serena-icon-cards--steps .serena-icon-cards__title {
	margin-bottom: 1px;
}
@media (max-width: 1024px) {
	.serena-lk-pp-how .serena-icon-cards--steps .serena-icon-cards__item {
		width: 25%;
		padding: 0;
	}
	.serena-lk-pp-how .serena-icon-cards--steps .serena-icon-cards__icon img {
		width: 140px;
		height: 140px;
	}
}
@media (max-width: 767px) {
	.serena-lk-pp-how .serena-icon-cards--steps .serena-icon-cards__item {
		width: 100%;
	}
	.serena-lk-pp-how .serena-icon-cards--steps .serena-icon-cards__icon img {
		width: 125px;
		height: 125px;
	}
}

/* the sections of «Cómo funciona» and «Nuestras psicólogas» pad in PERCENT of the viewport (6 % 10 % 5 % 10 % and 7 % 14 %) above the tablet: the page script writes
   the pixels of the 1440 desktop, and a laptop (<= 1366) must scale them */
@media (min-width: 1025px) {
	.serena-band.serena-lk-pp-how {
		padding: 6% 10% 5% !important;
	}
	.serena-band.serena-lk-pp-team {
		padding: 7% 14% !important;
	}
}

/* ------------------------------------------------------------------ F4-L4c chunk A1 (#94)
   Four contracts that any page of the commercial family can use (docs/serena-blocks.md, «L4c chunk A1»).
   Breakpoints are Elementor's: laptop <= 1366, tablet <= 1024, mobile <= 767. Every per-breakpoint custom property falls back from the
   narrowest to the widest (a setting holds until a narrower breakpoint replaces it: Elementor's own cascade). */

/* 1 · A band's own background: `--serena-bg-<bp>` is a whole `background-image` (a gradient) or a colour for the `classic` kind
   (only `d`). The image goes UNDER the gradient only as a layer of its own (`--serena-bg-img`). */
.serena-band--bg {
	background-image: var(--serena-bg-d);
}
.serena-band--bg[style*="--serena-bg-d:#"] {
	background-image: none;
	background-color: var(--serena-bg-d);
}
@media (max-width: 1366px) {
	.serena-band--bg:not([style*="--serena-bg-d:#"]) {
		background-image: var(--serena-bg-l, var(--serena-bg-d));
	}
}
@media (max-width: 1024px) {
	.serena-band--bg:not([style*="--serena-bg-d:#"]) {
		background-image: var(--serena-bg-t, var(--serena-bg-l, var(--serena-bg-d)));
	}
}
@media (max-width: 767px) {
	.serena-band--bg:not([style*="--serena-bg-d:#"]) {
		background-image: var(--serena-bg-m, var(--serena-bg-t, var(--serena-bg-l, var(--serena-bg-d))));
	}
}
/* a picture on a band with a classic colour: the colour kind switches the image layer off (the rule above is more specific), the picture is the one that goes on the colour */
.serena-band--bg.serena-band--bgimg[style*="--serena-bg-d:#"] {
	background-image: var(--serena-bg-img);
}
.serena-band--bgimg {
	background-image: var(--serena-bg-img);
	background-size: var(--serena-bg-size, cover);
	background-position: var(--serena-bg-pos, center center);
	background-repeat: var(--serena-bg-rep, no-repeat);
}
/* the overlay: Elementor's `.elementor-background-overlay` (the whole box, behind the content, at its own opacity) */
.serena-band--ov::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	pointer-events: none;
	opacity: var(--serena-ov-op, 1);
	background-image: var(--serena-ov-d);
}
.serena-band--ov[style*="--serena-ov-d:#"]::before {
	background-image: none;
	background-color: var(--serena-ov-d);
}
@media (max-width: 1366px) {
	.serena-band--ov:not([style*="--serena-ov-d:#"])::before {
		background-image: var(--serena-ov-l, var(--serena-ov-d));
	}
}
@media (max-width: 1024px) {
	.serena-band--ov:not([style*="--serena-ov-d:#"])::before {
		background-image: var(--serena-ov-t, var(--serena-ov-l, var(--serena-ov-d)));
	}
}
@media (max-width: 767px) {
	.serena-band--ov:not([style*="--serena-ov-d:#"])::before {
		background-image: var(--serena-ov-m, var(--serena-ov-t, var(--serena-ov-l, var(--serena-ov-d))));
	}
}

/* 2 · Configured shape dividers (`shapes` of serena/band): width in %, height in px, per breakpoint; fill `--serena-sh-c` (white by default,
   as Elementor's). Elementor rotates a bottom divider that is NOT negative and a top one that IS (shapes.min.css); `flip` mirrors the fill. */
.serena-band__shape--cfg {
	z-index: 0;
}
.serena-band__shape--cfg svg {
	width: calc(var(--serena-sh-w-d, 100%) + 1.3px);
	height: var(--serena-sh-h-d, 100px);
}
.serena-band__shape--cfg .serena-shape-fill {
	fill: var(--serena-sh-c, #fff);
}
.serena-band__shape--cfg.serena-band__shape--flip .serena-shape-fill {
	transform: rotateY(180deg);
}
.serena-band__shape--cfg.serena-band__shape--bottom[data-negative="true"],
.serena-band__shape--cfg.serena-band__shape--top[data-negative="false"] {
	transform: none;
}
@media (max-width: 1366px) {
	.serena-band__shape--cfg svg {
		width: calc(var(--serena-sh-w-l, var(--serena-sh-w-d, 100%)) + 1.3px);
		height: var(--serena-sh-h-l, var(--serena-sh-h-d, 100px));
	}
}
@media (max-width: 1024px) {
	.serena-band__shape--cfg svg {
		width: calc(var(--serena-sh-w-t, var(--serena-sh-w-l, var(--serena-sh-w-d, 100%))) + 1.3px);
		height: var(--serena-sh-h-t, var(--serena-sh-h-l, var(--serena-sh-h-d, 100px)));
	}
}
@media (max-width: 767px) {
	.serena-band__shape--cfg svg {
		width: calc(var(--serena-sh-w-m, var(--serena-sh-w-t, var(--serena-sh-w-l, var(--serena-sh-w-d, 100%)))) + 1.3px);
		height: var(--serena-sh-h-m, var(--serena-sh-h-t, var(--serena-sh-h-l, var(--serena-sh-h-d, 100px))));
	}
}

/* 3 · The offset contract: `serena-po-<bp>-<pos>-<ho><hx>-<vo><vy>-z<z>` → `--serena-po-<bp>-pos|l|r|t|b|z` (inc/serena-blocks.php). The
   rule only applies to a block that carries a token; nothing else changes. */
[style*="--serena-po-d-"] {
	position: var(--serena-po-d-pos);
	left: var(--serena-po-d-l);
	right: var(--serena-po-d-r);
	top: var(--serena-po-d-t);
	bottom: var(--serena-po-d-b);
	z-index: var(--serena-po-d-z);
}
@media (max-width: 1366px) {
	[style*="--serena-po-l-"] {
		position: var(--serena-po-l-pos);
		left: var(--serena-po-l-l);
		right: var(--serena-po-l-r);
		top: var(--serena-po-l-t);
		bottom: var(--serena-po-l-b);
		z-index: var(--serena-po-l-z);
	}
}
@media (max-width: 1024px) {
	[style*="--serena-po-t-"] {
		position: var(--serena-po-t-pos);
		left: var(--serena-po-t-l);
		right: var(--serena-po-t-r);
		top: var(--serena-po-t-t);
		bottom: var(--serena-po-t-b);
		z-index: var(--serena-po-t-z);
	}
}
@media (max-width: 767px) {
	[style*="--serena-po-m-"] {
		position: var(--serena-po-m-pos);
		left: var(--serena-po-m-l);
		right: var(--serena-po-m-r);
		top: var(--serena-po-m-t);
		bottom: var(--serena-po-m-b);
		z-index: var(--serena-po-m-z);
	}
}

/* 4 · The `pill` of serena/cta-button with its own per-breakpoint look (`pill` attribute → `--serena-cta-*`): font size, letter spacing,
   padding, radius, alignment and the two gradients (normal / hover). The defaults are the pill's own (above). */
.serena-cta--cfg {
	text-align: var(--serena-cta-al-d, left);
}
.serena-cta--cfg .serena-cta__link {
	width: var(--serena-cta-w-d, auto);
	font-size: var(--serena-cta-fs-d, 16px);
	font-weight: var(--serena-cta-fw, 500);
	letter-spacing: var(--serena-cta-ls-d, 0.5px);
	text-transform: var(--serena-cta-tt, none);
	padding: var(--serena-cta-pad-d, 10px 30px);
	border-radius: var(--serena-cta-rad-d, 30px);
	background-image: var(--serena-cta-g-d, linear-gradient(-90deg, var(--serena-color-yellow) 0%, var(--serena-color-primary) 100%));
}
.serena-cta--cfg .serena-cta__link:hover,
.serena-cta--cfg .serena-cta__link:focus {
	background-image: var(--serena-cta-gh-d, linear-gradient(-90deg, var(--serena-color-orange) 0%, var(--serena-color-yellow) 100%));
}
@media (max-width: 1366px) {
	.serena-cta--cfg {
		text-align: var(--serena-cta-al-l, var(--serena-cta-al-d, left));
	}
	.serena-cta--cfg .serena-cta__link {
		width: var(--serena-cta-w-l, var(--serena-cta-w-d, auto));
		font-size: var(--serena-cta-fs-l, var(--serena-cta-fs-d, 16px));
		letter-spacing: var(--serena-cta-ls-l, var(--serena-cta-ls-d, 0.5px));
		padding: var(--serena-cta-pad-l, var(--serena-cta-pad-d, 10px 30px));
		border-radius: var(--serena-cta-rad-l, var(--serena-cta-rad-d, 30px));
		background-image: var(--serena-cta-g-l, var(--serena-cta-g-d, linear-gradient(-90deg, var(--serena-color-yellow) 0%, var(--serena-color-primary) 100%)));
	}
	.serena-cta--cfg .serena-cta__link:hover,
	.serena-cta--cfg .serena-cta__link:focus {
		background-image: var(--serena-cta-gh-l, var(--serena-cta-gh-d, linear-gradient(-90deg, var(--serena-color-orange) 0%, var(--serena-color-yellow) 100%)));
	}
}
@media (max-width: 1024px) {
	.serena-cta--cfg {
		text-align: var(--serena-cta-al-t, var(--serena-cta-al-l, var(--serena-cta-al-d, left)));
	}
	.serena-cta--cfg .serena-cta__link {
		width: var(--serena-cta-w-t, var(--serena-cta-w-l, var(--serena-cta-w-d, auto)));
		font-size: var(--serena-cta-fs-t, var(--serena-cta-fs-l, var(--serena-cta-fs-d, 16px)));
		letter-spacing: var(--serena-cta-ls-t, var(--serena-cta-ls-l, var(--serena-cta-ls-d, 0.5px)));
		padding: var(--serena-cta-pad-t, var(--serena-cta-pad-l, var(--serena-cta-pad-d, 10px 30px)));
		border-radius: var(--serena-cta-rad-t, var(--serena-cta-rad-l, var(--serena-cta-rad-d, 30px)));
		background-image: var(--serena-cta-g-t, var(--serena-cta-g-l, var(--serena-cta-g-d, linear-gradient(-90deg, var(--serena-color-yellow) 0%, var(--serena-color-primary) 100%))));
	}
	.serena-cta--cfg .serena-cta__link:hover,
	.serena-cta--cfg .serena-cta__link:focus {
		background-image: var(--serena-cta-gh-t, var(--serena-cta-gh-l, var(--serena-cta-gh-d, linear-gradient(-90deg, var(--serena-color-orange) 0%, var(--serena-color-yellow) 100%))));
	}
}
@media (max-width: 767px) {
	.serena-cta--cfg {
		text-align: var(--serena-cta-al-m, var(--serena-cta-al-t, var(--serena-cta-al-l, var(--serena-cta-al-d, left))));
	}
	.serena-cta--cfg .serena-cta__link {
		width: var(--serena-cta-w-m, var(--serena-cta-w-t, var(--serena-cta-w-l, var(--serena-cta-w-d, auto))));
		font-size: var(--serena-cta-fs-m, var(--serena-cta-fs-t, var(--serena-cta-fs-l, var(--serena-cta-fs-d, 16px))));
		letter-spacing: var(--serena-cta-ls-m, var(--serena-cta-ls-t, var(--serena-cta-ls-l, var(--serena-cta-ls-d, 0.5px))));
		padding: var(--serena-cta-pad-m, var(--serena-cta-pad-t, var(--serena-cta-pad-l, var(--serena-cta-pad-d, 10px 30px))));
		border-radius: var(--serena-cta-rad-m, var(--serena-cta-rad-t, var(--serena-cta-rad-l, var(--serena-cta-rad-d, 30px))));
		background-image: var(--serena-cta-g-m, var(--serena-cta-g-t, var(--serena-cta-g-l, var(--serena-cta-g-d, linear-gradient(-90deg, var(--serena-color-yellow) 0%, var(--serena-color-primary) 100%)))));
	}
	.serena-cta--cfg .serena-cta__link:hover,
	.serena-cta--cfg .serena-cta__link:focus {
		background-image: var(--serena-cta-gh-m, var(--serena-cta-gh-t, var(--serena-cta-gh-l, var(--serena-cta-gh-d, linear-gradient(-90deg, var(--serena-color-orange) 0%, var(--serena-color-yellow) 100%)))));
	}
}

/* 5 · The SOLID / outlined look of the same button (L4c chunk A2: «Únete a nuestra comunidad gratuita» of 6489): text colour, background colour, border,
   each with its hover. Each property falls back to the pill's own value, so a pill that sets none of them is painted exactly as before. */
.serena-cta--cfg .serena-cta__link {
	color: var(--serena-cta-tc, #fff);
	background-color: var(--serena-cta-bgc, transparent);
	border: var(--serena-cta-bw, 0) solid var(--serena-cta-bc, currentColor);
}
.serena-cta--cfg .serena-cta__link:hover,
.serena-cta--cfg .serena-cta__link:focus {
	color: var(--serena-cta-tch, var(--serena-cta-tc, #fff));
	background-color: var(--serena-cta-bgh, var(--serena-cta-bgc, transparent));
	border-color: var(--serena-cta-bch, var(--serena-cta-bc, currentColor));
}

/* serena/link-card (L4c chunk A2): a card that is one link (Elementor's container with a `link`, served as `<a class="e-con" href>`). */
.serena-link-card {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* ------------------------------------------------------------ L4c chunk A2 (the home, 6489)
   Written WITHOUT the Elementor render (no container): every number below is READ from the page's `_elementor_data` (typography, spacing
   defaults of the widget). The boxes' widths and the exact flex layout need the computed CSS of the «before»: phase B. */

/* serena/image-box — the picture on the left (or on top), title and text, the whole thing one link (Elementor's `image-box`). */
.serena-ibx__wrap {
	display: flex;
	align-items: flex-start;
}
.serena-ibx--top .serena-ibx__wrap {
	display: block;
	text-align: center;
}
.serena-ibx__img {
	flex: 0 0 auto;
	margin: 0 15px 0 0;
	max-width: 50%;
}
.serena-ibx--top .serena-ibx__img {
	margin: 0 0 15px;
	max-width: none;
}
.serena-ibx__img img {
	display: block;
	width: 100%;
	height: auto;
}
.serena-ibx__title {
	margin: 0 0 0;
	font-size: 22px;
}
.serena-ibx__title a {
	color: inherit;
	text-decoration: none;
}
.serena-ibx__text {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4em;
}
@media (max-width: 1024px) {
	.serena-ibx__title {
		line-height: 1.2em;
	}
}

/* serena/icon — the inline SVG of Elementor's `icon` widget: 1em, in the size the block sets, the colour of the text unless it sets one. */
.serena-icon--center {
	text-align: center;
}
.serena-icon--right {
	text-align: right;
}
.serena-icon__wrap {
	display: inline-block;
	font-size: var(--serena-icon-size, 16px);
	line-height: 1;
}
.serena-icon__svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: var(--serena-icon-color, currentColor);
}

/* The inline checklist of the home («Buscamos la mejor psicóloga para ti · …»): the L4a checklist (`serena-esp-checks`) in a row,
   with the space between items and the check colour of the widget (`--serena-il-gap`, `--serena-il-color`). */
.serena-band .serena-esp-checks.serena-il-inline {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--serena-il-gap, 30px);
}
.serena-band .serena-esp-checks.serena-il-inline li::before {
	background: var(--serena-il-color, #212121);
}

/* ------------------------------------------ typography tokens (L4c phase B) */
/* `serena-ty-<bp>-<key>-<value>` on a block become `--serena-ty-<bp>-<key>` (serena_blocks_typography()). !important: the theme sets the
   size and colour of the headings with higher specificity. Order matters: desktop, laptop, tablet, mobile. */
[style*="--serena-ty-d-fs:"] {
	font-size: var(--serena-ty-d-fs) !important;
}
[style*="--serena-ty-d-lh:"] {
	line-height: var(--serena-ty-d-lh) !important;
}
[style*="--serena-ty-d-ls:"] {
	letter-spacing: var(--serena-ty-d-ls) !important;
}
[style*="--serena-ty-d-fw:"] {
	font-weight: var(--serena-ty-d-fw) !important;
}
[style*="--serena-ty-d-col:"] {
	color: var(--serena-ty-d-col) !important;
}
[style*="--serena-ty-d-tt:"] {
	text-transform: var(--serena-ty-d-tt) !important;
}
[style*="--serena-ty-d-ta:"] {
	text-align: var(--serena-ty-d-ta) !important;
}
[style*="--serena-ty-d-ff:"] {
	font-family: var(--serena-ty-d-ff) !important;
}
@media (max-width: 1366px) {
	[style*="--serena-ty-l-fs:"] {
		font-size: var(--serena-ty-l-fs) !important;
	}
	[style*="--serena-ty-l-lh:"] {
		line-height: var(--serena-ty-l-lh) !important;
	}
	[style*="--serena-ty-l-ls:"] {
		letter-spacing: var(--serena-ty-l-ls) !important;
	}
	[style*="--serena-ty-l-fw:"] {
		font-weight: var(--serena-ty-l-fw) !important;
	}
	[style*="--serena-ty-l-col:"] {
		color: var(--serena-ty-l-col) !important;
	}
	[style*="--serena-ty-l-tt:"] {
		text-transform: var(--serena-ty-l-tt) !important;
	}
	[style*="--serena-ty-l-ta:"] {
		text-align: var(--serena-ty-l-ta) !important;
	}
	[style*="--serena-ty-l-ff:"] {
		font-family: var(--serena-ty-l-ff) !important;
	}
}
@media (max-width: 1024px) {
	[style*="--serena-ty-t-fs:"] {
		font-size: var(--serena-ty-t-fs) !important;
	}
	[style*="--serena-ty-t-lh:"] {
		line-height: var(--serena-ty-t-lh) !important;
	}
	[style*="--serena-ty-t-ls:"] {
		letter-spacing: var(--serena-ty-t-ls) !important;
	}
	[style*="--serena-ty-t-fw:"] {
		font-weight: var(--serena-ty-t-fw) !important;
	}
	[style*="--serena-ty-t-col:"] {
		color: var(--serena-ty-t-col) !important;
	}
	[style*="--serena-ty-t-tt:"] {
		text-transform: var(--serena-ty-t-tt) !important;
	}
	[style*="--serena-ty-t-ta:"] {
		text-align: var(--serena-ty-t-ta) !important;
	}
	[style*="--serena-ty-t-ff:"] {
		font-family: var(--serena-ty-t-ff) !important;
	}
}
@media (max-width: 767px) {
	[style*="--serena-ty-m-fs:"] {
		font-size: var(--serena-ty-m-fs) !important;
	}
	[style*="--serena-ty-m-lh:"] {
		line-height: var(--serena-ty-m-lh) !important;
	}
	[style*="--serena-ty-m-ls:"] {
		letter-spacing: var(--serena-ty-m-ls) !important;
	}
	[style*="--serena-ty-m-fw:"] {
		font-weight: var(--serena-ty-m-fw) !important;
	}
	[style*="--serena-ty-m-col:"] {
		color: var(--serena-ty-m-col) !important;
	}
	[style*="--serena-ty-m-tt:"] {
		text-transform: var(--serena-ty-m-tt) !important;
	}
	[style*="--serena-ty-m-ta:"] {
		text-align: var(--serena-ty-m-ta) !important;
	}
	[style*="--serena-ty-m-ff:"] {
		font-family: var(--serena-ty-m-ff) !important;
	}
}
/* A heading's title colour reaches what is inside the title. In Elementor the theme's colour utility (`html .text-grey-medium > *` …, style.css) sits on the
   widget's wrapper, so its `> *` hits the title, whose own colour wins, and the title's inner <span> inherits it. The native element is wrapper and title in
   one, so `> *` hit the inner <span> instead: 3373's third «Lunes a viernes» came out #666464 against #757575 (Gate U, point 4). Only the theme's eight
   `> *` utilities, and only with a title colour token. Scoped to `.page-id-3373`: this sheet is served on every page, and 3373 is the only page where the
   case was measured (Gate U, point 4b). */
.page-id-3373 :is(.text-coral, .text-coral-dark, .text-grey-medium, .text-purple, .text-purple-dark, .text-white, .text-yellow, .text-yellow-dark):is([style*="--serena-ty-d-col:"], [style*="--serena-ty-l-col:"], [style*="--serena-ty-t-col:"], [style*="--serena-ty-m-col:"]) > * {
	color: inherit;
}

/* ------------------------------------------ `_flex_align_self` of a widget (L4c phase B) */
/* `serena-esp-self-<start|center|end>`: how Elementor's widget sat in its flex parent (generator: self_classes()). */
.serena-esp-self-start {
	align-self: flex-start;
}
.serena-esp-self-center {
	align-self: center;
}
.serena-esp-self-end {
	align-self: flex-end;
}

/* ------------------------------------------ looks (F4-L4c): 2139 «Cómo funciona» — four step cards with a numbered circle */
/* `sl4c_looks()` (scripts/retire-paginas-l4c.php) gives the row, each card and each circle of the page's steps band these classes by fingerprint.
   Numbers: post-2139.css of the local «before» (2026-10-04): card = white, radius 20 (13 on a phone), shadow -7 15 15 rgba(115,12,119,.19), padding 30 20,
   gap 15, content from the top (centred on a phone); circle = 60 × 60, white, radius 100, shadow 0 0 10, centred. */
.serena-lk-su-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 15px;
	box-sizing: border-box;
	padding: 30px 20px;
	background: #fff;
	border-radius: 20px;
	box-shadow: -7px 15px 15px 0 rgba(115, 12, 119, 0.19);
}
.serena-lk-su-card > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.serena-lk-su-dot {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-self: center;
	box-sizing: border-box;
	width: 60px;
	min-height: 60px;
	background: #fff;
	border-radius: 100px;
	box-shadow: 0 0 10px 0 rgba(115, 12, 119, 0.19);
}
.serena-lk-su-steps .wp-block-columns {
	gap: 30px;
	flex-wrap: nowrap;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.serena-lk-su-steps .wp-block-columns {
		flex-wrap: wrap !important;
		justify-content: space-between;
		gap: 30px 20px;
	}
	.serena-lk-su-steps .wp-block-columns > .wp-block-column {
		flex-basis: 47% !important;
		flex-grow: 0;
	}
}
@media (max-width: 1024px) {
	.serena-lk-su-card.serena-lk-su-card--late {
		margin-top: 40px !important;
	}
}
@media (max-width: 767px) {
	.serena-lk-su-card {
		justify-content: space-between;
		align-items: center;
		padding: 20px 20px 30px;
		border-radius: 13px;
	}
}

/* `serena-esp-minh` (generator, band()): an Elementor section «height: min-height» with no height of its own — a 400px row, its content centred in it. */
.serena-band.serena-esp-minh > .serena-band__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 400px;
	box-sizing: border-box;
}

/* `serena-esp-gap10` (generator, inner_section(), phase B): an Elementor inner section with the DEFAULT column gap — every column padded 10px and no
   gutter. Elementor's row spans the whole container; the band's inner box pads it by 10px (--serena-band-pad), so the row gives those 10px back. */
.serena-band__inner > .serena-esp-gap10 {
	width: calc(100% + 2 * var(--serena-band-pad, 10px));
	margin-left: calc(-1 * var(--serena-band-pad, 10px));
	margin-right: calc(-1 * var(--serena-band-pad, 10px));
}
.serena-esp-gap10 .wp-block-columns {
	gap: 0;
}
.serena-esp-gap10 .wp-block-columns > .wp-block-column {
	box-sizing: border-box;
	padding: 10px;
}

/* `serena-esp-p16` (generator, heading_block(), phase B): the 16px a `<p>` heading of Elementor carries above and below inside its widget (measured: 28px
   line in a 60px widget). Padding, not margin: the block's own margin is the widget's `_margin` and must not collapse with it. */
.serena-esp-p16 {
	padding-top: 16px;
	padding-bottom: 16px;
}

/* `serena-esp-gap10-1` (generator, inner_section(), phase B): an inner section with ONE column and the default gap — the column is the kit's 1300px container,
   centred, padded 10px on every side (the reviews' column of 2139: the carousel's slides are a third of the 1280px inside it). */
.serena-esp-gap10-1 {
	max-width: 1300px;
	margin-left: auto !important;
	margin-right: auto !important;
}
.serena-esp-gap10-1 > .wp-block-group__inner-container {
	box-sizing: border-box;
	padding: 10px;
}

/* «Sin compromisos» (the benefit columns of the session page and of the two landings 7292 / 7315) at 1025-1059 px (round 30): the 20 % column is 168 px and the 30 px word is 170.6 px. Elementor lets the word overflow its column on one line; the
   native heading broke it in two (+28 px of height). */
@media (min-width: 1025px) and (max-width: 1059px) {
	.page-id-2139 .wp-block-column > h3.wp-block-heading.serena-esp-center,
	.page-id-7292 .wp-block-column > h3.wp-block-heading.serena-esp-center,
	.page-id-7315 .wp-block-column > h3.wp-block-heading.serena-esp-center {
		overflow-wrap: normal;
		word-break: normal;
	}
}
/* 2139's «El equipo de Serena se pondrá…» paragraph on a phone (round 29b): its 1 px side margins (--serena-rm-m 17 1 27 1) sat on a `width: 100%` box, 350 px in a 348 px line, and the
   centred text 1 px to the right of Elementor's. Auto width keeps the margins inside the cell. */
.page-id-2139 .serena-band__inner > p.serena-rm-m-17-1-27-1 {
	width: auto;
}
/* The kicker «Es posible que nos hayas visto en» (2139 and the home, round 29b): Elementor's inline 16 px Nunito span sits in a 26 px line of its Open Sans widget, with the glyphs
   3 px under the top of the box; the native block is Nunito itself and put them 2 px down. Same box, glyphs moved 1 px (no change to the layout). */
.page-id-2139 .serena-band.home-partners > .serena-band__inner > .serena-esp-span,
.page-id-6489 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	position: relative;
	top: 1px;
}
/* 2139 «Logos» (css class `home-partners`, phase B): Elementor's carousel is the bare 140px swiper right under the kicker (no padding; the band's own 10px
   is the only one); the block's 20px frame (and the phone's 10px above / 15px below) is for the pages that put it in a card. At every width. */
.page-id-2139 .serena-band.home-partners .serena-media-carousel,
.page-id-6489 .serena-band.home-partners .serena-media-carousel {
	margin: 0;
	padding: 0;
}

/* ------------------------------------------------------------ L4c phase B, round 17 (the home, 6489) — MEASURED against the Elementor «before» (evidence/r16/probe-before.json).
   Scoped to `.page-id-6489`: no other page (2139, the closed ones) takes these rules. Hooks are structural (:has / the 16 % column), not new classes,
   so the generator output (golden) does not move. */
/* The four hero cards: a row of four, each a white column-flex card, 20px radius (13px on a phone), the picture on top (198 x 230, cover). */
.page-id-6489 .wp-block-column:has(.serena-link-card) {
	display: flex;
	gap: 15px;
}
.page-id-6489 .wp-block-column:has(.serena-link-card) > .wp-block-group {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
}
.page-id-6489 .wp-block-column:has(.serena-link-card) > .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	width: 100%;
}
.page-id-6489 .serena-link-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: -7px 15px 15px 0 rgba(115, 12, 119, 0.19);
}
.page-id-6489 .serena-link-card > .wp-block-columns {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0;
	margin: 0;
	width: 100%;
}
.page-id-6489 .serena-link-card .wp-block-column {
	flex: 0 0 auto;
	width: 100%;
}
.page-id-6489 .serena-link-card .wp-block-image,
.page-id-6489 .serena-link-card .wp-block-image img {
	display: block;
	margin: 0;
	width: 100%;
	height: 230px;
	object-fit: cover;
}
/* The six psychologists: one row of six equal columns, each photo a 125 px circle (it shrinks with the column on a phone: 58 px at 390). */
.page-id-6489 .wp-block-columns:has(> .wp-block-column[style*="flex-basis:16%"]) {
	flex-wrap: nowrap;
	gap: 0;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column[style*="flex-basis:16%"]) > .wp-block-column {
	flex: 1 1 0 !important;
	min-width: 0;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column[style*="flex-basis:16%"]) .wp-block-image {
	margin: 0;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column[style*="flex-basis:16%"]) .wp-block-image img {
	display: block;
	width: 100%;
	max-width: 125px;
	margin: 0 auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 100%;
}
@media (max-width: 767px) {
	.page-id-6489 .wp-block-column:has(.serena-link-card) {
		flex-direction: column;
	}
	.page-id-6489 .serena-link-card {
		border-radius: 13px;
	}
}
/* The three tests of the home: the picture is a 73 px square (105 px on a phone), measured on the «before» (it was the box's 50 % of the column: 540 px). */
.page-id-6489 .serena-ibx__img {
	width: 30%;
	flex: 0 1 30%;
	max-width: none;
}
@media (max-width: 767px) {
	.page-id-6489 .serena-ibx__img {
		width: 30%; /* of the test's row: 105 px at 390, 218 px at 767 */
		flex: 0 0 auto;
	}
}
/* The title of a test keeps the title's grey (rgb(79,79,79)) on hover and focus, as Elementor's: the parent theme paints `h3 a:hover` orange (specificity 0,1,2) and
   `.serena-ibx__title a { color: inherit }` (0,1,1) loses to it. Only the title link of the tests; the other links of the home keep Bridge's orange, as Elementor. */
.page-id-6489 .serena-ibx__title a:hover,
.page-id-6489 .serena-ibx__title a:focus,
.page-id-6489 .serena-ibx__title a:focus-visible,
.page-id-6489 .serena-ibx__title a:active {
	color: inherit;
}
/* The commitment band (ODS 3 / Centro Sanitario): the two logos are 96 px and 104 px squares (90 px both on a phone), measured on the «before». */
.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(1) .wp-block-image img {
	width: 96px;
	height: 96px;
}
.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) .wp-block-image img {
	width: 104px;
	height: 104px;
}
@media (max-width: 767px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(n) .wp-block-image img {
		width: 90px;
		height: 90px;
	}
}

/* ------------------------------------------------------------ L4c phase B, round 19 (the home, 6489) — MEASURED against the Elementor «before» (evidence/r19). Every rule is scoped to `.page-id-6489`. */
/* The blog band: Elementor's column is the full width less the 10 px gutters (the carousel counts `ceil(width / 667)` items: 3 at 1440), the intro
   paragraph has its own 4 % side padding and the two pills sit on one centred row. */
.page-id-6489 .serena-band:has(.serena-bridge-blog-slider) > .serena-band__inner {
	max-width: none;
}
.page-id-6489 .serena-band:has(.serena-bridge-blog-slider) > .serena-band__inner > p {
	padding-left: 4%;
	padding-right: 4%;
	box-sizing: border-box;
}
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-button + .serena-bridge-button) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}
@media (min-width: 1367px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-button + .serena-bridge-button) > .serena-bridge-button:not(:last-child) {
		margin-bottom: 60px !important; /* the widget spacing belongs to the LAST row only: both pills measured the same 60 px */
	}
}
@media (max-width: 1366px) {
	.page-id-6489 .wp-block-group.serena-esp-gap10-1:has(> .wp-block-group__inner-container > .serena-bridge-button + .serena-bridge-button) {
		margin-bottom: 20px !important;
	}
}
@media (max-width: 1024px) {
	.page-id-6489 .wp-block-group.serena-esp-gap10-1:has(> .wp-block-group__inner-container > .serena-bridge-button + .serena-bridge-button) {
		margin-bottom: 10px !important;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .wp-block-group.serena-esp-gap10-1:has(> .wp-block-group__inner-container > .serena-bridge-button + .serena-bridge-button) {
		margin-bottom: 0 !important;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-button + .serena-bridge-button) > .serena-bridge-button:not(:last-child) {
		margin-bottom: 0 !important;
	}
}
/* The pills of the home are Elementor's default button: padding 12 / 24 and no letter spacing (the 10 / 30 and .5 px are the closed pages' own). */
.page-id-6489 .serena-cta--pill .serena-cta__link {
	padding: 12px 24px;
	letter-spacing: var(--serena-cta-ls-d, normal); /* the widget's own (0.7px on «Ver todos los tests»), none on the WhatsApp pill */
}
.page-id-6489 .serena-band.pricing-table:has(> .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .serena-specialty-header + .serena-cta) > .serena-band__inner {
	padding: 0;
}
/* «Grupo Whatsapp» (the 86 % row): a WhatsApp glyph (36 px, #ff7d53), the 16 px title and the outline pill on ONE row, space between; a column
   from the tablet down, and the glyph over the title on a phone. The glyph is a mask of Font Awesome's whatsapp path (the «before» printed it inline). */
.page-id-6489 .serena-band.pricing-table .wp-block-group__inner-container:has(> .serena-specialty-header + .serena-cta) {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	width: 86%;
	margin: 0 auto;
}
.page-id-6489 .serena-band.pricing-table .wp-block-group__inner-container:has(> .serena-specialty-header + .serena-cta) > * {
	width: auto;
	margin: 0 !important;
}
.page-id-6489 .serena-specialty-header .q_icon_with_title {
	display: flex;
	align-items: center;
}
.page-id-6489 .serena-specialty-header .q_icon_with_title::before {
	content: "";
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	margin-right: 15px;
	background-color: #ff7d53;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.page-id-6489 .serena-specialty-header .q_icon_with_title .icon_text_holder {
	padding: 0;
}
.page-id-6489 .serena-specialty-header .q_icon_with_title .icon_text_holder .icon_title {
	margin: 0;
	font-size: 16px;
	line-height: 44px;
	font-weight: 600;
	/* Gate T (#94): the title is an h3 now, as in production; Bridge's style_dynamic gives h3 `letter-spacing: -1px` (h2 had 0px), Elementor's widget set 0 px. */
	letter-spacing: 0px;
	color: #ff7d53 !important;
	/* Gate T round 2: no `white-space: nowrap` — production computes `normal`; without it the box is production's (±0.03 px) at every width 320-1440 (step 8). */
}
.page-id-6489 .serena-specialty-header .q_icon_with_title .icon_text_inner {
	padding: 0;
}
.page-id-6489 .serena-specialty-header .icon_text_inner > p:empty {
	display: none;
}
@media (max-width: 1366px) {
	.page-id-6489 .serena-band.pricing-table .wp-block-group__inner-container:has(> .serena-specialty-header + .serena-cta) {
		width: 100%;
	}
}
@media (max-width: 1024px) {
	.page-id-6489 .serena-band.pricing-table .wp-block-group__inner-container:has(> .serena-specialty-header + .serena-cta) {
		flex-direction: column;
		gap: 15px;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .serena-specialty-header .q_icon_with_title {
		flex-direction: column;
		text-align: center;
	}
	.page-id-6489 .serena-specialty-header .q_icon_with_title::before {
		margin-right: 0;
	}
	.page-id-6489 .serena-specialty-header .q_icon_with_title .icon_text_holder .icon_title {
		white-space: normal;
		font-size: 16px;
		line-height: 1.2;
	}
}
/* The hero cards' text block (measured: 20 px side padding, the title and its arrow on ONE row, 19.5 px above and below that row, 35 px under the price). */
.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:last-child {
	box-sizing: border-box;
	padding: 19.5px 20px 35px;
}
.page-id-6489 .serena-link-card .wp-block-group__inner-container:has(> .h3 + .serena-icon) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 19.5px;
}
/* The arrow of a hero card: Elementor's arrow top is 1.5 px ABOVE the title's top (measured at 1440 / 1030 / 768 / 390); `line-height: 0` keeps the
   row at 17 px and the card's height, `position: relative; top: -2px` lifts the arrow 2 px without moving any other box (r61/abA.json). */
.page-id-6489 .serena-link-card .serena-icon {
	line-height: 0;
	position: relative;
	top: -2px;
}
/* the two columns of the hero are centred on each other (the cards of a row share the tallest one's height) */
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) {
	align-items: center;
}
/* The hero band: Elementor's section has no inner padding (the two columns span the whole 1300 px column). */
.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .serena-link-card) > .serena-band__inner {
	padding: 0;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:last-child {
	flex: 0 0 64.38% !important;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child {
	flex: 1 1 0 !important;
}
/* The hero's left column (measured): 20 px gutter between the columns and 20 px on the text column's right, 20 px between the checks and the pill, the pill on the
   left, and the rating row = «Excelente 4.8» (17 px, bold) + the stars + «Basado en…» under them. */
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) {
	column-gap: 20px;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child {
	box-sizing: border-box;
	padding-right: 20px;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child > ul {
	margin-bottom: 20px !important;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .serena-bridge-button {
	justify-content: flex-start;
}
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
	max-width: 700px;
	padding: 10px 10px;
}
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > * {
	width: auto;
	margin: 0 !important;
}
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
	font-size: 17px;
	font-weight: 700;
}
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > :last-child {
	flex: 0 0 100%;
}
.page-id-6489 .wp-block-group:has(> .wp-block-group__inner-container > .serena-bridge-progress-icons) {
	margin-top: 20px !important; /* collapses with the pill's 10 px: Elementor's 20 px between the pill and the rating container */
}
/* Round 29b: the glyphs of Elementor's inline span sit 1 px lower in its 30 px line than in this 19 px block (3 px was measured with the substitute fonts). */
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
	line-height: 19px;
	align-self: flex-start;
	margin-top: 4px !important;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child {
	padding-bottom: 5px;
}
/* Round 34 (adversary 6489 F1): the stars are Bridge's `q_progress_bars_icons`, a 10 px box until the script opens it (30 px) — and it only opens it, on load, when its top is within the viewport less
   200 px (jquery.appear, accY -200). In Elementor the widget is a flex item STRETCHED to the 26 px line of the «Excelente 4.8» heading, its stars at the top: a 26 px floor cold, 30 px once opened. The
   native item was centred in a 23 px row, so cold the hero was 3 px short and the stars 6.5 px low, and at the screen heights where the threshold falls between the two positions (1366 x 600-650) one side
   had opened and the other had not. The same floor and the same top edge put the box where Elementor's is in both states, so the script takes the same decision on each. */
.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-bridge-progress-icons {
	align-self: flex-start;
	min-height: 26px;
}
/* Round 35: on the tablet (768-1024) Elementor's stars are NOT stretched to the heading's line: the widget is a 10 px box CENTRED in the 26 px row (8 px lower cold: 485.6 against 477.6 at 1024, and
   the same 8 px at 768 / 900), 30 px once opened, and the threshold of the script (its top less 200 px) falls 8 px lower, so the screens 678-685 px high open it on one side only. Centred, with no floor,
   the box is where Elementor's is cold (the row is still the 26 px of the heading) and opened. */
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-bridge-progress-icons {
		align-self: center;
		min-height: 0;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
		/* Elementor's heading is a 26 px box in the row, centred in it, its glyphs 2 px below the top of the row cold and 4 px once the stars open and the row is 30 px: an 18 px box with 4 px of margin
		   above and below (26 px, the cold row, which then comes from the heading and not from a floor on the stars), centred in the row (the margins are in the rule of the rating line, below). */
		align-self: center;
		height: 18px;
		min-height: 0;
	}
}
/* Tablet and down: Elementor stacks the hero (the centred text block, then the row of four cards over the whole width). */
@media (max-width: 1024px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) {
		flex-direction: column;
		flex-wrap: nowrap;
		row-gap: 10px;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child,
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:last-child {
		flex: 0 0 auto !important;
		width: 100%;
		padding-right: 0;
		box-sizing: border-box;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child {
		text-align: center;
	}
	.page-id-6489 .wp-block-column:has(.serena-link-card) {
		align-items: stretch;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:last-child {
		padding-bottom: 30px;
	}
	.page-id-6489 .wp-block-group:has(> .wp-block-group__inner-container > .serena-bridge-progress-icons) {
		margin-bottom: 5px !important;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child > ul {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .serena-bridge-button {
		justify-content: center;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
		width: 300px;
		padding-left: 0;
		padding-right: 0;
		margin-left: auto;
		margin-right: auto;
		text-align: left;
	}
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child > ul.serena-il-inline {
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
}
/* Tablet: the hero keeps the 70 px of the header it no longer sits under. */
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .serena-link-card) {
		padding-top: 150px !important;
	}
}
/* Laptop: the cards' column is 798 px of the 1300 (measured), no gutter between the two columns (the 20 px are the text column's own padding). Round 29b: not a fixed 61.4 % of the
   row — Elementor's flex arithmetic gives 588.3 / 635.2 / 697.8 / 747.9 / 798.0 px at the 965 / 1040 / 1140 / 1220 / 1300 px rows of 1025 / 1100 / 1200 / 1280 / 1366 px (measured,
   host-anchored), a line of 62.61 % less 15.8 px (the 61.4 % put the cards 4.2 / 3.3 / 2.1 / 1.1 px to the left of Elementor's between 1025 and 1280). */
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) {
		column-gap: 0;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:last-child {
		flex: 0 0 calc(62.61% - 15.8px) !important;
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .serena-link-card) {
		padding-bottom: 50px !important;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child {
		padding-bottom: 0;
	}
}
/* The home's hero height follows the screen's height, as Elementor's container does (round 32): `min-height: 70vh` (the container's own setting, kept on desktop; tablet and phone
   have none), the content centred in what is left between the 150 px of padding above (70 of the header it runs under + 80) and the bottom padding. A fixed 430 px content box
   (round 26) made the hero 630 px on every screen: right on a 900 px high one, 33 px too tall below it on a laptop (1366 x 768) and 126 px too short on a 1080 px high one. */
@media (min-width: 1025px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .serena-link-card) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 70vh;
	}
}
/* Phone: the hero is a centred 340 px text block under 110 px of air, then the four cards 350 px wide, picture-less, 15 px apart. */
@media (max-width: 767px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .serena-link-card) {
		padding-top: 110px !important;
		padding-bottom: 30px !important;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) {
		flex-direction: column;
		flex-wrap: nowrap;
		row-gap: 0;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child {
		padding: 0 25px 15px;
		text-align: center;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
		width: 100%;
		justify-content: center;
		padding-left: 0;
		padding-right: 0;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:last-child {
		padding: 0 20px;
		row-gap: 15px;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns {
		flex-wrap: nowrap !important;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:first-child:has(> .serena-hide-m) {
		display: none;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:last-child {
		padding: 14.5px 15px 10px;
	}
	.page-id-6489 .serena-link-card .wp-block-group__inner-container:has(> .h3 + .serena-icon) {
		margin-bottom: 14.5px;
	}
	.page-id-6489 .serena-link-card .wp-block-column:last-child .wp-block-group__inner-container > .h3 {
		max-width: 202.5px;
	}
}
/* The three tests: ONE row of three 330 px boxes, space between (Elementor's flex container: 1100 px, gap 10 / 20). */
@media (min-width: 768px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		gap: 10px 20px;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) > .serena-ibx {
		flex: 0 1 330px;
		width: auto;
		margin: 0 !important;
	}
}
@media (min-width: 768px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) {
		margin-left: -10px;
		margin-right: -10px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) {
		margin-left: -30px;
		margin-right: -30px;
	}
}
/* «Nuestros tests» on a small laptop (round 30): Elementor's tests are 30 % of the row (980 px at 1060, so 294 px, not the 330 of the wide layout) until the row reaches 1100 px at 1180. */
@media (min-width: 1025px) and (max-width: 1179px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) > .serena-ibx {
		flex: 0 1 30%;
		max-width: 330px;
	}
}
/* The home's hero cards at 1025-1039 px (round 30): the card is 136 px wide and the 80.6 px word «Individual» plus its 16 px arrow do not fit in the 95.8 px row. Elementor's row has a 10 px gap and
   lets the heading and the arrow shrink (heading 71.6 px, arrow 14.2 px, the word overflowing its box on ONE line); the native heading broke the word in two lines. */
@media (min-width: 1025px) and (max-width: 1039px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .h3.serena-esp-self-center + .serena-icon--right) {
		gap: 10px;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .h3.serena-esp-self-center + .serena-icon--right) > .h3.serena-esp-self-center {
		min-width: 0;
		overflow-wrap: normal;
		word-break: normal;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .h3.serena-esp-self-center + .serena-icon--right) > .serena-icon--right {
		min-width: 0;
	}
}
/* Phone: the picture on top, the title and text centred under it. */
@media (max-width: 767px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) .serena-ibx__wrap {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) .serena-ibx__body {
		width: 100%;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) > .serena-ibx:not(:last-child) {
		margin-bottom: 25px !important;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) .serena-ibx__img {
		margin: 0 0 7px; /* the picture is centred over the title (the right margin of the side-by-side layout moved it 7.5 px); 7 px = the inline-block's line box under it in Elementor (112 px picture + gap, round 29b: 8 px made each test 1 px taller) */
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) > .serena-ibx:last-child {
		margin-bottom: 20px !important;
	}
}
/* «Nuestros datos»: four counters, the number over the label (Elementor's counter), centred; 2 x 2 on a phone. */
.page-id-6489 .wp-block-columns:has(.serena-counter) {
	flex-wrap: nowrap;
	gap: 0 20px;
}
.page-id-6489 .wp-block-columns:has(.serena-counter) > .wp-block-column {
	box-sizing: border-box;
	flex: 1 1 0 !important;
	min-width: 0;
	padding: 10px 0;
}
.page-id-6489 .wp-block-columns:has(.serena-counter) .serena-counter {
	width: 100%;
}
.page-id-6489 .serena-counter__inner {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	text-align: center;
}
.page-id-6489 .serena-counter__title {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4em;
	letter-spacing: -0.1px;
	text-transform: uppercase;
	color: #4f4f4f;
}
.page-id-6489 .serena-counter__wrap {
	display: flex;
	justify-content: center;
	font-size: 50px;
	font-weight: 600;
	line-height: 1.5em;
}
@media (max-width: 1366px) {
	.page-id-6489 .serena-counter__title {
		font-size: 15px;
		line-height: 21px;
	}
	.page-id-6489 .serena-counter__wrap {
		font-size: 40px;
	}
}
@media (max-width: 1024px) {
	.page-id-6489 .serena-counter__wrap {
		font-size: 36px;
	}
	.page-id-6489 .wp-block-columns:has(.serena-counter) {
		max-width: 1004px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .wp-block-columns:has(.serena-counter) {
		flex-wrap: wrap;
	}
	.page-id-6489 .wp-block-columns:has(.serena-counter) {
		padding: 10px;
		gap: 20px;
	}
	.page-id-6489 .wp-block-columns:has(.serena-counter) > .wp-block-column {
		flex: 0 0 calc(50% - 10px) !important;
		padding: 0;
	}
	.page-id-6489 .serena-counter__title {
		font-size: 14px;
		line-height: 19.6px;
	}
	.page-id-6489 .serena-counter__wrap {
		font-size: 28px;
	}
}
/* The psychologists' photos (round 26): Elementor serves each as a 125 x 125 centre crop of the 340 x 260 original (its `elementor/thumbs`), so the circle shows the cropped photo
   (object-fit: cover) instead of the whole picture squeezed to a square; it is the full 125 px centred in its cell (the cell was 133.3 px with the 4.15 px of the fixed padding it replaces, so on a
   780 px row it overflowed and, on a phone, the 58 px photos shrank to 50). */
.page-id-6489 .wp-block-columns:has(> .wp-block-column[style*="flex-basis:16%"]) > .wp-block-column {
	padding: 0;
}
/* «Nuestros planes»: four white cards (20 px radius, the hero cards' shadow, 30 / 20 padding, content centred on a column, 15 px between), 30 px apart. */
.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) {
	flex-wrap: nowrap;
	gap: 30px;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) > .wp-block-column {
	box-sizing: border-box;
	flex: 1 1 0 !important;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px;
	padding: 30px 20px;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: -7px 15px 15px 0 rgba(115, 12, 119, 0.19);
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) > .wp-block-column > * {
	margin: 0 !important;
	text-align: center;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) > .wp-block-column a {
	color: inherit;
}
@media (max-width: 1024px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) {
		flex-wrap: wrap !important;
		justify-content: space-between;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) > .wp-block-column {
		flex: 0 0 47% !important;
	}
}
/* Gate X (r69): on a phone production rounds the four plan cards at 13 px (post-6489.css, `@media(max-width:767px)`, elements 6606f83 / 2977581 / 435ba31 / 7837b0a),
   like the hero cards; 20 px from 768. */
@media (max-width: 767px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) > .wp-block-column {
		flex: 0 0 100% !important;
		padding: 20px;
		border-radius: 13px;
	}
}
/* The commitment band: each column is a ROW — the framed logo (3 px double #212121 border, 20 px gap) and its text, top aligned. */
@media (min-width: 768px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-columns {
		column-gap: 20px;
		flex-wrap: nowrap;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column {
		display: flex;
		align-items: flex-start;
		gap: 20px;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(1) {
		flex: 0 0 50.45%;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) {
		flex: 1 1 0;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column > .wp-block-group {
		flex: 0 0 auto;
		margin: 0 !important;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-image img {
		box-sizing: border-box;
		border: 3px double #212121;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column > p {
		flex: 1 1 0;
		margin: 16px 0 !important;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) > p {
		font-size: 14px;
		line-height: 26px;
		margin: 0 !important;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column {
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column > .wp-block-group {
		flex: 0 0 auto;
		margin: 0 !important;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-image img {
		box-sizing: border-box;
		border: 3px double #212121;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column > p {
		flex: 1 1 0;
		margin: 16px 0 !important;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) > p {
		font-size: 14px;
		line-height: 19.6px;
		margin: 0 !important;
	}
}
/* «Sesión inmediata»: the picture over the text from the tablet down (Elementor stacks the two halves). */
@media (max-width: 1024px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
		flex-direction: column;
		flex-wrap: nowrap;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		flex: 0 0 auto !important;
		width: 100%;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		padding: 30px;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 40px;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: block;
		width: 60%;
		margin: 0 auto;
		height: auto;
	}
}
/* «Sesión inmediata» (round 20): the Elementor section's own picture (bottom left, under everything), the 45 / 55 columns (laptop 45 / 60 of 105),
   the cells' own padding and the pill on the left, scoped to the home. The wave (bg-sesion-urgente2-min.jpg, `contain`, left bottom) is the band's own `bg.image`, painted by the block;
   what the block has no setting for is the width per breakpoint (650 px on the tablet, 355 px on the phone, as the section printed): the two `background-size` rules below. */
.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) > .serena-band__inner {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
	gap: 0;
	align-items: center;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button {
	justify-content: flex-start;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button .qbutton {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 1025px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 45% !important;
		padding: 30px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: stretch;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		flex: 0 0 calc(55% - 50px) !important;
		margin-left: 50px;
		padding: 10px;
	}
}
/* The «Sesión inmediata» kicker (round 29b): Elementor printed it as an inline 22 / 22 px span (18 / 18 px from 1366 down) inside a 14 / 20 px div, so its line box is 24 px (21 px)
   with the glyphs 4 px (3 px) above it. The native block has the same glyph offset with the line-height of the font size and the rest of the box as bottom padding. */
@media (min-width: 1367px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 22px;
		padding-bottom: 2px;
	}
}
@media (max-width: 1366px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 18px;
		padding-bottom: 3px;
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 calc(100% * 45 / 105) !important;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		flex: 0 0 calc(100% * 60 / 105) !important;
		margin-left: 0;
	}
}
@media (max-width: 1024px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 650px auto;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 355px auto;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 5px;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image {
		text-align: center;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: inline-block;
		margin-left: 15px;
		width: 679px; /* the image's own width attribute (Elementor lays it out at that, shrunk by max-width to the cell less the 15 px: 335 px at 390): not `auto`, which is 0 px wide, and so 0 px tall, while the lazy picture has not loaded and reserves nothing */
		max-width: calc(100% - 15px);
		height: auto;
	}
}
/* The commitment band (round 20): the Elementor container is 20 px padded above and below on a wide screen, and the two cells are 18 px further apart on a phone. */
@media (min-width: 1367px) {
	.page-id-6489 .serena-band.serena-rp-l-40-30-40-30 > .serena-band__inner {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) {
		margin-top: 18px;
	}
}
/* «¿Cómo funciona?» (round 26): on a wide screen the Elementor container is the full 1200 px (the native band's default 10 px side padding made it 1180, so the
   four columns were 255 px wide and the text wrapped one line more: +15 px at 1440); the 5 px under it is the laptop's, as it already is at 1366. */
@media (min-width: 1367px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .serena-icon-cards--steps) > .serena-band__inner {
		--serena-band-pad: 0 0 5px;
	}
}
/* «Algunas de nuestras psicólogas» (round 26): the row is the container's width (the generic -10 px of the group made it 800 px on an 820 px screen, where Elementor's is 780),
   six cells of 16.6 % on a phone, and the kicker is 1 px above the heading on a tablet / 15 px tall with 12.2 px under it on a phone, as Elementor's. */
.page-id-6489 .serena-band__inner > .wp-block-group:has(> .wp-block-group__inner-container > .wp-block-columns > .wp-block-column[style*="flex-basis:16%"]) {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column[style*="flex-basis:16%"]) > .serena-esp-span {
		margin-bottom: 1px !important;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column[style*="flex-basis:16%"]) > .serena-esp-span {
		margin: 3px 0 12px !important;
		line-height: 15px !important;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column[style*="flex-basis:16%"]) > .wp-block-column {
		flex: 0 0 16.6% !important;
	}
}
/* «Nuestros tests» (round 26): Elementor's widgets do not collapse their margins (the intro's 10 / 15 px under it and the next group's 15 px, the last test's 10 px and the
   button's 30 px, add up), and its container has no vertical padding; the native flow collapsed the first and the band's 10 px padding sat above and below. */
.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .serena-band__inner {
	--serena-band-pad: 0 10px;
}
.page-id-6489 .serena-band__inner > .wp-block-group:has(> .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
}
/* …and the button under the three tests: 40 px under the last one (45 at a laptop, 40 on a phone), measured on the Elementor «before». */
.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .wp-block-group > .wp-block-group__inner-container > .serena-cta {
	margin-top: 40px !important;
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .wp-block-group > .wp-block-group__inner-container > .serena-cta {
		margin-top: 45px !important;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .wp-block-group > .wp-block-group__inner-container > .serena-cta {
		margin-top: 0 !important;
	}
}
/* «Nuestros planes» (round 26): the bonos' «Precio total» line sits 14 px under the price on Elementor's card (15 px native), so every card with it was 1 px taller. */
.page-id-6489 .wp-block-columns:has(> .wp-block-column > .h3 + .h3 + div) > .wp-block-column > .h3:last-child {
	margin-top: -1px !important;
}
/* The home's hero under the header (round 26): on a screen wider than 1024 px the theme pulls an Elementor page up by 7 rem (`div[data-elementor-type="wp-page"]`, style.css) and pads its first
   container by 7 rem, so the hero's gradient runs behind the transparent sticky header (a pink strip, as on production); the native page started below the header and showed a white strip there. */
@media (min-width: 1025px) {
	.page-id-6489 main#serena-main > .serena-band:first-child {
		margin-top: -70px;
		padding-top: 150px !important;
	}
}
/* The home's hero (round 26). */
/* WordPress core forces `align-items: normal !important` on every columns block, so the «centred on each other» rule above never applied: the cards stretched to the text column's height
   (508 px, Elementor's are 382 px and centred). */
@media (min-width: 1025px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) {
		align-items: center !important;
	}
}
/* The checks are the kit's yellow (#ffbc02), the text Nunito #4f4f4f (the checklist inherited the theme's Open Sans #212121), and the rating line is Nunito too. */
.page-id-6489 .serena-il-yellow {
	--serena-il-color: #ffbc02;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child > ul.serena-il-inline li {
	font-family: Nunito, sans-serif;
	color: #4f4f4f;
}
.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .serena-esp-span {
	font-family: Nunito, sans-serif;
}
/* Tablet and phone: Elementor's title box is as wide as its widest line and sits at the left of the column, its lines centred inside (the native block was the whole width, so a single
   line was centred in the column: 17 px to the right at 820, 123 px at 766). */
@media (max-width: 1024px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child > h1 {
		width: fit-content;
		max-width: 100%;
	}
}
/* …the rating line: Elementor's «Excelente 4.8» is a 19 px line (above) 4 px down on a screen, 6 px on a tablet and 1 px on a phone (15 px from the stars on a phone); round 29b: one
   more than with the substitute fonts, the glyphs of its inline span sit 1 px lower in Elementor's line. */
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
		margin-top: 4px !important; /* round 35: 4 px above and below its 18 px box, centred in the row (see the stars' rule above) */
		margin-bottom: 4px !important;
	}
}
@media (max-width: 767px) {
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
		column-gap: 15px;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
		/* round 35: Elementor's row is the 16 px of its heading cold (the stars a 10 px box centred in it, the glyphs 8 px above the top of the 30 px row once they open, since the heading is centred in it
		   too): a 22 px box with -6 px above it (16 px) centred in the row, not a floor on the stars */
		margin-top: -6px !important;
		margin-bottom: 0 !important;
		height: 22px;
		align-self: center;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-bridge-progress-icons {
		align-self: center;
		min-height: 0;
	}
}
/* Tablet and phone: Elementor's checklist is a 320 px box centred under the title (its widest line is 302.7 px; the native list was 302.7 px, so each line sat 8.7 px to the right).
   Gate V point 2: that box is capped at its column (Elementor's `max-width: 100%`): 270 px at 320, so the lines wrap as there, not one 280 px line cut at the screen's edge. */
@media (max-width: 1024px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child > ul.serena-il-inline {
		width: 320px;
		max-width: 100%;
	}
}
/* Phone: Elementor's pill sits 5 px lower than the native one (its own 5 px margin is inside the widget, under the 10 px gap), the rating row stays where it was. */
@media (max-width: 767px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .serena-bridge-button {
		padding-top: 5px;
		margin-bottom: 15px !important;
	}
	.page-id-6489 .wp-block-group:has(> .wp-block-group__inner-container > .serena-bridge-progress-icons) {
		margin-top: 15px !important;
	}
}
/* «Nuestros datos» (round 26): Elementor's row is 1080 px (the screen less 20 px on a tablet), its figure is the number centred between a prefix and a suffix that share the free room
   (the number is not centred when only one of them has a text), and each label is a flex row centred on its box whose lines are left aligned (the first one centred) — the label
   faces differ by counter as they do there (letter spacing -0.1 px on the first, Nunito on the third). */
@media (min-width: 768px) {
	.page-id-6489 .wp-block-columns:has(.serena-counter) {
		max-width: min(1080px, calc(100% - 20px));
		margin-left: auto;
		margin-right: auto;
	}
}
.page-id-6489 .serena-counter__wrap {
	justify-content: normal;
}
.page-id-6489 .serena-counter__prefix {
	flex: 1 1 auto;
	text-align: end;
}
.page-id-6489 .serena-counter__suffix {
	flex: 1 1 auto;
	text-align: start;
}
.page-id-6489 .serena-counter__title {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	text-align: start;
	letter-spacing: normal;
}
.page-id-6489 .wp-block-columns:has(.serena-counter) > .wp-block-column:first-child .serena-counter__title {
	text-align: center;
	letter-spacing: -0.1px;
}
.page-id-6489 .wp-block-columns:has(.serena-counter) > .wp-block-column:nth-child(3) .serena-counter__title {
	font-family: Nunito, sans-serif;
}
.page-id-6489 .serena-counter__inner {
	align-items: stretch;
}
/* The hero cards (round 26). Tablet: Elementor's card has 10 px between the title row and the text and 35 px under the price (the native card spaced them 15 and 30). */
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .serena-link-card .wp-block-group__inner-container:has(> .h3 + .serena-icon) {
		margin-bottom: 14.5px;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:last-child {
		padding-bottom: 35px;
	}
}
/* Phone: Elementor's card is a row, the text (65 % of the card, 15 px / 10 px of padding) and the picture at the right — a 35 % cover box (122.5 px at 390) showing the bottom of the photo — so
   the text is 202.5 px wide and the arrow sits at 237.5 at 390. The native card dropped the picture on a phone (it is `serena-hide-m`). */
@media (max-width: 767px) {
	.page-id-6489 .serena-link-card > .wp-block-columns {
		flex-direction: row-reverse;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:first-child:has(> .serena-hide-m) {
		display: block;
		position: relative;
		flex: 0 0 35% !important; /* core stacks every column on a phone with `flex-basis: 100% !important` */
		width: 35%;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:first-child > [class~="serena-hide-m"] {
		display: block !important; /* (an attribute selector: serena-hide-tokens.test.php counts the `.serena-hide-m {` rules, there is one) */
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:first-child .wp-block-image {
		height: 0;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:first-child .wp-block-image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 100%;
	}
	.page-id-6489 .serena-link-card > .wp-block-columns > .wp-block-column:last-child {
		flex: 1 1 0 !important;
		width: auto;
		min-width: 0;
		padding: 14.5px 10px 10px 15px;
	}
}
/* The picture's width is Elementor's flex arithmetic: 30 % of the test shrinking against a text block that is 100 % of it (so 0.2308 x (test - 15 px): 72.7 px at 1440). */
.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) .serena-ibx__body {
	width: 100%;
}
/* «Nuestros tests» on a tablet (round 26): Elementor's row is the screen less 60 px (964 px at 1024) and each test is 30 % of it with the picture (30 % of the test, shrinking with it) beside the text. */
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .serena-band__inner {
		--serena-band-pad: 0; /* the heading and the intro are the whole 708 px at 768: the 10 px of side padding wrapped the heading */
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) {
		margin-left: 0;
		margin-right: 0;
	}
	.page-id-6489 .wp-block-group__inner-container:has(> .serena-ibx + .serena-ibx + .serena-ibx) > .serena-ibx {
		flex: 0 0 30%;
		max-width: 30%;
	}
}
/* «Nuestros tests» on a phone: Elementor's container is the whole 350 px (the native band added 10 px of side padding, so the heading and the texts wrapped at 330). */
@media (max-width: 767px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-group > .wp-block-group__inner-container > .wp-block-group > .wp-block-group__inner-container > .serena-ibx) > .serena-band__inner {
		--serena-band-pad: 0;
	}
}
/* The plans' pill on a phone: its -12 px left margin moves Elementor's shrink-wrapped widget (centred as a whole) by 6 px, not the full-width wrapper by 12. */
@media (max-width: 767px) {
	.page-id-6489 .serena-bridge-button[style*="--serena-rm-m:25px 0px 0px -12px"] {
		margin-left: -6px !important;
	}
}
/* The commitment band (round 26): Elementor's two cells are equal grid columns 50 px apart (30 px of grid gap and 10 px of cell padding either side), each a row of a logo widget and a
   text widget under a 20 px gap. Both are `flex: 0 1 auto`: the logo's image is 350 px (230 / 240 / 250 px for the second one by breakpoint) and the text's basis is its single-line width,
   so the logo shrinks a little — 95.7 px at 1440, 80 at 1024, 60.9 at 820 — and the text takes the rest (415 / 347 / 264 px). The second text is a 19.6 px line below 1367. */
@media (min-width: 768px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-columns {
		column-gap: 50px;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(1),
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) {
		flex: 1 1 0;
		min-width: 0;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(1) > .wp-block-group {
		flex: 0 1 350px;
		min-width: 0; /* the logo may shrink below the image's own size: with Elementor's CSS off a 3006 px picture kept the group 3006 px wide */
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) > .wp-block-group {
		flex: 0 1 230px;
		min-width: 0;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column > p {
		flex: 0 1 auto;
		min-width: 0;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(n) .wp-block-image img {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}
}
@media (min-width: 768px) and (max-width: 1366px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) > .wp-block-group {
		flex-basis: 240px;
	}
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) > p {
		line-height: 19.6px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .serena-rp-l-40-30-40-30 .wp-block-column:nth-child(2) > .wp-block-group {
		flex-basis: 250px;
	}
}
/* «Sesión inmediata» on a wide screen (round 26): Elementor's section is padded in percentages of the screen (10 % / 14 % / 7 %: 144 / 201.6 / 100.8 px at 1440); the printed pixels were those of
   1440, so the band was 13 px taller at 1367 and would differ at every other wide width. */
@media (min-width: 1367px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		padding: 10% 14% 7% !important;
	}
}
/* Phone: the hero pill is a 318.9 px box centred in the 340 px cell; below 370 px it no longer fits and Elementor's block widget starts at the cell's left edge (the flex centring
   of the native wrapper pushed it out on both sides, 4.5 px at 360). */
@media (max-width: 767px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .serena-bridge-button {
		justify-content: flex-start;
	}
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .serena-link-card) > .wp-block-column:first-child .serena-bridge-button .qbutton {
		margin-left: auto;
		margin-right: auto;
	}
}
/* The blog band's two pills on a phone wide enough to keep them on one row (561-767 px): Elementor centres them on each other (the podcast pill has 20 px above and 40 px below). */
@media (max-width: 767px) {
	.page-id-6489 .serena-band:has(> .serena-band__inner > .serena-bridge-blog-slider) .wp-block-group__inner-container:has(> .serena-bridge-button + .serena-bridge-button) {
		align-items: center;
	}
}
/* The team band's kicker «Mujeres y terapeutas» on a tablet is a 16 px line 2 px down and 2 px above the heading: Elementor's box is the 20 px line of its 14 px div (round 29b: it was
   2.6 px, which made the band 0.6 px taller with the glyphs unchanged), the glyphs 1 px lower than in the 19.6 px native line. */
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column[style*="flex-basis:16%"]) > .serena-esp-span {
		line-height: 16px !important;
		margin-top: 2px !important;
		margin-bottom: 2px !important;
	}
}
/* The same kicker from 1025 px: an inline 18 / 18 px span in the 14 / 20 px div, a 21 px box with the glyphs 3 px above it (round 29b: the native 20 px line made the band 1 px shorter). */
@media (min-width: 1025px) {
	.page-id-6489 .serena-band__inner:has(> .wp-block-group > .wp-block-group__inner-container > .wp-block-columns > .wp-block-column[style*="flex-basis:16%"]) > .serena-esp-span {
		line-height: 18px;
		padding-bottom: 3px;
	}
}

/* Gate W point 2: «Sesión inmediata» from 1025 px. Elementor's image widget is `text-align: center` with an inline-block <img>, so once the column is wider than the
   picture's 679 px (from ~2290 px) production centres it in the widget (45.2 px in at 2560); the native figure left it at the start. Below that the figure is as wide
   as the picture and this is a no-op; the phone keeps its own rules. */
@media (min-width: 1025px) {
	.page-id-6489 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		margin-left: auto;
		margin-right: auto;
	}
}
/* ============================================================================================================================================
   L4c (#94), 1165 pide-cita — MEASURED against the Elementor «before» (evidence/r40). Every rule is scoped to `.page-id-1165`; no other page takes them.
   ============================================================================================================================================ */
/* Reused from 6489, selector for selector (the same Elementor widgets, measured there in rounds 17-35): the hero's rating row (stars, «Excelente 4.8», «Basado en…»), the «Es posible que nos hayas visto en» band,
   the pill buttons and the «Sesión inmediata» band (same picture, 5118). Copies, not aliases: the guards of 6489's rules read their selectors one by one. */
.page-id-1165 .serena-cta--pill .serena-cta__link {
	line-height: 1;
}
.page-id-1165 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	position: relative;
	top: 1px;
}
.page-id-1165 .serena-band.home-partners .serena-media-carousel {
	margin: 0;
	padding: 0;
}
.page-id-1165 .serena-cta--pill .serena-cta__link {
	padding: 12px 24px;
	letter-spacing: var(--serena-cta-ls-d, normal); /* the widget's own (0.7px on «Ver todos los tests»), none on the WhatsApp pill */
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
	max-width: 700px;
	padding: 10px 10px;
}
/* a phone (up to 767): Elementor's rating container is the viewport less 40 px (the band's 2 x 20); the 10 px side padding made it 20 px narrower, so «Basado en las valoraciones de nuestras pacientes» (354.3 px) wrapped from 414 px down instead of 394 (+19 px of hero at 396-414) */
@media (max-width: 767px) {
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
		padding-left: 0;
		padding-right: 0;
	}
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > * {
	width: auto;
	margin: 0 !important;
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
	font-size: 17px;
	font-weight: 700;
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > :last-child {
	flex: 0 0 100%;
}
.page-id-1165 .wp-block-group:has(> .wp-block-group__inner-container > .serena-bridge-progress-icons) {
	margin-top: 20px !important; /* collapses with the pill's 10 px: Elementor's 20 px between the pill and the rating container */
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
	line-height: 19px;
	align-self: flex-start;
	margin-top: 4px !important;
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-bridge-progress-icons {
	align-self: flex-start;
	min-height: 26px;
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-bridge-progress-icons {
		align-self: center;
		min-height: 0;
	
	}
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
		/* Elementor's heading is a 26 px box in the row, centred in it, its glyphs 2 px below the top of the row cold and 4 px once the stars open and the row is 30 px: an 18 px box with 4 px of margin
		   above and below (26 px, the cold row, which then comes from the heading and not from a floor on the stars), centred in the row (the margins are in the rule of the rating line, below). */
		align-self: center;
		height: 18px;
		min-height: 0;
	
	}
}
@media (max-width: 1024px) {
	.page-id-1165 .wp-block-group:has(> .wp-block-group__inner-container > .serena-bridge-progress-icons) {
		margin-bottom: 5px !important;
	
	}
}
@media (max-width: 1024px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
		flex-direction: column;
		flex-wrap: nowrap;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		flex: 0 0 auto !important;
		width: 100%;
	
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		padding: 30px;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 40px;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: block;
		width: 60%;
		margin: 0 auto;
		height: auto;
	
	}
}
.page-id-1165 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) > .serena-band__inner {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}
.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
	gap: 0;
	align-items: center;
}
.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
}
.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button {
	justify-content: flex-start;
}
.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button .qbutton {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 1025px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 45% !important;
		padding: 30px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: stretch;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		flex: 0 0 calc(55% - 50px) !important;
		margin-left: 50px;
		padding: 10px;
	
	}
}
@media (min-width: 1367px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 22px;
		padding-bottom: 2px;
	
	}
}
@media (max-width: 1366px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 18px;
		padding-bottom: 3px;
	
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 calc(100% * 45 / 105) !important;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		flex: 0 0 calc(100% * 60 / 105) !important;
		margin-left: 0;
	
	}
}
@media (max-width: 1024px) {
	.page-id-1165 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 650px auto;
	
	}
}
@media (max-width: 767px) {
	.page-id-1165 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 355px auto;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 5px;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image {
		text-align: center;
	
	}
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: inline-block;
		margin-left: 15px;
		width: 679px; /* the image's own width attribute (Elementor lays it out at that, shrunk by max-width to the cell less the 15 px: 335 px at 390): not `auto`, which is 0 px wide, and so 0 px tall, while the lazy picture has not loaded and reserves nothing */
		max-width: calc(100% - 15px);
		height: auto;
	
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
		margin-top: 4px !important; /* round 35: 4 px above and below its 18 px box, centred in the row (see the stars' rule above) */
		margin-bottom: 4px !important;
	
	}
}
@media (max-width: 767px) {
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
		column-gap: 15px;
	
	}
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
		/* round 35: Elementor's row is the 16 px of its heading cold (the stars a 10 px box centred in it, the glyphs 8 px above the top of the 30 px row once they open, since the heading is centred in it
		   too): a 22 px box with -6 px above it (16 px) centred in the row, not a floor on the stars */
		margin-top: -6px !important;
		margin-bottom: 0 !important;
		height: 22px;
		align-self: center;
	
	}
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-bridge-progress-icons {
		align-self: center;
		min-height: 0;
	
	}
}
@media (max-width: 767px) {
	.page-id-1165 .wp-block-group:has(> .wp-block-group__inner-container > .serena-bridge-progress-icons) {
		margin-top: 15px !important;
	
	}
}
@media (min-width: 1367px) {
	.page-id-1165 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		padding: 10% 14% 7% !important;
	
	}
}

/* The hero's picture (Elementor's `background_image`, precios-cabecera4-min.jpg, cover, top centre) is the band's own `bg.image` (id, cover, centre top): `serena/band` paints it, not this sheet. */
/* The hero: Elementor's container is 600 px tall (500 on a laptop, 380 on a tablet, 213 on a phone; its content never lets the phone one go under its text), runs 70 px up under the header
   from 1025 px, and its text column is 50 % of the box with a 5 % left margin and its own 10 px padding (Elementor's outer container has none: the box is the whole width). */
.page-id-1165 main#serena-main > .serena-band:first-child {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 600px;
}
.page-id-1165 main#serena-main > .serena-band:first-child > .serena-band__inner {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	padding-left: 0;
	padding-right: 0;
}
@media (min-width: 1025px) {
	.page-id-1165 main#serena-main > .serena-band:first-child {
		margin-top: -70px;
		padding-top: 70px !important;
	}
	.page-id-1165 main#serena-main > .serena-band:first-child > .serena-band__inner > .wp-block-group {
		box-sizing: border-box;
		width: 50%;
		margin-left: 5%;
		padding-left: 10px;
		padding-right: 10px;
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-1165 main#serena-main > .serena-band:first-child {
		min-height: 500px;
	}
}
@media (max-width: 1024px) {
	.page-id-1165 main#serena-main > .serena-band:first-child {
		min-height: 380px;
	}
}
@media (max-width: 767px) {
	.page-id-1165 main#serena-main > .serena-band:first-child {
		min-height: 213px;
	}
}
/* The strip of three checks (`serena-il-*`): Elementor's icon list is a centred flex row whose items carry half the gap on each side (the list is that much wider than its box) and an icon box
   1.25 × the icon, the text 5 px further; the size, gap, type size and spacing change at the laptop (<= 1366), tablet (<= 1024) and phone (<= 767) widths. The phone left-aligns and keeps the tablet's
   gap / icon / spacing with a 17 px text on a 1.6em line. The check is the kit's yellow. */
.page-id-1165 .serena-il-yellow {
	--serena-il-color: #ffbc02;
}
.page-id-1165 .serena-esp-checks.serena-il-inline {
	--serena-il-gap: 30px;
	--serena-il-size: 20px;
	--serena-il-fs: 22px;
	--serena-il-ls: normal;
	--serena-il-lh: 26px;
	column-gap: 0;
	justify-content: center;
	width: calc(100% + var(--serena-il-gap));
	max-width: none;
	margin-left: calc(var(--serena-il-gap) / -2);
	margin-right: calc(var(--serena-il-gap) / -2);
	flex: 0 0 auto;
}
.page-id-1165 .serena-esp-checks.serena-il-inline li {
	margin: 0 calc(var(--serena-il-gap) / 2);
	padding-left: calc(var(--serena-il-size) * 1.25 + 5px);
	font-family: Nunito, sans-serif;
	font-weight: 600;
	font-size: var(--serena-il-fs);
	letter-spacing: var(--serena-il-ls);
	line-height: var(--serena-il-lh);
	color: #4f4f4f;
}
.page-id-1165 .serena-esp-checks.serena-il-inline li::before {
	width: var(--serena-il-size);
	height: var(--serena-il-size);
	margin-top: calc(var(--serena-il-size) / -2);
}
@media (max-width: 1366px) {
	.page-id-1165 .serena-esp-checks.serena-il-inline {
		--serena-il-gap: 15px;
		--serena-il-size: 15px;
		--serena-il-fs: 18px;
		--serena-il-ls: -0.1px;
	}
}
@media (max-width: 1024px) {
	.page-id-1165 .serena-esp-checks.serena-il-inline {
		--serena-il-gap: 10px;
		--serena-il-size: 12px;
		--serena-il-fs: 14px;
		--serena-il-ls: -0.3px;
	}
}
@media (max-width: 767px) {
	.page-id-1165 .serena-esp-checks.serena-il-inline {
		--serena-il-fs: 17px;
		--serena-il-lh: 1.6em;
		justify-content: flex-start;
	}
}
/* «Nuestros planes» (1165): the four white cards of 7292's «Bonos» (same Elementor containers: 33 %, 30 px gap, 20 px radius, the same shadow), copied from `.serena-lk-ld-plans` with this page's hooks
   (the band itself, its curves and its heading are band attributes here, not that fingerprint's). */
/* the four plan cards: a row of white 20 px-radius boxes (33 %, shrinking to fit) with a 15 px gap between their lines */
.page-id-1165 .serena-band.pricing-table .wp-block-columns {
	flex-wrap: nowrap !important;
	gap: 30px !important;
	justify-content: flex-start;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 0 1 33% !important;
	justify-content: center;
	gap: 15px;
	overflow: hidden;
	padding: 30px 20px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: -7px 15px 15px 0 rgba(115.23, 12.26, 119, 0.19);
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div {
	margin: 0 !important; /* the generator's own bottom margins (15 px) would double the card's 15 px gap */
	font-family: Nunito, sans-serif;
	text-align: center;
	letter-spacing: 0;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div a {
	color: inherit;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div:nth-child(1) {
	align-self: center;
	text-align: start;
	font-size: 20px;
	font-weight: 600;
	line-height: 20px;
	letter-spacing: 0.5px;
	color: #b11972;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div:nth-child(2) {
	font-size: 15px;
	font-weight: 400;
	line-height: 15px;
	color: #4f4f4f;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div:nth-child(3) {
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
	color: #ff9472;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div:nth-child(3) sub {
	font-size: 25px;
	line-height: 25px;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div:nth-child(4) {
	font-size: 15px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #707070;
}
.page-id-1165 .serena-band.pricing-table .wp-block-column > div b {
	font-weight: 700;
}
/* tablet (Elementor: <= 1024 px): two cards per row (47 %, space-between, 30 px between rows) */
@media (max-width: 1024px) {
	.page-id-1165 .serena-band.pricing-table .wp-block-columns {
		flex-wrap: wrap !important;
		justify-content: space-between;
	}
	.page-id-1165 .serena-band.pricing-table .wp-block-column {
		flex: 0 0 47% !important;
	}
}
@media (max-width: 767px) {
	.page-id-1165 .serena-band.pricing-table .wp-block-columns {
		flex-wrap: wrap !important;
	}
	.page-id-1165 .serena-band.pricing-table .wp-block-column {
		flex: 0 0 100% !important;
		align-items: center;
		justify-content: space-between;
		padding: 20px;
		border-radius: 13px;
	}
}
/* The rating line and the press kicker are Nunito spans in Elementor (the rating's «Excelente 4.8» is the kit's 17 px, and its row has no air above it: the 10 px of the group's own margin is all). */
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
	padding-top: 0;
}
.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) > .serena-esp-span {
	font-family: Nunito, sans-serif;
	font-size: 17px;
}
.page-id-1165 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	font-family: Nunito, sans-serif;
}
/* Tablet and phone: the rating row is centred (Elementor's `flex_justify_content_tablet / _mobile: center`) in the whole column, and the text sits lower in the hero: Elementor's container keeps 70 px of
   air above its content under the header (45 px on top of the band's own 20 px on a tablet, 40 px more on a phone). */
@media (max-width: 1024px) {
	.page-id-1165 .wp-block-group__inner-container:has(> .serena-bridge-progress-icons) {
		justify-content: center;
		max-width: none;
	}
	.page-id-1165 main#serena-main > .serena-band:first-child {
		padding-top: 65px !important;
	}
}
@media (max-width: 767px) {
	.page-id-1165 main#serena-main > .serena-band:first-child {
		padding-top: 60px !important;
	}
	.page-id-1165 main#serena-main > .serena-band:first-child > .serena-band__inner > .wp-block-group {
		padding-bottom: 15px !important;
	}
}

/* Gate W point 2: «Sesión inmediata» picture centred in its figure from 1025 px (copy of 6489's rule). */
@media (min-width: 1025px) {
	.page-id-1165 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		margin-left: auto;
		margin-right: auto;
	}
}
/* ==========================================================================================================================================
   L4c (#94), 9877 guias-gratuitas — MEASURED against the Elementor «before» (evidence/r41/nine). Every rule is scoped to `.page-id-9877`; no other page takes them.
   The header's PHOTO and gradient are the band's own `bg` (no rule here paints them). The twelve cards are the columns of ONE `core/columns` that wraps (Elementor's
   container is a wrapping flex row): their `calc()` widths (33 % − 70 px from 768 px, 50 % − 50 px from 768 to 1024 px, the whole row on a phone) are the generator's
   SL4C_CALC_WIDTH_PAGE_CSS, painted here. Five of the twelve are hidden at every width by `serena-hide-*` on the column (copied as they are).
   ========================================================================================================================================== */

/* the header: Elementor's container is 500 px at least (350 on a tablet, 213 on a phone); the band's own default for a «min-height» section is 400 px */
.page-id-9877 main#serena-main > .serena-band.serena-esp-minh:first-child > .serena-band__inner {
	min-height: 500px;
}
@media (max-width: 1024px) {
	.page-id-9877 main#serena-main > .serena-band.serena-esp-minh:first-child > .serena-band__inner {
		min-height: 350px;
	}
}
@media (max-width: 767px) {
	.page-id-9877 main#serena-main > .serena-band.serena-esp-minh:first-child > .serena-band__inner {
		min-height: 213px;
	}
}

/* the two lines of the header run 10-20 px past the right edge (their box is the band's width plus the 20 px margin-left of the widget): measured, the page has no sideways scroll in Elementor, so none here */
.page-id-9877 main#serena-main > .serena-band:first-child {
	overflow-x: clip;
}
/* the two lines of the header sit 5 % of the container's width (1300 px at most) + 30 px from its left edge from 768 px up, in a box 95 % of it less 40 px wide */
@media (min-width: 768px) {
	.page-id-9877 main#serena-main > .serena-band:first-child .serena-band__inner > .serena-esp-center {
		margin-left: calc(20px + min(100vw, 1300px) * 0.05) !important;
		margin-right: 0 !important;
		/* Elementor's box (measured at 820/900/1025/1100): the widget-wrap starts 5 % of the container in, plus its 10 px padding and the widget's 20 px margin, and is the rest of the container less 40 px wide; the lines wrap by THAT width, not by the band's */
		width: calc(min(100vw, 1300px) * 0.95 - 40px);
		flex: 0 0 auto;
	}
}
/* above 1024 px the theme pulls an Elementor page up by 7 rem so the header's gradient runs behind the transparent sticky header: the native page starts below it */
@media (min-width: 1025px) {
	.page-id-9877 main#serena-main > .serena-band:first-child {
		margin-top: -70px;
	}
}

/* the intro («Elige la tuya»): measured, Elementor's box is 20 px inside on a desktop and a laptop (the container's 10 px of default padding on top of the band's 10), none on a phone (the page's 20 px are the band's own) */
@media (min-width: 1025px) {
	.page-id-9877 #especialidades-individuales > .serena-band__inner {
		padding: 20px;
	}
}
@media (max-width: 767px) {
	.page-id-9877 #especialidades-individuales > .serena-band__inner {
		padding: 0;
	}
}
/* the grid's own box is the container's content width (1060 px at most) with no band padding of its own: the cards' percentages are of it; the shadow turned beyond the edge is clipped, as the page clips it */
.page-id-9877 .especialidades-main {
	--serena-band-pad: 0;
	overflow-x: clip;
}

/* a `<p>` heading carries 16 px above and below in Elementor; the widget's own side padding token (`--serena-rp-d`, `padding: … !important`) wins over `.serena-esp-p16` and drops them */
.page-id-9877 .serena-esp-p16[style*="--serena-rp-d"] {
	padding-top: 16px !important;
	padding-bottom: 16px !important;
}

/* the grid of cards: a wrapping row, 100 px between cards (70 px up to 1366 px; on a phone 50 px between rows and none between columns) */
.page-id-9877 .especialidades-main .wp-block-columns {
	flex-wrap: wrap !important;
	justify-content: center;
	gap: 100px;
	margin: 0;
}
@media (max-width: 1366px) {
	.page-id-9877 .especialidades-main .wp-block-columns {
		gap: 70px;
	}
}
@media (max-width: 767px) {
	.page-id-9877 .especialidades-main .wp-block-columns {
		gap: 50px 0;
	}
}

/* a card: white-ish column with Elementor's gradient (#FAFAFA to its default second colour #f2295b, covered by the picture and the text box), turned 5° */
.page-id-9877 .especialidades-main .wp-block-columns > .wp-block-column {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 0 0 calc(33% - 70px) !important;
	background-image: linear-gradient(180deg, #fafafa 0%, #f2295b 100%);
	/* Elementor's own transform, function by function as its `.e-transform` rule computes it (measured: matrix3d, m34 = -1): the `perspective(0)` + the 3D functions make Chrome give each card its own compositing layer («Trivial3DTransform», 7 layers; a plain `rotateZ(-5deg)` or `perspective(0) rotate(-5deg)` alone makes none), and that layer is what rasterises the card the way Elementor's does (band 2: 3-6 % of the band apart without it, 0 % with it) */
	transform: perspective(0) rotate(-5deg) rotateX(0) rotateY(0) translate(0) translateX(0) translateY(0) scaleX(1) scaleY(1) skewX(0) skewY(0);
}
@media (max-width: 1024px) {
	.page-id-9877 .especialidades-main .wp-block-columns > .wp-block-column {
		flex-basis: calc(50% - 50px) !important;
	}
}
@media (max-width: 767px) {
	.page-id-9877 .especialidades-main .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
}
/* the diffuse shadow behind the card (the container's `custom_css`): a darker, blurred copy turned 1° the other way, 5 % left and down */
.page-id-9877 .especialidades-main .wp-block-columns > .wp-block-column::before {
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.22);
	position: absolute;
	z-index: -1;
	left: -5%;
	top: 5%;
	transform: rotate(1deg);
	filter: blur(7px);
}
.page-id-9877 .especialidades-main .serena-link-card {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.page-id-9877 .especialidades-main .serena-link-card > .wp-block-group:last-child {
	box-sizing: border-box;
	flex: 1 0 auto;
	background-color: #fafafa;
}
.page-id-9877 .especialidades-main .serena-link-card .wp-block-image {
	display: block;
	margin: 0;
}
/* the picture is its own size (450 x 350) centred, and 100 % of the card when the card is narrower: Elementor's image widget. NO `width: auto`:
   the width / height attributes are the box that is reserved before the file arrives (an `auto` width is 0 x 0 until it loads, the card jumps and the
   page below it drops by the picture's height: round 47, CLS 1.27 against Elementor's 0.0) */
.page-id-9877 .especialidades-main .serena-link-card .wp-block-image img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}

/* The «Es posible que nos hayas visto en» kicker and the press logos (2139, 6489, 1165, selector for selector): the glyphs 1 px down, and the bare 140 px swiper right under it (no frame of the block) */
.page-id-9877 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	position: relative;
	top: 1px;
}
.page-id-9877 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	font-family: Nunito, sans-serif;
}
.page-id-9877 .serena-band.home-partners .serena-media-carousel {
	margin: 0;
	padding: 0;
}
/* The «Sesión inmediata» band (the same picture, 5118, and the same Elementor widgets as 1165 and the home): copies of 1165's rules, rule for rule */
@media (max-width: 1024px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
		flex-direction: column;
		flex-wrap: nowrap;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		flex: 0 0 auto !important;
		width: 100%;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		padding: 30px;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 40px;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: block;
		width: 60%;
		margin: 0 auto;
		height: auto;
	}
}
.page-id-9877 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) > .serena-band__inner {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}
.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
	gap: 0;
	align-items: center;
}
.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
}
.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button {
	justify-content: flex-start;
}
.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button .qbutton {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 1025px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 45% !important;
		padding: 30px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: stretch;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		flex: 0 0 calc(55% - 50px) !important;
		margin-left: 50px;
		padding: 10px;
	}
}
@media (min-width: 1367px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 22px;
		padding-bottom: 2px;
	}
}
@media (max-width: 1366px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 18px;
		padding-bottom: 3px;
	}
}
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 calc(100% * 45 / 105) !important;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		flex: 0 0 calc(100% * 60 / 105) !important;
		margin-left: 0;
	}
}
@media (max-width: 1024px) {
	.page-id-9877 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 650px auto;
	}
}
@media (max-width: 767px) {
	.page-id-9877 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 355px auto;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 5px;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image {
		text-align: center;
	}
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: inline-block;
		margin-left: 15px;
		width: 679px;
		max-width: calc(100% - 15px);
		height: auto;
	}
}
@media (min-width: 1367px) {
	.page-id-9877 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		padding: 10% 14% 7% !important;
	}
}

/* Gate W point 2: «Sesión inmediata» picture centred in its figure from 1025 px (copy of 6489's rule). */
@media (min-width: 1025px) {
	.page-id-9877 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		margin-left: auto;
		margin-right: auto;
	}
}
/* ==========================================================================================================================================
   L4c (#94), 3373 regala — MEASURED against the Elementor «before» (evidence/r43). Every rule is scoped to `.page-id-3373`.
   The header's picture, gradient and waves are the band's own `bg` / `shapes`; its 65vh is the sheet's (the generator's SL4C_SECTION_MINH_PAGE_CSS).
   The three prices are `serena-po-*` tokens in the markup (`_position: absolute`, right 16, top 10 / 9), painted here because a `wp:html` span has no attribute to read them.
   ========================================================================================================================================== */

/* the first three bands: Elementor's columns say «padding 0» (no default gap of 10px) */
.page-id-3373 main#serena-main > .serena-band:nth-child(-n+3) {
	--serena-band-pad: 0px;
}

/* the header: a 65vh row of 1300px, its two columns centred in it */
.page-id-3373 main#serena-main > .serena-band:first-child > .serena-band__inner {
	min-height: 65vh;
	box-sizing: border-box;
}
.page-id-3373 main#serena-main > .serena-band:first-child > .serena-band__inner > .wp-block-columns {
	align-items: center !important; /* core's `.wp-block-columns { align-items: normal !important }` */
	flex-wrap: nowrap;
	gap: 0;
	width: 100%;
	margin: 0;
}
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column {
	box-sizing: border-box;
	min-width: 0;
}
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child {
	padding-right: 25px;
}
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:last-child {
	padding-left: 25px;
}
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child .wp-block-group > .wp-block-group__inner-container {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 10px;
}
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Elementor stacks the widgets of a column in a flex column: their margins do NOT collapse (the generator writes them for that model) */
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child,
.page-id-3373 .card > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
}

/* tablet and phone: the two columns stack (Elementor's `_inline_size_tablet: 100`); the picture is 400px (the whole width on a phone), centred, the card 30px under the text */
@media (max-width: 1024px) {
	.page-id-3373 main#serena-main > .serena-band:first-child > .serena-band__inner > .wp-block-columns {
		flex-wrap: wrap !important; /* core: `flex-wrap: nowrap !important` from 782px */
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column {
		flex-basis: 100% !important;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:last-child {
		padding-left: 0;
		margin-top: 30px;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:last-child > .wp-block-group {
		width: 400px;
		max-width: 100%;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
@media (max-width: 767px) {
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child {
		padding: 0 15px;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:last-child {
		margin-top: 0;
		padding-left: 30px;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:last-child > .wp-block-group {
		width: 100%;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child .wp-block-group > .wp-block-group__inner-container {
		flex-direction: column;
		align-items: center;
	}
}

/* tablet and phone, where the two columns are two stacked rows: Elementor spreads the free space of the 65vh row AROUND the rows (`align-content: space-around`: a quarter above the text, half between the text and the picture, a quarter under it). The 360 px phone's «3px between the columns» (measured 479 -> 482 at a 900px window, round 44) was this free space, not a margin: with a 700px window the row has none and the picture sits 2.8px higher (round 45: docH +3 at 360 x 700) */
@media (max-width: 1024px) {
	.page-id-3373 main#serena-main > .serena-band:first-child > .serena-band__inner > .wp-block-columns {
		flex-grow: 1;
		align-content: space-around;
	}
}

/* the buttons sit 40px under the last line: the widget's 20px margin and the 20px between widgets, on top of the paragraph's own (the generator's 16 + 20 + 20 is cut to 20 by `.cmb-2`) */
.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child > .wp-block-group {
	margin-top: 40px !important;
}

@media (min-width: 768px) {
	.page-id-3373 main#serena-main > .serena-band:first-child .serena-bridge-button {
		margin-bottom: 0 !important;
	}
}

/* a laptop (1025-1366px) shows both text widgets (the second is hidden on a desktop and a tablet only): the widget's 20px margin, the 20px between widgets and the paragraph's own 16px sit above it (the column is a flex box: margins do not collapse) */
@media (min-width: 1025px) and (max-width: 1366px) {
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child > p.fx13 {
		margin-top: 56px !important;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child > .wp-block-group {
		margin-bottom: 0 !important;
	}
}

/* the h1's 44 px line (Bridge's own) is Elementor's phone value, up to 600 px; from 601 to 767 the widget's 64 px of the tablet chain applies (measured at 601 and 700): two lines are 40 px taller, which moves everything under the title (round 45, QA 3373: -10 px on the h1, -40 px on the rest at 601) */
@media (max-width: 600px) {
	.page-id-3373 main#serena-main > .serena-band:first-child h1 {
		line-height: 44px;
	}
}
/* 601-767: Elementor limits the picture to its 623 px natural width and centres it (from 654 px the column is wider than that); the phone's `width: 100%` stays up to 600 */
@media (min-width: 601px) and (max-width: 767px) {
	.page-id-3373 main#serena-main > .serena-band:first-child h1 {
		line-height: 64px;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-image img {
		max-width: 623px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* a phone: the widget says 15px (the paragraph's 1.3em is 19.5px), centred; the h1's line is 44px */
@media (max-width: 767px) {
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child > p.fx13 {
		font-size: 19.5px;
		line-height: 23.4px;
		text-align: center;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child > .wp-block-group {
		margin-top: 30px !important;
	}
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:first-child .wp-block-group > .wp-block-group__inner-container {
		gap: 0;
	}
}

/* the three cards: 335px (295 on a phone) inside their third, a 30px radius, the shadow of the inner column, 30px under the button */
.page-id-3373 main#serena-main > .serena-band:nth-child(3) > .serena-band__inner > .wp-block-columns {
	gap: 0;
}
.page-id-3373 main#serena-main > .serena-band .wp-block-column[style*="flex-basis:33%"] {
	flex-basis: 33.333% !important;
}
.page-id-3373 .card {
	position: relative;
	box-sizing: border-box;
	width: 335px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	border-radius: 30px;
	box-shadow: -14px 20px 30px #dad2d2;
}
.page-id-3373 .card img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 30px 30px 0 0;
}
.page-id-3373 .card span.serena-po-d-a-e16-s10-z0,
.page-id-3373 .card span.serena-po-d-a-e16-s9-z0 {
	position: absolute;
	right: 16px;
	left: auto;
	top: 10px;
	width: auto;
	text-shadow: 0 0 10px rgba(177, 25, 114, 0.36);
}
.page-id-3373 .card span.serena-po-d-a-e16-s9-z0 {
	top: 9px;
}

@media (max-width: 1024px) {
	.page-id-3373 .card {
		width: auto;
		max-width: 335px;
		min-width: min-content;
		margin-left: 10px !important; /* `.serena-esp-gap10-1` centres it with `auto !important` */
		margin-right: 10px !important;
	}
}
/* the card's inner column pads 30px under the button (20 on a tablet, none on a phone) */
.page-id-3373 .card.serena-esp-gap10-1 > .wp-block-group__inner-container {
	padding: 0 0 30px;
}
@media (max-width: 1024px) {
	.page-id-3373 .card.serena-esp-gap10-1 > .wp-block-group__inner-container {
		padding: 0 0 20px;
	}
}
@media (max-width: 767px) {
	.page-id-3373 .card.serena-esp-gap10-1 > .wp-block-group__inner-container {
		padding: 0;
	}
}
/* above 1024 px the theme pulls an Elementor page up by 7 rem under the transparent sticky header: the native page starts below it */
@media (min-width: 1025px) {
	.page-id-3373 main#serena-main > .serena-band:first-child {
		margin-top: -70px;
	}
}

/* «¿Cómo funciona?»: three steps of a third, an 80px icon, 16 / 28px text */
.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__item {
	width: 33.333%;
	padding: 0;
}
.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__item > * {
	padding: 0 15px;
}
.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__icon img {
	width: 80px;
	height: 80px;
}
.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__icon {
	margin-bottom: 10px;
}
.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__text {
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	line-height: 28px;
}
@media (max-width: 767px) {
	.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__item {
		width: 100%;
	}
	.page-id-3373 .card {
		width: 295px;
	}
}

/* a phone: the three cards stack (after the third-width rule above) */
@media (max-width: 767px) {
	.page-id-3373 main#serena-main > .serena-band .wp-block-column[style*="flex-basis:33%"] {
		flex-basis: 100% !important;
	}
	.page-id-3373 main#serena-main > .serena-band:nth-child(3) > .serena-band__inner > .wp-block-columns {
		flex-wrap: wrap !important;
	}
}
@media (max-width: 767px) {
	.page-id-3373 main#serena-main > .serena-band:nth-child(3) .wp-block-column {
		margin-bottom: 30px;
	}
	.page-id-3373 main#serena-main > .serena-band:nth-child(3) .wp-block-column:last-child {
		margin-bottom: 50px;
	}
	/* Gate V point 5: Elementor's picture is its 295 px box (capped at the column) less the widget-wrap's 10 px a side, so below ~315 px of column it is
	   the column less 20 (270 px at 320, x = 25; a 100 % cap gave 275 at x = 22.5 and a 4.4 px taller card) */
	.page-id-3373 .card {
		width: 275px;
		max-width: calc(100% - 20px);
		min-width: 0;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.page-id-3373 .card figure.wp-block-image {
		margin-left: 0;
		margin-right: 0;
	}
	.page-id-3373 .card span.serena-po-d-a-e16-s10-z0,
	.page-id-3373 .card span.serena-po-d-a-e16-s9-z0 {
		right: 16px;
	}
}
@media (max-width: 767px) {
	.page-id-3373 main#serena-main > .serena-band:first-child .wp-block-column:last-child > .wp-block-group {
		position: relative;
		left: 2.5px; /* the widget's -5px right margin widens its box, the picture is centred in it */
	}
	.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__icon {
		margin-bottom: 0;
	}
	.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__item {
		margin-bottom: 30px;
	}
	.page-id-3373 .serena-icon-cards--steps .serena-icon-cards__item:last-child {
		margin-bottom: 30px;
	}
}

/* ==========================================================================================================================================
   L4c (#94), 7987 tests — DEDUCED from the computed style of production's /tests/ (GET, 1920 / 1440 / 1280 / 1100 / 1025 / 1024 / 820 / 768 / 390 px:
   evidence/r53/prod/probe-7987.json and cmp-9877-7987.json; the CTA columns re-read at 1920 / 1440 / 1367 / 1366 / 1280) and from the page's `_elementor_data`. Compared with a SUBSTITUTE
   render (the generator's content rendered by the theme's own render.php in php-cli, inside the shell of a native page, with this sheet: evidence/r53/harness/, diff-final.txt).
   NOT measured on the container's native page (the apply is blocked): that is TO BE MEASURED. What the substitute shows, at 1920 / 1440 / 1280 / 1100 / 1025 / 1024 / 820 / 768 / 390 px:
   - boxes (x, y, width, height, tolerance 1 px) of the bands, the header lines, the intro lines, the six cards with their pictures, title, description and button, and the CTA
     columns and copy: all within 1 px of production's except the 9 `cta-btn` rows of diff-final.txt (one per width). Those 9 are a harness artefact, not a gap: the harness measures
     the button's WRAPPER (`.serena-bridge-button`, a flex row as wide as the column) against production's LINK (`87deaa4_in`, 306.7 px wide); the link itself (`a.qbutton.cita-urgente`)
     measures x / y / 306.7 x 42 (30 px high at 390) in the substitute, equal to production's at all 9 widths (harness/cta-link-r2.txt);
   - pixels (ImageMagick AE, fuzz 3 %, scrolled screenshots; harness/pixels-r2.txt): header, intro and note 0.00 % at every width; the two card rows 0.01-0.76 % at 1920-768 and
     0.85-1.43 % at 390; the CTA 0.00-0.70 %; the logos band 1.50-5.53 % (the carousel is a different markup: NOT identical, only its box matches);
   - the document height differs from production's (e.g. 3547 vs 3048 px at 1440) because the harness shell is not production's page; heights are compared band by band, not as a whole.
   Everything else, in particular hover / focus states, the lazy-loading and the real header / footer around the page, is TO BE MEASURED on the native page. Every rule is scoped
   to `.page-id-7987`; no other page takes them.
   The header's picture, gradient and waves are the band's own `bg` / `shapes`; its 500 / 350 / 213 px is the generator's SL4C_SECTION_MINH_PAGE_CSS (`section 14cdb10`).
   ========================================================================================================================================== */

/* the header: the same section as 9877's (14cdb10), the same box at every width; its two lines are LEFT-aligned here (9877's are centred) */
.page-id-7987 main#serena-main > .serena-band.serena-esp-minh:first-child > .serena-band__inner {
	min-height: 500px;
}
@media (max-width: 1024px) {
	.page-id-7987 main#serena-main > .serena-band.serena-esp-minh:first-child > .serena-band__inner {
		min-height: 350px;
	}
}
@media (max-width: 767px) {
	.page-id-7987 main#serena-main > .serena-band.serena-esp-minh:first-child > .serena-band__inner {
		min-height: 213px;
	}
}
.page-id-7987 main#serena-main > .serena-band:first-child {
	overflow-x: clip;
}
/* from 768 px the two lines start 5 % of the container (1300 px at most) + 20 px (the widget's own margin) from the band's inner edge, in a box 95 % of it less 40 px wide (GET, 768-1920: x 68.4 / 71 / 81.3 / 85 / 165, width 689.6 / 739 / 933.8 / 1005 / 1195 — the same numbers as 9877's) */
@media (min-width: 768px) {
	.page-id-7987 main#serena-main > .serena-band:first-child .serena-band__inner > :is(div, h1) {
		margin-left: calc(20px + min(100vw, 1300px) * 0.05) !important;
		margin-right: 0 !important;
		width: calc(min(100vw, 1300px) * 0.95 - 40px);
		flex: 0 0 auto;
	}
}
/* on a phone Elementor's column keeps its 5 % left margin (+ the widget's 20 px): the lines start at 39.5 px of 390 and run to the right edge (GET: x 39.5, width 350.5) */
@media (max-width: 767px) {
	.page-id-7987 main#serena-main > .serena-band:first-child .serena-band__inner > :is(div, h1) {
		margin-left: calc(20px + 5%) !important;
		margin-right: 0 !important;
		width: calc(95% - 20px);
	}
}
/* above 1024 px the theme pulls an Elementor page up by 7 rem so the header's gradient runs behind the transparent sticky header: the native page starts below it (the section is at -4.5 px at 1440 and -44 px at 1280 on both pages: GET) */
@media (min-width: 1025px) {
	.page-id-7987 main#serena-main > .serena-band:first-child {
		margin-top: -70px;
	}
}

/* the intro («Realiza uno de nuestros tests»): on a tablet and a phone Elementor's column carries a 40 px margin under its content (GET: the band is 40 px taller than its text, 284.4 against 244.4 at 1024, 387 against 347 at 390) */
@media (max-width: 1024px) {
	.page-id-7987 #especialidades-individuales > .serena-band__inner {
		padding-bottom: 40px !important;
	}
}

/* the grid of the six tests: two bands of three cards. The columns share the row equally (Elementor's boxed container: 1060 px at most, 60 px between cards, 40 px up to 1366 px; on a phone
   they stack with the widget margin of the second and third card: 120 px). GET: card x 190 / 563.3 / 936.7 and 313.3 wide at 1440, 110 / 326.7 at 1280, 40 / 288 at 1024, 40 / 202.7 at 768, 30 / 330 at 390 */
.page-id-7987 .especialidades-main {
	--serena-band-pad: 0;
}
.page-id-7987 .especialidades-main .wp-block-columns {
	flex-wrap: nowrap;
	gap: 60px;
	margin: 0;
}
@media (max-width: 1366px) {
	.page-id-7987 .especialidades-main .wp-block-columns {
		gap: 40px;
	}
}
@media (max-width: 767px) {
	.page-id-7987 .especialidades-main .wp-block-columns {
		gap: 0;
	}
	.page-id-7987 .especialidades-main .wp-block-columns > .wp-block-column:not(:first-child) {
		margin-top: 120px;
	}
}
/* a card: the container's box shadow (0 0 20px rgba(0,0,0,.2)), a column flex with the picture on top and the button at the foot (`space-between`: the cards of a row are as tall as the tallest), 20 px between them and 40 px under the button */
.page-id-7987 .especialidades-main .wp-block-columns > .wp-block-column {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	padding: 0 0 40px;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}
/* the widgets of a flex container carry no bottom margin of their own (the generator's 20 px is the legacy widget margin; the gap above is Elementor's) */
.page-id-7987 .especialidades-main .wp-block-columns > .wp-block-column > * {
	margin-bottom: 0 !important;
}
/* the picture rises over the card's top edge (-140 px; -100 px up to 1366 px and -80 px up to 1024 px: the block's margin tokens) and sits in a 15 px frame, centred */
.page-id-7987 .especialidades-main .serena-ibx {
	box-sizing: border-box;
	padding: 0 15px 40px;
	text-align: center;
}
/* the picture is 90 % of the box (255 px of 283.3 at 1440, 232.2 of 258 at 1024, 270 of 300 at 390), 20 px above the title */
.page-id-7987 .especialidades-main .serena-ibx--top .serena-ibx__img {
	display: inline-block;
	width: 90%;
	margin: 0 0 20px;
}
/* Gate R (7987, band 2 between 655 and 767 px): the generic `.serena-ibx__img img { width: 100% }` stretches the card pictures (the 560 px files) to the box; in Elementor they stay at their own attribute (560, max-width 100 %), which is narrower than the box in that range.
   `revert-layer` hands the width back to the presentational hint (`width="560"`) and NOT to the UA sheet: `auto` / `unset` / `revert` drop the hint and collapse the bands (measured). The sheet declares no @layer, so the rollback lands on the hint. */
.page-id-7987 .especialidades-main .serena-ibx--top .serena-ibx__img img {
	width: revert-layer;
}
/* Gate R (7987): a DELIBERATE replica of an Elementor artefact, measured: in the first card of the band 2 (the first `.especialidades-main`; NOT the band 3, which a cap there would over-crop) the flex of Elementor counts the picture as 90 % of 560 px and the widget comes out at 626 px, 56 px shorter than ours in cold between 655 and 767 px. The cap gives the same document height (docH) as Elementor. */
.page-id-7987 .especialidades-main:not(.especialidades-main ~ .especialidades-main) .wp-block-columns > .wp-block-column:first-child > .serena-ibx {
	max-height: 626px;
}
/* the title: Nunito 27 px / 300 / uppercase / 0.5 px, the kit's accent colour, 44 px high lines (24 px up to 1366 px; 20 px on 24 px lines up to 1024 px), 10 px under it */
.page-id-7987 .especialidades-main .serena-ibx__title {
	margin: 0 0 10px;
	font-family: Nunito, sans-serif;
	font-size: 27px;
	font-weight: 300;
	line-height: 44px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--serena-color-accent);
}
@media (max-width: 1366px) {
	.page-id-7987 .especialidades-main .serena-ibx__title {
		font-size: 24px;
	}
}
@media (max-width: 1024px) {
	.page-id-7987 .especialidades-main .serena-ibx__title {
		font-size: 20px;
		line-height: 24px;
	}
}
/* the description: Open Sans 16 px on 28 px lines, the kit's secondary grey; 15 px on 21 px lines up to 1024 px */
.page-id-7987 .especialidades-main .serena-ibx__text {
	font-size: 16px;
	line-height: 28px;
	color: var(--serena-color-secondary);
}
@media (max-width: 1024px) {
	.page-id-7987 .especialidades-main .serena-ibx__text {
		font-size: 15px;
		line-height: 21px;
	}
}

/* The «Es posible que nos hayas visto en» kicker and the press logos (2139, 6489, 1165, selector for selector): the glyphs 1 px down, and the bare 140 px swiper right under it (no frame of the block) */
.page-id-7987 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	position: relative;
	top: 1px;
}
.page-id-7987 .serena-band.home-partners > .serena-band__inner > .serena-esp-span {
	font-family: Nunito, sans-serif;
}
.page-id-7987 .serena-band.home-partners .serena-media-carousel {
	margin: 0;
	padding: 0;
}
/* The «Sesión inmediata» band (the same picture, 5118, and the same Elementor widgets as 1165 and the home): copies of 1165's rules, rule for rule */
@media (max-width: 1024px) {
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
		flex-direction: column;
		flex-wrap: nowrap;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		flex: 0 0 auto !important;
		width: 100%;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		padding: 30px;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 40px;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: block;
		width: 60%;
		margin: 0 auto;
		height: auto;
	}
}
.page-id-7987 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) > .serena-band__inner {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: 0;
}
.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) {
	gap: 0;
	align-items: center;
}
.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
}
.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button {
	justify-content: flex-start;
}
.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .serena-bridge-button .qbutton {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 1025px) {
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column {
		box-sizing: border-box;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:first-child {
		flex: 0 0 45% !important;
		padding: 30px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-self: stretch;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		/* 45 % / 55 % of the row, no margin, at EVERY width from 1025 px up (GET: 558+682 of 1240 at 1280; 466.6+570.2 of 1036.8 at 1440; 622.1+760.3 of 1382.4 at 1920); 9877's calc(55% - 50px) + 50px margin is NOT copied */
		flex: 0 0 55% !important;
		margin-left: 0;
		padding: 10px;
	}
}
@media (min-width: 1367px) {
	/* from 1367 px the copy sits 50 px further in than the column's 10 px padding (GET: copy at x 728.2 / 950.9 in a column at 668.2 / 890.9 at 1440 / 1920; 694.3 vs 634.3 at 1367); up to 1366 px it does not (578 / 578 at 1280) */
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding-left: 60px;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 22px;
		padding-bottom: 2px;
	}
}
@media (max-width: 1366px) {
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child > .serena-esp-span {
		line-height: 18px;
		padding-bottom: 3px;
	}
}
@media (max-width: 1024px) {
	.page-id-7987 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 650px auto;
	}
}
@media (max-width: 767px) {
	.page-id-7987 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		background-size: 355px auto;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) > .wp-block-column:last-child {
		padding: 0 5px;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image {
		text-align: center;
	}
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		display: inline-block;
		margin-left: 15px;
		width: 679px;
		max-width: calc(100% - 15px);
		height: auto;
	}
}
@media (min-width: 1367px) {
	.page-id-7987 .serena-band:has(> .serena-band__inner > .wp-block-columns .wp-image-5118) {
		padding: 10% 14% 7% !important;
	}
}
/* Gate W point 2: «Sesión inmediata» picture centred in its figure from 1025 px (copy of 6489's rule). */
@media (min-width: 1025px) {
	.page-id-7987 .wp-block-columns:has(> .wp-block-column .wp-image-5118) .wp-block-image img {
		margin-left: auto;
		margin-right: auto;
	}
}
