/* Layout */
.pqv-loop{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
	gap:14px
}
.pqv-card{
	border:1px solid #eee;
	border-radius:12px;
	padding:12px;
	background:#fff;
	display:flex;
	flex-direction:column;
	gap:8px;
	box-shadow:0 1px 3px rgba(0,0,0,.03)
}
.pqv-card .pqv-title{
	margin:0;
	font-size:16px;
	line-height:1.3
}
.pqv-price{
	font-weight:600
}
.pqv-desc{
	font-size:13px;
	color:#444
}
.pqv-actions{
	margin-top:auto;
	text-align:right
}
.pqv-open{
	padding:8px 12px;
	border:0;
	border-radius:10px;
	cursor:pointer;
	background:#111;
	color:#fff
}
/* Modal */
#pqv-overlay{
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.4);
	z-index:9998;
	opacity:1;
	transition:.2s
}
#pqv-modal{
	position:fixed;
	inset:auto 0 0 0;
	top:4%;
	max-width:760px;
	margin:0 auto;
	background:#fff;
	border-radius:12px;
	z-index:9999;
	box-shadow:0 15px 50px rgba(0,0,0,.25);
	padding:5px;
	max-height: 86.5vh;
	width: 98%
}

.pqv-addons .pizza-addons h3 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 7px;
}

#pqv-modal.pqv-hidden,#pqv-overlay.pqv-hidden{
	display:none
}
.pqv-lock{
	overflow:hidden
}
.pqv-close{
	position:absolute;
	top:6px;
	right:5px;
	border:0;
	background:transparent;
	font-size:22px;
	cursor:pointer;
	padding: 0px 5px 5px 5px;
	z-index: 10;
	border-top-right-radius: 5px;
}
.pqv-content{
	max-height:100vh;
	overflow:auto;
	padding:0px
}
.pqv-modal-title{
	margin:.25rem 0 0.5rem 0
}
.pqv-price-line{
	font-weight:600;
	margin:5px 5px 5px 0px;
}

.pqv-modal-short p {
    margin-bottom: 5px;
    font-size: 13px;
}

.pqv-variations{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	margin-bottom:10px
}
.pqv-attr label{
	display:block;
	font-size:12px;
	margin-bottom:4px
}
.pqv-attr select{
	width:100%
}
.pqv-qty-row{
	margin:0px
}
.pqv-submit-row{
	display:flex;
	align-items:center;
	gap:12px
}
.pqv-add-btn{
	padding:10px 14px;
	border:0;
	background:#2a6;
	color:#fff;
	border-radius:10px;
	cursor:pointer
}
.pqv-view-cart{
	font-size:13px
}
.pqv-loading,.pqv-error,.pqv-success{
	padding:10px;
	border-radius:8px
}
.pqv-loading{
	background:#f6f6f6
}
.pqv-error{
	background:#fff2f2;
	color:#900;
	border:1px solid #f3cccc
}
.pqv-success{
	background:#f2fff2;
	color:#074;
	border:1px solid #ccefd1
}
.pqv-form--sticky{
	display:flex;
	flex-direction:column;
	max-height:85vh;
	overflow:auto;
	/* the form scrolls */
	-webkit-overflow-scrolling:touch;
/*	background:#fff;*/
	border-radius:12px;
}
.pqv-head{
	position:sticky;
	top:0;
	z-index:2;
	background:#dde1d7;
	border-bottom:1px solid #eee;
	padding: 5px 10px 0px 10px;
}
.pqv-modal-title{
	margin:0 0 6px;
	font-size:20px;
	font-weight:700;
}
.pqv-body{
	padding:5px;
}
.pqv-foot{
	position:sticky;
	bottom:0;
	z-index:2;
	background:#dde1d7;
	border-top:1px solid #eee;
	padding:5px;
	display:flex;
	gap:10px;
	align-items:center;
	justify-content:space-between;
}
.pqv-qty-row input{
	width:50px;
}
.pqv-add-btn{
	border:0;
	border-radius:8px;
	padding:10px 14px;
	font-weight:600;
	background:#3a7d2f;
	color:#fff;
	cursor:pointer;
}
.pqv-view-cart{
	text-decoration:none;
	padding:5px 10px;
	border-radius:6px;
	background:#f2f2f2;
}

.mobile-cart-bar{display:none;position:fixed;left:0;right:0;bottom:0;}
.mobile-cart-bar.is-visible{display:flex;}

.pqv-notices { margin:10px 0; }
.pqv-error { background:#f8d7da; padding:10px 12px; border-radius:6px; }
.pqv-missing { outline: 2px solid #f44336; }

.pqv-notices { margin:10px 0; }
.woocommerce-error { padding:10px 12px; border-radius:6px; }
.pqv-missing { outline:2px solid #f44336; }

