/* End custom CSS */

.elementor-17252 .elementor-element.elementor-element-ad00735:not(.elementor-motion-effects-element-type-background), .elementor-17252 .elementor-element.elementor-element-ad00735 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #fff;
}

.elementor-17252 .elementor-element.elementor-element-ad00735 {
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
	margin-top: 0px;
	margin-bottom: 25px;
}

.elementor-17252 .elementor-element.elementor-element-ad00735 > .elementor-background-overlay {
	transition: background .3s, border-radius .3s, opacity .3s;
}

.elementor-17252 .elementor-element.elementor-element-8189201 {
	text-align: center;
}

.elementor-17252 .elementor-element.elementor-element-8189201 .elementor-heading-title {
	font-family: "Fjalla One", Sans-serif;
	font-size: 60px;
	color: #5c5b5b;
}

.elementor-17252 .elementor-element.elementor-element-8189201 > .elementor-widget-container {
	margin: 39px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-17252 .elementor-element.elementor-element-b0aff00 > .elementor-container {
	max-width: 1248px;
}

.elementor-17252 .elementor-element.elementor-element-b0aff00:not(.elementor-motion-effects-element-type-background), .elementor-17252 .elementor-element.elementor-element-b0aff00 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	background-color: #fff;
}

.elementor-17252 .elementor-element.elementor-element-b0aff00 {
	transition: background .3s, border .3s, border-radius .3s, box-shadow .3s;
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-17252 .elementor-element.elementor-element-b0aff00 > .elementor-background-overlay {
	transition: background .3s, border-radius .3s, opacity .3s;
}

.elementor-17252 .elementor-element.elementor-element-897a3b6 {
	text-align: center;
	font-size: 20px;
}

.elementor-17252 .elementor-element.elementor-element-897a3b6 p {
	margin-block-end: 6px;
}

.elementor-17252 .elementor-element.elementor-element-897a3b6 > .elementor-widget-container {
	margin: 0px 111px 40px 111px;
}

.elementor-17252 .elementor-element.elementor-element-0cd401e {
	text-align: center;
}

.elementor-17252 .elementor-element.elementor-element-0cd401e .elementor-heading-title {
	font-family: "Fjalla One", Sans-serif;
	font-size: 58px;
	font-weight: normal;
	text-transform: uppercase;
	line-height: 1.1em;
	letter-spacing: 7.3px;
	-webkit-text-stroke-color: #000;
	stroke: #000;
}

.elementor-17252 .elementor-element.elementor-element-0cd401e > .elementor-widget-container {
	margin: 0px 0px 0px 0px;
}

.elementor-17252 .elementor-element.elementor-element-6bc624d {
	text-align: center;
	font-size: 20px;
}

.elementor-17252 .elementor-element.elementor-element-6bc624d p {
	margin-block-end: 6px;
}

.elementor-17252 .elementor-element.elementor-element-6bc624d > .elementor-widget-container {
	margin: 0px 111px 40px 111px;
}

.elementor-17252 .elementor-element.elementor-element-3b3a01f3 {
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px 0px 0px 0px;
}

.elementor-17252 .elementor-element.elementor-element-61734deb .elementor-post__thumbnail__link {
	padding-bottom: calc(.85 * 100%);
}

.elementor-17252 .elementor-element.elementor-element-61734deb:after {
	content: "0.85";
	position: absolute;
	color: transparent;
}

.elementor-17252 .elementor-element.elementor-element-61734deb {
	--grid-column-gap: 0px;
	--grid-row-gap: 0px;
}

.elementor-17252 .elementor-element.elementor-element-61734deb a .elementor-portfolio-item__overlay {
	background-color: rgba(149, 9, 9, .59);
}

.elementor-17252 .elementor-element.elementor-element-61734deb > .elementor-widget-container {
	margin: -8px -8px -8px -8px;
	padding: 0px 0px 0px 0px;
}

.elementor-17252 .elementor-element.elementor-element-1456a60c .elementor-button-content-wrapper {
	flex-direction: row-reverse;
}

.elementor-17252 .elementor-element.elementor-element-1456a60c .elementor-button {
	font-size: 14px;
	fill: #fff;
	color: #fff;
	background-color: #bb0700;
}

.elementor-17252 .elementor-element.elementor-element-1456a60c .elementor-button:hover, .elementor-17252 .elementor-element.elementor-element-1456a60c .elementor-button:focus {
	color: #040000;
	background-color: #ff9c00;
}

.elementor-17252 .elementor-element.elementor-element-1456a60c .elementor-button:hover svg, .elementor-17252 .elementor-element.elementor-element-1456a60c .elementor-button:focus svg {
	fill: #040000;
}

.elementor-17252 .elementor-element.elementor-element-1456a60c > .elementor-widget-container {
	margin: 33px 33px 33px 33px;
}

:root {
	--page-title-display: none;
}

.eael-reading-progress-wrap .eael-reading-progress {
	height: 5px !important;
}

.eael-reading-progress-wrap .eael-reading-progress .eael-reading-progress-fill {
	height: 5px !important;
	background-color: #c11700;
	transition: width 50ms ease;
}

@media (max-width:1024px) {
	.elementor-17252 .elementor-element.elementor-element-ad00735 {
		margin-top: 24px;
		margin-bottom: 0px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-3bbed59 > .elementor-element-populated {
		margin: 0px 0px 0px 144px;
		--e-column-margin-right: 0px;
		--e-column-margin-left: 144px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-0cd401e .elementor-heading-title {
		font-size: 36px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-6ac0d5fb > .elementor-element-populated {
		margin: 0px 0px 0px 0px;
		--e-column-margin-right: 0px;
		--e-column-margin-left: 0px;
		padding: 0px 0px 0px 0px;
	}
}

@media (max-width:767px) {
	.elementor-17252 .elementor-element.elementor-element-ad00735 {
		margin-top: -20px;
		margin-bottom: 0px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-3bbed59 > .elementor-element-populated {
		margin: 0px 0px 0px 0px;
		--e-column-margin-right: 0px;
		--e-column-margin-left: 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-8189201 .elementor-heading-title {
		font-size: 35px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-8189201 > .elementor-widget-container {
		margin: 31px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-b0aff00 > .elementor-container {
		max-width: 1327px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-b0aff00 {
		margin-top: 11px;
		margin-bottom: 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-e266a89 > .elementor-element-populated {
		margin: 0px 0px 0px 0px;
		--e-column-margin-right: 0px;
		--e-column-margin-left: 0px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-d8c547a > .elementor-widget-container {
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-ff8f1b5 {
		margin-top: 0px;
		margin-bottom: 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-0a3e620 > .elementor-element-populated {
		margin: -20px 0px 0px 0px;
		--e-column-margin-right: 0px;
		--e-column-margin-left: 0px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-897a3b6 {
		text-align: justify;
		font-size: 16px;
		letter-spacing: .3px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-897a3b6 > .elementor-widget-container {
		margin: 21px 16px 60px 16px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-0cd401e .elementor-heading-title {
		font-size: 33px;
		letter-spacing: 1.8px;
		-webkit-text-stroke-width: 0px;
		stroke-width: 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-6bc624d {
		text-align: justify;
		font-size: 16px;
		letter-spacing: .3px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-6bc624d > .elementor-widget-container {
		margin: 21px 16px 60px 16px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-3b3a01f3 {
		margin-top: 0px;
		margin-bottom: 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-6ac0d5fb > .elementor-element-populated {
		margin: -33px 0px 0px 0px;
		--e-column-margin-right: 0px;
		--e-column-margin-left: 0px;
		padding: 0px 0px 0px 0px;
	}
	
	.elementor-17252 .elementor-element.elementor-element-1456a60c > .elementor-widget-container {
		margin: 36px 36px 54px 36px;
	}
}

@media (min-width:768px) {
	.elementor-17252 .elementor-element.elementor-element-f42944a {
		width: 2%;
	}
	
	.elementor-17252 .elementor-element.elementor-element-0a3e620 {
		width: 95.664%;
	}
	
	.elementor-17252 .elementor-element.elementor-element-fb6f253 {
		width: 2%;
	}
}

@media (max-width:1024px) and (min-width:768px) {
	.elementor-17252 .elementor-element.elementor-element-6ac0d5fb {
		width: 100%;
	}
}

/* Start custom CSS for html, class: .elementor-element-d8c547a */

/* 🎯 GALERÍA */
.galeria {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	/* Se ajusta automáticamente */
	gap: 15px;
	padding: 20px;
	justify-content: center;
}

/* ✅ Para móviles: 1 columna */
@media (max-width: 768px) {
	.galeria {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* ✅ Para tablets: 2 columnas */
@media (min-width: 769px) and (max-width: 1024px) {
	.galeria {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ✅ Para pantallas grandes: 3 columnas */
@media (min-width: 1025px) {
	.galeria {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* 🔥 Ajustes a la imagen dentro de cada caja */
.overlay-box {
	position: relative;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	aspect-ratio: 1;
	/* Mantiene proporción cuadrada */
	background-size: cover;
	background-position: center;
	transition: transform .3s ease-in-out;
}

.overlay-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ✅ Overlay adaptado para que sea responsive */
.overlay-content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	height: 90%;
	background: rgba(0, 0, 0, .85);
	color: white;
	padding: 12px;
	opacity: 0;
	transition: opacity .3s ease-in-out, transform .3s ease-in-out;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transform: translate(-50%, -50%) scale(1);
}

/* ✅ Mostrar overlay SOLO al hacer hover en PC */
@media (min-width: 1025px) {
	.overlay-box:hover .overlay-content {
		opacity: 1;
		transform: translate(-50%, -50%) scale(.9);
	}
}

/* ✅ En móviles, el overlay aparece al hacer clic */
@media (max-width: 1024px) {
	.overlay-box:active .overlay-content {
		opacity: 1;
		transform: translate(-50%, -50%) scale(.9);
	}
}

/* ✅ AJUSTES EN MÓVILES */
@media (max-width: 768px) {
	.overlay-content {
		width: 95%;
		height: 95%;
		padding: 10px;
	}
	
	.overlay-content h3 {
		font-size: 16px;
		margin-bottom: 6px;
	}
	
	.overlay-content p {
		font-size: 13px;
		margin-bottom: 6px;
	}
	
	.overlay-icon {
		font-size: 26px;
		position: relative;
		top: -6px;
	}
}

/* ✅ Ajuste extra en móviles más pequeños */
@media (max-width: 480px) {
	.overlay-content {
		width: 100%;
		height: 100%;
		padding: 8px;
	}
	
	.overlay-content h3 {
		font-size: 15px;
		margin-bottom: 5px;
	}
	
	.overlay-content p {
		font-size: 12px;
		margin-bottom: 5px;
	}
	
	.overlay-icon {
		top: -8px;
	}
}

/* End custom CSS */

/* Start custom CSS for heading, class: .elementor-element-0cd401e */

/* Centrar títulos globalmente */
h1, h2, h3, .video-title {
	text-align: center !important;
	/* Forzar el centrado */
	width: 100%;
	margin: 15px auto 8px auto;
	/* Centrado verticalmente */
	display: block;
}
