/* ==========================================================================
   CEO por la Inclusión 2026: estilos del tema
   Colores: var(--wp--preset--color--primario) #00737a, --secundario #00b596,
   --tonico #ff420f (solo tercer círculo y alertas).
   ========================================================================== */

:root {
	--ceo-hex: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
	--ceo-hex-vertical: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
	--ceo-radio: 16px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

a { text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
h1, h2, h3, h4, h5, h6, p, blockquote, figcaption { text-wrap: pretty; }
:where(h1, h2) strong { font-weight: 700; }
:where(h1, h2) mark { background: transparent; }

/* Titular en Bebas Neue para h3 a h6 */
.wp-block-heading.is-style-titular {
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 0.95;
	font-size: var(--wp--preset--font-size--x-large);
}
.wp-block-heading.is-style-titular strong { font-weight: 700; }

/* Foco visible */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--contrast);
	outline-offset: 3px;
}

/* ---------- Tres círculos (estilo del separador) ---------- */
.wp-block-separator.is-style-tres-circulos {
	border: 0 !important;
	width: 58px;
	max-width: 58px;
	height: 14px;
	margin-left: 0;
	opacity: 1;
	background:
		radial-gradient(circle at 7px 50%, var(--wp--preset--color--primario) 6.5px, transparent 7px),
		radial-gradient(circle at 29px 50%, var(--wp--preset--color--secundario) 6.5px, transparent 7px),
		radial-gradient(circle at 51px 50%, var(--wp--preset--color--tonico) 6.5px, transparent 7px) !important;
}
.wp-block-separator.is-style-tres-circulos.aligncenter { margin-left: auto; margin-right: auto; }

/* ---------- Imagen en hexágono ---------- */
.wp-block-image.is-style-hexagono img {
	clip-path: var(--ceo-hex);
	aspect-ratio: 1 / 0.866;
	object-fit: cover;
	border-radius: 0 !important;
}

/* ---------- Tarjeta ---------- */
.wp-block-group.is-style-tarjeta {
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: var(--ceo-radio);
	padding: clamp(24px, 3vw, 32px);
	background-color: var(--wp--preset--color--base);
	overflow: hidden;
}

/* ---------- Encabezado ---------- */
.ceo-encabezado {
	border-bottom: 1px solid var(--wp--preset--color--borde);
}
.ceo-encabezado .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px;
}
.ceo-encabezado .wp-block-navigation__responsive-container-open,
.ceo-encabezado .wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
	align-items: center;
}
.ceo-encabezado .wp-block-buttons .wp-block-button__link { padding: 0.55em 1.4em; }

/* ---------- Portada: mosaico de hexágonos ---------- */
.ceo-mosaico {
	position: relative;
	width: 100%;
	max-width: 620px;
	aspect-ratio: 650 / 520;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ceo-mosaico > * {
	position: absolute !important;
	width: 30.77%;
	height: 33.31%;
	margin: 0 !important;
	transform: scale(0.94);
	clip-path: var(--ceo-hex);
	min-height: 0 !important;
	padding: 0 !important;
}
.ceo-mosaico > .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}
.ceo-mosaico > :nth-child(1)  { left: 0;      top: 16.65%; }
.ceo-mosaico > :nth-child(2)  { left: 0;      top: 49.96%; }
.ceo-mosaico > :nth-child(3)  { left: 23.08%; top: 0; }
.ceo-mosaico > :nth-child(4)  { left: 23.08%; top: 33.31%; }
.ceo-mosaico > :nth-child(5)  { left: 23.08%; top: 66.62%; }
.ceo-mosaico > :nth-child(6)  { left: 46.15%; top: 16.65%; }
.ceo-mosaico > :nth-child(7)  { left: 46.15%; top: 49.96%; }
.ceo-mosaico > :nth-child(8)  { left: 69.23%; top: 0; }
.ceo-mosaico > :nth-child(9)  { left: 69.23%; top: 33.31%; }
.ceo-mosaico > :nth-child(10) { left: 69.23%; top: 66.62%; }
/* Hexágonos sin foto: rellenos o lineales */
.ceo-mosaico > .wp-block-group { background-color: var(--wp--preset--color--secundario); }
.ceo-mosaico > .wp-block-group.is-hex-linea,
.ceo-mosaico > .wp-block-group.is-hex-linea-verde {
	background: none !important;
	clip-path: none;
}
.ceo-mosaico > .wp-block-group.is-hex-linea::before,
.ceo-mosaico > .wp-block-group.is-hex-linea-verde::before {
	content: "";
	position: absolute;
	inset: 0;
	background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 173.2' preserveAspectRatio='none'%3E%3Cpolygon points='50,1.5 150,1.5 198.5,86.6 150,171.7 50,171.7 1.5,86.6' fill='none' stroke='%2300737a' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
.ceo-mosaico > .wp-block-group.is-hex-linea-verde::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 173.2' preserveAspectRatio='none'%3E%3Cpolygon points='50,1.5 150,1.5 198.5,86.6 150,171.7 50,171.7 1.5,86.6' fill='none' stroke='%2300b596' stroke-width='2.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

/* ---------- Decoración de panal en bandas ---------- */
.ceo-deco-panal,
.ceo-deco-panal-verde {
	position: relative;
	overflow: hidden;
}
.ceo-deco-panal::after,
.ceo-deco-panal-verde::after {
	content: "";
	position: absolute;
	pointer-events: none;
	right: -40px;
	top: -20px;
	width: 420px;
	height: 280px;
	opacity: 0.22;
	background: no-repeat right top / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 260'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.5'%3E%3Cpolygon points='125,10 175,10 200,53.3 175,96.6 125,96.6 100,53.3'/%3E%3Cpolygon points='200,53.3 250,53.3 275,96.6 250,139.9 200,139.9 175,96.6'/%3E%3Cpolygon points='275,10 325,10 350,53.3 325,96.6 275,96.6 250,53.3'/%3E%3Cpolygon points='275,96.6 325,96.6 350,139.9 325,183.2 275,183.2 250,139.9'/%3E%3Cpolygon points='350,53.3 400,53.3 425,96.6 400,139.9 350,139.9 325,96.6'/%3E%3Cpolygon points='200,139.9 250,139.9 275,183.2 250,226.5 200,226.5 175,183.2'/%3E%3C/g%3E%3C/svg%3E");
}
.ceo-deco-panal-verde::after {
	opacity: 1;
	top: 50%;
	right: 4%;
	transform: translateY(-50%);
	width: 300px;
	height: 260px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 260'%3E%3Cg fill='none' stroke='%2300b596' stroke-width='2'%3E%3Cpolygon points='50,43.3 100,43.3 125,86.6 100,129.9 50,129.9 25,86.6'/%3E%3Cpolygon points='125,86.6 175,86.6 200,129.9 175,173.2 125,173.2 100,129.9'/%3E%3Cpolygon points='50,129.9 100,129.9 125,173.2 100,216.5 50,216.5 25,173.2'/%3E%3Cpolygon points='200,43.3 250,43.3 275,86.6 250,129.9 200,129.9 175,86.6'/%3E%3C/g%3E%3Cpolygon points='200,129.9 250,129.9 275,173.2 250,216.5 200,216.5 175,173.2' fill='%2300b596'/%3E%3C/svg%3E");
}
.ceo-deco-panal > *,
.ceo-deco-panal-verde > * { position: relative; z-index: 1; }
@media (max-width: 781px) {
	.ceo-deco-panal-verde::after { opacity: 0.35; right: -120px; }
}

/* ---------- Datos del encuentro (lista con íconos) ---------- */
.ceo-datos-evento {
	list-style: none;
	padding-left: 0 !important;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ceo-datos-evento li {
	display: flex;
	align-items: center;
	gap: 16px;
}
.ceo-datos-evento li::before {
	content: "";
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	background-color: currentColor;
	-webkit-mask: no-repeat center / contain var(--ceo-icono);
	mask: no-repeat center / contain var(--ceo-icono);
}
.ceo-datos-evento li.is-lugar { --ceo-icono: 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='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.ceo-datos-evento li.is-fecha { --ceo-icono: 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%3Crect x='3.5' y='5' width='17' height='15' rx='1.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.ceo-datos-evento li.is-hora { --ceo-icono: 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%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E"); }

/* ---------- ODS ---------- */
.ceo-ods img { width: 88px; height: 88px; }

/* ---------- Testimonios ---------- */
.ceo-testimonio::before {
	content: "“";
	display: block;
	height: 40px;
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 700;
	font-size: 88px;
	line-height: 0.6;
	color: var(--wp--preset--color--secundario);
}
.ceo-testimonio .ceo-firma { margin-top: auto !important; }
.ceo-testimonio .ceo-firma .wp-block-image { flex: 0 0 84px; margin: 0; }
.ceo-testimonio .ceo-firma .wp-block-image img { width: 84px; }

/* ---------- Premio ---------- */
.ceo-ganador { padding: 0 !important; }
.ceo-ganador > .wp-block-image { margin: 0; }
.ceo-ganador > .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.ceo-ganador > .wp-block-group { padding: 20px 22px 24px; }
.ceo-ganador .wp-block-image.ceo-logo-ganador img { height: 40px; width: auto; }
.ceo-categoria {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primario);
}
.ceo-categoria::before {
	content: "";
	flex: 0 0 16px;
	height: 14px;
	clip-path: var(--ceo-hex);
	background: var(--wp--preset--color--secundario);
}

/* ---------- Panal de logos (estilo de grupo «Panal de logos») ----------
   Misma geometría que el panal de /ceos/: hexágonos con lados planos arriba y abajo.
   El grupo con estilo «Panal» va dentro de un grupo con la clase ceo-panal-contenedor.
   Cada logo es un bloque Imagen; los grupos vacíos dentro del panal son hexágonos de color. */
.ceo-panal-contenedor {
	display: flex !important;
	position: relative;
}
.wp-block-group.is-style-panal {
	--s: 132px;
	--m: 4px;
	--h: calc(var(--s) * 0.866);
	flex: 1 1 auto;
	min-width: 0;
	display: block;
	font-size: 0;
	margin: 0 !important;
	padding-bottom: calc(var(--h) / 2) !important;
}
.wp-block-group.is-style-panal::before {
	content: "";
	width: calc(var(--s) * 0.75 + var(--m));
	float: left;
	height: 100%;
	shape-outside: repeating-linear-gradient(#0000 0 calc(var(--h) / 2), #000 0 calc(var(--h) / 2 + 2px), #0000 0 calc(var(--h) + 2 * var(--m)));
}
.wp-block-group.is-style-panal > * {
	width: var(--s);
	height: var(--h);
	margin: 0 calc(var(--m) + var(--s) / 4) calc(var(--m) - var(--h) / 2) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	vertical-align: top;
	position: relative;
	clip-path: polygon(50% -50%, 100% 50%, 50% 150%, 0 50%);
	font-size: 1rem;
	box-sizing: border-box;
	padding: 0 !important;
	max-width: none;
}
.wp-block-group.is-style-panal > figure {
	background: #b3d9d9;
}
.wp-block-group.is-style-panal > figure::before {
	content: "";
	position: absolute;
	inset: 2px;
	clip-path: polygon(50% -50%, 100% 50%, 50% 150%, 0 50%);
	background: #ffffff;
}
.wp-block-group.is-style-panal > figure img {
	position: relative;
	max-width: 58%;
	max-height: 40%;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}
.wp-block-group.is-style-panal > .wp-block-group {
	background-color: var(--wp--preset--color--secundario);
}
@media (max-width: 640px) {
	.wp-block-group.is-style-panal { --s: 100px; }
}
.ceo-panal-contenedor.is-colapsado {
	max-height: 470px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(#000 70%, transparent);
	mask-image: linear-gradient(#000 70%, transparent);
}
.ceo-panal-boton {
	display: flex;
	justify-content: center;
	margin-top: 28px;
}
.ceo-panal-boton button {
	font: inherit;
	font-weight: 700;
	font-size: 1.0625rem;
	min-height: 50px;
	padding: 0 30px;
	border: 2px solid var(--wp--preset--color--primario);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primario);
	cursor: pointer;
}
.ceo-panal-boton button:hover { background: var(--wp--preset--color--menta); }

/* ---------- Prensa y galería ---------- */
.ceo-prensa .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: top;
	border: 1px solid var(--wp--preset--color--borde);
	border-radius: 12px;
}
.ceo-galeria .wp-block-cb-slide .wp-block-image img { border-radius: 12px; }
.ceo-galeria .wp-block-cb-slide { padding: 0 8px; }
.ceo-galeria .slick-prev,
.ceo-galeria .slick-next {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wp--preset--color--primario) !important;
	z-index: 2;
}
.ceo-galeria .slick-prev { left: -8px; }
.ceo-galeria .slick-next { right: -8px; }
.ceo-galeria .slick-prev::before,
.ceo-galeria .slick-next::before { color: #ffffff; opacity: 1; }

/* ---------- Listas numeradas con hexágono (Declaración y compromisos) ---------- */
ol.is-style-numerada-hex {
	list-style: none;
	counter-reset: ceo-n;
	padding-left: 0 !important;
	margin-left: 0;
}
ol.is-style-numerada-hex > li {
	counter-increment: ceo-n;
	position: relative;
	padding: 22px 0 22px 80px;
	min-height: 52px;
	border-top: 1px solid var(--wp--preset--color--borde);
	font-size: 1.25rem;
	line-height: 1.45;
}
ol.is-style-numerada-hex > li:last-child { border-bottom: 1px solid var(--wp--preset--color--borde); }
ol.is-style-numerada-hex > li::before {
	content: counter(ceo-n, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 18px;
	width: 58px;
	height: 50px;
	display: grid;
	place-items: center;
	clip-path: var(--ceo-hex);
	background: var(--wp--preset--color--primario);
	color: #ffffff;
	font-family: var(--wp--preset--font-family--bebas-neue);
	font-weight: 400;
	font-size: 1.75rem;
	line-height: 1;
	padding-top: 2px;
	box-sizing: border-box;
}
ol.is-style-numerada-hex.has-secundario-marcador > li::before {
	background: var(--wp--preset--color--secundario);
	color: var(--wp--preset--color--contrast);
}

/* ---------- Banda de título de página ---------- */
.ceo-banda-titulo { border-bottom: 1px solid var(--wp--preset--color--borde); }

/* ---------- Pie ---------- */
.ceo-pie a { color: #ffffff; }
.ceo-pie a:hover { color: var(--wp--preset--color--menta); }
.ceo-pie .ceo-logo-caja {
	background: #ffffff;
	border-radius: 12px;
	padding: 12px 16px;
	display: inline-block;
	line-height: 0;
}
.ceo-pie .ceo-logo-caja img { height: 36px !important; width: auto !important; }
.ceo-pie .ceo-etiqueta {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #d6d6d6;
}
.ceo-pie ul { list-style: none; padding-left: 0; }
.ceo-pie ul li { margin-bottom: 8px; }

/* ---------- Página CEO: tabla, desplegable y botones pequeños ---------- */
.wp-block-table table { border-collapse: collapse; }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--primario); }
.wp-block-table th { text-align: left; }
.wp-block-table td,
.wp-block-table th { padding: 10px 14px; border: 0; border-bottom: 1px solid var(--wp--preset--color--borde); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: var(--wp--preset--color--superficie); }
.wp-block-table.is-style-stripes { border-bottom: 0; }
.wp-block-details {
	border: 1px solid var(--wp--preset--color--borde);
	padding: 0;
	background: var(--wp--preset--color--base);
}
.wp-block-details > summary {
	padding: 16px 22px;
	font-weight: 700;
	color: var(--wp--preset--color--primario);
}
.wp-block-details > :not(summary) { padding-left: 22px; padding-right: 22px; }
.wp-block-details[open] > :last-child { padding-bottom: 22px; }

/* ---------- Ventanas modales (Light Modal Block) y Forminator ---------- */
.wp-block-cloudcatch-light-modal-block { border-radius: var(--ceo-radio); }
.wp-block-cloudcatch-light-modal-block h2 {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 300 !important;
}
.wp-block-cloudcatch-light-modal-block h2 strong { color: var(--wp--preset--color--primario); }
.forminator-ui.forminator-custom-form .forminator-button-submit {
	background-color: var(--wp--preset--color--primario) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-family: var(--wp--preset--font-family--inter) !important;
	font-weight: 700 !important;
	text-transform: none !important;
	padding: 12px 30px !important;
}
.forminator-ui.forminator-custom-form .forminator-button-submit:hover {
	background-color: var(--wp--preset--color--primario-oscuro) !important;
}
.forminator-ui.forminator-custom-form {
	font-family: var(--wp--preset--font-family--inter) !important;
}

/* ---------- Ajustes tras la vista previa ---------- */
.wp-block-site-logo img { width: 190px; height: auto; }
@media (max-width: 600px) { .wp-block-site-logo img { width: 150px; } }
.ceo-banda-titulo > .wp-block-separator.is-style-tres-circulos { margin-left: max(0px, calc((100% - 1240px) / 2)) !important; }
.ceo-banda-titulo h1 { font-weight: 700; }
.ceo-pie .ceo-logo-pie img { height: 40px !important; width: auto !important; }
.ceo-pie .ceo-logo-pie img[src*="logo-cierre"] { height: 72px !important; }
