/*
Theme Name: AFC Construcciones
Theme URI: https://close.marketing
Description: Tema de bloques para AFC Construcciones. Diseño moderno y profesional para empresa de construcción con sistema de diseño personalizado.
Author: closemarketing
Author URI: https://close.marketing
Version: 1.1.5
License: GPL-2.0+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: afc-construcciones
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4

Changelog:
= 1.0.7 - 2026-04-23 =
* Refactor: Patrón afc-footer con metadata patternName, corregido width:undefinedpx en icono ubicación
* Refactor: Patrón afc-servicios-soluciones con metadata patternName
* Refactor: Patrón afc-solvencia-presencia con metadata patternName
* Refactor: Patrón afc-ultimas-noticias con metadata patternName, eliminado datetime hardcodeado en post-date
* Icono ubicación del footer reemplazado por ubi.png

= 1.0.6 - 2026-04-23 =
* Actualizado: Colores de marca — Primario #012E50, Secundario #30A0B1
* Refactor: Todos los colores hardcodeados reemplazados por variables CSS (var(--wp--preset--color--primary/secondary))
* Refactor: Estilos inline eliminados de template-parts/blog-noticias.php — movidos a style.css con clases BEM
* Refactor: Estilos inline eliminados de template-parts/proyectos-dinamicos.php — movidos a style.css con clases BEM
* Refactor: parts/footer.html convertido a clases CSS (afc-footer__*), eliminados atributos style del block JSON
* Añadidas clases: noticias-section, noticia-item__*, proyectos-section, proyecto-item__*, afc-footer__list-item

= 1.0.5 - 2026-03-04 =
* Ajustes en patrones: Sobre AFC, línea temporal (título Nuestra historia), zona de influencia, portfolio

= 1.0.4 - 2026-02-11 =
* Mejorado: Layout responsive para proyectos destacados (3 PC, 2 tablet centrados, 1 móvil)
* Mejorado: Patrón de noticias convertido a Query Loop nativo sin shortcode
* Mejorado: Separados estilos CSS para shortcode y patrón de noticias
* Mejorado: Responsive design para carrusel de noticias (3 PC, 2 tablet, 1 móvil)

= 1.0.3 - 2026-02-09 =
* CRÍTICO: Corregido fatal error que impedía cargar el tema
* Movidas definiciones de constantes que llamaban funciones de WordPress antes de la inicialización
* Creadas funciones helper afc_construcciones_get_dir() y afc_construcciones_get_uri()

= 1.0.2 - 2026-02-09 =
* Eliminado código PHP dinámico del patrón Hero Landing (incompatible con block patterns)
* Actualizada documentación para configuración manual de imagen hero

= 1.0.1 - 2026-02-09 =
* Actualizado patron Hero Landing con imagen de fondo
* Actualizado patron Lineas de Actividad con nuevo diseno
* Mejoras en estilos de patrones AFC

= 1.0.0 - 2026-02-09 =
* Initial release
* Sistema de diseño personalizado
* Tema de bloques completo
* Templates y patterns personalizados
*/

/**
 * ## Full-width blocks (alignfull)
 * Hace que los bloques ancho completo lleguen hasta los bordes de la pantalla
 * aunque el contenido esté dentro de un contenedor con max-width.
 * --------------------------- */

.wp-block-cover.alignfull,
.wp-block-group.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Anula el padding por defecto de WordPress en grupos con fondo */
:where(.wp-block-group.has-background) {
	padding: 0;
}

/* Sin margen superior en el footer (anula :where(.wp-site-blocks) > *) */
:where(.wp-site-blocks) > footer {
	margin-block-start: 0;
}

/* Menú Compañía del footer (bloque navegación, ubicación menu-footer) */
.footer-menu-compania {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-left: 0;
	list-style: none;
}

.footer-menu-compania ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.footer-menu-compania li {
	margin-bottom: 8px;
}

.footer-menu-compania a {
	color: #fff;
	text-decoration: none;
	font-size: 0.875rem;
}

.footer-menu-compania a:hover {
	text-decoration: underline;
}

/* Enlaces Grupo inexo en footer: que no se corten, sin subrayado */
.footer-grupo-inexo-links a,
.footer-grupo-inexo-links p {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.footer-grupo-inexo-links a {
	text-decoration: none;
	font-size: 0.875rem;
}

.footer-grupo-inexo-links a:hover {
	text-decoration: underline;
}

.footer-grupo-inexo-links {
	min-width: 0;
}

/* Logo GRUPOINEXO en footer: sin float, tamaño un poco más grande */
.footer-grupoinexo-logo {
	float: none;
}

.footer-grupoinexo-logo img {
	width: 160px;
	height: auto;
}

/* Iconos de contacto del footer centrados verticalmente con el texto */
.footer-contact-item {
	align-items: center;
}

.footer-contact-item .wp-block-image,
.footer-contact-item .wp-block-image img {
	display: block;
}

/**
 * ## Menú off-canvas móvil
 * --------------------------- */

.afc-hamburger-btn {
	display: none;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 4px;
	color: var(--wp--preset--color--primary, #1a2e44);
	line-height: 0;
}

.afc-off-canvas-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: var(--wp--preset--color--primary, #1a2e44);
	z-index: 99999;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.afc-off-canvas-overlay.is-open {
	display: flex;
	opacity: 1;
	pointer-events: all;
}

.afc-off-canvas-close {
	position: absolute;
	top: 24px;
	right: 24px;
	background: transparent;
	border: none;
	cursor: pointer;
	color: #fff;
	padding: 4px;
	line-height: 0;
}

.afc-off-canvas-nav {
	margin: 0;
	padding: 0;
}

.afc-off-canvas-menu {
	list-style: none !important;
	margin: 0;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	text-align: center;
}

.afc-off-canvas-menu li,
.afc-off-canvas-menu li::before,
.afc-off-canvas-menu li::marker {
	list-style: none !important;
	display: block;
	margin: 0;
	padding: 0;
}

.afc-off-canvas-menu li a {
	color: #fff;
	text-decoration: none;
	font-size: 1.375rem;
	font-weight: 700;
	font-family: Epilogue, system-ui, sans-serif;
	display: block;
	text-align: center;
	transition: color 0.2s;
}

.afc-off-canvas-menu li a:hover {
	color: var(--wp--preset--color--secondary, #30A0B1);
}

.afc-off-canvas-menu .sub-menu {
	display: none;
}

body.afc-menu-open {
	overflow: hidden;
}

@media (max-width: 768px) {
	.afc-hamburger-btn {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.site-header .wp-block-navigation,
	.site-header .afc-nav-principal {
		display: none !important;
	}
}

/* Menú Principal clásico — mismo estilo que wp:navigation del header */
.afc-nav-principal {
	display: flex;
	align-items: center;
}

.afc-nav-principal__list {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 24px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.afc-nav-principal__list li {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	display: flex;
	align-items: center;
}

.afc-nav-principal__list a {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--charcoal);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s;
	line-height: 1;
}

.afc-nav-principal__list a:hover {
	color: var(--wp--preset--color--primary);
}

/* Submenús */
.afc-nav-principal__list .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	background: #fff;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 4px;
	padding: 8px 0;
	min-width: 180px;
	list-style: none;
	margin: 0;
	z-index: 1000;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.afc-nav-principal__list .sub-menu.is-open {
	display: block;
}

.afc-nav-principal__list .sub-menu a {
	display: block;
	padding: 8px 16px;
	font-weight: 500;
}

.afc-nav-principal__list li.menu-item-has-children > a {
	display: flex;
	align-items: center;
	gap: 4px;
}

.afc-nav-principal__list li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.2s;
}

.afc-nav-principal__list li.menu-item-has-children.is-open > a::after {
	transform: rotate(-135deg) translateY(-2px);
}

/**
 * ## Footer AFC (patrón afc-footer)
 * --------------------------- */

.afc-footer {
	background-color: var(--wp--preset--color--primary);
	color: #fff;
	padding-top: 80px;
	padding-bottom: 40px;
	padding-left: 40px;
	padding-right: 40px;
}

.afc-footer__columns {
	gap: 0 80px;
	margin-bottom: 60px;
}

.afc-footer__col--brand {
	flex-basis: 35%;
}

.afc-footer__col--menu {
	flex-basis: 20%;
}

.afc-footer__col--links {
	flex-basis: 20%;
}

.afc-footer__col--contact {
	flex-basis: 25%;
}

.afc-footer__tagline {
	font-size: 0.875rem;
	line-height: 1.625;
	margin-bottom: 0;
	margin-top: 0;
	color: #fff;
}

.afc-footer__title {
	font-size: 1.125rem;
	font-weight: 700;
	margin-bottom: 20px;
	margin-top: 0;
	color: #fff;
}

.afc-footer__nav {
	font-size: 0.875rem;
	gap: 8px;
}

.afc-footer__list {
	padding-left: 0;
	margin: 0;
	list-style: none;
}

.afc-footer__list li {
	margin-bottom: 8px;
}

.afc-footer__list a {
	color: #fff;
	text-decoration: none;
	font-size: 0.875rem;
}

.afc-footer__list a:hover {
	text-decoration: underline;
}

.afc-footer__contact-item {
	gap: 10px;
	margin-bottom: 15px;
	align-items: center;
}

.afc-footer__contact-item:last-of-type {
	margin-bottom: 0;
}

.afc-footer__contact-icon {
	width: 20px;
	height: 20px;
	min-width: 20px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.afc-footer__contact-icon img {
	display: block;
	width: 20px;
	height: auto;
}

.afc-footer__contact-icon--email svg,
.afc-footer__contact-icon--phone svg {
	display: block;
	width: 20px;
	height: 20px;
}

.afc-footer__contact-text {
	font-size: 0.875rem;
	line-height: 1.4;
	margin: 0;
	color: #fff;
}

.afc-footer__separator {
	background-color: #fff;
	margin-top: 40px;
	margin-bottom: 30px;
	border: none;
	height: 1px;
	opacity: 0.3;
}

.afc-footer__bottom {
	gap: 0;
}

.afc-footer__copyright {
	gap: 5px;
}

.afc-footer__copyright-text {
	font-size: 0.875rem;
	margin: 0;
	color: #fff;
}

.afc-footer__legal {
	gap: 15px;
	justify-content: flex-end;
}

.afc-footer__legal-link {
	font-size: 0.875rem;
	margin: 0;
}

.afc-footer__legal-link a {
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
}

.afc-footer__legal-link a:hover {
	text-decoration: underline;
}

/**
 * ## Custom Styles
 * --------------------------- */

:root {
	--wp--preset--color--primary: #012E50;
	--wp--preset--color--secondary: #30A0B1;
	--wp--preset--color--charcoal: #6F6F6E;
	--wp--preset--color--background-light: #f8f9fa;
	--wp--preset--color--background-dark: #1A1A1A;
	--wp--preset--color--secondary-dark: #151515;
}

body {
	font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}

h1, .wp-block-heading[class*="wp-block-heading"]:is(h1) {
	font-size: 3.5rem;
	font-weight: 800;
	line-height: 1.2;
	margin-top: 0;
}

h2 {
	font-size: clamp(1.624rem, 1.624rem + ((1vw - 0.2rem) * 1.126), 36px);
}

/* Párrafos: color gris, Epilogue 18px (el hero y bloques concretos mantienen su propio color/tamaño). */
p {
	color: #64748B;
	font-size: 18px;
	font-family: 'Epilogue';
	font-weight: 400;
	line-height: 29.25px;
	word-wrap: break-word;
}

/**
 * ## Hero Section (afc-hero-landing)
 * --------------------------- */

.afc-hero-landing.wp-block-cover,
.afc-hero-landing.is-position-center-left,
.hero-landing.wp-block-cover,
.hero-landing.is-position-center-left {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.afc-hero-landing,
.hero-landing {
	position: relative;
	min-height: min(940px, 90vh);
	padding-top: 120px;
	padding-bottom: 120px;
	padding-left: 0;
	padding-right: 0;
}

.afc-hero-landing::before,
.hero-landing::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
}

.afc-hero-landing .wp-block-cover__background.has-background-dim,
.afc-hero-landing .wp-block-cover__gradient-background.has-background-dim,
.hero-landing .wp-block-cover__background.has-background-dim,
.hero-landing .wp-block-cover__gradient-background.has-background-dim {
	opacity: 1;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60,
.wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60,
.wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60,
.wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 {
	opacity: 0;
}

.afc-hero-landing .wp-block-cover__background,
.hero-landing .wp-block-cover__background {
	z-index: 1;
}

.afc-hero-landing .wp-block-cover__inner-container,
.afc-hero-landing.is-position-center-left .wp-block-cover__inner-container,
.hero-landing .wp-block-cover__inner-container,
.hero-landing.is-position-center-left .wp-block-cover__inner-container {
	z-index: 2;
	position: relative;
	width: var(--afc-content-width, 1200px);
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* Anula el width:auto que WP core inyecta en covers con posición personalizada */
.wp-block-cover.has-custom-content-position.is-position-center-left.afc-hero-landing .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.is-position-center-left.hero-landing .wp-block-cover__inner-container {
	width: var(--afc-content-width, 1200px);
	margin-left: auto;
	margin-right: auto;
}

.afc-hero-landing .wp-block-cover__inner-container > .wp-block-group,
.hero-landing .wp-block-cover__inner-container > .wp-block-group {
	max-width: 100%;
}

.afc-hero-landing__title {
	color: #fff;
	margin-bottom: 20px;
}

.afc-hero-landing__highlight {
	background-color: var(--wp--preset--color--secondary);
	padding: 5px;
	border-radius: 10px;
	color: inherit;
}

.afc-hero-landing__text {
	color: rgba(255, 255, 255, 0.9);
	font-size: 1.125rem;
	line-height: 1.6;
	margin-bottom: 40px;
	margin-top: 0;
}

.afc-hero-landing__buttons {
	margin-top: 40px;
	gap: 20px;
}

.afc-hero-landing__btn--primary .wp-block-button__link {
	background-color: var(--wp--preset--color--primary, #012E50);
	color: #fff;
	border-radius: 6px;
	padding: 14px 32px;
	font-size: 1rem;
	font-weight: 600;
	border: none;
}

.afc-hero-landing__btn--primary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #fff;
}

.afc-hero-landing__btn--secondary .wp-block-button__link {
	background-color: #fff;
	color: var(--wp--preset--color--primary, #012E50);
	border-radius: 6px;
	padding: 14px 32px;
	font-size: 1rem;
	font-weight: 600;
	border: none;
}

.afc-hero-landing__btn--secondary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #fff;
}

/* Compat: párrafo del hero sin clase específica */
.hero-landing .wp-block-cover__inner-container p {
	color: rgba(255, 255, 255, 0.8);
	font-size: 20px;
	font-family: Epilogue, system-ui, sans-serif;
	font-weight: 400;
	line-height: 28px;
	word-wrap: break-word;
}

/**
 * ## Hero Sobre mí (afc-hero-sobre-mi)
 * --------------------------- */

.afc-hero-sobre-mi.wp-block-cover,
.afc-hero-sobre-mi.is-position-center-left {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.afc-hero-sobre-mi {
	position: relative;
	min-height: min(940px, 90vh);
	padding-top: 120px;
	padding-bottom: 120px;
	padding-left: 40px;
	padding-right: 40px;
}

.afc-hero-sobre-mi .wp-block-cover__background.has-background-dim,
.afc-hero-sobre-mi .wp-block-cover__gradient-background.has-background-dim {
	opacity: 1;
}

.afc-hero-sobre-mi .wp-block-cover__background {
	z-index: 1;
}

.afc-hero-sobre-mi .wp-block-cover__inner-container,
.afc-hero-sobre-mi.is-position-center-left .wp-block-cover__inner-container {
	z-index: 2;
	position: relative;
	width: var(--afc-content-width, 1200px);
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.wp-block-cover.has-custom-content-position.is-position-center-left.afc-hero-sobre-mi .wp-block-cover__inner-container {
	width: var(--afc-content-width, 1200px);
	margin-left: auto;
	margin-right: auto;
}

.afc-hero-sobre-mi .wp-block-cover__inner-container > .wp-block-group {
	max-width: 100%;
}

.afc-hero-sobre-mi__title {
	color: #fff;
	margin-bottom: 40px;
}

.afc-hero-sobre-mi__highlight {
	background-color: var(--wp--preset--color--secondary);
	padding: 5px;
	border-radius: 10px;
	color: inherit;
}

.afc-hero-sobre-mi__buttons {
	gap: 20px;
	margin-top: 0;
	margin-bottom: 0;
}

.afc-hero-sobre-mi__btn .wp-block-button__link {
	background-color: var(--wp--preset--color--primary, #012E50);
	color: #fff;
	border-radius: 6px;
	padding: 14px 32px;
	font-size: 1rem;
	font-weight: 600;
	border: none;
}

.afc-hero-sobre-mi__btn .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #fff;
}

/* Solvencia técnica: fondo primario al 5% de opacidad */
.solvencia-presencia-section {
	background-color: rgba(11, 87, 168, 0.05);
	padding-top: 100px;
	padding-right: 40px;
	padding-bottom: 100px;
	padding-left: 40px;
}

/* Columnas Solvencia: gap, anchos y misma altura */
.solvencia-presencia-columns.wp-block-columns {
	display: flex !important;
	align-items: stretch !important;
	gap: 60px;
}

.solvencia-presencia-columns .wp-block-column {
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0;
}

.solvencia-presencia-columns .wp-block-column:first-child {
	flex-basis: 55%;
}

.solvencia-presencia-columns .wp-block-column:last-child {
	flex-basis: 45%;
}

.solvencia-presencia-columns .wp-block-column:first-child .estadisticas-box {
	margin-top: auto;
}

.solvencia-presencia-columns .wp-block-column:last-child .solvencia-mapa-wrap {
	margin-top: auto;
}

/* Texto izquierda: eyebrow, título, intro */
.afc-solvencia-presencia__eyebrow {
	margin-bottom: 20px;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #012E50);
}

.solvencia-presencia-section .afc-solvencia-presencia__title {
	margin-bottom: 25px;
	font-size: 2.25rem !important;
	font-weight: 900;
	line-height: 1.25;
	color: var(--wp--preset--color--background-dark, #1a1a1a) !important;
}

.afc-solvencia-presencia__intro {
	margin-bottom: 35px;
	font-size: 1.125rem;
	line-height: 1.625;
	color: var(--wp--preset--color--charcoal, #6f6f6e);
}

/* Features (Excelencia Operativa / Sede y delegaciones) */
.afc-solvencia-presencia__features {
	margin-bottom: 40px;
	gap: 20px;
}

.afc-solvencia-presencia__feature {
	gap: 15px;
}

.afc-solvencia-presencia__feature-icon {
	width: 25px;
	height: 25px;
	min-width: 25px;
	min-height: 25px;
	flex-shrink: 0;
}

.afc-solvencia-presencia__feature-icon img {
	width: 100%;
	height: 100%;
	display: block;
}

.afc-solvencia-presencia__feature-text {
	gap: 5px;
}

.afc-solvencia-presencia__feature-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--wp--preset--color--background-dark, #1a1a1a);
}

.afc-solvencia-presencia__feature-desc {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--wp--preset--color--charcoal, #6f6f6e);
}

/* Contenedor del mapa: misma sombra que el de números y alineado con él */
.solvencia-mapa-wrap {
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	padding: 40px 35px;
	border-radius: 15px;
}

.solvencia-mapa-wrap .afc-solvencia-presencia__map-img img,
.solvencia-mapa-wrap .wp-block-image img {
	border-radius: 8px;
}

/* Mapa centrado en su contenedor */
.solvencia-mapa-wrap .wp-block-image {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.solvencia-mapa-wrap .wp-block-image img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* Columnas de direcciones debajo del mapa */
.solvencia-direcciones-columns {
	gap: 20px;
	margin-top: 25px;
}

/* Cada bloque de dirección (icono + texto) */
.afc-solvencia-presencia__address {
	gap: 10px;
	margin-bottom: 20px;
}

.wp-block-column .afc-solvencia-presencia__address:last-child,
.solvencia-direccion-full-width.afc-solvencia-presencia__address {
	margin-bottom: 0;
}

.afc-solvencia-presencia__address-icon {
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
	flex-shrink: 0;
}

.afc-solvencia-presencia__address-icon img {
	width: 100%;
	height: 100%;
	display: block;
}

.afc-solvencia-presencia__address-text {
	margin-top: 0;
	font-size: 0.875rem;
	line-height: 1.4;
}

/* Última sede a ancho completo (fuera del 50%) */
.solvencia-direccion-full-width {
	width: 100%;
	margin-top: 20px;
}

/* Bloque estadísticas Solvencia: centrado perfecto, líneas verticales, sombra */
.estadisticas-box {
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	display: flex !important;
	align-items: center;
	justify-content: space-evenly;
	padding: 24px;
	border-radius: 15px;
}

.estadisticas-box .estadistica-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding-right: 24px;
}

.estadisticas-box .estadistica-item:first-child {
	padding-left: 0;
}

.estadisticas-box .estadistica-item:last-child {
	padding-right: 0;
}

/* Líneas verticales entre las tres columnas (no horizontales) */
.estadisticas-box .estadistica-item:not(:last-child) {
	border-right: 1px solid rgba(11, 87, 168, 0.5);
	border-bottom: none;
}

.estadisticas-box .estadistica-numero {
	margin-top: 0;
	margin-bottom: 0;
	color: var(--wp--preset--color--primary);
	font-size: clamp(18.959px, 1.185rem + ((1vw - 3.2px) * 0.69), 30px);
	font-family: 'Epilogue', sans-serif;
	font-weight: 900;
	line-height: 36px;
}

.estadisticas-box .estadistica-label {
	margin-top: 0;
	color: #94A3B8;
	font-size: 12px;
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 14px;
	letter-spacing: 0.6px;
}

/* Títulos principales de sección: Nuestras Líneas, Solvencia, Proyectos Destacados, Últimas Noticias */
.sala-prensa-section .sala-prensa-header h2,
.wp-block-group:has(.solvencia-presencia-columns) h2,
.wp-block-group:has(.lineas-actividad-grid) .wp-block-columns:not(.lineas-actividad-grid) h2,
.wp-block-group:has(.proyecto-item-card) > .wp-block-group:first-of-type h2 {
	color: #423E39 !important;
	font-size: clamp(1.624rem, 1.624rem + ((1vw - 0.2rem) * 1.126), 36px) !important;
	font-family: 'Epilogue' !important;
	font-weight: 900 !important;
	line-height: 40px !important;
	word-wrap: break-word;
}

/**
 * ## Zona de influencia geográfica
 * --------------------------- */

/* Contenedor: fondo blanco, contenido alineado a la izquierda */
.afc-zona-influencia {
	background-color: #fff;
	text-align: left;
	margin-top: 150px;
}

.afc-zona-influencia .afc-zona-influencia-header,
.afc-zona-influencia .afc-zona-influencia-desc {
	margin-left: 0 !important;
	padding-left: 0;
}

.afc-zona-influencia-header {
	font-family: 'Epilogue', sans-serif;
	font-size: 36px;
	font-weight: 900;
	line-height: 40px;
	color: #423E39;
	word-wrap: break-word;
	margin-top: 0;
	margin-bottom: 24px;
}

.afc-zona-titulo-parte1 {
	color: #423E39;
}

.afc-zona-titulo-parte2 {
	color: var(--wp--preset--color--primary);
}

.afc-zona-influencia-desc {
	font-family: 'Epilogue', sans-serif !important;
	font-size: 18px;
	font-weight: 400;
	line-height: 29.25px;
	color: #000000;
	width: 60%;
	margin-top: 0;
	margin-bottom: 48px;
	margin-left: 0;
	margin-right: auto;
	text-align: left;
}

.afc-zona-influencia-map-wrap {
	position: relative;
	margin-top: 150px;
	margin-left: 43px;
	margin-right: 0;
	padding-bottom: 150px;
	max-width: 901px;
}

.afc-zona-influencia-img {
	transform: rotate(3deg);
	transform-origin: top left;
	width: 100%;
	max-width: 901px;
}

.afc-zona-influencia-img img {
	display: block;
	width: 100%;
	height: auto;
}

/**
 * ## Sobre AFC
 * --------------------------- */

.afc-sobre-afc {
	margin-top: 150px;
	width: 100%;
	margin-bottom: 150px;
}

.afc-sobre-afc__card {
	position: relative;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
	padding: 66px 67px 66px 67px;
	background: var(--wp--preset--color--primary);
	border-radius: 15px;
	min-height: 443px;
	box-sizing: border-box;
}

.afc-sobre-afc__title {
	color: #fff;
	font-family: Epilogue, system-ui, sans-serif;
	font-size: 36px;
	font-weight: 900;
	line-height: 45px;
	margin-top: 0;
	margin-bottom: 24px;
}

.afc-sobre-afc__text {
	color: #fff;
	font-family: Epilogue, system-ui, sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 29.25px;
	max-width: 1148px;
	margin-top: 0;
	margin-bottom: 1em;
}

.afc-sobre-afc__text:last-of-type {
	margin-bottom: 0;
}

.afc-sobre-afc__deco {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	overflow: hidden;
	border-radius: 15px;
}

.afc-sobre-afc__deco-img {
	position: absolute;
	right: 0px;
	bottom: -5px;
	margin: 0;
	max-height: 236px;
	width: auto;
}

.afc-sobre-afc__deco-img img {
	display: block;
	height: auto;
	max-height: 236px;
	width: auto;
}

@media (max-width: 1024px) {
	.afc-sobre-afc__deco {
		display: none;
	}
}

/**
 * ## CTA Presupuesto
 * --------------------------- */

.afc-cta-presupuesto {
	background-color: var(--wp--preset--color--secondary, #30A0B1);
	padding-top: 100px;
	padding-bottom: 100px;
	padding-left: 20px;
	padding-right: 20px;
}

.afc-cta-presupuesto__title {
	text-align: center;
	color: var(--wp--preset--color--background-dark, #1a1a1a);
	font-size: 3rem;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 30px;
	margin-top: 0;
}

.afc-cta-presupuesto__text {
	text-align: center;
	color: var(--wp--preset--color--background-dark, #1a1a1a);
	font-size: 1.25rem;
	line-height: 1.6;
	margin-bottom: 50px;
	margin-top: 0;
}

.afc-cta-presupuesto__buttons {
	margin-top: 50px;
	justify-content: center;
}

.afc-cta-presupuesto__buttons .wp-block-button {
	margin: 0;
}

.afc-cta-presupuesto__btn--primary .wp-block-button__link {
	background-color: var(--wp--preset--color--background-dark, #1a1a1a);
	color: #fff;
	border-radius: 8px;
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 50px;
	padding-right: 50px;
	font-size: 1.25rem;
	border: 2px solid var(--wp--preset--color--background-dark, #1a1a1a);
}

.afc-cta-presupuesto__btn--primary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	border: 2px solid var(--wp--preset--color--background-dark, #1a1a1a);
	color: #fff;
}

.afc-cta-presupuesto__btn--outline .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--preset--color--background-dark, #1a1a1a);
	border: 2px solid var(--wp--preset--color--background-dark, #1a1a1a);
	border-radius: 8px;
	padding-top: 18px;
	padding-bottom: 18px;
	padding-left: 50px;
	padding-right: 50px;
	font-size: 1.25rem;
}


/**
 * ## Expansión nacional
 * --------------------------- */

.afc-expansion-nacional {
	background-color: var(--wp--preset--color--base, #fff);
	padding-top: 80px;
	padding-bottom: 80px;
	padding-left: 20px;
	padding-right: 20px;
}

.afc-expansion-nacional__columns {
	gap: 60px 60px;
}

.afc-expansion-nacional__divider {
	background-color: var(--wp--preset--color--secondary, #30A0B1);
	margin-bottom: 20px;
	border: none;
	height: 4px;
}

.afc-expansion-nacional__title {
	color: var(--wp--preset--color--background-dark, #1a1a1a);
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 20px;
	margin-top: 0;
}

.afc-expansion-nacional__intro {
	color: var(--wp--preset--color--charcoal, #6f6f6e);
	margin-bottom: 30px;
	margin-top: 0;
}

.afc-expansion-nacional__stats {
	gap: 20px;
}

.afc-expansion-nacional__stat {
	background-color: var(--wp--preset--color--background-light, #f8f9fa);
	padding: 20px;
	flex-wrap: nowrap;
	gap: 0.5em;
}

.afc-expansion-nacional__stat-number {
	color: var(--wp--preset--color--primary, #012E50);
	font-size: 2rem;
	font-weight: 700;
	margin: 0;
}

.afc-expansion-nacional__stat-label {
	color: var(--wp--preset--color--charcoal, #6f6f6e);
	margin: 0;
}

.afc-expansion-nacional__image {
	margin: 0;
}

.afc-expansion-nacional__image img {
	display: block;
	width: 100%;
	height: auto;
}

/**
 * ## Header Styles
 * --------------------------- */

.site-header {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 999;
	backdrop-filter: blur(12px);
	background-color: rgba(255, 255, 255, 0.95);
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.site-header.is-layout-constrained > .alignwide,
.site-header > .alignwide {
	max-width: none;
	width: 100%;
}

/**
 * ## Button Styles
 * --------------------------- */

.wp-block-button__link {
	font-weight: 700 !important;
	transition: all 0.3s ease;
}

.wp-block-button.is-style-primary .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-primary .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #fff;
	opacity: 1;
	transform: translateY(-2px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--primary);
	background-color: transparent;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary);
	color: white;
}

/**
 * ## Proyecto Cards
 * --------------------------- */

.proyecto-card {
	position: relative;
	overflow: hidden;
	border-radius: 0.75rem;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.proyecto-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.proyecto-card img {
	transition: transform 0.7s ease;
}

.proyecto-card:hover img {
	transform: scale(1.1);
}

/**
 * ## Section Divider
 * --------------------------- */

.section-divider {
	height: 4px;
	width: 3rem;
	background-color: var(--wp--preset--color--secondary);
	margin-bottom: 1rem;
}

/**
 * ## Proyectos Dinámicos
 * --------------------------- */

.proyectos-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.explorar-catalogo-link {
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	border-bottom: 2px solid rgba(11, 87, 168, 0.20);
	padding-bottom: 4px;
}

.proyecto-item {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	height: 400px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.proyecto-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.proyecto-item img {
	transition: transform 0.5s ease;
	transform: scale(1.1);
}

.proyecto-item:hover img {
	transform: scale(1.1);
}

/* Estilos para patrón de bloques de proyectos – siempre con aspecto hover */
.proyecto-item-card {
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
	position: relative;
	border-radius: 20px;
	transform: translateY(-5px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.proyecto-item-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

.proyecto-item-card .wp-block-cover {
	position: relative;
	border-radius: 20px;
}

.proyecto-item-card .wp-block-cover img {
	transition: transform 0.5s ease;
	transform: scale(1.05);
}

.proyecto-item-card:hover .wp-block-cover img {
	transform: scale(1.05);
}

/* Badge de categoría */
.proyecto-item-card .wp-block-post-terms {
	display: inline-block;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.proyecto-item-card .wp-block-post-terms a {
	text-decoration: none;
}

/* Título del proyecto (ej. Sede Administrativa Cyl) – !important para ganar a estilos inline del bloque */
.proyecto-item-card .wp-block-post-title {
	display: block !important;
	color: white !important;
	font-size: 24px !important;
	font-family: 'Epilogue', sans-serif !important;
	font-weight: 900 !important;
	line-height: 30px !important;
	word-wrap: break-word;
}

/* Asegurar que el enlace del título no tenga decoración y herede el estilo */
.proyecto-item-card .wp-block-post-title a {
	color: white !important;
	text-decoration: none;
}

/* Hacer que toda la tarjeta sea clickeable */
.proyecto-item-card .wp-block-post-title a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

/* Post template para proyectos - 3 columnas por defecto en desktop */
.wp-block-post-template:has(.proyecto-item-card) {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

/**
 * ## Últimas Noticias (Blog) - Carrusel
 * --------------------------- */

.noticias-carousel-wrapper {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.noticias-carousel {
	display: flex;
	gap: 32px;
	transition: transform 0.5s ease;
	align-items: stretch;
}

.noticia-item {
	background: white;
	box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.05);
	border-radius: 16px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	width: calc((100% - 64px) / 3);
	min-width: calc((100% - 64px) / 3);
	max-width: calc((100% - 64px) / 3);
}

.noticias-carousel {
	align-items: stretch;
}

.noticia-item a {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
}

.noticia-item:hover {
	transform: translateY(-5px);
	box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.15);
}

.noticia-item img {
	transition: transform 0.3s ease;
}

.noticia-item:hover img {
	transform: scale(1.05);
}

#noticias-prev,
#noticias-next {
	transition: all 0.3s ease;
}

#noticias-prev:not(:disabled):hover,
#noticias-next:not(:disabled):hover {
	background: var(--wp--preset--color--primary) !important;
	border-color: var(--wp--preset--color--primary) !important;
}

#noticias-prev:not(:disabled):hover path,
#noticias-next:not(:disabled):hover path {
	stroke: white !important;
}

#noticias-prev:disabled,
#noticias-next:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/**
 * ## Sala de prensa / Últimas Noticias (patrón afc-recursos-noticias)
 * --------------------------- */

.afc-recursos-noticias.sala-prensa-section,
.sala-prensa-section {
	background: rgba(11, 87, 168, 0.05);
	padding-top: 96px;
	padding-bottom: 96px;
	padding-left: 40px;
	padding-right: 40px;
}

.afc-recursos-noticias__titles {
	gap: 16px;
}

.afc-recursos-noticias__label {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	line-height: 1.25;
	color: var(--wp--preset--color--primary, #012E50);
}

.afc-recursos-noticias__title {
	margin: 0;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.1;
	color: var(--wp--preset--color--background-dark, #1a1a1a);
}

.afc-recursos-noticias__nav {
	gap: 8px;
}

.afc-recursos-noticias__nav-btn .wp-block-button__link {
	min-width: 48px;
	min-height: 48px;
	padding: 12px;
	border-radius: 9999px;
	border-width: 1px;
}

.afc-recursos-noticias__card-body {
	padding-top: 32px;
	padding-right: 32px;
	padding-bottom: 34px;
	padding-left: 32px;
	gap: 16px;
}

.afc-recursos-noticias__card-meta {
	gap: 16px;
}

.afc-recursos-noticias__card .wp-block-post-terms.afc-recursos-noticias__card-terms,
.afc-recursos-noticias__card .wp-block-post-terms {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	line-height: 1.25;
	margin: 0;
}

/* Contenedor al ancho de contenido (desde theme.json: Apariencia → Editor → Estilos → Diseño) */
.sala-prensa-section > .wp-block-group,
.sala-prensa-section .sala-prensa-inner {
	max-width: var(--afc-content-width, 1200px);
	margin-left: auto;
	margin-right: auto;
}

.sala-prensa-inner {
	padding-left: 24px;
	padding-right: 24px;
	gap: 64px;
}

/* Cabecera Últimas Noticias: label y título */
.afc-ultimas-noticias__titles {
	gap: 16px;
}

.afc-ultimas-noticias__label {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	line-height: 1.25;
	color: var(--wp--preset--color--primary, #012E50);
}

.sala-prensa-section .afc-ultimas-noticias__title {
	margin: 0;
	font-size: 36px !important;
	font-weight: 900;
	line-height: 1.1;
	color: var(--wp--preset--color--background-dark, #1a1a1a) !important;
}

.sala-prensa-nav {
	display: flex;
	gap: 8px;
}

.sala-prensa-header {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 5;
}

.sala-prensa-nav .wp-block-button__link {
	cursor: pointer;
	pointer-events: auto;
	position: relative;
	z-index: 2;
}

.sala-prensa-header .wp-block-heading {
	color: #423E39;
}

.sala-prensa-nav .sala-prensa-nav-btn .wp-block-button__link {
	min-width: 48px;
	min-height: 48px;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 9999px;
	border: 1px solid #CBD5E1;
	background: transparent;
	color: #423E39;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
}

.sala-prensa-nav .sala-prensa-nav-btn .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}

/* Botones nativos del carrusel (wp:html) */
.sala-prensa-nav .sala-prensa-arrow {
	cursor: pointer;
	pointer-events: auto;
	position: relative;
	z-index: 2;
	min-width: 48px;
	min-height: 48px;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 9999px;
	border: 1px solid #CBD5E1;
	background: transparent;
	color: #423E39;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
}

.sala-prensa-nav .sala-prensa-arrow:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}

/* Grid de tarjetas sala de prensa */
/* Wrapper del carrusel (creado por JS) */
.sala-prensa-carousel-wrapper {
	overflow: hidden;
	width: 100%;
}

.sala-prensa-section .wp-block-query .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

/* Cuando el carrusel está activo, el JS cambia a flex; mantener gap y no colapsar items */
.sala-prensa-carousel-wrapper .wp-block-post-template .noticia-card-v2 {
	min-width: 0;
}

.sala-prensa-section .noticia-card-v2 {
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.sala-prensa-section .noticia-card-v2 > .wp-block-group,
.sala-prensa-section .noticia-card-v2 > .afc-ultimas-noticias__card-body {
	padding: 0 32px 34px 32px;
	padding-top: 0 !important;
	gap: 16px;
}

/* Tarjetas sin imagen destacada: padding superior en el contenido */
.sala-prensa-section .noticia-card-v2:not(:has(.wp-block-post-featured-image img)) > .wp-block-group,
.sala-prensa-section .noticia-card-v2:not(:has(.wp-block-post-featured-image img)) > .afc-ultimas-noticias__card-body {
	padding-top: 32px !important;
}

.sala-prensa-section .noticia-card-v2 .wp-block-post-featured-image {
	margin: 0;
	line-height: 0;
	overflow: hidden;
}

.sala-prensa-section .noticia-card-v2 .wp-block-post-featured-image img {
	width: 100%;
	height: 224px;
	object-fit: cover;
	display: block;
}

.sala-prensa-section .noticia-card-meta {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.sala-prensa-section .noticia-card-meta .wp-block-post-date,
.sala-prensa-section .afc-ultimas-noticias__card-date {
	margin: 0;
	color: #94A3B8;
	font-size: 12px;
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.25;
	letter-spacing: 1.2px;
	word-wrap: break-word;
}

.sala-prensa-section .noticia-card-meta .wp-block-post-terms,
.sala-prensa-section .afc-ultimas-noticias__card-terms {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: 12px;
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.25;
	letter-spacing: 1.2px;
	word-wrap: break-word;
}

.sala-prensa-section .noticia-card-meta .wp-block-post-terms a {
	color: inherit;
	text-decoration: none;
}

.noticia-card-dot {
	width: 4px;
	height: 4px;
	background: #CBD5E1;
	border-radius: 9999px;
	flex-shrink: 0;
	display: inline-block;
}

.sala-prensa-section .noticia-card-v2 .wp-block-post-title {
	margin: 0;
	color: #423E39;
	font-size: 20px;
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	line-height: 28px;
	word-wrap: break-word;
}

.sala-prensa-section .noticia-card-v2 .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.sala-prensa-section .noticia-card-v2 .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}

.sala-prensa-section .noticia-card-v2 .wp-block-read-more.noticia-card-link,
.sala-prensa-section .noticia-card-v2 .wp-block-read-more {
	color: var(--wp--preset--color--primary);
	font-size: 14px;
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none;
	margin-top: 2px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	word-wrap: break-word;
}

.sala-prensa-section .noticia-card-v2 .wp-block-read-more:hover {
	color: var(--wp--preset--color--primary);
}

@media (min-width: 769px) and (max-width: 1024px) {
	.sala-prensa-section .wp-block-query .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.afc-hero-landing,
	.hero-landing {
		padding-left: 20px;
		padding-right: 20px;
	}

	.afc-servicios-soluciones {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.solvencia-presencia-section {
		padding-left: 0;
		padding-right: 0;
	}

	.afc-solvencia-presencia__intro {
		font-size: 0.875rem;
	}

	.afc-proyectos-destacados {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.afc-proyectos-destacados__header {
		flex-direction: column;
	}

	.sala-prensa-section {
		padding-left: 0;
		padding-right: 0;
	}

	.afc-footer {
		padding-left: 0;
		padding-right: 0;
	}

	.afc-footer__columns {
		gap: 20px 80px;
	}

	.afc-footer__bottom {
		gap: 20px;
	}

	.afc-footer__legal {
		justify-content: center;
	}

	.afc-hero-sobre-mi {
		padding-left: 20px;
		padding-right: 20px;
	}

	.afc-sobre-afc {
		margin-top: 50px;
		margin-bottom: 50px;
		padding: 0px;
	}

	.afc-sobre-afc__card {
		padding: 20px;
	}

	.afc-sobre-afc__text {
		font-size: 0.875rem;
	}

	.afc-zona-influencia {
		margin-top: 50px;
	}

	.afc-zona-influencia-desc {
		width: 100%;
	}

	.afc-zona-influencia-map-wrap {
		margin-top: 50px;
		padding-bottom: 50px;
	}

	.sala-prensa-section .wp-block-query .wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.sala-prensa-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.sala-prensa-section .wp-block-heading {
		font-size: 28px !important;
	}
}

/**
 * ## Servicios y Soluciones / Líneas de Actividad (patrón afc-servicios-soluciones)
 * --------------------------- */

.afc-servicios-soluciones {
	background-color: #fff;
	padding-top: 100px;
	padding-bottom: 100px;
	padding-left: 40px;
	padding-right: 40px;
}

.afc-servicios-soluciones__header {
	margin-bottom: 60px;
	gap: 0 80px;
}

.afc-servicios-soluciones__label {
	margin: 0 0 15px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #012E50);
}

.afc-servicios-soluciones__title {
	margin: 0;
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--background-dark, #1a1a1a);
}

.afc-servicios-soluciones__intro {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--charcoal, #6f6f6e);
}

.afc-servicios-soluciones__grid {
	gap: 25px 25px;
}

.afc-servicios-soluciones__card {
	background-color: var(--wp--preset--color--background-light, #f8f9fa);
	border-radius: 12px;
	padding: 35px 30px;
	gap: 12px;
}

.afc-servicios-soluciones__card-icon {
	width: 48px;
	height: 48px;
	border-radius: 8px;
	margin-bottom: 10px;
	flex-shrink: 0;
	overflow: hidden;
}

.afc-servicios-soluciones__card-icon img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.afc-servicios-soluciones__card-desc {
	margin: 0 0 15px;
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--wp--preset--color--charcoal, #6f6f6e);
}

.afc-servicios-soluciones__card-link {
	margin: 5px 0 0;
	font-size: 0.875rem;
	font-weight: 600;
}

.afc-servicios-soluciones__card-link a {
	color: var(--wp--preset--color--primary, #012E50);
	text-decoration: none;
}

/* Líneas de Actividad: sin subrayado en "Saber más" */
.lineas-actividad-grid a {
	text-decoration: none;
}

/* Tarjetas misma altura: columnas estiradas y grupo interno flex para empujar "Saber más" abajo */
.lineas-actividad-grid.wp-block-columns {
	align-items: stretch;
}

.lineas-actividad-grid .wp-block-column {
	display: flex;
}

.lineas-actividad-grid .wp-block-column > .wp-block-group {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.lineas-actividad-grid .wp-block-column > .wp-block-group > p:last-of-type {
	margin-top: auto;
}

/* Títulos de las tarjetas (Obra Civil, Edificación, etc.) – todo desde style.css */
.lineas-actividad-grid .wp-block-group h3 {
	margin-top: 5px;
	margin-bottom: 12px;
	color: #423E39;
	font-size: 17px;
	font-family: 'Epilogue', sans-serif;
	font-weight: 700;
	line-height: 28px;
	word-wrap: break-word;
}

/**
 * ## Proyectos Destacados (patrón afc-proyectos-destacados)
 * --------------------------- */

.afc-proyectos-destacados {
	background-color: #fff;
	padding-top: 96px;
	padding-bottom: 96px;
	padding-left: 40px;
	padding-right: 40px;
}

.afc-proyectos-destacados__header {
	margin-bottom: 48px;
}

.afc-proyectos-destacados__title {
	color: var(--wp--preset--color--background-dark, #1a1a1a);
	font-size: 2.25rem;
	font-weight: 900;
	line-height: 1.1;
	margin-top: 0;
	margin-bottom: 0;
}

.afc-proyectos-destacados__link {
	display: flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	border-bottom: 2px solid rgba(11, 87, 168, 0.2);
	padding-bottom: 4px;
}

.afc-proyectos-destacados__link-text {
	color: var(--wp--preset--color--primary, #012E50);
	font-size: 1rem;
	font-weight: 700;
}

.afc-proyectos-destacados__link svg {
	width: 24px;
	height: 24px;
	color: var(--wp--preset--color--primary, #012E50);
}

.afc-proyectos-destacados__carousel .proyectos-carousel-track {
	gap: 30px;
}

.afc-proyectos-destacados__card {
	border-radius: 20px;
	min-height: 400px;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
	overflow: hidden;
}

.afc-proyectos-destacados__card-cover {
	min-height: 400px;
	padding-top: 24px;
	padding-right: 24px;
	padding-bottom: 24px;
	padding-left: 24px;
}

.afc-proyectos-destacados__card .wp-block-post-terms {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 6px 14px;
	border-radius: 6px;
	background-color: var(--wp--preset--color--primary, #012E50);
}

.afc-proyectos-destacados__card .wp-block-post-terms a {
	color: #fff;
	text-decoration: none;
}

.afc-proyectos-destacados__card .wp-block-post-title {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.3;
}

.afc-proyectos-destacados__card .wp-block-post-title a {
	color: #fff;
	text-decoration: none;
}

/**
 * ## Responsive Utilities
 * --------------------------- */

@media (min-width: 768px) and (max-width: 1024px) {
	.proyectos-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 25px;
	}
	
	/* Proyectos Destacados - 2 columnas en tablet */
	.wp-block-post-template:has(.proyecto-item-card) {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 30px !important;
	}
	
	/* Centrar el tercer proyecto en tablet */
	.wp-block-post-template .proyecto-item-card:nth-child(3) {
		grid-column: 1 / -1;
		max-width: calc(50% - 15px);
		margin: 0 auto;
	}
	
	/* Noticias - 2 por vista en tablet */
	.noticia-item {
		width: calc((100% - 32px) / 2) !important;
		min-width: calc((100% - 32px) / 2) !important;
		max-width: calc((100% - 32px) / 2) !important;
	}
	
	/* Líneas de Actividad - 2 columnas en tablet */
	.lineas-actividad-grid {
		flex-wrap: wrap !important;
	}
	
	.lineas-actividad-grid .wp-block-column {
		flex-basis: calc(50% - 12.5px) !important;
		max-width: calc(50% - 12.5px) !important;
		margin-bottom: 25px;
	}
	
	/* Solvencia y Presencia - columnas apiladas en tablet */
	.solvencia-presencia-columns {
		flex-direction: column !important;
	}
	
	.solvencia-presencia-columns .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
		margin-bottom: 30px;
	}
}

@media (max-width: 767px) {
	.site-header {
		padding: 1rem;
		display: flex;
	}

	h1 {
		font-size: 2.5rem !important;
	}

	h2 {
		font-size: clamp(1.624rem, 1.624rem + ((1vw - 0.2rem) * 1.126), 36px) !important;
	}
	
	/* Carrusel de proyectos en móvil: 1 tarjeta, deslizar con dedo o ratón (sin botones) */
	.proyectos-carousel-wrap {
		overflow: visible;
	}

	.proyectos-carousel-wrap .proyectos-carousel-track {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 20px !important;
		padding-bottom: 8px;
		width: 100%;
		box-sizing: border-box;
		grid-template-columns: unset !important;
	}

	.proyectos-carousel-wrap .proyectos-carousel-track::-webkit-scrollbar {
		display: none;
	}

	.proyectos-carousel-wrap .proyectos-carousel-track.is-animating {
		scroll-snap-type: none;
	}

	.proyectos-carousel-wrap .proyectos-carousel-track > * {
		flex: 0 0 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		scroll-snap-align: start;
		box-sizing: border-box;
	}

	.proyectos-carousel-wrap .proyectos-carousel-track .proyecto-item-card {
		margin-bottom: 0;
	}

	/* Wrapper del track para posicionar flechas */
	.proyectos-carousel-track-wrapper {
		position: relative;
		width: 100%;
	}

	.proyectos-carousel-arrows {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-50%);
		pointer-events: none;
		z-index: 2;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 8px;
	}

	.proyectos-carousel-arrow {
		pointer-events: auto;
		cursor: pointer;
		position: relative;
		min-width: 48px;
		min-height: 48px;
		width: 48px;
		height: 48px;
		padding: 0;
		border-radius: 9999px;
		border: 1px solid var(--wp--preset--color--primary, #012E50);
		background: var(--wp--preset--color--primary, #012E50);
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1.5rem;
		line-height: 1;
		transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
	}

	.proyectos-carousel-arrow:hover:not(:disabled) {
		background: var(--wp--preset--color--primary, #012E50);
		border-color: var(--wp--preset--color--primary, #012E50);
		color: #fff;
		opacity: 0.9;
	}

	.proyectos-carousel-arrow:disabled {
		opacity: 0.4;
		cursor: not-allowed;
	}

	/* Puntos del carrusel proyectos (solo móvil) */
	.proyectos-carousel-dots {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
		margin-top: 24px;
		padding-bottom: 8px;
	}

	.proyectos-carousel-dot {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		border: none;
		background-color: #cbd5e1;
		cursor: pointer;
		padding: 0;
		transition: background-color 0.2s ease, transform 0.2s ease;
	}

	.proyectos-carousel-dot:hover {
		background-color: #94a3b8;
	}

	.proyectos-carousel-dot.is-active {
		background-color: var(--wp--preset--color--primary);
		transform: scale(1.2);
	}

	/* En móvil: tarjetas de proyecto sin elevación ni sombra */
	.proyecto-item-card,
	.proyecto-item-card:hover {
		transform: none;
		box-shadow: none;
	}

	.proyecto-item-card .wp-block-cover img,
	.proyecto-item-card:hover .wp-block-cover img {
		transform: none;
	}

	.proyecto-item,
	.proyecto-item:hover {
		transform: none;
		box-shadow: none;
	}

	.proyecto-item img,
	.proyecto-item:hover img {
		transform: none;
	}

	.proyecto-contenido {
		padding: 20px;
	}
	
	/* Noticias - 1 por vista en móvil */
	.noticia-item {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}
	
	.noticias-carousel {
		gap: 20px !important;
	}
	
	/* Líneas de Actividad - carrusel en móvil: scroll + efecto suave tipo Frontblocks (400ms cubic-bezier) */
	.lineas-actividad-carousel-wrap {
		overflow: visible;
	}

	.lineas-actividad-grid {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		gap: 20px !important;
		padding-bottom: 8px;
		width: 100%;
		box-sizing: border-box;
		cursor: grab;
	}

	.lineas-actividad-grid::-webkit-scrollbar {
		display: none;
	}

	.lineas-actividad-grid.is-dragging,
	.lineas-actividad-grid.is-animating {
		scroll-snap-type: none;
	}

	.lineas-actividad-grid.is-dragging {
		user-select: none;
	}

	.lineas-actividad-grid:active {
		cursor: grabbing;
	}

	.lineas-actividad-grid .wp-block-column {
		flex: 0 0 100% !important;
		min-width: 100% !important;
		max-width: none !important;
		scroll-snap-align: start;
		margin-bottom: 0;
	}

	/* Puntitos del carrusel Líneas de Actividad (solo móvil) */
	.lineas-actividad-dots {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
		margin-top: 24px;
		padding-bottom: 8px;
	}

	.lineas-actividad-dot {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		border: none;
		background-color: #cbd5e1;
		cursor: pointer;
		padding: 0;
		transition: background-color 0.2s ease, transform 0.2s ease;
	}

	.lineas-actividad-dot:hover {
		background-color: #94a3b8;
	}

	.lineas-actividad-dot.is-active {
		background-color: var(--wp--preset--color--primary);
		transform: scale(1.2);
	}

	/* Estadísticas en una línea en móvil (row), más compactas para que quepan */
	.estadisticas-box {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 12px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.estadisticas-box .estadistica-item {
		flex: 1;
		min-width: 0;
		padding-right: 12px;
		border-bottom: none;
		gap: 10px;
	}

	.estadisticas-box .estadistica-item:last-child {
		padding-right: 0;
	}

	.estadisticas-box .estadistica-numero {
		font-size: 20px;
		line-height: 1.2;
	}

	.estadisticas-box .estadistica-label {
		font-size: 10px !important;
		line-height: 1.2 !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
}
/* Portfolio wrapper */
.afcc-portfolio {
	padding-top: 56px;
	padding-bottom: 56px;
}

.afcc-portfolio__container {
	max-width: var(--wp--style--global--content-size);
	margin: 0 auto;
}

.afcc-portfolio .afcc-portfolio__title {
	max-width: none;
	margin: 0 0 24px;
	text-align: left;
	color: var(--wp--preset--color--primary);
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 50px;
	font-weight: 900;
	line-height: 72px;
	letter-spacing: -0.02em;
}

.afcc-portfolio .afcc-portfolio__intro {
	width: 100%;
	max-width: 100%;
	display: block;
	margin: 0;
	text-align: left;
	color: #475569;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 29.25px;
}

.afcc-portfolio .afcc-portfolio__container > * {
	margin-left: 0;
	margin-right: auto;
}

/* Controls bar */
.afcc-portfolio__controls {
	max-width: var(--wp--style--global--content-size);
	min-height: auto;
	margin: 8px auto 0;
	padding-top: 16px;
	padding-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.afcc-portfolio__filters {
	flex: 0 1 auto;
	width: max-content;
	max-width: 100%;
	background: rgba(226, 232, 240, 0.5);
	border-radius: 12px;
	height: 48px;
	display: flex;
	align-items: center;
	padding: 0 4px;
	column-gap: 20px;
	row-gap: 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.afcc-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 18px;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	color: #475569;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}

.afcc-filter.is-active {
	background: var(--wp--preset--color--primary);
	color: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	font-weight: 700;
	padding-left: 22px;
	padding-right: 22px;
}

.afcc-portfolio__sort {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 48px;
	padding-top: 0;
	flex-shrink: 0;
	white-space: nowrap;
}

.afcc-portfolio__sort::before {
	content: "";
	width: 18px;
	height: 22px;
	display: inline-block;
	flex: 0 0 18px;
	background-image: url("assets/ajustes.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 22px;
}

.afcc-portfolio__sort-label {
	color: #64748b;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}

.afcc-portfolio__sort-select {
	min-width: 137px;
	width: auto;
	height: 24px;
	border: none;
	background: transparent;
	color: var(--wp--preset--color--primary);
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	padding: 0 32px 0 0;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
	background-position: calc(100% - 9px) 53%, calc(100% - 4px) 53%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	cursor: pointer;
}

/* Grid */
.afcc-portfolio__grid {
	max-width: var(--wp--style--global--content-size);
	margin: 32px auto 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 32px;
	row-gap: 32px;
}

/* Card */
.afcc-card {
	position: relative;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	outline: 1px solid #e2e8f0;
	outline-offset: -1px;
	height: 485px;
	transition: none;
}

.afcc-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
	height: 100%;
	position: relative;
}

.afcc-card__image {
	position: relative;
	height: 282.48px;
	overflow: hidden;
}

.afcc-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: none;
	transition: none;
}

.afcc-card__img--placeholder {
	background: linear-gradient(135deg, #30A0B1 0%, var(--wp--preset--color--primary) 100%);
}

.afcc-card__body {
	position: relative;
	padding: 23px 25px 20px;
}

.afcc-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.afcc-card__badge {
	--afcc-badge-accent: var(--wp--preset--color--primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 23px;
	padding: 0 8px;
	border-radius: 4px;
	background: rgba(11, 87, 168, 0.05);
	background: color-mix(in srgb, var(--afcc-badge-accent) 10%, white);
	color: var(--afcc-badge-accent);
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 15px;
}

.afcc-card__year {
	color: #94a3b8;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 16px;
}

.afcc-card__title {
	margin: 0 0 10px;
	color: #0d141c;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 28px;
}

.afcc-card__location {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
}

.afcc-card__location-icon {
	width: 14px;
	height: 14px;
	display: inline-block;
	flex: 0 0 14px;
	background-image: url("assets/ubicacion2.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 14px;
}

.afcc-card__location-text {
	color: #64748b;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.afcc-card__excerpt {
	margin: 0;
	color: #475569;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 22.75px;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* Overlay hover */
.afcc-card__overlay {
	display: none;
}

.afcc-card__overlay-text {
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 22.75px;
}

.afcc-card__overlay-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	padding: 0 22px;
	background: #fff;
	border-radius: 8px;
	color: var(--wp--preset--color--primary);
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
}

.afcc-card__overlay-arrow {
	width: 12px;
	height: 12px;
	background: var(--wp--preset--color--primary);
	clip-path: polygon(30% 0, 100% 50%, 30% 100%, 30% 70%, 0 70%, 0 30%, 30% 30%);
}

/* Pagination (Figma style) */
.afcc-pagination {
	max-width: var(--wp--style--global--content-size);
	margin: 40px auto 0;
	display: flex;
	justify-content: center;
}

.afcc-pagination__list {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0;
	margin: 0;
}

/* WP outputs .page-numbers + .current + .prev/.next */
.afcc-pagination__item .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	border-radius: 8px;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #475569;
	text-decoration: none;
	font-family: Epilogue, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

.afcc-pagination__item .page-numbers.current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #fff;
	font-weight: 700;
}

.afcc-pagination__item .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: #94a3b8;
	min-width: auto;
	padding: 0 6px;
}

.afcc-pagination__item .page-numbers.prev,
.afcc-pagination__item .page-numbers.next {
	font-weight: 700;
}

/* Responsive */
@media (max-width: 1024px) {
	.afcc-portfolio .afcc-portfolio__intro {
		margin-top: 24px;
	}

	.afcc-portfolio__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.afcc-portfolio__controls {
		padding-top: 0;
		padding-bottom: 0;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.afcc-portfolio__filters {
		flex-basis: auto;
		max-width: 100%;
	}
}

@media (max-width: 768px) {
	.afcc-portfolio__container,
	.afcc-portfolio__controls,
	.afcc-portfolio__grid,
	.afcc-pagination {
		padding-left: 20px;
		padding-right: 20px;
	}

	.afcc-portfolio__grid {
		grid-template-columns: 1fr;
	}

	.afcc-portfolio__title {
		font-size: 38px;
		line-height: 52px;
	}

	.afcc-portfolio .afcc-portfolio__intro {
		margin-top: 24px;
	}

	.afcc-portfolio__sort-select {
		width: auto;
	}
}

/* Línea temporal – título Nuestra historia */
.afc-linea-temporal__title {
	color: #423e39;
	font-size: 36px;
	font-family: Epilogue, system-ui, sans-serif;
	font-weight: 900;
	line-height: 40px;
	word-wrap: break-word;
	text-align: center;
}

/* Cool Timeline Block – variables (global, sin depender de instancia) */
:where(.wp-block-cp-timeline-content-timeline) .cool-vertical-timeline-body,
:where(.Cool-Content-Timeline) .cool-vertical-timeline-body {
	--ctlb-content-alignment: left;
	--ctlb-head-font-size: 22px;
	--ctlb-heading-color: #423E39;
	--ctlb-line-color: var(--wp--preset--color--primary, #012E50);
	--ctlb-icon-bg: var(--wp--preset--color--primary, #012E50);
	--ctlb-story-border-color: var(--wp--preset--color--primary, #012E50);
	--ctlb-icon-box-radius: 50%;
	--ctlb-icon-position: 45%;
	--ctlb-year-box-color: var(--wp--preset--color--primary, #012E50);
	--ctlb-year-text-color: #ffffff;
	--ctlb-media-border-color: var(--wp--preset--color--primary, #012E50);
}

/**
 * ## Blog Noticias template part
 * --------------------------- */

.noticias-section {
	padding: 96px 40px;
	background: rgba(11, 87, 168, 0.05);
}

.noticias-inner {
	max-width: var(--afc-content-width, 1200px);
	margin: 0 auto;
}

.noticias-header {
	margin-bottom: 64px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.noticias-title-group {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.noticias-label {
	color: var(--wp--preset--color--primary);
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 20px;
	letter-spacing: 1.4px;
}

.noticias-section-title {
	margin: 0;
	color: #423E39;
	font-size: 36px;
	font-weight: 900;
	line-height: 40px;
	font-family: 'Epilogue', sans-serif;
}

.noticias-nav {
	display: flex;
	gap: 8px;
}

.noticias-nav-btn {
	width: 48px;
	height: 48px;
	border-radius: 9999px;
	border: 1px solid #CBD5E1;
	background: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.noticias-nav-btn:not(:disabled):hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

.noticias-nav-btn:not(:disabled):hover path {
	stroke: white;
}

.noticias-nav-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.noticia-item__link {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.noticia-item__image-wrap {
	height: 224px;
	overflow: hidden;
	flex-shrink: 0;
}

.noticia-item__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.noticia-item:hover .noticia-item__img {
	transform: scale(1.05);
}

.noticia-item__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--primary) 100%);
}

.noticia-item__body {
	padding: 32px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.noticia-item__meta {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.noticia-item__date {
	color: #94A3B8;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 16px;
	letter-spacing: 1.2px;
}

.noticia-item__dot {
	width: 4px;
	height: 4px;
	background: #CBD5E1;
	border-radius: 9999px;
	flex-shrink: 0;
}

.noticia-item__category {
	color: var(--wp--preset--color--primary);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 16px;
	letter-spacing: 1.2px;
}

.noticia-item__title {
	color: #423E39;
	font-size: 20px;
	font-weight: 700;
	line-height: 28px;
	margin: 0 0 16px;
	font-family: 'Epilogue', sans-serif;
	flex-grow: 1;
}

.noticia-item__read-link {
	color: var(--wp--preset--color--primary);
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
}

/**
 * ## Proyectos Dinámicos template part
 * --------------------------- */

.proyectos-section {
	padding: 96px 40px;
}

.proyectos-inner {
	max-width: var(--afc-content-width, 1200px);
	margin: 0 auto;
}

.proyectos-header {
	margin-bottom: 48px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.explorar-catalogo-link__label {
	color: var(--wp--preset--color--primary);
	font-size: 1rem;
	font-weight: 700;
}

.proyecto-item__link {
	text-decoration: none;
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.proyecto-item__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.proyecto-item__placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--wp--preset--color--secondary) 0%, var(--wp--preset--color--primary) 100%);
}

.proyecto-item__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.8) 100%);
}

.proyecto-item__badge {
	position: absolute;
	top: 20px;
	left: 20px;
	background: white;
	color: var(--wp--preset--color--primary);
	padding: 8px 16px;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	border-radius: 4px;
	z-index: 2;
	letter-spacing: 0.5px;
}

.proyecto-item__content {
	position: absolute;
	bottom: 30px;
	left: 30px;
	right: 30px;
	z-index: 2;
}

.proyecto-item__title {
	color: white;
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 15px;
	line-height: 1.2;
	font-family: 'Montserrat', sans-serif;
}

.proyecto-item__cta {
	color: white;
	font-size: 0.875rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.afc-footer__list-item {
	font-size: 0.875rem;
	margin-top: 0;
	margin-bottom: 8px;
}

.afc-footer__list-item a {
	color: #fff;
	text-decoration: none;
}

.afc-footer__list-item a:hover {
	text-decoration: underline;
}

/* === Cabecera de página ===
 * ----------------------------------- */

.afc-page-hero__title.wp-block-post-title {
	color: #ffffff;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	margin: 0;
}

/* === Trabaja con nosotros ===
 * ----------------------------------- */

.afc-trabaja-section {
	overflow: hidden;
	position: relative;
	padding-top: 120px;
	padding-bottom: 120px;
	margin-block-start: 0;
}

.afc-trabaja-section .is-layout-flow > * + *,
.afc-trabaja-section .is-layout-constrained > * {
	margin-block-start: 0;
}

.afc-trabaja-col .wp-block-heading {
	margin-top: 20px;
}

.afc-trabaja-col .afc-trabaja-text {
	margin-top: 16px;
}

.afc-trabaja-col .wp-block-buttons {
	margin-top: 24px;
}

.afc-trabaja-section::before {
	content: "";
	background-image: url(/wp-content/themes/close-afc-construcciones-theme/assets/obras-de-urbanizacion-del-sistema-general-deportivo-22el-saladillo22.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0.13;
	pointer-events: none;
	z-index: 0;
}

.afc-trabaja-inner {
	position: relative;
	z-index: 5;
}

.afc-trabaja-grid.wp-block-columns {
	gap: 60px;
	align-items: stretch;
}

.afc-trabaja-col.wp-block-column {
	padding: 80px 40px;
	border-radius: 20px 0 0 0;
	flex: 1 1 0;
}

.afc-trabaja-col--white {
	background-color: #ffffff;
}

.afc-trabaja-col--dark {
	background-color: var(--wp--preset--color--primary);
}

.afc-trabaja-icon.wp-block-image {
	width: 40px;
	margin-bottom: 30px;
}

.afc-trabaja-icon.wp-block-image img {
	width: 40px;
	height: 40px;
	display: block;
	margin: 0;
}

@media (max-width: 1024px) {
	.afc-trabaja-grid.wp-block-columns {
		gap: 30px;
	}
}

@media (max-width: 767px) {
	.afc-trabaja-grid.wp-block-columns {
		flex-direction: column;
		gap: 40px;
	}

	.afc-trabaja-col.wp-block-column {
		padding: 80px 20px;
		width: 100%;
		flex: 0 0 100%;
	}
}

/**
 * ## Global button hover: primary → secondary
 * --------------------------- */

.wp-block-button__link[style*="background-color:var(--wp--preset--color--primary"]:hover,
.wp-block-button__link[style*="background-color:#012E50"]:hover,
.has-primary-background-color.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--secondary) !important;
	color: #fff !important;
}

/* ----------------------------------------
 * ## Single Servicio — Hero cabecera
 * -------------------------------------- */

.servicio-hero-cover.wp-block-cover {
	min-height: 400px !important;
	margin-top: 0 !important;
	padding-top: 90px;
	padding-bottom: 60px;
	box-sizing: border-box;
}

.servicio-hero-cover .wp-block-cover__background {
	opacity: 0.45 !important;
}

.servicio-hero-cover .wp-block-post-title {
	color: #ffffff !important;
	text-align: center;
	margin: 0;
}

@media (max-width: 768px) {
	.servicio-hero-cover.wp-block-cover {
		min-height: 320px !important;
		padding-top: 80px;
	}
}

.proyecto-hero-cover.wp-block-cover {
	min-height: 400px !important;
	margin-top: 0 !important;
	padding-top: 90px;
	padding-bottom: 60px;
	box-sizing: border-box;
}

.proyecto-hero-cover .wp-block-post-title {
	color: #ffffff !important;
	text-align: center;
	margin: 0;
}

@media (max-width: 768px) {
	.proyecto-hero-cover.wp-block-cover {
		min-height: 320px !important;
		padding-top: 80px;
	}
}

.servicio-hero {
	position: relative;
	width: 100%;
	height: 320px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--wp--preset--color--primary);
}

.servicio-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.servicio-hero__overlay {
	position: absolute;
	inset: 0;
	background-color: #012E50;
	opacity: 0.7;
}

.servicio-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 0 24px;
}

.servicio-hero__title {
	color: #ffffff;
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	margin: 0;
	line-height: 1.15;
}

@media (max-width: 768px) {
	.servicio-hero {
		height: 220px;
	}
}

.servicio-single-content {
	padding-top: 60px;
	padding-bottom: 80px;
}

.servicio-single-inner {
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

/**
 * ## Single Proyecto — pattern layout
 * --------------------------------- */

.proyecto-layout-main {
	padding: 50px 60px;
	margin-bottom: 50px;
}

.proyecto-cols {
	gap: 50px;
}

.proyecto-sidebar {
	flex-basis: 40% !important;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.proyecto-content {
	flex-basis: 60% !important;
}

/* Info card */
.proyecto-info-card {
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.proyecto-info-card__title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 0;
}

.proyecto-info-row {
	background-color: #f8fafc;
	border-radius: 12px;
	padding: 10px 10px 10px 20px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.proyecto-info-label {
	font-size: 14px;
	margin: 0;
}

.proyecto-info-value {
	font-weight: 700;
	margin: 0;
}

.proyecto-info-value--lg {
	font-size: 18px;
}

/* CTA card */
.proyecto-cta-card {
	border: 1px solid rgba(0, 163, 191, 0.22);
	border-radius: 10px;
	background-color: rgba(0, 163, 191, 0.1);
	padding: var(--wp--preset--spacing--40, 24px);
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.proyecto-cta-card__title {
	font-size: 16px;
	font-weight: 700;
	color: #00a2bf;
	margin: 0;
}

.proyecto-cta-card__text {
	font-size: 14px;
	margin: 0;
}

.proyecto-cta-card__link {
	font-size: 15px;
	font-weight: 700;
	margin: 0;
}

.proyecto-cta-card__link a {
	color: #00a2bf;
	text-decoration: none;
}

/* Imagen */
.proyecto-imagen img {
	border-radius: 20px;
}

/* Datos clave */
.proyecto-datos-clave {
	border-left: 2px solid #00a2bf;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 50px;
}

/* Proyectos relacionados */
.proyecto-relacionados {
	padding: 0 60px 50px;
	margin-bottom: 50px;
}

.proyecto-relacionados__header {
	margin-bottom: 30px;
}

.proyecto-relacionados h2 {
	font-size: clamp(32px, 4vw, 50px);
}

.proyecto-relacionados__ver-todos a {
	color: #00a2bf;
	font-weight: 700;
	text-decoration: none;
}

.proyecto-card__imagen img {
	border-radius: 10px;
	height: 350px;
	object-fit: cover;
	width: 100%;
}

.proyecto-card__tipo {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 6px;
	padding: 6px 14px;
	margin-bottom: 8px;
}

.proyecto-card__tipo,
.proyecto-card__tipo a {
	color: #ffffff !important;
	text-decoration: none !important;
}

.proyecto-card__titulo,
.proyecto-card__titulo a {
	font-size: 1.25rem !important;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

/* Contacto */
.proyecto-contacto {
	padding: 50px 60px;
}

.proyecto-contacto__subtitulo {
	margin-bottom: 50px;
}

.proyecto-contacto__card {
	border-radius: 20px !important;
}

.proyecto-contacto__card-title {
	font-weight: 700;
	margin-bottom: 8px;
}

/* Responsive */
@media (max-width: 1024px) {
	.proyecto-layout-main,
	.proyecto-relacionados,
	.proyecto-contacto {
		padding-left: 40px;
		padding-right: 40px;
	}

	.proyecto-sidebar,
	.proyecto-content {
		flex-basis: 100% !important;
	}
}

@media (max-width: 767px) {
	.proyecto-layout-main,
	.proyecto-relacionados,
	.proyecto-contacto {
		padding-left: 20px;
		padding-right: 20px;
	}

	.proyecto-cols {
		flex-direction: column;
	}
}
