.pfs-shop { display: flex; align-items: flex-start; gap: 2em; }
.pfs-shop-main { flex: 1 1 0; min-width: 0; }
.pfs-cats { flex: 0 0 15em; max-width: 15em; position: sticky; top: 1.5em; }
.pfs-cats-box > summary { font-weight: 700; font-size: 1.05em; padding: 0 0 .6em; margin: 0 0 .4em; border-bottom: 2px solid currentColor; cursor: default; list-style: none; }
.pfs-cats-box > summary::-webkit-details-marker { display: none; }
.pfs-cat-list, .pfs-cat-sub { list-style: none; margin: 0; padding: 0; }
.pfs-cat-list { max-height: 75vh; overflow-y: auto; }
.pfs-cat-sub { margin: 0 0 .3em .9em; padding-left: .7em; border-left: 1px solid rgba(0, 0, 0, .15); }
.pfs-cat > a { display: flex; justify-content: space-between; gap: .6em; padding: .4em .3em; text-decoration: none; color: inherit; border-radius: 3px; line-height: 1.3; }
.pfs-cat > a:hover, .pfs-cat > a:focus-visible { background: rgba(0, 0, 0, .06); }
.pfs-cat-current > a { font-weight: 700; background: rgba(0, 120, 80, .12); }
.pfs-cat-count { opacity: .55; font-size: .85em; flex: 0 0 auto; }
@media (max-width: 800px) {
	.pfs-shop { display: block; }
	.pfs-cats { position: static; max-width: none; margin: 0 0 1.2em; }
	.pfs-cats-box > summary { cursor: pointer; border: 1px solid rgba(0, 0, 0, .2); padding: .7em .9em; border-radius: 4px; margin: 0; }
	.pfs-cats-box[open] > summary { margin-bottom: .4em; }
	.pfs-cat-list { max-height: 50vh; }
}
