/* La Caja - Slider | Kakun Media */
.lcs-slider { position: relative; width: 100%; height: 600px; overflow: hidden; background: #111; }
.lcs-slider.lcs-pantalla { height: 100vh; height: 100svh; min-height: 480px; }
.lcs-diapo { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 0s linear 1s; z-index: 1; }
.lcs-diapo.lcs-activa { opacity: 1; visibility: visible; transition: opacity 1s ease; z-index: 2; }
.lcs-fondo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.lcs-capa { position: absolute; inset: 0; background: #000; z-index: 1; pointer-events: none; }

.lcs-textos { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 120px 20px 40px; box-sizing: border-box; color: #fff; }
.lcs-sub, .lcs-titulo, .lcs-boton { opacity: 0; transform: translateY(30px); transition: opacity .5s cubic-bezier(.45,0,.55,1), transform .5s cubic-bezier(.45,0,.55,1); }
.lcs-activa .lcs-sub, .lcs-activa .lcs-titulo, .lcs-activa .lcs-boton { opacity: 1; transform: none; }
.lcs-activa .lcs-sub { transition-delay: .5s; }
.lcs-activa .lcs-titulo { transition-delay: .7s; }
.lcs-activa .lcs-boton { transition-delay: .9s; }

.lcs-sub { font-family: "Crimson Text", Georgia, serif; font-size: 18px; line-height: 30px; letter-spacing: 2px; text-transform: uppercase; color: #fff; }
.lcs-titulo { font-family: "Crimson Text", Georgia, serif; font-size: 30px; line-height: 40px; letter-spacing: 2px; text-transform: uppercase; color: #fff; margin-top: 40px; max-width: 900px; }
.lcs-boton { display: inline-block; margin-top: 50px; font-family: Lato, Arial, sans-serif; font-size: 15px; line-height: 54px; letter-spacing: 3px; font-weight: 700; text-transform: uppercase; color: #fff !important; background: rgba(201,184,166,.8); border: 2px solid #fff; padding: 0 36px; text-decoration: none !important; }
.lcs-boton:hover { background: rgba(201,184,166,1); }

.lcs-flecha { position: absolute; top: 50%; z-index: 5; width: 50px; height: 50px; margin-top: -25px; border: 0; background: rgba(0,0,0,.25); cursor: pointer; opacity: 0; transition: opacity .3s, background .3s; padding: 0; }
.lcs-slider:hover .lcs-flecha { opacity: 1; }
.lcs-flecha:hover { background: rgba(0,0,0,.5); }
.lcs-flecha::before { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; border-top: 2px solid #fff; border-left: 2px solid #fff; }
.lcs-ant { left: 20px; }
.lcs-sig { right: 20px; }
.lcs-ant::before { transform: translate(-30%, -50%) rotate(-45deg); }
.lcs-sig::before { transform: translate(-70%, -50%) rotate(135deg); }

.lcs-puntos { position: absolute; bottom: 30px; left: 0; right: 0; z-index: 5; text-align: center; }
.lcs-puntos button { width: 10px; height: 10px; border-radius: 50%; border: 2px solid #fff; background: transparent; margin: 0 5px; padding: 0; cursor: pointer; }
.lcs-puntos button.lcs-activa { background: #fff; }

@media (max-width: 767px) {
	.lcs-sub { font-size: 16px; }
	.lcs-titulo { font-size: 26px; line-height: 36px; margin-top: 25px; }
	.lcs-boton { margin-top: 35px; line-height: 46px; padding: 0 24px; font-size: 13px; }
	.lcs-flecha { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.lcs-diapo, .lcs-sub, .lcs-titulo, .lcs-boton { transition: none !important; transform: none !important; }
}

/* Flechas: contenedor negro al 30 %, flecha blanca (sin que el tema cambie su color) */
html body .lcs-slider .lcs-flecha {
	background: rgba(0, 0, 0, .3) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	transition: opacity .3s, background .3s !important;
}
html body .lcs-slider .lcs-flecha:hover,
html body .lcs-slider .lcs-flecha:focus { background: rgba(0, 0, 0, .55) !important; }
html body .lcs-slider .lcs-flecha::before { border-color: #fff !important; }
