/* =========================================================
 * ULL COOL — SISTEMA VISUAL GLOBAL 1.3.0
 * Tema hijo Divi 5 · limpio, encapsulado y reutilizable.
 * ========================================================= */

/* ULL-CSS-001 — Fuentes locales, sin llamadas a terceros. */
@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: 'Rajdhani';
	src: url('../fonts/rajdhani-500-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: 'Rajdhani';
	src: url('../fonts/rajdhani-600-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: 'Rajdhani';
	src: url('../fonts/rajdhani-700-latin.woff2') format('woff2');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

/* ULL-CSS-002 — Variables de marca y cimientos. */
:root {
	--ull-cool-ink: #020c1e;
	--ull-cool-navy: #00163b;
	--ull-cool-navy-2: #041f50;
	--ull-cool-blue: #0b4d8f;
	--ull-cool-cyan: #0baeea;
	--ull-cool-cyan-light: #4fd5ff;
	--ull-cool-paper: #f7fcff;
	--ull-cool-mist: #b7f3ff;
	--ull-cool-muted: #607087;
	--ull-cool-line: #dce7f1;
	--ull-cool-white: #fff;
	--ull-cool-header-height: 124px;
	--ull-cool-content: min(1480px, calc(100% - 64px));
}

html {
	scroll-behavior: smooth;
}

body:not(.wp-admin) {
	background: var(--ull-cool-white);
	color: var(--ull-cool-ink);
	font-family: 'Inter', Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

body.ull-cool-no-scroll {
	overflow: hidden;
}

body:not(.wp-admin) #page-container,
body:not(.wp-admin) #page-container .et_pb_section :where(p, li, dt, dd, label, input, select, textarea) {
	font-family: 'Inter', Arial, sans-serif;
}

body:not(.wp-admin) #page-container .et_pb_section :where(h1, h2, h3, h4, h5, h6, .et_pb_module_header, .et_pb_button),
.ull-cool-header {
	color: var(--ull-cool-paper);
	font-family: 'Rajdhani', Arial, sans-serif;
	font-weight: 600;
}

body:not(.wp-admin) #page-container .et_pb_section h1 { font-size: 52px; line-height: 1.1; }
body:not(.wp-admin) #page-container .et_pb_section h2 { font-size: 40px; line-height: 1.15; }
body:not(.wp-admin) #page-container .et_pb_section h3 { font-size: 28px; line-height: 1.2; }
body:not(.wp-admin) #page-container .et_pb_section h4 { font-size: 18px; line-height: 1.3; }

body:not(.wp-admin) #page-container .et_pb_section h1 .ull-h1-emphasis {
	color: var(--ull-cool-cyan-light);
}

a {
	color: inherit;
}

.ull-cool-container {
	width: var(--ull-cool-content);
	margin-inline: auto;
}

#page-container {
	padding-top: var(--ull-cool-header-height) !important;
}

#main-content {
	min-height: 52vh;
}

/* ULL-CSS-003 — Botón nativo de Divi y variantes editoriales reutilizables. */
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section a.et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section a.ayc-btn-blue,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button.ayc-btn-blue,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-blue > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-blue .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section a.ayc-btn-dark,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button.ayc-btn-dark,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-dark > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-dark .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section a.ayc-btn-marino,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button.ayc-btn-marino,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-marino > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-marino .et_pb_button {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--ull-button-width, 240px) !important;
	max-width: 100% !important;
	min-height: var(--ull-button-height, 48px) !important;
	padding: var(--ull-button-padding, 0 26px) !important;
	border: 1px solid rgba(76, 218, 255, .96) !important;
	border-radius: 8px !important;
	font-family: 'Rajdhani', Arial, sans-serif !important;
	font-size: var(--ull-button-font-size, 16px) !important;
	font-weight: 600 !important;
	letter-spacing: .055em !important;
	line-height: 1 !important;
	text-align: center;
	text-decoration: none !important;
	transition: transform .24s ease, border-color .24s ease, background-color .24s ease, box-shadow .24s ease, color .24s ease !important;
	white-space: normal;
}

body:not(.wp-admin) #page-container .et_pb_section .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section a.et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section a.ayc-btn-blue,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button.ayc-btn-blue,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-blue > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-blue .et_pb_button {
	background: linear-gradient(135deg, #0878f5, #0baeea) !important;
	color: #f7fcff !important;
	box-shadow: inset 0 0 18px rgba(126, 235, 255, .14), 0 0 22px rgba(0, 151, 255, .3) !important;
}

body:not(.wp-admin) #page-container .et_pb_section a.ayc-btn-dark,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button.ayc-btn-dark,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-dark > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-dark .et_pb_button {
	border-color: rgba(0, 188, 255, .78) !important;
	background: rgba(2, 12, 30, .72) !important;
	color: #edf8ff !important;
	box-shadow: inset 0 0 18px rgba(0, 174, 255, .04), 0 0 18px rgba(0, 174, 255, .08) !important;
}

body:not(.wp-admin) #page-container .et_pb_section a.ayc-btn-marino,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button.ayc-btn-marino,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-marino > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-marino .et_pb_button {
	border-color: #4fd5ff !important;
	background: linear-gradient(135deg, #00163b, #06326d) !important;
	color: #f7fcff !important;
	box-shadow: 0 8px 20px rgba(2, 12, 30, .16) !important;
}

/* Alias y variantes compartidas con climas.tienda. */
body:not(.wp-admin) #page-container .et_pb_section :is(
	a.ayc-btn-navy,
	.et_pb_button.ayc-btn-navy,
	.ayc-btn-navy > .et_pb_button,
	.ayc-btn-navy .et_pb_button
) {
	border-color: #4fd5ff !important;
	background: linear-gradient(135deg, #00163b, #06326d) !important;
	color: #f7fcff !important;
	box-shadow: 0 8px 20px rgba(2, 12, 30, .16) !important;
}

body:not(.wp-admin) #page-container .et_pb_section :is(
	a.ayc-btn-ghost,
	.et_pb_button.ayc-btn-ghost,
	.ayc-btn-ghost > .et_pb_button,
	.ayc-btn-ghost .et_pb_button,
	a.ull-btn-ghost,
	.et_pb_button.ull-btn-ghost,
	.ull-btn-ghost > .et_pb_button,
	.ull-btn-ghost .et_pb_button,
	a.ayc-btn-ghost-static,
	.et_pb_button.ayc-btn-ghost-static,
	.ayc-btn-ghost-static > .et_pb_button,
	.ayc-btn-ghost-static .et_pb_button
) {
	border-color: #071426 !important;
	background: transparent !important;
	color: #071426 !important;
	box-shadow: none !important;
}

body:not(.wp-admin) #page-container .et_pb_section :is(
	a.ayc-btn-ghost,
	.et_pb_button.ayc-btn-ghost,
	.ayc-btn-ghost:hover > .et_pb_button,
	.ayc-btn-ghost:hover .et_pb_button,
	a.ull-btn-ghost,
	.et_pb_button.ull-btn-ghost,
	.ull-btn-ghost:hover > .et_pb_button,
	.ull-btn-ghost:hover .et_pb_button
):hover {
	border-color: #071426 !important;
	background: #071426 !important;
	color: #fff !important;
}

body:not(.wp-admin) #page-container .et_pb_section :is(
	a.ayc-btn-ghost-static,
	.et_pb_button.ayc-btn-ghost-static,
	.ayc-btn-ghost-static:hover > .et_pb_button,
	.ayc-btn-ghost-static:hover .et_pb_button
):hover {
	border-color: #0878f5 !important;
	background: transparent !important;
	color: #063b68 !important;
	box-shadow: 0 10px 24px rgba(0, 83, 166, .12) !important;
}

body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button).ayc-btn-blue:hover,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button:hover,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-blue:hover > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-blue:hover .et_pb_button {
	border-color: #75e8ff !important;
	background: linear-gradient(135deg, #0786ff, #11b9ee) !important;
	color: #fff !important;
	box-shadow: inset 0 0 20px rgba(151, 241, 255, .18), 0 0 28px rgba(0, 166, 255, .42) !important;
	transform: translateY(-2px);
}

body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button).ayc-btn-dark:hover,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-dark:hover > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-dark:hover .et_pb_button {
	border-color: #42d5ff !important;
	background: rgba(0, 153, 255, .15) !important;
	color: #fff !important;
	box-shadow: inset 0 0 24px rgba(0, 174, 255, .09), 0 0 22px rgba(0, 174, 255, .2) !important;
	transform: translateY(-2px);
}

body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button).ayc-btn-marino:hover,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-marino:hover > .et_pb_button,
body:not(.wp-admin) #page-container .et_pb_section .ayc-btn-marino:hover .et_pb_button {
	border-color: #75e8ff !important;
	background: linear-gradient(135deg, #062656, #0b4d8f) !important;
	color: #fff !important;
	box-shadow: 0 12px 28px rgba(11, 174, 234, .25) !important;
	transform: translateY(-2px);
}

body:not(.wp-admin) #page-container .et_pb_section :is(
	a.ayc-btn-navy,
	.et_pb_button.ayc-btn-navy,
	.ayc-btn-navy:hover > .et_pb_button,
	.ayc-btn-navy:hover .et_pb_button
):hover {
	border-color: #75e8ff !important;
	background: linear-gradient(135deg, #062656, #0b4d8f) !important;
	color: #fff !important;
	box-shadow: 0 12px 28px rgba(11, 174, 234, .25) !important;
	transform: translateY(-2px);
}

body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button):is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino):focus-visible,
body:not(.wp-admin) #page-container .et_pb_section .et_pb_button:focus-visible,
body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino) > .et_pb_button:focus-visible,
body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino) .et_pb_button:focus-visible {
	outline: 3px solid #b7f3ff !important;
	outline-offset: 4px;
}

body:not(.wp-admin) #page-container .et_pb_section .et_pb_button::after,
body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button):is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino)::after,
body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino) .et_pb_button::after {
	content: none !important;
	display: none !important;
}

/* ULL-CSS-003A — Estado climático editorial, con texto editable en Divi. */
body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status {
	display: inline-block;
	width: auto !important;
	margin-top: 16px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status,
body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status :where(p, .et_pb_text_inner) {
	color: #8ea2b8 !important;
	font-family: 'Rajdhani', Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status p::before {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 11px;
	border-radius: 50%;
	background: #35d7ff;
	box-shadow: 0 0 5px #35d7ff, 0 0 12px rgba(53, 215, 255, .85), 0 0 22px rgba(53, 215, 255, .4);
	content: '';
	vertical-align: 1px;
	animation: ayc-clima-pulse 2.2s ease-in-out infinite;
}

@keyframes ayc-clima-pulse {
	0%, 100% { opacity: .65; transform: scale(.9); }
	50% { opacity: 1; transform: scale(1.08); }
}

/* ULL-CSS-004 — Cabecera global inspirada en el chrome editorial de ULL. */
.ull-cool-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	z-index: 9995;
	width: 100%;
	border-bottom: 1px solid transparent;
	background: transparent;
	color: #fff;
	box-shadow: 0 14px 34px rgba(2, 12, 30, 0);
	transform: translateY(0);
	transition: transform .32s cubic-bezier(.4, 0, .2, 1), background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
	will-change: transform;
}

.ull-cool-header.is-scrolled,
.ull-cool-header.is-menu-open,
body:not(.wp-admin):not(:has(#main-content .et_pb_section.ull-hero-editorial)) .ull-cool-header {
	border-bottom-color: rgba(79, 213, 255, .12);
	background: rgba(2, 12, 30, .94);
	box-shadow: 0 14px 34px rgba(2, 12, 30, .2);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.ull-cool-header.is-hidden:not(.is-menu-open) {
	pointer-events: none;
	transform: translateY(calc(-100% - var(--wp-admin--admin-bar--height, 0px)));
}

.ull-cool-skip {
	position: absolute;
	top: -100px;
	left: 24px;
	z-index: 10;
	padding: 12px 18px;
	background: #fff;
	color: var(--ull-cool-ink);
}

.ull-cool-skip:focus {
	top: 12px;
}

.ull-cool-header-top {
	height: 72px;
	border-bottom: 1px solid rgba(79, 213, 255, .14);
	background: transparent;
	color: #fff;
}

.ull-cool-header-top__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	height: 100%;
}

.ull-cool-header-context,
.ull-cool-header-contacts__list,
.ull-cool-header-actions,
.ull-cool-header-whatsapp,
.ull-cool-header-whatsapp__list {
	display: flex;
	align-items: center;
}

.ull-cool-header-context {
	min-width: 0;
	gap: 12px;
	font-family: 'Inter', Arial, sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .055em;
	white-space: nowrap;
}

.ull-cool-header-context > i {
	display: block;
	width: 1px;
	height: 16px;
	background: currentColor;
	opacity: .32;
}

.ull-cool-header-country {
	letter-spacing: .08em;
}

.ull-cool-header-contacts__list,
.ull-cool-header-whatsapp__list {
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ull-cool-header-contacts__list li,
.ull-cool-header-whatsapp__list li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}

.ull-cool-header-contacts__list li + li::before {
	margin: 0 8px;
	color: rgba(255, 255, 255, .5);
	content: '·';
}

.ull-cool-header-contacts a,
.ull-cool-header-whatsapp a {
	color: #fff !important;
	text-decoration: none;
	transition: color .18s ease;
}

.ull-cool-header-contacts a:hover,
.ull-cool-header-contacts a:focus-visible,
.ull-cool-header-whatsapp a:hover,
.ull-cool-header-whatsapp a:focus-visible {
	color: var(--ull-cool-cyan-light) !important;
}

.ull-cool-header-contacts a:focus-visible,
.ull-cool-header-whatsapp a:focus-visible,
.ull-cool-menu-toggle:focus-visible {
	outline: 3px solid rgba(11, 174, 234, .35);
	outline-offset: 3px;
}

.ull-cool-header-brand {
	display: inline-flex;
	align-items: center;
	justify-self: center;
	gap: 15px;
	color: #fff !important;
	text-decoration: none;
}

.ull-cool-header-brand img {
	display: block;
	width: 94px;
	height: 42px;
	object-fit: contain;
	filter: none;
}

.ull-cool-header-brand span {
	padding-left: 15px;
	border-left: 1px solid rgba(255, 255, 255, .32);
	color: var(--ull-cool-cyan-light);
	font-family: 'Rajdhani', Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .2em;
	white-space: nowrap;
}

.ull-cool-header-actions {
	justify-content: flex-end;
	gap: 10px;
}

.ull-cool-header-whatsapp {
	gap: 9px;
	font-family: 'Inter', Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .035em;
	white-space: nowrap;
}

.ull-cool-header-whatsapp__icon,
.ull-cool-header-whatsapp__icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.ull-cool-header-whatsapp__icon svg {
	fill: none;
	stroke: #0b8f52;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.35;
}

.ull-cool-mainbar {
	height: 52px;
	border-bottom: 1px solid rgba(79, 213, 255, .14);
	background: transparent;
	transition: background-color .25s ease, border-color .25s ease;
}

.ull-cool-header.is-scrolled .ull-cool-mainbar,
body:not(.wp-admin):not(:has(#main-content .et_pb_section.ull-hero-editorial)) .ull-cool-mainbar {
	background: transparent;
}

.ull-cool-mainbar__inner {
	display: grid;
	grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
	align-items: center;
	gap: 30px;
	height: 100%;
}

.ull-cool-nav > ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 2.3vw, 44px);
	height: 52px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ull-cool-nav {
	grid-column: 2;
}

.ull-cool-nav a,
.ull-cool-header-cta a {
	position: relative;
	color: #fff !important;
	font-family: 'Rajdhani', Arial, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
}

/*
 * Navegación editorial: igual que aireyclimas.mx.
 * El estado activo se comunica por color cian en el texto; no usamos una
 * segunda línea bajo el enlace porque el dropdown ya posee su franja cian.
 */
.ull-cool-nav a::after {
	display: none;
}

.ull-cool-nav > ul > .menu-item > a:hover,
.ull-cool-nav > ul > .menu-item > a:focus-visible,
.ull-cool-nav > ul > .current-menu-item > a,
.ull-cool-nav > ul > .current_page_item > a,
.ull-cool-nav > ul > .current-menu-ancestor > a,
.ull-cool-nav > ul > .current_page_ancestor > a {
	color: #38b6ff !important;
	text-shadow: 0 0 7px rgba(56, 182, 255, .42);
}

.ull-cool-nav li {
	margin: 0;
	padding: 0;
}

@media (min-width: 981px) {
	/* Menú desplegable editorial heredado de aireyclimas.mx. */
	.ull-cool-nav .menu-item {
		position: relative;
	}

	.ull-cool-nav .sub-menu {
		position: absolute;
		top: calc(100% + 14px);
		left: 0;
		width: 235px;
		min-width: 235px;
		margin: 0;
		padding: 8px 0;
		border: 0;
		border-top: 2px solid #38b6ff;
		border-radius: 0 0 8px 8px;
		background: #071426;
		box-shadow: 0 18px 40px rgba(0, 0, 0, .40), 0 0 22px rgba(56, 182, 255, .09);
		list-style: none;
		opacity: 0;
		pointer-events: none;
		transform: translateY(8px);
		visibility: hidden;
		transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		z-index: 100;
	}

	.ull-cool-nav > ul > .menu-item-has-children > .sub-menu::before {
		position: absolute;
		top: -14px;
		left: 0;
		width: 100%;
		height: 14px;
		content: '';
	}

	.ull-cool-nav .menu-item:hover > .sub-menu,
	.ull-cool-nav .menu-item:focus-within > .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		transition-delay: 0s;
	}

	.ull-cool-nav .sub-menu li {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	.ull-cool-nav .sub-menu a {
		display: block;
		width: 100%;
		padding: 11px 18px;
		border-bottom: 1px solid rgba(255, 255, 255, .06);
		background: transparent;
		color: rgba(255, 255, 255, .88) !important;
		font-family: 'Rajdhani', Arial, sans-serif;
		font-size: 15px;
		font-weight: 500;
		letter-spacing: 0;
		line-height: 1.35;
		white-space: normal;
		transition: color .2s ease, background-color .2s ease;
	}

	.ull-cool-nav .sub-menu li:last-child > a {
		border-bottom: 0;
	}

	.ull-cool-nav .sub-menu a:hover,
	.ull-cool-nav .sub-menu a:focus-visible {
		background: rgba(56, 182, 255, .07);
		color: #38b6ff !important;
	}

	.ull-cool-nav .sub-menu a::after {
		display: none;
	}

	/* Tercer nivel: se abre lateralmente sin alterar el primer dropdown. */
	.ull-cool-nav .sub-menu .sub-menu {
		top: -8px;
		left: calc(100% - 2px);
	}
}

.ull-cool-header-cta__list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ull-cool-header-cta {
	grid-column: 3;
	justify-self: end;
}

.ull-cool-header-cta a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 38px;
	padding: 7px 15px;
	border: 1px solid rgba(79, 213, 255, .7);
	border-radius: 8px;
}

.ull-cool-header-cta a::after {
	font-family: 'Rajdhani', Arial, sans-serif;
	font-size: 19px;
	font-weight: 500;
	line-height: 1;
	content: '→';
}

.ull-cool-menu-toggle svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.ull-cool-menu-toggle {
	display: none;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 8px;
	background: transparent;
	color: #fff;
}

.ull-cool-menu-toggle__close {
	display: none;
}

/*
 * ULL-CSS-005B — Refinamiento desktop 1.6.3.
 * Inspirado en la composición de aireyclimas.mx: la franja superior respira
 * un poco más, aprovecha mejor el ancho disponible y la navegación deja de
 * quedar centrada de forma rígida. En pantallas amplias el menú se apoya más
 * hacia el eje izquierdo, mientras el CTA conserva su anclaje a la derecha.
 * Tablet/móvil y el breakpoint <=1180 px permanecen sin cambios.
 */
@media (min-width: 1200px) {
	:root {
		--ull-cool-header-height: 126px;
	}

	.ull-cool-header-top {
		height: 74px;
	}

	.ull-cool-header-top__inner,
	.ull-cool-mainbar__inner {
		width: min(1520px, calc(100% - 32px));
	}

	.ull-cool-mainbar__inner {
		grid-template-columns: clamp(230px, 19vw, 300px) minmax(0, 1fr) auto;
		gap: 20px;
	}

	.ull-cool-nav {
		justify-self: start;
	}
}

/* ULL-CSS-006 — Responsive editorial. */
@media (max-width: 1180px) {
	:root { --ull-cool-content: calc(100% - 48px); }

	.ull-cool-mainbar__inner {
		grid-template-columns: minmax(130px, 1fr) auto minmax(130px, 1fr);
		gap: 20px;
	}

	.ull-cool-header-context { gap: 9px; font-size: 10px; }
	.ull-cool-header-contacts__list li + li::before { margin-inline: 5px; }
	.ull-cool-header-brand { gap: 11px; }
	.ull-cool-header-brand img { width: 86px; }
	.ull-cool-header-brand span { padding-left: 11px; font-size: 11px; letter-spacing: .16em; }
	.ull-cool-header-whatsapp { font-size: 11px; }
	.ull-cool-nav > ul { gap: 20px; }
	.ull-cool-nav a { font-size: 12px; }
	.ull-cool-header-cta a { padding-inline: 12px; font-size: 11px; }
}

@media (max-width: 980px) {
	:root { --ull-cool-header-height: 74px; }

	body:not(.wp-admin) #page-container .et_pb_section h1 { font-size: 42px; }
	body:not(.wp-admin) #page-container .et_pb_section h2 { font-size: 34px; }
	body:not(.wp-admin) #page-container .et_pb_section h3 { font-size: 26px; }
	body:not(.wp-admin) #page-container .et_pb_section h4 { font-size: 18px; }

	.ull-cool-header-top {
		height: 74px;
	}

	.ull-cool-header-top__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		height: 74px;
	}

	.ull-cool-header-context {
		display: none;
	}

	.ull-cool-header-brand {
		justify-self: start;
		gap: 10px;
	}

	.ull-cool-header-brand img {
		width: 82px;
		height: 38px;
	}

	.ull-cool-header-brand span {
		padding-left: 10px;
		font-size: 10px;
		letter-spacing: .13em;
	}

	.ull-cool-header-actions { gap: 4px; }

	/* En tablet/móvil desaparecen los teléfonos y queda WhatsApp junto al hamburguesa. */
	.ull-cool-header-whatsapp {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}

	.ull-cool-header-whatsapp__icon {
		position: absolute;
		inset: 11px;
		pointer-events: none;
	}

	.ull-cool-header-whatsapp__icon svg {
		stroke: #00b975;
		stroke-width: 1.7;
	}

	.ull-cool-header-whatsapp__nav,
	.ull-cool-header-whatsapp__list,
	.ull-cool-header-whatsapp__list li,
	.ull-cool-header-whatsapp__list a {
		display: block;
		width: 44px;
		height: 44px;
	}

	.ull-cool-header-whatsapp__list a {
		border-radius: 8px;
		font-size: 0;
		-webkit-tap-highlight-color: transparent;
	}

	.ull-cool-mainbar,
	.ull-cool-mainbar__inner {
		height: 0;
		border: 0;
		background: transparent;
	}

	.ull-cool-mainbar__inner { display: block; }
	.ull-cool-menu-toggle { display: grid; }
	.ull-cool-header-cta { display: none; }

	/* Panel móvil oscuro: misma familia visual del menú de aireyclimas.mx. */
	.ull-cool-nav {
		position: absolute;
		top: 100%;
		right: 0;
		bottom: auto;
		left: 0;
		height: calc(100dvh - var(--ull-cool-header-height) - var(--wp-admin--admin-bar--height, 0px));
		max-height: calc(100dvh - var(--ull-cool-header-height) - var(--wp-admin--admin-bar--height, 0px));
		padding: 18px 24px 36px;
		border-top: 2px solid #38b6ff;
		background: rgba(5, 16, 31, .99);
		box-shadow: 0 18px 45px rgba(0, 0, 0, .48), 0 0 22px rgba(56, 182, 255, .08);
		color: #fff;
		opacity: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
		pointer-events: none;
		transform: translateY(-8px);
		visibility: hidden;
		transition: opacity .24s ease, transform .28s ease, visibility 0s linear .28s;
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		scrollbar-width: thin;
		scrollbar-color: rgba(56, 182, 255, .65) rgba(255, 255, 255, .04);
		z-index: 100;
	}

	.ull-cool-nav::-webkit-scrollbar { width: 6px; }
	.ull-cool-nav::-webkit-scrollbar-track { background: rgba(255, 255, 255, .04); }
	.ull-cool-nav::-webkit-scrollbar-thumb { background: rgba(56, 182, 255, .65); border-radius: 999px; }

	.ull-cool-header.is-menu-open .ull-cool-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		transition-delay: 0s;
	}

	.ull-cool-header.is-menu-open .ull-cool-menu-toggle__open { display: none; }
	.ull-cool-header.is-menu-open .ull-cool-menu-toggle__close { display: block; }

	.ull-cool-nav > ul {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
		height: auto;
	}

	.ull-cool-nav li {
		margin: 0;
		padding: 0;
	}

	.ull-cool-nav a {
		display: flex;
		align-items: center;
		min-height: 56px;
		padding: 12px;
		border-bottom: 1px solid rgba(255, 255, 255, .075);
		background: transparent;
		color: rgba(255, 255, 255, .90) !important;
		font-family: 'Rajdhani', Arial, sans-serif;
		font-size: 17px;
		font-weight: 500;
		letter-spacing: .02em;
		line-height: 1.3;
		transition: color .2s ease, background-color .2s ease;
	}

	.ull-cool-nav a:hover,
	.ull-cool-nav a:focus-visible,
	.ull-cool-nav .current-menu-item > a,
	.ull-cool-nav .current_page_item > a {
		background: rgba(56, 182, 255, .055);
		color: #38b6ff !important;
	}

	.ull-cool-nav a::after { display: none; }

	.ull-cool-nav .sub-menu {
		position: static;
		width: 100%;
		margin: 0;
		padding: 2px 0 4px 12px;
		border: 0;
		background: rgba(56, 182, 255, .025);
		box-shadow: none;
		list-style: none;
	}

	.ull-cool-nav .sub-menu a {
		min-height: 46px;
		padding: 9px 12px;
		border-bottom: 1px solid rgba(255, 255, 255, .045);
		color: rgba(255, 255, 255, .72) !important;
		font-size: 15px;
	}

	.ull-cool-nav .sub-menu a:hover,
	.ull-cool-nav .sub-menu a:focus-visible,
	.ull-cool-nav .sub-menu .current-menu-item > a {
		background: rgba(56, 182, 255, .05);
		color: #38b6ff !important;
	}
}

@media (max-width: 767px) {
	:root { --ull-cool-content: calc(100% - 32px); }

	.ull-cool-nav { padding: 12px 16px 28px; }
	.ull-cool-nav a { min-height: 52px; padding: 11px 10px; font-size: 16px; }
	.ull-cool-nav .sub-menu { padding-left: 10px; }
	.ull-cool-nav .sub-menu a { min-height: 44px; font-size: 15px; }

	body:not(.wp-admin) #page-container .et_pb_section h1 { font-size: 34px; }
	body:not(.wp-admin) #page-container .et_pb_section h2 { font-size: 28px; }
	body:not(.wp-admin) #page-container .et_pb_section h3 { font-size: 22px; }
	body:not(.wp-admin) #page-container .et_pb_section h4 { font-size: 18px; }

	body:not(.wp-admin) #page-container .et_pb_section a.et_pb_button,
	body:not(.wp-admin) #page-container .et_pb_section .et_pb_button,
	body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button):is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino),
	body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino) > .et_pb_button,
	body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino) .et_pb_button {
		width: var(--ull-button-width, 100%) !important;
		min-height: var(--ull-button-height, 46px) !important;
		padding: var(--ull-button-padding, 0 22px) !important;
		font-size: var(--ull-button-font-size, 15px) !important;
	}

	body:not(.wp-admin) #page-container .et_pb_section .et_pb_button_module_wrapper:has(> .et_pb_button) {
		width: var(--ull-button-width, 100%) !important;
		max-width: 100%;
	}

	body:not(.wp-admin) #page-container .et_pb_section .et_pb_button:active,
	body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button):is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino):active,
	body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino):active .et_pb_button {
		transform: none !important;
	}

	body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status {
		display: table;
		margin: 14px auto 0 !important;
	}

	body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status,
	body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status :where(p, .et_pb_text_inner) {
		font-size: 11px !important;
		letter-spacing: .13em !important;
		text-align: center !important;
	}

	.ull-cool-header-brand span { font-size: 9px; }
}

@media (max-width: 400px) {
	.ull-cool-header-brand img { width: 74px; }
	.ull-cool-header-brand span { padding-left: 8px; font-size: 8px; letter-spacing: .1em; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; }
	body:not(.wp-admin) #page-container .et_pb_section .ayc-clima-status p::before { animation: none; }
	body:not(.wp-admin) #page-container .et_pb_section .et_pb_button:hover,
	body:not(.wp-admin) #page-container .et_pb_section :is(a, .et_pb_button):is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino):hover,
	body:not(.wp-admin) #page-container .et_pb_section :is(.ayc-btn-blue, .ayc-btn-dark, .ayc-btn-marino):hover .et_pb_button { transform: none; }
}
