/* Variables sobrescribibles desde el tema */
.rvl-slider {
	--rvl-height: 500px;
	--rvl-text-color: #fff;
	--rvl-gap: 1.5rem;
	--rvl-btn-bg: #fff;
	--rvl-btn-color: #111;
	--rvl-btn-radius: 4px;
	position: relative;
}
.rvl-slide { position: relative; height: var(--rvl-height); overflow: hidden; color: var(--rvl-text-color); }
.rvl-media, .rvl-media picture { position: relative; inset: 0; }
.rvl-media img, .rvl-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.rvl-overlay { position: absolute; inset: 0; background: var(--rvl-overlay-color); opacity: var(--rvl-overlay-opacity); }
.rvl-overlay--gradient {
	background: linear-gradient(var(--rvl-gradient-dir), var(--rvl-gradient-color), transparent);
	opacity: var(--rvl-gradient-opacity);
}
.rvl-content {
	position: absolute; inset: 0; z-index: 1; height: 100%; box-sizing: border-box; padding: var(--rvl-gap) calc(var(--rvl-gap) * 2);
	display: flex; flex-direction: column; justify-content: var(--rvl-v); align-items: var(--rvl-h); text-align: var(--rvl-text-align);
}
.rvl-title { margin: 0 0 .5rem; color: inherit; }
.rvl-subtitle { margin: 0 0 .75rem; font-size: 1.25em; color: inherit; }
.rvl-description { max-width: 40rem; color: inherit; }
.rvl-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1rem; }
.rvl-btn { display: inline-block; padding: .7em 1.4em; text-decoration: none; border-radius: var(--rvl-btn-radius); background: var(--rvl-btn-bg); color: var(--rvl-btn-color); border: 2px solid var(--rvl-btn-bg); }
.rvl-btn--secondary { background: transparent; color: var(--rvl-text-color); border-color: currentColor; }

/* Flechas y puntos (splide-core no incluye estilos de tema) */
.rvl-slider {
	--rvl-arrow-bg: rgba(0, 0, 0, .5);
	--rvl-arrow-color: #fff;
	--rvl-dot-color: #fff;
}
.rvl-slider .splide__arrow {
	position: absolute; top: 50%; z-index: 2; transform: translateY(-50%);
	display: flex; align-items: center; justify-content: center;
	width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: 50%;
	background: var(--rvl-arrow-bg); cursor: pointer; opacity: .8;
}
.rvl-slider .splide__arrow:hover:not(:disabled) { opacity: 1; }
.rvl-slider .splide__arrow:disabled { opacity: .3; cursor: default; }
.rvl-slider .splide__arrow svg { width: 1.2rem; height: 1.2rem; fill: var(--rvl-arrow-color); }
.rvl-slider .splide__arrow--prev { left: 1rem; }
.rvl-slider .splide__arrow--prev svg { transform: scaleX(-1); }
.rvl-slider .splide__arrow--next { right: 1rem; }
.rvl-slider .splide__pagination {
	position: absolute; bottom: 1rem; left: 0; right: 0; z-index: 2;
	display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none;
}
.rvl-slider .splide__pagination li { margin: 0; line-height: 0; }
.rvl-slider .splide__pagination__page {
	width: .7rem; height: .7rem; padding: 0; border: 0; border-radius: 50%;
	background: var(--rvl-dot-color); opacity: .5; cursor: pointer;
}
.rvl-slider .splide__pagination__page.is-active { opacity: 1; transform: scale(1.3); }
