/* Slick Slider – Sustituto */
.ssr {
	--ssr-speed: 300ms;
	position: relative;
	width: 100%;
	margin: 0 0 1.5em;
}
.ssr__viewport {
	overflow: hidden;
	touch-action: pan-y;
}
.ssr__track {
	display: flex;
	transition: transform var(--ssr-speed) ease;
	will-change: transform;
}
.ssr__slide {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 0 100%;
	min-width: 0;
	box-sizing: border-box;
}
.ssr--carousel .ssr__slide {
	padding: 0 5px;
}
.ssr__media {
	display: block;
	flex: 1 1 auto;
}
.ssr__img {
	display: block;
	-webkit-user-drag: none;
	user-select: none;
	width: 100%;
	height: auto;
}
/* Todas las diapositivas igual de altas aunque las imágenes no lo sean */
.ssr:not(.ssr--fixed) .ssr__img {
	height: 100%;
	object-fit: cover;
}
.ssr--fixed .ssr__media,
.ssr--fixed .ssr__img {
	height: var(--ssr-h, 400px);
}
.ssr--fixed .ssr__img {
	object-fit: contain;
}
.ssr--fixed.ssr--fit .ssr__img {
	object-fit: cover;
}

/* Fundido: todas las diapositivas apiladas en la misma celda */
.ssr--fade .ssr__track {
	display: grid;
	transform: none !important;
}
.ssr--fade .ssr__slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--ssr-speed) ease, visibility 0s linear var(--ssr-speed);
}
.ssr--fade .ssr__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--ssr-speed) ease;
}

/* Texto sobre la imagen */
.ssr__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.5em 70px 2.5em;
	color: #fff;
	background: linear-gradient(to top, rgba(0, 0, 0, .65), rgba(0, 0, 0, 0));
}
.ssr__title {
	margin: 0 0 .3em;
	color: inherit;
	font-size: clamp(1.25rem, 2.5vw, 2.25rem);
	line-height: 1.2;
}
.ssr__text {
	max-width: 60ch;
}
.ssr__text p {
	margin: 0 0 .5em;
	color: inherit;
}
.ssr__more {
	display: inline-block;
	margin-top: .5em;
	padding: .55em 1.2em;
	border: 1px solid currentColor;
	color: #fff;
	text-decoration: none;
}
.ssr__more:hover,
.ssr__more:focus {
	background: #fff;
	color: #000;
}

/* Flechas (cuadradas y oscuras, como el original) */
.ssr__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 42px;
	height: 70px;
	margin-top: -35px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #2b2b2b;
	color: #fff;
	font-size: 42px;
	line-height: 64px;
	cursor: pointer;
	opacity: .9;
}
.ssr__arrow:hover,
.ssr__arrow:focus-visible {
	opacity: 1;
	background: #000;
}
.ssr__prev { left: 0; }
.ssr__next { right: 0; }

/* Modo centrado: la del medio grande, las de los lados pequeñas y difuminadas */
.ssr--center .ssr__track {
	align-items: center;
}
.ssr--center .ssr__slide {
	padding: 0;
	opacity: .45;
	transform: scale(.7);
	transition: transform var(--ssr-speed) ease, opacity var(--ssr-speed) ease;
}
.ssr--center .ssr__slide.is-center {
	opacity: 1;
	transform: none;
}
.ssr--center:not(.ssr--fixed) .ssr__img {
	height: auto;
}
.ssr--center .ssr__viewport {
	margin: 0 50px;
}
.ssr.is-snapping .ssr__track,
.ssr.is-snapping .ssr__slide {
	transition: none !important;
}
.ssr__arrow[disabled] {
	opacity: .35;
	cursor: default;
}

/* Puntos */
.ssr__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
}
.ssr__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c4c4c4;
	cursor: pointer;
}
.ssr__dot[aria-selected="true"] {
	background: #333;
}

.ssr:not(.is-ready) .ssr__arrow,
.ssr.no-arrows .ssr__arrow,
.ssr.no-dots .ssr__dots {
	display: none;
}

@media (max-width: 640px) {
	.ssr__content { padding: 1em 52px 2em; }
	.ssr__arrow { width: 32px; height: 54px; margin-top: -27px; font-size: 32px; line-height: 50px; }
	.ssr--center .ssr__viewport { margin: 0 36px; }
}
@media (prefers-reduced-motion: reduce) {
	.ssr__track,
	.ssr--fade .ssr__slide { transition: none; }
}
