/* elegant/slider — loaded on the front end AND inside the block-editor canvas (enqueue_block_assets). */
/* ============================================================
   [v1.14] elegant/slider — full-width photo banner slider
   ============================================================ */
.elegant-slider { position: relative; width: 100%; overflow: hidden; background: var(--slider-bg, var(--COLOR-BG-BRIGHTER, #f1efea)); }
@media (min-width: 750px) {
	/* Tall photos on wide screens: show the whole image, centred, on the slider background. */
	.elegant-slider--contain .elegant-slider__img--desktop { object-fit: contain; }
}
.elegant-slider__track {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch; scrollbar-width: none; outline: none;
}
.elegant-slider__track::-webkit-scrollbar { display: none; }
.elegant-slider__slide {
	position: relative; flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always;
	aspect-ratio: var(--slider-aspect-m, .75); display: block; color: inherit; text-decoration: none;
}
.elegant-slider__slide::after { display: none !important; }
.elegant-slider__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.elegant-slider__slide.has-mobile .elegant-slider__img--desktop { display: none; }
@media (min-width: 750px) {
	.elegant-slider__slide { aspect-ratio: var(--slider-aspect, 2.2); }
	.elegant-slider__slide.has-mobile .elegant-slider__img--desktop { display: block; }
	.elegant-slider__slide.has-mobile .elegant-slider__img--mobile { display: none; }
}
.elegant-slider__content {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 24px 56px; text-align: center; color: #fff;
	background: linear-gradient(to top, rgba(0,0,0,.45), rgba(0,0,0,0));
}
.elegant-slider__heading { margin: 0 0 14px; color: #fff; font-size: clamp(26px, 4vw, 48px); line-height: 1.1; }
.elegant-slider__btn {
	display: inline-block; padding: 14px 30px; background: #fff; color: #111 !important; -webkit-text-fill-color: #111;
	font-size: 13px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
}
.elegant-slider__btn::after { display: none !important; }
.elegant-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 46px; height: 46px; border-radius: 50%;
	border: 0; background: rgba(255,255,255,.85); color: #111; display: none; align-items: center; justify-content: center;
	cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.12); transition: background .15s ease;
}
.elegant-slider__arrow:hover { background: #fff; }
.elegant-slider__arrow svg { width: 20px; height: 20px; }
.elegant-slider__arrow--prev { left: 20px; }
.elegant-slider__arrow--next { right: 20px; }
@media (min-width: 750px) { .elegant-slider__arrow { display: inline-flex; } }
.elegant-slider__dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; justify-content: center; gap: 8px; pointer-events: none; }
.elegant-slider__dot {
	pointer-events: auto; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 99px; cursor: pointer;
	background: rgba(255,255,255,.6); box-shadow: 0 0 0 1px rgba(0,0,0,.12); transition: width .25s ease, background .25s ease;
}
.elegant-slider__dot.is-active { width: 24px; background: #fff; }

/* Video slides: always fill the frame. */
.elegant-slider__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; background: #111; }
.elegant-slider__text { margin: -4px 0 18px; color: #fff; font-size: 16px; }

/* Breathing room before the next homepage section (product grid sat flush against it). */
.elegant-slider { margin-bottom: 32px; }
@media (min-width: 750px) { .elegant-slider { margin-bottom: 56px; } }
