/* Aurora Slider runtime styles */
.as-slider {
	--as-accent: #7c5cff;
	--as-radius: 0px;
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: var(--as-radius);
	isolation: isolate;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	box-sizing: border-box;
	line-height: normal;
}
.as-slider *,
.as-slider *::before,
.as-slider *::after { box-sizing: border-box; }
.as-slider:focus-visible { box-shadow: 0 0 0 3px var(--as-accent); }
.as-layout-boxed { margin-left: auto; margin-right: auto; }
.as-shadow-soft { box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.as-shadow-medium { box-shadow: 0 18px 50px rgba(0,0,0,.3); }
.as-shadow-strong { box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.as-shadow-glow { box-shadow: 0 0 60px var(--as-accent); }

.as-stage {
	position: absolute;
	inset: 0;
	overflow: hidden;
	perspective: 2000px;
	touch-action: pan-y;
}

.as-slide {
	position: absolute;
	inset: 0;
	visibility: hidden;
	z-index: 1;
	backface-visibility: hidden;
	overflow: hidden;
}
.as-slider:not(.as-ready) .as-slide:first-child,
.as-slide.as-active { visibility: visible; }
.as-slide.as-active { z-index: 2; }
.as-slide.as-leaving { z-index: 2; }
.as-slide.as-entering { z-index: 3; }
.as-slide.as-on-top { z-index: 4; }

/* Background */
.as-bg { position: absolute; inset: 0; overflow: hidden; }
.as-scroll-px .as-bg { top: -15%; bottom: -15%; will-change: transform; }
.as-bg-media {
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	transform-origin: center;
}
.as-bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.as-bg-iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	border: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.as-bg-overlay { position: absolute; inset: 0; pointer-events: none; }
.as-fx { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
.as-slide-link { position: absolute; inset: 0; z-index: 1; }

/* Layer grid: a fixed-size design canvas scaled to fit */
.as-grid {
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: 0 0;
	z-index: 2;
	pointer-events: none;
}
.as-slider:not(.as-ready) .as-grid { visibility: hidden; }
.as-layer { position: absolute; pointer-events: auto; }
.as-layer:not(.as-hasw) { white-space: nowrap; }
.as-layer.as-hasw .as-el,
.as-layer.as-hasw .as-link-wrap { width: 100%; }
.as-layer.as-hash .as-px,
.as-layer.as-hash .as-anim,
.as-layer.as-hash .as-loop,
.as-layer.as-hash .as-link-wrap,
.as-layer.as-hash .as-el { height: 100%; }
.as-px, .as-anim, .as-loop { will-change: transform; }

.as-el {
	display: block;
	margin: 0;
	font-size: inherit;
	color: var(--as-c, inherit);
	background: var(--as-bg, transparent);
	transition: color .3s, background .3s, transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, opacity .3s, filter .3s;
	text-decoration: none;
	font-family: inherit;
	letter-spacing: inherit;
}
.as-slider .as-el { max-width: none; }
.as-el-heading, .as-el-text { padding: 0; }
.as-el a { color: inherit; }
.as-link-wrap { display: block; color: inherit; text-decoration: none; cursor: pointer; }
.as-el-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	cursor: pointer;
	border: 0;
	font: inherit;
	line-height: 1.2;
	text-align: center;
	user-select: none;
}
.as-el-button:focus-visible { outline: 3px solid var(--as-accent); outline-offset: 3px; }
.as-el-image img { display: block; width: 100%; height: auto; border-radius: inherit; }
.as-layer.as-hash .as-el-image img { height: 100%; }
.as-el-video iframe,
.as-el-video video { display: block; width: 100%; height: 100%; border: 0; aspect-ratio: 16 / 9; }
.as-layer.as-hash .as-el-video iframe,
.as-layer.as-hash .as-el-video video { aspect-ratio: auto; }
[data-action] { cursor: pointer; }

/* Split text */
.as-w { display: inline-block; white-space: nowrap; }
.as-c { display: inline-block; white-space: pre; }

/* Hover effects */
.as-has-hover:hover { color: var(--as-hc, var(--as-c)); background: var(--as-hbg, var(--as-bg, transparent)); }
.as-hover-grow:hover { transform: scale(1.06); }
.as-hover-shrink:hover { transform: scale(.94); }
.as-hover-lift:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(0,0,0,.28); }
.as-hover-glow:hover { box-shadow: 0 0 0 2px var(--as-accent), 0 0 34px var(--as-accent); }
.as-hover-dim:hover { opacity: .75; }
.as-hover-tilt:hover { transform: perspective(600px) rotateX(6deg) rotateY(-8deg) scale(1.03); }
.as-hover-float:hover { transform: translateY(-6px); }
.as-hover-rotate:hover { transform: rotate(-4deg) scale(1.04); }
.as-hover-skew:hover { transform: skewX(-8deg); }
.as-hover-brighten:hover { filter: brightness(1.2) saturate(1.2); }
.as-hover-press:hover { transform: scale(.96); }
.as-hover-shine { position: relative; overflow: hidden; }
.as-hover-shine::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); transition: left .7s ease; pointer-events: none; }
.as-hover-shine:hover::after { left: 130%; }
.as-hover-underline { background-image: linear-gradient(currentColor, currentColor); background-size: 0% 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s; }
.as-hover-underline:hover { background-size: 100% 2px; }

/* Arrows */
.as-arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin: -26px 0 0;
	padding: 0;
	border: 0;
	color: #fff;
	background: rgba(0,0,0,.28);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	cursor: pointer;
	opacity: .85;
	transition: opacity .25s, background .25s, transform .25s;
}
.as-arrow svg { width: 22px; height: 22px; }
.as-arrow:hover { opacity: 1; background: var(--as-accent); }
.as-arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.as-arrow:disabled { opacity: .25; pointer-events: none; }
.as-prev { left: 20px; }
.as-next { right: 20px; }
.as-next svg { transform: rotate(180deg); }
.as-arrow-round { border-radius: 50%; }
.as-arrow-square { border-radius: 6px; }
.as-arrow-minimal { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.as-arrow-minimal svg { width: 34px; height: 34px; filter: drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
.as-arrow-minimal:hover { background: none; color: var(--as-accent); }
.as-arrow-bar { top: 0; bottom: 0; height: auto; margin: 0; width: 64px; border-radius: 0; background: linear-gradient(90deg, rgba(0,0,0,.35), transparent); opacity: 0; }
.as-arrow-bar.as-next { background: linear-gradient(270deg, rgba(0,0,0,.35), transparent); }
.as-prev.as-arrow-bar { left: 0; }
.as-next.as-arrow-bar { right: 0; }
.as-slider:hover .as-arrow-bar { opacity: 1; }
.as-arrow-bar:hover { background: linear-gradient(90deg, rgba(0,0,0,.55), transparent); }
.as-arrow-bar.as-next:hover { background: linear-gradient(270deg, rgba(0,0,0,.55), transparent); }

/* Bullets */
.as-bullets {
	position: absolute;
	z-index: 10;
	display: flex;
	gap: 10px;
	align-items: center;
	bottom: 24px;
}
.as-pos-bottom-center { left: 50%; transform: translateX(-50%); }
.as-pos-bottom-left { left: 28px; }
.as-pos-bottom-right { right: 28px; }
.as-pos-right { right: 24px; top: 50%; bottom: auto; transform: translateY(-50%); flex-direction: column; }
.as-bullet {
	position: relative;
	padding: 0;
	border: 0;
	cursor: pointer;
	background: rgba(255,255,255,.45);
	transition: all .3s;
	color: #fff;
}
.as-bullet:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.as-bullets-dots .as-bullet { width: 10px; height: 10px; border-radius: 50%; }
.as-bullets-dots .as-bullet.as-on { background: #fff; transform: scale(1.35); box-shadow: 0 0 0 3px rgba(255,255,255,.25); }
.as-bullets-lines .as-bullet { width: 36px; height: 3px; border-radius: 3px; overflow: hidden; }
.as-pos-right.as-bullets-lines .as-bullet { width: 3px; height: 36px; }
.as-bullets-lines .as-bullet i { position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; transition: transform .4s; }
.as-bullets-lines .as-bullet.as-on i { transform: scaleX(1); }
.as-bullets-lines .as-bullet.as-on { width: 56px; }
.as-pos-right.as-bullets-lines .as-bullet.as-on { width: 3px; height: 56px; }
.as-bullets-numbers .as-bullet { background: none; font: 600 13px/1 system-ui, sans-serif; padding: 6px 4px; opacity: .55; border-bottom: 2px solid transparent; }
.as-bullets-numbers .as-bullet.as-on { opacity: 1; border-color: var(--as-accent); }
.as-bullets-thumbs .as-bullet { width: 64px; height: 40px; border-radius: 6px; opacity: .55; box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.as-bullets-thumbs .as-bullet.as-on { opacity: 1; outline: 2px solid #fff; outline-offset: 2px; }

/* Progress + counter */
.as-progress { position: absolute; left: 0; right: 0; height: 3px; z-index: 11; pointer-events: none; }
.as-progress-top { top: 0; }
.as-progress-bottom { bottom: 0; }
.as-progress-none { visibility: hidden; }
.as-progress-bar { height: 100%; background: var(--as-accent); transform: scaleX(0); transform-origin: left; }
.as-counter { position: absolute; top: 22px; right: 26px; z-index: 10; color: rgba(255,255,255,.7); font: 500 14px/1 system-ui, sans-serif; letter-spacing: .08em; }
.as-counter b { color: #fff; font-size: 20px; }

@media (max-width: 767px) {
	.as-arrow { width: 40px; height: 40px; margin-top: -20px; }
	.as-prev { left: 10px; }
	.as-next { right: 10px; }
	.as-arrow-bar { display: none; }
	.as-bullets { bottom: 14px; }
	.as-bullets-thumbs .as-bullet { width: 40px; height: 26px; }
}

@media (prefers-reduced-motion: reduce) {
	.as-el { transition: none; }
}

/* Carousel mode */
.as-carousel { --as-card-radius: 16px; overflow: hidden; }
.as-carousel .as-stage { perspective: none; cursor: grab; }
.as-carousel.as-dragging .as-stage { cursor: grabbing; }
.as-carousel.as-dragging .as-slide { pointer-events: none; }
.as-track { position: absolute; left: 0; top: 0; display: flex; align-items: stretch; will-change: transform; }
.as-carousel .as-slide { position: relative; inset: auto; flex: none; visibility: visible; z-index: auto; border-radius: var(--as-card-radius); overflow: hidden; transform: translateZ(0); }
.as-carousel .as-bg { border-radius: inherit; }
.as-center .as-slide { transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .5s, filter .5s; transform: scale(.86); opacity: .5; }
.as-center .as-slide.as-current { transform: none; opacity: 1; }
.as-carousel .as-arrow { z-index: 12; }
.as-bullets-below .as-bullets { bottom: 12px; }
.as-bullets-below .as-bullets-dots .as-bullet:not(.as-on),
.as-bullets-below .as-bullets-lines .as-bullet { background: rgba(127,127,140,.35); }
.as-bullets-below .as-bullets-dots .as-bullet.as-on { background: var(--as-accent); box-shadow: none; }
.as-bullets-below .as-bullets-lines .as-bullet i { background: var(--as-accent); }
.as-bullets-below .as-bullets-numbers .as-bullet { color: inherit; }
.as-bullets-below .as-arrow { top: calc(50% - 22px); }
