/**
 * Shop category sidebar and catalog layout.
 */

.pn-catalog-layout {
	display: grid;
	grid-template-areas:
		"breadcrumb breadcrumb"
		"sidebar banner"
		"sidebar products";
	grid-template-columns: minmax(13rem, 14.5rem) minmax(0, 1fr);
	gap: 1.75rem clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	margin-block: 0;
}

.pn-catalog-breadcrumb {
	grid-area: breadcrumb;
	min-inline-size: 0;
	padding: 0.8rem 1rem;
	background: #fff;
	border: 1px solid var(--pn-line, rgba(17, 17, 17, 0.16));
}

.pn-catalog-breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	color: rgba(17, 17, 17, 0.62);
}

.pn-catalog-breadcrumb .woocommerce-breadcrumb a {
	color: var(--pn-blue, #2157ff);
	font-weight: 700;
	text-decoration: none;
}

.pn-catalog-breadcrumb .woocommerce-breadcrumb a:hover,
.pn-catalog-breadcrumb .woocommerce-breadcrumb a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.pn-catalog-layout > .woocommerce,
.pn-catalog-layout > main,
.pn-catalog-layout > #primary,
.pn-catalog-products {
	min-inline-size: 0;
}

.pn-catalog-sidebar {
	position: sticky;
	top: 8.5rem;
	grid-area: sidebar;
	align-self: start;
	padding: 1.25rem 1.15rem;
	background: #fff;
	border: 1px solid var(--pn-line, rgba(17, 17, 17, 0.14));
	box-shadow: none;
}

.pn-catalog-feature {
	grid-area: banner;
	min-inline-size: 0;
}

.pn-catalog-sidebar__title {
	margin: 0 0 1.2rem;
	font-family: var(--pn-display, sans-serif);
	font-size: clamp(1.55rem, 2.4vw, 1.9rem);
	font-style: normal;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1;
}

.pn-catalog-sidebar__list,
.pn-catalog-sidebar__children {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pn-catalog-sidebar__item {
	border-block-start: 1px solid var(--pn-line, rgba(17, 17, 17, 0.16));
}

.pn-catalog-sidebar__item--all {
	border-block-start: 1px solid var(--pn-line, rgba(17, 17, 17, 0.14));
	border-block-end: 1px solid var(--pn-line, rgba(17, 17, 17, 0.14));
}

.pn-catalog-sidebar__item--popular {
	border-block-start: 0;
	border-block-end: 1px solid var(--pn-line, rgba(17, 17, 17, 0.14));
}

.pn-catalog-sidebar__item--popular .pn-catalog-sidebar__link {
	color: #1747cf;
}

.pn-catalog-sidebar__link {
	display: flex;
	min-width: 0;
	flex: 1;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-block-size: 2.8rem;
	padding: 0.55rem 0.45rem;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: color 160ms ease, background 160ms ease;
}

.pn-catalog-sidebar__link:hover,
.pn-catalog-sidebar__link:focus-visible {
	color: var(--pn-blue, #2157ff);
	background: #f5f7fa;
}

.pn-catalog-sidebar__link[aria-current="page"] {
	padding-inline: 0.65rem 0.45rem;
	color: #1747cf;
	background: #eef3ff;
	box-shadow: inset 3px 0 0 var(--pn-blue, #2157ff);
}

.pn-catalog-sidebar__parent-row {
	display: flex;
	align-items: stretch;
}

.pn-catalog-sidebar__toggle {
	display: grid;
	width: 2.8rem;
	min-width: 2.8rem;
	min-height: 2.8rem;
	padding: 0;
	color: rgba(17, 17, 17, 0.68);
	background: transparent;
	border: 0;
	cursor: pointer;
	place-items: center;
}

.pn-catalog-sidebar__toggle:hover,
.pn-catalog-sidebar__toggle:focus-visible {
	color: var(--pn-blue, #2157ff);
	background: #f5f7fa;
}

.pn-catalog-sidebar__toggle:focus-visible {
	outline: 2px solid var(--pn-blue, #2157ff);
	outline-offset: -3px;
}

.pn-catalog-sidebar__toggle svg {
	width: 0.75rem;
	height: 0.5rem;
	fill: none;
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transition: transform 160ms ease;
}

.pn-catalog-sidebar__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.pn-catalog-sidebar__children {
	padding: 0.25rem 0 0.7rem 0.75rem;
}

.pn-catalog-sidebar__children[hidden] {
	display: none;
}

.pn-catalog-sidebar__item--child {
	border-block-start: 0;
}

.pn-catalog-sidebar__item--child .pn-catalog-sidebar__link {
	min-block-size: 2.25rem;
	padding: 0.35rem 0.45rem;
	font-size: 0.82rem;
}

.pn-catalog-sidebar__item--child .pn-catalog-sidebar__link::before {
	display: none;
}

.pn-catalog-sidebar__count,
.pn-catalog-sidebar__soon {
	flex: none;
	font-family: var(--pn-display, sans-serif);
	font-size: 0.72rem;
	font-weight: 900;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.08em;
}

.pn-catalog-sidebar__count {
	display: grid;
	min-width: 1.65rem;
	height: 1.45rem;
	padding-inline: 0.35rem;
	color: rgba(17, 17, 17, 0.72);
	background: #eef0f3;
	border: 0;
	border-radius: 999px;
	place-items: center;
}

.pn-catalog-sidebar__soon {
	color: rgba(17, 17, 17, 0.38);
}

.pn-catalog-layout > .wp-block-woocommerce-product-collection,
.pn-catalog-layout > .woocommerce,
.pn-catalog-layout > main,
.pn-catalog-layout > #primary,
.pn-catalog-products {
	grid-area: products;
}

@media (max-width: 64rem) {
	.pn-catalog-layout {
		grid-template-areas:
			"breadcrumb"
			"banner"
			"sidebar"
			"products";
		grid-template-columns: minmax(0, 1fr);
	}

	.pn-catalog-sidebar {
		position: static;
	}

	.pn-catalog-sidebar__list {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.pn-catalog-sidebar__item,
	.pn-catalog-sidebar__item--all {
		border: 1px solid var(--pn-line, rgba(17, 17, 17, 0.16));
	}

	.pn-catalog-sidebar__children {
		padding: 0;
	}
}

@media (max-width: 40rem) {
	.pn-catalog-sidebar {
		padding: 1rem;
		box-shadow: none;
	}

	.pn-catalog-sidebar__list {
		grid-template-columns: 1fr;
	}

	.pn-catalog-sidebar__children {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.35rem;
		padding: 0.35rem;
	}

	.pn-catalog-sidebar__children {
		border: 1px solid var(--pn-line, rgba(17, 17, 17, 0.16));
	}
}
