/* ==========================================================================
   Cleveland · Walter — estilos del tema de bloques
   ========================================================================== */

:root {
	--cl-orange: #EF7D00;
	--cl-orange-dark: #D46F00;
	--cl-dark: #131518;
	--cl-black: #09090B;
	--cl-gray: #8E8E93;
	--cl-gray-2: #C7C7CC;
	--cl-gray-3: #E5E5EA;
	--cl-light: #F5F5F5;
	--cl-text: #212529;
	--cl-ink: #111018;
	--cl-radius: 20px;
	--cl-shadow: 0 4px 40px rgba(0, 0, 0, .25);
	--cl-display: var(--wp--preset--font-family--display, 'Antonio', sans-serif);
	--cl-body: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	--cl-gutter: max(25px, calc((100vw - 1440px) / 2));
	--cl-section-y: clamp(60px, 8vw, 120px);
	--cl-header-h: 157px;
	--cl-stretch: 88%;
	--cl-dw: 400; /* peso de la fuente display (600 si se instala Parkson) */
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; letter-spacing: -0.01em; }
h1, h2, h3, h4, h5, h6 { font-synthesis: none; letter-spacing: 0; }
body, .editor-styles-wrapper { font-stretch: var(--cl-stretch); } /* sólo afecta a la fuente display (League Gothic es variable en ancho) */
.wp-site-blocks { padding: 0; }
.wp-site-blocks > main { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull, main > .alignfull, main > .cl-catalog { margin-block: 0 !important; }
.cl-trust__label { white-space: nowrap; }
/* Grupos flex: el espaciado lo controla gap, no los márgenes del flujo */
:is(.cl-trust__row, .cl-trust__item, .cl-stat-sm, .cl-hero-stats, .cl-head-row, .cl-stat, .cl-stats-row, .cl-footer__col, .cl-footer__menus, .cl-footer__brand, .cl-footer__nav, .cl-cta__inner, .cl-cta-box, .cl-why-card, .cl-rep-card, .cl-resource-card, .cl-placeholder, .cl-form-card, .cl-contact__info, .cl-contact__group, .cl-about__text, .cl-faq__intro, .cl-mvv__item, .cl-era__info, .cl-era__hitos-inner, .cl-hito__body, .cl-badge, .cl-sector-card, .cl-timeline, .cl-challenges__list, .cl-faq-list) > * { margin-block: 0 !important; }
img { max-width: 100%; height: auto; }
:where(.wp-block-group, .wp-block-column, .wp-block-cover__inner-container) > :first-child { margin-block-start: 0; }
:where(.wp-block-group, .wp-block-column, .wp-block-cover__inner-container) > :last-child { margin-block-end: 0; }
mark.has-inline-color { background: transparent; }
.has-primary-color, mark.has-primary-color { color: var(--cl-orange) !important; }
h1, h2, h3, h4, h5, h6 { margin-block: 0; }
p { margin-block: 0; }

/* ---------- utilidades ---------- */
.cl-container { max-width: 1440px; margin-inline: auto; padding-inline: 25px; box-sizing: content-box; }
@media (min-width: 1490px) { .cl-container { padding-inline: 0; } }

.cl-section { padding-block: var(--cl-section-y) !important; position: relative; }
.cl-section.is-white { background: #fff; }
.cl-section.is-light { background: var(--cl-light); }
.cl-section.is-texture { background: var(--cl-light) var(--cl-tex-light) repeat; }
.cl-section.is-dark { background: var(--cl-black) var(--cl-tex-dark) repeat; color: #fff; }

.cl-eyebrow {
	font-family: var(--cl-body);
	font-weight: 700;
	font-size: 14px !important;
	line-height: 16px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--cl-orange);
}
.cl-title { display: flex; flex-direction: column; gap: 0 !important; }
.cl-title > * { margin: 0 !important; }
.cl-title h2, h2.cl-h2 { font-size: var(--wp--preset--font-size--section-title); line-height: 1.2; }
.cl-title.is-center, .has-text-align-center.cl-eyebrow { text-align: center; align-items: center; }
.cl-lead { font-size: var(--wp--preset--font-size--lg); line-height: 1.25; color: var(--cl-gray); }
.cl-text { font-size: var(--wp--preset--font-size--md); line-height: 1.25; color: var(--cl-text); }
.cl-text strong { color: var(--cl-orange); }

.cl-pill {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	width: fit-content;
	padding: 10px 14px;
	border: 1px solid var(--cl-orange);
	border-radius: 50px;
	background: rgba(239, 125, 0, .25);
	font-family: var(--cl-body);
	font-weight: 700;
	font-size: 14px !important;
	line-height: 16px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--cl-orange) !important;
}
.cl-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--cl-orange); flex: none; }

/* glows naranjas */
.has-glow { position: relative; isolation: isolate; overflow: hidden; }
.has-glow::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(400px 320px at 0% 100%, rgba(239, 125, 0, .45), transparent 70%),
		radial-gradient(420px 330px at 100% 30%, rgba(239, 125, 0, .45), transparent 70%);
}

/* ---------- botones ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .2s, color .2s, box-shadow .2s; display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 2px solid var(--cl-orange);
	color: var(--cl-orange);
	padding: 18px 20px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--cl-orange); color: #fff; }
.wp-block-button.is-style-glow > .wp-block-button__link { box-shadow: 0 0 20px var(--cl-orange); }
.wp-block-button.is-style-glow > .wp-block-button__link:hover { box-shadow: 0 0 30px var(--cl-orange); }
.cl-btn-arrow::after, .wp-block-button.is-arrow .wp-block-button__link::after {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%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 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cl-btn-arrow .cl-arrow { display: none; }
.cl-link-arrow, .cl-more a, .cl-more {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--cl-body);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--md);
	line-height: 24px;
	color: var(--cl-orange);
}
.cl-more a::after {
	content: "";
	width: 24px; height: 24px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%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 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform .2s;
}
.cl-more a:hover::after, .cl-link-arrow:hover .cl-arrow { transform: translateX(4px); }
.cl-arrow { transition: transform .2s; flex: none; }
.cl-back-link {
	display: inline-flex; align-items: center; gap: 5px;
	font-family: var(--cl-body); font-weight: 700; font-size: 20px; line-height: 24px;
	text-transform: uppercase; color: var(--cl-orange);
}
.cl-back-link:hover .cl-arrow { transform: translateX(-4px); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.cl-header {
	position: absolute;
	inset: 0 0 auto 0;
	z-index: 100;
	padding: 40px var(--cl-gutter) !important;
	background: transparent;
}
body:not(:has(.cl-hero)) .cl-header { position: relative; background: var(--cl-dark); }
body.admin-bar .cl-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cl-header { top: 46px; } }
/* Header fijo al hacer scroll: en el top se queda igual; al bajar aparece fijo con fondo oscuro y más compacto */
.cl-header.is-stuck {
	position: fixed;
	top: 0;
	background: var(--cl-dark);
	padding-block: 14px !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .35);
	animation: cl-header-in .35s ease both;
}
body.admin-bar .cl-header.is-stuck { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cl-header.is-stuck { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .cl-header.is-stuck { top: 0; } }
.cl-header .wp-block-site-logo img { transition: width .3s ease; }
.cl-header.is-stuck .wp-block-site-logo img { width: 140px; }
@keyframes cl-header-in { from { transform: translateY(-100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .cl-header.is-stuck { animation: none; } }
.cl-header__inner { max-width: 1440px; margin-inline: auto; padding-inline: 10px; width: 100%; box-sizing: border-box; }
.cl-header .wp-block-site-logo img { width: 198px; height: auto; display: block; }

.cl-header .wp-block-navigation { gap: 40px; font-family: var(--cl-body); font-weight: 700; font-size: 20px; line-height: 24px; }
.cl-header .wp-block-navigation .wp-block-navigation__container { gap: 40px; align-items: center; }
.cl-header .wp-block-navigation-item__content { color: var(--cl-gray); transition: color .2s; }
.cl-header .wp-block-navigation-item__content:hover,
.cl-header .current-menu-item > .wp-block-navigation-item__content,
.cl-header .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content,
.cl-header .has-child:hover > .wp-block-navigation-item__content { color: var(--cl-orange); }
.cl-header .wp-block-navigation__submenu-icon { color: var(--cl-gray); width: 12px; height: 12px; margin-left: 8px; }
.cl-header .has-child:hover > .wp-block-navigation__submenu-icon { color: var(--cl-orange); }

.cl-header .wp-block-navigation-item.is-cta > .wp-block-navigation-item__content {
	background: var(--cl-orange);
	color: #fff;
	padding: 20px;
	border-radius: 5px;
	font-size: 16px;
	line-height: 24px;
	
}

div#modal-1-content .wp-block-navigation-item {
    color: #8E8E93 !important;
}
.cl-header .wp-block-navigation-item.is-cta > .wp-block-navigation-item__content:hover { background: var(--cl-orange-dark); color: #fff; }

/* Submenú "Líneas" con logotipos */
.cl-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: rgba(32, 32, 32, .9) !important;
	-webkit-backdrop-filter: blur(10px);
	        backdrop-filter: blur(10px);
	border: 0 !important;
	padding: 20px !important;
	gap: 20px;
	min-width: 435px !important;
	top: calc(100% + 26px) !important;
	left: -20px !important;
}
.cl-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item { background: transparent !important; }
.cl-header .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -30px; height: 30px; }
.cl-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0 !important; color: #fff; font-size: 16px; }
.cl-header .cl-brand > .wp-block-navigation-item__content {
	display: block;
	width: 354px;
	height: 40px;
	background-position: left center !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	text-indent: -9999px;
	overflow: hidden;
	opacity: .9;
	transition: opacity .2s, transform .2s;
}
.cl-header .cl-brand > .wp-block-navigation-item__content:hover { opacity: 1; transform: scale(1.02); }
.cl-header .cl-brand--chicago > a { background-image: var(--cl-brand-chicago) !important; }
.cl-header .cl-brand--cleline > a { background-image: var(--cl-brand-cleline) !important; }
.cl-header .cl-brand--cleveland > a { background-image: var(--cl-brand-cleveland) !important; }
.cl-header .cl-brand--greenfield > a { background-image: var(--cl-brand-greenfield) !important; }

/* Botón hamburguesa (mobile) */
.cl-header .wp-block-navigation__responsive-container-open {
	width: 64px; height: 64px; border-radius: 5px; background: var(--cl-orange); color: #fff;
	align-items: center; justify-content: center;
}
.cl-header .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.cl-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--cl-dark) var(--cl-tex-dark) !important;
	color: #fff !important;
	padding: 40px 25px !important;
}
.cl-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; padding-top: 80px; }
.cl-header .is-menu-open .wp-block-navigation__container { gap: 24px !important; align-items: flex-start !important; }
.cl-header .is-menu-open .wp-block-navigation-item__content { font-size: 28px; color: #fff; }
.cl-header .wp-block-navigation .is-menu-open .wp-block-navigation__submenu-container { position: static !important; min-width: 0 !important; background: transparent !important; padding: 16px 0 0 !important; gap: 16px; }
.cl-header .is-menu-open .cl-brand > .wp-block-navigation-item__content { width: 283px; height: 32px; background-position: left center !important; }
.cl-header .is-menu-open .wp-block-navigation-item, .cl-header .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.cl-header .wp-block-navigation__responsive-container-close { color: #fff; width: 40px; height: 40px; }
.cl-header .wp-block-navigation__responsive-container-close svg { width: 40px; height: 40px; }

@media (max-width: 1280px) {
	.cl-header .wp-block-navigation, .cl-header .wp-block-navigation .wp-block-navigation__container { gap: 24px; font-size: 17px; }
}
@media (max-width: 1100px) {
	.cl-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.cl-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.cl-header .wp-block-site-logo img { width: 160px; }
	.cl-header { padding-block: 25px !important; }
}

/* ==========================================================================
   HERO (portada con imagen a la derecha)
   ========================================================================== */
.wp-block-cover.cl-hero {
	padding: calc(var(--cl-header-h) + 40px) var(--cl-gutter) var(--cl-section-y) !important;
	align-items: flex-end;
	background: var(--cl-dark);
	overflow: hidden;
	isolation: isolate;
}
.wp-block-cover.cl-hero .wp-block-cover__image-background {
	left: auto; right: 0; width: 62%;
	object-fit: cover;
}
.wp-block-cover.cl-hero .wp-block-cover__background {
	background: linear-gradient(90deg, #000 38%, rgba(0, 0, 0, .55) 60%, rgba(0, 0, 0, 0) 100%) !important;
	opacity: 1 !important;
}
.wp-block-cover.cl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, #000 11%, rgba(0, 0, 0, 0) 45%),
		radial-gradient(420px 330px at 105% 60%, rgba(239, 125, 0, .5), transparent 70%),
		radial-gradient(420px 330px at -5% 95%, rgba(239, 125, 0, .45), transparent 70%);
}
.wp-block-cover.cl-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	max-width: 1440px;
	width: 100%;
	margin-inline: auto;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.wp-block-cover.cl-hero .wp-block-cover__inner-container > * { max-width: 840px; margin: 0 !important; }
.cl-hero h1, .cl-hero .cl-hero__title {
	font-family: var(--cl-display);
	font-weight: var(--cl-dw);
	font-size: var(--wp--preset--font-size--display);
	line-height: .88;
	text-transform: uppercase;
	color: #fff;
}
.cl-hero .cl-lead { color: var(--cl-gray); }
.cl-hero .wp-block-buttons { gap: 40px; margin-top: 0; }
.cl-hero-stats {
	display: flex;
	gap: 40px !important;
	border-top: 1px solid var(--cl-gray);
	padding-top: 40px;
	margin-top: 20px !important;
}
.cl-stat-sm { display: flex; flex-direction: column; gap: 0 !important; }
.cl-stat-sm .cl-stat-sm__num { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 40px; line-height: 48px; color: var(--cl-orange); }
.cl-stat-sm .cl-stat-sm__label { font-size: 16px; line-height: 18px; text-transform: uppercase; color: var(--cl-gray); }

/* Hero dinámico (categorías y producto) */
.cl-catalog--term-hero { margin-block: 0 !important; }
.cl-hero--term {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--cl-dark);
	padding: calc(var(--cl-header-h) + 40px) var(--cl-gutter) var(--cl-section-y);
	min-height: 360px;
	display: flex;
	align-items: flex-end;
	color: #fff;
}
.cl-hero--term::before {
	content: "";
	position: absolute;
	top: 0; bottom: 0; right: 0;
	width: 62%;
	z-index: -2;
	background: var(--cl-hero-img) center / cover no-repeat;
}
.cl-hero--term::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, #000 8%, rgba(0, 0, 0, 0) 40%),
		linear-gradient(90deg, #000 38%, rgba(0, 0, 0, 0) 75%),
		radial-gradient(420px 330px at -5% 60%, rgba(239, 125, 0, .55), transparent 70%);
}
.cl-hero__inner { max-width: 1440px; width: 100%; margin-inline: auto; display: flex; flex-direction: column; gap: 20px; }
.cl-hero__inner > * { max-width: 840px; }
.cl-hero__desc, .cl-hero__desc p { font-size: var(--wp--preset--font-size--lg); line-height: 1.25; color: var(--cl-gray); margin: 0; }

/* ==========================================================================
   BARRA DE CONFIANZA
   ========================================================================== */
.cl-trust { background: var(--cl-black); padding: 29px var(--cl-gutter) !important; }
.cl-trust__row { max-width: 1440px; margin-inline: auto; display: flex; justify-content: space-between; align-items: center; gap: 20px !important; }
.cl-trust__item { display: flex; align-items: center; gap: 40px !important; flex-wrap: nowrap !important; }
.cl-trust__item + .cl-trust__item { position: relative; }
.cl-trust__item + .cl-trust__item::before { content: ""; position: absolute; left: calc(-10px - (var(--sep, 0px))); width: 2px; height: 36px; background: var(--cl-gray); }
.cl-trust__row > .cl-trust__item:not(:first-child) { padding-left: 40px; }
.cl-trust__row > .cl-trust__item:not(:first-child)::before { left: 0; }
/* Pantallas de escritorio medianas: menos separación para que las 4 garantías quepan sin cortarse */
@media (min-width: 1025px) and (max-width: 1560px) {
	.cl-trust__item { gap: 20px !important; }
	.cl-trust__row > .cl-trust__item:not(:first-child) { padding-left: 24px; }
}
@media (min-width: 782px) and (max-width: 1200px) {
	.cl-trust__row { display: grid !important; grid-template-columns: repeat(2, max-content); justify-content: center; column-gap: 48px !important; row-gap: 20px !important; }
	.cl-trust__row > .cl-trust__item:not(:first-child) { padding-left: 0; }
	.cl-trust__row > .cl-trust__item::before { display: none; }
}
.cl-ring {
	width: 48px; height: 48px; flex: none;
	display: flex !important; align-items: center; justify-content: center;
	border: 1px solid var(--cl-orange); border-radius: 100px;
	font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 18px !important; line-height: 1;
	color: var(--cl-orange) !important; text-transform: uppercase;
}
.cl-ring img { width: 26px; height: 26px; }
.cl-ring .wp-block-image, .cl-icon-box .wp-block-image { margin: 0 !important; line-height: 0; }
.cl-trust__label { font-size: 16px !important; line-height: 18px; text-transform: uppercase; color: var(--cl-gray); }

/* ==========================================================================
   CARRUSEL DE LÍNEAS
   ========================================================================== */
.cl-head-row { display: flex; justify-content: space-between; align-items: center; gap: 40px 240px !important; }
.cl-head-row > p { max-width: 962px; flex: 1 1 auto; }
.cl-head-row > .wp-block-buttons { flex: none; }

.cl-carousel { position: relative; }
.cl-carousel__track {
	display: flex;
	gap: 40px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 40px 0;
	margin: -40px 0;
	align-items: stretch;
}
.cl-carousel__track::-webkit-scrollbar { display: none; }
.cl-carousel__track > * { flex: 0 0 calc((100% - 80px) / 3); scroll-snap-align: start; }
.cl-carousel__btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px; height: 48px;
	border-radius: 50%;
	border: 4px solid var(--cl-orange);
	background: transparent;
	cursor: pointer;
	padding: 0;
	z-index: 3;
	color: var(--cl-orange);
}
.cl-carousel__btn::before {
	content: "";
	position: absolute; inset: 0;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 7l5 5-5 5'/%3E%3C/svg%3E") center/26px no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 7l5 5-5 5'/%3E%3C/svg%3E") center/26px no-repeat;
}
.cl-carousel__btn--prev::before { transform: scaleX(-1); }
.cl-carousel__btn[disabled] { border-color: var(--cl-gray-2); color: var(--cl-gray-2); cursor: default; }
.cl-carousel__btn--prev { left: -88px; }
.cl-carousel__btn--next { right: -88px; }

.cl-line-card {
	background: #fff;
	border-radius: var(--cl-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow .25s, transform .25s;
}
.cl-line-card:hover,
.cl-carousel__track:not(:hover) > .cl-line-card:first-child { box-shadow: var(--cl-shadow); }
.cl-line-card__media { display: block; height: 306px; overflow: hidden; background: var(--cl-gray-3); }
.cl-line-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.cl-line-card:hover .cl-line-card__media img { transform: scale(1.05); }
.cl-line-card__body { padding: 25px 40px 40px; display: flex; flex-direction: column; align-items: center; gap: 25px; text-align: center; }
.cl-line-card__title { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 36px; line-height: 43px; text-transform: uppercase; }
.cl-line-card__title a { color: var(--cl-ink); }
.cl-line-card__desc { font-size: 20px; line-height: 23px; color: #000; }
.cl-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.cl-chip {
	display: inline-flex; padding: 10px 16px; border-radius: 20px; background: var(--cl-gray-3);
	font-family: var(--cl-body); font-weight: 700; font-size: 12px; line-height: 15px; color: var(--cl-gray);
	transition: background .2s, color .2s;
}
.cl-chip:hover { background: var(--cl-orange); color: #fff; }

/* ==========================================================================
   TARJETAS "POR QUÉ CLEVELAND" / TARJETAS NUMERADAS
   ========================================================================== */
.cl-grid-2, .cl-grid-3, .cl-grid-4 { display: grid !important; gap: 40px !important; }
.cl-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cl-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cl-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cl-grid-2 > *, .cl-grid-3 > *, .cl-grid-4 > * { margin: 0 !important; }

.cl-why-card, .cl-feature-card {
	position: relative;
	background: #fff;
	border-radius: var(--cl-radius);
	padding: 40px 40px 40px !important;
	display: flex;
	flex-direction: column;
	gap: 20px !important;
	border-left: 0 solid var(--cl-orange);
	transition: box-shadow .25s, border-width .2s, padding .2s;
	color: #000;
}
.cl-why-card:hover, .cl-feature-card:hover,
.cl-grid-2:not(:hover) > .cl-why-card:first-child,
.cl-feature-grid:not(:hover) > .cl-feature-card:first-child {
	box-shadow: var(--cl-shadow);
	border-left-width: 7px;
	padding-left: 53px !important;
}
.cl-why-card .cl-num {
	position: absolute; top: 18px; right: 40px;
	font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 64px; line-height: 1; color: var(--cl-gray-2);
}
.cl-why-card .cl-ring { margin-bottom: 0 !important; }
.cl-why-card .cl-ring img { width: 28px; height: 28px; }
.cl-why-card h3, .cl-feature-card__title { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 36px; line-height: 43px; text-transform: uppercase; color: var(--cl-ink); }
.cl-why-card p:not(.cl-num), .cl-feature-card__desc { font-size: 20px; line-height: 23px; color: #000; }

.cl-feature-grid { display: grid; gap: 40px; }
.cl-feature-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cl-feature-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cl-feature-card { padding-top: 10px !important; }
.cl-feature-card__num { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 64px; line-height: 77px; color: var(--cl-gray-2); transition: color .2s; }
.cl-feature-card:hover .cl-feature-card__num,
.cl-feature-grid:not(:hover) > .cl-feature-card:first-child .cl-feature-card__num { color: var(--cl-orange); }

/* Secciones por línea (Productos) */
.cl-catalog--lines-sections { margin-block: 0 !important; }
.cl-line-section { padding-block: var(--cl-section-y); background: var(--cl-light); }
.cl-line-section.is-dark {
	background: linear-gradient(rgba(0, 0, 0, .78), rgba(0, 0, 0, .78)), var(--cl-machuelo) center / cover;
	color: #fff;
}
.cl-line-section .cl-container { display: flex; flex-direction: column; gap: 40px; }
.cl-line-section .cl-eyebrow + .cl-line-section__title { margin-top: -40px; }
.cl-line-section__title { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: var(--wp--preset--font-size--section-title); line-height: 1.2; text-transform: uppercase; }
.cl-line-section__title a { color: inherit; }
.cl-line-section.is-dark .cl-line-section__title { color: #fff; }
.cl-line-section__intro { display: flex; align-items: center; justify-content: space-between; gap: 40px 240px; }
.cl-line-section__intro p { max-width: 885px; font-size: 20px; line-height: 1.25; }
.cl-line-section__intro .wp-block-button { flex: none; }
.cl-line-section.is-dark .cl-feature-card { color: #000; }

/* ==========================================================================
   BANDA DE CIFRAS
   ========================================================================== */
.wp-block-cover.cl-stats { padding: var(--cl-section-y) var(--cl-gutter) !important; min-height: 0; isolation: isolate; overflow: hidden; }
.wp-block-cover.cl-stats .wp-block-cover__background { background: linear-gradient(rgba(0, 0, 0, .78), rgba(0, 0, 0, .78)) !important; opacity: 1 !important; }
.wp-block-cover.cl-stats::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: radial-gradient(420px 330px at -2% 100%, rgba(239, 125, 0, .5), transparent 70%), radial-gradient(420px 330px at 102% 0%, rgba(239, 125, 0, .5), transparent 70%);
}
.wp-block-cover.cl-stats .wp-block-cover__inner-container { position: relative; z-index: 2; max-width: 1440px; width: 100%; margin-inline: auto; }
.cl-stats-row { display: flex; justify-content: space-around; gap: 40px !important; }
.cl-stat { display: flex; flex-direction: column; align-items: center; gap: 20px !important; text-align: center; }
.cl-stat .cl-stat__num { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: var(--wp--preset--font-size--stat); line-height: 1.2; color: var(--cl-orange); }
.cl-stat .cl-stat__label { font-weight: 500; font-size: 16px; line-height: 19px; text-transform: uppercase; color: #fff; }

/* ==========================================================================
   DESAFÍOS + ACORDEONES
   ========================================================================== */
.cl-challenges__cols { gap: 40px !important; align-items: stretch !important; margin-top: var(--wp--preset--spacing--80) !important; }
.cl-challenges__img { height: 100%; margin: 0 !important; }
.cl-challenges__img img { width: 100%; height: 100% !important; min-height: 420px; object-fit: cover; border-radius: var(--cl-radius); }
.cl-challenges__list { display: flex; flex-direction: column; justify-content: center; gap: 40px !important; }

details.is-style-cl-accordion {
	background: #fff;
	border-radius: var(--cl-radius);
	transition: box-shadow .25s;
	margin: 0 !important;
}
details.is-style-cl-accordion[open] { box-shadow: var(--cl-shadow); }
details.is-style-cl-accordion > summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 20px 88px 20px 20px;
	font-size: 16px;
	line-height: 18px;
	color: #000;
}
details.is-style-cl-accordion > summary::-webkit-details-marker { display: none; }
details.is-style-cl-accordion > summary strong {
	display: block;
	font-family: var(--cl-display);
	font-weight: var(--cl-dw);
	font-size: 36px;
	line-height: 43px;
	text-transform: uppercase;
	color: var(--cl-orange);
	margin-bottom: 20px;
}
details.is-style-cl-accordion > summary::after,
details.is-style-cl-faq > summary::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 48px; height: 48px;
	margin-top: -24px;
	border-radius: 50%;
	box-sizing: border-box;
	border: 4px solid var(--cl-orange);
	background: var(--cl-orange);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='22' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='M18 21l6 6 6-6' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%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 48 48'%3E%3Ccircle cx='24' cy='24' r='22' fill='none' stroke='black' stroke-width='4'/%3E%3Cpath d='M18 21l6 6 6-6' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
	border: 0;
	transition: transform .25s;
}
details[open].is-style-cl-accordion > summary::after,
details[open].is-style-cl-faq > summary::after { transform: rotate(180deg); }
details[open].is-style-cl-accordion > summary { border-bottom: 1px dashed rgba(0, 0, 0, .2); }
details.is-style-cl-accordion > :not(summary) { padding: 0 25px; margin: 20px 0 0 !important; }
details.is-style-cl-accordion > :last-child { padding-bottom: 25px; }
details.is-style-cl-accordion .cl-solution-eyebrow { font-weight: 500; font-size: 16px; line-height: 19px; letter-spacing: .2em; text-transform: uppercase; color: var(--cl-orange); }
details.is-style-cl-accordion h4 { font-family: var(--cl-body); font-weight: 700; font-size: 20px; line-height: 24px; text-transform: none; color: #000; }
details.is-style-cl-accordion p { font-size: 16px; line-height: 18px; color: #000; }

/* FAQ */
.cl-faq-list { display: flex; flex-direction: column; gap: 0 !important; }
details.is-style-cl-faq {
	margin: 0 !important;
	border-bottom: 3px solid rgba(0, 0, 0, .1);
}
details.is-style-cl-faq > summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 20px 88px 20px 0;
	font-family: var(--cl-display);
	font-weight: var(--cl-dw);
	font-size: 32px;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--cl-dark);
	transition: color .2s;
}
details.is-style-cl-faq > summary::-webkit-details-marker { display: none; }
details[open].is-style-cl-faq > summary, details.is-style-cl-faq > summary:hover { color: var(--cl-orange); }
details.is-style-cl-faq > p { padding: 0 25px 25px 0; font-size: 16px; line-height: 18px; color: #000; margin: 0 !important; }

/* ==========================================================================
   CTA OSCURA
   ========================================================================== */
.cl-cta {
	background: var(--cl-black) var(--cl-tex-dark) repeat;
	padding: var(--cl-section-y) var(--cl-gutter) !important;
	text-align: center;
	color: #fff;
}
.cl-cta__inner { display: flex; flex-direction: column; align-items: center; gap: 40px !important; max-width: 870px; margin-inline: auto; }
.cl-cta h2 { color: var(--cl-orange); font-size: var(--wp--preset--font-size--section-title); line-height: 1.2; }
.cl-cta p { font-size: 24px; line-height: 27px; max-width: 550px; margin-inline: auto !important; color: #fff; }
.cl-cta .wp-block-buttons { justify-content: center; }
.cl-cta-box {
	background: var(--cl-black) var(--cl-tex-dark) repeat;
	border-radius: var(--cl-radius);
	padding: 40px !important;
	display: flex; flex-direction: column; justify-content: center; align-items: center;
	gap: 40px !important;
	text-align: center;
	grid-column: span 2;
}
.cl-cta-box h3 { color: var(--cl-orange); font-size: 40px; line-height: 48px; }
.cl-cta-box p { color: #fff; font-size: 20px; line-height: 23px; }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.cl-footer {
	background:
		radial-gradient(420px 330px at -5% 85%, rgba(239, 125, 0, .45), transparent 70%),
		radial-gradient(420px 330px at 105% 50%, rgba(239, 125, 0, .45), transparent 70%),
		var(--cl-black) var(--cl-tex-dark) repeat;
	color: var(--cl-gray);
	border-top: 1px solid rgba(255, 255, 255, .25);
	padding: 0 !important;
}
.cl-footer__main { max-width: 1440px; margin-inline: auto; padding-inline: 25px; gap: 0 !important; }
@media (min-width: 1490px) { .cl-footer__main { padding-inline: 0; } }
.cl-footer__brand { padding: 120px 60px 120px 0 !important; display: flex; flex-direction: column; gap: 20px !important; }
.cl-footer__brand img { width: 525px; max-width: 100%; }
.cl-footer__brand p { font-size: 20px; line-height: 1.2; color: var(--cl-gray); }
.cl-footer__nav { border-left: 1px solid rgba(255, 255, 255, .2); padding: 120px 0 60px 60px !important; display: flex; flex-direction: column; gap: 40px !important; }
.cl-footer__menus { display: flex; gap: 40px !important; flex-wrap: nowrap; }
.cl-footer__brand, .cl-footer__nav { box-sizing: border-box; }
.cl-footer__col { display: flex; flex-direction: column; gap: 20px !important; }
.cl-footer__title { font-weight: 700; font-size: 20px !important; line-height: 24px; color: var(--cl-orange); }
.cl-footer__list { list-style: none; padding: 0; margin: 0; display: grid; grid-auto-flow: column; grid-template-rows: repeat(6, auto); gap: 10px 20px; }
.cl-footer__list.rows-4 { grid-template-rows: repeat(4, auto); }
.cl-footer__list li { margin: 0; font-weight: 500; font-size: 16px; line-height: 19px; }
.cl-footer__list a { color: var(--cl-gray); transition: color .2s; }
.cl-footer__list a:hover { color: var(--cl-orange); }
.cl-social.wp-block-social-links { gap: 8px !important; margin: 0; }
.cl-social .wp-social-link { background: rgba(239, 125, 0, .25) !important; color: var(--cl-orange) !important; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; transition: background .2s; }
.cl-social .wp-social-link a { padding: 0 !important; color: var(--cl-orange) !important; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.cl-social .wp-social-link svg { width: 24px; height: 24px; fill: var(--cl-orange); }
.cl-social .wp-social-link:hover { background: var(--cl-orange) !important; transform: none; }
.cl-social .wp-social-link:hover svg { fill: #fff; }
.cl-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .25); padding: 24px var(--cl-gutter) !important; }
.cl-footer__bottom-inner { max-width: 1440px; margin-inline: auto; width: 100%; }
.cl-footer__bottom p { font-size: 14px; line-height: 1.5; color: #fff; }
.cl-footer__bottom img { width: 88px; display: block; }

/* ==========================================================================
   NOSOTROS
   ========================================================================== */
.cl-about__cols { gap: 40px !important; align-items: center !important; }
.cl-about__media { position: relative; padding: 0 67px 45px 0 !important; }
.cl-about__media .wp-block-image { margin: 0; }
.cl-about__media .wp-block-image img { width: 100%; aspect-ratio: 731 / 680; object-fit: cover; border-radius: var(--cl-radius); }
.cl-about__media .wp-block-image { position: relative; }
.cl-about__media .wp-block-image::after { content: ""; position: absolute; inset: 0; border-radius: var(--cl-radius); background: linear-gradient(0deg, rgba(0, 0, 0, .5) 11%, rgba(0, 0, 0, 0) 60%); pointer-events: none; }
.cl-badge {
	position: absolute !important;
	right: 0; bottom: 0;
	background: var(--cl-orange);
	border-radius: var(--cl-radius);
	padding: 20px 40px !important;
	display: flex; flex-direction: column; gap: 10px !important;
	color: #fff;
	min-width: 300px;
	z-index: 2;
}
.cl-badge .cl-badge__num { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 96px; line-height: 1; color: #fff; }
.cl-badge .cl-badge__label { font-weight: 700; font-size: 20px; line-height: 24px; letter-spacing: .2em; text-transform: uppercase; color: #fff; }
.cl-about__text { display: flex; flex-direction: column; gap: 40px !important; }
.cl-about__text h2 { line-height: 1; }

/* Línea de tiempo */
.cl-timeline__bar { background: var(--cl-orange); border-radius: var(--cl-radius); padding: 20px !important; }
.cl-timeline__bar h3 { color: #fff; font-size: 48px; line-height: 1; }
.cl-timeline { position: relative; padding: 37px 0 0 159px !important; display: flex; flex-direction: column; gap: 43px !important; counter-reset: era; }
.cl-timeline::before { content: ""; position: absolute; left: 76px; top: 0; bottom: 50px; width: 2px; background: var(--cl-orange); }
.cl-era {
	position: relative;
	background: #fff;
	border-radius: var(--cl-radius);
	padding: 10px 40px 20px !important;
	counter-increment: era;
	transition: box-shadow .3s;
	max-width: 1210px;
}
.cl-era::before {
	content: counter(era);
	position: absolute;
	left: -113px; top: 20px;
	width: 64px; height: 64px;
	box-sizing: border-box;
	border-radius: 50%;
	border: 3px solid var(--cl-orange);
	background: #fff;
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 20px; color: var(--cl-orange);
	transition: background .3s, color .3s;
}
.cl-era.is-open::before { background: var(--cl-orange); color: #fff; }
.cl-era.is-open { box-shadow: var(--cl-shadow); }
.cl-era__head { gap: 20px !important; align-items: flex-start !important; flex-wrap: nowrap !important; }
.cl-era__head > .wp-block-group { flex: 1; }
.cl-era__head .wp-block-image { margin: 0; flex: none; }
.cl-era__head .wp-block-image img { width: 145px; height: 145px; border-radius: 50%; display: block; }
.cl-era__years { gap: 40px !important; align-items: center !important; }
.cl-era__years h3 { font-size: 64px; line-height: 77px; color: var(--cl-gray-2); font-weight: var(--cl-dw); }
.cl-era__years p { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 36px; line-height: 43px; text-transform: uppercase; color: var(--cl-orange); }
.cl-era__summary { font-size: 20px; line-height: 23px; color: #000; margin-top: 10px !important; }
.cl-era__head .cl-era__info { display: flex; flex-direction: column; gap: 10px !important; padding-top: 0; }
.cl-era__hitos { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s ease, margin .5s; margin-top: 0 !important; }
.cl-era.is-open .cl-era__hitos { grid-template-rows: 1fr; margin-top: 20px !important; }
.cl-era__hitos > .cl-era__hitos-inner { overflow: hidden; display: flex; flex-direction: column; gap: 20px !important; min-height: 0; }
.cl-era__hitos-inner > :last-child { margin-bottom: 20px !important; }
.cl-hitos-title { display: flex !important; align-items: center; gap: 20px; font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 36px !important; line-height: 43px; color: #000; }
.cl-hitos-title::after { content: ""; flex: 1; border-top: 2px solid var(--cl-orange); }
.cl-hitos { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px !important; }
.cl-hito {
	background: #F2F2F7;
	border: 2px solid var(--cl-gray-3);
	border-radius: var(--cl-radius);
	padding: 10px !important;
	gap: 20px !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	margin: 0 !important;
}
.cl-hito .wp-block-image { margin: 0; flex: none; }
.cl-hito .wp-block-image img { width: 108px; height: 108px; border-radius: 50%; object-fit: cover; display: block; }
.cl-hito .cl-hito__year { font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 32px; line-height: 38px; color: var(--cl-orange); }
.cl-hito .cl-hito__text { font-size: 16px; line-height: 18px; color: #000; }
.cl-hito.no-image { padding: 16px 20px !important; border-left: 4px solid var(--cl-orange); }
.cl-hito > .wp-block-group { display: flex; flex-direction: column; gap: 10px !important; }

/* Misión / visión */
.cl-mvv { gap: 20px !important; }
.cl-mvv__item { padding: 40px 20px !important; display: flex; flex-direction: column; gap: 20px !important; }
.cl-mvv__head { gap: 20px !important; flex-wrap: nowrap !important; align-items: center !important; }
.cl-mvv__head h3 { color: var(--cl-orange); font-size: 48px; line-height: 1; }
.cl-mvv__item > p, .cl-mvv__item ul { font-size: 20px; line-height: 23px; letter-spacing: .03em; color: #000; }
.cl-mvv__item ul { margin: 0; padding-left: 0; list-style: none; }
.cl-mvv__item ul li::before { content: "-"; display: inline-block; width: 22px; }

/* ==========================================================================
   INDUSTRIAS · SOPORTE · RECURSOS
   ========================================================================== */
.cl-sector-card {
	background: #fff;
	border-radius: var(--cl-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0 !important;
	padding: 0 0 40px !important;
	transition: box-shadow .25s;
	align-self: center;
}
.cl-sector-card:hover, .cl-grid-3:not(:hover) > .cl-sector-card:first-child { box-shadow: var(--cl-shadow); }
.cl-sector-card .wp-block-image { margin: 0 0 40px !important; width: 100%; height: 306px; overflow: hidden; }
.cl-sector-card .wp-block-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.cl-sector-card:hover .wp-block-image img { transform: scale(1.05); }
.cl-sector-card > :not(.wp-block-image) { padding-inline: 40px; }
.cl-sector-card .cl-eyebrow { margin-bottom: 5px !important; }
.cl-sector-card h3 { font-size: 40px; line-height: 1; margin-bottom: 25px !important; }
.cl-sector-card p:not(.cl-eyebrow):not(.cl-more) { font-size: 20px; line-height: 23px; color: #000; margin-bottom: 25px !important; }

.cl-rep-card {
	background: var(--cl-light);
	border-radius: var(--cl-radius);
	padding: 40px !important;
	display: flex; flex-direction: column; align-items: center; text-align: center;
	gap: 25px !important;
	border-left: 0 solid var(--cl-orange);
	transition: box-shadow .25s, border-width .2s;
}
.cl-rep-card:hover, .cl-grid-4:not(:hover) > .cl-rep-card:first-child { box-shadow: var(--cl-shadow); border-left-width: 5px; }
.cl-rep-card .cl-initials {
	width: 64px; height: 64px; box-sizing: border-box; border: 2.67px solid var(--cl-orange); border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 32px; color: var(--cl-orange);
}
.cl-rep-card h3 { font-size: 40px; line-height: 1; color: var(--cl-ink); margin-bottom: -15px !important; }
.cl-rep-card .cl-eyebrow { font-size: 12px !important; }
.cl-rep-card .cl-rep-contact { font-size: 18px; line-height: 23px; color: var(--cl-gray); }
.cl-rep-card .cl-rep-contact a { color: var(--cl-gray); }
.cl-rep-card .cl-rep-contact a:hover { color: var(--cl-orange); }

.cl-soon { font-size: 24px; line-height: 27px; color: var(--cl-dark); text-align: center; }
.cl-placeholder {
	background: #D1D1D6;
	border: 3px dashed #AEAEB2;
	border-radius: var(--cl-radius);
	padding: 120px !important;
	text-align: center;
	display: flex; flex-direction: column; gap: 40px !important;
}
.cl-placeholder h3 { font-size: 48px; line-height: 1.25; color: var(--cl-text); text-transform: uppercase; }
.cl-placeholder p { font-size: 20px; line-height: 1.25; color: var(--cl-text); }

.cl-resource-card {
	background: #fff;
	border-radius: var(--cl-radius);
	padding: 40px !important;
	display: flex; flex-direction: column; gap: 20px !important;
	transition: box-shadow .25s, transform .25s;
}
.cl-resource-card:hover, .cl-grid-3:not(:hover) > .cl-resource-card:first-child { box-shadow: var(--cl-shadow); transform: translateY(-10px); }
.cl-resource-card .cl-eyebrow { font-size: 16px !important; letter-spacing: .2em; }
.cl-resource-card h3 { font-size: 36px; line-height: 43px; color: var(--cl-ink); }
.cl-resource-card p:not(.cl-eyebrow) { font-size: 20px; line-height: 23px; color: #000; }

.cl-faq__cols { gap: 40px !important; }
.cl-faq__intro { display: flex; flex-direction: column; gap: 40px !important; }

/* ==========================================================================
   COTIZAR
   ========================================================================== */
.cl-contact__cols { gap: 40px !important; align-items: flex-start !important; }
.cl-contact__info { display: flex; flex-direction: column; gap: 40px !important; }
.cl-contact__info h2 { font-size: 64px; line-height: 77px; }
.cl-contact__group { display: flex; flex-direction: column; gap: 20px !important; }
.cl-contact__group h3 { font-size: 36px; line-height: 43px; }
.cl-contact-row { gap: 20px !important; flex-wrap: nowrap !important; align-items: flex-start !important; }
.cl-contact-row .cl-icon-box { width: 48px; height: 48px; flex: none; border-radius: 10px; background: rgba(239, 125, 0, .1); display: flex !important; align-items: center; justify-content: center; margin: 0; }
.cl-contact-row .cl-icon-box img { width: 24px; height: 24px; }
.cl-contact-row p { font-size: 20px; line-height: 1.25; color: var(--cl-text); }
.cl-contact-row p strong { color: var(--cl-text); }
.cl-contact-row p a { color: var(--cl-gray); }
.cl-contact-social.wp-block-social-links { gap: 40px !important; }
.cl-contact-social .wp-social-link { background: transparent !important; color: var(--cl-orange) !important; }
.cl-contact-social .wp-social-link svg { fill: var(--cl-orange); width: 24px; height: 24px; }
.cl-contact-social .wp-social-link a { padding: 0 !important; }

.cl-form-card {
	background: var(--cl-gray-3);
	border-radius: var(--cl-radius);
	box-shadow: 0 10px 50px rgba(34, 34, 34, .05);
	padding: 40px !important;
	display: flex; flex-direction: column; gap: 32px !important;
}
.cl-form-card h3 { font-size: 36px; line-height: 43px; }
.cl-form-card > p { font-size: 20px; line-height: 1.25; color: var(--cl-gray); margin-top: -22px !important; }
.cl-form .cl-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 8px; }
.cl-form .cl-form__full { grid-column: 1 / -1; }
.cl-form label { display: flex; flex-direction: column; gap: 8px; font-weight: 700; font-size: 15px; line-height: 24px; color: #000; }
.cl-form .wpcf7-form-control-wrap { display: block; }
.cl-form input[type="text"], .cl-form input[type="email"], .cl-form input[type="tel"], .cl-form select, .cl-form textarea {
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid transparent;
	border-radius: 10px;
	padding: 16px;
	font-family: var(--cl-body);
	font-weight: 400;
	font-size: 15px;
	line-height: 24px;
	color: #000;
	transition: border-color .2s, box-shadow .2s;
}
.cl-form select { height: 56px; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF7D00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") right 16px center / 22px no-repeat; }
.cl-form textarea { height: 120px; resize: vertical; }
.cl-form ::placeholder { color: var(--cl-gray); }
.cl-form input:focus, .cl-form select:focus, .cl-form textarea:focus { outline: 0; border-color: var(--cl-orange); box-shadow: 0 0 0 3px rgba(239, 125, 0, .2); }
.cl-form .cl-form__submit { margin-top: 32px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.cl-form input[type="submit"] {
	width: 100%;
	background: var(--cl-orange);
	color: #fff;
	border: 0;
	border-radius: 5px;
	padding: 20px;
	font-family: var(--cl-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	cursor: pointer;
	transition: background .2s;
}
.cl-form input[type="submit"]:hover { background: var(--cl-orange-dark); }
.cl-form .cl-form__legal { font-size: 15px; line-height: 24px; color: var(--cl-gray); text-align: center; }
.cl-form .wpcf7-spinner { position: absolute; }
.cl-form .wpcf7-not-valid-tip { font-weight: 400; font-size: 13px; color: #d4380d; }
.wpcf7 form .wpcf7-response-output { border-radius: 10px; margin: 20px 0 0; padding: 12px 16px; font-size: 15px; background: #fff; }

.cl-map { margin: 0 !important; line-height: 0; }
.wp-block-post-content > .cl-map.alignfull { margin-left: calc(var(--wp--style--root--padding-left) * -1) !important; margin-right: calc(var(--wp--style--root--padding-right) * -1) !important; max-width: none; }
.cl-map iframe { width: 100%; height: 531px; border: 0; display: block; filter: grayscale(.15); }

/* ==========================================================================
   CATÁLOGO (archivo de categoría / producto)
   ========================================================================== */
.cl-product-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px !important; margin: 0 !important; padding: 0; list-style: none; }
@media (max-width: 1200px) { .cl-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cl-catalog--term-children + .cl-products { margin-top: 40px !important; }
.cl-product-card {
	position: relative;
	background: #fff;
	border-radius: var(--cl-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 25px 40px 40px !important;
	gap: 25px !important;
	transition: box-shadow .25s;
	color: #000;
	height: 100%;
	box-sizing: border-box;
}
.cl-product-card:hover, .cl-product-grid:not(:hover) > :first-child .cl-product-card, .cl-product-grid:not(:hover) > .cl-product-card:first-child { box-shadow: var(--cl-shadow); }
/* Foto del producto en tarjeta: siempre cuadrada (1:1) y completa, sin recortes */
.cl-product-card__media, .cl-product-card .wp-block-post-featured-image {
	display: block; width: 100%; height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	padding: 8%;
	box-sizing: border-box;
	border-radius: calc(var(--cl-radius) - 6px);
	background: radial-gradient(circle at 50% 45%, #fff 0%, var(--cl-light) 75%);
	overflow: hidden;
}
.cl-product-card__media img, .cl-product-card .wp-block-post-featured-image img { width: 100% !important; height: 100% !important; object-fit: contain !important; transition: transform .35s ease; }
.cl-product-card:hover .wp-block-post-featured-image img, .cl-product-card:hover .cl-product-card__media img { transform: scale(1.04); }
/* La foto de la línea (cuando el producto aún no tiene foto) sí cubre el cuadro */
.cl-product-card .wp-block-post-featured-image.is-fallback-image { padding: 0; }
.cl-product-card .wp-block-post-featured-image.is-fallback-image img { object-fit: cover !important; filter: none; }
.cl-product-card__body { display: flex; flex-direction: column; gap: 15px; }
.cl-product-card__title, .cl-product-card .wp-block-post-title { display: block; font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 28px; line-height: 1.1; text-transform: uppercase; color: var(--cl-ink); }
.cl-product-card .wp-block-post-title a { color: inherit; }
.cl-product-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.cl-product-card__desc, .cl-product-card .wp-block-post-excerpt { display: block; font-size: 18px; line-height: 21px; color: #000; }
.cl-product-card .wp-block-post-excerpt__more-text { display: none; }
.cl-catalog--back-link { margin-top: var(--wp--preset--spacing--60) !important; }

.cl-single__head { border-bottom: 1px solid var(--cl-gray-2); padding-bottom: 25px !important; gap: 0 !important; }
.cl-single__head .wp-block-post-terms { font-weight: 700; font-size: 14px; line-height: 16px; letter-spacing: .15em; text-transform: uppercase; color: var(--cl-orange); }
.cl-single__head .wp-block-post-terms a { color: var(--cl-orange); }
.cl-single__head h1.wp-block-post-title { font-size: 64px; line-height: 1.2; }
.cl-single__cols { gap: 40px !important; align-items: center !important; margin-top: 80px !important; }
.cl-single__cols .wp-block-post-featured-image img { border-radius: var(--cl-radius); mix-blend-mode: multiply; }
.cl-catalog--product-summary { display: flex; flex-direction: column; gap: 20px; font-size: 16px; line-height: 1.25; }
.cl-catalog--product-summary h2, .cl-catalog--product-summary h3 { font-size: 48px; line-height: 1; }
.cl-catalog--product-summary ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.cl-catalog--product-summary li { display: flex; gap: 5px; align-items: baseline; }
.cl-catalog--product-summary li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--cl-orange); flex: none; transform: translateY(1px); }
.cl-catalog--product-summary p { margin: 0; }
.cl-single__content { margin-top: 80px !important; }
.cl-single__content table, .cl-specs table { border-collapse: collapse; width: 100%; font-size: 13px; background: var(--cl-gray-3); }
.cl-single__content th, .cl-single__content td { border: 0 !important; padding: 8px 10px; text-align: left; border-bottom: 1px solid #fff; vertical-align: top; border-bottom: 1px solid #fff !important; }
.cl-single__content thead th { border-bottom: 2px solid var(--cl-orange) !important; font-weight: 700; color: #000; }
.cl-single__content tbody tr:hover td { background: #fff; }
.cl-single__content .wp-block-table { overflow-x: auto; margin: 20px 0 0; border-radius: 10px; }
.cl-single__content h3 { font-size: 36px; }
.cl-single__cols .wp-block-post-featured-image { margin: 0; }


/* Tabla de especificaciones (variaciones de WooCommerce) */
.cl-catalog--product-specs { margin-top: 80px !important; }
.cl-specs__head { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.cl-specs__title { font-size: 36px; line-height: 43px; }
.cl-specs__filter { width: min(100%, 340px); box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--cl-gray-3); border-radius: 10px; font: 400 15px/1.4 var(--cl-body); background: #fff; }
.cl-specs__filter:focus { outline: 0; border-color: var(--cl-orange); box-shadow: 0 0 0 3px rgba(239, 125, 0, .2); }
.cl-specs__wrap { max-height: 620px; overflow: auto; border-radius: 10px; background: #fff; box-shadow: 0 10px 50px rgba(34, 34, 34, .05); }
.cl-specs__table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.35; }
.cl-specs__table th, .cl-specs__table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--cl-gray-3); white-space: nowrap; }
.cl-specs__table thead th { position: sticky; top: 0; z-index: 1; background: var(--cl-dark); color: #fff; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; }
.cl-specs__table tbody tr:nth-child(even) td { background: #FAFAFA; }
.cl-specs__table tbody tr:hover td { background: rgba(239, 125, 0, .08); }
.cl-specs__quote { font-weight: 700; color: var(--cl-orange); }
.cl-specs__count { margin-top: 12px !important; font-size: 14px; color: var(--cl-gray); }
.cl-specs__table tr[hidden] { display: none; }

/* Woo: avisos */
.woocommerce-info, .woocommerce-message { border-top-color: var(--cl-orange); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1600px) {
	.cl-carousel__btn { top: auto; bottom: -88px; transform: none; }
	.cl-carousel__btn--prev { left: calc(50% - 68px); }
	.cl-carousel__btn--next { right: calc(50% - 68px); }
	.cl-carousel { margin-bottom: 88px; }
}

@media (max-width: 1200px) {
	.cl-feature-grid.cols-3, .cl-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cl-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cl-carousel__track > * { flex-basis: calc((100% - 40px) / 2); }
	.cl-trust__label { font-size: 14px !important; }
	.cl-trust__item { gap: 16px !important; }
	.cl-footer__main { flex-wrap: wrap !important; }
	.cl-footer__brand, .cl-footer__nav { flex-basis: 100% !important; }
	.cl-footer__brand { padding: 60px 0 40px !important; }
	.cl-footer__nav { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .2); padding: 40px 0 !important; }
	.cl-cta-box { grid-column: span 1; }
	.cl-footer__menus { flex-wrap: wrap; }
}

@media (max-width: 781px) {
	:root { --cl-header-h: 114px; }
	.wp-block-cover.cl-hero { padding-top: calc(var(--cl-header-h) + 40px) !important; min-height: 0 !important; }
	.wp-block-cover.cl-hero .wp-block-cover__image-background { width: 100%; }
	.wp-block-cover.cl-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .8)) !important; }
	.wp-block-cover.cl-hero .wp-block-cover__inner-container { align-items: center; text-align: center; }
	.wp-block-cover.cl-hero .cl-pill { align-self: center; font-size: 10px !important; line-height: 11px; }
	.cl-hero .wp-block-buttons { justify-content: space-between; gap: 12px; width: 100%; flex-wrap: nowrap; }
	.cl-hero .wp-block-buttons .wp-block-button { flex: 1; }
	.cl-hero .wp-block-buttons .wp-block-button__link { width: 100%; padding-inline: 10px; }
	.cl-hero-stats { justify-content: center; }
	.cl-hero-stats .cl-stat-sm:not(:first-child) { display: none; }
	.cl-hero-stats .cl-stat-sm { flex-direction: row; align-items: center; gap: 20px !important; }
	.cl-hero--term { text-align: center; }
	.cl-hero--term::before { width: 100%; }
	.cl-hero--term::after { background: linear-gradient(180deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, .6) 60%, rgba(0, 0, 0, .85)); }
	.cl-hero__inner { align-items: center; }
	.cl-hero__inner .cl-pill { align-self: center; }
	.cl-hero__desc, .cl-hero__desc p, .cl-hero .cl-lead { font-size: 20px; }

	.cl-trust__row { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; justify-content: flex-start; gap: 0 !important; }
	.cl-trust__row::-webkit-scrollbar { display: none; }
	.cl-trust__row > .cl-trust__item { flex: 0 0 100%; justify-content: center; scroll-snap-align: center; padding-left: 0 !important; }
	.cl-trust__row > .cl-trust__item::before { display: none; }

	.cl-title, .cl-title.is-left { align-items: center; text-align: center; }
	.cl-title h2, h2.cl-h2 { line-height: 1.1; }
	.cl-head-row { flex-direction: column; align-items: flex-start; gap: 40px !important; }
	.cl-head-row > p { text-align: center; }
	.cl-carousel__track > * { flex-basis: 100%; }
	.cl-line-card__media { height: 251px; }
	.cl-line-card__body { gap: 12px; }
	.cl-line-card__desc { font-size: 16px; line-height: 18px; }
	.cl-link-arrow { font-size: 16px; }

	.cl-grid-2, .cl-grid-3, .cl-grid-4, .cl-feature-grid.cols-3, .cl-feature-grid.cols-2, .cl-product-grid, .cl-hitos { grid-template-columns: minmax(0, 1fr) !important; }
	.cl-why-card, .cl-feature-card { padding: 10px 40px 40px 60px !important; border-left-width: 7px; box-shadow: var(--cl-shadow); }
	.cl-why-card .cl-num { right: 25px; }

	/* carruseles mobile */
	.cl-mobile-carousel { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 20px !important; padding: 30px 25px !important; margin: -30px -25px !important; }
	.cl-mobile-carousel::-webkit-scrollbar { display: none; }
	.cl-mobile-carousel > * { flex: 0 0 100% !important; scroll-snap-align: center; }
	.cl-mc-nav { display: flex; justify-content: center; gap: 40px; margin-top: 40px; }
	.cl-mc-nav .cl-carousel__btn { position: relative; inset: auto; transform: none; }

	.cl-stats-row { flex-direction: row !important; flex-wrap: nowrap !important; }
	.wp-block-cover.cl-stats { padding-inline: 25px !important; }
	.cl-stats .cl-mc-nav { display: none; }

	.cl-challenges__cols { flex-direction: column; }
	.cl-challenges__img img { min-height: 334px; height: 334px !important; }
	details.is-style-cl-accordion > summary { padding-right: 76px; }
	details.is-style-cl-accordion > summary strong { font-size: 32px; line-height: 38px; }

	.cl-cta h2 { font-size: 48px; line-height: 58px; }

	.cl-footer__brand { align-items: center; text-align: center; }
	.cl-footer__brand img { width: 364px; }
	.cl-footer__menus { flex-direction: column; padding-left: 37px; }
	.cl-footer__nav { align-items: stretch; }
	.cl-footer__bottom-inner { gap: 20px; flex-wrap: nowrap !important; }
	.cl-footer__bottom p { font-size: 12px; }
	.cl-footer__nav > .cl-footer__col { padding-left: 37px; }

	.cl-about__media { padding: 0 0 45px !important; }
	.cl-badge { min-width: 0; padding: 13px 25px !important; }
	.cl-badge .cl-badge__num { font-size: 41px; }
	.cl-badge .cl-badge__label { font-size: 10px; line-height: 15px; }
	.cl-about__text { text-align: center; align-items: center; }
	.cl-timeline { padding-left: 81px !important; }
	.cl-timeline::before { left: 30px; }
	.cl-era { padding: 10px !important; text-align: center; }
	.cl-era::before { left: -81px; }
	.cl-era__head { flex-direction: column-reverse !important; align-items: center !important; }
	.cl-era__years { flex-direction: column !important; gap: 0 !important; }
	.cl-era__years h3 { font-size: 40px; line-height: 48px; }
	.cl-hito { text-align: left; }
	.cl-hito .cl-hito__text { font-size: 14px; line-height: 16px; }
	.cl-hitos-title { font-size: 30px !important; }
	.cl-timeline__bar h3 { font-size: 32px; }
	.cl-mvv__head h3 { font-size: 40px; }

	.cl-line-section .cl-container { text-align: center; align-items: center; }
	.cl-line-section__intro { flex-direction: column; gap: 60px; }
	.cl-line-section__intro p { text-align: center; }
	.cl-line-section .cl-feature-card { text-align: left; }
	.cl-line-section .wp-block-button__link { padding-inline: 16px; }

	.cl-cta-box { grid-column: auto; }
	.cl-placeholder { padding: 60px 25px !important; }
	.cl-sector-card > :not(.wp-block-image) { padding-inline: 25px; }
	.cl-faq__intro { text-align: center; align-items: center; }
	details.is-style-cl-faq > summary { font-size: 28px; padding-right: 64px; }
	details.is-style-cl-faq > summary::after { right: 0; }

	.cl-contact__info h2 { font-size: 48px; line-height: 1; text-align: center; }
	.cl-contact__group h3 { font-size: 32px; line-height: 38px; }
	.cl-contact-row p { font-size: 16px; }
	.cl-form-card { padding: 10px !important; }
	.cl-form .cl-form__grid { grid-template-columns: minmax(0, 1fr); }
	.cl-single__head h1.wp-block-post-title { font-size: 40px; }
	.cl-single__cols { margin-top: 40px !important; }
	.cl-product-card { padding: 25px !important; }
	.cl-map iframe { height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   Editor
   ========================================================================== */
.editor-styles-wrapper .cl-header { position: relative; background: var(--cl-dark); }
.editor-styles-wrapper .wp-block-cover.cl-hero { padding-top: 120px !important; }
.editor-styles-wrapper .cl-era .cl-era__hitos { grid-template-rows: 1fr; }
.editor-styles-wrapper details.is-style-cl-accordion > summary strong { display: inline; }

/* ==========================================================================
   HERO CARRUSEL (bloque cleveland/hero-slider · slides administrados con ACF)
   ========================================================================== */
.cl-slider {
	position: relative;
	background: var(--cl-dark);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
	margin-block: 0 !important;
}
.cl-slider__track { display: grid; }
.cl-slide {
	grid-area: 1 / 1;
	position: relative;
	display: flex;
	align-items: flex-end;
	box-sizing: border-box;
	min-height: clamp(560px, 100svh, 1600px);
	padding: calc(var(--cl-header-h) + 40px) var(--cl-gutter) calc(var(--cl-section-y) + 40px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .8s ease, visibility 0s linear .8s;
}
.cl-slide.is-active { opacity: 1; visibility: visible; transition: opacity .8s ease; z-index: 1; }
.cl-slide__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.cl-slide__media picture { display: contents; }
.cl-slide__img { position: absolute; top: 0; right: 0; height: 100%; width: 100%; object-fit: cover; }
.cl-slide--right .cl-slide__img { width: 62%; }
/* Capa de opacidad configurable por slide (campo "Oscurecer fondo") */
.cl-slide__media::before {
	content: "";
	position: absolute; inset: 0;
	z-index: 1;
	background: #000;
	opacity: var(--cl-dim, 0);
	pointer-events: none;
}
.cl-slide__media::after {
	z-index: 1;
	content: "";
	position: absolute; inset: 0;
	background:
		linear-gradient(180deg, #000 11%, rgba(0, 0, 0, 0) 45%),
		radial-gradient(420px 330px at 105% 60%, rgba(239, 125, 0, .5), transparent 70%),
		radial-gradient(420px 330px at -5% 95%, rgba(239, 125, 0, .45), transparent 70%),
		linear-gradient(90deg, #000 38%, rgba(0, 0, 0, .55) 60%, rgba(0, 0, 0, 0) 100%);
}
.cl-slide--full .cl-slide__media::after {
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .85) 8%, rgba(0, 0, 0, 0) 40%),
		linear-gradient(90deg, rgba(0, 0, 0, .85) 20%, rgba(0, 0, 0, .35) 65%, rgba(0, 0, 0, .15) 100%);
}
/* Video de YouTube a pantalla completa (relación 16:9 recortada como cover) */
.cl-slide__video { position: absolute; inset: 0; pointer-events: none; }
.cl-slide__video iframe {
	position: absolute; top: 50%; left: 50%;
	width: max(100%, calc(100svh * 16 / 9)); height: max(100%, calc(100vw * 9 / 16));
	min-height: 100%;
	transform: translate(-50%, -50%);
	border: 0;
	opacity: 0;
	transition: opacity .6s ease;
}
.cl-slide__video.is-playing iframe { opacity: 1; }
/* Video subido a la biblioteca */
.cl-slide__file { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s ease; }
.cl-slide__file.is-playing { opacity: 1; }
/* "Mostrar completo": el video/imagen no se recorta (franjas negras si la proporción no coincide) */
.cl-slide--contain .cl-slide__img, .cl-slide--contain .cl-slide__file { object-fit: contain; }
.cl-slide--contain .cl-slide__media { top: var(--cl-header-h); }
/* Banner sin textos: sin oscurecer el video/imagen, sólo una sombra arriba para el menú y abajo para las cifras */
.cl-slide--bare .cl-slide__media::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, .7), rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, .65));
}
.cl-slide--contain.cl-slide--bare .cl-slide__media::after { background: none; }
/* "Banner a todo el ancho": piezas de 2560×1080 (celular: 1080×1350). El carrusel toma la altura de la pieza
   y la pieza empieza debajo del menú, así llena todo el ancho sin recortar textos ni dejar franjas. */
.cl-slide--auto { min-height: calc(var(--cl-header-h) + 100vw * 1080 / 2560); }
.cl-slide--auto.cl-slide--bare { padding-block: 0; }
.cl-slide--auto .cl-slide__media { top: var(--cl-header-h); background: #000; }
.cl-slide--auto .cl-slide__img, .cl-slide--auto .cl-slide__file { object-fit: cover; object-position: center top; }
.cl-slide--auto.cl-slide--bare .cl-slide__media::after { background: none; }
/* Relleno desenfocado: sólo en celular, si la pieza no tiene versión vertical (se muestra completa) */
.cl-slide__backdrop {
	position: absolute; inset: -40px;
	width: calc(100% + 80px); height: calc(100% + 80px);
	filter: blur(28px) brightness(.45) saturate(1.2);
	opacity: 0; transition: opacity .6s ease;
}
.cl-slide__backdrop.is-on { opacity: 1; }
img.cl-slide__backdrop { object-fit: cover; max-width: none; display: none; }
/* Banner completo clicable (campo "Enlace de todo el banner") */
.cl-slide__link { position: absolute; inset: 0; z-index: 1; }
.cl-slide__link:focus-visible { outline: 3px solid var(--cl-orange); outline-offset: -6px; }
.cl-slide__inner {
	position: relative;
	max-width: 1440px;
	width: 100%;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
.cl-slide__inner > * { max-width: 840px; margin: 0 !important; }
.cl-slide__inner .cl-hero-stats { width: 100%; }
.cl-slide__inner .wp-block-buttons { display: flex; flex-wrap: wrap; }
.cl-slider__nav {
	position: absolute;
	z-index: 3;
	right: var(--cl-gutter);
	bottom: calc(var(--cl-section-y) * .5);
	display: flex;
	align-items: center;
	gap: 20px;
}
.cl-slider .cl-carousel__btn { position: relative; inset: auto; transform: none; }
.cl-slider__dots { display: flex; gap: 10px; }
.cl-slider__dot {
	width: 10px; height: 10px; padding: 0;
	border-radius: 999px; border: 0;
	background: var(--cl-gray-2, #555);
	cursor: pointer;
	transition: width .3s ease, background-color .3s ease;
}
.cl-slider__dot.is-active { width: 32px; background: var(--cl-orange); }
.cl-slider__dot:focus-visible, .cl-slider .cl-carousel__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Pantallas de poca altura (laptops 1366×768, 1280×720…): el hero cabe completo en la pantalla */
@media (min-width: 782px) and (max-height: 900px) {
	.cl-slide { padding-top: calc(var(--cl-header-h) + 10px); padding-bottom: 90px; }
	.cl-slide__inner { gap: 14px; }
	.cl-slide__inner .cl-hero__title { font-size: clamp(48px, 8.4vh, 92px); }
	.cl-slide__inner .cl-lead { font-size: 18px; line-height: 1.3; }
	.cl-slide__inner .cl-hero-stats { padding-top: 18px; margin-top: 0 !important; }
	.cl-slider__nav { bottom: 30px; }
}
@media (max-width: 781px) {
	.cl-slide { min-height: 0; padding: calc(var(--cl-header-h) + 40px) var(--cl-gutter) 110px; align-items: center; }
	.cl-slide--right .cl-slide__img { width: 100%; }
	.cl-slide:not(.cl-slide--bare) .cl-slide__media::after { background: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .8)); }
	.cl-slide__inner { align-items: center; text-align: center; }
	.cl-slide--bare { align-items: flex-end; }
	.cl-slide__inner .wp-block-buttons { flex-wrap: nowrap; }
	.cl-slide__inner .cl-pill { font-size: 10px !important; line-height: 11px; }
	.cl-slider__nav { left: 0; right: 0; bottom: 36px; justify-content: center; }
	.cl-slider .cl-carousel__btn { width: 40px; height: 40px; border-width: 3px; }
	/* Banners en celular: pieza vertical 1080×1350 entre el menú y una franja con los controles */
	.cl-slide--auto { min-height: calc(var(--cl-header-h) + 100vw * 1350 / 1080 + 72px); }
	.cl-slide--auto .cl-slide__media { bottom: 72px; }
	.cl-slide--auto:not(.has-mobile) .cl-slide__img, .cl-slide--auto:not(.has-mobile) .cl-slide__file { object-fit: contain; object-position: center; }
	img.cl-slide__backdrop { display: block; }
	.cl-slider:has(.cl-slide--auto) .cl-slider__nav { bottom: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.cl-slide, .cl-slide.is-active { transition: none; }
}

/* Editor */
.cl-slider-editor { border: 2px dashed var(--cl-orange); padding: 20px; background: #111; color: #fff; }
.cl-slider-editor__head a { color: var(--cl-orange); }
.cl-slider-editor__hint { color: var(--cl-gray); font-size: 14px; margin: 12px 0 !important; }

/* Enlaces al Grupo WALTER (footer y barra de confianza) */
.cl-footer__walter { margin-top: 10px !important; }
.cl-footer__walter .wp-block-button__link { font-size: 16px; }
.cl-trust__label a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.cl-trust__label a:hover, .cl-trust__label a:focus-visible { color: var(--cl-orange); border-bottom-color: currentColor; }
@media (max-width: 781px) { .cl-footer__walter { justify-content: center; } }

/* ==========================================================================
   CATÁLOGOS PDF (bloque cleveland/catalogs) + visor tipo libro
   ========================================================================== */
.cl-catalogs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.cl-catalog-card { display: flex; flex-direction: column; gap: 24px; }
.cl-catalog-card__cover {
	position: relative;
	display: block;
	aspect-ratio: 7 / 10;
	padding: 0; border: 0;
	background: var(--cl-dark);
	border-radius: 4px 10px 10px 4px;
	overflow: hidden;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15), 0 18px 40px rgba(0, 0, 0, .22);
	transition: transform .3s ease, box-shadow .3s ease;
	transform-origin: left center;
}
/* Lomo del libro */
.cl-catalog-card__cover::before {
	content: "";
	position: absolute; inset: 0 auto 0 0; width: 14px; z-index: 1;
	background: linear-gradient(90deg, rgba(0, 0, 0, .35), rgba(255, 255, 255, .18) 45%, rgba(0, 0, 0, .12));
}
.cl-catalog-card__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cl-catalog-card__placeholder { display: grid; place-items: center; height: 100%; padding: 20px; color: #fff; font-family: var(--cl-display); font-size: 32px; text-transform: uppercase; text-align: center; }
.cl-catalog-card__hint {
	position: absolute; left: 50%; bottom: 20px; z-index: 2;
	transform: translate(-50%, 10px);
	padding: 10px 18px; border-radius: 999px;
	background: var(--cl-orange); color: #fff;
	font-size: 14px; font-weight: 700; white-space: nowrap;
	opacity: 0; transition: opacity .25s, transform .25s;
}
.cl-catalog-card__cover:hover, .cl-catalog-card__cover:focus-visible { transform: perspective(1200px) rotateY(-8deg) translateY(-6px); box-shadow: 0 2px 6px rgba(0, 0, 0, .15), 0 28px 50px rgba(0, 0, 0, .3); }
.cl-catalog-card__cover:hover .cl-catalog-card__hint, .cl-catalog-card__cover:focus-visible .cl-catalog-card__hint { opacity: 1; transform: translate(-50%, 0); }
.cl-catalog-card__cover:focus-visible { outline: 3px solid var(--cl-orange); outline-offset: 4px; }
.cl-catalog-card__body { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.cl-catalog-card__body > * { margin: 0 !important; }
.cl-catalog-card__title { font-family: var(--cl-display); font-weight: var(--cl-dw); font-stretch: var(--cl-stretch); font-size: 32px; line-height: 1; text-transform: uppercase; color: var(--cl-ink); }
.cl-catalog-card__desc { font-size: 16px; line-height: 1.35; color: var(--cl-text); }
.cl-catalog-card__meta { font-size: 14px; color: var(--cl-gray); }
.cl-catalog-card__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto !important; padding-top: 10px; }
.cl-catalog-card__btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; padding: 0 18px;
	border: 2px solid var(--cl-orange); border-radius: 6px;
	background: transparent; color: var(--cl-orange);
	font: 700 15px/1 var(--cl-body); text-decoration: none; cursor: pointer;
	transition: background-color .2s, color .2s;
}
.cl-catalog-card__btn.is-primary, .cl-catalog-card__btn:hover { background: var(--cl-orange); color: #fff; }
.cl-catalog-card__btn.is-primary:hover { background: var(--cl-orange-dark); border-color: var(--cl-orange-dark); }
@media (max-width: 1100px) { .cl-catalogs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 781px) {
	.cl-catalogs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 16px; }
	.cl-catalog-card { gap: 16px; }
	.cl-catalog-card__title { font-size: 24px; }
	.cl-catalog-card__desc { display: none; }
	.cl-catalog-card__btn { flex: 1 1 100%; min-height: 40px; font-size: 14px; }
}

/* Visor */
html.cl-flip-open { overflow: hidden; }
.cl-flip {
	position: fixed; inset: 0; z-index: 100000;
	display: grid; grid-template-rows: auto 1fr;
	background: rgba(9, 9, 11, .96) var(--cl-tex-dark);
	color: #fff;
	animation: cl-flip-in .25s ease;
}
@keyframes cl-flip-in { from { opacity: 0; } }
.cl-flip__bar { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.cl-flip__title { flex: 1; min-width: 0; margin: 0; font-family: var(--cl-display); font-stretch: var(--cl-stretch); font-size: 24px; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cl-flip__count { margin: 0; font-size: 14px; color: var(--cl-gray); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cl-flip__tools { display: flex; gap: 8px; }
.cl-flip__btn {
	display: inline-grid; place-items: center;
	width: 44px; height: 44px; padding: 0;
	border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%;
	background: transparent; color: #fff; cursor: pointer;
	transition: background-color .2s, border-color .2s;
}
.cl-flip__btn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cl-flip__btn:hover, .cl-flip__btn:focus-visible { background: var(--cl-orange); border-color: var(--cl-orange); outline: none; }
.cl-flip__btn[disabled] { opacity: .3; pointer-events: none; }
.cl-flip__stage { position: relative; display: grid; place-items: center; overflow: hidden; min-height: 0; }
.cl-flip__status { color: var(--cl-gray); font-size: 16px; }
.cl-flip__status a { color: var(--cl-orange); }
.cl-flip__book { margin: auto; }
.cl-flip__page { background: #fff; overflow: hidden; }
.cl-flip__page canvas { width: 100%; height: 100%; display: block; }
.cl-flip__pnum { display: grid; place-items: center; height: 100%; color: #bbb; font-size: 14px; }
.cl-flip__nav { position: absolute; top: 50%; margin-top: -26px; z-index: 2; width: 52px; height: 52px; background: rgba(0, 0, 0, .5); }
.cl-flip__nav.is-prev { left: 16px; }
.cl-flip__nav.is-next { right: 16px; }
@media (max-width: 781px) {
	.cl-flip__bar { padding: 8px 10px; gap: 8px; }
	.cl-flip__title { font-size: 18px; }
	.cl-flip__btn { width: 40px; height: 40px; }
	.cl-flip__nav { top: auto; margin-top: 0; bottom: 14px; width: 44px; height: 44px; }
	.cl-flip__stage { padding-bottom: 60px; }
}
.cl-resource-card h3 a { color: inherit; text-decoration: none; }
.cl-resource-card h3 a::after { content: ""; position: absolute; inset: 0; }
.cl-resource-card:has(h3 a) { position: relative; }
.cl-resource-card h3 a:hover { color: var(--cl-orange); }
html { scroll-padding-top: 110px; }

/* Fotos de producto (PNG con fondo transparente) */
.cl-single__cols .wp-block-post-featured-image:not(.is-fallback-image) {
	background: radial-gradient(circle at 50% 45%, #fff 0%, var(--cl-light) 70%);
	border-radius: var(--cl-radius);
	padding: clamp(20px, 4vw, 60px);
	aspect-ratio: 1;
	box-sizing: border-box;
}
.cl-single__cols .wp-block-post-featured-image:not(.is-fallback-image) img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: normal; border-radius: 0; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .18)); }
.cl-product-card .wp-block-post-featured-image img, .cl-product-card__media img { filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .15)); }

/* Tarjetas de producto: todas del mismo tamaño (misma altura en todas las filas) */
.cl-product-grid { grid-auto-rows: 1fr; align-items: stretch; }
.cl-product-grid > li { display: flex; margin: 0 !important; }
.cl-product-grid > li > .cl-product-card, .cl-product-grid > .cl-product-card { flex: 1; height: 100%; box-sizing: border-box; display: flex !important; flex-direction: column; }
.cl-product-card .wp-block-post-title, .cl-product-card__title {
	display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
	min-height: calc(3 * 1.1em);
}
.cl-product-card .wp-block-post-excerpt, .cl-product-card__desc { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

/* Tarjetas de subcategoría con imagen arriba e información abajo */
.cl-feature-card.has-media,
.cl-feature-grid:not(:hover) > .cl-feature-card.has-media:first-child,
.cl-feature-card.has-media:hover { padding: 20px !important; gap: 0 !important; border-left-width: 0; }
.cl-feature-card.has-media { height: 100%; box-sizing: border-box; transition: box-shadow .25s, transform .25s; }
.cl-feature-card.has-media:hover { transform: translateY(-6px); }
.cl-feature-card.has-media .cl-card-media .cl-num { display: none; }
.cl-card-media {
	display: block;
	aspect-ratio: 1 / 1;
	padding: 8%;
	box-sizing: border-box;
	border-radius: calc(var(--cl-radius) - 6px);
	background: radial-gradient(circle at 50% 45%, #fff 0%, var(--cl-light) 75%);
	overflow: hidden;
}
.cl-card-media img { width: 100%; height: 100%; object-fit: contain; display: block; filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .15)); transition: transform .35s ease; }
.cl-card-media.is-photo, .cl-product-card__media.is-photo { padding: 0; }
.cl-card-media.is-photo img, .cl-product-card__media.is-photo img { object-fit: cover !important; filter: none; }
.cl-feature-card.has-media:hover .cl-card-media img { transform: scale(1.04); }
.cl-feature-card__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 10px 10px; }
.cl-feature-card__body > * { margin: 0 !important; }
.cl-feature-card.has-media .cl-feature-card__num { font-size: 40px; line-height: 1; }
.cl-feature-card.has-media .cl-feature-card__title { font-size: 30px; line-height: 1.1; }
.cl-feature-card.has-media .cl-feature-card__desc { font-size: 17px; line-height: 1.3; color: var(--cl-text); }
.cl-feature-grid { align-items: stretch; }
@media (max-width: 781px) {
	.cl-feature-card.has-media, .cl-feature-card.has-media:hover, .cl-feature-grid:not(:hover) > .cl-feature-card.has-media:first-child { padding: 16px !important; border-left-width: 0; }
	.cl-feature-card.has-media .cl-feature-card__title { font-size: 26px; }
}
.cl-line-section .cl-feature-grid { width: 100%; align-self: stretch; }

/* ------------------------------------------------------------------ */
/* Mapa de cobertura (Nosotros)                                        */
/* ------------------------------------------------------------------ */
.cl-coverage-section h2 { color: #fff; }
.cl-coverage-section .cl-text { max-width: 720px !important; margin: 24px 0 0 !important; color: rgba(255, 255, 255, .8); }
.cl-coverage {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
	width: 100%;
	margin-top: clamp(32px, 4vw, 56px);
}
.cl-coverage__map svg { display: block; width: 100%; height: auto; overflow: visible; }
.cl-state { fill: #3A3D42; stroke: var(--cl-black); stroke-width: .8; stroke-linejoin: round; transition: fill .2s ease; }
.cl-state.is-zone { fill: #8A4A08; cursor: pointer; }
.cl-state.is-zone:hover, .cl-state.is-zone.is-hover { fill: var(--cl-orange-dark); }
.cl-state.is-zone.is-active { fill: var(--cl-orange); }
.cl-pin { cursor: pointer; }
.cl-pin circle { fill: #fff; stroke: var(--cl-orange); stroke-width: 2; transition: fill .2s ease; }
.cl-pin text { fill: var(--cl-orange); font: 700 13px/1 var(--cl-body); pointer-events: none; }
.cl-pin__line { stroke: #fff; stroke-width: 1.2; }
.cl-pin.is-active circle, .cl-pin:hover circle { fill: var(--cl-orange); stroke: #fff; }
.cl-pin.is-active text, .cl-pin:hover text { fill: #fff; }

.cl-coverage__zones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cl-zone-tab {
	display: flex; align-items: center; gap: 10px;
	padding: 8px 12px 8px 8px;
	border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px;
	background: transparent; color: #fff;
	font: 500 15px/1.2 var(--cl-body); text-align: left;
	cursor: pointer; transition: background .2s ease, border-color .2s ease;
}
.cl-zone-tab:hover { border-color: var(--cl-orange); }
.cl-zone-tab:focus-visible { outline: 2px solid var(--cl-orange); outline-offset: 2px; }
.cl-zone-tab.is-active { background: var(--cl-orange); border-color: var(--cl-orange); }
.cl-zone-tab__num {
	flex: none; display: grid; place-items: center;
	width: 28px; height: 28px; border-radius: 50%;
	background: var(--cl-orange); color: #fff; font-weight: 700; font-size: 14px;
}
.cl-zone-tab.is-active .cl-zone-tab__num { background: #fff; color: var(--cl-orange); }

.cl-coverage__zone { margin-top: 28px; }
.cl-coverage__zone-title { margin: 0 0 16px; font-family: var(--cl-display); font-weight: var(--cl-dw); font-size: 32px; line-height: 1.1; text-transform: uppercase; }
.cl-coverage__zone-title span { color: var(--cl-orange); }
.cl-reps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cl-rep {
	display: flex; align-items: center; gap: 16px;
	padding: 12px 16px 12px 12px;
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); border-radius: 16px;
}
.cl-rep__photo {
	flex: none; width: 72px; height: 72px; border-radius: 50%; overflow: hidden;
	background: #fff; display: grid; place-items: center;
}
.cl-rep__photo img { width: 100%; height: 100%; object-fit: cover; }
.cl-rep__photo.is-logo img { width: 62%; height: auto; object-fit: contain; }
.cl-rep__body { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.cl-rep__name { color: var(--cl-orange); font-size: 17px; }
.cl-rep__area { font-size: 14px; font-style: italic; color: rgba(255, 255, 255, .8); }
.cl-rep__link { font-size: 14px; color: #fff; text-decoration: none; overflow-wrap: anywhere; }
.cl-rep__link:hover { color: var(--cl-orange); text-decoration: underline; }
.cl-coverage__empty { color: rgba(255, 255, 255, .8); }

@media (max-width: 1024px) {
	.cl-coverage { grid-template-columns: 1fr; }
	.cl-coverage__map { max-width: 720px; width: 100%; margin: 0 auto; }
	.cl-coverage__zones { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cl-reps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.cl-coverage__zones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cl-zone-tab { font-size: 14px; }
	.cl-reps { grid-template-columns: 1fr; }
	.cl-coverage__zone-title { font-size: 26px; }
	.cl-coverage-section .cl-text { text-align: center; }
	/* Marcadores más grandes: el mapa se reduce a menos de la mitad. */
	.cl-pin circle { r: 19px; stroke-width: 3; }
	.cl-pin text { font-size: 22px; transform: translateY(3px); }
}

/* ------------------------------------------------------------------ */
/* Buscador de productos (header y página de resultados)               */
/* ------------------------------------------------------------------ */
.cl-search { position: relative; display: flex; gap: 8px; width: 100%; }
.cl-search__input {
	flex: 1; min-width: 0;
	height: 52px; padding: 0 18px;
	border: 1px solid rgba(0, 0, 0, .15); border-radius: 8px;
	background: #fff; color: var(--cl-text);
	font: 400 17px/1 var(--cl-body);
}
.cl-search__input:focus { outline: 2px solid var(--cl-orange); outline-offset: 1px; border-color: transparent; }
.cl-search__input::-webkit-search-cancel-button { cursor: pointer; }
.cl-search__btn {
	flex: none; height: 52px; padding: 0 24px;
	border: 0; border-radius: 8px;
	background: var(--cl-orange); color: #fff;
	font: 700 16px/1 var(--cl-body); cursor: pointer;
	transition: background .2s;
}
.cl-search__btn:hover { background: var(--cl-orange-dark); }

/* Sugerencias instantáneas */
.cl-search__results {
	position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 5;
	margin: 0; padding: 8px; list-style: none;
	background: #fff; border-radius: 10px; box-shadow: var(--cl-shadow);
	max-height: min(60vh, 460px); overflow-y: auto;
}
.cl-search__results a, .cl-search__results .cl-search__msg {
	display: flex; align-items: center; gap: 14px;
	padding: 8px 10px; border-radius: 8px;
	color: var(--cl-text); text-decoration: none; font: 500 15px/1.25 var(--cl-body);
}
.cl-search__results a:hover, .cl-search__results [aria-selected="true"] a { background: var(--cl-light); color: var(--cl-orange); }
.cl-search__results img { flex: none; width: 48px; height: 48px; object-fit: contain; background: var(--cl-light); border-radius: 6px; }
.cl-search__results small { display: block; color: var(--cl-gray); font-size: 13px; }
.cl-search__results .cl-search__all a { justify-content: center; font-weight: 700; color: var(--cl-orange); border-top: 1px solid rgba(0, 0, 0, .08); border-radius: 0 0 8px 8px; margin-top: 4px; }
.cl-search__results .cl-search__msg { color: var(--cl-gray); }

/* Botón y panel en el header */
.cl-header .cl-catalog--header-search { position: static; margin-left: 28px; display: flex; }
.cl-hsearch__toggle {
	display: grid; place-items: center;
	width: 44px; height: 44px; padding: 0;
	border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%;
	background: transparent; color: #fff; cursor: pointer;
	transition: border-color .2s, color .2s, background .2s;
}
.cl-hsearch__toggle:hover, .cl-hsearch__toggle[aria-expanded="true"] { border-color: var(--cl-orange); color: var(--cl-orange); }
.cl-hsearch__toggle:focus-visible { outline: 2px solid var(--cl-orange); outline-offset: 2px; }
.cl-hsearch__panel {
	position: absolute; top: 100%; left: 0; right: 0;
	padding: 20px var(--cl-gutter) 24px;
	background: var(--cl-dark); box-shadow: 0 12px 24px rgba(0, 0, 0, .35);
}
.cl-hsearch__panel .cl-search { max-width: 900px; margin-inline: auto; }
.cl-header:has(.cl-hsearch__panel:not([hidden])) { background: var(--cl-dark); }

/* Página de resultados */
.cl-search-hero { padding-block: clamp(40px, 6vw, 80px) !important; }
.cl-search-hero .wp-block-query-title { color: #fff; margin: 8px 0 24px; font-size: var(--wp--preset--font-size--section-title); line-height: 1.1; }
.cl-search-hero .cl-search { max-width: 760px; }
.cl-search-empty { padding: 40px 0; }

@media (max-width: 1280px) {
	.cl-header .cl-catalog--header-search { margin-left: 16px; }
}
@media (max-width: 1100px) {
	/* Con menú hamburguesa: lupa junto al botón de menú */
	.cl-header .cl-catalog--header-search { order: 1; margin-left: auto; margin-right: 12px; }
	.cl-header .wp-block-navigation { order: 2; }
}
@media (max-width: 781px) {
	.cl-search__btn { padding: 0 16px; }
	.cl-hsearch__panel { padding-inline: 16px; }
}

/* Insertos (piezas de 2 cm máx.): foto más chica en tarjetas y en la página del producto */
.cl-small-item .cl-product-card .wp-block-post-featured-image { padding: 25%; }
body.cl-small-item.single-product main .wp-block-post-featured-image img { width: 55% !important; height: auto !important; margin-inline: auto; display: block; }

/* Franja de garantías: el texto del círculo con la misma tipografía que la etiqueta */
.cl-trust .cl-ring { font-family: var(--cl-body) !important; font-weight: 500; font-size: 13px !important; letter-spacing: .02em; }
.cl-footer__walter { gap: 12px !important; flex-wrap: wrap; }

/* Buscador más visible: lupa naranja en el header y botón flotante */
.cl-hsearch__toggle { background: var(--cl-orange); border-color: var(--cl-orange); color: #fff; }
.cl-hsearch__toggle:hover, .cl-hsearch__toggle[aria-expanded="true"] { background: var(--cl-orange-dark); border-color: var(--cl-orange-dark); color: #fff; }
.cl-search-fab {
	position: fixed; right: 24px; bottom: 24px; z-index: 90;
	display: inline-flex; align-items: center; gap: 10px;
	height: 56px; padding: 0 22px 0 18px;
	border: 0; border-radius: 999px;
	background: var(--cl-orange); color: #fff;
	font: 700 16px/1 var(--cl-body);
	box-shadow: 0 10px 28px rgba(239, 125, 0, .45), 0 2px 6px rgba(0, 0, 0, .25);
	cursor: pointer; transition: background .2s, transform .25s, opacity .25s, visibility .25s;
	opacity: 0; visibility: hidden; transform: translateY(12px);
}
.cl-search-fab.is-visible { opacity: 1; visibility: visible; transform: none; }
.cl-search-fab.is-visible:hover { background: var(--cl-orange-dark); transform: translateY(-2px); }
.cl-search-fab:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.cl-search-fab svg { flex: none; }
body:has(.cl-hsearch__panel:not([hidden])) .cl-search-fab { opacity: 0; pointer-events: none; }
@media (max-width: 781px) {
	/* En celular sólo el círculo con la lupa */
	.cl-search-fab { right: 16px; bottom: 16px; width: 56px; padding: 0; justify-content: center; }
	.cl-search-fab span { display: none; }
}
@media print { .cl-search-fab { display: none; } }

/* Catálogo destacado (portada de inicio) */
.cl-catalog-section { overflow: hidden; }
.cl-catalog-feature {
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(32px, 6vw, 96px); align-items: center;
	width: 100%; max-width: 1200px; margin-inline: auto;
}
.cl-catalog-feature__cover {
	position: relative; display: block; padding: 0; border: 0; background: none; cursor: pointer;
	justify-self: center; width: min(100%, 380px);
	transform: perspective(1200px) rotateY(-14deg) rotateZ(-2deg);
	transition: transform .4s ease;
	filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .55));
}
.cl-catalog-feature__cover:hover, .cl-catalog-feature__cover:focus-visible { transform: perspective(1200px) rotateY(-4deg) rotateZ(0); }
.cl-catalog-feature__cover img { display: block; width: 100%; height: auto; border-radius: 4px 10px 10px 4px; }
.cl-catalog-feature__cover:focus-visible { outline: 3px solid var(--cl-orange); outline-offset: 6px; }
.cl-catalog-feature__body { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.cl-catalog-feature__title { margin: 0; color: #fff; font-size: var(--wp--preset--font-size--section-title); line-height: 1.05; }
.cl-catalog-feature__desc { margin: 0; max-width: 560px; font-size: 20px; line-height: 1.35; color: rgba(255, 255, 255, .85); }
.cl-catalog-feature__meta { margin: 0; color: var(--cl-gray); font-size: 15px; }
.cl-catalog-feature__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 8px; }
.cl-catalog-feature__actions .cl-catalog-card__btn { min-height: 54px; padding: 0 26px; font-size: 17px; }
.cl-catalog-feature__all { color: #fff; font-weight: 700; text-decoration: none; }
.cl-catalog-feature__all:hover { color: var(--cl-orange); }
@media (max-width: 900px) {
	.cl-catalog-feature { grid-template-columns: 1fr; text-align: center; }
	.cl-catalog-feature__cover { width: min(70%, 300px); }
	.cl-catalog-feature__body, .cl-catalog-feature__actions { align-items: center; justify-content: center; }
	.cl-catalog-feature__desc { font-size: 18px; }
}

/* Banners a todo el ancho (computadora): flechas a los costados y puntos en el borde inferior, sin tapar la pieza */
@media (min-width: 782px) {
	.cl-slider:has(.cl-slide--auto) .cl-slider__nav {
		inset: var(--cl-header-h) 0 0 0;
		justify-content: space-between; align-items: center;
		padding-inline: 14px;
		pointer-events: none;
	}
	.cl-slider:has(.cl-slide--auto) .cl-carousel__btn {
		pointer-events: auto;
		width: 44px; height: 44px; border-width: 2px;
		background-color: rgba(0, 0, 0, .45);
	}
	.cl-slider:has(.cl-slide--auto) .cl-slider__dots {
		position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%);
		pointer-events: auto;
	}
}
