/*
Theme Name: Eban
Theme URI: https://ebanpremium.com/
Description: Tema de bloques de Eban Premium. El aspecto se define en theme.json y en las variaciones de /styles.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Author: Eban Premium
Text Domain: eban
License: GPL-2.0-or-later
*/

/* Todas las reglas usan las variables de theme.json: una variación de estilo cambia la web entera. */
:root {
	--eban-borde: 1px solid var(--wp--preset--color--line);
	--eban-radio: var(--wp--custom--radius, 0px);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 3px; }
em { font-style: italic; }
/* La palabra destacada de un titular: misma familia, trazo fino y color roble */
h1 em, h2 em { font-style: normal; font-weight: 300; color: var(--wp--preset--color--accent); }

/* ---------- Cabecera del sitio ---------- */
.eban-cabecera-sitio {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--base) 92%, transparent);
	backdrop-filter: blur(10px);
	border-bottom: var(--eban-borde);
	min-height: var(--wp--custom--header-height);
	padding-block: 0.6rem;
}
.admin-bar .eban-cabecera-sitio { top: var(--wp-admin--admin-bar--height, 32px); }
.eban-cabecera-sitio .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--surface); border: var(--eban-borde); padding: 0.5rem 0; min-width: 260px;
}
.eban-cabecera-sitio .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }
.eban-cabecera-sitio .wp-block-button__link { padding: 0.65rem 1rem; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); padding: 2rem clamp(16px, 4vw, 56px); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: var(--wp--preset--font-size--large); }
@media (max-width: 781px) { .eban-cabecera-sitio .eban-boton-cabecera { display: none; } }

/* ---------- Secciones ---------- */
.eban-seccion { padding-block: var(--eban-hueco); }
:root { --eban-hueco: clamp(1.5rem, 2.6vw, 2.25rem); }

/* Todo el contenido de una sección se alinea al ancho amplio; el texto corrido limita su medida sin moverse del borde. */
.eban-seccion.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: var(--wp--style--global--wide-size); }
.eban-seccion.is-layout-constrained > :is(p, .wp-block-list, .wp-block-details, .eban-form) { padding-right: max(0px, calc(min(100%, var(--wp--style--global--wide-size, 1280px)) - 68ch)); }
.eban-seccion.is-layout-constrained > .eban-proceso { padding-right: 0; }
.eban-seccion.is-layout-constrained > .eban-lista-datos { padding-right: max(0px, calc(min(100%, var(--wp--style--global--wide-size, 1280px)) - 900px)); }
.eban-seccion.is-layout-constrained > h1, .eban-seccion.is-layout-constrained > h2 { padding-right: max(0px, calc(min(100%, var(--wp--style--global--wide-size, 1280px)) - 22ch)); }
.eban-seccion.is-layout-constrained > h1.wp-block-post-title { padding-right: 0; margin-left: 0 !important; }
.eban-seccion > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.eban-seccion--alt, .eban-llamada { background: var(--wp--preset--color--surface); }
.eban-seccion--linea { border-block: var(--eban-borde); padding-block: var(--eban-hueco); }
.eban-seccion--cifras { padding-block: 0; border-bottom: var(--eban-borde); }
.eban-seccion--oscura, .eban-portada {
	background: var(--wp--preset--color--dark); color: var(--wp--preset--color--on-dark);
}
.eban-seccion--oscura .eban-rotulo, .eban-portada .eban-rotulo { color: var(--wp--preset--color--on-dark-muted); }
.eban-seccion--oscura p:not(.eban-rotulo), .eban-portada .eban-subtitulo { color: var(--wp--preset--color--on-dark-muted); }
.eban-seccion--oscura h2, .eban-seccion--oscura h3 { color: var(--wp--preset--color--on-dark); }
.eban-seccion--oscura .wp-block-button__link, .eban-portada .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--wp--preset--color--on-dark); border-color: var(--wp--preset--color--on-dark); color: var(--wp--preset--color--dark);
}
.eban-seccion--oscura .is-style-outline .wp-block-button__link, .eban-portada .is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--on-dark); border-color: var(--wp--preset--color--on-dark);
}

/* Portada (inicio): foto a pantalla completa y el texto abajo, sobre un degradado que sube desde el pie */
.eban-portada {
	position: relative; overflow: hidden;
	display: flex; flex-direction: column; justify-content: flex-end;
	padding-block: 7rem var(--eban-hueco);
	min-height: min(calc(100svh - var(--wp--custom--header-height)), 780px);
	background:
		linear-gradient(0deg, color-mix(in srgb, var(--wp--preset--color--dark) 94%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--dark) 72%, transparent) 50%, color-mix(in srgb, var(--wp--preset--color--dark) 8%, transparent) 88%),
		var(--eban-portada-imagen, none) center / cover,
		var(--wp--preset--color--dark);
}
.eban-portada > * { width: 100%; margin-left: 0 !important; }
@media (max-width: 781px) {
	.eban-portada {
		min-height: auto; padding-block: clamp(14rem, 70vw, 22rem) 3rem;
		background:
			linear-gradient(0deg, color-mix(in srgb, var(--wp--preset--color--dark) 96%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--dark) 80%, transparent) 55%, color-mix(in srgb, var(--wp--preset--color--dark) 10%, transparent) 100%),
			var(--eban-portada-imagen, none) 70% center / cover,
			var(--wp--preset--color--dark);
	}
}
.eban-portada h1 { max-width: 17ch; color: var(--wp--preset--color--on-dark); font-size: clamp(1.875rem, 3.2vw, 3rem); }
.eban-portada h1 em { display: block; color: var(--wp--preset--color--accent-light); }
@media (min-width: 782px) { .eban-portada h1 { max-width: none; white-space: nowrap; } }

/* Título de artículos y páginas de texto: más contenido que el de las landings */
body.single h1.wp-block-post-title, body.page-template-default h1.wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); max-width: 24ch; }

/* Cabecera de página */
.eban-cabecera { padding-block: var(--eban-hueco); }
.eban-cabecera h1 { font-size: var(--wp--preset--font-size--xx-large); max-width: 20ch; }
@media (min-width: 900px) { .eban-cabecera h1 { font-size: clamp(2rem, 3.2vw, 2.75rem); } }

/* Textos */
.eban-rotulo {
	font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.14em; text-transform: uppercase;
	font-weight: 600; color: var(--wp--preset--color--contrast); margin-block-end: 0.5rem !important;
}
.eban-rotulo + h1, .eban-rotulo + h2, .eban-rotulo + h3 { margin-block-start: 0.4rem !important; }
.eban-subtitulo { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); max-width: 60ch; }
.eban-citable { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--large); font-weight: 400; letter-spacing: 0; line-height: 1.6; max-width: 72ch; }
.eban-nota { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); border-left: 2px solid var(--wp--preset--color--accent); padding-left: 1rem; max-width: 70ch; }
.eban-seccion--oscura .eban-nota { color: var(--wp--preset--color--on-dark-muted); }
.eban-cita { font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); max-width: 36ch; }
.eban-enlace a { color: var(--wp--preset--color--accent); font-weight: 600; text-decoration: none; }
.eban-enlace a:hover { text-decoration: underline; }
.eban-seccion--oscura .eban-enlace a { color: var(--wp--preset--color--accent-light); }
/* Datos pendientes de completar: visibles para que nadie publique sin revisarlos. */
.eban-pendiente { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent); }

/* Columnas con proporción editorial (rótulo | texto) */
@media (min-width: 782px) {
	.eban-intro, .eban-faq, .eban-contacto { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: var(--wp--preset--spacing--60) !important; }
	.eban-contacto { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
}

/* Cifras */
.eban-cifras { gap: 0 !important; }
.eban-cifras > .wp-block-column { padding: 1.1rem var(--wp--preset--spacing--40); border-left: var(--eban-borde); }
.eban-cifras > .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.eban-cifra { font-family: var(--wp--preset--font-family--display); font-weight: 300; letter-spacing: -0.04em; font-size: clamp(1.375rem, 1.9vw, 1.875rem); white-space: nowrap; line-height: 1; font-variant-numeric: lining-nums tabular-nums; margin: 0; }
.eban-cifra__texto { color: var(--wp--preset--color--muted); font-size: 0.8125rem; margin-block-start: 0.35rem !important; }
@media (max-width: 781px) {
	.eban-cifras { display: grid !important; grid-template-columns: 1fr 1fr; }
	.eban-cifras > .wp-block-column { border-left: 0; padding-left: 0; border-top: var(--eban-borde); }
}

/* Tarjetas */
.eban-tarjetas { gap: var(--wp--preset--spacing--40) !important; }
/* Tarjetas sin marco: la foto manda y se acerca un poco al pasar el ratón */
.eban-tarjetas > .wp-block-column { padding: 0 0 var(--wp--preset--spacing--40); }
.eban-tarjetas .wp-block-image { overflow: hidden; }
.eban-tarjetas img { transition: transform .5s ease; }
.eban-tarjetas > .wp-block-column:hover img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .eban-tarjetas img { transition: none; } }
.eban-tarjetas > .wp-block-column > :is(.eban-foto, .wp-block-image) { margin-block: 0 var(--wp--preset--spacing--40); }

/* Fotos */
.eban-imagen { margin: 0; }
.eban-imagen img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--eban-radio); }
.eban-galeria { gap: var(--wp--preset--spacing--40) !important; }
.eban-pie-foto { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin-block-start: 0.6rem !important; }
.wp-block-post-content > .eban-imagen img { aspect-ratio: auto; }
.eban-tarjetas h3 { font-size: var(--wp--preset--font-size--x-large); }
.eban-tarjetas p:not(.eban-rotulo):not(.eban-enlace) { color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.eban-trio h3, .eban-cuarteto h3 { font-size: var(--wp--preset--font-size--large); }
.eban-trio > .wp-block-column, .eban-cuarteto > .wp-block-column { border-top: 2px solid currentColor; padding-top: var(--wp--preset--spacing--30); }

/* Hueco de foto (sustituir por un bloque Imagen) */
.eban-foto {
	aspect-ratio: 4 / 3; display: flex !important; align-items: flex-end; padding: 0.75rem !important; margin: 0;
	background:
		repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in srgb, var(--wp--preset--color--on-dark) 5%, transparent) 14px 15px),
		linear-gradient(160deg, var(--wp--preset--color--dark-2), var(--wp--preset--color--dark));
}
.eban-foto .eban-foto__texto { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--on-dark-muted); margin: 0; }
.eban-materiales .eban-foto { aspect-ratio: 1; }

/* Proceso (lista ordenada en 5 pasos) */
.eban-proceso {
	list-style: none; padding: 0; margin: 0; counter-reset: paso;
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--wp--preset--color--contrast);
}
.eban-proceso li { counter-increment: paso; padding: 1.25rem 1.25rem 0 0; color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.eban-proceso li::before { content: "Paso " counter(paso); display: block; font-family: var(--wp--preset--font-family--mono); font-size: 1rem; color: var(--wp--preset--color--accent); margin-bottom: 0.5rem; }
:lang(en) .eban-proceso li::before { content: "Step " counter(paso); }
.eban-proceso li strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: var(--wp--preset--font-size--x-large); color: var(--wp--preset--color--contrast); margin-bottom: 0.25rem; }
@media (max-width: 900px) { .eban-proceso { grid-template-columns: 1fr 1fr; row-gap: 1.5rem; } }
@media (max-width: 520px) { .eban-proceso { grid-template-columns: 1fr; } }

/* Listas de datos y de viñetas */
.eban-lista-datos { list-style: none; padding: 0; border-top: var(--eban-borde); font-variant-numeric: tabular-nums; }
.eban-lista-datos li { padding: 0.85rem 0; border-bottom: var(--eban-borde); }
.eban-seccion--oscura .eban-lista-datos, .eban-seccion--oscura .eban-lista-datos li { border-color: color-mix(in srgb, var(--wp--preset--color--on-dark) 16%, transparent); }
.eban-lista-marcas { list-style: none; padding: 0; display: grid; gap: 0.75rem; }
.eban-lista-marcas li { padding-left: 1.4rem; position: relative; }
.eban-lista-marcas li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 0.5rem; height: 0.5rem; background: var(--wp--preset--color--accent); }

/* Preguntas frecuentes */
.wp-block-details summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1rem; font-family: var(--wp--preset--font-family--display); font-weight: 500; letter-spacing: -0.01em; font-size: var(--wp--preset--font-size--large); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--accent); font-size: 1.4rem; line-height: 1; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > p { color: var(--wp--preset--color--muted); max-width: 62ch; margin-block-start: 0.75rem; }
.eban-faq .wp-block-details:last-child { border-bottom: var(--eban-borde); }

/* Llamada final */
.eban-llamada h3 { max-width: 32ch; }

/* Proyectos (bloque Consulta) */
.eban-proyectos .wp-block-post-template { gap: var(--wp--preset--spacing--40); }
.eban-proyectos .wp-block-post-featured-image { margin-bottom: 0.75rem; background: var(--wp--preset--color--dark-2); aspect-ratio: 4 / 3; }
.eban-proyectos .wp-block-post-title { font-size: var(--wp--preset--font-size--large); margin: 0.5rem 0 0.25rem; }

/* Año y lugar en las tarjetas de proyecto */
.eban-lugar { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); margin: 0 0 0.25rem !important; }
.eban-lugar:empty { display: none; }

/* Contacto por departamentos */
.eban-contactos { display: grid; gap: 1.25rem; margin-block: 1rem; }
.eban-contactos p { margin: 0.15rem 0; }
.eban-contactos a { text-decoration: none; }

/* Migas de pan */
.eban-migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.25rem 0.6rem; padding: 0; margin: 0 0 var(--wp--preset--spacing--40); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.eban-migas li + li::before { content: "/"; margin-right: 0.6rem; color: var(--wp--preset--color--line); }
.eban-migas a { text-decoration: none; }

/* Ficha de proyecto */
.eban-ficha { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem 1.25rem; margin: 0; padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--surface); border: var(--eban-borde); }
.eban-ficha dt { font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--muted); padding-top: 0.2rem; }
.eban-ficha dd { margin: 0; }

/* Formulario de presupuesto */
.eban-form { display: grid; gap: 1rem; }
.eban-form p { margin: 0; }
.eban-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .eban-form__grid { grid-template-columns: 1fr; } }
.eban-form label { display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin-bottom: 0.3rem; }
.eban-form input:not([type="checkbox"]), .eban-form select, .eban-form textarea {
	width: 100%; box-sizing: border-box; max-width: 100%; font: inherit; color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line); border-radius: var(--eban-radio); padding: 0.75rem 0.85rem;
}
.eban-form small { display: block; margin-top: 0.3rem; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--x-small); }
.eban-form__check { display: flex; gap: 0.6rem; align-items: flex-start; }
.eban-form__check label { display: inline; margin: 0; }
.eban-form__check input { margin-top: 0.3rem; accent-color: var(--wp--preset--color--accent); }
.eban-form__hp { position: absolute !important; left: -9999px; }
.eban-form__estado[data-tipo="ok"] { border-left: 2px solid #3F6B4E; padding-left: 0.75rem; }
.eban-form__estado[data-tipo="error"] { border-left: 2px solid #9A3A2E; padding-left: 0.75rem; }

/* Configurador a ancho completo */
.eban-configurador-bloque { padding: 0 !important; }
.eban-configurador-bloque .eban-configurador { max-width: none; }

/* Material (fichas de la página Materiales) */
.eban-material { margin-block-end: var(--wp--preset--spacing--50) !important; }
.eban-material .eban-foto { aspect-ratio: 3 / 2; }
.eban-material > .wp-block-column { max-width: calc((100% - 2 * var(--wp--style--block-gap, 2em)) / 3); }
@media (max-width: 781px) { .eban-material > .wp-block-column { max-width: none; } }
.eban-material h3 { margin-block-start: 1rem; }
.eban-material p { color: var(--wp--preset--color--muted); }

/* Pie */
.eban-pie { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--on-dark-muted); font-size: var(--wp--preset--font-size--small); }
.eban-pie h2, .eban-pie .wp-block-site-title { color: var(--wp--preset--color--on-dark); }
.eban-pie h2 { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; }
.eban-pie a { text-decoration: none; }
.eban-pie a:hover { color: var(--wp--preset--color--on-dark); }
.eban-pie p { margin: 0.2rem 0; }
.eban-enlaces { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.45rem; }
.eban-pie__legal { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--on-dark) 14%, transparent); padding-top: 1.25rem; }
.eban-pie__legal .eban-enlaces { display: flex; flex-wrap: wrap; gap: 1rem; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Selector de idioma */
.eban-cabecera-sitio__acciones { gap: var(--wp--preset--spacing--30); align-items: center; }
.eban-idiomas { display: flex; gap: 0.35rem; font-family: var(--wp--preset--font-family--mono); font-size: 0.75rem; letter-spacing: 0.08em; }
.eban-idiomas span { color: var(--wp--preset--color--contrast); border-bottom: 1px solid var(--wp--preset--color--accent); }
.eban-idiomas a { color: var(--wp--preset--color--muted); text-decoration: none; }
.eban-idiomas a:hover { color: var(--wp--preset--color--accent); }
.eban-idiomas > * + *::before { content: "·"; margin-right: 0.35rem; color: var(--wp--preset--color--line); }

/* Sin hueco entre la cabecera fija y la primera sección de cada página */
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }

/* El taller: foto panorámica y zonas en dos columnas que alternan foto y texto */
.eban-seccion--foto { padding-block: 0 var(--eban-hueco); }
.eban-seccion--foto :is(.eban-foto, .eban-imagen img) { aspect-ratio: 21 / 9; }
.eban-area { align-items: center !important; gap: var(--wp--preset--spacing--60) !important; }
.eban-area h2 { font-size: var(--wp--preset--font-size--xx-large); padding-right: 0 !important; }
@media (min-width: 782px) { .eban-area--inversa > .wp-block-column:first-child { order: 2; } }

/* Materiales: tarjeta final para pedir otros materiales */
.eban-material-otro { height: 100%; padding: var(--wp--preset--spacing--40); border: var(--eban-borde); background: var(--wp--preset--color--surface); display: flex; flex-direction: column; justify-content: center; }
.eban-material-otro > * { margin-left: 0 !important; margin-right: 0 !important; max-width: none; padding-right: 0 !important; text-align: left; }

/* Artículos: subtítulos a escala de lectura, no de portada */
body.single-post .wp-block-post-content h2, body.page-template-default .wp-block-post-content h2 { font-size: var(--wp--preset--font-size--x-large); margin-block-start: var(--wp--preset--spacing--50); padding-right: 0; }
body.single-post .wp-block-post-content h3, body.page-template-default .wp-block-post-content h3 { font-size: var(--wp--preset--font-size--large); }

/* Etiqueta de ambientación recreada sobre una foto */
.eban-con-recreada { position: relative; }
.eban-recreada { position: absolute; right: .75rem; bottom: .75rem; padding: .35em .6em; font: 500 11px/1 var(--wp--preset--font-family--mono); letter-spacing: .04em; color: #fff; background: rgba(18,18,18,.55); pointer-events: none; }

/* Trabajos destacados de la portada ([eban_trabajos]) */
.eban-trabajos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--40); }
.eban-trabajo__foto { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wp--preset--color--dark-2); margin-bottom: 0.75rem; }
.eban-trabajo__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.eban-trabajo__foto:hover img { transform: scale(1.02); }
.eban-trabajo__titulo { font-size: var(--wp--preset--font-size--large); margin: 0.5rem 0 0.25rem; }
.eban-trabajo__titulo a { color: inherit; text-decoration: none; }
.eban-trabajo__titulo a:hover { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 781px) { .eban-trabajos { grid-template-columns: 1fr; } }

/* Logo de la cabecera: «EP» y el nombre con la tipografía del título del sitio */
.eban-logo { display: flex; align-items: center; gap: 1.6rem; text-decoration: none; color: var(--wp--preset--color--contrast); }
.eban-logo__ep { height: 34px; width: auto; display: block; }
.eban-logo__nombre { font-family: var(--wp--preset--font-family--display); font-size: 1.05rem; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase; white-space: nowrap; line-height: 1; }
@media (max-width: 480px) { .eban-logo { gap: 1rem; } .eban-logo__ep { height: 28px; } .eban-logo__nombre { font-size: 0.9rem; letter-spacing: 0.24em; } }

/* Lema bajo los botones de la portada */
.eban-portada .wp-block-buttons + .eban-rotulo { margin-block-start: var(--wp--preset--spacing--40) !important; }

/* «Quiénes somos» y bloques de introducción: rótulo algo mayor */
.eban-intro .eban-rotulo { font-size: 0.875rem; }

/* Texto corrido justificado */
main p:not(.eban-rotulo):not(.eban-enlace):not(.eban-subtitulo):not(.eban-cifra):not(.eban-cifra__texto):not(.eban-lugar):not(.eban-foto__texto):not(.eban-pie-foto):not(.has-text-align-center),
.wp-block-post-content p:not(.has-text-align-center) { text-align: justify; hyphens: manual; -webkit-hyphens: manual; }

/* Tarjetas: títulos de dos líneas de alto y enlace al pie, para que todo quede a la misma altura */
@media (min-width: 782px) {
	.eban-tarjetas > .wp-block-column { display: flex; flex-direction: column; }
	.eban-tarjetas > .wp-block-column > h3 { min-height: 2.3em; }
	.eban-tarjetas > .wp-block-column > .eban-enlace { margin-top: auto !important; padding-top: 0.75rem; }
	.eban-trabajo__titulo, .eban-proyectos .wp-block-post-title { min-height: 2.3em; }
}

/* Cabecera: menú en una sola línea junto al logo */
.eban-cabecera-sitio .wp-block-navigation { font-size: 0.875rem; }
.eban-cabecera-sitio .wp-block-navigation .wp-block-navigation__container { gap: 1.1rem; flex-wrap: nowrap; }
.eban-cabecera-sitio .wp-block-navigation-item__content { white-space: nowrap; }
.eban-cabecera-sitio .wp-block-button__link { white-space: nowrap; font-size: 0.875rem; }
.eban-cabecera-sitio__acciones { gap: 1.25rem !important; }
@media (min-width: 782px) and (max-width: 1100px) {
	.eban-cabecera-sitio .wp-block-navigation .wp-block-navigation__container { gap: 0.8rem; }
	.eban-cabecera-sitio .eban-boton-cabecera { display: none; }
}
@media (min-width: 782px) and (max-width: 1000px) {
	.eban-cabecera-sitio .wp-block-navigation { font-size: 0.8rem; }
	.eban-cabecera-sitio .wp-block-navigation .wp-block-navigation__container { gap: 0.6rem; }
	.eban-cabecera-sitio__acciones { gap: 0.75rem !important; }
	.eban-logo__nombre { font-size: 0.95rem; letter-spacing: 0.24em; }
}
@media (min-width: 782px) and (max-width: 880px) { .eban-logo__nombre { display: none; } }

@media (max-width: 360px) { .eban-logo__nombre { font-size: 0.78rem; letter-spacing: 0.16em; } .eban-logo__ep { height: 24px; } }
.eban-cabecera-sitio > .alignwide { max-width: none !important; }
.eban-intro h2 { margin-block-start: 0 !important; }

/* Títulos: misma tipografía, grosor y espaciado en toda la web */
h1, h2, h3, h4, .wp-block-post-title, .eban-trabajo__titulo { font-family: var(--wp--preset--font-family--display); font-weight: 500; letter-spacing: -0.02em; }
.eban-tarjetas > .wp-block-column { padding-bottom: 0 !important; }
.eban-seccion.is-layout-constrained > :is(p, h1, h2, .wp-block-list, .wp-block-details, .eban-form, .eban-lista-datos) { box-sizing: border-box; }

/* Huecos uniformes: sin márgenes añadidos entre bloques ni encima del primer elemento de cada bloque */
.eban-seccion { margin-block: 0 !important; }
.eban-seccion > :first-child { margin-block-start: 0 !important; }
.eban-seccion > :last-child { margin-block-end: 0 !important; }
/* Bloques de introducción: el texto centrado en la página y el título a su izquierda */
@media (min-width: 1200px) {
	.eban-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 54rem) minmax(0, 1fr) !important; }
	.eban-intro > .wp-block-column:first-child h2 { white-space: nowrap; }
	.eban-intro > .wp-block-column:last-child { grid-column: 2 / 4; }
	.eban-intro .eban-citable { max-width: none; }
}

/* Cifras: agrupadas en el centro, mismo espacio entre ellas, y cada número centrado sobre su texto */
@media (min-width: 782px) {
	.eban-cifras { display: flex !important; justify-content: center !important; gap: clamp(3rem, 7vw, 6.5rem) !important; }
	.eban-cifras > .wp-block-column { flex: 0 0 auto !important; width: auto !important; border-left: 0 !important; padding-inline: 0 !important; text-align: center; }
	.eban-cifras .eban-cifra, .eban-cifras .eban-cifra__texto { text-align: center !important; }
}
/* Intro: el texto se separa más del título; su borde derecho no cambia */
@media (min-width: 782px) { .eban-intro > .wp-block-column:last-child { padding-left: clamp(2rem, 5.5vw, 5rem); } }

/* Los botones «Enviar mi proyecto» llevan al formulario; la cabecera fija no lo tapa */
#formulario { scroll-margin-top: calc(var(--wp--custom--header-height) + 1.5rem); }

/* Tarjetas con foto: el mismo patrón en toda la web (foto · rótulo · título · texto · enlace) */
.eban-tarjetas > .wp-block-column > :is(.eban-foto, .wp-block-image),
.eban-trabajo__foto,
.eban-proyectos .wp-block-post-featured-image { margin: 0 0 3rem !important; }
.eban-tarjetas h3, .eban-trabajo h3.eban-trabajo__titulo, .eban-proyectos .wp-block-post-title { font-size: var(--wp--preset--font-size--large) !important; line-height: 1.15; margin: 0.875rem 0 0 !important; }
.eban-trabajo .eban-rotulo, .eban-tarjetas .eban-rotulo { margin: 0 !important; }
.eban-proyectos .wp-block-post-template > li { display: flex; flex-direction: column; }
.eban-proyectos .wp-block-post-template > li > .wp-block-post-featured-image { order: 0; }
.eban-proyectos .wp-block-post-template > li > .taxonomy-sector { order: 1; margin: 0 !important; font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; }
.eban-proyectos .taxonomy-sector a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.eban-proyectos .wp-block-post-template > li > .wp-block-post-title { order: 2; }
.eban-proyectos .wp-block-post-template > li > .eban-lugar { order: 3; margin: 0.6rem 0 0 !important; }
.eban-proyectos .wp-block-post-template { row-gap: 3rem !important; }

/* Misma anchura útil en todas las páginas, tengan o no barra de desplazamiento: la cabecera no se mueve al cambiar de página */
html { scrollbar-gutter: stable; }

/* ===== Unificación general: mismas separaciones y tamaños en todas las páginas ===== */
:root { --eban-columnas: clamp(1.5rem, 2.8vw, 2.5rem); }
/* Separación entre columnas: una sola medida (las cifras se reparten aparte) */
main .wp-block-columns:not(.eban-cifras),
main .eban-tarjetas,
.eban-trabajos,
.eban-proyectos .wp-block-post-template { column-gap: var(--eban-columnas) !important; }
@media (min-width: 782px) { main .wp-block-columns:not(.eban-cifras) { gap: var(--eban-columnas) !important; } }
/* Títulos: h1 de página, h2 de sección y h3 de bloque, iguales en toda la web */
main h1:not(.eban-portada h1), body.single h1.wp-block-post-title, body.page-template-default h1.wp-block-post-title { font-size: clamp(2rem, 3.2vw, 2.75rem) !important; }
main h2:not(.wp-block-post-title) { font-size: var(--wp--preset--font-size--x-large) !important; }
main h3, main h4, .eban-proceso li strong, .wp-block-details summary { font-size: var(--wp--preset--font-size--large) !important; }
/* Textos: el mismo tamaño en tarjetas, columnas, pasos y párrafos */
.eban-tarjetas p:not(.eban-rotulo):not(.eban-enlace), .eban-proceso li, main .wp-block-column > p:not([class*="eban-"]) { font-size: var(--wp--preset--font-size--medium) !important; }
.eban-cita { font-size: var(--wp--preset--font-size--large) !important; }
.eban-intro .eban-rotulo { font-size: var(--wp--preset--font-size--x-small); }
/* Bloques «título | contenido»: el contenido de la derecha empieza siempre en la misma línea vertical */
@media (min-width: 782px) {
	main .wp-block-columns.eban-intro,
	main .wp-block-columns.eban-faq,
	main .wp-block-columns:has(> .wp-block-column:first-child > h2:only-child):has(> .wp-block-column:nth-child(2):last-child) {
		display: grid !important; grid-template-columns: 15.5rem minmax(0, 1fr) !important; gap: var(--eban-columnas) !important;
	}
	main .wp-block-columns.eban-intro > .wp-block-column, main .wp-block-columns.eban-faq > .wp-block-column,
	main .wp-block-columns:has(> .wp-block-column:first-child > h2:only-child) > .wp-block-column { grid-column: auto !important; padding-left: 0 !important; flex-basis: auto !important; }
	main .wp-block-columns:is(.eban-intro, .eban-faq) > .wp-block-column:first-child h2,
	main .wp-block-columns:has(> .wp-block-column:first-child > h2:only-child) > .wp-block-column:first-child h2 { white-space: normal; padding-right: 0 !important; margin-top: 0 !important; }
}
/* Los títulos de sección ocupan una sola línea cuando caben (antes se partían a 22 caracteres) */
.eban-seccion.is-layout-constrained > h2 { padding-right: 0 !important; }
/* El título de proyectos, artículos y páginas legales empieza en la misma línea que el resto del contenido */
.eban-seccion.is-layout-constrained > h1.wp-block-post-title { box-sizing: border-box; max-width: var(--wp--style--global--wide-size, 1280px) !important; margin-left: auto !important; margin-right: auto !important; padding-right: max(0px, calc(min(100%, var(--wp--style--global--wide-size, 1280px)) - 22ch)); }
/* Desarrollo: separación entre la fila de la mesa poligonal y la de la mesa orgánica */
.eban-desarrollo--dos { margin-bottom: var(--eban-hueco) !important; }
/* Desarrollo: las dos imágenes de la mesa poligonal, del mismo tamaño que las tres de abajo y alineadas con ellas */
@media (min-width: 782px) {
	main .wp-block-columns.eban-desarrollo { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	main .wp-block-columns.eban-desarrollo > .wp-block-column { flex-basis: auto !important; }
}
/* Desarrollo: la entradilla ocupa todo el ancho, hasta el borde derecho de las fotos */
.eban-seccion:has(.eban-desarrollo) > .eban-subtitulo { max-width: var(--wp--style--global--wide-size, 1280px) !important; padding-right: 0 !important; }
/* Cabecera con foto a la derecha */
@media (min-width: 782px) {
	.eban-cabecera--foto .eban-cabecera__cols { display: grid !important; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) !important; gap: var(--eban-columnas) !important; align-items: center !important; }
	.eban-cabecera--foto .eban-cabecera__cols > .wp-block-column { flex-basis: auto !important; }
}
.eban-cabecera--foto .eban-cabecera__cols { max-width: var(--wp--style--global--wide-size, 1280px) !important; margin-left: auto !important; margin-right: auto !important; }
.eban-cabecera--foto .eban-cabecera__cols h1 { max-width: none; }
.eban-cabecera--foto .eban-cabecera__cols .eban-subtitulo { max-width: none; }
.eban-cabecera--foto .eban-cabecera__cols img { width: 100%; height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; box-shadow: 0 1px 0 var(--wp--preset--color--line), 0 0 0 1px var(--wp--preset--color--line); }

/* Materiales: cuadrícula ordenada; primero los que tienen foto y debajo los que van solo con texto */
main .wp-block-columns.eban-materiales-rejilla { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 3rem var(--eban-columnas) !important; align-items: stretch !important; margin-block-end: var(--eban-hueco) !important; }
main .wp-block-columns.eban-materiales-rejilla > .wp-block-column { flex-basis: auto !important; max-width: none !important; }
main .wp-block-columns.eban-materiales-rejilla--texto { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.eban-materiales-rejilla .wp-block-image, .eban-materiales-rejilla .eban-foto { aspect-ratio: 4 / 3; margin: 0 0 var(--wp--preset--spacing--40) !important; overflow: hidden; }
.eban-materiales-rejilla .wp-block-image img { width: 100%; height: 100% !important; object-fit: cover; aspect-ratio: 4 / 3; }
.eban-materiales-rejilla h3 { margin: 0 0 0.6rem !important; }
.eban-materiales-rejilla p { color: var(--wp--preset--color--muted); }
.eban-materiales-rejilla--texto > .wp-block-column { border-top: var(--eban-borde); padding-top: 1.25rem; }
.eban-materiales-rejilla .eban-material-otro { height: 100%; aspect-ratio: auto; }
@media (max-width: 1100px) { main .wp-block-columns.eban-materiales-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } main .wp-block-columns.eban-materiales-rejilla--texto { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { main .wp-block-columns.eban-materiales-rejilla, main .wp-block-columns.eban-materiales-rejilla--texto { grid-template-columns: 1fr !important; } }
.eban-materiales-rejilla p, .eban-material-otro p { text-align: left !important; hyphens: manual; }
.eban-materiales-rejilla + h2 { margin-block-start: var(--eban-hueco) !important; }
/* Pie: los títulos de columna ocupan la misma altura que «EBAN PREMIUM» y los enlaces se separan igual que los datos de contacto */
.eban-pie .wp-block-columns { align-items: flex-start !important; }
.eban-pie .wp-block-column > * { margin-block: 0 !important; }
.eban-pie h2 { line-height: 26.88px !important; margin: 0 0 0.2rem !important; }
.eban-pie .wp-block-site-title { line-height: 26.88px; margin: 0 0 0.2rem !important; }
.eban-pie .wp-block-column > p { margin: 0 0 0.2rem !important; line-height: 22.4px; }
.eban-pie .wp-block-column .eban-enlaces { margin: 0 !important; padding: 0; list-style: none; }
.eban-pie .wp-block-column .eban-enlaces li { margin: 0 0 0.2rem !important; line-height: 22.4px; }
.eban-pie .wp-block-column > p.wp-block-site-title { line-height: 26.88px; }
.eban-pie .wp-block-column .eban-enlaces { display: block !important; gap: 0 !important; }
.eban-pie .wp-block-column .eban-enlaces li { padding: 0 !important; }
.eban-pie .wp-block-column > h2, .eban-pie .wp-block-column > p.wp-block-site-title { margin: 0 0 0.2rem !important; }

/* Logos de clientes («Confían en nosotros») */
.eban-clientes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50); margin-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
.eban-clientes { justify-content: flex-start; }
.eban-clientes > .eban-logo-cliente { margin: 0 !important; width: auto !important; flex: 0 0 auto; }
.eban-clientes .eban-logo-cliente img { display: block; height: 96px !important; width: auto !important; aspect-ratio: auto !important; object-fit: contain !important; object-position: left center !important; }
/* Cita de cliente: a todo el ancho y justificada */
.eban-seccion .eban-cita { max-width: var(--wp--style--global--wide-size, 1280px) !important; margin-left: auto !important; margin-right: auto !important; padding-right: 0 !important; text-align: justify; hyphens: manual; }
.eban-imagen--ancha img { aspect-ratio: 4 / 3; max-height: 80vh; }
/* Bloques de texto con tres fotos (Mesas de oficina) */
.eban-bloque-fotos > .eban-subtitulo { margin-top: .5rem; }
.eban-galeria--tres { margin-top: var(--wp--preset--spacing--40) !important; }
.eban-galeria--tres .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; }
.eban-bloque-fotos + .eban-bloque-fotos { padding-top: 0 !important; }
.eban-galeria--tres .eban-pie-foto { text-align: left !important; hyphens: manual; }
/* Tablas de datos (guía de medidas): compactas, con rejilla fina */
.eban-tabla { margin: var(--wp--preset--spacing--30) 0; overflow-x: auto; max-width: 56rem; }
.eban-tabla table { width: 100%; border-collapse: collapse; font-size: .9rem; line-height: 1.35; border: 1px solid var(--wp--preset--color--line) !important; }
.eban-tabla th, .eban-tabla td { padding: .45rem .8rem; border: 1px solid var(--wp--preset--color--line) !important; text-align: left; vertical-align: middle; }
.eban-tabla th { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; background: rgba(0,0,0,.035); }
.eban-tabla td:first-child { font-weight: 600; white-space: nowrap; }
.eban-tabla td:nth-child(2) { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) { .eban-tabla td:nth-child(2) { white-space: normal; } .eban-tabla th, .eban-tabla td { padding: .4rem .5rem; } }
.eban-tabla thead { border-bottom: 0 !important; } .wp-block-table.eban-tabla thead { border-bottom: 1px solid var(--wp--preset--color--line) !important; }
/* Visor de fotos ampliadas */
.eban-visor { position: fixed; inset: 0; z-index: 1000; background: rgba(12,12,12,.92); display: flex; align-items: center; justify-content: center; padding: 3.5rem 4.5rem; }
.eban-visor[hidden] { display: none; }
.eban-visor figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.eban-visor img { max-width: 100%; max-height: calc(100vh - 9rem); width: auto; height: auto; object-fit: contain; box-shadow: 0 10px 40px rgba(0,0,0,.4); }
.eban-visor figcaption { color: #e9e6e0; font-size: .9rem; text-align: center; max-width: 60ch; }
.eban-visor button { position: absolute; background: none; border: 0; color: #fff; font-size: 2.6rem; line-height: 1; cursor: pointer; padding: .5rem .9rem; opacity: .8; }
.eban-visor button:hover, .eban-visor button:focus-visible { opacity: 1; }
.eban-visor__cerrar { top: .75rem; right: 1rem; }
.eban-visor__ant { left: .75rem; top: 50%; transform: translateY(-50%); }
.eban-visor__sig { right: .75rem; top: 50%; transform: translateY(-50%); }
.eban-visor--una .eban-visor__ant, .eban-visor--una .eban-visor__sig { display: none; }
.eban-visor-abierto { overflow: hidden; }
@media (max-width: 640px) { .eban-visor { padding: 3rem .75rem; } .eban-visor__ant, .eban-visor__sig { top: auto; bottom: .5rem; transform: none; } }
#configurador { scroll-margin-top: 13rem; }

/* Pasos del taller: con dos fotos, una al lado de la otra; con una, algo más pequeña */
.eban-fotos-duo { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--30); }
.eban-fotos-duo > .wp-block-image { margin: 0 !important; }
.eban-fotos-duo img { aspect-ratio: 4 / 3; object-fit: cover; }
.eban-foto-reducida { max-width: 80%; }
.eban-area--inversa .eban-foto-reducida { margin-left: auto; }
/* Cifras del taller: cada una centrada debajo de su foto de la fila de cuatro */
@media (min-width: 782px) {
	.eban-cifras.eban-cifras--fotos { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: var(--eban-columnas) !important; justify-content: stretch !important; }
	.eban-cifras--fotos > .wp-block-column { width: auto !important; padding: 1.1rem 0 !important; border: 0 !important; text-align: center; }
}
.eban-cifras--fotos .eban-cifra, .eban-cifras--fotos .eban-cifra__texto { text-align: center !important; }
/* El taller: historia en la cabecera, con fotos pequeñas */
.eban-cabecera--historia .eban-cabecera__cols { align-items: start !important; }
.eban-historia__texto { font-size: .95rem; line-height: 1.6; margin-block: .5rem 0 !important; }
.eban-historia__fotos { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-top: 1rem; }
.eban-historia__fotos > * { margin: 0 !important; }
.eban-historia__fotos .eban-foto { aspect-ratio: 4 / 3; min-height: 0; padding: 0; }
.eban-cabecera--historia .eban-historia__fotos img { aspect-ratio: 4 / 3 !important; object-fit: cover !important; box-shadow: none; }
.eban-cabecera--historia h3 { margin-top: .35rem; }
/* Herramientas de accesibilidad */
.eban-a11y { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 900; display: flex; align-items: flex-start; font-family: var(--wp--preset--font-family--body, system-ui, sans-serif); }
.eban-a11y__abrir { order: 1; width: 52px; height: 52px; display: grid; place-items: center; background: var(--wp--preset--color--dark, #141414); color: #fff; border: 0; cursor: pointer; padding: 0; }
.eban-a11y__abrir:hover, .eban-a11y__abrir:focus-visible { background: var(--wp--preset--color--accent, #8A6A43); }
.eban-a11y--abierta .eban-a11y__abrir { order: 0; }
.eban-a11y__panel { order: 1; background: #fff; color: #121212; border-left: 1px solid #ddd; box-shadow: -8px 0 24px rgba(0,0,0,.12); padding: 1rem 1.25rem 1rem 1rem; width: 250px; max-height: 80vh; overflow-y: auto; }
.eban-a11y__panel[hidden] { display: none; }
.eban-a11y__titulo { font-weight: 700; font-size: 1.05rem !important; line-height: 1.3; margin: .2rem 0 .8rem !important; }
.eban-a11y__panel ul { list-style: none; margin: 0; padding: 0; }
.eban-a11y__panel li { margin: 0; }
.eban-a11y__panel li button { display: flex; align-items: center; gap: .7rem; width: 100%; background: none; border: 0; padding: .45rem .3rem; font: inherit; font-size: .95rem; color: inherit; text-align: left; cursor: pointer; }
.eban-a11y__panel li button:hover, .eban-a11y__panel li button:focus-visible { background: #f1efeb; }
.eban-a11y__panel li button[aria-pressed="true"] { color: var(--wp--preset--color--accent, #8A6A43); font-weight: 600; }
.eban-a11y__panel li:last-child { border-top: 1px solid #eee; margin-top: .35rem; padding-top: .35rem; }
/* Modos (se aplican a toda la página menos al propio panel) */
html.eban-a11y-gris body > *:not(.eban-a11y) { filter: grayscale(1); }
html.eban-a11y-negativo body > *:not(.eban-a11y) { filter: invert(1) hue-rotate(180deg); }
html.eban-a11y-negativo body { background: #0c0c0c; }
html.eban-a11y-contraste body, html.eban-a11y-contraste body *:not(.eban-a11y):not(.eban-a11y *) { background-color: #000 !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; }
html.eban-a11y-contraste body a:not(.eban-a11y *), html.eban-a11y-contraste body a:not(.eban-a11y *) * { color: #ffe44d !important; }
html.eban-a11y-contraste img { filter: contrast(1.1); }
html.eban-a11y-claro body, html.eban-a11y-claro body *:not(.eban-a11y):not(.eban-a11y *) { background-color: #fff !important; color: #000 !important; }
html.eban-a11y-claro body a:not(.eban-a11y *) { color: #0b3d91 !important; }
html.eban-a11y-enlaces a:not(.eban-a11y *) { text-decoration: underline !important; text-underline-offset: .15em; }
html.eban-a11y-legible body *:not(svg):not(svg *) { font-family: Verdana, Arial, Helvetica, sans-serif !important; letter-spacing: .01em !important; }
@media (max-width: 640px) { .eban-a11y { top: auto; bottom: 5rem; transform: none; } .eban-a11y__abrir { width: 44px; height: 44px; } }
@media print { .eban-a11y { display: none; } }
/* Pie: logos de ayudas públicas (sobre fondo blanco, como exigen los manuales de imagen) */
.eban-ayudas { margin-top: var(--wp--preset--spacing--50) !important; margin-bottom: var(--wp--preset--spacing--30) !important; box-sizing: border-box; background: #fff; color: #555; padding: 1.25rem 1.5rem 1rem; text-align: center; }
.eban-ayudas__texto { font-size: .72rem !important; letter-spacing: .04em; text-transform: uppercase; color: #666 !important; margin: 0 0 .75rem !important; }
.eban-ayudas__logos { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1rem 3rem; margin-bottom: 1rem; }
.eban-ayudas__logos img { height: 58px !important; width: auto !important; max-width: 100%; }
.eban-ayudas__feder img { display: block; width: 100% !important; max-width: 720px !important; height: auto !important; margin: 0 auto; }
@media (max-width: 640px) { .eban-ayudas__logos img { height: 44px !important; } }
.eban-ayudas__feder p, .eban-ayudas__feder { margin: 0 !important; }
/* Pies de foto de las galerías: alineados a la izquierda, sin huecos entre palabras */
.eban-galeria .eban-pie-foto { text-align: left !important; hyphens: manual; }
.eban-cabecera__monitores { margin-top: 0; align-self: center; }
.eban-cabecera--historia .eban-cabecera__cols:has(.eban-cabecera__monitores) { align-items: center !important; }
/* Oficina técnica: párrafo algo más pequeño y más sitio para las dos pantallas */
@media (min-width: 782px) {
	.eban-cabecera--monitores .eban-cabecera__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; }
}
.eban-cabecera--monitores .eban-subtitulo { font-size: clamp(1rem, 1.35vw, 1.2rem) !important; line-height: 1.6; }
.eban-cabecera--monitores .eban-historia__fotos { gap: .75rem; }
/* Redes sociales en el pie */
.eban-redes { list-style: none; margin: 1.1rem 0 0 !important; padding: 0 !important; display: flex; gap: 1.1rem; align-items: center; }
.eban-redes li { margin: 0; }
.eban-redes a { display: inline-flex; color: var(--wp--preset--color--on-dark-muted, #a8a6a1); transition: color .15s; }
.eban-redes a:hover, .eban-redes a:focus-visible { color: #fff; }
.eban-redes svg { width: 22px; height: 22px; display: block; }
.eban-pie .eban-redes { margin-top: 1rem !important; }
.eban-pie p:has(> .eban-redes) { margin: 0 !important; }
/* Redes en la cabecera: a la derecha de «Pedir presupuesto», con el color de cada marca */
.eban-redes--cabecera { margin: 0 !important; gap: .7rem; }
.eban-redes--cabecera svg { width: 21px; height: 21px; }
.eban-redes--cabecera .eban-redes__instagram { color: #E1306C; }
.eban-redes--cabecera .eban-redes__linkedin { color: #0A66C2; }
.eban-redes--cabecera .eban-redes__facebook { color: #1877F2; }
.eban-redes--cabecera a:hover, .eban-redes--cabecera a:focus-visible { opacity: .75; }
@media (max-width: 1180px) { .eban-redes--cabecera { display: none; } }
.eban-redes--cabecera { align-self: center; } .eban-redes--cabecera li, .eban-redes--cabecera a { line-height: 0; }
/* Títulos de «Trabajos recientes» con la misma letra que los párrafos */
.eban-trabajo__titulo { font-family: var(--wp--preset--font-family--body) !important; font-size: 17px !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.6 !important; color: var(--wp--preset--color--muted) !important; min-height: 0 !important; }
.eban-trabajo__titulo a, .eban-trabajo__titulo a:hover, .eban-trabajo__titulo a:focus { color: inherit !important; text-decoration: none !important; }
.eban-trabajos h3.eban-trabajo__titulo, .eban-trabajos h3.eban-trabajo__titulo a { font-size: 17px !important; line-height: 1.6 !important; font-weight: 400 !important; }
.eban-trabajos h3.eban-trabajo__titulo { max-width: none !important; padding-right: 0 !important; text-wrap: wrap !important; }
/* Logos de clientes: nunca más anchos que la pantalla */
.eban-clientes .eban-logo-cliente, .eban-clientes .eban-logo-cliente img { max-width: 100% !important; }
@media (max-width: 640px) { .eban-clientes .eban-logo-cliente img { height: auto !important; max-height: 72px; width: auto !important; } }
/* Menú móvil a pantalla completa (el desenfoque de la cabecera lo encerraba dentro de ella) */
.eban-cabecera-sitio:has(.is-menu-open), body:has(.wp-block-navigation__responsive-container.is-menu-open) .eban-cabecera-sitio { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: var(--wp--preset--color--base); }
.wp-block-navigation__responsive-container.is-menu-open { position: fixed !important; inset: 0 !important; width: 100vw !important; height: 100vh !important; height: 100dvh !important; overflow-y: auto !important; z-index: 1000 !important; padding: 1.25rem 1.5rem 2.5rem !important; }
.admin-bar .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 46px) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem !important; align-items: flex-start !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; gap: 0 !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: flex-start !important; border-bottom: 1px solid var(--wp--preset--color--line); padding: .8rem 0; font-size: 1.15rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding: .4rem 0 0 1rem !important; gap: .1rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; padding: .35rem 0; font-size: 1rem !important; color: var(--wp--preset--color--muted); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
.wp-block-navigation__responsive-container-close { top: 1.25rem !important; right: 1.25rem !important; }
.wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.wp-block-navigation__responsive-container.is-menu-open { width: auto !important; max-width: 100% !important; box-sizing: border-box !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { width: 100% !important; max-width: 100% !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { padding: .2rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .25rem 0 !important; }
body:has(.wp-block-navigation__responsive-container.is-menu-open) .eban-a11y { display: none; }
/* Enlaces del menú que solo se ven en el menú desplegable del móvil */
.eban-cabecera-sitio .wp-block-navigation__container > .eban-solo-movil { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .eban-solo-movil { display: flex !important; }
/* Títulos de desplegable sin página: cursor normal */
.eban-menu-sin-enlace > .wp-block-navigation-item__content { cursor: default; }
