/* ==========================================================================
   VARIABLES GLOBALES PARA CONSERVAR COLORES CORPORATIVOS EN TODO EL SITIO
   ========================================================================== */
:root {
}

/* ANIMACIONES KEYFRAMES REUTILIZABLES */
@keyframes celFadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes celFadeIn {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

@keyframes celGradientMovement {
	0% {
		background-position: 0 50%;
	}
	
	50% {
		background-position: 100% 50%;
	}
	
	100% {
		background-position: 0 50%;
	}
}

@keyframes celRotateGlow {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

@keyframes celFloat {
	0% {
		transform: translateY(0px) rotate(0deg);
	}
	
	50% {
		transform: translateY(-12px) rotate(1.5deg);
	}
	
	100% {
		transform: translateY(0px) rotate(0deg);
	}
}

@keyframes celPulseGlow {
	0% {
		box-shadow: 0 0 0 0 rgba(0, 168, 150, 0.5);
	}
	
	70% {
		box-shadow: 0 0 0 15px rgba(0, 168, 150, 0);
	}
	
	100% {
		box-shadow: 0 0 0 0 rgba(0, 168, 150, 0);
	}
}

@keyframes celTagPop {
	0% {
		transform: scale(0.9);
		opacity: .8;
	}
	
	50% {
		transform: scale(1.05);
		opacity: 1;
	}
	
	100% {
		transform: scale(1);
		opacity: 1;
	}
}

/* CLASES DE ANIMACIÓN DIRECTA */
.cel-animate-up {
	animation: celFadeInUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.cel-animate-fade-in {
	animation: celFadeIn 1.5s ease forwards;
}

/* Transición suave para el estado normal de la tarjeta */
.cel-company-card {
	transition: transform .4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow .4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

/* Efecto al pasar el ratón por encima (Hover) */
.cel-company-card:hover {
	transform: translateY(-10px) !important;
/* Levanta la tarjeta 10px */
	box-shadow: 0 20px 40px rgba(0, 43, 91, 0.12) !important;
/* Sombra más amplia y con un tono azul oscuro corporativo */
}

/* Extra Premium: Efecto de zoom sutil en el logo de la empresa */
.cel-company-card img {
	transition: transform .4s ease !important;
}

.cel-company-card:hover img {
	transform: scale(1.06) !important;
/* Amplía el logo un 6% */
}

/* HERO SECTION DE LA CONFEDERACIÓN */
.cel-hero {
	background: linear-gradient(-45deg, #004B87, #1D3557, #00A896, #004B87) !important;
	background-size: 400% 400% !important;
	animation: celGradientMovement 15s ease infinite !important;
	position: relative;
	overflow: hidden;
	color: var(--cel-white);
	padding: 120px 8% 140px;
	text-align: center;
	border-radius: 0 0 30px 30px;
}

.cel-hero::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 60%);
	animation: celRotateGlow 20s linear infinite;
	pointer-events: none;
}

.cel-hero h1 {
	font-size: 42px;
	font-weight: 800;
	margin-bottom: 24px;
	line-height: 1.2;
	letter-spacing: -.5px;
}

.cel-hero p {
	font-size: 19px;
	max-width: 800px;
	margin: 0 auto 40px;
	opacity: .95;
	font-weight: 300;
}

/* BOTONES CON DINAMISMO EXTREMO */
.cel-btn {
	display: inline-block;
	padding: 14px 36px;
	border-radius: 50px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 1px;
	transition: var(--cel-transition);
	box-shadow: 0 4px 15px rgba(0,0,0,0.15);
	cursor: pointer;
}

/* BOTÓN PRINCIPAL (Sólido) */
.cel-btn-primary {
	background-color: #004B87;
/* Azul corporativo base */
	color: #FFFFFF !important;
	border: 2px solid #004B87;
	animation: celPulseGlow 2.5s infinite;
}

.cel-btn-primary:hover {
	background-color: #002D52;
/* Azul más oscuro/intenso al pasar el ratón */
	border-color: #002D52;
	color: #FFFFFF !important;
	transform: translateY(-4px);
	box-shadow: 0 10px 25px rgba(0, 45, 82, 0.4);
/* Sombra adaptada al nuevo azul */
}

/* BOTÓN SECUNDARIO (Contorno) */
.cel-btn-outline {
	background-color: transparent;
	color: #004B87 !important;
/* Letras azul corporativo */
	border: 2px solid #004B87;
/* Borde azul corporativo */
}

.cel-btn-outline:hover {
	background-color: #002D52;
/* Fondo azul más intenso al pasar el ratón */
	border-color: #002D52;
	color: #FFFFFF !important;
/* Letras cambian a blanco */
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0, 45, 82, 0.4);
/* Sombra adaptada al nuevo azul */
}

/* DISEÑO DE FILAS (PROGRAMAS) */
.cel-section-container {
	padding: 80px 5%;
	max-width: 1200px;
	margin: 0 auto;
}

.cel-program-block {
	background-color: var(--cel-white);
	border-radius: 20px;
	box-shadow: 0 10px 40px rgba(0,0,0,0.03);
	margin-bottom: 50px;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: 40px;
	width: 100%;
	position: relative;
	border: 1px solid rgba(0,0,0,0.04);
	transition: transform .5s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow .5s ease, border-color .5s ease;
}

.cel-program-block:hover {
	transform: translateY(-10px) scale(1.01) !important;
	border-color: rgba(0, 168, 150, 0.4) !important;
	box-shadow: 0 25px 50px rgba(0, 75, 135, 0.12) !important;
}

.cel-program-col-img {
	flex: 0 0 30%;
	width: 30% !important;
	vertical-align: middle;
	text-align: center;
	padding: 30px;
}

.cel-svg-illustration, 
.cel-img-illustration {
	width: 100% !important;
	max-width: 100% !important;
/* Forzamos a que llene su columna */
	height: auto !important;
	transition: var(--cel-transition);
	animation: celFloat 6.5s ease-in-out infinite;
	display: block;
	margin: 0 auto;
}

#fpdual .cel-svg-illustration, #fpdual .cel-img-illustration {
	animation: celFloat 7s ease-in-out infinite;
	animation-delay: .5s;
}

.cel-program-block:hover .cel-svg-illustration, .cel-program-block:hover .cel-img-illustration {
	transform: scale(1.05) rotate(2deg);
}

.cel-program-col-content {
	flex: 1;
	width: 65%;
	padding: 50px;
	vertical-align: middle;
}

/* ETIQUETAS DINÁMICAS (TAGS) */
.cel-program-tag {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 20px;
}

.tag-digital {
	background-color: rgba(0, 168, 150, 0.12);
	color: var(--cel-secondary);
}

.tag-fp {
	background-color: rgba(0, 75, 135, 0.12);
	color: var(--cel-primary);
}

.tag-emerge {
	background-color: rgba(230, 57, 70, 0.12);
	color: var(--cel-accent);
}

.cel-program-block:hover .cel-program-tag {
	animation: celTagPop .6s ease-in-out forwards;
}

.cel-program-title {
	font-size: 28px;
	font-weight: 700;
	color: var(--cel-dark);
	margin-bottom: 15px;
}

.cel-program-desc {
	color: var(--cel-gray);
	margin-bottom: 25px;
	font-size: 15px;
}

/* DETALLES DE CARACTERÍSTICAS */
.cel-features-list {
	margin-bottom: 30px;
}

.cel-feature-item {
	margin-bottom: 12px;
	font-size: 14px;
	color: var(--cel-dark);
	font-weight: 500;
	transition: transform .3s ease, color .3s ease;
	cursor: default;
}

.cel-feature-item:hover {
	transform: translateX(8px);
	color: var(--cel-primary);
}

.cel-feature-item strong {
	color: var(--cel-primary);
}

/* SECCIÓN INSTITUCIONAL DE COFINANCIADORES */
.cel-partners-section {
	background-color: var(--cel-white);
	padding: 50px 5%;
	text-align: center;
	border-top: 1px solid #E9ECEF;
	border-radius: 20px;
	margin-top: 20px;
}

/* Color de fondo gris muy suave para toda la página */
.cel-home-wrapper {
	background-color: #F4F6F7 !important;
/* Gris muy claro, elegante y profesional */
	padding-bottom: 40px;
}

/* Asegurar que las tarjetas sigan siendo blancas y resalten */
.cel-program-block, 
.cel-team-card {
	background-color: #FFFFFF !important;
	border: 1px solid rgba(0,0,0,0.05) !important;
}

/* Ajuste para que las secciones que tenían fondo blanco se integren */
.cel-partners-section {
	background-color: #FFFFFF !important;
}

.cel-partners-container {
	margin-top: 25px;
}

.cel-partner-logo-box {
	display: inline-block;
	margin: 15px 35px;
	font-weight: 700;
	color: #A2A9B0;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 2px;
	transition: var(--cel-transition);
}

.cel-partner-logo-box:hover {
	color: var(--cel-primary);
	transform: scale(1.05);
}

/* ==========================================
   ESTILOS GENERALES Y ANIMACIÓN DEL MENÚ (PC)
   ========================================== */
.cel-header-nav {
	position: sticky;
	top: 0;
	width: 100%;
	background-color: rgba(255,255,255,.85);
	box-shadow: 0 4px 30px rgba(0,0,0,.03);
	border-bottom: 1px solid rgba(255,255,255,.4);
	z-index: 9999;
	transition: all .3s ease;
	overflow: visible;
}

.cel-nav-container {
	max-width: 1300px;
	margin: 0 auto;
	display: table;
	width: 100%;
	padding: 18px 5%;
	position: relative;
}

.cel-logo-area {
	display: table-cell;
	vertical-align: middle;
	width: 25%;
}

.cel-logo-link {
	text-decoration: none !important;
	display: inline-block;
}

.cel-logo-text {
	font-size: 24px;
	font-weight: 800;
	color: #004B87;
	letter-spacing: .5px;
}

.cel-logo-dot {
	font-size: 24px;
	font-weight: 600;
	color: #00A896;
}

.cel-navigation {
	position: absolute !important;
	top: 100% !important;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 99999;
	display: block !important;
	background: #fff;
	padding: 20px 5%;
	max-height: 0;
	overflow: visible;
	opacity: 0;
	visibility: hidden;
	transition: .35s;
}

.cel-nav-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-block;
}

.cel-nav-item {
	display: inline-block;
	margin-left: 25px;
	position: relative;
	vertical-align: middle;
}

.cel-nav-url {
	color: #1D3557 !important;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 14px;
	padding: 8px 0;
	display: inline-block;
	transition: color .3s ease;
	cursor: pointer;
}

.cel-nav-url::after {
	content: '';
	position: absolute;
	bottom: -2px;
	left: 50%;
	width: 0;
	height: 2.5px;
	background-color: #00A896;
	transition: width .4s cubic-bezier(0.16, 1, 0.3, 1), left .4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cel-nav-url:hover {
	color: #00A896 !important;
}

.cel-nav-url:hover::after {
	width: 100%;
	left: 0;
}

.cel-nav-cta {
	margin-left: 35px;
}

.cel-nav-url-cta {
	background-color: #004B87;
	color: #FFFFFF !important;
	text-decoration: none !important;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 10px 24px;
	border-radius: 50px;
	display: inline-block;
	transition: all .4s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 15px rgba(0, 75, 135, 0.15);
}

.cel-nav-url-cta:hover {
	background-color: #00A896;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 168, 150, 0.3);
}

/* SUBMENÚS DESPLEGABLES (PC) */
.cel-has-dropdown {
	position: relative;
}

.cel-dropdown-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	min-width: 220px;
	margin: 0;
	padding: 10px 0;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0,0,0,.12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: .25s;
	z-index: 999999;
	text-align: center;
}

.cel-has-dropdown:hover > .cel-dropdown-menu,
.cel-has-dropdown:focus-within > .cel-dropdown-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.cel-dropdown-menu li {
	display: block;
}

.cel-dropdown-menu a {
	display: block;
	padding: 12px 20px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: normal;
	color: #1D3557 !important;
	text-decoration: none !important;
	transition: all .25s ease;
}

.cel-dropdown-menu a:hover {
	background: rgba(0,168,150,.08);
	color: #00A896 !important;
	padding-left: 25px;
}

/* ==========================================
   ESTILOS COMPLETOS DEL PIE DE PÁGINA (CEL)
   ========================================== */
.cel-main-footer {
	background-color: #1D3557 !important;
	color: #FFFFFF !important;
	padding: 60px 0 0 !important;
	font-family: 'Segoe UI', -apple-system, sans-serif;
	border-top: 3px solid #00A896;
}

.cel-footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 5%;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.cel-footer-info-block {
	flex: 1.2;
	min-width: 300px;
}

.cel-footer-map-block {
	flex: .8;
	min-width: 300px;
	display: flex;
	align-items: center;
}

.cel-footer-logo-wrap {
	margin-bottom: 20px;
}

.cel-footer-description {
	font-size: 14.5px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: 20px;
}

.cel-footer-divider {
	border: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.15);
	margin: 20px 0;
}

.cel-footer-subtitle {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 15px;
	color: #FFFFFF;
}

.cel-footer-contact-details {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 25px !important;
}

.cel-footer-contact-details li {
	font-size: 14px;
	margin-bottom: 12px;
	color: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
}

.cel-f-icon {
	margin-right: 10px;
	font-size: 16px;
	display: inline-block;
	width: 20px;
	text-align: center;
}

.cel-footer-link-inline {
	color: #FFFFFF !important;
	text-decoration: underline !important;
	transition: color .3s ease;
}

.cel-footer-link-inline:hover {
	color: #00A896 !important;
}

.cel-footer-socials {
	display: flex;
	gap: 15px;
	margin-top: 20px;
}

.cel-social-icon-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background-color: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	transition: all .4s cubic-bezier(0.16, 1, 0.3, 1);
	text-decoration: none !important;
}

.cel-social-icon-btn:hover {
	background-color: #00A896 !important;
	transform: translateY(-4px) scale(1.08);
	box-shadow: 0 8px 20px rgba(0, 168, 150, 0.3);
}

.cel-map-wrapper {
	width: 100%;
	height: 280px;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.cel-footer-bottom-bar {
	background-color: #162a45;
	margin-top: 50px;
	padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.cel-footer-bottom-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 5%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap-reverse;
	gap: 15px;
}

.cel-footer-copyright {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.5);
}

.cel-legal-link {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6) !important;
	text-decoration: underline !important;
	transition: color .3s ease;
}

.cel-legal-link:hover {
	color: #00A896 !important;
}

/* Ocultar botones de menú móvil por defecto en escritorio */
.cel-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 26px;
	height: 18px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 10001;
}

.cel-menu-toggle span {
	width: 100%;
	height: 3px;
	background-color: #004B87;
	border-radius: 2px;
	transition: all .3s ease;
}

.cel-menu-btn-close {
	position: relative;
}

.cel-menu-btn-close span {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
}

.cel-menu-btn-close span:nth-child(1) {
	transform: translateY(-50%) rotate(45deg);
}

.cel-menu-btn-close span:nth-child(2) {
	opacity: 0;
}

.cel-menu-btn-close span:nth-child(3) {
	transform: translateY(-50%) rotate(-45deg);
}

/* ==========================================================================
   UNIFICACIÓN RESPONSIVE TOTAL (MÓVILES Y INTERACTIVOS :TARGET)
   ========================================================================== */
@media (max-width: 768px) {
	/* 1. HERO ADAPTADO */
	.cel-hero {
		padding: 80px 5% 90px !important;
	}
	
	.cel-hero h1 {
		font-size: 28px !important;
		line-height: 1.3 !important;
	}
	
	.cel-hero p {
		font-size: 15px !important;
	}
	
	/* 2. CONFIGURACIÓN ESTRUCTURAL DE BOTONES HAMBURGUESA */
	.cel-nav-container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}
	
	.cel-logo-area {
		flex: 0 0 auto;
	}
	
	.cel-navigation {
		flex: 1;
		text-align: right;
	}
	
	.cel-menu-toggle {
		display: flex !important;
	/* Muestra las líneas en móvil */
	}
	
	.cel-menu-btn-close {
		display: none !important;
	/* Escondido por defecto hasta que abra */
	}
	
	/* 3. CORTINA DESPLEGABLE POR :TARGET */
	.cel-navigation {
		display: block !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		width: 100% !important;
		background-color: rgba(255, 255, 255, 0.98) !important;
		box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
		padding: 20px 5% !important;
		max-height: 0 !important;
	/* Plegado por defecto */
		overflow: hidden !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transition: max-height .4s ease, opacity .3s ease, visibility .3s !important;
		text-align: left !important;
	}
	
	/* ACCIÓN DISPARADORA: Cuando la URL cambia al id del menú */
	#cel-menu-abierto:target {
		max-height: 80vh !important;
	/* Despliega la cortina nativa */
		opacity: 1 !important;
		visibility: visible !important;
		overflow-y: auto !important;
	}
	
	/* Intercambio visual e inmediato de los botones */
	.cel-navigation:target ~ .cel-menu-btn-open {
		display: none !important;
	}
	
	.cel-navigation:target ~ .cel-menu-btn-close {
		display: flex !important;
	}
	
	/* 4. ELEMENTOS DE ENLACE DEL MENÚ MÓVIL */
	.cel-nav-list {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		gap: 15px !important;
	}
	
	.cel-nav-item {
		width: 100% !important;
		margin: 0 !important;
	}
	
	.cel-nav-url {
		width: 100% !important;
		padding: 10px 0 !important;
		font-size: 16px !important;
		border-bottom: 1px solid rgba(0,0,0,0.04) !important;
	}
	
	/* SUBMENÚS ACOPLADOS EN MÓVIL */
	.cel-dropdown-menu {
		position: relative !important;
		top: 0 !important;
		left: 0 !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		box-shadow: none !important;
		border: none !important;
		background: rgba(0, 75, 135, 0.03) !important;
		width: 100% !important;
		padding: 5px 0 5px 15px !important;
		margin-top: 5px !important;
		border-radius: 8px !important;
	}
	
	.cel-dropdown-menu li a {
		padding: 8px 15px !important;
		font-size: 14px !important;
	}
	
	.cel-nav-cta {
		margin-top: 10px !important;
		width: 100% !important;
	}
	
	.cel-nav-url-cta {
		width: 100% !important;
		text-align: center !important;
		padding: 12px 0 !important;
	}
	
	/* 5. BLOQUES DE PROGRAMAS Y FILAS */
	.cel-section-container {
		padding: 40px 5% !important;
	}
	
	.cel-program-block {
		display: flex !important;
		flex-direction: column !important;
		direction: ltr !important;
	}
	
	.cel-program-col-img, .cel-program-col-content {
		width: 100%;
		flex: none;
	}
	
	.cel-program-col-img img {
		max-width: 180px !important;
		margin: 0 auto !important;
	}
	
	.cel-program-title {
		font-size: 22px !important;
		text-align: center !important;
	}
	
	.cel-program-desc {
		text-align: center !important;
		font-size: 14px !important;
	}
	
	/* 6. GRID DE DENUNCIAS Y CAJAS FLEX */
	.cel-section-container > div[style*="display: flex"] {
		flex-direction: column !important;
		align-items: center !important;
	}
	
	/* 7. PIE DE PÁGINA Y MARCAS */
	.cel-partners-container {
		gap: 15px !important;
	}
	
	.cel-partner-logo-box img {
		max-height: 45px !important;
	}
	
	.cel-footer-bottom-container {
		flex-direction: column;
		text-align: center;
	}
}

@keyframes celPulseGlowWhatsApp {
	0% {
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.6);
	}
	
	70% {
		box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
	}
	
	100% {
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
	}
}

*,
::before,
::after {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
}

body {
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

/* ==========================================================================
   PARCHE DEFINITIVO PARA EL MENÚ (ESCRITORIO Y MÓVIL)
   ========================================================================== */
/* 1. Menú estático y visible en Ordenadores (Escritorio) */
@media (min-width: 769px) {
	.cel-navigation {
		position: static !important;
		display: table-cell !important;
		vertical-align: middle !important;
		width: 75% !important;
		max-height: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		background: transparent !important;
		padding: 0 !important;
		text-align: right !important;
	}
	
	.cel-nav-list {
		display: inline-block !important;
	}
	
	.cel-menu-toggle {
		display: none !important;
	}
}

/* 2. Menú oculto e interactivo en Móviles */
@media (max-width: 768px) {
	.cel-navigation {
		display: block !important;
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		width: 100% !important;
		background-color: rgba(255, 255, 255, 0.98) !important;
		box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
	/* El padding en 0 cuando está cerrado evita el bloque blanco fantasma */
		padding: 0 5% !important;
		max-height: 0 !important;
		overflow: hidden !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transition: max-height .4s ease, opacity .3s ease, padding .3s ease, visibility .3s !important;
		text-align: left !important;
		z-index: 99999 !important;
	}
	
	/* Estado ABIERTO al pulsar la hamburguesa */
	#cel-menu-abierto:target {
		max-height: 80vh !important;
	/* Devolvemos el padding solo cuando se abre */
		padding: 20px 5% !important;
		opacity: 1 !important;
		visibility: visible !important;
		overflow-y: auto !important;
	}
}

/* ==========================================================================
   IMAGEN ANCHO COMPLETO EN MÓVILES (SIN MODIFICAR HTML)
   ========================================================================== */
@media (max-width: 768px) {
	/* 1. Rompemos el margen del 5% y expandimos la tarjeta a los bordes */
	div.cel-program-block {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: -5vw !important;
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
	}
	
	/* 2. Anulamos el límite de 180px global y ajustamos la altura de la imagen */
	div.cel-program-block .cel-program-col-img img {
		max-width: 100% !important;
		width: 100% !important;
		min-height: auto !important;
	/* Anula el min-height de 300px del HTML en móviles */
		height: 250px !important;
	/* Altura perfecta para la pantalla del teléfono */
	}
	
	/* 3. Devolvemos el margen interno al texto para que no se pegue a los lados */
	div.cel-program-block .cel-program-col-content {
		padding: 30px 25px !important;
	}
}

/* ==========================================================================
   PARCHE DEFINITIVO: IMAGEN ANCHO COMPLETO EN MÓVIL (FUERZA MÁXIMA)
   ========================================================================== */
@media (max-width: 768px) {
	/* 1. Expansión de la tarjeta rompiendo cualquier margen de WordPress */
	html body .cel-section-container div.cel-program-block {
		width: 100vw !important;
		max-width: 100vw !important;
	/* Esta fórmula matemática fuerza a pegar el elemento a los bordes de la pantalla */
		margin-left: calc(-50vw + 50%) !important;
		margin-right: calc(-50vw + 50%) !important;
		border-radius: 0 !important;
		border-left: none !important;
		border-right: none !important;
		display: block !important;
	}
	
	/* 2. Forzar al contenedor de la imagen a ocupar el 100% */
	html body .cel-section-container div.cel-program-block .cel-program-col-img {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
		padding: 0 !important;
	}
	
	/* 3. Anular tus estilos en línea y el límite de 180px */
	html body .cel-section-container div.cel-program-block .cel-program-col-img img.cel-img-illustration {
		width: 100% !important;
		max-width: 100% !important;
		height: 250px !important;
		min-height: 250px !important;
	/* Anula tu min-height: 300px del HTML */
		object-fit: cover !important;
		margin: 0 !important;
		transform: none !important;
	}
	
	/* 4. Ajustar el texto para que no quede pegado al borde del teléfono */
	html body .cel-section-container div.cel-program-block .cel-program-col-content {
		padding: 30px 20px !important;
	/* Mantenemos margen interior seguro */
		width: 100% !important;
		box-sizing: border-box !important;
		display: block !important;
	}
}

/* EFECTO HOVER TARJETAS DE LOS PROYECTOS DEL PIE DE PÁGINA */
.cel-hover-effect {
	display: inline-block;
/* Necesario para que la transformación funcione en enlaces */
	transition: transform .3s ease-in-out;
/* Controla la suavidad de la animación */
}

.cel-hover-effect:hover {
	transform: scale(1.08);
/* Aumenta el tamaño un 8% al pasar el ratón */
}