/**
 * Homepage-Slider mit Swiper.js (MIT) – seitlicher Swipe mit Fade.
 */
.trickart-homepage-slider {
	position: relative;
	width: 100%;
	background: transparent;
	overflow: visible;
	border-radius: 2px;
}

.trickart-hp-stage.swiper {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.trickart-hp-track.swiper-wrapper {
	align-items: stretch;
	position: relative;
}

.trickart-hp-slide.swiper-slide {
	margin: 0;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	overflow: hidden;
}

.trickart-hp-slide.swiper-slide-active {
	z-index: 2;
}

.trickart-hp-slide img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
	vertical-align: middle;
}

.trickart-homepage-slider.is-single .trickart-hp-slide {
	width: 100%;
}

.trickart-hp-controls {
	position: absolute;
	inset: 0;
	z-index: 20;
	pointer-events: none;
}

.trickart-hp-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 3.75rem;
	height: 3.75rem;
	border: none;
	border-radius: 50%;
	padding: 0;
	background: rgba(15, 23, 42, 0.55);
	color: #fff;
	cursor: pointer;
	pointer-events: auto;
	opacity: 0.88;
	transition:
		opacity 0.25s ease,
		background-color 0.25s ease,
		transform 0.25s ease;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

.trickart-homepage-slider:hover .trickart-hp-nav,
.trickart-homepage-slider:focus-within .trickart-hp-nav {
	opacity: 1;
}

.trickart-hp-nav:hover {
	background: rgba(15, 23, 42, 0.78);
	transform: translateY(-50%) scale(1.06);
}

.trickart-hp-nav:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	opacity: 1;
}

.trickart-hp-nav.swiper-button-disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.trickart-hp-prev {
	left: 1rem;
}

.trickart-hp-next {
	right: 1rem;
}

.trickart-hp-nav svg {
	display: block;
	width: 1.85rem;
	height: 1.85rem;
	fill: currentColor;
}

.trickart-hp-footer {
	position: relative;
	z-index: 3;
	padding-top: 0.65rem;
}

.trickart-hp-progress {
	position: relative;
	width: 100%;
	height: 4px;
	background: rgba(0, 0, 0, 0.1);
	border-radius: 999px;
	overflow: hidden;
}

.trickart-hp-progress-fill {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(15, 23, 42, 0.45), rgba(15, 23, 42, 0.72));
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: left center;
	will-change: transform;
}

.trickart-hp-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.55rem 0 0;
	position: relative;
	pointer-events: none;
}

.trickart-hp-dots .trickart-hp-dot {
	pointer-events: auto;
}

.trickart-hp-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: rgba(0, 0, 0, 0.2);
	cursor: pointer;
	transition:
		background-color 0.25s ease,
		transform 0.25s ease;
}

.trickart-hp-dot.is-active {
	background: rgba(0, 0, 0, 0.55);
	transform: scale(1.2);
}

.trickart-hp-dot:focus-visible {
	outline: 2px solid rgba(0, 0, 0, 0.45);
	outline-offset: 2px;
}

.trickart-hp-status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.trickart-hp-error {
	color: #b32d2e;
	font-size: 0.9rem;
}

/* Nur Swipers Standard-Pfeile ausblenden, nicht unsere .trickart-hp-nav */
.trickart-homepage-slider .swiper-button-next:not(.trickart-hp-nav),
.trickart-homepage-slider .swiper-button-prev:not(.trickart-hp-nav) {
	display: none !important;
}

.trickart-homepage-slider .swiper-cube-shadow,
.trickart-homepage-slider .swiper-slide-shadow,
.trickart-homepage-slider .swiper-slide-shadow-left,
.trickart-homepage-slider .swiper-slide-shadow-right,
.trickart-homepage-slider .swiper-slide-shadow-top,
.trickart-homepage-slider .swiper-slide-shadow-bottom,
.trickart-homepage-slider .swiper-slide-shadow-creative {
	background: rgba(15, 23, 42, 0.22);
}

@media (max-width: 640px) {
	.trickart-hp-nav {
		width: 3.25rem;
		height: 3.25rem;
		opacity: 0.92;
	}

	.trickart-hp-nav svg {
		width: 1.55rem;
		height: 1.55rem;
	}

	.trickart-hp-prev {
		left: 0.5rem;
	}

	.trickart-hp-next {
		right: 0.5rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.trickart-homepage-slider .swiper-slide-shadow,
	.trickart-homepage-slider .swiper-cube-shadow {
		display: none;
	}
}

/* Theme-Overrides (z. B. X Theme, Page Builder) */
.entry-content .trickart-homepage-slider .trickart-hp-slide img,
.x-text .trickart-homepage-slider .trickart-hp-slide img,
.x-text img.trickart-hp-slide-img,
figure.trickart-hp-slide img,
.trickart-homepage-slider img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
}
