/* Brand-book directory and individual archive, kept separate from commerce CSS. */
.gbb-brands__hero h1 { line-height:1.02; }
.gbb-brands__hero h1 em { font-style:normal; }
.gbb-brands__spotlight { margin-top:clamp(48px,6vw,88px); }
.gbb-brands__spotlight > header {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:24px;
}
.gbb-brands__spotlight h2 { margin:8px 0 0; color:var(--gbb-ink); font-size:clamp(32px,4.2vw,58px); line-height:1.04; letter-spacing:-.055em; }
.gbb-brands__spotlight > header > p { max-width:340px; margin:0; color:var(--gbb-muted); font-size:15px; line-height:1.5; }
.gbb-brands__spotlight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gbb-brand-spotlight {
	position:relative;
	isolation:isolate;
	overflow:hidden;
	display:flex;
	min-width:0;
	min-height:310px;
	flex-direction:column;
	justify-content:space-between;
	gap:30px;
	padding:28px;
	border-radius:22px;
	background:var(--spotlight-color,#171717);
	color:#fff !important;
	text-decoration:none !important;
	transition:transform .25s ease,box-shadow .25s ease;
}
.gbb-brand-spotlight:hover { transform:translateY(-4px); box-shadow:0 20px 40px rgba(0,0,0,.15); }
.gbb-brand-spotlight:focus-visible { outline:3px solid var(--gbb-red); outline-offset:3px; }
.gbb-brand-spotlight__mark { display:flex; min-height:67px; align-items:center; color:var(--spotlight-accent,#fff); font-size:clamp(22px,2.5vw,34px); font-weight:800; line-height:1; letter-spacing:-.045em; overflow-wrap:anywhere; }
.gbb-brand-spotlight__mark { position:relative; z-index:2; max-width:55%; }
.gbb-brand-spotlight__mark img { max-width:100%; max-height:66px; width:auto; height:auto; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); }
.gbb-brand-spotlight__product { position:absolute; z-index:1; top:20px; right:20px; bottom:20px; display:grid; width:43%; place-items:center; padding:12px; border-radius:18px; background:rgba(255,255,255,.96); }
.gbb-brand-spotlight__product:empty { display:none; }
.gbb-brand-spotlight__product img { max-width:100%; max-height:245px; width:auto; height:auto; object-fit:contain; }
.gbb-brand-spotlight__bottom { position:relative; z-index:2; display:grid; max-width:55%; gap:11px; }
.gbb-brand-spotlight__bottom strong { font-size:clamp(22px,2.2vw,31px); line-height:1.07; letter-spacing:-.04em; overflow-wrap:anywhere; }
.gbb-brand-spotlight__bottom small { display:flex; align-items:center; justify-content:space-between; gap:8px; color:rgba(255,255,255,.7); font-size:13px; }
.gbb-brand-spotlight__bottom small span { display:grid; width:31px; height:31px; place-items:center; border-radius:50%; background:var(--spotlight-accent,#fff); color:#171717; font-size:19px; }

.gbb-brands__directory { padding-top:clamp(66px,7vw,106px); }
.gbb-brands__tools { align-items:center; }
.gbb-brands__tools label span { font-size:12px; }
.gbb-brands__tools input { font-size:16px; }
.gbb-brands__tools button { min-width:43px; height:43px; font-size:13px; }
.gbb-brands__tools button:focus-visible { outline:2px solid var(--gbb-red); outline-offset:2px; }
.gbb-brands__result { margin:0 0 16px; color:var(--gbb-muted); font-size:14px; font-weight:650; }
.gbb-brands__grid { gap:12px; }
.gbb-brand-card { min-height:270px; padding:22px; border-radius:20px; }
.gbb-brand-card strong { font-size:clamp(24px,2.3vw,35px); line-height:1.08; overflow-wrap:anywhere; }
.gbb-brand-card p { min-height:0; font-size:14px; line-height:1.45; }
.gbb-brand-card small { font-size:13px; }
.gbb-brand-card__count { font-size:12px; }
.gbb-brand-card__origin { font-size:12px; }
.gbb-brand-card__logo { max-height:55px; }

body.tax-pa_brand .gbb-brand-archive { grid-template-columns:minmax(0,1.1fr) minmax(300px,.8fr); gap:34px; background:var(--gbb-brand-primary,#171717); }
body.tax-pa_brand .gbb-brand-archive > div { width:100%; min-width:0; }
body.tax-pa_brand .gbb-brand-archive h1 { line-height:1.02; }
body.tax-pa_brand .gbb-brand-archive div>p:last-of-type { max-width:650px; font-size:17px; line-height:1.58; }
body.tax-pa_brand .gbb-brand-archive.has-packshot > span { opacity:.08; }
.gbb-brand-archive__packshot { position:relative; z-index:1; display:grid; width:100%; max-width:520px; min-height:380px; place-items:center; margin:0 0 0 auto; padding:26px; border-radius:30px; background:#fff; }
.gbb-brand-archive__packshot img { display:block; max-width:100%; max-height:450px; width:auto; height:auto; object-fit:contain; }
.gbb-brand-archive__facts span { font-size:13px; }
.gbb-brand-archive__facts small { font-size:11px; }
.gbb-brand-archive__actions a { min-height:48px; font-size:13px; }
.gbb-brand-story { background:var(--gbb-brand-surface,var(--gbb-paper)); }
.gbb-brand-story li { font-size:14px; line-height:1.4; }
.gbb-brand-assortment__stats span { font-size:13px; }
.gbb-brand-assortment__categories span { font-size:12px; }
.gbb-brand-assortment__categories b { font-size:11px; }
.gbb-brand-assortment__cta { font-size:13px; }

@media (max-width:1100px) {
	body.tax-pa_brand .gbb-brand-archive { grid-template-columns:minmax(0,1fr) minmax(230px,.7fr); }
}
@media (max-width:767px) {
	.gbb-brands__hero h1 { line-height:1.06; }
	.gbb-brands__spotlight { margin-top:48px; }
	.gbb-brands__spotlight > header { display:block; margin-bottom:18px; }
	.gbb-brands__spotlight h2 { font-size:34px; }
	.gbb-brands__spotlight > header > p { margin-top:10px; font-size:14px; }
	.gbb-brands__spotlight-grid { display:flex; max-width:100%; gap:9px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:9px; scrollbar-width:thin; }
	.gbb-brand-spotlight { flex:0 0 min(85vw,330px); min-height:235px; padding:21px; scroll-snap-align:start; }
	.gbb-brand-spotlight__mark { max-width:53%; }
	.gbb-brand-spotlight__mark img { max-height:46px; }
	.gbb-brand-spotlight__product { top:15px; right:13px; bottom:15px; width:42%; padding:8px; }
	.gbb-brand-spotlight__product img { max-height:190px; }
	.gbb-brand-spotlight__bottom strong { font-size:25px; }
	.gbb-brands__directory { padding-top:56px; }
	.gbb-brands__tools nav { scroll-padding-inline:14px; }
	.gbb-brands__tools button { min-width:44px; height:44px; }
	.gbb-brands__grid { grid-template-columns:1fr; gap:10px; }
	.gbb-brand-card { min-height:205px; padding:20px; }
	.gbb-brand-card__top { display:flex; min-height:60px; }
	.gbb-brand-card__mark,.gbb-brand-card__mark:has(.gbb-brand-card__logo) { width:min(58%,175px); height:56px; }
	.gbb-brand-card__logo { max-height:54px; }
	.gbb-brand-card__count { align-self:flex-start; width:auto; font-size:11px; }
	.gbb-brand-card__origin { margin:2px 0 9px; font-size:11px; }
	.gbb-brand-card strong { font-size:27px; }
	.gbb-brand-card p { min-height:0; margin-top:7px; font-size:14px; }
	.gbb-brand-card small { margin-top:11px; font-size:12px; }
	body.tax-pa_brand .gbb-brand-archive { display:flex; flex-direction:column; gap:0; min-height:0; padding:28px 22px; }
	body.tax-pa_brand .gbb-brand-archive > div { display:contents; }
	body.tax-pa_brand .gbb-brand-archive__logo { order:1; }
	body.tax-pa_brand .gbb-brand-archive > div > .gbb-brands__eyebrow { order:2; }
	body.tax-pa_brand .gbb-brand-archive h1 { order:3; }
	body.tax-pa_brand .gbb-brand-archive__tagline { order:4; }
	body.tax-pa_brand .gbb-brand-archive__packshot { order:5; margin:6px 0 22px; }
	body.tax-pa_brand .gbb-brand-archive > div > p:last-of-type { order:6; }
	body.tax-pa_brand .gbb-brand-archive__facts { order:7; }
	body.tax-pa_brand .gbb-brand-archive__actions { order:8; }
	body.tax-pa_brand .gbb-brand-archive h1 { font-size:clamp(46px,12vw,64px); }
	body.tax-pa_brand .gbb-brand-archive div>p:last-of-type { max-width:none; width:100%; font-size:16px; line-height:1.58; }
	.gbb-brand-archive__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.gbb-brand-archive__facts span { min-width:0; }
	.gbb-brand-archive__packshot { max-width:none; min-height:260px; max-height:340px; padding:18px; border-radius:20px; }
	.gbb-brand-archive__packshot img { max-height:300px; }
	.gbb-brand-story h2,.gbb-brand-assortment h2 { line-height:1.04; }
}
@media (max-width:380px) {
	.gbb-brands__hero-stats small { font-size:10px; }
	.gbb-brand-card__mark,.gbb-brand-card__mark:has(.gbb-brand-card__logo) { width:54%; }
}

/* A denser editorial cadence lets visitors reach the brand directory sooner. */
.gbb-brands { padding-bottom:clamp(52px,5vw,78px); }
.gbb-brands__hero { min-height:440px; }
.gbb-brands__spotlight { margin-top:clamp(38px,4.5vw,64px); }
.gbb-brands__directory { padding-top:clamp(42px,5vw,72px); }
.gbb-brands__spotlight > header > p,
.gbb-brand-card p { font-size:16px; }
.gbb-brand-card small,
.gbb-brands__tools label span,
.gbb-brands__result { font-size:14px; }
.gbb-brand-story { margin-bottom:clamp(26px,3vw,44px); padding:clamp(26px,3.5vw,48px); }
.gbb-brand-story li { font-size:15px; }
.gbb-brand-archive__facts span,
.gbb-brand-assortment__stats span { font-size:14px; }
@media (max-width:1024px) {
	.gbb-brands__hero { min-height:420px; }
}
@media (max-width:767px) {
	.gbb-brands__hero { min-height:0; }
	.gbb-brands__spotlight { margin-top:34px; }
	.gbb-brands__directory { padding-top:40px; }
	.gbb-brands__spotlight > header > p,
	.gbb-brand-card p { font-size:15px; }
	.gbb-brand-card { min-height:210px; }
}
