/* ==========================================================================
   Visoop Brand Slider
   ========================================================================== */

/* ── Swiper wrapper baseline ─────────────────────────────────────────────── */
.visoop-brand-slider-wrap .swiper-wrapper {
	align-items: center;
	transition-timing-function: linear; /* smooth constant-speed autoplay */
}

/* ── Auto-width mode ─────────────────────────────────────────────────────── */
/* Each slide shrinks/grows to fit its content. Ideal for text tickers. */
.visoop-brand-slider-wrap.is-auto-width .swiper-slide {
	width: auto !important;
}

/* ── Slide image ─────────────────────────────────────────────────────────── */
.visoop-brand-slider-wrap .swiper-slide img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ── Text slide ──────────────────────────────────────────────────────────── */
.visoop-brand-slider-wrap .visoop-brand-text {
	display: flex;
	align-items: center;
	gap: var(--visoop-gap, 30px);
	white-space: nowrap;
}

.visoop-brand-slider-wrap .visoop-brand-icon {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	flex-shrink: 0;
}

.visoop-brand-slider-wrap .visoop-brand-icon svg {
	display: block;
	width: 1em;
	height: 1em;
}

/* ── Navigation ──────────────────────────────────────────────────────────── */
.visoop-brand-slider-wrap .visoop-slider-nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
}

.visoop-brand-slider-wrap .visoop-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	line-height: 1;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease;
	-webkit-user-select: none;
	user-select: none;
}

.visoop-brand-slider-wrap .visoop-arrow svg {
	display: block;
	width: 1em;
	height: 1em;
}

/* Disabled state (Swiper adds this class when loop is off and at an edge) */
.visoop-brand-slider-wrap .visoop-arrow.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

/* ── Pagination container ────────────────────────────────────────────────── */
.visoop-brand-slider-wrap .visoop-slider-pagination {
	margin-top: 16px;
}

.visoop-brand-slider-wrap .swiper-pagination {
	position: static;
	width: auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Bullets */
.visoop-brand-slider-wrap .swiper-pagination-bullets {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Fraction — zero-padded with a centred mid-line */
.visoop-brand-slider-wrap .swiper-pagination-fraction {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.visoop-brand-slider-wrap .visoop-fraction-mid {
	display: block;
	width: 24px;
	height: 1px;
	background-color: currentColor;
	flex-shrink: 0;
}

/* Progressbar */
.visoop-brand-slider-wrap .swiper-pagination-progressbar {
	position: relative;
	width: 100%;
	height: 2px;
	border-radius: 2px;
	overflow: hidden;
}
