/*
Theme Name:   FZ Sistemas
Template:     kadence
Version:      1.6.2
Description:  Child theme de Kadence para fzsistemas
Author:       FZ Sistemas
Text Domain:  fzsistemas
*/

/*
 * Colores: se usan los de la paleta global de Kadence (Personalizar → Colores).
 *   --global-palette1  azul principal     --global-palette3  títulos
 *   --global-palette2  azul oscuro        --global-palette5  texto secundario
 *   --global-palette10 verde (acento 3)   --global-palette7  fondo alterno
 */
:root {
	--fz-degradado: linear-gradient(120deg, #0167b0 0%, #036e82 40%, #3fa974 78%, #bee45d 100%);
	--fz-radio: 14px;
	--fz-espacio-seccion: clamp(3.5rem, 8vw, 6rem);
	--fz-margen-lateral: clamp(1rem, 4vw, 2rem);
}

/* ---------- Secciones de ancho completo ---------- */
:is(.entry-content, .editor-styles-wrapper) .alignfull:is(.fz-hero, .fz-cifras, .fz-seccion, .fz-cta) {
	padding: var(--fz-espacio-seccion) var(--fz-margen-lateral);
	margin-top: 0;
	margin-bottom: 0;
}

/* Evita scroll horizontal mientras los elementos entran desde los costados */
.fz-seccion,
.fz-cifras {
	overflow-x: clip;
}

.fz-seccion--alterna {
	background: var(--global-palette7, #f3f7f9);
}

/* Kadence envuelve el contenido del grupo en .wp-block-group__inner-container */
:is(.fz-seccion, .fz-seccion > .wp-block-group__inner-container) > h2 {
	margin-bottom: 2.5rem;
}

.fz-eyebrow {
	margin-bottom: 0.5rem;
	color: var(--global-palette1, #0167b0);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Selector reforzado: WordPress genera reglas de espaciado por contenedor que lo pisaban */
:is(.entry-content, .editor-styles-wrapper) .wp-block-buttons.fz-centrado {
	justify-content: center;
	margin-top: 3rem;
}

/* ---------- Hero ---------- */
.fz-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	/* Sin verde lima en el recorrido: con texto blanco encima no se leía. El lima queda en el brillo (::before). */
	background: linear-gradient(120deg, #0167b0 0%, #036e82 35%, #2a8a60 65%, #0f7a6e 85%, #0167b0 100%);
	background-size: 250% 250%;
	color: #fff;
	text-align: center;
	animation: fz-degradado-mueve 18s ease-in-out infinite alternate;
}

/* Círculos translúcidos que flotan, como en la imagen de referencia */
.fz-hero::before,
.fz-hero::after {
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.fz-hero::before {
	top: -25%;
	right: -10%;
	width: min(60vw, 720px);
	aspect-ratio: 1;
	background: radial-gradient(circle, rgba(190, 228, 93, 0.38), rgba(190, 228, 93, 0) 70%);
	animation: fz-flotar 14s ease-in-out infinite alternate;
}

.fz-hero::after {
	bottom: -45%;
	left: -15%;
	width: min(80vw, 900px);
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: radial-gradient(circle, rgba(1, 85, 127, 0.5), rgba(1, 85, 127, 0) 70%);
	animation: fz-flotar 20s ease-in-out infinite alternate-reverse;
}

@keyframes fz-degradado-mueve {
	from { background-position: 0% 50%; }
	to { background-position: 100% 50%; }
}

@keyframes fz-flotar {
	from { transform: translate(0, 0) scale(1); }
	to { transform: translate(-6%, 8%) scale(1.12); }
}

/* Botones: leve elevación al pasar el mouse */
.wp-block-button__link {
	transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s, color 0.2s;
}

.wp-block-button__link:hover {
	box-shadow: 0 10px 22px rgba(16, 34, 46, 0.18);
	transform: translateY(-2px);
}

:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-hero {
	padding-top: clamp(5rem, 12vw, 9rem);
	padding-bottom: clamp(5rem, 12vw, 9rem);
}

.fz-hero .fz-eyebrow {
	color: #bee45d;
}

.fz-hero h1 {
	max-width: 18ch;
	margin: 0 auto 1.25rem;
	color: #fff;
	font-size: clamp(2.2rem, 5.5vw, 3.75rem);
	line-height: 1.1;
}

.fz-hero__bajada {
	max-width: 46rem;
	margin: 0 auto 2.25rem;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.fz-hero .wp-block-buttons,
.fz-cta .wp-block-buttons {
	justify-content: center;
}

/* Botones sobre fondo de color */
.fz-btn-claro .wp-block-button__link {
	background: #fff;
	color: var(--global-palette2, #02557f);
}

.fz-btn-claro .wp-block-button__link:hover {
	background: #bee45d;
	color: var(--global-palette3, #10222e);
}

/* Selector reforzado: el estilo "outline" de WordPress/Kadence pintaba el texto azul sobre el degradado */
.wp-block-button.is-style-outline.fz-btn-borde-claro > .wp-block-button__link,
.wp-block-button.is-style-outline.fz-btn-borde-claro > .wp-block-button__link:hover {
	border: 2px solid #fff;
	background: transparent;
	color: #fff;
}

.wp-block-button.is-style-outline.fz-btn-borde-claro > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.14);
}

/* ---------- Portada de páginas internas (ej. Casos de éxito) ---------- */
:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-hero--pagina {
	padding-top: clamp(4rem, 9vw, 6.5rem);
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

.fz-hero--pagina h1 {
	max-width: 22ch;
	font-size: clamp(2rem, 4.6vw, 3.25rem);
}

/* Cifras sobre el degradado */
.fz-hero-cifras {
	max-width: 52rem;
	margin: 1rem auto 0;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.fz-hero-cifras p {
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.95rem;
}

.fz-hero-cifras .fz-hero-cifras__numero {
	color: #fff;
	font-family: var(--global-heading-font-family);
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 800;
	line-height: 1.1;
}

.fz-hero-cifras .wp-block-column:first-child .fz-hero-cifras__numero {
	color: #bee45d;
}

@media (max-width: 781px) {
	.fz-hero-cifras {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		gap: 1.5rem;
	}
}

/* Secciones con título centrado */
:is(.fz-seccion--centrada, .fz-seccion--centrada > .wp-block-group__inner-container) > :is(.fz-eyebrow, h2) {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

/* ---------- Contacto ---------- */
.fz-contacto__columnas {
	gap: clamp(2rem, 5vw, 4.5rem);
}

.fz-contacto h2 {
	margin-top: 0;
}

/* ---------- Página Equipo ---------- */
/* Portada: texto a la izquierda y la foto parada sobre el borde inferior del degradado */
:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-hero--equipo {
	padding-bottom: 0;
	text-align: left;
}

/* Sin margen inferior para que los pies de la foto apoyen en el borde del degradado */
:is(.entry-content, .editor-styles-wrapper) .fz-hero--equipo .wp-block-columns.fz-hero-equipo {
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: stretch;
	margin-bottom: 0;
}

.fz-hero--equipo .fz-hero-equipo__texto {
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

.fz-hero--equipo h1,
.fz-hero--equipo .fz-hero__bajada {
	margin-right: 0;
	margin-left: 0;
}

.fz-hero--equipo .wp-block-buttons {
	justify-content: flex-start;
}

.fz-hero-equipo__foto .wp-block-image {
	margin: 0;
}

.fz-hero-equipo__foto img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: min(520px, 68vh);
	margin: 0 auto;
	filter: drop-shadow(0 -6px 30px rgba(16, 34, 46, 0.25));
	/* La foto tiene un margen transparente bajo los zapatos */
	transform: translateY(2.5%);
}

@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-hero--equipo {
		text-align: center;
	}

	.fz-hero--equipo .wp-block-buttons {
		justify-content: center;
	}

	.fz-hero--equipo h1,
	.fz-hero--equipo .fz-hero__bajada {
		margin-right: auto;
		margin-left: auto;
	}

	.fz-hero--equipo .fz-hero-equipo__texto {
		padding-bottom: 1rem;
	}

	.fz-hero-equipo__foto img {
		max-height: 380px;
	}
}

/* Perfiles */
.fz-perfiles {
	gap: 1.75rem;
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}

.fz-perfil {
	position: relative;
	padding: 2.25rem 2rem 2rem;
	border-radius: 20px;
	background: var(--global-palette9, #fff);
	box-shadow: 0 1px 0 var(--global-gray-400, #d5dee4), 0 18px 44px rgba(16, 34, 46, 0.08);
	text-align: center;
	transition: transform 0.3s, box-shadow 0.3s;
}

.fz-perfil::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	border-radius: 20px 20px 0 0;
	background: var(--fz-degradado);
	content: "";
}

.fz-perfil:hover {
	box-shadow: 0 1px 0 var(--global-gray-400, #d5dee4), 0 26px 54px rgba(16, 34, 46, 0.12);
	transform: translateY(-4px);
}

/* Retrato circular con anillo de degradado */
.fz-perfil .fz-perfil__foto {
	width: 150px;
	margin: 0 auto 1.25rem;
	padding: 5px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0167b0, #047b83, #3fa974, #bee45d);
	box-shadow: 0 12px 28px rgba(1, 103, 176, 0.25);
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.fz-perfil .fz-perfil__foto img {
	display: block;
	width: 100%;
	height: auto;
	border: 4px solid #fff;
	border-radius: 50%;
	background: linear-gradient(160deg, #e8f1f7, #d7ece2);
}

.fz-perfil:hover .fz-perfil__foto {
	transform: scale(1.05) rotate(-2deg);
}

.fz-perfil .fz-perfil__rol {
	display: inline-block;
	margin: 0 0 0.5rem;
	padding: 0.3rem 0.85rem;
	border-radius: 999px;
	background: rgba(1, 103, 176, 0.08);
	color: var(--global-palette1, #0167b0);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.fz-perfil h3 {
	margin: 0 0 0.75rem;
	font-size: 1.45rem;
}

.fz-perfil > p:not(.fz-perfil__rol),
.fz-perfil > .wp-block-group__inner-container > p:not(.fz-perfil__rol) {
	color: var(--global-palette5, #5a6b78);
}

/* Etiquetas de especialidades */
.fz-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.fz-chips li {
	margin: 0;
	padding: 0.35rem 0.8rem;
	border: 1px solid var(--global-gray-400, #d5dee4);
	border-radius: 999px;
	background: var(--global-palette7, #f3f7f9);
	color: var(--global-palette4, #1e3a4c);
	font-size: 0.85rem;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
	.fz-perfil,
	.fz-perfil .fz-perfil__foto {
		transition: none;
	}

	.fz-perfil:hover,
	.fz-perfil:hover .fz-perfil__foto {
		transform: none;
	}
}

/* ---------- Página FG Stock ---------- */
/* Portada: texto a la izquierda, captura a la derecha */
:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-hero--producto {
	text-align: left;
}

:is(.entry-content, .editor-styles-wrapper) .fz-hero--producto .wp-block-columns.fz-hero-producto {
	gap: clamp(2rem, 5vw, 4rem);
	margin-bottom: 0;
}

.fz-hero--producto h1,
.fz-hero--producto .fz-hero__bajada {
	margin-right: 0;
	margin-left: 0;
}

.fz-hero--producto .wp-block-buttons {
	justify-content: flex-start;
}

@media (max-width: 781px) {
	:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-hero--producto {
		text-align: center;
	}

	.fz-hero--producto h1,
	.fz-hero--producto .fz-hero__bajada {
		margin-right: auto;
		margin-left: auto;
	}

	.fz-hero--producto .wp-block-buttons {
		justify-content: center;
	}
}

/* Captura enmarcada, con leve efecto de pantalla antigua */
.wp-block-image.fz-pantalla {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #000;
	box-shadow: 0 30px 70px rgba(4, 14, 24, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.1);
}

/* Líneas de barrido y viñeta */
.wp-block-image.fz-pantalla::after {
	position: absolute;
	inset: 0;
	background:
		repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.14) 0 1px, transparent 1px 3px),
		radial-gradient(ellipse at center, transparent 60%, rgba(0, 0, 0, 0.35));
	content: "";
	pointer-events: none;
}

.wp-block-image.fz-pantalla img {
	display: block;
	width: 100%;
	height: auto;
}

/* En la portada: inclinada y flotando */
.fz-pantalla--flotante {
	transform: perspective(1400px) rotateY(-9deg) rotateX(3deg);
	animation: fz-pantalla-flota 7s ease-in-out infinite alternate;
}

@keyframes fz-pantalla-flota {
	from { transform: perspective(1400px) rotateY(-9deg) rotateX(3deg) translateY(0); }
	to { transform: perspective(1400px) rotateY(-6deg) rotateX(2deg) translateY(-12px); }
}

/* Sección oscura */
.fz-seccion--oscura {
	background:
		radial-gradient(circle at 12% 20%, rgba(1, 103, 176, 0.35), transparent 45%),
		radial-gradient(circle at 90% 85%, rgba(63, 169, 116, 0.28), transparent 45%),
		#0b1620;
	color: rgba(255, 255, 255, 0.78);
}

.fz-seccion--oscura h2 {
	color: #fff;
}

.fz-seccion--oscura .fz-eyebrow {
	color: #bee45d;
}

.fz-subtitulo {
	max-width: 44rem;
	margin: -1.25rem auto 2.5rem;
	text-align: center;
}

/* Galería con pestañas */
.fz-pantallas {
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}

.fz-pantallas .wp-block-image.fz-pantalla + .wp-block-image.fz-pantalla {
	margin-top: 2rem;
}

.fz-pantallas__tabs {
	display: flex;
	order: -1;
	/* Centrado con márgenes automáticos: con justify-content: center, si no entran se cortan a la izquierda */
	justify-content: flex-start;
	gap: 0.5rem;
	margin-bottom: 1.75rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.fz-pantallas.is-lista {
	display: flex;
	flex-direction: column;
}

.fz-pantallas__tab:first-child {
	margin-left: auto;
}

.fz-pantallas__tab:last-child {
	margin-right: auto;
}

.fz-pantallas__tab {
	flex: 0 0 auto;
	padding: 0.55rem 1.1rem;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	color: rgba(255, 255, 255, 0.8);
	font: inherit;
	font-size: 0.92rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.fz-pantallas__tab:hover {
	border-color: rgba(255, 255, 255, 0.45);
	color: #fff;
}

.fz-pantallas__tab[aria-selected="true"] {
	border-color: transparent;
	background: linear-gradient(120deg, #0167b0, #047b83 60%, #3fa974);
	color: #fff;
	box-shadow: 0 8px 20px rgba(1, 103, 176, 0.35);
}

.fz-pantallas__tab:focus-visible {
	outline: 2px solid #bee45d;
	outline-offset: 2px;
}

/* Todas las capturas apiladas en el mismo lugar; se ve solo la activa */
.fz-pantallas__escenario {
	display: grid;
}

.fz-pantallas__escenario > .wp-block-image.fz-pantalla {
	grid-area: 1 / 1;
	margin: 0;
	visibility: hidden;
	opacity: 0;
	transform: translateY(14px) scale(0.985);
	transition: opacity 0.5s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s 0.5s;
}

.fz-pantallas__escenario > .wp-block-image.fz-pantalla.is-activa {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity 0.5s, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

/* El epígrafe ya aparece como pestaña */
.fz-pantallas__escenario figcaption {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

/* Sin JavaScript (o en el editor), el epígrafe se ve debajo de cada captura */
.fz-pantallas:not(.is-lista) figcaption {
	margin: 0;
	padding: 0.6rem 1rem;
	background: #151d27;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	text-align: center;
}

/* Módulos: listas con tilde */
.fz-modulos {
	gap: 1.25rem;
}

.fz-modulo ul {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.fz-modulo li {
	position: relative;
	margin: 0 0 0.55rem;
	padding-left: 1.75rem;
	color: var(--global-palette4, #1e3a4c);
	font-size: 0.95rem;
}

.fz-modulo li::before {
	display: grid;
	position: absolute;
	top: 0.15em;
	left: 0;
	width: 1.15rem;
	height: 1.15rem;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #0167b0, #3fa974);
	color: #fff;
	content: "✓";
	font-size: 0.7rem;
	font-weight: 800;
}

/* Diferenciales */
.fz-difs {
	gap: 1.25rem;
}

.fz-dif {
	padding: 1.75rem 1.5rem;
	border-left: 4px solid transparent;
	border-radius: var(--fz-radio);
	background:
		linear-gradient(var(--global-palette9, #fff), var(--global-palette9, #fff)) padding-box,
		linear-gradient(180deg, #0167b0, #3fa974) border-box;
	box-shadow: 0 10px 28px rgba(16, 34, 46, 0.06);
	transition: transform 0.25s, box-shadow 0.25s;
}

.fz-dif:hover {
	box-shadow: 0 18px 40px rgba(16, 34, 46, 0.1);
	transform: translateY(-4px);
}

.fz-dif h3 {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
}

.fz-dif p {
	margin: 0;
	color: var(--global-palette5, #5a6b78);
}

@media (prefers-reduced-motion: reduce) {
	.fz-pantalla--flotante {
		animation: none;
	}

	.fz-pantallas__escenario > .wp-block-image.fz-pantalla,
	.fz-dif {
		transition: none;
	}

	.fz-dif:hover {
		transform: none;
	}
}

/* ---------- Pasos "Cómo trabajamos" ---------- */
.fz-pasos {
	gap: 1.5rem;
	counter-reset: fz-paso;
}

.fz-paso {
	position: relative;
	padding: 2.25rem 1.5rem 1.75rem;
	border-radius: var(--fz-radio);
	background: var(--global-palette9, #fff);
	box-shadow: 0 1px 0 var(--global-gray-400, #d5dee4), 0 10px 30px rgba(16, 34, 46, 0.05);
	counter-increment: fz-paso;
	transition: transform 0.25s, box-shadow 0.25s;
}

.fz-paso::before {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1.1rem;
	place-items: center;
	border-radius: 50%;
	background: var(--fz-degradado);
	box-shadow: 0 8px 18px rgba(4, 123, 131, 0.3);
	color: #fff;
	content: counter(fz-paso);
	font-family: var(--global-heading-font-family);
	font-size: 1.15rem;
	font-weight: 800;
}

.fz-paso:hover {
	box-shadow: 0 1px 0 var(--global-gray-400, #d5dee4), 0 18px 40px rgba(16, 34, 46, 0.1);
	transform: translateY(-4px);
}

.fz-paso h3 {
	margin: 0 0 0.5rem;
	font-size: 1.15rem;
}

.fz-paso p {
	margin: 0;
	color: var(--global-palette5, #5a6b78);
}

/* Línea que une los pasos en escritorio */
@media (min-width: 782px) {
	.fz-pasos {
		position: relative;
	}

	.fz-pasos::before {
		position: absolute;
		top: calc(2.25rem + 1.375rem);
		right: 12%;
		left: 12%;
		height: 2px;
		background: linear-gradient(90deg, rgba(1, 103, 176, 0.25), rgba(63, 169, 116, 0.25));
		content: "";
	}
}

@media (prefers-reduced-motion: reduce) {
	.fz-paso {
		transition: none;
	}

	.fz-paso:hover {
		transform: none;
	}
}

/* ---------- Cifras ---------- */
.fz-cifras {
	border-bottom: 1px solid var(--global-gray-400, #d5dee4);
}

:is(.entry-content, .editor-styles-wrapper) .alignfull.fz-cifras {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.fz-cifra {
	text-align: center;
}

.fz-cifra p {
	margin: 0;
	color: var(--global-palette5, #5a6b78);
}

.fz-cifra .fz-cifra__numero {
	margin-bottom: 0.25rem;
	background: linear-gradient(90deg, var(--global-palette1, #0167b0), var(--global-palette10, #3fa974));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-family: var(--global-heading-font-family);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 800;
}

/* ---------- Tarjetas de servicios ---------- */
.fz-tarjetas {
	gap: 1.5rem;
}

.fz-tarjeta {
	position: relative;
	padding: 2rem 1.75rem 1.75rem;
	overflow: hidden;
	border: 1px solid var(--global-gray-400, #d5dee4);
	border-radius: var(--fz-radio);
	background: var(--global-palette9, #fff);
	transition: box-shadow 0.2s, transform 0.2s;
}

.fz-tarjeta::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background: var(--fz-degradado);
	content: "";
}

.fz-tarjeta:hover {
	box-shadow: 0 12px 28px rgba(16, 34, 46, 0.1);
	transform: translateY(-2px);
}

.fz-tarjeta h3 {
	margin-top: 0;
}

.fz-tarjeta p {
	color: var(--global-palette5, #5a6b78);
}

.fz-enlace {
	margin-bottom: 0;
}

.fz-enlace a {
	font-weight: 600;
	text-decoration: none;
}

.fz-enlace a::after {
	content: " →";
}

/* ---------- Equipo ---------- */
/* Foto recortada (fondo transparente) parada sobre un recuadro con el degradado de la marca;
   las cabezas sobresalen por arriba del recuadro. */
.fz-equipo-foto {
	position: relative;
	isolation: isolate;
	padding-top: 2rem;
}

.fz-equipo-foto::before {
	position: absolute;
	z-index: -1;
	top: 24%;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 24px;
	background: linear-gradient(120deg, #0167b0 0%, #036e82 35%, #2a8a60 65%, #0f7a6e 85%, #0167b0 100%);
	background-size: 250% 250%;
	box-shadow: 0 30px 60px rgba(1, 85, 127, 0.25);
	content: "";
	animation: fz-degradado-mueve 18s ease-in-out infinite alternate;
}

/* Brillo verde lima, como en la portada */
.fz-equipo-foto::after {
	position: absolute;
	z-index: -1;
	top: 18%;
	right: -6%;
	width: 55%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(190, 228, 93, 0.45), rgba(190, 228, 93, 0) 70%);
	content: "";
	pointer-events: none;
	animation: fz-flotar 14s ease-in-out infinite alternate;
}

.fz-equipo-foto .fz-equipo-foto__img {
	margin: 0;
	text-align: center;
}

.fz-equipo-foto .fz-equipo-foto__img img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: min(580px, 75vh);
	margin: 0 auto;
	filter: drop-shadow(0 18px 24px rgba(16, 34, 46, 0.35));
}

@media (prefers-reduced-motion: reduce) {
	.fz-equipo-foto::before,
	.fz-equipo-foto::after {
		animation: none;
	}
}

/* ---------- Llamado final ---------- */
.fz-cta {
	background: var(--global-palette3, #10222e);
	color: rgba(255, 255, 255, 0.85);
	text-align: center;
}

.fz-cta h2 {
	color: #fff;
}

.fz-cta p {
	max-width: 40rem;
	margin-right: auto;
	margin-left: auto;
}

/* Quita el espacio que deja Kadence entre el contenido y el pie en páginas de ancho completo */
.content-width-fullwidth.content-vertical-padding-hide .entry-content > .alignfull:last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.fz-tarjeta {
		transition: none;
	}

	.fz-tarjeta:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fz-hero,
	.fz-hero::before,
	.fz-hero::after {
		animation: none;
	}

	.wp-block-button__link:hover {
		transform: none;
	}
}
