/* Weby Slider – frontend */
.weby-slider {
	--weby-accent: #222;
	--weby-btn-text: #fff;
	--weby-minh-d: 480px;
	--weby-minh-m: 420px;
	--weby-speed: 600ms;
	position: relative;
	width: 100%;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--weby-radius, 0);
	line-height: 1.4;
}
.weby-slider *,
.weby-slider *::before,
.weby-slider *::after { box-sizing: border-box; }

.weby-slider__viewport { position: relative; overflow: hidden; width: 100%; }
.weby-slider__track {
	display: flex;
	align-items: stretch;
	width: 100%;
	transition: transform var(--weby-speed) cubic-bezier(.25,.8,.25,1);
	will-change: transform;
}
.weby-slider__slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	overflow: hidden;
}
/* Page builders with flex rows (Elementor containers, Gutenberg rows/columns): the slider has no
   intrinsic width (everything inside is absolutely positioned), so a shrink-to-fit parent would
   collapse it to 0 px. Make the wrapping widget take the full row width. */
.e-con > .elementor-widget:has(.weby-slider),
.e-con-inner > .elementor-widget:has(.weby-slider),
.elementor-widget-container:has(> .weby-slider),
.elementor-shortcode:has(> .weby-slider),
.wp-block-group.is-layout-flex > :has(.weby-slider) { width: 100%; max-width: 100%; flex: 1 1 100%; min-width: 0; }

/* Before JS runs, only the first slide is visible (no layout jump). */
.weby-slider:not(.is-ready) .weby-slider__slide:not(:first-child) { visibility: hidden; }

/* Fade: every slide is moved back onto position 0 by JS and cross-faded. */
.weby-slider--fade .weby-slider__track { transition: none; }
.weby-slider--fade .weby-slider__slide {
	opacity: 0;
	transition: opacity var(--weby-speed) ease, visibility 0s linear var(--weby-speed);
	visibility: hidden;
}
.weby-slider--fade .weby-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--weby-speed) ease, visibility 0s;
	z-index: 1;
}

/* Vertical: slides are stacked by JS and move up / down (like full-page sliders). */
.weby-slider--vertical .weby-slider__track { transition: none; }
.weby-slider--vertical .weby-slider__slide { transition: transform var(--weby-speed) cubic-bezier(.65,0,.35,1); }
.weby-slider--vertical .weby-slider__slide.is-active { z-index: 1; }
.weby-slider--vertical.is-instant .weby-slider__slide { transition: none; }

/* ---------- Image slide (finished artwork) ---------- */
.weby-slider__link,
.weby-slider__picture { display: block; width: 100%; height: 100%; }
.weby-slider__picture img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

/* Fixed ratio (optional, set in slider settings) */
.weby-slider--ratio-d .weby-slider__slide { aspect-ratio: var(--weby-ratio-d); }
.weby-slider--ratio-d .weby-slider__slide--image img { height: 100%; }

/* ---------- Content slide (background + heading + text + button) ---------- */
.weby-slider__slide--content {
	display: flex;
	align-items: center;
	min-height: var(--weby-minh-d);
	background: #333;
}
.weby-slider__bg,
.weby-slider__bg img,
.weby-slider__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.weby-slider__bg img { object-fit: cover; max-width: none; }
/* Themes/builders (Elementor, Divi, Astra …) set "img { height: auto }" with equal specificity – keep images filling the slide. */
.weby-slider .weby-slider__slide .weby-slider__bg img,
.weby-slider .weby-slider__slide .weby-slider__picture img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; margin: 0; }
.weby-slider .weby-slider__slide .weby-slider__picture img { position: static; }
.weby-slider__bg img,
.weby-slider__picture img,
.weby-slider__media img { object-position: var(--weby-bg-pos, center center); }
.weby-slider__overlay { background: var(--weby-ov-c, #000); pointer-events: none; }
.weby-slider__slide--dark .weby-slider__overlay { background: var(--weby-ov-c, #fff); }

.weby-slider__slide--valign-top { align-items: flex-start; }
.weby-slider__slide--valign-bottom { align-items: flex-end; }

.weby-slider__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 72px;
}
/* Text block: width + horizontal position follow the slide's alignment. */
.weby-slider__inner {
	max-width: var(--weby-content-w, 640px);
	margin: 0 auto;
	transform: translate(var(--weby-off-x, 0px), var(--weby-off-y, 0px));
}
.weby-slider__slide--align-left .weby-slider__inner { margin-left: 0; text-align: left; }
.weby-slider__slide--align-center .weby-slider__inner { text-align: center; }
.weby-slider__slide--align-right .weby-slider__inner { margin-right: 0; text-align: right; }

.weby-slider .weby-slider__slide .weby-slider__title {
	margin: 0 0 .4em;
	padding: 0;
	font-family: var(--weby-title-ff, inherit);
	font-size: var(--weby-title-d, 44px);
	font-weight: var(--weby-title-fw, 700);
	line-height: var(--weby-title-lh, 1.15);
	letter-spacing: var(--weby-title-ls, 0);
}
.weby-slider .weby-slider__slide .weby-slider__text {
	max-width: var(--weby-text-w, 520px);
	font-family: var(--weby-text-ff, inherit);
	font-size: var(--weby-text-d, 18px);
	font-weight: var(--weby-text-fw, 400);
	line-height: 1.5;
}
.weby-slider__slide--align-center .weby-slider__text { margin-left: auto; margin-right: auto; }
.weby-slider__slide--align-right .weby-slider__text { margin-left: auto; }
.weby-slider .weby-slider__slide .weby-slider__text p,
.weby-slider .weby-slider__slide .weby-slider__text span {
	margin: 0 0 .6em;
	padding: 0;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit;
	line-height: inherit !important;
	color: inherit !important;
}
.weby-slider .weby-slider__slide .weby-slider__text span { margin: 0; }
.weby-slider .weby-slider__text p:last-child { margin-bottom: 0; }
.weby-slider .weby-slider__text a { color: inherit; text-decoration: underline; }

/* Colors: slide's light/dark choice, unless a fixed color is set in slider settings. */
.weby-slider__slide--light .weby-slider__content { color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.3); }
.weby-slider__slide--dark .weby-slider__content { color: #1d1d1d; }
.weby-slider .weby-slider__slide--light .weby-slider__title { color: var(--weby-title-c, #fff); }
.weby-slider .weby-slider__slide--dark .weby-slider__title { color: var(--weby-title-c, #1d1d1d); }
.weby-slider .weby-slider__slide--light .weby-slider__text { color: var(--weby-text-c, #fff); }
.weby-slider .weby-slider__slide--dark .weby-slider__text { color: var(--weby-text-c, #1d1d1d); }

.weby-slider .weby-slider__slide .weby-slider__btn {
	display: inline-block;
	margin-top: 1.4em;
	padding: var(--weby-btn-py, 13px) var(--weby-btn-px, 29px);
	border: var(--weby-btn-bw, 0) solid var(--weby-btn-bc, #fff);
	border-radius: var(--weby-btn-r, 3px);
	background: var(--weby-accent);
	color: var(--weby-btn-text);
	font-family: var(--weby-btn-ff, inherit);
	font-size: var(--weby-btn-fs, 16px);
	font-weight: var(--weby-btn-fw, 600);
	line-height: 1.2;
	letter-spacing: var(--weby-btn-ls, normal);
	text-decoration: none;
	text-shadow: none;
	transition: filter .2s ease, transform .2s ease, background-color .2s ease, color .2s ease;
}
.weby-slider .weby-slider__slide .weby-slider__btn:hover,
.weby-slider .weby-slider__slide .weby-slider__btn:focus-visible,
.weby-slider .weby-slider__slide .weby-slider__btn.is-hover { filter: brightness(1.12); transform: translateY(-1px); }
.weby-slider--btn-hover .weby-slider__slide .weby-slider__btn:hover,
.weby-slider--btn-hover .weby-slider__slide .weby-slider__btn:focus-visible,
.weby-slider--btn-hover .weby-slider__slide .weby-slider__btn.is-hover,
.weby-slider .weby-slider__slide--btn-hover .weby-slider__btn:hover,
.weby-slider .weby-slider__slide--btn-hover .weby-slider__btn:focus-visible,
.weby-slider .weby-slider__slide--btn-hover .weby-slider__btn.is-hover {
	filter: none;
	background: var(--weby-btn-hbg, var(--weby-accent));
	color: var(--weby-btn-htx, var(--weby-btn-text));
}
.weby-slider--btn-hover-noborder .weby-slider__slide .weby-slider__btn:hover,
.weby-slider--btn-hover-noborder .weby-slider__slide .weby-slider__btn:focus-visible,
.weby-slider--btn-hover-noborder .weby-slider__slide .weby-slider__btn.is-hover { border-color: transparent; }

/* Small line above the title. */
.weby-slider .weby-slider__slide .weby-slider__kicker {
	margin: 0 0 .35em;
	padding: 0;
	font-family: var(--weby-kick-ff, var(--weby-title-ff, inherit));
	font-size: var(--weby-kick-d, 18px);
	font-weight: var(--weby-kick-fw, 700);
	letter-spacing: var(--weby-kick-ls, 1px);
	text-transform: var(--weby-kick-tt, uppercase);
	line-height: 1.2;
	color: var(--weby-kick-c, inherit);
}

/* Button style "circle": a round badge with an arrow that grows behind the text on hover. */
.weby-slider .weby-slider__slide .weby-btn--circle {
	position: relative;
	z-index: 0;
	display: inline-flex;
	align-items: center;
	min-height: var(--weby-btn-c, 48px);
	padding: 0 1.2em 0 calc(var(--weby-btn-c, 48px) + .75em);
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	color: var(--weby-btn-text);
	filter: none;
	transform: none;
}
.weby-slider .weby-slider__slide .weby-btn--circle::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 0;
	width: var(--weby-btn-c, 48px);
	height: var(--weby-btn-c, 48px);
	margin-top: calc(var(--weby-btn-c, 48px) / -2);
	border-radius: 999px;
	background: var(--weby-accent);
	transition: width .45s cubic-bezier(.65,0,.076,1), background-color .3s ease;
}
.weby-slider .weby-slider__slide .weby-btn--circle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(var(--weby-btn-c, 48px) / 2 - .55em);
	width: 1.1em;
	height: 1.1em;
	margin-top: -.55em;
	background-color: var(--weby-btn-arrow-c, #fff);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .45s cubic-bezier(.65,0,.076,1);
}
.weby-slider .weby-slider__slide .weby-btn--circle:hover,
.weby-slider .weby-slider__slide .weby-btn--circle:focus-visible,
.weby-slider .weby-slider__slide .weby-btn--circle.is-hover { background: transparent !important; color: var(--weby-btn-htx, var(--weby-btn-text)); transform: none; filter: none; }
.weby-slider .weby-slider__slide .weby-btn--circle:hover::before,
.weby-slider .weby-slider__slide .weby-btn--circle:focus-visible::before,
.weby-slider .weby-slider__slide .weby-btn--circle.is-hover::before { width: 100%; background: var(--weby-btn-hbg, var(--weby-accent)); }
.weby-slider .weby-slider__slide .weby-btn--circle:hover::after,
.weby-slider .weby-slider__slide .weby-btn--circle:focus-visible::after,
.weby-slider .weby-slider__slide .weby-btn--circle.is-hover::after { transform: translateX(.6em); background-color: var(--weby-btn-htx, var(--weby-btn-arrow-c, #fff)); }

/* Icon next to the button text (always visible, or sliding in on hover). */
.weby-slider .weby-slider__slide .weby-ico::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: .5em;
	vertical-align: -.14em;
	background-color: currentColor;
	-webkit-mask: var(--weby-ico) center / contain no-repeat;
	mask: var(--weby-ico) center / contain no-repeat;
	transition: width .25s ease, margin .25s ease, opacity .25s ease, transform .25s ease;
}
.weby-slider .weby-slider__slide .weby-ico--hover::after { width: 0; margin-left: 0; opacity: 0; }
.weby-slider .weby-slider__slide .weby-ico--hover:hover::after,
.weby-slider .weby-slider__slide .weby-ico--hover:focus-visible::after,
.weby-slider .weby-slider__slide .weby-ico--hover.is-hover::after { width: 1em; margin-left: .5em; opacity: 1; }
.weby-slider .weby-slider__slide .weby-ico--always:hover::after,
.weby-slider .weby-slider__slide .weby-ico--always.is-hover::after { transform: translateX(3px); }
.weby-ico--arrow { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E"); }
.weby-ico--chevron { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E"); }
.weby-ico--double { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 5l7 7-7 7M12 5l7 7-7 7'/%3E%3C/svg%3E"); }
.weby-ico--arrow-circle { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8M12.5 8.5L16 12l-3.5 3.5'/%3E%3C/svg%3E"); }
.weby-ico--arrow-up-right { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E"); }
.weby-ico--cart { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.3'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E"); }
.weby-ico--plus { --weby-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }

/* ---------- Free position (% of the slide – stays on the same spot of the image) ---------- */
.weby-slider .weby-slider__slide--free .weby-slider__content {
	position: absolute;
	z-index: 1;
	top: var(--weby-fy, 35%);
	left: var(--weby-fx, 8%);
	width: auto;
	max-width: calc(100% - var(--weby-fx, 8%));
	margin: 0;
	padding: 0 24px 0 0;
}
.weby-slider .weby-slider__slide--free .weby-slider__inner { margin: 0; transform: none; }

/* ---------- Split layout: text on a color + image beside it ---------- */
.weby-slider .weby-slider__slide--split {
	display: flex;
	align-items: stretch;
	background: var(--weby-slide-bg, #e3ebf0);
}
.weby-slider__slide--split-left { flex-direction: row-reverse; }
.weby-slider__split-text {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	min-width: 0;
}
.weby-slider__slide--split.weby-slider__slide--valign-top .weby-slider__split-text { align-items: flex-start; }
.weby-slider__slide--split.weby-slider__slide--valign-bottom .weby-slider__split-text { align-items: flex-end; }
.weby-slider__slide--split .weby-slider__content { max-width: none; margin: 0; padding: 56px 64px; text-shadow: none; }
.weby-slider__split-media {
	position: relative;
	flex: 0 0 var(--weby-img-w, 50%);
	max-width: var(--weby-img-w, 50%);
	padding: var(--weby-img-pad, 0);
}
.weby-slider__split-media .weby-slider__media { display: block; width: 100%; height: 100%; }
.weby-slider__split-media .weby-slider__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border-radius: var(--weby-img-r, 0); }
.weby-slider__slide--fit-contain .weby-slider__split-media .weby-slider__media img { object-fit: contain; }

/* ---------- Arrows & dots ---------- */
.weby-slider .weby-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--weby-arr-s, 44px);
	height: var(--weby-arr-s, 44px);
	margin: calc(var(--weby-arr-s, 44px) / -2) 0 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--weby-arr-bg, rgba(255,255,255,.85));
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
	color: var(--weby-arr-c, #222);
	cursor: pointer;
	opacity: 0;
	transition: opacity .25s ease, background-color .2s ease, color .2s ease;
}
.weby-slider--arrow-rounded .weby-slider__arrow { border-radius: 6px; }
.weby-slider--arrow-square .weby-slider__arrow { border-radius: 0; }
.weby-slider:hover .weby-slider__arrow,
.weby-slider--arrows-always .weby-slider__arrow,
.weby-slider .weby-slider__arrow:focus-visible { opacity: 1; }
.weby-slider .weby-slider__arrow:hover { background: var(--weby-arr-hbg, #fff); color: var(--weby-arr-hc, var(--weby-arr-c, #222)); }
.weby-slider__arrow--prev { left: var(--weby-arr-off, 16px); }
.weby-slider__arrow--next { right: var(--weby-arr-off, 16px); }
.weby-slider__arrow span {
	display: block;
	width: calc(var(--weby-arr-s, 44px) / 4);
	height: calc(var(--weby-arr-s, 44px) / 4);
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}
.weby-slider__arrow--prev span { transform: translateX(2px) rotate(-135deg); }
.weby-slider__arrow--next span { transform: translateX(-2px) rotate(45deg); }

/* ---------- Entrance animations (text, button, background) ---------- */
.weby-anim-t-fade .weby-slider__kicker, .weby-anim-t-fade .weby-slider__title, .weby-anim-t-fade .weby-slider__text { --weby-from: none; }
.weby-anim-t-fade-up .weby-slider__kicker, .weby-anim-t-fade-up .weby-slider__title, .weby-anim-t-fade-up .weby-slider__text { --weby-from: translateY(30px); }
.weby-anim-t-fade-down .weby-slider__kicker, .weby-anim-t-fade-down .weby-slider__title, .weby-anim-t-fade-down .weby-slider__text { --weby-from: translateY(-30px); }
.weby-anim-t-fade-left .weby-slider__kicker, .weby-anim-t-fade-left .weby-slider__title, .weby-anim-t-fade-left .weby-slider__text { --weby-from: translateX(50px); }
.weby-anim-t-fade-right .weby-slider__kicker, .weby-anim-t-fade-right .weby-slider__title, .weby-anim-t-fade-right .weby-slider__text { --weby-from: translateX(-50px); }
.weby-anim-t-zoom .weby-slider__kicker, .weby-anim-t-zoom .weby-slider__title, .weby-anim-t-zoom .weby-slider__text { --weby-from: scale(.85); }
.weby-anim-t-blur .weby-slider__kicker, .weby-anim-t-blur .weby-slider__title, .weby-anim-t-blur .weby-slider__text { --weby-from: none; --weby-from-f: blur(10px); }
.weby-anim-b-fade .weby-slider__btn { --weby-from: none; }
.weby-anim-b-fade-up .weby-slider__btn { --weby-from: translateY(30px); }
.weby-anim-b-fade-down .weby-slider__btn { --weby-from: translateY(-30px); }
.weby-anim-b-fade-left .weby-slider__btn { --weby-from: translateX(50px); }
.weby-anim-b-fade-right .weby-slider__btn { --weby-from: translateX(-50px); }
.weby-anim-b-zoom .weby-slider__btn { --weby-from: scale(.8); }
.weby-anim-b-blur .weby-slider__btn { --weby-from: none; --weby-from-f: blur(10px); }

@keyframes weby-in {
	from { opacity: 0; transform: var(--weby-from, none); filter: var(--weby-from-f, none); }
	to { opacity: 1; transform: none; filter: none; }
}
/* Hidden until its slide is shown; then it plays (title → text → button). */
.weby-slider.is-ready [class*="weby-anim-t-"]:not(.is-active) .weby-slider__kicker,
.weby-slider.is-ready [class*="weby-anim-t-"]:not(.is-active) .weby-slider__title,
.weby-slider.is-ready [class*="weby-anim-t-"]:not(.is-active) .weby-slider__text,
.weby-slider.is-ready [class*="weby-anim-b-"]:not(.is-active) .weby-slider__btn { opacity: 0; transition: opacity .3s ease; }
.weby-slider [class*="weby-anim-t-"].is-active .weby-slider__kicker,
.weby-slider [class*="weby-anim-t-"].is-active .weby-slider__title { animation: weby-in var(--weby-anim-dur, 800ms) cubic-bezier(.2,.7,.2,1) backwards; }
.weby-slider [class*="weby-anim-t-"].is-active .weby-slider__text { animation: weby-in var(--weby-anim-dur, 800ms) cubic-bezier(.2,.7,.2,1) var(--weby-anim-stag, 150ms) backwards; }
.weby-slider [class*="weby-anim-b-"].is-active .weby-slider__btn { animation: weby-in var(--weby-anim-dur, 800ms) cubic-bezier(.2,.7,.2,1) calc(var(--weby-anim-stag, 150ms) * 2) backwards; }

/* Slow background zoom (Ken Burns). */
@keyframes weby-zoom-in { from { transform: scale(1); } to { transform: scale(1.08); } }
@keyframes weby-zoom-out { from { transform: scale(1.08); } to { transform: scale(1); } }
.weby-anim-bg-zoom-in.is-active .weby-slider__bg img,
.weby-anim-bg-zoom-in.is-active .weby-slider__picture img,
.weby-anim-bg-zoom-in.is-active .weby-slider__media img { animation: weby-zoom-in 9s ease-out both; }
.weby-anim-bg-zoom-out.is-active .weby-slider__bg img,
.weby-anim-bg-zoom-out.is-active .weby-slider__picture img,
.weby-anim-bg-zoom-out.is-active .weby-slider__media img { animation: weby-zoom-out 9s ease-out both; }

.weby-slider__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: var(--weby-dot-off, 14px);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(var(--weby-dot, 10px) * .8);
	padding: 0 var(--weby-dot-off, 14px);
	pointer-events: none;
}
.weby-slider--dots-bottom-left .weby-slider__dots { justify-content: flex-start; }
.weby-slider--dots-bottom-right .weby-slider__dots { justify-content: flex-end; }
.weby-slider--dots-left .weby-slider__dots,
.weby-slider--dots-right .weby-slider__dots {
	top: 50%;
	bottom: auto;
	left: var(--weby-dot-off, 14px);
	right: auto;
	flex-direction: column;
	padding: 0;
	transform: translateY(-50%);
}
.weby-slider--dots-right .weby-slider__dots { left: auto; right: var(--weby-dot-off, 14px); }
.weby-slider .weby-slider__dot {
	flex: 0 0 auto;
	width: var(--weby-dot, 10px);
	height: var(--weby-dot, 10px);
	margin: 0;
	padding: 0;
	border: max(1px, calc(var(--weby-dot, 10px) / 6)) solid var(--weby-dot-c, #fff);
	border-radius: 50%;
	background: rgba(0,0,0,.2);
	background: color-mix(in srgb, var(--weby-dot-c, #fff) 25%, transparent);
	box-shadow: 0 0 2px rgba(0,0,0,.35);
	cursor: pointer;
	pointer-events: auto;
	transition: background .2s ease, transform .2s ease, width .25s ease, height .25s ease;
}
.weby-slider .weby-slider__dot[aria-current="true"] { background: var(--weby-dot-a, #fff); border-color: var(--weby-dot-a, #fff); transform: scale(1.15); }
.weby-slider--dot-square .weby-slider__dot { border-radius: 2px; }
/* Lines: thin bars, the active one longer and solid. */
.weby-slider--dot-line .weby-slider__dot {
	width: calc(var(--weby-dot, 10px) * 2.2);
	height: max(2px, calc(var(--weby-dot, 10px) / 4));
	border: 0;
	border-radius: 2px;
	background: var(--weby-dot-c, #fff);
	opacity: .55;
	box-shadow: none;
}
.weby-slider--dot-line .weby-slider__dot[aria-current="true"] { width: calc(var(--weby-dot, 10px) * 4); opacity: 1; transform: none; }
.weby-slider--dot-line.weby-slider--dots-left .weby-slider__dot,
.weby-slider--dot-line.weby-slider--dots-right .weby-slider__dot { width: max(2px, calc(var(--weby-dot, 10px) / 4)); height: calc(var(--weby-dot, 10px) * 2.2); }
.weby-slider--dot-line.weby-slider--dots-left .weby-slider__dot[aria-current="true"],
.weby-slider--dot-line.weby-slider--dots-right .weby-slider__dot[aria-current="true"] { width: max(2px, calc(var(--weby-dot, 10px) / 4)); height: calc(var(--weby-dot, 10px) * 4); }
.weby-slider--dot-pill .weby-slider__dot { border-radius: 999px; }
.weby-slider--dot-pill .weby-slider__dot[aria-current="true"] { width: calc(var(--weby-dot, 10px) * 2.6); transform: none; }
.weby-slider--dot-pill.weby-slider--dots-left .weby-slider__dot[aria-current="true"],
.weby-slider--dot-pill.weby-slider--dots-right .weby-slider__dot[aria-current="true"] { width: var(--weby-dot, 10px); height: calc(var(--weby-dot, 10px) * 2.6); }
/* Keep arrows clear of side dots. */
.weby-slider--dots-left .weby-slider__arrow--prev { left: calc(var(--weby-dot-off, 14px) + var(--weby-dot, 10px) + 20px); }
.weby-slider--dots-right .weby-slider__arrow--next { right: calc(var(--weby-dot-off, 14px) + var(--weby-dot, 10px) + 20px); }

.weby-slider__empty {
	padding: 60px 20px;
	border: 2px dashed #c3c4c7;
	background: #f6f7f7;
	color: #50575e;
	text-align: center;
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.weby-slider__slide--content { min-height: var(--weby-minh-m); }
	.weby-slider--ratio-d .weby-slider__slide { aspect-ratio: auto; }
	.weby-slider--ratio-m .weby-slider__slide { aspect-ratio: var(--weby-ratio-m); }
	.weby-slider__content { padding: 32px 22px 44px; }
	.weby-slider .weby-slider__slide--split { flex-direction: column; min-height: 0; }
	.weby-slider__slide--split .weby-slider__content { padding: 28px 22px 44px; }
	.weby-slider__slide--mimg-top .weby-slider__split-media { order: -1; }
	.weby-slider__slide--mimg-hide .weby-slider__split-media { display: none; }
	.weby-slider__split-media { flex: 0 0 auto; max-width: none; }
	.weby-slider__split-media .weby-slider__media img { height: auto; }
	.weby-slider .weby-slider__slide .weby-slider__title { font-size: var(--weby-title-m, 28px); }
	.weby-slider .weby-slider__slide .weby-slider__kicker { font-size: var(--weby-kick-m, 14px); }
	.weby-slider .weby-slider__slide .weby-slider__text { font-size: var(--weby-text-m, 15px); }
	.weby-slider .weby-slider__slide .weby-slider__btn { font-size: var(--weby-btn-fs-m, var(--weby-btn-fs, 16px)); }
	.weby-slider:not(.weby-slider--arrows-mobile) .weby-slider__arrow { display: none; }
	/* Side dots hug the edge on phones so they never sit on top of the text. */
	.weby-slider--dots-left .weby-slider__dots { left: min(var(--weby-dot-off, 14px), 12px); }
	.weby-slider--dots-right .weby-slider__dots { right: min(var(--weby-dot-off, 14px), 12px); }
	.weby-slider--dot-line.weby-slider--dots-left .weby-slider__dot,
	.weby-slider--dot-line.weby-slider--dots-right .weby-slider__dot { height: min(calc(var(--weby-dot, 10px) * 2.2), 32px); }
	.weby-slider--dot-line.weby-slider--dots-left .weby-slider__dot[aria-current="true"],
	.weby-slider--dot-line.weby-slider--dots-right .weby-slider__dot[aria-current="true"] { height: min(calc(var(--weby-dot, 10px) * 4), 56px); }
	.weby-slider--arrows-mobile .weby-slider__arrow { opacity: 1; --weby-arr-off: 8px; }

	.weby-slider .weby-slider__slide--free .weby-slider__content {
		top: var(--weby-fy-m, var(--weby-fy, 35%));
		left: var(--weby-fx-m, var(--weby-fx, 8%));
		max-width: calc(100% - var(--weby-fx-m, var(--weby-fx, 8%)));
		padding: 0 16px 0 0;
	}
	.weby-slider .weby-slider__slide--free .weby-slider__inner { transform: none; }

	/* Per-slide mobile position + image focus. */
	.weby-slider__inner { transform: translate(var(--weby-off-x-m, 0px), var(--weby-off-y-m, 0px)); }
	.weby-slider__bg img,
	.weby-slider__picture img,
	.weby-slider__media img { object-position: var(--weby-bg-pos-m, var(--weby-bg-pos, center center)); }
	.weby-slider__slide--malign-left .weby-slider__inner { margin-left: 0; margin-right: auto; text-align: left; }
	.weby-slider__slide--malign-center .weby-slider__inner { margin-left: auto; margin-right: auto; text-align: center; }
	.weby-slider__slide--malign-right .weby-slider__inner { margin-left: auto; margin-right: 0; text-align: right; }
	.weby-slider__slide--malign-left .weby-slider__text { margin-left: 0; margin-right: auto; }
	.weby-slider__slide--malign-center .weby-slider__text { margin-left: auto; margin-right: auto; }
	.weby-slider__slide--malign-right .weby-slider__text { margin-left: auto; margin-right: 0; }
	.weby-slider__slide--mvalign-top { align-items: flex-start; }
	.weby-slider__slide--mvalign-center { align-items: center; }
	.weby-slider__slide--mvalign-bottom { align-items: flex-end; }
	.weby-slider__slide--split.weby-slider__slide--mvalign-top .weby-slider__split-text { align-items: flex-start; }
	.weby-slider__slide--split.weby-slider__slide--mvalign-center .weby-slider__split-text { align-items: center; }
	.weby-slider__slide--split.weby-slider__slide--mvalign-bottom .weby-slider__split-text { align-items: flex-end; }
}

/* Slider height per device: full screen or fixed px (images fill and are cropped around their focus point). */
@media (min-width: 768px) {
	.weby-slider--hd-screen .weby-slider__slide,
	.weby-slider--hd-px .weby-slider__slide { min-height: 0; aspect-ratio: auto; }
	.weby-slider--hd-screen .weby-slider__slide { height: calc(100vh - var(--weby-hoff-d, 0px)); height: calc(100svh - var(--weby-hoff-d, 0px)); }
	.weby-slider--hd-px .weby-slider__slide { height: var(--weby-h-d, 600px); }
}
@media (max-width: 767px) {
	.weby-slider--hm-screen .weby-slider__slide,
	.weby-slider--hm-px .weby-slider__slide { min-height: 0; aspect-ratio: auto; }
	.weby-slider--hm-screen .weby-slider__slide { height: calc(100vh - var(--weby-hoff-m, 0px)); height: calc(100svh - var(--weby-hoff-m, 0px)); }
	.weby-slider--hm-px .weby-slider__slide { height: var(--weby-h-m, 500px); }
	/* Split slides on a full-height phone screen: image takes the space left by the text. */
	.weby-slider--hm-screen .weby-slider__slide--split .weby-slider__split-media,
	.weby-slider--hm-px .weby-slider__slide--split .weby-slider__split-media { flex: 1 1 auto; min-height: 0; }
	.weby-slider--hm-screen .weby-slider__slide--split .weby-slider__media img,
	.weby-slider--hm-px .weby-slider__slide--split .weby-slider__media img { height: 100%; }
}

/* Arrows / dots on or off per device. */
@media (min-width: 768px) {
	.weby-slider--no-arrows-d .weby-slider__arrow,
	.weby-slider--no-dots-d .weby-slider__dots { display: none; }
}
@media (max-width: 767px) {
	.weby-slider--no-dots-m .weby-slider__dots { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.weby-slider { --weby-speed: 1ms; }
	.weby-slider .weby-slider__slide * { animation: none !important; }
}

/* ---------- Frontend "Uredi slider" button (logged-in editors only) ---------- */
.weby-slider-edit {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 20;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 0;
	border-radius: 999px;
	background: #1d2327;
	color: #fff;
	font: 600 13px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	box-shadow: 0 4px 14px rgba(0,0,0,.25);
	cursor: pointer;
	opacity: .9;
}
.weby-slider-edit:hover,
.weby-slider-edit:focus-visible { opacity: 1; background: #2271b1; }
.weby-slider-edit-data { display: none; }
