/* SAMECOM banner slider. */

.samecom-slider { position: relative; overflow: hidden; border-radius: var(--samecom-radius); background: var(--samecom-soft); }
.samecom-slider__track { display: grid; }
.samecom-slide { grid-area: 1 / 1; position: relative; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.samecom-slide.is-active { opacity: 1; visibility: visible; }
.samecom-slide picture, .samecom-slide img { display: block; width: 100%; }
.samecom-slider[style*="--samecom-slider-ratio"] .samecom-slide img { aspect-ratio: var(--samecom-slider-ratio); height: auto; object-fit: cover; }
.samecom-slide__link { display: block; }
.samecom-slide__caption {
	position: absolute; inset-inline-start: clamp(16px, 6vw, 80px); bottom: clamp(36px, 8vw, 90px); max-width: min(560px, 80%);
	color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .45); pointer-events: none;
}
.samecom-slide__caption a { pointer-events: auto; text-shadow: none; }
.samecom-slide__title { font-size: clamp(1.4rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 10px; color: #fff; }
.samecom-slide__subtitle { font-size: clamp(.95rem, 1.8vw, 1.25rem); margin: 0 0 18px; }
.samecom-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 46px; height: 46px; border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .88); color: #111827; font-size: 1.8rem; line-height: 1; cursor: pointer; box-shadow: var(--samecom-shadow);
	display: flex; align-items: center; justify-content: center; padding-bottom: 4px;
}
.samecom-slider__arrow:hover { background: #fff; }
.samecom-slider__arrow--prev { inset-inline-start: 14px; }
.samecom-slider__arrow--next { inset-inline-end: 14px; }
[dir="rtl"] .samecom-slider__arrow { transform: translateY(-50%) scaleX(-1); }
.samecom-slider__dots { position: absolute; bottom: 14px; inset-inline: 0; z-index: 2; display: flex; justify-content: center; align-items: center; gap: 8px; }
.samecom-slider__dot { width: 12px; height: 12px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: rgba(255, 255, 255, .35); cursor: pointer; }
.samecom-slider__dot.is-active { background: #fff; width: 28px; border-radius: 999px; }
.samecom-slider__pause { margin-inline-start: 8px; min-width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .45); color: #fff; font-size: .75rem; cursor: pointer; }
.samecom-slider button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px rgba(0, 0, 0, .5); }
@media (max-width: 600px) {
	.samecom-slider { border-radius: 0; }
	.samecom-slider__arrow { width: 36px; height: 36px; font-size: 1.4rem; }
	.samecom-slide__caption { bottom: 44px; }
}
@media (prefers-reduced-motion: reduce) { .samecom-slide { transition: none; } }
