/* ============================================================================
   shop.css - Archive / category shop page styles
   Breakpoints match the rest of the site (style.css):
     ≥ 1180px  desktop  – sidebar always visible
     < 1180px  tablet   – sidebar becomes a slide-in drawer
     <  900px  mobile   – 2-col grid; subbar stacks
     <  600px  small    – 1-col grid; tighter spacing
   ========================================================================= */

/* ── Custom properties local to the shop ──────────────────────────────────── */
:root {
	--pp-sidebar-w:          220px;
	--pp-drawer-w:           min(300px, 88vw);
	--pp-drawer-z:           900;
	--pp-scrim-z:            899;
	--pp-filter-group-gap:   var(--pp-sp-6);
	--pp-option-h:           36px;
	--pp-slider-track-h:     4px;
	--pp-slider-thumb-size:  18px;
	--pp-pill-h:             30px;
}

/* ── Page shell ───────────────────────────────────────────────────────────── */
.pp-shop-page {
	background: var(--pp-bg-page);
	min-height: 60vh;
}

/* ── Shop header ──────────────────────────────────────────────────────────── */
.pp-shop-header {
	padding: var(--pp-sp-10) var(--pp-gutter) var(--pp-sp-6);
}

.pp-shop-header__title {
	font-size: var(--pp-fs-page);
	font-weight: var(--pp-fw-black);
	letter-spacing: var(--pp-ls-page);
	line-height: var(--pp-lh-tight);
	color: var(--pp-ink);
	margin: 0 0 var(--pp-sp-2);
}

.pp-shop-header__desc {
	font-size: var(--pp-fs-body);
	color: var(--pp-text-3);
	line-height: var(--pp-lh-body);
	max-width: 52ch;
	margin: 0;
}

/* ── Sub-bar (count + sort + view toggle) ─────────────────────────────────── */
.pp-shop-subbar {
	border-top: var(--pp-bw-hair) solid var(--pp-border);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
	background: var(--pp-bg);
}

.pp-shop-subbar__inner {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-4);
	padding: var(--pp-sp-3) var(--pp-gutter);
}

.pp-shop-subbar__count {
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-3);
	margin: 0;
	flex: 1;
}

.pp-shop-subbar__count strong {
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
}

.pp-shop-subbar__count a {
	color: var(--pp-ink);
	text-decoration: none;
}
.pp-shop-subbar__count a:hover {
	color: var(--pp-magenta);
	text-decoration: underline;
}

.pp-shop-subbar__controls {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-3);
	flex-shrink: 0;
}

/* Sort dropdown - restyle the WooCommerce <select> */
.pp-shop-sort .woocommerce-ordering {
	margin: 0;
}

.pp-shop-sort .woocommerce-ordering select,
.pp-shop-sort select.orderby {
	font-family: var(--pp-font);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-medium);
	color: var(--pp-ink);
	background: var(--pp-bg);
	border: var(--pp-bw-hair) solid var(--pp-border-strong);
	border-radius: var(--pp-r-md);
	padding: var(--pp-sp-2) var(--pp-sp-8) var(--pp-sp-2) var(--pp-sp-3);
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b6560' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
	cursor: pointer;
	height: 36px;
	line-height: 1;
}

.pp-shop-sort select.orderby:focus {
	outline: none;
	border-color: var(--pp-magenta);
	box-shadow: var(--pp-focus-ring-input);
}

/* Grid / list view toggle */
.pp-shop-view-toggle {
	display: flex;
	gap: var(--pp-sp-1);
}

.pp-shop-view-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: var(--pp-bw-hair) solid var(--pp-border-strong);
	border-radius: var(--pp-r-md);
	background: var(--pp-bg);
	color: var(--pp-text-3);
	cursor: pointer;
	transition: border-color var(--pp-dur-fast), color var(--pp-dur-fast);
}

.pp-shop-view-btn svg { width: 18px; height: 18px; }

.pp-shop-view-btn.is-active,
.pp-shop-view-btn:hover:not(:disabled) {
	border-color: var(--pp-magenta);
	color: var(--pp-magenta);
}

.pp-shop-view-btn:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

/* "Filters" button - hidden on desktop, shown on tablet/mobile as icon-only */
.pp-shop-filter-btn {
	display: none;
	align-items: center;
	justify-content: center;
	gap: var(--pp-sp-1);
	width: 36px;
	height: 36px;
	padding: 0;
	border: var(--pp-bw-mid) solid var(--pp-border-strong);
	border-radius: var(--pp-r-md);
	background: var(--pp-bg);
	color: var(--pp-ink);
	cursor: pointer;
	flex-shrink: 0;
	transition: border-color var(--pp-dur-fast);
}

.pp-shop-filter-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

.pp-shop-filter-btn:hover { border-color: var(--pp-magenta); }

.pp-shop-filter-btn__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	background: var(--pp-magenta);
	color: var(--pp-on-dark);
	border-radius: var(--pp-r-pill);
	font-size: 10px;
	font-weight: var(--pp-fw-bold);
	line-height: 1;
}

.pp-shop-filter-btn__count:empty { display: none; }

/* ── Active filter pills ──────────────────────────────────────────────────── */
.pp-active-filters {
	padding: var(--pp-sp-3) var(--pp-gutter);
	background: var(--pp-bg);
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
}

.pp-active-filters.is-hidden { display: none; }

.pp-active-filters__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--pp-sp-2);
}

.pp-active-filters__pill {
	display: inline-flex;
	align-items: center;
	gap: var(--pp-sp-1);
	height: var(--pp-pill-h);
	padding: 0 var(--pp-sp-3);
	background: var(--pp-magenta-soft);
	color: var(--pp-magenta-dark);
	border: var(--pp-bw-hair) solid color-mix(in srgb, var(--pp-magenta) 30%, transparent);
	border-radius: var(--pp-r-pill);
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-medium);
	cursor: pointer;
	transition: background var(--pp-dur-fast), border-color var(--pp-dur-fast);
}

.pp-active-filters__pill:hover {
	background: color-mix(in srgb, var(--pp-magenta) 18%, white);
	border-color: var(--pp-magenta);
}

.pp-active-filters__pill svg { width: 14px; height: 14px; }

.pp-active-filters__clear {
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-magenta);
	background: none;
	border: none;
	padding: 0 var(--pp-sp-2);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.pp-active-filters__clear:hover { color: var(--pp-magenta-dark); }

/* ── Main layout: sidebar + content ──────────────────────────────────────── */
.pp-shop-layout {
	display: grid;
	grid-template-columns: var(--pp-sidebar-w) 1fr;
	gap: 0;
	align-items: start;
	padding: 0 var(--pp-gutter);
	padding-top: var(--pp-sp-8);
}

/* ── Sidebar / filter panel ───────────────────────────────────────────────── */
.pp-shop-sidebar {
	position: sticky;
	top: var(--pp-sp-8);
	max-height: calc(100vh - var(--pp-sp-8) - var(--pp-sp-8));
	overflow-y: auto;
	/* padding-right: var(--pp-sp-8); */
	scrollbar-width: thin;
	scrollbar-color: var(--pp-border-strong) transparent;
}

.pp-shop-sidebar::-webkit-scrollbar { width: 4px; }
.pp-shop-sidebar::-webkit-scrollbar-track { background: transparent; }
.pp-shop-sidebar::-webkit-scrollbar-thumb { background: var(--pp-border-strong); border-radius: 2px; }

/* Drawer header - hidden on desktop */
.pp-filter-drawer__header { display: none; }
.pp-filter-drawer__footer { display: none; }

/* ── Filter group ─────────────────────────────────────────────────────────── */
.pp-filter-group {
	border-bottom: var(--pp-bw-hair) solid var(--pp-border);
	padding: var(--pp-filter-group-gap) 0;
}

.pp-filter-group:first-child { padding-top: 0; }
.pp-filter-group:last-child  { border-bottom: none; }

.pp-filter-group__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-family: var(--pp-font);
	margin-bottom: var(--pp-sp-3);
}

.pp-filter-group__header:hover {
    background: none;
}

.pp-filter-group__label {
	font-size: var(--pp-fs-body);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
}

.pp-filter-group__icon {
	color: var(--pp-text-3);
	flex-shrink: 0;
}

.pp-filter-group__icon svg { width: 16px; height: 16px; }

.pp-filter-group__body {
	max-height: 33vh;
	padding-right: 10px;
	overflow: auto;
	transition: none; /* collapsed state is instant â€” no layout jank */
}

.pp-filter-group__body.is-collapsed { display: none; }

.pp-filter-group__empty {
	font-size: var(--pp-fs-xs);
	color: var(--pp-text-4);
	margin: 0;
}

/* ── Checkbox filter option ───────────────────────────────────────────────── */
.pp-filter-option {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	min-height: var(--pp-option-h);
	cursor: pointer;
	padding: 2px 0;
	margin: 0;
}

.pp-filter-option:hover .pp-filter-option__name { color: var(--pp-magenta); }

.pp-filter-option__cb {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin: 0;
	border: var(--pp-bw-mid) solid var(--pp-border-strong);
	border-radius: var(--pp-r-xs);
	accent-color: var(--pp-magenta);
	cursor: pointer;
}

.pp-filter-option__cb:focus-visible {
	outline: none;
	box-shadow: var(--pp-focus-ring);
}

.pp-filter-option__name {
	flex: 1;
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	line-height: var(--pp-lh-snug);
	transition: color var(--pp-dur-fast);
}

.pp-filter-option.is-checked .pp-filter-option__name {
	color: var(--pp-ink);
	font-weight: var(--pp-fw-medium);
}

.pp-filter-option__count {
	font-size: var(--pp-fs-2xs);
	color: var(--pp-text-4);
	min-width: 20px;
	text-align: right;
}

/* ── Category tree (hierarchical / leaf mode) ────────────────────────────── */
.pp-filter-cat-ancestor {
	display: block;
	font-size: var(--pp-fs-xs);
	font-weight: var(--pp-fw-semibold);
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--pp-text-4);
	padding: var(--pp-sp-1) 0 var(--pp-sp-3);
	border-bottom: var(--pp-bw-thin) solid var(--pp-border);
	margin-bottom: var(--pp-sp-2);
}

.pp-filter-cat-branch { margin-bottom: 2px; }

/* Row: label fills available space, toggle button sits at the right edge */
.pp-filter-cat-branch__row {
	display: flex;
	align-items: center;
}
.pp-filter-cat-branch__row .pp-filter-option {
	flex: 1 1 auto;
	min-width: 0;
}

/* Expand/collapse chevron button */
.pp-filter-cat-branch__toggle {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	margin-left: var(--pp-sp-1);
	background: none;
	border: none;
	border-radius: var(--pp-r-sm);
	color: var(--pp-text-3);
	cursor: pointer;
	transition: color .15s, background .15s;
}
.pp-filter-cat-branch__toggle:hover {
	color: var(--pp-ink);
	background: var(--pp-surface-2);
}
.pp-filter-cat-branch__toggle svg {
	width: 16px;
	height: 16px;
}

/* Expanded parent: non-checkbox label shown as a section heading (tree/leaf mode) */
.pp-filter-cat-branch__label {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
	min-height: var(--pp-option-h);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
	padding: 2px 0 var(--pp-sp-1);
}
.pp-filter-cat-branch__label .pp-filter-option__count {
	margin-left: auto;
}

/* Child options indented under the expanded parent */
.pp-filter-option--child {
	padding-left: var(--pp-sp-2);
	padding-right: var(--pp-sp-2);
	border-left: 1px solid var(--pp-border);
}
/* Collapsible children container - hidden until branch is open */
.pp-filter-cat-branch__children { display: none; }
.pp-filter-cat-branch.is-open > .pp-filter-cat-branch__children { display: block; }

/* ── Price range slider ───────────────────────────────────────────────────── */
.pp-price-slider { padding: var(--pp-sp-2) 0 var(--pp-sp-3); }

.pp-price-slider__track {
	position: relative;
	height: var(--pp-slider-track-h);
	background: var(--pp-border);
	border-radius: var(--pp-r-pill);
	margin: calc( var(--pp-slider-thumb-size) / 2 + 4px ) 0;
}

.pp-price-slider__fill {
	position: absolute;
	height: 100%;
	background: var(--pp-magenta);
	border-radius: var(--pp-r-pill);
	pointer-events: none;
}

.pp-price-slider__thumb {
	position: absolute;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateY(-50%);
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	pointer-events: none;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
}

.pp-price-slider__thumb::-webkit-slider-thumb {
	-webkit-appearance: none;
	width: var(--pp-slider-thumb-size);
	height: var(--pp-slider-thumb-size);
	border-radius: 50%;
	background: var(--pp-bg);
	border: 2px solid var(--pp-magenta);
	box-shadow: var(--pp-shadow-xs);
	pointer-events: all;
	cursor: pointer;
	transition: border-color var(--pp-dur-fast), box-shadow var(--pp-dur-fast);
}

.pp-price-slider__thumb:focus-visible::-webkit-slider-thumb {
	box-shadow: var(--pp-focus-ring);
}

.pp-price-slider__thumb::-moz-range-thumb {
	width: var(--pp-slider-thumb-size);
	height: var(--pp-slider-thumb-size);
	border-radius: 50%;
	background: var(--pp-bg);
	border: 2px solid var(--pp-magenta);
	box-shadow: var(--pp-shadow-xs);
	pointer-events: all;
	cursor: pointer;
}

.pp-price-slider__thumb:focus-visible::-moz-range-thumb {
	box-shadow: var(--pp-focus-ring);
}

.pp-price-slider__labels {
	display: flex;
	justify-content: space-between;
	margin-top: var(--pp-sp-3);
}

.pp-price-slider__label-min,
.pp-price-slider__label-max {
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-semibold);
	color: var(--pp-ink);
}

/* ── Product grid column ──────────────────────────────────────────────────── */
.pp-shop-content {
	min-width: 0; /* prevent grid blowout */
	padding-left: var(--pp-sp-8);
	padding-bottom: var(--pp-sp-14);
}

#pp-product-grid {
	position: relative; /* needed for spinner pseudo-element */
	transition: opacity 200ms;
}

/* ── Loading state ────────────────────────────────────────────────────────── */
@keyframes pp-spin {
	to { transform: rotate(360deg); }
}

#pp-product-grid.pp-shop-loading {
	opacity: 0.45;
	pointer-events: none;
}

#pp-product-grid.pp-shop-loading::after {
	content: '';
	position: absolute;
	top: 80px; /* visual centre-ish without centering to viewport */
	left: 50%;
	width: 32px;
	height: 32px;
	margin-left: -16px;
	border: 3px solid var(--pp-border);
	border-top-color: var(--pp-magenta);
	border-radius: 50%;
	animation: pp-spin 0.65s linear infinite;
}

/* Inputs disabled while loading */
.pp-filter-form.is-loading {
	pointer-events: none;
	opacity: 0.55;
}

/* ── Per-page select ──────────────────────────────────────────────────────── */
.pp-shop-per-page {
	display: flex;
	align-items: center;
	gap: var(--pp-sp-2);
}

.pp-shop-per-page__label {
	font-size: var(--pp-fs-sm);
	color: var(--pp-text-2);
	white-space: nowrap;
	margin: 0;
}

.pp-shop-per-page__select {
	height: 36px;
	padding: 0 var(--pp-sp-3) !important;
	border: var(--pp-bw-hair) solid var(--pp-border-strong);
	border-radius: var(--pp-r-md);
	background: var(--pp-bg);
	color: var(--pp-text-1);
	font-size: var(--pp-fs-sm);
	font-family: inherit;
	cursor: pointer;
	transition: border-color var(--pp-dur-fast);
}

.pp-shop-per-page__select:hover,
.pp-shop-per-page__select:focus {
	border-color: var(--pp-magenta);
	outline: none;
}

/* ── Pagination ───────────────────────────────────────────────────────────── */
.pp-pagination {
	margin-top: var(--pp-sp-10);
}

.pp-pagination__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--pp-sp-1);
	list-style: none;
	margin: 0;
	padding: 0;
}

.pp-pagination__item a,
.pp-pagination__item span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: var(--pp-pager-btn);
	height: var(--pp-pager-btn);
	padding: 0 var(--pp-sp-3);
	border-radius: var(--pp-r-md);
	font-size: var(--pp-fs-sm);
	font-weight: var(--pp-fw-medium);
	text-decoration: none;
	border: var(--pp-bw-hair) solid var(--pp-border-strong);
	background: var(--pp-bg);
	color: var(--pp-text-2);
	cursor: pointer;
	transition: border-color var(--pp-dur-fast), color var(--pp-dur-fast), background var(--pp-dur-fast);
}

.pp-pagination__item a:hover {
	border-color: var(--pp-magenta);
	color: var(--pp-magenta);
	background: var(--pp-magenta-soft);
}

.pp-pagination__item.is-current span {
	background: var(--pp-magenta);
	border-color: var(--pp-magenta);
	color: var(--pp-on-dark);
	cursor: default;
}

.pp-pagination__ellipsis span {
	border-color: transparent;
	background: transparent;
	color: var(--pp-text-4);
	pointer-events: none;
}

/* ── Mobile drawer ────────────────────────────────────────────────────────── */

/* Scrim - hidden until drawer opens */
.pp-filter-scrim {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(26, 22, 20, 0.5);
	z-index: var(--pp-scrim-z);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--pp-dur) var(--pp-ease);
}

.pp-filter-scrim.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* Prevent body scroll while drawer is open */
body.pp-drawer-open {
	overflow: hidden;
}

/* ── Responsive: < 1180px - drawer mode ──────────────────────────────────── */
@media (max-width: 1179px) {

	.pp-shop-header { padding-left: var(--pp-sp-6); padding-right: var(--pp-sp-6); }
	.pp-shop-subbar__inner { padding-left: var(--pp-sp-6); padding-right: var(--pp-sp-6); }
	.pp-active-filters { padding-left: var(--pp-sp-6); padding-right: var(--pp-sp-6); }
	.pp-shop-layout { grid-template-columns: 1fr; padding-left: var(--pp-sp-6); padding-right: var(--pp-sp-6); }
	.pp-shop-content { padding-left: 0; }

	/* Show the Filters toggle button; stretch controls to fill the bar and push it right */
	.pp-shop-filter-btn { display: inline-flex; order: 10; margin-left: auto; }
	.pp-shop-subbar__controls { flex: 1; }

	/* Drawer: sidebar becomes a fixed slide-in panel */
	.pp-shop-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: var(--pp-drawer-w);
		height: 100%;
		max-height: none;
		overflow-y: auto;
		background: var(--pp-bg);
		z-index: var(--pp-drawer-z);
		transform: translateX( calc( -1 * var(--pp-drawer-w) - 2px ) ); /* start off-screen */
		transition: transform var(--pp-dur) var(--pp-ease), box-shadow var(--pp-dur) var(--pp-ease);
		padding: 0;
		border-right: var(--pp-bw-hair) solid var(--pp-border);
		display: flex;
		flex-direction: column;
	}

	.pp-shop-sidebar.is-open {
		transform: translateX(0);
		box-shadow: var(--pp-shadow-mega);
	}

	/* Scrim shown when drawer opens */
	.pp-filter-scrim { display: block; }

	/* Drawer header */
	.pp-filter-drawer__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--pp-sp-5) var(--pp-sp-5);
		border-bottom: var(--pp-bw-hair) solid var(--pp-border);
		flex-shrink: 0;
	}

	.pp-filter-drawer__title {
		font-size: var(--pp-fs-body);
		font-weight: var(--pp-fw-semibold);
		color: var(--pp-ink);
	}

	.pp-filter-drawer__close {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border: none;
		background: none;
		color: var(--pp-text-2);
		cursor: pointer;
		border-radius: var(--pp-r-md);
	}

	.pp-filter-drawer__close:hover { background: var(--pp-bg-sunken); }
	.pp-filter-drawer__close:focus-visible { box-shadow: var(--pp-focus-ring); outline: none; }
	.pp-filter-drawer__close svg { width: 20px; height: 20px; }

	/* Scrollable filter groups */
	.pp-filter-form {
		flex: 1;
		overflow-y: auto;
		padding: var(--pp-sp-5);
	}

	/* Drawer footer with "Show N results" button */
	.pp-filter-drawer__footer {
		display: block;
		padding: var(--pp-sp-4) var(--pp-sp-5);
		border-top: var(--pp-bw-hair) solid var(--pp-border);
		flex-shrink: 0;
		background: var(--pp-bg);
	}

	.pp-filter-drawer__apply {
		width: 100%;
		justify-content: center;
	}

	.pp-drawer-count::before { content: ''; } /* populated by JS */

	/* Pills stay visible above the grid on mobile */
	.pp-active-filters { order: -1; }

	/* Hide WC result count from sub-bar on mobile (pills + drawer provide context) */
	.pp-shop-subbar__count { display: none; }
}

/* ── Responsive: < 900px ─────────────────────────────────────────────────── */
@media (max-width: 899px) {

	.pp-shop-header {
		padding-top: var(--pp-sp-8);
		padding-bottom: var(--pp-sp-4);
	}

	.pp-shop-header__title {
		font-size: var(--pp-fs-h2);
	}

	.pp-shop-subbar__controls { gap: var(--pp-sp-2); }

	/* Hide view toggle at this size - grid is forced anyway */
	.pp-shop-view-toggle { display: none; }
}

/* ── Responsive: < 600px ─────────────────────────────────────────────────── */
@media (max-width: 599px) {

	.pp-shop-header {
		padding-left: var(--pp-sp-4);
		padding-right: var(--pp-sp-4);
	}

	.pp-shop-subbar__inner {
		padding-left: var(--pp-sp-4);
		padding-right: var(--pp-sp-4);
	}

	.pp-active-filters {
		padding-left: var(--pp-sp-4);
		padding-right: var(--pp-sp-4);
	}

	.pp-shop-layout {
		padding-left: var(--pp-sp-4);
		padding-right: var(--pp-sp-4);
	}

	.pp-shop-header__title { font-size: var(--pp-fs-h3); }

	.pp-shop-sort select.orderby { font-size: var(--pp-fs-2xs); }
}

/* ── Reduced motion ───────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.pp-shop-sidebar,
	.pp-filter-scrim,
	#pp-product-grid,
	.pp-active-filters__pill,
	.pp-shop-sort select.orderby {
		transition: none;
	}

	#pp-product-grid.pp-shop-loading::after {
		animation: none;
		border-top-color: var(--pp-magenta);
		opacity: 0.6;
	}
}
