/*!
 * HWP Brand Marquee — reusable brand-logo strip.
 * Scoped under .hwp-bm. Zero global rules.
 */

.hwp-bm {
	--hwp-bm-navy: #1a2340;
	--hwp-bm-accent: var(--wd-primary-color, var(--hwp-bm-navy));
	--hwp-bm-muted: #5a5a5a;
	--hwp-bm-speed: 60s;

	box-sizing: border-box;
	font-family: inherit;
	color: inherit;
	text-align: center;
	--hwp-bm-tile-h: 72px;
	--hwp-bm-tile-w: 180px;
	--hwp-bm-gap: 56px;
}

.hwp-bm *,
.hwp-bm *::before,
.hwp-bm *::after {
	box-sizing: border-box;
}

.hwp-bm.hwp-bm--size-sm {
	--hwp-bm-tile-h: 56px;
	--hwp-bm-tile-w: 150px;
	--hwp-bm-gap: 40px;
}

.hwp-bm.hwp-bm--size-lg {
	--hwp-bm-tile-h: 96px;
	--hwp-bm-tile-w: 220px;
	--hwp-bm-gap: 72px;
}

.hwp-bm-heading {
	margin: 0 auto 36px;
	max-width: 720px;
	padding: 0 20px;
}

.hwp-bm-title {
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 700;
	color: var(--hwp-bm-navy);
	line-height: 1.15;
	margin: 0 0 12px;
	text-transform: none;
	letter-spacing: -0.005em;
}

.hwp-bm-lead {
	color: var(--hwp-bm-muted);
	margin: 0 auto;
	max-width: 640px;
	font-size: 16px;
}

.hwp-bm-marquee {
	position: relative;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.hwp-bm-track {
	display: inline-flex;
	align-items: center;
	gap: var(--hwp-bm-gap);
	white-space: nowrap;
	animation: hwp-bm-scroll var(--hwp-bm-speed) linear infinite;
	will-change: transform;
}

.hwp-bm.hwp-bm--dir-right .hwp-bm-track {
	animation-direction: reverse;
}

.hwp-bm-marquee:hover .hwp-bm-track,
.hwp-bm-marquee:focus-within .hwp-bm-track {
	animation-play-state: paused;
}

.hwp-bm-tile {
	flex: 0 0 auto;
	width: var(--hwp-bm-tile-w);
	height: var(--hwp-bm-tile-h);
	display: flex;
	align-items: center;
	justify-content: center;
}

.hwp-bm-logo {
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
	opacity: 0.9;
	transition: opacity 0.2s ease;
}

.hwp-bm-tile:hover .hwp-bm-logo {
	opacity: 1;
}

/* Per-brand optical scaling. Values calibrated against the current asset set. */
.hwp-bm-logo--wallquest         { transform: scale(1.05); }
.hwp-bm-logo--york-wallcoverings { transform: scale(0.82); }
.hwp-bm-logo--sanderson         { transform: scale(0.9); }
.hwp-bm-logo--kravet            { transform: scale(0.75); }
.hwp-bm-logo--graham-brown      { transform: scale(0.82); }
.hwp-bm-logo--phillip-jeffries  { transform: scale(0.9); }
.hwp-bm-logo--a-street-prints   { transform: scale(1.05); }
.hwp-bm-logo--paper-ink         { transform: scale(0.95); }
.hwp-bm-logo--paper-and-ink     { transform: scale(0.95); }
.hwp-bm-logo--daisy-bennett     { transform: scale(0.92); }

@keyframes hwp-bm-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.hwp-bm-static {
	display: none;
	flex-wrap: wrap;
	gap: 24px 40px;
	justify-content: center;
	align-items: center;
}

.hwp-bm-static .hwp-bm-tile {
	width: 160px;
	height: 60px;
}

@media (max-width: 640px) {
	.hwp-bm {
		--hwp-bm-tile-h: 60px;
		--hwp-bm-tile-w: 140px;
		--hwp-bm-gap: 40px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hwp-bm-marquee {
		-webkit-mask-image: none;
		mask-image: none;
	}
	.hwp-bm-track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		white-space: normal;
		gap: 24px var(--hwp-bm-gap);
	}
	.hwp-bm-logo {
		transition: none;
	}
}
