.brand-promo-banner-slot {
	width:100%;
	margin:20px 0 30px;
}
.brand-promo-banner-placeholder {
	position:relative;
	height:auto;
	aspect-ratio:48 / 13;
	border-radius:12px;
	overflow:hidden;
	background:#03132e;
	box-shadow:0 4px 14px rgba(3, 19, 46, .12);
}
.brand-promo-banner-placeholder picture,
.brand-promo-banner-placeholder img {
	display:block;
	width:100%;
	height:100%;
}
.brand-promo-banner-placeholder img {
	object-fit:cover;
	object-position:center;
}
.brand-category-nav-wrap {
	position:sticky;
	top:calc(var(--header-height) + var(--submenu-height));
	z-index:100;
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 15px;
	padding:10px 0;
	background:var(--background-color);
}
.brand-category-nav {
	display:flex;
	min-width:0;
	flex:1 1 auto;
	gap:8px;
	overflow-x:auto;
	padding:0 2px;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch;
	scroll-behavior:smooth;
}
.brand-category-nav::-webkit-scrollbar { display:none; }
.brand-category-nav-scroll {
	display:none;
	flex:0 0 36px;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	padding:0;
	border:1px solid var(--dim-d-color);
	border-radius:50%;
	background:var(--background-color);
	color:var(--dim-6-color);
	font-size:16px;
	cursor:pointer;
}
.brand-category-nav-wrap.has-horizontal-overflow .brand-category-nav-scroll { display:flex; }
.brand-category-nav-scroll:disabled { opacity:.25; cursor:default; }
.brand-category-nav button {
	flex:0 0 auto;
	height:36px;
	padding:0 16px;
	border:1px solid var(--dim-d-color);
	border-radius:20px;
	background:var(--background-color);
	color:var(--dim-6-color);
	font-size:13px;
	font-weight:500;
	white-space:nowrap;
	cursor:pointer;
	transition:border-color .2s ease, color .2s ease, background-color .2s ease;
}
.brand-category-nav button:hover,
.brand-category-nav button.active {
	border-color:var(--hl-color);
	color:var(--hl-color);
	background:var(--dim-fa-color);
}

.brand-category-groups {
	display:flex;
	flex-direction:column;
	gap:15px;
}
.brand-category-group {
	min-width:0;
	padding:20px 0 10px;
}
.brand-group-list-banner { display:none; }
.brand-category-heading {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}
.brand-category-heading h2 {
	margin:0;
	font-size:24px;
	font-weight:600;
}
.brand-category-group .horizontal-product-list { padding:15px 0 10px; }
.brand-category-group .horizontal-product-list .scroll { justify-content:flex-start; }
.brand-category-group .horizontal-product-list .product-list {
	width:100%;
	padding-left:0;
}
.brand-category-group .horizontal-product-list .hpl-left,
.brand-category-group .horizontal-product-list .hpl-right {
	display:none !important;
}
@media (hover:hover) and (pointer:fine) {
	.brand-category-group .horizontal-product-list.can-scroll-left .hpl-left,
	.brand-category-group .horizontal-product-list.can-scroll-right .hpl-right {
		display:block !important;
	}
}
.brand-category-group .horizontal-product-list.no-product-overflow .product-list {
	padding-right:0;
	-webkit-mask-image:none;
	mask-image:none;
}

@media (min-width:769px) {
	.brand-category-group .horizontal-product-list .product-list {
		flex-wrap:wrap;
		overflow-x:visible;
		padding-right:0;
		-webkit-mask-image:none;
		mask-image:none;
	}
	.brand-category-group .horizontal-product-list.can-scroll-left .hpl-left,
	.brand-category-group .horizontal-product-list.can-scroll-right .hpl-right {
		display:none !important;
	}
}

@media (max-width:768px) {
	.brand-promo-banner-slot { width:100vw; margin:10px calc(50% - 50vw) 20px; }
	.brand-promo-banner-placeholder { height:auto; aspect-ratio:1; border-radius:0; box-shadow:none; }
	.brand-promo-banner-placeholder img { object-position:center 62%; }
	.brand-category-nav-wrap {
		top:calc(var(--header-height) + max(env(safe-area-inset-top, 0px), 0px));
		width:100vw;
		margin-right:calc(50% - 50vw);
		margin-left:calc(50% - 50vw);
		padding:10px 0;
		border-bottom:1px solid var(--dim-e-color);
	}
	.brand-category-nav {
		padding-right:var(--side-padding);
		padding-left:var(--side-padding);
		scroll-padding-inline:var(--side-padding);
	}
	.brand-category-nav-scroll,
	.brand-category-nav-wrap.has-horizontal-overflow .brand-category-nav-scroll { display:none; }
	.brand-category-groups { gap:5px; }
	.brand-category-group { padding-top:15px; }
	.brand-category-heading h2 { font-size:20px; }
	.brand-category-group .horizontal-product-list {
		width:100vw;
		margin-right:calc(50% - 50vw);
		margin-left:calc(50% - 50vw);
		padding-top:10px;
	}
	.brand-category-group .horizontal-product-list .product-list,
	.brand-category-group .horizontal-product-list.no-product-overflow .product-list {
		padding-right:var(--side-padding);
		padding-left:var(--side-padding);
		scroll-padding-inline:var(--side-padding);
	}
	.brand-category-group .horizontal-product-list .product-item {
		width:140px;
		padding:15px 5px;
	}
	.brand-group-list-banner {
		display:block;
		width:100vw;
		margin:5px calc(50% - 50vw) 10px;
		box-sizing:border-box;
		padding:0 var(--side-padding);
	}
	.brand-group-list-banner .category-list-banner {
		width:100%;
		height:auto;
		margin:0;
		aspect-ratio:1;
		border-radius:12px;
		box-shadow:none;
	}
}
