/**
 * ParsAccess shop / category archive.
 * Canva reference: compact controls, image-led cards and a responsive 5-up grid.
 * Depends on parsaccess-ui.css. Loaded on shop and product taxonomy archives only.
 *
 * @package parsaccess
 */

.pa-shop {
	min-block-size: 70vh;
	padding-block: clamp(22px, 3vw, 42px) 64px;
	background:
		radial-gradient(circle at 9% 18%, rgba(84, 196, 204, .14), transparent 28%),
		radial-gradient(circle at 88% 64%, rgba(105, 99, 211, .1), transparent 31%),
		var(--pa-page);
}
.pa-shop .container { position: relative; }
.pa-shop .pa-ambient { display: none; }

/* ------------------------------------------------ Breadcrumb */
.pa-shop-crumb {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-block-end: clamp(22px, 2.8vw, 34px);
	font-size: clamp(12px, 1vw, 15px);
	font-weight: 600;
	color: #8a91ac;
}
.pa-shop-crumb a { color: inherit; text-decoration: none; }
.pa-shop-crumb a:hover { color: #349bb0; }
.pa-shop-crumb svg {
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.pa-shop-overview {
	position: relative;
	z-index: 12;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: clamp(24px, 4vw, 64px);
	margin-block-end: clamp(32px, 4vw, 48px);
}
.pa-shop-intro { min-inline-size: 0; }
.pa-shop-intro h1 {
	margin: 0;
	color: var(--pa-text);
	font-family: var(--font-display, inherit);
	font-size: clamp(26px, 3.1vw, 42px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.025em;
}
.pa-shop-intro p {
	margin: 9px 0 0;
	color: var(--pa-text-muted);
	font-size: clamp(13px, 1.15vw, 16px);
	line-height: 1.8;
}

/* ---------------------------------------- Canva-style shop controls */
.pa-shop-toolbar {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: none;
	gap: 8px;
}
.pa-filters-btn,
.pa-shop-sorting > summary {
	min-block-size: 46px;
	border-radius: 9px;
	font: inherit;
	font-size: clamp(13px, .92vw, 15px);
	font-weight: 800;
	cursor: pointer;
	transition: transform .18s var(--pa-ease), box-shadow .18s var(--pa-ease), background .18s var(--pa-ease);
}
.pa-filters-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding-inline: 13px;
	border: 1px solid #3a9db2;
	background: rgba(255, 255, 255, .76);
	color: #348fa4;
	-webkit-backdrop-filter: blur(14px) saturate(120%);
	backdrop-filter: blur(14px) saturate(120%);
}
.pa-filters-btn svg {
	inline-size: 24px;
	block-size: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.pa-filters-btn:hover,
.pa-filters-btn:focus-visible {
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 10px 24px rgba(47, 143, 165, .16);
}
.pa-filters-btn .badge-count {
	position: absolute;
	inset-block-start: -8px;
	inset-inline-end: -8px;
	display: none;
	align-items: center;
	justify-content: center;
	min-inline-size: 22px;
	block-size: 22px;
	padding-inline: 5px;
	border: 2px solid var(--pa-page);
	border-radius: 999px;
	background: var(--pa-navy);
	color: #fff;
	font-size: 11px;
}
.pa-filters-btn.has-active .badge-count { display: inline-flex; }

.pa-shop-sorting { position: relative; }
.pa-shop-sorting > summary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-inline: 15px;
	list-style: none;
	border: 1px solid #3a9db2;
	background: #3a9db2;
	color: #fff;
	box-shadow: 0 10px 24px rgba(47, 143, 165, .18);
}
.pa-shop-sorting > summary::-webkit-details-marker { display: none; }
.pa-shop-sorting > summary svg {
	inline-size: 16px;
	block-size: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.3;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .2s var(--pa-ease);
}
.pa-shop-sorting[open] > summary svg { transform: rotate(180deg); }
.pa-shop-sorting > summary:hover,
.pa-shop-sorting > summary:focus-visible { background: #328da1; }

.pa-shop-sort-menu {
	position: absolute;
	inset-block-start: calc(100% + 10px);
	inset-inline-start: 0;
	inline-size: min(240px, 86vw);
	max-block-size: min(360px, 68vh);
	overflow-y: auto;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, .86);
	border-radius: 18px;
	background: rgba(241, 248, 251, .94);
	box-shadow: 0 24px 56px rgba(24, 54, 83, .22), inset 0 1px 0 rgba(255, 255, 255, .9);
	-webkit-backdrop-filter: blur(24px) saturate(130%);
	backdrop-filter: blur(24px) saturate(130%);
	scrollbar-width: thin;
	scrollbar-color: #7ab9c6 transparent;
}
.pa-shop-sort-menu::-webkit-scrollbar { inline-size: 7px; }
.pa-shop-sort-menu::-webkit-scrollbar-track { background: transparent; }
.pa-shop-sort-menu::-webkit-scrollbar-thumb { border-radius: 999px; background: #7ab9c6; }
.pa-shop-sort-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-block-size: 44px;
	padding-inline: 12px;
	border-radius: 11px;
	color: var(--pa-text);
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
}
.pa-shop-sort-menu a:hover { background: rgba(58, 157, 178, .11); }
.pa-shop-sort-menu a.is-active { background: #3a9db2; color: #fff; }
.pa-shop-sort-menu a svg { inline-size: 18px; block-size: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* --------------------------------------- Product grid and cards */
.pa-shop-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(14px, 1.3vw, 22px);
	margin-block-end: 38px;
}
.pa-shop-grid .pa-product-card {
	isolation: isolate;
	overflow: hidden;
	min-block-size: 100%;
	padding: 0;
	border: 1px solid rgba(85, 72, 200, .12);
	border-radius: 18px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .84), rgba(244, 246, 255, .58));
	box-shadow: 0 16px 34px rgba(23, 35, 95, .12), inset 0 1px 0 rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(20px) saturate(126%);
	backdrop-filter: blur(20px) saturate(126%);
	transition: transform .24s var(--pa-ease), box-shadow .24s var(--pa-ease), border-color .24s var(--pa-ease);
}
.pa-shop-grid .pa-product-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(circle at 100% 0%, rgba(110, 221, 220, .16), transparent 39%),
		radial-gradient(circle at 0% 100%, rgba(85, 72, 200, .09), transparent 42%),
		linear-gradient(120deg, rgba(255, 255, 255, .3), transparent 38%);
	pointer-events: none;
}
.pa-shop-grid .pa-product-card::after {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 20px;
	z-index: 2;
	block-size: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, var(--pa-indigo), var(--pa-teal), transparent);
	opacity: .62;
	pointer-events: none;
}
.pa-shop-grid .pa-product-card > * { z-index: 1; }
.pa-shop-grid .pa-product-card:hover {
	transform: translateY(-5px);
	border-color: rgba(30, 182, 173, .38);
	box-shadow: 0 24px 46px rgba(23, 35, 95, .17), 0 9px 22px rgba(30, 182, 173, .09), inset 0 1px 0 #fff;
}
.pa-shop-grid .pa-pc-link { flex: 0 0 auto; }
.pa-shop-grid .pa-pc-media {
	inline-size: calc(100% - 16px);
	aspect-ratio: 1.285 / 1;
	margin: 8px 8px 0;
	border: 1px solid rgba(85, 72, 200, .12);
	border-radius: 12px;
	background: linear-gradient(145deg, rgba(110, 221, 220, .2), rgba(85, 72, 200, .1));
	box-shadow: 0 8px 20px rgba(23, 35, 95, .1), inset 0 1px 0 rgba(255, 255, 255, .38);
}
.pa-shop-grid .pa-pc-media img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform .42s var(--pa-ease), filter .42s var(--pa-ease); }
.pa-shop-grid .pa-product-card:hover .pa-pc-media img { transform: scale(1.035); filter: saturate(1.05); }
.pa-shop-grid .pa-pc-chip { inline-size: 100%; block-size: 100%; border-radius: 0; font-size: clamp(18px, 2vw, 30px); }
.pa-shop-grid .pa-pc-badge { display: none; }
.pa-shop-grid .pa-pc-title {
	order: 2;
	min-block-size: 3em;
	margin: 7px 18px 0;
	font-size: clamp(13px, .94vw, 16px);
	font-weight: 750;
	line-height: 1.55;
	text-align: start;
	color: var(--pa-navy);
}
.pa-shop-grid .pa-pc-cat {
	order: 1;
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 6px;
	max-inline-size: calc(100% - 36px);
	min-block-size: 21px;
	margin: 13px 18px 0;
	padding: 2px 7px;
	border: 1px solid rgba(111, 120, 160, .14);
	border-radius: 999px;
	background: rgba(111, 120, 160, .08);
	color: #7b8298;
	font-size: 9.5px;
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-shadow: none;
	-webkit-backdrop-filter: blur(12px) saturate(120%);
	backdrop-filter: blur(12px) saturate(120%);
}
.pa-shop-grid .pa-pc-cat::before { display: none; }
.pa-shop-grid .pa-pc-meta {
	flex: 0 0 auto;
	gap: 9px;
	margin: 12px 18px 0;
	padding: 12px 0 0;
	border: 0;
	border-block-start: 1px solid rgba(58, 157, 178, .11);
	background: transparent;
	box-shadow: none;
}
.pa-shop-grid .pa-pc-price {
	font-size: clamp(12px, .86vw, 14.5px);
	font-weight: 700;
	line-height: 1.55;
	color: var(--pa-navy);
}
.pa-shop-grid .pa-pc-price del { color: #7b8298; font-size: .88em; }
.pa-shop-grid .pa-pc-price ins { color: var(--pa-indigo); }
.pa-shop-grid .pa-pc-tags { display: flex; align-items: center; justify-content: flex-start; gap: 7px; min-block-size: 22px; }
.pa-shop-grid .pa-pc-tags .pa-status { min-inline-size: 0; padding: 0; border: 0; background: transparent; font-size: 10px; font-weight: 700; white-space: nowrap; }
.pa-shop-grid .pa-pc-tags .pa-status::before { display: block; inline-size: 5px; block-size: 5px; box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 14%, transparent); }
.pa-shop-grid .pa-pc-tags .pa-status--instant { color: #169b62; }
.pa-shop-grid .pa-pc-tags .pa-status--instant::before { animation: pa-card-delivery-pulse 1.35s ease-in-out infinite; }
.pa-shop-grid .pa-pc-tags .pa-status--muted { overflow: hidden; color: var(--pa-text-muted); text-overflow: ellipsis; }
@keyframes pa-card-delivery-pulse {
	0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 2px rgba(22, 155, 98, .14); }
	50% { opacity: .25; transform: scale(.7); box-shadow: 0 0 0 5px rgba(22, 155, 98, 0); }
}
.pa-shop-grid .pa-pc-foot {
	position: static;
	display: flex;
	margin-block-start: auto;
	padding: 13px 18px 18px;
}
.pa-shop-grid .pa-pc-view {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 100%;
	min-block-size: 42px;
	border: 1px solid rgba(85, 72, 200, .2);
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(255, 255, 255, .62), rgba(85, 72, 200, .07), rgba(30, 182, 173, .08));
	color: var(--pa-navy);
	font-size: clamp(13px, 1vw, 16px);
	font-weight: 600;
	text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84), 0 7px 16px rgba(23, 35, 95, .06);
	-webkit-backdrop-filter: blur(14px) saturate(120%);
	backdrop-filter: blur(14px) saturate(120%);
	transition: background .18s var(--pa-ease), color .18s var(--pa-ease), transform .18s var(--pa-ease);
}
.pa-shop-grid .pa-pc-view svg { inline-size: 17px; block-size: 17px; margin-inline-start: 4px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s var(--pa-ease); }
.pa-shop-grid .pa-pc-view:hover,
.pa-shop-grid .pa-pc-view:focus-visible {
	border-color: rgba(30, 182, 173, .44);
	background: linear-gradient(135deg, rgba(85, 72, 200, .12), rgba(30, 182, 173, .16));
	color: var(--pa-navy);
}
.pa-shop-grid .pa-pc-view:hover svg,
.pa-shop-grid .pa-pc-view:focus-visible svg { transform: translateX(-3px); }
.pa-shop-grid .pa-wish-btn { display: none; }
.pa-shop-grid .pa-pc-cart {
	position: absolute;
	inset-block-start: 14px;
	inset-inline-end: 14px;
	z-index: 5;
	inline-size: 46px;
	block-size: 46px;
	border: 1px solid rgba(255, 255, 255, .78);
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(85, 72, 200, .78), rgba(30, 182, 173, .76));
	color: #fff;
	box-shadow: 0 10px 24px rgba(7, 24, 33, .2), inset 0 1px 0 rgba(255, 255, 255, .2);
	-webkit-backdrop-filter: blur(10px) saturate(120%);
	backdrop-filter: blur(10px) saturate(120%);
}
.pa-shop-grid .pa-pc-cart:hover { background: linear-gradient(135deg, var(--pa-indigo), var(--pa-teal-strong)); filter: none; }
.pa-shop-grid .pa-pc-cart svg { inline-size: 25px; block-size: 25px; stroke-width: 1.8; }

/* ------------------------------------------------ Pagination */
.pa-shop-empty { padding: 40px; text-align: center; color: var(--pa-text-muted); }
.pa-shop-pager { display: flex; justify-content: center; }
.pa-shop-pager .woocommerce-pagination ul { display: inline-flex; gap: 7px; list-style: none; margin: 0; padding: 0; }
.pa-shop-pager .woocommerce-pagination a,
.pa-shop-pager .woocommerce-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 44px;
	block-size: 44px;
	padding-inline: 12px;
	border: 1px solid rgba(58, 157, 178, .34);
	border-radius: 10px;
	background: rgba(255, 255, 255, .76);
	color: var(--pa-text);
	font-weight: 700;
	text-decoration: none;
}
.pa-shop-pager .woocommerce-pagination .current { border-color: #3a9db2; background: #3a9db2; color: #fff; }

/* ---------------------------------------------- Filter drawer */
.pa-filter-drawer[hidden] { display: none; }
.pa-filter-drawer { --pa-fd-accent: #3a9db2; --pa-fd-accent-deep: #328da1; position: fixed; inset: 0; z-index: 120; }
.pa-fd-overlay {
	position: absolute;
	inset: 0;
	border: 0;
	background: rgba(13, 22, 55, .46);
	-webkit-backdrop-filter: blur(8px) saturate(112%);
	backdrop-filter: blur(8px) saturate(112%);
	cursor: pointer;
}
.pa-fd-panel {
	position: absolute;
	inset-block: 0;
	right: 0;
	left: auto;
	display: flex;
	flex-direction: column;
	inline-size: min(560px, 96vw);
	min-block-size: 0;
	border-inline-start: 1px solid rgba(255, 255, 255, .78);
	background:
		linear-gradient(145deg, rgba(250, 253, 255, .88), rgba(225, 239, 248, .76)),
		radial-gradient(circle at 12% 8%, rgba(30, 182, 173, .14), transparent 40%);
	box-shadow: -24px 0 70px rgba(20, 34, 76, .3), inset 1px 0 0 rgba(255, 255, 255, .48);
	-webkit-backdrop-filter: blur(38px) saturate(150%);
	backdrop-filter: blur(38px) saturate(150%);
	animation: pa-fd-in .3s var(--pa-ease);
}
@keyframes pa-fd-in { from { transform: translateX(8%); opacity: .4; } to { transform: none; opacity: 1; } }
.pa-fd-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 24px 9px;
}
.pa-fd-head h2 { margin: 0; font-size: 19px; font-weight: 850; color: var(--pa-navy); }
.pa-fd-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	border: 1px solid rgba(58, 157, 178, .16);
	border-radius: 12px;
	background: rgba(255, 255, 255, .24);
	color: var(--pa-text);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .46);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	backdrop-filter: blur(14px) saturate(125%);
	cursor: pointer;
	transition: background .18s var(--pa-ease), transform .18s var(--pa-ease);
}
.pa-fd-close:hover { background: rgba(255, 255, 255, .78); transform: rotate(4deg); }
.pa-fd-close svg { inline-size: 21px; block-size: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.pa-fd-form { display: flex; flex: 1; min-block-size: 0; flex-direction: column; }
.pa-fd-search {
	display: flex;
	align-items: center;
	gap: 10px;
	min-block-size: 52px;
	margin: 0 24px 8px;
	padding-inline: 15px 8px;
	border: 1px solid rgba(58, 157, 178, .34);
	border-radius: 16px;
	background: transparent;
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	transition: border-color .18s var(--pa-ease), box-shadow .18s var(--pa-ease);
}
.pa-fd-search[hidden] { display: none; }
.pa-fd-search:focus-within { border-color: rgba(58, 157, 178, .68); box-shadow: none; }
.pa-fd-search > svg { flex: none; inline-size: 21px; block-size: 21px; fill: none; stroke: var(--pa-fd-accent); stroke-width: 1.8; stroke-linecap: round; }
.pa-fd-search input { flex: 1; min-inline-size: 0; block-size: 48px; border: 0; outline: 0; background: transparent; box-shadow: none; color: var(--pa-text); font: inherit; font-size: 13.5px; -webkit-appearance: none; appearance: none; }
.pa-fd-search input:focus { border: 0; outline: 0; box-shadow: none; }
.pa-fd-search input::-webkit-search-decoration,
.pa-fd-search input::-webkit-search-cancel-button { display: none; }
.pa-fd-search input::placeholder { color: var(--pa-text-muted); opacity: .85; }
.pa-fd-search button { display: inline-flex; flex: none; align-items: center; justify-content: center; inline-size: 36px; block-size: 36px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 10px; background: rgba(255, 255, 255, .2); color: var(--pa-fd-accent); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .42); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); cursor: pointer; }
.pa-fd-search button[hidden] { display: none; }
.pa-fd-search button svg { inline-size: 17px; block-size: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.pa-fd-body {
	flex: 1;
	min-block-size: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 0 18px;
	scrollbar-width: thin;
	scrollbar-color: rgba(58, 157, 178, .5) transparent;
}
.pa-fd-body::-webkit-scrollbar { inline-size: 7px; }
.pa-fd-body::-webkit-scrollbar-track { background: transparent; }
.pa-fd-body::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(58, 157, 178, .5); background-clip: padding-box; }
.pa-fd-panel-content { padding-block: 16px; }
.pa-fd-panel-content[hidden],
.pa-fd-panel-content [hidden] { display: none !important; }
.pa-fd-panel-content[data-pa-filter-panel="categories"],
.pa-fd-panel-content[data-pa-filter-panel="price"] { padding-inline: 24px; }
.pa-fd-cat-tree { display: grid; gap: 0; margin-block-start: 0; }
.pa-fd-all,
.pa-fd-cat-group {
	border: 0;
	border-block-end: 1px solid rgba(58, 157, 178, .12);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.pa-fd-all { display: flex; align-items: center; gap: 11px; min-block-size: 46px; padding: 7px 10px; color: var(--pa-text); font-size: 13.5px; font-weight: 700; cursor: pointer; transition: background .16s var(--pa-ease); }
.pa-fd-all:hover { background: rgba(255, 255, 255, .32); }
.pa-fd-all > span:not(.c),
.pa-fd-subcats label > span:not(.c) { flex: 1; }
.pa-fd-all .c,
.pa-fd-cat-group .c { flex: none; color: var(--pa-text-muted); font-size: 11.5px; font-variant-numeric: tabular-nums; }
.pa-fd-all input,
.pa-fd-cat-group > summary input,
.pa-fd-subcats input {
	flex: none;
	inline-size: 17px;
	block-size: 17px;
	margin: 0;
	border: 1.5px solid rgba(58, 157, 178, .5);
	border-radius: 50%;
	background: rgba(255, 255, 255, .5);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: border-color .16s var(--pa-ease), box-shadow .16s var(--pa-ease), background .16s var(--pa-ease);
}
.pa-fd-all input:checked,
.pa-fd-cat-group > summary input:checked,
.pa-fd-subcats input:checked { border: 5px solid var(--pa-fd-accent); background: #fff; box-shadow: 0 0 0 3px rgba(58, 157, 178, .1); }
.pa-fd-all:has(input:checked),
.pa-fd-cat-group > summary:has(input:checked),
.pa-fd-subcats label:has(input:checked) { color: var(--pa-fd-accent-deep); font-weight: 800; }
.pa-fd-cat-group { overflow: hidden; }
.pa-fd-cat-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-block-size: 47px; padding: 7px 10px; border-radius: 10px; color: var(--pa-text); font-size: 13.5px; font-weight: 780; cursor: pointer; list-style: none; user-select: none; transition: background .16s var(--pa-ease); }
.pa-fd-cat-group > summary:hover { background: rgba(255, 255, 255, .32); }
.pa-fd-cat-group > summary::-webkit-details-marker { display: none; }
.pa-fd-cat-parent { display: flex; flex: 1; align-items: center; gap: 11px; min-inline-size: 0; }
.pa-fd-cat-summary-meta { display: inline-flex; flex: none; align-items: center; gap: 8px; }
.pa-fd-cat-summary-meta svg { inline-size: 17px; block-size: 17px; fill: none; stroke: var(--pa-fd-accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .32s var(--pa-ease); }
.pa-fd-cat-group[open] .pa-fd-cat-summary-meta svg { transform: rotate(180deg); }
.pa-fd-subcats {
	display: grid;
	gap: 0;
	overflow: hidden;
	max-block-size: 0;
	margin: 0 8px;
	padding: 0 7px;
	border: 1px solid transparent;
	border-radius: 12px;
	background: rgba(255, 255, 255, .2);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-5px);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	transition:
		max-block-size .38s var(--pa-ease),
		opacity .24s ease,
		transform .32s var(--pa-ease),
		margin-block-end .32s var(--pa-ease),
		padding-block .32s var(--pa-ease),
		border-color .22s ease,
		visibility 0s linear .38s;
}
.pa-fd-cat-group[open] > .pa-fd-subcats {
	max-block-size: 360px;
	margin-block-end: 4px;
	padding-block: 1px 3px;
	border-color: rgba(255, 255, 255, .48);
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}
.pa-fd-cat-group.is-opening > .pa-fd-subcats,
.pa-fd-cat-group.is-closing > .pa-fd-subcats {
	max-block-size: 0;
	margin-block-end: 0;
	padding-block: 0;
	border-color: transparent;
	opacity: 0;
	visibility: visible;
	transform: translateY(-5px);
}
.pa-fd-cat-group.is-closing .pa-fd-cat-summary-meta svg { transform: rotate(0); }
.pa-fd-subcats label { display: flex; align-items: center; gap: 8px; min-block-size: 32px; padding: 2px 7px; border-radius: 8px; color: var(--pa-text); font-size: 12.5px; line-height: 1.4; cursor: pointer; transition: background .16s var(--pa-ease); }
.pa-fd-subcats label:hover { background: rgba(58, 157, 178, .08); }
.pa-fd-no-results { margin: 28px 0; padding: 22px; border: 1px dashed rgba(85, 72, 200, .25); border-radius: 14px; color: var(--pa-text-muted); font-size: 13px; text-align: center; }
.pa-fd-panel-content[data-pa-filter-panel="price"] { border-block-start: 1px solid rgba(58, 157, 178, .13); }
.pa-fd-price-card {
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, .62);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .34), rgba(233, 246, 251, .18));
	box-shadow: 0 14px 32px rgba(29, 65, 91, .07), inset 0 1px 0 rgba(255, 255, 255, .58);
	-webkit-backdrop-filter: blur(18px) saturate(135%);
	backdrop-filter: blur(18px) saturate(135%);
}
.pa-fd-price-head { display: flex; align-items: center; gap: 11px; margin-block-end: 20px; }
.pa-fd-price-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; inline-size: 42px; block-size: 42px; border: 1px solid rgba(255, 255, 255, .68); border-radius: 13px; background: rgba(58, 157, 178, .13); color: var(--pa-fd-accent-deep); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .48); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.pa-fd-price-icon svg { inline-size: 22px; block-size: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pa-fd-price-head h3 { margin: 0 0 3px; color: var(--pa-navy); font-size: 15px; font-weight: 850; }
.pa-fd-price-head p { margin: 0; color: var(--pa-text-muted); font-size: 11.5px; line-height: 1.7; }
.pa-fd-price-scale { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 5px; color: var(--pa-text-muted); font-size: 10.5px; font-weight: 650; }
.pa-fd-panel-content .price-slider { block-size: 26px; margin: 0 2px 17px; }
.pa-fd-panel-content .price-slider-track { inset-inline: 4px; block-size: 7px; border: 1px solid rgba(58, 157, 178, .11); background: rgba(58, 157, 178, .12); box-shadow: inset 0 1px 3px rgba(23, 35, 95, .09); }
.pa-fd-panel-content .price-slider-fill { inset-block-start: -1px; block-size: 7px; background: linear-gradient(90deg, var(--pa-fd-accent), #5dc4d0); box-shadow: 0 2px 8px rgba(58, 157, 178, .28); }
.pa-fd-panel-content .price-range { block-size: 26px; }
.pa-fd-panel-content .price-range::-webkit-slider-thumb { inline-size: 20px; block-size: 20px; border: 4px solid rgba(255, 255, 255, .94); background: var(--pa-fd-accent); box-shadow: 0 4px 12px rgba(47, 143, 165, .4), 0 0 0 1px rgba(58, 157, 178, .18); }
.pa-fd-panel-content .price-range::-moz-range-thumb { inline-size: 13px; block-size: 13px; border: 4px solid rgba(255, 255, 255, .94); background: var(--pa-fd-accent); box-shadow: 0 4px 12px rgba(47, 143, 165, .4), 0 0 0 1px rgba(58, 157, 178, .18); }
.pa-fd-panel-content .price-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pa-fd-panel-content .price-field { display: flex; min-inline-size: 0; flex-direction: column; gap: 6px; }
.pa-fd-panel-content .price-field > label { padding-inline: 2px; color: var(--pa-text-muted); font-size: 11px; font-weight: 700; }
.pa-fd-price-input { display: flex; align-items: center; min-inline-size: 0; min-block-size: 49px; padding-inline-end: 10px; border: 1px solid rgba(58, 157, 178, .2); border-radius: 13px; background: rgba(255, 255, 255, .3); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .46); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: border-color .18s var(--pa-ease), box-shadow .18s var(--pa-ease), background .18s var(--pa-ease); }
.pa-fd-price-input:focus-within { border-color: rgba(58, 157, 178, .62); background: rgba(255, 255, 255, .48); box-shadow: 0 0 0 3px rgba(58, 157, 178, .1), inset 0 1px 0 rgba(255, 255, 255, .56); }
.pa-fd-price-input input { flex: 1; min-inline-size: 0; block-size: 47px; padding: 0 10px; border: 0; outline: 0; background: transparent; box-shadow: none; color: var(--pa-text); font: inherit; font-size: 12px; font-variant-numeric: tabular-nums; }
.pa-fd-price-input input:focus { border: 0; outline: 0; box-shadow: none; }
.pa-fd-price-input input::-webkit-outer-spin-button,
.pa-fd-price-input input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.pa-fd-price-input > span { flex: none; color: var(--pa-fd-accent-deep); font-size: 10px; font-weight: 750; }
.pa-fd-foot {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding: 15px 24px 20px;
	border-block-start: 1px solid rgba(255, 255, 255, .58);
	background: rgba(235, 245, 250, .48);
	-webkit-backdrop-filter: blur(24px) saturate(140%);
	backdrop-filter: blur(24px) saturate(140%);
}
.pa-fd-foot .pa-primary-button,
.pa-fd-foot .pa-glass-button { inline-size: 100%; min-inline-size: 0; min-block-size: 47px; border-radius: 13px; font-size: 13px; text-decoration: none; }
.pa-fd-foot .pa-primary-button { border: 1px solid rgba(255, 255, 255, .68); background: rgba(58, 157, 178, .72); color: #fff; box-shadow: 0 12px 26px -12px rgba(47, 143, 165, .58), inset 0 1px 0 rgba(255, 255, 255, .34); -webkit-backdrop-filter: blur(16px) saturate(130%); backdrop-filter: blur(16px) saturate(130%); }
.pa-fd-foot .pa-primary-button:hover { background: rgba(50, 141, 161, .84); color: #fff; }
.pa-fd-foot .pa-glass-button { border-color: rgba(58, 157, 178, .56); background: rgba(255, 255, 255, .22); color: var(--pa-fd-accent-deep); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4); -webkit-backdrop-filter: blur(16px) saturate(125%); backdrop-filter: blur(16px) saturate(125%); }
.pa-fd-foot .pa-glass-button:hover { background: rgba(255, 255, 255, .62); }

/* ------------------------------------------------ Dark theme */
[data-theme="dark"] .pa-shop-sort-menu,
[data-theme="dark"] .pa-fd-panel { border-color: rgba(255, 255, 255, .12); background: linear-gradient(145deg, rgba(31, 39, 78, .88), rgba(20, 29, 61, .78)); }
[data-theme="dark"] .pa-fd-search { border-color: rgba(255, 255, 255, .2); background: transparent; }
[data-theme="dark"] .pa-fd-all,
[data-theme="dark"] .pa-fd-cat-group { border-color: rgba(255, 255, 255, .09); background: transparent; }
[data-theme="dark"] .pa-fd-close { border-color: rgba(255, 255, 255, .11); background: rgba(255, 255, 255, .07); }
[data-theme="dark"] .pa-fd-price-card { border-color: rgba(255, 255, 255, .1); background: linear-gradient(145deg, rgba(69, 80, 128, .24), rgba(24, 35, 75, .18)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
[data-theme="dark"] .pa-fd-price-input { border-color: rgba(116, 207, 222, .18); background: rgba(255, 255, 255, .055); }
[data-theme="dark"] .pa-fd-price-input input { border: 0; background: transparent; }
[data-theme="dark"] .pa-fd-foot .pa-glass-button { border-color: var(--pa-fd-accent); background: rgba(255, 255, 255, .07); color: #8cd9e9; }
[data-theme="dark"] .pa-fd-subcats { background: rgba(255, 255, 255, .04); }
[data-theme="dark"] .pa-fd-cat-group[open] > .pa-fd-subcats { border-color: rgba(255, 255, 255, .08); }
[data-theme="dark"] .pa-fd-all:hover,
[data-theme="dark"] .pa-fd-cat-group > summary:hover,
[data-theme="dark"] .pa-fd-subcats label:hover { background: rgba(87, 181, 202, .1); }
[data-theme="dark"] .pa-fd-foot { border-color: rgba(255, 255, 255, .08); background: rgba(17, 25, 56, .42); }
[data-theme="dark"] .pa-shop-grid .pa-product-card { border-color: rgba(118, 103, 233, .24); background: linear-gradient(150deg, rgba(46, 54, 91, .72), rgba(22, 28, 59, .56)); box-shadow: 0 20px 34px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .09); }
[data-theme="dark"] .pa-shop-grid .pa-product-card::before { opacity: .56; }
[data-theme="dark"] .pa-shop-grid .pa-pc-title,
[data-theme="dark"] .pa-shop-grid .pa-pc-price { color: #f5f7ff; }
[data-theme="dark"] .pa-shop-grid .pa-pc-cat { border-color: rgba(194, 202, 225, .12); background: rgba(194, 202, 225, .08); color: #aab2cc; }
[data-theme="dark"] .pa-shop-grid .pa-pc-meta { border-color: rgba(136, 218, 231, .11); }
[data-theme="dark"] .pa-shop-grid .pa-pc-tags .pa-status--instant { color: #65d69d; }
[data-theme="dark"] .pa-shop-grid .pa-pc-price ins { color: #9de5e2; }
[data-theme="dark"] .pa-shop-grid .pa-pc-view { border-color: rgba(136, 218, 231, .25); background: rgba(77, 132, 151, .15); color: #dff9fc; }
[data-theme="dark"] .pa-shop-grid .pa-pc-view:hover { border-color: rgba(136, 218, 231, .46); background: rgba(86, 174, 191, .24); color: #fff; }
[data-theme="dark"] .pa-filters-btn { background: rgba(30, 37, 70, .86); }

/* ------------------------------------------------ Responsive */
@media (max-width: 1399px) {
	.pa-shop-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
	.pa-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pa-shop-crumb { margin-block-end: 24px; }
}
@media (max-width: 767px) {
	.pa-shop { padding-block-start: 18px; }
	.pa-shop-overview { flex-direction: column; align-items: stretch; gap: 22px; margin-block-end: 28px; }
	.pa-shop-toolbar { justify-content: flex-start; }
	.pa-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.pa-shop-grid .pa-pc-title,
	.pa-shop-grid .pa-pc-cat { margin-inline: 14px; }
	.pa-shop-grid .pa-pc-meta { margin-inline: 14px; padding-block-start: 11px; }
	.pa-shop-grid .pa-pc-foot { padding: 18px 14px; }
	.pa-shop-grid .pa-pc-cart { inset-block-start: 10px; inset-inline-end: 10px; inline-size: 42px; block-size: 42px; }
	.pa-fd-panel { inline-size: min(460px, 88vw); }
	.pa-fd-head { padding-inline: 18px; }
	.pa-fd-search { margin-inline: 18px; }
	.pa-fd-body { padding-inline: 0; }
	.pa-fd-panel-content[data-pa-filter-panel="categories"],
	.pa-fd-panel-content[data-pa-filter-panel="price"] { padding-inline: 18px; }
	.pa-fd-foot { padding-inline: 18px; }
}
@media (max-width: 460px) {
	.pa-shop-toolbar { display: grid; grid-template-columns: 1fr; }
	.pa-filters-btn,
	.pa-shop-sorting,
	.pa-shop-sorting > summary { inline-size: 100%; }
	.pa-shop-sort-menu { inset-inline: 0; inline-size: 100%; }
	.pa-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
	.pa-shop-grid .pa-pc-cat { min-block-size: 22px; margin: 10px 10px 0; padding-inline: 7px; font-size: 9.5px; }
	.pa-shop-grid .pa-pc-title { min-block-size: 3.25em; margin: 6px 10px 0; font-size: 12px; }
	.pa-shop-grid .pa-pc-media { inline-size: calc(100% - 12px); margin: 6px 6px 0; border-radius: 9px; }
	.pa-shop-grid .pa-pc-meta { margin: 9px 10px 0; padding-block-start: 9px; }
	.pa-shop-grid .pa-pc-price { font-size: 11.5px; }
	.pa-shop-grid .pa-pc-tags { flex-direction: column; align-items: flex-start; gap: 4px; }
	.pa-shop-grid .pa-pc-tags .pa-status { font-size: 9px; }
	.pa-shop-grid .pa-pc-foot { padding: 14px 10px 16px; }
	.pa-shop-grid .pa-pc-view { min-block-size: 38px; font-size: 11.5px; }
	.pa-shop-grid .pa-pc-cart { inline-size: 38px; block-size: 38px; }
	.pa-shop-grid .pa-pc-cart svg { inline-size: 21px; block-size: 21px; }
	.pa-fd-panel { inline-size: min(380px, 92vw); }
	.pa-fd-head { padding: 13px 14px 10px; }
	.pa-fd-head h2 { font-size: 17px; }
	.pa-fd-close { inline-size: 38px; block-size: 38px; }
	.pa-fd-search { min-block-size: 48px; margin: 0 14px 6px; border-radius: 13px; }
	.pa-fd-search input { block-size: 44px; font-size: 12.5px; }
	.pa-fd-body { padding: 0 0 13px; }
	.pa-fd-panel-content[data-pa-filter-panel="categories"],
	.pa-fd-panel-content[data-pa-filter-panel="price"] { padding-inline: 14px; }
	.pa-fd-price-card { padding: 14px 12px; border-radius: 15px; }
	.pa-fd-price-head { margin-block-end: 16px; }
	.pa-fd-price-icon { inline-size: 38px; block-size: 38px; border-radius: 11px; }
	.pa-fd-panel-content .price-fields { gap: 7px; }
	.pa-fd-price-input { padding-inline-end: 7px; }
	.pa-fd-price-input input { padding-inline: 7px; font-size: 11px; }
	.pa-fd-price-input > span { font-size: 9px; }
	.pa-fd-all,
	.pa-fd-cat-group { border-radius: 13px; }
	.pa-fd-cat-group > summary,
	.pa-fd-all { min-block-size: 48px; padding-inline: 12px; }
	.pa-fd-foot { gap: 8px; padding: 11px 14px max(14px, env(safe-area-inset-bottom)); }
	.pa-fd-foot .pa-primary-button,
	.pa-fd-foot .pa-glass-button { min-block-size: 44px; padding-inline: 8px; font-size: 12px; }
}
@media (hover: none) {
	.pa-shop-grid .pa-pc-cart { opacity: 1; pointer-events: auto; transform: none; }
	.pa-shop-grid .pa-product-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-fd-panel { animation: none; }
	.pa-shop-grid .pa-pc-tags .pa-status--instant::before { animation: none; }
	.pa-fd-subcats,
	.pa-shop-grid .pa-product-card,
	.pa-shop-grid .pa-pc-media img,
	.pa-shop-sorting > summary svg { transition: none; }
	.pa-shop-grid .pa-product-card:hover .pa-pc-media img { transform: none; }
}
