/**
 * Gamapack - gp-slider styles, site component (decision D3, 2026-10-23): copy of the Officina WP
 * 0.7 ow-slider.css, removed from the library in beta.12; classes renamed to gp-slider at step 6.1 (2026-10-25).
 * Colors and radius from the site tokens (site.css). Loaded with gp-slider.js.
 * "width: auto !important" on images: beats Elementor's image widget width (100%), needed for
 * the centered stacked layout. Image rules start with ".gp-slider": the file can load before
 * Elementor's CSS (head, 0.6.0) and ".elementor-widget-image img" would win (display: inline-block).
 */
.gp-slider.e-con { position: relative; padding: 8px 0 70px; }
.gp-slider.e-con, .gp-slider > .e-con-inner { --display: grid; display: grid; }
.gp-slider > .gp-slider__slide,
.gp-slider > .e-con-inner > .gp-slider__slide {
	grid-area: 1 / 1;           /* stacked images: height = tallest, no jumps */
	align-self: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s ease, visibility 0s linear .9s;
}
.gp-slider .gp-slider__slide.is-active,
.gp-slider:not(.is-ready) > .gp-slider__slide:first-child,
.gp-slider:not(.is-ready) > .e-con-inner > .gp-slider__slide:first-child { opacity: 1; visibility: visible; transition: opacity .9s ease; }
.gp-slider .gp-slider__slide img { display: block; max-height: 560px; width: auto !important; margin: 0 auto; }
.gp-slider .gp-slider__btn { /* ".gp-slider" in front: beats the Elementor kit button styles */
	position: absolute;
	top: calc(50% - 40px);
	z-index: 2;
	width: 48px;               /* touch target >= 44 px */
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	min-width: 0;
	box-shadow: none;
	color: var(--ow-color-text);
	background: var(--ow-color-surface);
	border: 1.5px solid var(--ow-color-text);
	border-radius: var(--ow-radius);
	cursor: pointer;
}
.gp-slider .gp-slider__btn:hover,
.gp-slider .gp-slider__btn:focus-visible { color: var(--ow-color-surface); background: var(--ow-color-text); }
.gp-slider .gp-slider__btn--prev { left: 10px; }
.gp-slider .gp-slider__btn--next { right: 10px; }
.gp-slider .gp-slider__btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.gp-slider .gp-slider__dots { position: absolute; left: 0; right: 0; bottom: 3px; display: flex; justify-content: center; }
.gp-slider .gp-slider__dot { width: 40px; height: 24px; min-width: 0; padding: 0; line-height: 0; background: none; border: 0; box-shadow: none; cursor: pointer; }
.gp-slider .gp-slider__dot::before { content: ""; display: block; width: 28px; height: 3px; margin: 0 auto; border-radius: 2px; background: var(--ow-color-line); }
.gp-slider .gp-slider__dot[aria-current="true"]::before { background: var(--ow-color-primary); }
.gp-slider .gp-slider__btn:focus-visible,
.gp-slider .gp-slider__dot:focus-visible { outline: 2px solid var(--ow-color-primary); outline-offset: 2px; }
@media (max-width: 767px) { .gp-slider .gp-slider__slide img { max-height: none; width: 100% !important; height: auto; } }
@media (prefers-reduced-motion: reduce) { .gp-slider .gp-slider__slide { transition: none; } }
