/* 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
}
body.pqv-lock{
	overflow:hidden;
	position:fixed;
	left:0;
	right:0;
	touch-action:none;
}
.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:calc(100dvh - 2rem);
	overflow:auto;
	padding:0px;
	-webkit-overflow-scrolling:touch;
	overscroll-behavior:contain;
}
.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;
	overscroll-behavior:contain;
/*	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;
}

@supports (max-height: 100dvh) {
	#pqv-modal{
		max-height:calc(100dvh - 2rem);
	}

	.pqv-form--sticky{
		max-height:calc(100dvh - 3rem);
	}
}

@media (max-width: 768px) {
	#pqv-modal{
		top:max(8px, env(safe-area-inset-top));
		width:calc(100% - 12px);
		max-width:none;
		border-radius:12px 12px 0 0;
	}

	.pqv-foot{
		padding-bottom:calc(5px + env(safe-area-inset-bottom));
	}
}
.pqv-qty-row input{
	width:50px;
}
.pqv-add-btn{
	border:0;
	border-radius:8px;
	padding:10px 14px;
	font-weight:600;
	background:#852471;
	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-inline-error{
	margin-top:8px;
	padding:8px 10px;
	border-radius:6px;
	background:#fff2f2;
	color:#900;
	font-size:13px;
	line-height:1.4;
}

.pqv-notices { margin:10px 0; }
.woocommerce-error { padding:10px 12px; border-radius:6px; }
.pqv-missing { outline:2px solid #f44336; }

/* Takeaway Pro quick view */
#pqv-overlay { background: rgba(26, 10, 23, .58); }
#pqv-modal { max-width: 820px; width: min(96vw, 820px); padding: 0; border: 1px solid rgba(133, 36, 113, .22); border-radius: 16px; overflow: hidden; }
.pqv-form--sticky { max-height: min(86vh, 820px); border-radius: 0; }
.pqv-head { padding: 18px 46px 16px 20px; color: #fff; background: linear-gradient(135deg, #601a51, #852471); border: 0; }
.pqv-head__summary { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.pqv-modal-title { margin: 0; color: inherit; font-size: clamp(19px, 3vw, 25px); line-height: 1.18; }
.pqv-price-line { flex: 0 0 auto; margin: 0; color: #fff; font-size: 18px; font-weight: 800; white-space: nowrap; }
.pqv-price-line del { opacity: .75; }
.pqv-close { top: 10px; right: 11px; width: 30px; height: 30px; padding: 0; border-radius: 50%; color: #601a51; background: #fff; font-size: 23px; line-height: 1; }
.pqv-body { padding: 18px 20px 14px; }
.pqv-modal-short:empty { display: none; }
.pqv-modal-short { margin: 0 0 15px; padding: 11px 13px; border-left: 3px solid #852471; border-radius: 0 8px 8px 0; color: #463940; background: #8524711f; }
.pqv-modal-short p { margin: 0; font-size: 14px; line-height: 1.5; }
.pqv-variations { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin: 0 0 16px; }
.pqv-attr label, .pqv-notes label { margin: 0 0 6px; color: #601a51; font-size: 13px; font-weight: 750; }
.pqv-attr select, .pqv-notes textarea { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid rgba(133, 36, 113, .26); border-radius: 8px; color: #2d2730; background: #fff; }
.pqv-attr select:focus, .pqv-notes textarea:focus { border-color: #852471; box-shadow: 0 0 0 3px #8524711f; outline: 0; }
.pqv-addons .pizza-addons h3 { margin: 18px 0 9px; color: #601a51; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.pqv-addons .pizza-addon-category-group { margin: 0 0 14px; overflow: hidden; border: 1px solid rgba(96, 26, 81, .14); border-radius: 10px; }
.pqv-addons .pizza-addon-category, .pqv-addons .pizza-addon-category-header { display: flex !important; flex-wrap: wrap; align-items: center; gap: 7px 10px; margin: 0 !important; padding: 10px 12px !important; color: #601a51; background: #8524711f; font-size: 14px !important; font-weight: 750; }
.pqv-addons .category-required-text { margin: 0 !important; padding: 3px 7px; border-radius: 999px; color: #fff !important; background: #852471; font-size: 11px; font-weight: 700; }
.pqv-addons .category-max-text, .pqv-addons .category-quantity-text { margin: 0 !important; padding: 3px 7px; border-radius: 999px; color: #601a51; background: #fff; font-size: 11px; }
.pqv-addons .pizza-addon-group-row { display: grid !important; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 42px; padding: 8px 12px; border-top: 1px solid rgba(96, 26, 81, .09); }
.pqv-addons .pizza-addon-group-row label { display: contents; }
.pqv-addons .pizza-addon-group-row input[type="checkbox"], .pqv-addons .pizza-addon-group-row input[type="radio"] { accent-color: #852471; }
.pqv-addons .pizza-addon-group-row .addon-price { color: #601a51; font-weight: 700; white-space: nowrap; }
.pqv-notes { margin-top: 16px; padding: 13px; border-radius: 10px; background: #8524711f; }
.pqv-notes .rwd-item-note-field { margin: 0 !important; }
.pqv-notes textarea { display: block; min-height: 76px; resize: vertical; background: #fff; }
.pqv-foot { gap: 16px; padding: 12px 16px; background: #fff; border-top: 1px solid rgba(96, 26, 81, .14); }
.pqv-qty-row { display: flex; align-items: center; gap: 8px; }
.pqv-qty-label { color: #601a51; font-size: 13px; font-weight: 700; }
.pqv-qty-control { display: inline-flex; align-items: stretch; overflow: hidden; border: 1px solid rgba(133, 36, 113, .28); border-radius: 8px; background: #fff; }
.pqv-qty-control input { width: 42px !important; min-height: 36px; padding: 0; border: 0; border-right: 1px solid rgba(133, 36, 113, .18); border-left: 1px solid rgba(133, 36, 113, .18); text-align: center; appearance: textfield; }
.pqv-qty-control input::-webkit-inner-spin-button, .pqv-qty-control input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.pqv-qty-button { width: 36px; border: 0; color: #852471; background: #fff; font-size: 20px; font-weight: 700; cursor: pointer; }
.pqv-qty-button:hover, .pqv-qty-button:focus { color: #fff; background: #852471; outline: 0; }
.pqv-submit-row { gap: 9px; }
.pqv-add-btn, .pqv-view-cart { display: inline-flex; min-width: 116px; min-height: 42px; align-items: center; justify-content: center; box-sizing: border-box; padding: 9px 14px; border: 1px solid #852471; border-radius: 8px; font-size: 14px; font-weight: 750; text-decoration: none; }
.pqv-add-btn { background: #852471; color: #fff; }
.pqv-add-btn:hover, .pqv-add-btn:focus { background: #601a51; border-color: #601a51; }
.pqv-view-cart { color: #852471; background: #fff; }
.pqv-view-cart:hover, .pqv-view-cart:focus { color: #fff; background: #601a51; border-color: #601a51; }
@media (max-width: 560px) { .pqv-head { padding: 15px 42px 14px 15px; } .pqv-head__summary { align-items: flex-start; flex-direction: column; gap: 5px; } .pqv-body { padding: 15px; } .pqv-foot { align-items: stretch; flex-direction: column; gap: 10px; } .pqv-submit-row { display: grid; grid-template-columns: 1fr 1fr; } .pqv-add-btn, .pqv-view-cart { min-width: 0; width: 100%; } .pqv-addons .pizza-addon-group-row { grid-template-columns: 20px minmax(0, 1fr) auto; padding: 8px 10px; } }

