/* Arzobispado Slider 1.0.0 */

.arz-slider-wrap {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

/* Ancho completo: rompe el padding del contenedor del tema.
   --arz-vw lo fija el JS con el ancho real del documento (sin la barra de
   scroll); 100vw queda como respaldo si el JS no corre. */
.arz-slider-wrap.arz-fullbleed {
	width: var(--arz-vw, 100vw);
	max-width: var(--arz-vw, 100vw);
	margin-left: calc(50% - var(--arz-vw, 100vw) / 2);
	margin-right: calc(50% - var(--arz-vw, 100vw) / 2);
	margin-top: calc(-1 * var(--arz-pull, 0px));
}

.arz-slider {
	--arz-w: 1240;
	--arz-h: 500;
	--arz-max-h: 500px;
	position: relative;
	width: 100%;
	aspect-ratio: var(--arz-w) / var(--arz-h);
	max-height: var(--arz-max-h);
	overflow: hidden;
	background: #000;
	container-type: inline-size;
}

/* Fallback para navegadores sin aspect-ratio */
@supports not (aspect-ratio: 1240 / 500) {
	.arz-slider {
		height: 500px;
	}
}

.arz-slides {
	position: absolute;
	inset: 0;
}

.arz-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease, visibility 1s ease;
	pointer-events: none;
}

.arz-slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.arz-slide-link {
	display: block;
	position: absolute;
	inset: 0;
	text-decoration: none;
	box-shadow: none;
}

.arz-slide-link:focus-visible {
	outline: 3px solid #fff;
	outline-offset: -6px;
}

.arz-slide-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	margin: 0;
	padding: 0;
	border: 0;
	max-width: none;
	display: block;
}

.arz-slide-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	display: block;
}

.arz-slide-caption {
	position: absolute;
	top: 9.8%;
	left: 5.16%;
	width: 49%;
	max-width: 607px;
	display: block;
	color: #fff;
}

.arz-slide-title {
	display: block;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 400;
	color: #fff;
	font-size: clamp(15px, 2.82vw, 35px);
	line-height: 1.43;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

@supports (container-type: inline-size) {
	.arz-slide-title {
		font-size: clamp(15px, 2.82cqw, 35px);
	}
}

.arz-slide-date {
	display: block;
	margin-top: 0.6em;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(11px, 1.2vw, 15px);
	color: rgba(255, 255, 255, 0.85);
}

/* ---------- Flechas ---------- */

.arz-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 70px;
	height: 70px;
	min-width: 70px;
	min-height: 70px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.1);
	cursor: pointer;
	overflow: hidden;
	z-index: 10;
	appearance: none;
	box-shadow: none;
	transition: background 0.3s ease;
}

.arz-arrow:hover,
.arz-arrow:focus-visible {
	background: rgba(0, 0, 0, 0.35);
}

.arz-arrow:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.arz-prev { left: 30px; }
.arz-next { right: 30px; }

.arz-arrow-thumb {
	position: absolute;
	inset: 0;
	display: block;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 50%;
	opacity: 0;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.arz-prev .arz-arrow-thumb { transform: translateX(-100%); }
.arz-next .arz-arrow-thumb { transform: translateX(100%); }

.arz-arrow:hover .arz-arrow-thumb,
.arz-arrow:focus-visible .arz-arrow-thumb {
	transform: translateX(0);
	opacity: 1;
}

.arz-arrow-icon {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
}

.arz-arrow-icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.arz-next .arz-arrow-icon::before {
	transform: translate(-60%, -50%) rotate(45deg);
}

.arz-prev .arz-arrow-icon::before {
	transform: translate(-40%, -50%) rotate(-135deg);
}

/* ---------- Puntos ---------- */

.arz-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 14px;
	z-index: 10;
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 0 20px;
	flex-wrap: wrap;
}

.arz-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	cursor: pointer;
	appearance: none;
	box-shadow: none;
	transition: background 0.25s ease, transform 0.25s ease;
}

.arz-dot:hover {
	background: rgba(255, 255, 255, 0.8);
}

.arz-dot.is-active {
	background: #fff;
	transform: scale(1.3);
}

.arz-dot:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* ---------- Responsive ---------- */

@media (max-width: 778px) {
	/* En pantallas chicas la proporción 1240x500 deja el slider demasiado bajo
	   para que entre el título, así que se usa una más alta. */
	.arz-slider {
		aspect-ratio: 16 / 9;
		min-height: 220px;
		max-height: none;
	}

	.arz-arrow {
		width: 46px;
		height: 46px;
		min-width: 46px;
		min-height: 46px;
	}

	.arz-prev { left: 10px; }
	.arz-next { right: 10px; }

	.arz-arrow-icon::before {
		width: 9px;
		height: 9px;
	}

	.arz-slide-caption {
		width: auto;
		left: 6%;
		right: 6%;
		top: auto;
		bottom: 34px;
		max-width: none;
	}

	.arz-slide-title {
		font-size: clamp(15px, 4.4vw, 20px);
		-webkit-line-clamp: 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.arz-slide,
	.arz-arrow-thumb,
	.arz-dot {
		transition: none;
	}
}
