/* Toscano – indicador de desplazamiento horizontal (ver assets/js/hscroll.js).
   El color del degradado sale de --tk-hs-bg (el fondo de la sección). */

.tk-hs {
	--tk-hs-bg: #ffffff;
	position: relative;
	min-width: 0;
}

.tk-hs .tk-hs__strip {
	overscroll-behavior-x: contain;
}

.tk-hs::before,
.tk-hs::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	width: 56px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}

.tk-hs::before {
	left: 0;
	background: linear-gradient(90deg, var(--tk-hs-bg) 30%, transparent);
}

.tk-hs::after {
	right: 0;
	background: linear-gradient(270deg, var(--tk-hs-bg) 30%, transparent);
}

.tk-hs.has-prev::before,
.tk-hs.has-next::after {
	opacity: 1;
}

.tk-hs .tk-hs__btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: -15px 0 0;
	padding: 0;
	border: 1px solid #e3ecee;
	border-radius: 50%;
	background: #ffffff;
	color: #032d35;
	box-shadow: 0 4px 12px -4px rgba(3, 45, 53, .3);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s ease, border-color .2s ease, color .2s ease;
}

.tk-hs .tk-hs__btn svg {
	width: 14px;
	height: 14px;
}

.tk-hs .tk-hs__btn:hover {
	border-color: var(--toscano-brand-teal, #009a9d);
	color: var(--toscano-brand-teal, #009a9d);
}

.tk-hs .tk-hs__btn--prev {
	left: var(--tk-hs-inset, 0);
}

.tk-hs .tk-hs__btn--next {
	right: var(--tk-hs-inset, 0);
}

.tk-hs.has-prev .tk-hs__btn--prev,
.tk-hs.has-next .tk-hs__btn--next {
	opacity: 1;
	visibility: visible;
}

/* La flecha de "más" late mientras no se ha tocado la fila */
.tk-hs.has-next:not(.is-touched) .tk-hs__btn--next svg {
	animation: tk-hs-nudge 1.4s ease-in-out infinite;
}

@keyframes tk-hs-nudge {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(3px); }
}

/* Amago de desplazamiento la primera vez que aparece */
.tk-hs .tk-hs__strip.is-peek {
	animation: tk-hs-peek 1.1s .3s cubic-bezier(.45, 0, .2, 1);
}

@keyframes tk-hs-peek {
	0%, 100% { transform: translateX(0); }
	45% { transform: translateX(-28px); }
}

@media (prefers-reduced-motion: reduce) {
	.tk-hs.has-next .tk-hs__btn--next svg,
	.tk-hs .tk-hs__strip.is-peek {
		animation: none;
	}
}
