.pqv-cat-fab,
.pqv-cat-panel{
	--pqv-mobile-bottom-gap: 24px;
}

.pqv-cat-block{
	margin:24px 0;
}

.pqv-category-name{
	margin:0 0 10px 0;
	font-size:15px;
	font-weight:700;
	text-transform:uppercase;
	background:#d7e3c7;
	padding:5px 10px;
	border-radius:5px;
}

.pqv-loading,
.pqv-error{
	padding:12px;
	border-radius:10px;
	background:#f7f7f7;
}

.pqv-cat-nav{
	display:flex;
	flex-direction:column;
	gap:6px;
	margin:12px 0;
}

.pqv-cat-nav a{
	padding:8px 10px;
	border:1px solid #eee;
	border-radius:8px;
	text-decoration:none !important;
	background:#fff;
	font-size:13px;
}

.pqv-cat-fab{
	position:fixed;
	left:50%;
	transform:translateX(-50%);
	bottom:calc(var(--rwd-mobile-cart-offset, 0px) + var(--pqv-mobile-bottom-gap) + env(safe-area-inset-bottom));
	z-index:1002;
	padding:10px 50px;
	border:0;
	border-radius:999px;
	background:#111 !important;
	color:#fff !important;
	font-weight:600;
	box-shadow:0 6px 24px rgba(0,0,0,.2);
	cursor:pointer;
	display:block;
}

.pqv-cat-overlay{
	position:fixed;
	inset:0;
	z-index:1001;
	background:rgba(0,0,0,.45);
	display:flex;
	align-items:flex-end;
	justify-content:center;
}

.pqv-cat-overlay[hidden]{
	display:none;
}

.pqv-cat-panel{
	width:95%;
	max-width:640px;
	background:#fff;
	border-radius:16px 16px;
	max-height:70vh;
	transform:translateY(100%);
	transition:transform .25s ease;
	box-shadow:0 -10px 30px rgba(0,0,0,.15);
	bottom:calc(var(--rwd-mobile-cart-offset, 0px) + var(--pqv-mobile-bottom-gap) + env(safe-area-inset-bottom));
	position:relative;
}

.pqv-cat-overlay.open .pqv-cat-panel{
	transform:translateY(0);
}

.pqv-cat-panel-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:12px 16px;
	border-bottom:1px solid #eee;
}

.pqv-cat-close{
	background:#f2f2f2;
	border:0;
	border-radius:8px;
	padding:6px 10px;
	cursor:pointer;
}

.pqv-cat-panel-body{
	padding:10px 16px;
	max-height:60vh;
	overflow-y:auto;
	overflow-x:hidden;
	scrollbar-width:thin;
	scrollbar-color:#ccc #f8f8f8;
}

.pqv-cat-list{
	list-style:none;
	margin:0;
	padding:0 !important;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.pqv-cat-list a{
	display:block;
	padding:5px 12px;
	border:1px solid #eee;
	border-radius:10px;
	text-decoration:none !important;
	background:#fff;
}

h3#pqv-cat-title{
	margin-bottom:0;
	font-size:17px;
	text-transform:uppercase;
	font-weight:700;
}

@media (min-width: 769px){
	.pqv-cat-fab,
	.pqv-cat-overlay{
		display:none !important;
	}

	.desktop-only{
		display:flex !important;
	}
}

@media (max-width: 768px){
	.desktop-only{
		display:none !important;
	}
}

body.pqv-lock{
	overflow:hidden;
	position:fixed;
	left:0;
	right:0;
}

.pqv-cat-block{ scroll-margin-top:100px; }
@media (max-width: 768px){ .pqv-cat-block{ scroll-margin-top:96px; } }
