/*
Theme Name: Copyex 2026
Theme URI: https://copyex.es/
Author: Copyex Ofimática, S.L.
Description: Tema de bloques a medida para Copyex Ofimática. Moderno, ligero, sin constructores de pago. Editable desde Apariencia → Editor.
Version: 1.3.4
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: copyex
*/

/* ==========================================================================
   Base
   ========================================================================== */
:root {
	--cx-rojo: var(--wp--preset--color--rojo, #E3000F);
	--cx-tinta: var(--wp--preset--color--tinta, #14161B);
	--cx-linea: var(--wp--preset--color--linea, #E6E7EB);
	--cx-niebla: var(--wp--preset--color--niebla, #F4F5F7);
	--cx-gris: var(--wp--preset--color--gris, #6B7280);
	--cx-r-s: 10px;
	--cx-r-m: 16px;
	--cx-r-l: 24px;
	--cx-sombra: var(--wp--preset--shadow--suave);
	--cx-sombra-alta: var(--wp--preset--shadow--elevada);
	--cx-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 130px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }
::selection { background: var(--cx-rojo); color: #fff; }
:focus-visible { outline: 2px solid var(--cx-rojo); outline-offset: 3px; border-radius: 4px; }
.cx-rojo { color: var(--cx-rojo); }

/* Etiqueta pequeña sobre los títulos */
.cx-kicker {
	display: inline-flex; align-items: center; gap: .55rem;
	margin-top: 0 !important; margin-bottom: .9rem !important;
	font-family: var(--wp--preset--font-family--titulos);
	font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
	color: var(--cx-rojo);
}
.cx-kicker::before { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
.has-tinta-background-color .cx-kicker { color: #ff5a63; }

.cx-lead { font-size: var(--wp--preset--font-size--medio); color: var(--wp--preset--color--texto); max-width: 62ch; }

/* ==========================================================================
   Botones
   ========================================================================== */
.wp-element-button, .wp-block-button__link {
	transition: background-color .2s var(--cx-ease), color .2s var(--cx-ease), box-shadow .2s var(--cx-ease), transform .2s var(--cx-ease);
	box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 8px 18px -8px rgba(227,0,15,.55);
}
.wp-block-button__link:hover { transform: translateY(-1px); text-decoration: none !important; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--cx-tinta); border: 1.5px solid #cfd2d8; box-shadow: none;
	padding: calc(.85rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--cx-tinta); background: var(--cx-tinta); color: #fff; }
.wp-block-button.is-style-blanco > .wp-block-button__link { background: #fff; color: var(--cx-tinta); box-shadow: 0 10px 24px -12px rgba(0,0,0,.45); }
.wp-block-button.is-style-blanco > .wp-block-button__link:hover { background: var(--cx-tinta); color: #fff; }
.wp-block-button.is-style-contorno-blanco > .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.6); box-shadow: none; padding: calc(.85rem - 1.5px) calc(1.6rem - 1.5px); }
.wp-block-button.is-style-contorno-blanco > .wp-block-button__link:hover { background: #fff; color: var(--cx-tinta); border-color: #fff; }

/* Enlace con flecha */
.cx-enlace-flecha { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--wp--preset--font-family--titulos); font-weight: 750; color: var(--cx-tinta) !important; }
.cx-enlace-flecha::after { content: "→"; color: var(--cx-rojo); transition: transform .25s var(--cx-ease); }
.cx-enlace-flecha:hover { text-decoration: none !important; }

/* ==========================================================================
   Cabecera
   ========================================================================== */
.cx-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .cx-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cx-site-header { top: 0; } }
.cx-topbar p { margin: 0; }
.cx-topbar a { color: #fff; opacity: .85; }
.cx-topbar a:hover { opacity: 1; color: #fff; text-decoration: none; }
.cx-topbar__lema { opacity: .7; }
.cx-sep { margin: 0 .6rem; opacity: .4; }
.cx-header { transition: box-shadow .25s var(--cx-ease), padding .25s var(--cx-ease); border-bottom: 1px solid transparent; }
.cx-site-header.is-scrolled .cx-header { box-shadow: 0 10px 30px -18px rgba(20,22,27,.35); border-bottom-color: var(--cx-linea); }
.cx-logo { display: block; line-height: 0; flex-shrink: 0; }
.cx-logo img { width: 168px; height: auto; display: block; }
.cx-header .wp-block-navigation-item__content { color: var(--cx-tinta); padding: .35rem 0; position: relative; }
.cx-header .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px;
	background: var(--cx-rojo); transform: scaleX(0); transform-origin: left; transition: transform .25s var(--cx-ease);
}
.cx-header .wp-block-navigation-item__content:hover { text-decoration: none; color: var(--cx-tinta); }
.cx-header .wp-block-navigation-item__content:hover::after,
.cx-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.cx-btn-tel .wp-block-button__link { padding: .7rem 1.2rem .7rem 1rem; font-size: .95rem; display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
.cx-btn-tel .wp-block-button__link::before {
	content: ""; width: 18px; height: 18px; flex: none;
	background: currentColor;
	-webkit-mask: url("assets/img/iconos/phone-blanco.svg") center / contain no-repeat; mask: url("assets/img/iconos/phone-blanco.svg") center / contain no-repeat;
}
/* Menú móvil */
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: var(--cx-tinta); }
.wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem clamp(1rem, 4vw, 2rem) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.6rem; font-weight: 800; padding: .5rem 0 !important; }
@media (max-width: 960px) {
	.cx-topbar__lema { display: none; }
	.cx-topbar .wp-block-group { justify-content: center !important; }
}
@media (max-width: 599px) {
	.cx-header__cta { display: none; }
	.cx-logo img { width: 140px; }
}
@media (min-width: 600px) and (max-width: 1080px) {
	.cx-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.cx-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* ==========================================================================
   Secciones y cabeceras
   ========================================================================== */
.cx-seccion { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.cx-contenido--completo > .cx-seccion:first-child { padding-top: var(--wp--preset--spacing--50); }
.cx-seccion + .cx-seccion:not(.has-background):not(.cx-seccion--cta) { padding-top: 0; }
.cx-cab-seccion { max-width: 760px; margin-bottom: var(--wp--preset--spacing--50); }
.cx-cab-seccion h2 { margin-top: 0; }
.cx-cab-seccion .cx-lead { margin-top: 1rem; }
.cx-cab-seccion--claro h2 { color: #fff; }

/* Cabecera de página interior */
.cx-hero-int {
	position: relative; overflow: hidden; isolation: isolate;
	padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--50);
	background:
		radial-gradient(1200px 400px at 100% 0%, rgba(227,0,15,.08), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--cx-niebla) 100%);
	border-bottom: 1px solid var(--cx-linea);
}
.cx-hero-int::after {
	content: ""; position: absolute; z-index: -1; right: -60px; top: 50%; translate: 0 -50%;
	width: 340px; height: 340px; border-radius: 64px; rotate: 12deg;
	background: var(--cx-rojo); opacity: .06;
}
.cx-hero-int__titulo { max-width: 18ch; margin-block: 0 !important; font-size: clamp(2.2rem, 5vw, 3.6rem) !important; }
.cx-hero-int .cx-lead { margin-top: 1.25rem; }
.cx-cabecera-pagina h1 { margin: 0; }

/* Chips de navegación interna */
.cx-chips { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.75rem !important; }
.cx-chip {
	display: inline-block; padding: .5rem 1rem; border-radius: 999px; background: #fff; border: 1px solid var(--cx-linea);
	color: var(--cx-tinta) !important; font-weight: 600; font-size: .92rem; transition: border-color .2s, color .2s, box-shadow .2s;
}
.cx-chip:hover { border-color: var(--cx-rojo); color: var(--cx-rojo) !important; text-decoration: none !important; box-shadow: var(--cx-sombra); }

/* ==========================================================================
   Portada (hero)
   ========================================================================== */
.cx-hero {
	position: relative; overflow: hidden; isolation: isolate;
	padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60);
	background:
		radial-gradient(900px 500px at 85% 20%, rgba(227,0,15,.10), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--cx-niebla) 100%);
}
.cx-hero::before { /* trama de puntos sutil */
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
	background-image: radial-gradient(rgba(20,22,27,.08) 1px, transparent 1px);
	background-size: 22px 22px;
	mask-image: linear-gradient(90deg, transparent 0%, #000 60%);
}
.cx-hero__cols { gap: var(--wp--preset--spacing--50) !important; align-items: center; }
.cx-hero__titulo { font-size: clamp(2.8rem, 7vw, 5.25rem) !important; line-height: 1.02 !important; margin: 0 !important; letter-spacing: -.045em !important; }
.cx-hero .cx-lead { margin: 1.5rem 0 2rem; }
.cx-hero .wp-block-buttons { gap: .75rem; }
.cx-checks { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; }
.cx-checks li { position: relative; padding-left: 1.6rem; font-weight: 600; color: var(--cx-tinta); font-size: .95rem; }
.cx-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.1rem; height: 1.1rem; border-radius: 50%;
	background: var(--cx-rojo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.cx-tarjeta .cx-checks { display: grid; gap: .5rem; margin-top: 1rem; }
.cx-hero__visual {
	position: relative; background: #fff; border-radius: var(--cx-r-l); padding: clamp(1rem, 3vw, 2rem);
	box-shadow: var(--cx-sombra-alta); border: 1px solid var(--cx-linea);
}
.cx-hero__visual::before {
	content: ""; position: absolute; z-index: -1; inset: auto -18px -18px auto; width: 70%; height: 70%;
	border-radius: var(--cx-r-l); background: var(--cx-rojo);
}
.cx-hero__img { margin: 0 !important; }
.cx-hero__img img { border-radius: 0 !important; max-height: 460px; width: 100%; object-fit: contain; }
.cx-hero__sello {
	position: absolute; left: clamp(-1rem, -2vw, -.5rem); bottom: 1.5rem; margin: 0 !important;
	display: grid; gap: .1rem; padding: .85rem 1.15rem .85rem 3.4rem; border-radius: 14px;
	background: var(--cx-tinta) url("assets/img/iconos/award-blanco.svg") 1rem center / 1.5rem no-repeat; color: #fff;
	box-shadow: var(--cx-sombra-alta); font-size: .82rem; line-height: 1.3;
}
.cx-hero__sello strong { font-family: var(--wp--preset--font-family--titulos); font-size: .95rem; }
.cx-hero__sello span { opacity: .7; }

/* ==========================================================================
   Tarjetas
   ========================================================================== */
.cx-tarjetas { gap: 1.25rem !important; }
.cx-tarjeta {
	position: relative; background: #fff; border: 1px solid var(--cx-linea); border-radius: var(--cx-r-m);
	padding: 1.75rem 1.75rem 1.5rem; transition: transform .3s var(--cx-ease), box-shadow .3s var(--cx-ease), border-color .3s;
	display: flex; flex-direction: column;
}
.cx-tarjeta > * { margin-block: 0; }
.cx-tarjeta h3 { margin-top: 1.25rem; margin-bottom: .5rem; font-size: 1.35rem; }
.cx-tarjeta p { color: var(--wp--preset--color--texto); }
.cx-tarjeta__enlace { margin-top: auto !important; padding-top: 1.25rem; }
.cx-tarjeta__enlace a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* toda la tarjeta clicable */
.cx-tarjeta:not(.cx-tarjeta--estatica):hover { transform: translateY(-4px); box-shadow: var(--cx-sombra-alta); border-color: transparent; }
.cx-tarjeta:hover .cx-enlace-flecha::after { transform: translateX(4px); }
.cx-icono { margin: 0 !important; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: var(--wp--preset--color--rojo-suave); }
.cx-icono img { width: 26px !important; height: 26px !important; border-radius: 0 !important; }
.has-tinta-background-color .cx-icono { background: rgba(255,255,255,.08); }

/* ==========================================================================
   Datos (Por qué Copyex)
   ========================================================================== */
.cx-seccion--oscura { position: relative; overflow: hidden; isolation: isolate; }
.cx-seccion--oscura::after {
	content: ""; position: absolute; z-index: -1; width: 520px; height: 520px; right: -160px; bottom: -220px; border-radius: 50%;
	background: radial-gradient(circle, rgba(227,0,15,.35), transparent 65%);
}
.cx-seccion--oscura h2 { max-width: 22ch; }
.cx-datos { gap: 0 !important; border-top: 1px solid rgba(255,255,255,.12); }
.cx-dato { padding: 1.75rem 1.5rem 0 0; }
.cx-dato > * { margin: 0; }
.cx-dato__cifra { font-family: var(--wp--preset--font-family--titulos); font-weight: 800; font-size: clamp(1.9rem, 3.4vw, 2.6rem); letter-spacing: -.03em; line-height: 1.1; }
.cx-dato__cifra::after { content: "."; color: var(--cx-rojo); }
.cx-dato__texto { margin-top: .6rem !important; opacity: .72; font-size: .98rem; }

/* ==========================================================================
   Marcas
   ========================================================================== */
.cx-marcas { gap: var(--wp--preset--spacing--50) !important; padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--cx-r-l); background: var(--cx-niebla); }
.cx-marcas__texto { flex: 1 1 420px; max-width: 620px; }
.cx-marcas__texto h2 { margin-top: 0; font-size: var(--wp--preset--font-size--grande); }
.cx-marcas__logos { flex: 1 1 300px; gap: 1rem !important; }
.cx-marca { margin: 0 !important; flex: 1; background: #fff; border-radius: var(--cx-r-m); padding: 1.75rem 1.5rem; display: grid; place-items: center; min-height: 120px; box-shadow: var(--cx-sombra); }
.cx-marca img { border-radius: 0 !important; max-height: 44px; width: auto; object-fit: contain; }

/* ==========================================================================
   Llamada a la acción
   ========================================================================== */
.cx-seccion--cta { padding-top: 0 !important; }
.cx-cta {
	position: relative; overflow: hidden; isolation: isolate;
	border-radius: var(--cx-r-l); padding: clamp(2rem, 5vw, 3.5rem) !important; gap: 1.5rem 2rem !important;
}
.cx-cta::after {
	content: ""; position: absolute; z-index: -1; right: -40px; top: -60px; width: 280px; height: 280px; border-radius: 56px; rotate: 18deg;
	border: 46px solid rgba(255,255,255,.1);
}
.cx-cta h2 { color: #fff; margin: 0 0 .5rem; font-size: var(--wp--preset--font-size--xl); }
.cx-cta p { margin: 0; opacity: .9; max-width: 52ch; }
.cx-cta__texto { flex: 1 1 380px; }
.cx-cta .wp-block-buttons { gap: .75rem; }

/* ==========================================================================
   Medio + texto (Productos / Servicios)
   ========================================================================== */
.cx-mt { gap: var(--wp--preset--spacing--50) !important; align-items: center !important; margin-bottom: var(--wp--preset--spacing--60) !important; }
.cx-mt:last-child { margin-bottom: 0 !important; }
.cx-mt h2 { margin-top: 0; margin-bottom: 1.25rem; }
.cx-mt__texto p { max-width: 64ch; }
.cx-mt__texto .wp-block-buttons { margin-top: 1.75rem; }
.cx-mt__media figure { margin: 0; }
.cx-mt__foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--cx-r-l) !important; box-shadow: var(--cx-sombra-alta); }
.cx-mt__logo, .cx-mt__producto {
	background: var(--cx-niebla); border-radius: var(--cx-r-l); aspect-ratio: 4 / 3; display: grid !important; place-items: center; padding: 12%;
	position: relative; overflow: hidden;
}
.cx-mt__logo img { border-radius: 0 !important; max-height: 90px; width: auto; object-fit: contain; }
.cx-mt__producto img { border-radius: 0 !important; mix-blend-mode: multiply; max-height: 100%; object-fit: contain; }
.cx-mt__logo::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 160px; height: 160px; border-radius: 36px; rotate: 18deg; background: var(--cx-rojo); opacity: .08; }
@media (min-width: 782px) {
	.cx-mt--invertido > .cx-mt__media { order: 2; }
}

/* ==========================================================================
   Quiénes somos
   ========================================================================== */
.cx-cols-historia { gap: var(--wp--preset--spacing--50) !important; }
.cx-prosa h2 { margin-top: 0; }
.cx-prosa p:first-of-type { font-size: var(--wp--preset--font-size--medio); color: var(--cx-tinta); }
.cx-ficha {
	position: sticky; top: 120px;
	background: #fff; border: 1px solid var(--cx-linea); border-radius: var(--cx-r-l); padding: 2rem; box-shadow: var(--cx-sombra);
}
.cx-ficha > * { margin-block: 0; }
.cx-ficha > * + * { margin-top: 1.25rem; }
.cx-ficha h2 { font-size: var(--wp--preset--font-size--grande); }
.cx-ficha__logo img { border-radius: 0 !important; max-width: 220px; }
.cx-ficha__lista { list-style: none; padding: 0; border-top: 1px solid var(--cx-linea); }
.cx-ficha__lista li { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--cx-linea); text-align: right; }
.cx-ficha__lista strong { color: var(--cx-gris); font-weight: 500; text-align: left; }

/* ==========================================================================
   Equipos
   ========================================================================== */
.cx-equipos { gap: 1.25rem !important; }
.cx-equipo {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--cx-linea); border-radius: var(--cx-r-m); overflow: hidden;
	transition: transform .3s var(--cx-ease), box-shadow .3s var(--cx-ease);
}
.cx-equipo:hover { transform: translateY(-4px); box-shadow: var(--cx-sombra-alta); }
.cx-equipo > * { margin-inline: 1.5rem; margin-block: 0; }
.cx-equipo__img { margin: 0 !important; background: var(--cx-niebla); aspect-ratio: 1; display: grid !important; place-items: center; padding: 1.5rem; }
.cx-equipo__img img { border-radius: 0 !important; max-height: 100%; width: 100%; object-fit: contain; mix-blend-mode: multiply; }
.cx-etiqueta { margin-top: 1.25rem !important; align-self: flex-start; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cx-rojo); background: var(--wp--preset--color--rojo-suave); padding: .3rem .6rem; border-radius: 6px; }
.cx-equipo h3 { font-size: 1.25rem; margin-top: .75rem; margin-bottom: .5rem; }
.cx-equipo p { font-size: .97rem; }
.cx-equipo__dato { margin-top: .75rem !important; padding: .75rem 0 0; border-top: 1px dashed var(--cx-linea); font-weight: 600; color: var(--cx-tinta); }
.cx-equipo .wp-block-buttons { margin-top: auto !important; padding: 1.25rem 0 1.5rem; }
.cx-equipo .wp-block-button, .cx-equipo .wp-block-button__link { width: 100%; text-align: center; }

/* ==========================================================================
   Soporte
   ========================================================================== */
.cx-descargas { gap: .75rem !important; margin-top: 1.5rem; }
.cx-descarga {
	position: relative; gap: 1rem !important; padding: 1rem 1.25rem; background: #fff; border: 1px solid var(--cx-linea); border-radius: var(--cx-r-m);
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.cx-descarga:hover { border-color: var(--cx-rojo); box-shadow: var(--cx-sombra); transform: translateY(-2px); }
.cx-descarga .cx-icono { width: 44px; height: 44px; border-radius: 12px; flex: none; }
.cx-descarga .cx-icono img { width: 22px !important; height: 22px !important; }
.cx-descarga__titulo { margin: 0; flex: 1; }
.cx-enlace-externo { color: var(--cx-tinta) !important; font-family: var(--wp--preset--font-family--titulos); font-weight: 750; display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.cx-enlace-externo::before { content: ""; position: absolute; inset: 0; }
.cx-enlace-externo::after {
	content: ""; width: 18px; height: 18px; flex: none; background: var(--cx-gris);
	-webkit-mask: url("assets/img/iconos/external-link.svg") center / contain no-repeat; mask: url("assets/img/iconos/external-link.svg") center / contain no-repeat;
}
.cx-descarga:hover .cx-enlace-externo::after { background: var(--cx-rojo); }
.cx-enlace-externo:hover { text-decoration: none !important; }
.cx-remota { position: relative; overflow: hidden; border-radius: var(--cx-r-l); padding: 2rem; height: 100%; isolation: isolate; }
.cx-remota::after { content: ""; position: absolute; z-index: -1; right: -70px; bottom: -70px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(227,0,15,.55), transparent 70%); }
.cx-remota h2 { color: #fff; font-size: var(--wp--preset--font-size--grande); margin: 1.25rem 0 .75rem; }
.cx-remota p { opacity: .8; }
.cx-remota .cx-icono { background: var(--cx-rojo); }

/* ==========================================================================
   Formularios (Contact Form 7)
   ========================================================================== */
.cx-formularios { gap: 1.5rem !important; }
.cx-formulario { background: #fff; border: 1px solid var(--cx-linea); border-radius: var(--cx-r-l); padding: clamp(1.25rem, 3vw, 2.25rem); box-shadow: var(--cx-sombra); height: 100%; }
.cx-formulario > h2, .cx-formulario > h3 { margin-top: 0; margin-bottom: 1.5rem; }
.cx-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1rem; }
.cx-campo { display: grid; gap: .4rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.cx-campo--ancho { grid-column: 1 / -1; }
.cx-campo > span, .cx-campo > legend { font-size: .88rem; font-weight: 650; color: var(--cx-tinta); padding: 0; }
@media (max-width: 599px) { .cx-form-grid { grid-template-columns: 1fr; } }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="number"], .wpcf7 select, .wpcf7 textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--cx-tinta);
	background: var(--cx-niebla); border: 1.5px solid transparent; border-radius: var(--cx-r-s); padding: .75rem .9rem;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.wpcf7 select { appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314161B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .8rem center; background-size: 18px; }
.wpcf7 textarea { min-height: 120px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: none; background-color: #fff; border-color: var(--cx-rojo); box-shadow: 0 0 0 4px rgba(227,0,15,.12); }
.wpcf7 .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: .5rem; }
.wpcf7 .wpcf7-checkbox .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-checkbox label { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .85rem; border-radius: 999px; background: var(--cx-niebla); cursor: pointer; font-size: .95rem; }
.wpcf7 input[type="checkbox"] { accent-color: var(--cx-rojo); width: 1.05rem; height: 1.05rem; }
.cx-privacidad { margin: 1.25rem 0 1.25rem; font-size: .9rem; }
.cx-privacidad .wpcf7-list-item { margin: 0; }
.cx-privacidad .wpcf7-list-item label { display: flex; gap: .6rem; align-items: flex-start; }
.cx-privacidad input[type="checkbox"] { margin-top: .2rem; flex: none; }
.cx-rgpd { margin: .75rem 0 0; font-size: .78rem; line-height: 1.5; color: var(--cx-gris); }
.wpcf7 .cx-enviar, .wpcf7 input[type="submit"] {
	cursor: pointer; border: 0; border-radius: 999px; background: var(--cx-rojo); color: #fff; padding: .95rem 1.8rem;
	font-family: var(--wp--preset--font-family--titulos); font-weight: 750; font-size: 1rem;
	box-shadow: 0 8px 18px -8px rgba(227,0,15,.55); transition: background-color .2s, transform .2s;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--rojo-oscuro); transform: translateY(-1px); }
.wpcf7 input[type="submit"]:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.wpcf7-not-valid-tip { font-size: .82rem; margin-top: .25rem; color: var(--wp--preset--color--rojo-oscuro); }
.wpcf7 form .wpcf7-response-output { margin: 1.25rem 0 0; padding: .9rem 1.1rem; border-radius: var(--cx-r-s); font-size: .95rem; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }

/* ==========================================================================
   Contacto
   ========================================================================== */
.cx-dato-contacto { gap: 1rem !important; }
.cx-dato-contacto .cx-icono { width: 44px; height: 44px; border-radius: 12px; flex: none; }
.cx-dato-contacto .cx-icono img { width: 22px !important; height: 22px !important; }
.cx-dato-contacto p { margin: 0; align-self: center; color: var(--cx-tinta); font-weight: 500; }
.cx-dato-contacto a { color: var(--cx-tinta); }
.cx-ficha .cx-dato-contacto { margin-top: 1rem; }
.cx-mapa { margin-top: 1.25rem; border-radius: var(--cx-r-l); overflow: hidden; border: 1px solid var(--cx-linea); line-height: 0; }
.cx-mapa iframe { width: 100%; height: 320px; border: 0; filter: grayscale(.25); }
.wp-block-column > .cx-ficha:not(:only-child) { position: static; }

/* ==========================================================================
   Páginas de texto (cookies, mapa web)
   ========================================================================== */
.cx-cabecera-pagina { border-bottom: 1px solid var(--cx-linea); }
.cx-contenido:not(.cx-contenido--completo) h2 { font-size: var(--wp--preset--font-size--grande); margin-top: 2.5rem; }
.cx-mapa-web { list-style: none; padding: 0; display: grid; gap: .5rem; }
.cx-mapa-web a { display: block; padding: 1rem 1.25rem; border: 1px solid var(--cx-linea); border-radius: var(--cx-r-s); color: var(--cx-tinta); font-weight: 650; }
.cx-mapa-web a:hover { border-color: var(--cx-rojo); color: var(--cx-rojo); text-decoration: none; }

/* ==========================================================================
   Pie
   ========================================================================== */
.cx-footer { color: rgba(255,255,255,.72); }
.cx-footer a { color: rgba(255,255,255,.85); }
.cx-footer a:hover { color: #fff; }
.cx-logo--pie img { width: 160px; }
.cx-footer__texto { font-size: .95rem; max-width: 34ch; margin-top: 1.25rem; }
.cx-footer__titulo { color: #fff !important; font-size: .8rem !important; letter-spacing: .14em !important; text-transform: uppercase; margin: .4rem 0 1rem; font-weight: 800; }
.cx-footer__lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .95rem; }
.cx-footer__sep { margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--30) !important; border: 0 !important; height: 1px !important; opacity: 1; background-color: rgba(255,255,255,.1) !important; }
.cx-footer__legal p { margin: 0; }
.cx-footer__legal strong { color: #fff; }

/* ==========================================================================
   Animación de aparición
   ========================================================================== */
.cx-aparece { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--cx-ease), transform .6s var(--cx-ease); }
.cx-aparece.is-visible { opacity: 1; transform: none; }
.cx-tarjeta.cx-aparece.is-visible:not(.cx-tarjeta--estatica):hover, .cx-equipo.cx-aparece.is-visible:hover { transform: translateY(-4px); }

/* ==========================================================================
   Responsive general
   ========================================================================== */
@media (max-width: 781px) {
	.cx-hero__visual { margin-top: 1rem; }
	.cx-hero__visual::before { inset: auto -10px -10px auto; }
	.cx-hero__sello { left: .75rem; bottom: .75rem; }
	.cx-mt { margin-bottom: var(--wp--preset--spacing--50) !important; }
	.cx-ficha { position: static; }
	.cx-dato { padding-right: 0; }
	.cx-cta .wp-block-buttons, .cx-cta .wp-block-button { width: 100%; }
	.cx-cta .wp-block-button__link { width: 100%; text-align: center; }
}

/* Ajustes */
.cx-cab-seccion { margin-left: 0 !important; }
.cx-seccion:has(+ .cx-seccion--cta) { padding-bottom: var(--wp--preset--spacing--50); }
.cx-cta::after { border-radius: 50%; width: 320px; height: 320px; right: -90px; top: -110px; border-width: 54px; }
.cx-marca img { max-height: 34px; max-width: 80%; }
.cx-mt__logo img { max-height: 70px; max-width: 75%; }
.cx-cab-seccion { max-width: var(--wp--style--global--wide-size, 1200px) !important; margin-left: auto !important; margin-right: auto !important; }
.cx-cab-seccion > * { max-width: 760px; }
.cx-footer .cx-footer__sep { max-width: var(--wp--style--global--wide-size) !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; }

/* Rejillas fluidas (se adaptan solas al ancho) */
.cx-tarjetas { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)) !important; }
.cx-datos    { grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)) !important; }
.cx-equipos  { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)) !important; }
.cx-descargas{ grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)) !important; }
@media (min-width: 1100px) { .cx-tarjetas { grid-template-columns: repeat(3, 1fr) !important; } }

/* Cabecera móvil: botón de teléfono redondo + hamburguesa */
@media (max-width: 599px) {
	.cx-header__cta { display: flex !important; order: 1; }
	.cx-header__nav .wp-block-navigation { order: 2; }
	.cx-header__nav { gap: .75rem !important; }
	.cx-btn-tel .wp-block-button__link { font-size: 0; width: 44px; height: 44px; padding: 0 !important; justify-content: center; gap: 0; }
	.cx-btn-tel .wp-block-button__link::before { width: 20px; height: 20px; }
	.cx-kicker { letter-spacing: .1em; font-size: .74rem; }
}
.cx-contenido a { overflow-wrap: anywhere; }

/* Marca de agua con el logotipo de Copyex en la cabecera de las páginas */
.cx-hero-int::after { background: url("assets/img/marca-copyex.png") center / contain no-repeat; border-radius: 0; rotate: 0deg; opacity: .09; width: 360px; height: 360px; right: 4%; }
@media (max-width: 781px) { .cx-hero-int::after { width: 200px; height: 200px; right: -40px; opacity: .07; } }


/* ==========================================================================
   REDISEÑO 2026-10 · portada a pantalla completa, cabecera transparente,
   tarjetas con foto, contacto rápido flotante
   ========================================================================== */

/* --- Cabecera transparente sobre la portada y las cabeceras de página ------ */
.cx-logo .cx-logo__blanco { display: none; }
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header { position: fixed; left: 0; right: 0; top: 0; }
body.admin-bar:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header { top: 46px; } }
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-header { transition: background-color .3s var(--cx-ease), box-shadow .3s var(--cx-ease), padding .3s var(--cx-ease); }
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header:not(.is-scrolled) .cx-header {
	background: linear-gradient(180deg, rgba(10,11,14,.55) 0%, rgba(10,11,14,0) 100%) !important;
	padding-top: 1.4rem !important; padding-bottom: 1.4rem !important;
}
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header:not(.is-scrolled) .cx-logo__color { display: none; }
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header:not(.is-scrolled) .cx-logo__blanco { display: block; }
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header:not(.is-scrolled) .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content,
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header:not(.is-scrolled) .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content:hover,
body:is(.home, :has(.cx-contenido > .cx-hero-int:first-child)) .cx-site-header:not(.is-scrolled) .wp-block-navigation__responsive-container-open { color: #fff; }
.cx-site-header.is-scrolled .cx-header { padding-top: .7rem !important; padding-bottom: .7rem !important; }

/* --- Portada ------------------------------------------------------------- */
.cx-portada { padding-top: 7rem !important; padding-bottom: 6rem !important; margin-top: 0 !important; }
.cx-portada .wp-block-cover__image-background { filter: saturate(.85); }
.cx-portada .wp-block-cover__background {
	opacity: 1 !important;
	background:
		radial-gradient(900px 520px at 50% 100%, rgba(227,0,15,.38), transparent 65%),
		linear-gradient(180deg, rgba(10,11,14,.78) 0%, rgba(10,11,14,.70) 45%, rgba(10,11,14,.92) 100%) !important;
}
.cx-portada .wp-block-cover__inner-container { color: #fff; }
.cx-portada__kicker { justify-content: center; color: #ff6b73 !important; display: flex !important; }
.cx-portada__kicker::after { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
.cx-portada__titulo {
	color: #fff !important; margin: 0 auto !important;
	font-size: clamp(3rem, 9.5vw, 7.25rem) !important; line-height: .98 !important; letter-spacing: -.05em !important;
	text-wrap: balance; text-shadow: 0 10px 40px rgba(0,0,0,.35);
}
.cx-portada__titulo .cx-rojo { color: #ff2a36; }
.cx-portada__lead {
	max-width: 58ch; margin: 1.75rem auto 2.25rem !important;
	font-size: var(--wp--preset--font-size--medio); line-height: 1.6; color: rgba(255,255,255,.84);
}
.cx-portada__lead strong { color: #fff; }
.cx-portada .wp-block-buttons { gap: .85rem; }
.cx-portada .wp-block-button__link { padding: 1rem 2rem; font-size: 1.05rem; }
.cx-portada__bajar {
	position: relative; margin: 3.5rem auto 0;
	width: 28px; height: 44px; border: 2px solid rgba(255,255,255,.55); border-radius: 999px; display: block;
}
.cx-portada__bajar span {
	position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 4px; background: #fff;
	animation: cx-bajar 1.8s var(--cx-ease) infinite;
}
@keyframes cx-bajar { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@media (max-width: 599px) {
	.cx-portada { min-height: 92vh !important; padding-top: 6.5rem !important; }
	.cx-portada .wp-block-buttons, .cx-portada .wp-block-button { width: 100%; }
	.cx-portada .wp-block-button__link { width: 100%; text-align: center; }
	.cx-portada__bajar { display: none; }
}

/* --- Cabeceras de sección centradas ------------------------------------- */
.cx-cab-seccion--centro { text-align: center; }
.cx-cab-seccion--centro > * { margin-left: auto !important; margin-right: auto !important; }
.cx-cab-seccion--centro .cx-kicker { justify-content: center; }
.cx-cab-seccion--centro .cx-kicker::after { content: ""; width: 22px; height: 2px; background: currentColor; border-radius: 2px; }
.cx-cab-seccion--centro h2 { max-width: 24ch; }

/* Espaciado: una sección sin fondo detrás de otra con fondo recupera su margen */
.cx-seccion.has-background + .cx-seccion { padding-top: var(--wp--preset--spacing--60) !important; }
.cx-portada + .cx-seccion { padding-top: var(--wp--preset--spacing--60) !important; }

/* --- Tarjetas con foto (Qué hacemos) ------------------------------------ */
.cx-fotos { gap: 1.25rem !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)) !important; }
@media (min-width: 1100px) { .cx-fotos { grid-template-columns: repeat(4, 1fr) !important; } }
.cx-foto {
	position: relative; overflow: hidden; isolation: isolate; border-radius: var(--cx-r-l);
	min-height: 420px; display: flex; flex-direction: column; justify-content: flex-end;
	background: var(--cx-tinta); color: #fff; box-shadow: var(--cx-sombra);
	transition: transform .35s var(--cx-ease), box-shadow .35s var(--cx-ease);
}
.cx-foto > * { margin: 0 !important; }
.cx-foto__img { position: absolute !important; inset: 0; z-index: -2; }
.cx-foto__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .6s var(--cx-ease); }
.cx-foto::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(10,11,14,.05) 0%, rgba(10,11,14,.35) 40%, rgba(10,11,14,.92) 100%);
}
.cx-foto::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--cx-rojo);
	transform: scaleX(0); transform-origin: left; transition: transform .35s var(--cx-ease);
}
.cx-foto__texto { padding: 1.75rem; }
.cx-foto__texto > * { margin-block: 0; }
.cx-foto h3 { color: #fff; font-size: 1.4rem; margin-bottom: .5rem; }
.cx-foto p { color: rgba(255,255,255,.8); font-size: .97rem; }
.cx-foto__enlace { margin-top: 1rem !important; }
.cx-foto .cx-enlace-flecha { color: #fff !important; }
.cx-foto .cx-enlace-flecha::before { content: ""; position: absolute; inset: 0; } /* toda la tarjeta clicable */
.cx-foto:hover { transform: translateY(-4px); box-shadow: var(--cx-sombra-alta); }
.cx-foto:hover .cx-foto__img img { transform: scale(1.06); }
.cx-foto:hover::after { transform: scaleX(1); }
.cx-foto:hover .cx-enlace-flecha::after { transform: translateX(4px); }

/* --- Ventajas (Por qué Copyex) ------------------------------------------ */
.cx-ventajas { gap: 1.25rem !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 14rem), 1fr)) !important; }
@media (min-width: 1100px) { .cx-ventajas { grid-template-columns: repeat(4, 1fr) !important; } }
.cx-ventaja {
	position: relative; padding: 2rem 1.75rem; border-radius: var(--cx-r-l);
	background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09);
	transition: background-color .3s var(--cx-ease), border-color .3s var(--cx-ease), transform .3s var(--cx-ease);
}
.cx-ventaja > * { margin-block: 0; }
.cx-ventaja .cx-icono { background: var(--cx-rojo) !important; box-shadow: 0 10px 24px -10px rgba(227,0,15,.8); }
.cx-ventaja h3 { color: #fff; font-size: 1.25rem; margin-top: 1.4rem; margin-bottom: .55rem; }
.cx-ventaja p { color: rgba(255,255,255,.7); font-size: .97rem; }
.cx-ventaja:hover { background: rgba(255,255,255,.07); border-color: rgba(227,0,15,.55); transform: translateY(-4px); }

/* Rejillas de 4: dos columnas en pantallas medianas (sin tarjetas sueltas) */
@media (min-width: 600px) and (max-width: 1099px) {
	.cx-fotos, .cx-ventajas, .cx-tarjetas--4 { grid-template-columns: repeat(2, 1fr) !important; }
}

/* --- Estudio a medida --------------------------------------------------- */
.cx-estudio { margin-bottom: 0 !important; }
.cx-estudio .cx-checks { margin-top: 1.5rem; }

/* --- A quién ayudamos --------------------------------------------------- */
@media (min-width: 1100px) { .cx-tarjetas--4 { grid-template-columns: repeat(4, 1fr) !important; } }
.cx-seccion--niebla .cx-tarjeta { border-color: transparent; box-shadow: var(--cx-sombra); }

/* --- ¿Hablamos? --------------------------------------------------------- */
.cx-hablamos { position: relative; overflow: hidden; isolation: isolate; }
.cx-hablamos::after {
	content: ""; position: absolute; z-index: -1; width: 620px; height: 620px; left: -220px; top: -260px; border-radius: 50%;
	background: radial-gradient(circle, rgba(227,0,15,.32), transparent 65%);
}
.cx-hablamos__cols { gap: var(--wp--preset--spacing--50) !important; align-items: center !important; }
.cx-hablamos h2 { color: #fff; margin-top: 0; }
.cx-hablamos__info > p:not(.cx-kicker) { color: rgba(255,255,255,.75); max-width: 44ch; }
.cx-hablamos .cx-dato-contacto { margin-top: 1rem; }
.cx-hablamos .cx-dato-contacto .cx-icono { background: rgba(255,255,255,.08) !important; }
.cx-hablamos .cx-dato-contacto p, .cx-hablamos .cx-dato-contacto a { color: #fff !important; font-weight: 600; }
.cx-hablamos .cx-formulario { color: var(--wp--preset--color--texto); border: 0; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); }
.cx-hablamos .cx-formulario a { color: var(--cx-rojo); }

/* --- Contacto rápido flotante ------------------------------------------- */
.cx-lateral__ico {
	width: 20px; height: 20px; flex: none; background: #fff;
	-webkit-mask: center / contain no-repeat; mask: center / contain no-repeat;
}
.cx-lateral__ico--tel  { -webkit-mask-image: url("assets/img/iconos/phone-blanco.svg");   mask-image: url("assets/img/iconos/phone-blanco.svg"); }
.cx-lateral__ico--mail { -webkit-mask-image: url("assets/img/iconos/mail-blanco.svg");    mask-image: url("assets/img/iconos/mail-blanco.svg"); }
.cx-lateral__ico--mapa { -webkit-mask-image: url("assets/img/iconos/map-pin-blanco.svg"); mask-image: url("assets/img/iconos/map-pin-blanco.svg"); }
.cx-lateral {
	position: fixed; left: 0; top: 50%; translate: 0 -50%; z-index: 60;
	display: grid; gap: 2px; filter: drop-shadow(0 10px 24px rgba(0,0,0,.25));
}
.cx-lateral a {
	display: flex; align-items: center; gap: .8rem; height: 48px; padding: 0 14px;
	background: var(--cx-rojo); color: #fff !important; text-decoration: none !important;
	font-family: var(--wp--preset--font-family--titulos); font-weight: 700; font-size: .92rem;
	box-sizing: border-box; max-width: 48px; overflow: hidden; white-space: nowrap;
	transition: max-width .35s var(--cx-ease), background-color .2s;
}
.cx-lateral a:first-child { border-top-right-radius: 12px; }
.cx-lateral a:last-child { border-bottom-right-radius: 12px; }
.cx-lateral a:hover, .cx-lateral a:focus-visible { max-width: 240px; background: var(--wp--preset--color--rojo-oscuro); }
.cx-flotante {
	display: none; position: fixed; left: 16px; bottom: 16px; z-index: 60;
	align-items: center; gap: .6rem; padding: .8rem 1.15rem; border-radius: 999px;
	background: var(--cx-rojo); color: #fff !important; text-decoration: none !important;
	font-family: var(--wp--preset--font-family--titulos); font-weight: 750; font-size: .95rem;
	box-shadow: 0 12px 30px -10px rgba(227,0,15,.7);
}
/* La barra lateral solo cuando hay margen libre a los lados del contenido */
@media (max-width: 1339px) {
	.cx-lateral { display: none; }
	.cx-flotante { display: inline-flex; }
	.cx-footer { padding-bottom: 5.5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	.cx-portada__bajar span { animation: none; }
	.cx-foto, .cx-foto__img img, .cx-ventaja, .cx-lateral a { transition: none; }
}
/* --- Páginas interiores: cabecera oscura con foto ----------------------- */
.cx-hero-int { --cx-foto: url("../../uploads/2024/06/servit-1.jpg"); }
.page-id-27 .cx-hero-int { --cx-foto: url("../../uploads/2016/11/servicio-tecnico.jpg"); }   /* Quiénes somos */
.page-id-29 .cx-hero-int { --cx-foto: url("../../uploads/2016/11/gestion-documental.jpg"); } /* Productos */
.page-id-31 .cx-hero-int { --cx-foto: url("../../uploads/2016/11/venta-consultoria.jpg"); }  /* Servicios */
.page-id-33 .cx-hero-int { --cx-foto: url("../../uploads/2024/06/ordenadores.jpg"); }        /* Equipos */
.cx-hero-int {
	padding-top: calc(var(--wp--preset--spacing--60) + 5.5rem) !important;
	padding-bottom: var(--wp--preset--spacing--60) !important;
	min-height: 52vh; display: flex; flex-direction: column; justify-content: flex-end;
	background:
		radial-gradient(800px 420px at 85% 100%, rgba(227,0,15,.34), transparent 65%),
		linear-gradient(180deg, rgba(10,11,14,.80) 0%, rgba(10,11,14,.72) 50%, rgba(10,11,14,.93) 100%),
		var(--cx-foto) center / cover no-repeat,
		var(--cx-tinta) !important;
	border-bottom: 0 !important; color: #fff;
}
.cx-hero-int::after { display: none !important; }
.cx-hero-int .cx-kicker { color: #ff6b73; }
.cx-hero-int__titulo { color: #fff !important; font-size: clamp(2.4rem, 6vw, 4.6rem) !important; line-height: 1.02 !important; letter-spacing: -.045em !important; max-width: 20ch; text-wrap: balance; }
.cx-hero-int .cx-lead { color: rgba(255,255,255,.82); }
.cx-hero-int .cx-chip { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff !important; backdrop-filter: blur(4px); }
.cx-hero-int .cx-chip:hover { background: var(--cx-rojo); border-color: var(--cx-rojo); color: #fff !important; }
@media (max-width: 599px) { .cx-hero-int { min-height: 0; padding-top: 8rem !important; } }
/* --- Soporte: descargas en dos grupos ----------------------------------- */
.cx-descargas__titulo { font-size: 1.15rem !important; margin: 2.25rem 0 .9rem !important; display: flex; align-items: center; gap: .6rem; }
.cx-descargas__titulo::before { content: ""; width: 22px; height: 2px; background: var(--cx-rojo); border-radius: 2px; }
h2 + .cx-descargas__titulo { margin-top: 1.25rem !important; }
.cx-descargas__titulo + .cx-descargas { margin-top: 0 !important; }