/**
 * Nos Partenaires Officiels — Premium Logo Marquee.
 *
 * CSS variables (set via inline style):
 *   --ptr-bg            section background
 *   --ptr-title-color   title color
 *   --ptr-label-color   label / accent color
 *   --ptr-title-size    title font size
 *   --ptr-card-bg       logo card background
 *   --ptr-card-border   logo card border color
 *   --ptr-card-r        logo card border radius
 *   --ptr-logo-h        logo height
 *   --ptr-gap           gap between logos
 *   --ptr-pad           section vertical padding
 *   --ptr-speed         marquee animation duration
 *
 * @package DroxAuto
 */

/* ─── Section ─── */
.drox-partners {
	background: var(--ptr-bg, #f9f9f9);
	padding: var(--ptr-pad, 48px) 0;
	overflow: hidden;
}

.drox-partners__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

/* ─── Header (centered) ─── */
.drox-partners__header {
	text-align: center;
	margin-bottom: 36px;
}

.drox-partners__label {
	font-family: "Barlow Condensed", system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--ptr-label-color, #f5700a);
	margin-bottom: 6px;
}

.drox-partners__title {
	font-family: "Barlow Condensed", system-ui, sans-serif;
	font-size: var(--ptr-title-size, 24px);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--ptr-title-color, #1a2b3c);
	margin: 0;
	line-height: 1.2;
}

.drox-partners__separator {
	width: 60px;
	height: 3px;
	background: var(--ptr-label-color, #f5700a);
	margin: 14px auto 0;
	border-radius: 2px;
}

/* ─── Marquee Wrapper ─── */
.drox-partners__marquee {
	position: relative;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

/* Soft edge fade */
.drox-partners__marquee--fade {
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 8%,
		black 92%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 8%,
		black 92%,
		transparent 100%
	);
}

/* ─── Marquee Track ─── */
.drox-partners__track {
	display: flex;
	width: max-content;
	gap: var(--ptr-gap, 32px);
	animation: none;
	will-change: transform;
	backface-visibility: hidden;
	transform: translate3d(0, 0, 0);
}

.drox-partners__segment {
	display: flex;
	gap: var(--ptr-gap, 32px);
	flex-shrink: 0;
}

.drox-partners--ready .drox-partners__track {
	animation-name: drox-partners-scroll;
	animation-duration: var(--ptr-speed, 30s);
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.drox-partners--ready.drox-partners--dir-right .drox-partners__track {
	animation-name: drox-partners-scroll-right;
}

.drox-partners--pause-hover:hover .drox-partners__track {
	animation-play-state: paused;
}

@keyframes drox-partners-scroll {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(var(--ptr-shift, -50%), 0, 0); }
}

@keyframes drox-partners-scroll-right {
	from { transform: translate3d(var(--ptr-shift, -50%), 0, 0); }
	to   { transform: translate3d(0, 0, 0); }
}

/* ─── Static Grid (non-marquee) ─── */
.drox-partners__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--ptr-gap, 32px);
}

/* ─── Logo Card (glassmorphism) ─── */
.drox-partners__card {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 24px;
	background: var(--ptr-card-bg, rgba(255, 255, 255, 0.85));
	border: 1px solid var(--ptr-card-border, rgba(0, 0, 0, 0.06));
	border-radius: var(--ptr-card-r, 10px);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
	text-decoration: none;
	color: inherit;
	min-width: 120px;
}

.drox-partners__card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
	border-color: var(--ptr-label-color, #f5700a);
}

/* ─── Logo Image ─── */
.drox-partners__logo {
	height: var(--ptr-logo-h, 50px);
	width: auto;
	max-width: 140px;
	object-fit: contain;
	transition: filter 0.4s, transform 0.3s;
}

/* Grayscale mode */
.drox-partners--grayscale .drox-partners__logo {
	-webkit-filter: grayscale(100%) opacity(0.6);
	filter: grayscale(100%) opacity(0.6);
}

.drox-partners--grayscale .drox-partners__card:hover .drox-partners__logo {
	-webkit-filter: grayscale(0%) opacity(1);
	filter: grayscale(0%) opacity(1);
	transform: scale(1.05);
}

/* ─── Partner Name ─── */
.drox-partners__name {
	font-family: "Barlow", system-ui, sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	margin-top: 8px;
	text-align: center;
	white-space: nowrap;
}

/* ─── Tablet ─── */
@media (max-width: 991px) {
	.drox-partners {
		padding: calc(var(--ptr-pad, 48px) * 0.75) 0;
	}

	.drox-partners__inner {
		padding: 0 20px;
	}

	.drox-partners__title {
		font-size: calc(var(--ptr-title-size, 24px) * 0.85);
	}

	.drox-partners__card {
		padding: 12px 18px;
		min-width: 100px;
	}

	.drox-partners__logo {
		height: calc(var(--ptr-logo-h, 50px) * 0.85);
	}
}

/* ─── Mobile ─── */
@media (max-width: 639px) {
	.drox-partners__header {
		margin-bottom: 24px;
	}

	.drox-partners__title {
		font-size: calc(var(--ptr-title-size, 24px) * 0.75);
	}

	.drox-partners__card {
		padding: 10px 14px;
		min-width: 90px;
	}

	.drox-partners__logo {
		height: calc(var(--ptr-logo-h, 50px) * 0.7);
		max-width: 100px;
	}

	.drox-partners__name {
		font-size: 10px;
	}
}

/* ─── Reduced Motion ─── */
@media (prefers-reduced-motion: reduce) {
	.drox-partners__track {
		animation: none !important;
		transform: none !important;
		flex-wrap: wrap;
		justify-content: center;
	}

	.drox-partners__marquee {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.drox-partners__track .drox-partners__segment--clone {
		display: none;
	}
}
