/* Product archive UI. Loaded only on the WooCommerce shop and product categories. */

.bgn-product-archive .bgn-commerce{
	padding-block:clamp(24px,3.8vw,48px) 0;
	background:#fff;
	overflow:clip;
}

.bgn-product-archive .bgn-commerce > .bgn-container{
	padding-bottom:clamp(72px,8vw,112px);
}

.bgn-product-archive .bgn-commerce .woocommerce-breadcrumb{
	margin-bottom:clamp(22px,3vw,34px);
}

/* Archive hero */
.bgn-product-archive .woocommerce-products-header{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,.92fr) minmax(340px,.62fr);
	gap:clamp(26px,5vw,76px);
	align-items:end;
	width:auto;
	margin:0 calc(50% - 50vw) clamp(42px,5.5vw,76px);
	padding:clamp(72px,7vw,104px) max(32px,calc((100vw - var(--bgn-container))/2));
	border:0;
	border-radius:0;
	background:
		linear-gradient(135deg,transparent 0 57%,rgba(255,255,255,.68) 57% 74%,transparent 74%),
		var(--bgn-ice);
	box-shadow:none;
	overflow:hidden;
}

.bgn-product-archive .woocommerce-products-header::after{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	width:min(42vw,620px);
	height:auto;
	border:0;
	border-radius:0;
	background:
		linear-gradient(145deg,transparent 0 35%,rgba(4,180,172,.12) 35% 35.5%,transparent 35.5%),
		linear-gradient(145deg,transparent 0 58%,rgba(4,76,132,.11) 58% 58.5%,transparent 58.5%);
	content:"";
	clip-path:polygon(32% 0,100% 0,100% 100%,0 100%);
	pointer-events:none;
}

.bgn-product-archive .woocommerce-products-header__title.page-title{
	position:relative;
	z-index:1;
	max-width:760px;
	margin:0;
	color:var(--bgn-navy);
	font-size:clamp(2.35rem,4.7vw,4.7rem);
	font-weight:800;
	line-height:1.02;
	letter-spacing:-.045em;
}

.bgn-archive-hero__eyebrow{
	position:absolute;
	top:clamp(38px,4vw,54px);
	left:max(32px,calc((100vw - var(--bgn-container))/2));
	display:flex;
	align-items:center;
	gap:10px;
	margin:0;
	color:var(--bgn-blue);
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.12em;
	text-transform:uppercase;
	transform:translateY(-2px);
}

.bgn-archive-hero__eyebrow + .bgn-archive-hero__description{
	grid-column:2;
}

.bgn-archive-hero__eyebrow span{
	width:24px;
	height:3px;
	border-radius:999px;
	background:var(--bgn-yellow);
}

.bgn-archive-hero__description{
	position:relative;
	z-index:1;
	grid-column:2;
	margin:0;
	padding-top:36px;
	color:#40515f;
	font-size:clamp(.96rem,1.15vw,1.08rem);
	line-height:1.72;
}

.bgn-archive-hero__description::before{
	display:block;
	width:42px;
	height:4px;
	margin-bottom:18px;
	border-radius:999px;
	background:var(--bgn-teal);
	content:"";
}

.bgn-archive-hero__description > :last-child{margin-bottom:0}

/* Real taxonomy navigation */
.bgn-archive-quick-links{margin-bottom:clamp(28px,4vw,44px)}
.bgn-archive-quick-links__label{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0 0 16px;
	color:var(--bgn-blue);
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.1em;
	text-transform:uppercase;
}
.bgn-archive-quick-links__label::before{width:32px;height:3px;background:var(--bgn-yellow);content:""}
.bgn-archive-quick-links ul{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0;
	margin:0;
	padding:0;
	border-top:1px solid var(--bgn-border);
	border-bottom:1px solid var(--bgn-border);
	list-style:none;
}
.bgn-archive-quick-links li + li{border-left:1px solid var(--bgn-border)}
.bgn-archive-quick-links__link{
	position:relative;
	display:flex;
	min-height:92px;
	padding:20px 48px 20px 22px;
	flex-direction:column;
	justify-content:center;
	border:0;
	border-radius:0;
	background:transparent;
	color:var(--bgn-navy);
	box-shadow:none;
	transition:background-color .2s ease,color .2s ease;
}
.bgn-archive-quick-links__link::after{
	position:absolute;
	top:50%;
	right:18px;
	content:"→";
	color:var(--bgn-blue);
	font-size:1.1rem;
	transform:translateY(-50%);
	transition:transform .2s var(--bgn-ease);
}
.bgn-archive-quick-links__link span{font-size:.96rem;font-weight:800;line-height:1.35}
.bgn-archive-quick-links__link small{margin-top:4px;color:var(--bgn-muted);font-size:.76rem;font-weight:600}
.bgn-archive-quick-links__link:hover,
.bgn-archive-quick-links__link:focus-visible,
.bgn-archive-quick-links__link.is-current{
	border-color:transparent;
	box-shadow:none;
	transform:none;
}
.bgn-archive-quick-links__link:hover::after,
.bgn-archive-quick-links__link:focus-visible::after{transform:translate(3px,-50%)}
.bgn-archive-quick-links__link.is-current{
	background:var(--bgn-blue);
	color:#fff;
}
.bgn-archive-quick-links__link:not(.is-current):hover,
.bgn-archive-quick-links__link:not(.is-current):focus-visible{background:var(--bgn-ice)}
.bgn-archive-quick-links__link.is-current small,
.bgn-archive-quick-links__link.is-current::after{color:rgba(255,255,255,.78)}

/* Discovery toolbar */
.bgn-archive-toolbar{
	position:relative;
	z-index:8;
	display:grid;
	grid-template-columns:minmax(180px,1fr) auto minmax(220px,auto);
	gap:12px;
	align-items:center;
	margin-bottom:clamp(22px,3vw,32px);
	padding:16px 0;
	border:1px solid var(--bgn-border);
	border-width:1px 0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	backdrop-filter:none;
}
.bgn-archive-toolbar__status .woocommerce-result-count{
	float:none;
	margin:0;
	color:#4b5965;
	font-size:.86rem;
	font-weight:650;
}
.bgn-archive-filter{position:relative}
.bgn-archive-filter summary{
	display:flex;
	min-width:126px;
	min-height:48px;
	padding:10px 14px;
	align-items:center;
	justify-content:center;
	gap:9px;
	border:1px solid var(--bgn-border);
	border-radius:3px;
	background:#fff;
	color:var(--bgn-blue);
	font-size:.88rem;
	font-weight:800;
	cursor:pointer;
	list-style:none;
	transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
.bgn-archive-filter summary::-webkit-details-marker{display:none}
.bgn-archive-filter summary:hover,
.bgn-archive-filter summary:focus-visible,
.bgn-archive-filter[open] summary{border-color:var(--bgn-blue);background:var(--bgn-blue);color:#fff}
.bgn-archive-filter summary small{
	display:grid;
	min-width:21px;
	height:21px;
	padding-inline:5px;
	place-items:center;
	border-radius:999px;
	background:var(--bgn-yellow);
	color:var(--bgn-navy);
	font-size:.68rem;
}
.bgn-archive-filter__summary-icon{font-size:1.15rem;font-weight:500;line-height:1;transition:transform .2s var(--bgn-ease)}
.bgn-archive-filter[open] .bgn-archive-filter__summary-icon{transform:rotate(45deg)}
.bgn-archive-filter__form{
	position:absolute;
	top:calc(100% + 12px);
	right:0;
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
	gap:15px;
	width:min(680px,calc(100vw - 40px));
	padding:22px;
	border:1px solid rgba(4,76,132,.13);
	border-top:4px solid var(--bgn-yellow);
	border-radius:0;
	background:#fff;
	box-shadow:0 26px 70px rgba(4,40,75,.18);
}
.bgn-archive-filter__field{display:grid;gap:7px}
.bgn-archive-filter__field label{
	color:var(--bgn-navy);
	font-size:.76rem;
	font-weight:800;
	letter-spacing:.02em;
}
.bgn-archive-filter__field input,
.bgn-archive-filter__field select{
	width:100%;
	min-height:48px;
	padding:9px 13px;
	border:1px solid var(--bgn-border);
	border-radius:3px;
	background:#fff;
	color:var(--bgn-ink);
	font:inherit;
}
.bgn-archive-filter__field input:focus,
.bgn-archive-filter__field select:focus{border-color:var(--bgn-blue);outline:3px solid rgba(4,76,132,.1)}
.bgn-archive-filter__actions{
	display:flex;
	grid-column:1/-1;
	align-items:center;
	justify-content:flex-end;
	gap:16px;
	padding-top:2px;
}
.bgn-archive-filter__actions .bgn-button{min-width:150px;min-height:48px}
.bgn-archive-filter__reset{color:var(--bgn-blue);font-size:.84rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.bgn-archive-toolbar__ordering{
	display:flex;
	align-items:center;
	gap:10px;
}
.bgn-archive-toolbar__ordering > span{color:var(--bgn-muted);font-size:.76rem;font-weight:800;text-transform:uppercase}
.bgn-archive-toolbar__ordering .woocommerce-ordering{float:none;margin:0}
.bgn-archive-toolbar__ordering .woocommerce-ordering select{
	min-height:48px;
	max-width:220px;
	margin:0;
	border-radius:3px;
	font-size:.86rem;
}
.bgn-archive-active-filters{
	display:flex;
	grid-column:1/-1;
	flex-wrap:wrap;
	gap:8px;
	padding-top:2px;
}
.bgn-archive-active-filters a{
	display:flex;
	min-height:34px;
	padding:6px 10px;
	align-items:center;
	gap:9px;
	border-radius:999px;
	background:#edf7fa;
	color:var(--bgn-blue);
	font-size:.76rem;
	font-weight:750;
}

/* Product grid and cards */
.bgn-product-archive .bgn-commerce ul.products{
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:clamp(16px,2vw,26px);
}
.bgn-product-archive .bgn-commerce ul.products li.product{
	min-width:0;
	padding:0 0 18px;
	border:0;
	border-radius:4px;
	background:#fff;
	box-shadow:0 10px 28px rgba(4,76,132,.065);
}
.bgn-archive-product-card{
	display:flex;
	flex:1 1 auto;
	min-width:0;
	height:100%;
	flex-direction:column;
}
.bgn-product-archive .bgn-commerce ul.products li.product a.woocommerce-loop-product__link{
	display:flex;
	min-width:0;
	flex:1 1 auto;
	flex-direction:column;
}
.bgn-product-archive .bgn-commerce ul.products li.product a img{
	margin-bottom:14px;
	padding:clamp(2px,.45vw,6px);
	border-radius:0;
	background:var(--bgn-surface);
}
.bgn-product-archive .bgn-commerce ul.products li.product .woocommerce-loop-product__title{
	display:-webkit-box;
	min-height:2.75em;
	overflow:hidden;
	padding-inline:15px;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	font-size:clamp(.94rem,1.15vw,1.06rem);
	font-weight:800;
	line-height:1.36;
}
.bgn-product-archive .bgn-commerce ul.products li.product .price{padding-inline:15px;font-size:.98rem}
.bgn-product-archive .bgn-commerce ul.products li.product .button{
	min-height:46px;
	margin-inline:15px;
	padding:11px 12px;
	border-radius:3px;
	font-size:.82rem;
}
.bgn-product-archive .bgn-commerce ul.products li.product:hover{
	border-color:transparent;
	box-shadow:0 16px 34px rgba(4,76,132,.12);
	transform:translateY(-3px);
}
.bgn-product-archive .bgn-commerce .woocommerce-pagination{margin-top:clamp(36px,5vw,56px)}

/* Long-form category copy */
.bgn-archive-long{
	padding-block:clamp(66px,8vw,108px);
	border-top:1px solid rgba(4,76,132,.08);
	background:#fff;
}
.bgn-archive-long .bgn-container{width:min(calc(100% - 64px),var(--bgn-container))}
.bgn-archive-section-heading{max-width:760px;margin:0 0 clamp(28px,4vw,42px);text-align:left}
.bgn-archive-section-heading .bgn-eyebrow{justify-content:flex-start;margin-bottom:12px;color:var(--bgn-orange)}
.bgn-archive-section-heading h2{
	margin:0;
	color:var(--bgn-navy);
	font-size:clamp(2rem,3.6vw,3.25rem);
	line-height:1.1;
	letter-spacing:-.03em;
}
.bgn-archive-long__content{
	position:relative;
	max-width:920px;
	color:#364552;
	font-size:1rem;
	line-height:1.78;
}
.bgn-archive-long__content h2,
.bgn-archive-long__content h3{margin:1.7em 0 .65em;color:var(--bgn-navy);line-height:1.25}
.bgn-archive-long__content h2{font-size:1.55rem}
.bgn-archive-long__content h3{font-size:1.2rem}
.bgn-archive-long__content a{color:var(--bgn-blue);font-weight:750;text-decoration:underline;text-underline-offset:3px}
.bgn-archive-long__content ul,
.bgn-archive-long__content ol{padding-left:1.25em}
.bgn-archive-long__content > :first-child{margin-top:0}
.bgn-archive-long__content > :last-child{margin-bottom:0}
.bgn-archive-long.is-collapsible.is-collapsed .bgn-product-description__content::after{
	background:linear-gradient(180deg,rgba(255,255,255,0),#fff 88%);
}

/* Related category pathways */
.bgn-archive-related{padding-block:clamp(64px,8vw,104px);background:#f3f8fa}
.bgn-archive-related__grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:0;
	margin:0;
	padding:0;
	border-top:1px solid var(--bgn-border);
	border-bottom:1px solid var(--bgn-border);
	list-style:none;
}
.bgn-archive-related__grid li + li{border-left:1px solid var(--bgn-border)}
.bgn-archive-related__grid a{
	display:flex;
	min-height:190px;
	padding:26px;
	flex-direction:column;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	transition:background-color .2s ease;
}
.bgn-archive-related__grid a:hover,
.bgn-archive-related__grid a:focus-visible{border-color:transparent;background:#fff;box-shadow:none;transform:none}
.bgn-archive-related__grid span{color:var(--bgn-navy);font-size:1.18rem;font-weight:800;line-height:1.3}
.bgn-archive-related__grid small{margin-top:12px;color:var(--bgn-muted);font-size:.86rem;line-height:1.6}
.bgn-archive-related__grid strong{margin-top:auto;padding-top:18px;color:var(--bgn-blue);font-size:.82rem}

/* Full-width reused home sections */
.bgn-product-archive .bgn-commerce > .bgn-capability,
.bgn-product-archive .bgn-commerce > .bgn-personalized-proof,
.bgn-product-archive .bgn-commerce > .bgn-quote{margin:0}
.bgn-product-archive .bgn-commerce > .bgn-capability{border-top:1px solid rgba(4,76,132,.08)}

/* Motion is progressively enabled by archive JS. */
.bgn-archive-motion-ready .woocommerce-products-header,
.bgn-archive-motion-ready .bgn-archive-quick-links,
.bgn-archive-motion-ready .bgn-archive-toolbar{
	animation:bgn-archive-rise .58s var(--bgn-ease) backwards;
}
.bgn-archive-motion-ready .bgn-archive-quick-links{animation-delay:.07s}
.bgn-archive-motion-ready .bgn-archive-toolbar{animation-delay:.12s}
@keyframes bgn-archive-rise{
	from{opacity:0;transform:translateY(16px)}
	to{opacity:1;transform:translateY(0)}
}

@media (max-width:1024px){
	.bgn-product-archive .woocommerce-products-header{grid-template-columns:minmax(0,1.05fr) minmax(300px,.8fr)}
	.bgn-product-archive .bgn-commerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
	.bgn-archive-toolbar{grid-template-columns:1fr auto}
	.bgn-archive-toolbar__ordering{grid-column:1;grid-row:2;justify-self:start}
	.bgn-archive-filter{grid-column:2;grid-row:1/3}
	.bgn-archive-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
	.bgn-product-archive .bgn-commerce{padding-top:20px}
	.bgn-product-archive .bgn-commerce > .bgn-container{width:min(100% - 28px,var(--bgn-container));padding-bottom:64px}
	.bgn-product-archive .bgn-commerce .woocommerce-breadcrumb{margin-bottom:18px;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
	.bgn-product-archive .woocommerce-products-header{
		display:block;
		margin-bottom:28px;
		padding:66px 20px 24px;
		border-radius:0;
	}
	.bgn-product-archive .woocommerce-products-header::after{top:0;right:0;bottom:0;width:68vw}
	.bgn-product-archive .woocommerce-products-header__title.page-title{font-size:clamp(2rem,10vw,3rem);line-height:1.05}
	.bgn-archive-hero__eyebrow{top:22px;left:20px;font-size:.66rem}
	.bgn-archive-hero__description{margin-top:20px;padding-top:18px;font-size:.9rem;line-height:1.62}
	.bgn-archive-hero__description::before{width:34px;margin-bottom:13px}

	.bgn-archive-quick-links{margin-bottom:26px}
	.bgn-archive-quick-links ul{
		display:flex;
		gap:10px;
		margin-inline:-14px;
		padding:2px 14px 10px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		scrollbar-width:none;
	}
	.bgn-archive-quick-links ul::-webkit-scrollbar{display:none}
	.bgn-archive-quick-links li{flex:0 0 76vw;max-width:270px;scroll-snap-align:start}
	.bgn-archive-quick-links__link{min-height:72px;padding:14px 40px 14px 15px}

	.bgn-archive-toolbar{
		display:grid;
		grid-template-columns:1fr 1fr;
		gap:10px;
		padding:12px;
		backdrop-filter:none;
	}
	.bgn-archive-toolbar__status{grid-column:1/-1}
	.bgn-archive-filter{grid-column:1;grid-row:2}
	.bgn-archive-filter summary{width:100%;min-width:0}
	.bgn-archive-filter__form{
		position:fixed;
		z-index:9999;
		top:auto;
		right:0;
		bottom:0;
		left:0;
		grid-template-columns:1fr;
		width:100%;
		max-height:min(78vh,680px);
		padding:22px 18px max(22px,env(safe-area-inset-bottom));
		border-top:4px solid var(--bgn-yellow);
		border-radius:0;
		overflow-y:auto;
		box-shadow:0 -20px 60px rgba(4,40,75,.22);
	}
	.bgn-archive-filter__actions{position:sticky;bottom:-22px;margin:4px -18px -22px;padding:14px 18px max(14px,env(safe-area-inset-bottom));background:#fff}
	.bgn-archive-filter__actions .bgn-button{flex:1;min-width:0}
	.bgn-archive-toolbar__ordering{grid-column:2;grid-row:2;min-width:0}
	.bgn-archive-toolbar__ordering > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
	.bgn-archive-toolbar__ordering .woocommerce-ordering,
	.bgn-archive-toolbar__ordering .woocommerce-ordering select{width:100%;max-width:none}
	.bgn-archive-active-filters{grid-column:1/-1}

	.bgn-product-archive .bgn-commerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
	.bgn-product-archive .bgn-commerce ul.products li.product{padding:0 0 12px;border-radius:3px}
	.bgn-product-archive .bgn-commerce ul.products li.product a img{margin-bottom:11px;border-radius:0}
	.bgn-product-archive .bgn-commerce ul.products li.product .woocommerce-loop-product__title{min-height:2.65em;padding-inline:10px;font-size:.82rem;line-height:1.33}
	.bgn-product-archive .bgn-commerce ul.products li.product .price{margin:7px 0 10px;padding-inline:10px;font-size:.82rem}
	.bgn-product-archive .bgn-commerce ul.products li.product .button{min-height:42px;margin-inline:10px;padding:8px 5px;font-size:.71rem;line-height:1.25}

	.bgn-archive-long{padding-block:56px}
	.bgn-archive-long .bgn-container{width:min(calc(100% - 32px),var(--bgn-container))}
	.bgn-archive-section-heading{margin-bottom:25px}
	.bgn-archive-section-heading h2{font-size:1.85rem}
	.bgn-archive-long__content{font-size:.92rem;line-height:1.7}
	.bgn-archive-related{padding-block:56px}
	.bgn-archive-related__grid{grid-template-columns:1fr;gap:12px}
	.bgn-archive-related__grid li + li{border-top:1px solid var(--bgn-border);border-left:0}
	.bgn-archive-related__grid a{min-height:150px;padding:21px}
}

@media (max-width:374px){
	.bgn-product-archive .bgn-commerce > .bgn-container{width:min(100% - 20px,var(--bgn-container))}
	.bgn-product-archive .bgn-commerce ul.products{gap:8px}
	.bgn-product-archive .bgn-commerce ul.products li.product .button{font-size:.66rem}
}

@media (prefers-reduced-motion:reduce){
	.bgn-archive-motion-ready .woocommerce-products-header,
	.bgn-archive-motion-ready .bgn-archive-quick-links,
	.bgn-archive-motion-ready .bgn-archive-toolbar,
	.bgn-archive-motion-ready .bgn-commerce ul.products li.product{animation:none}
	.bgn-product-archive .bgn-commerce ul.products li.product,
	.bgn-archive-quick-links__link,
	.bgn-archive-related__grid a,
	.bgn-archive-filter__summary-icon{transition:none}
}
