/* Button (hardened against theme / Elementor button styles) */
.qbp-buy-btn.qbp-open{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box!important;margin:8px 0 0!important;border:0!important;box-shadow:none!important;background:var(--qbp-btn-bg)!important;color:var(--qbp-btn-color)!important;border-radius:var(--qbp-radius)!important;font-size:var(--qbp-fs)!important;font-weight:700!important;line-height:1.2!important;text-transform:none!important;letter-spacing:normal!important;text-decoration:none!important;height:auto!important;min-height:0!important;padding:var(--qbp-pad) 26px!important;cursor:pointer;text-align:center;transition:filter .15s,transform .05s}
.qbp-buy-btn.qbp-open:hover{filter:brightness(.92)}
.qbp-buy-btn.qbp-open:active{transform:scale(.99)}

/* Overlay + modal */
html.qbp-lock,html.qbp-lock body{overflow:hidden}
.qbp-overlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.qbp-overlay[hidden]{display:none}
.qbp-overlay *{box-sizing:border-box}
.qbp-modal{background:#fbf7ef;width:100%;max-width:980px;max-height:calc(100vh - 32px);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);color:#222;font-size:15px;animation:qbp-in .22s ease-out}
@keyframes qbp-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.qbp-grab{display:none}
.qbp-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#fff;border-bottom:1px solid #eee3d2}
.qbp-head h3{margin:0;font-size:22px;line-height:1.3;color:var(--qbp-accent)}
.qbp-close{width:38px;height:38px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:24px;line-height:1;cursor:pointer;color:#444;padding:0}
.qbp-body{overflow-y:auto;padding:20px 22px 22px;-webkit-overflow-scrolling:touch}
.qbp-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.qbp-col{display:flex;flex-direction:column;gap:18px}
.qbp-card{background:#fff;border:1px solid #eee3d2;border-radius:16px;padding:0 0 4px}
.qbp-card h4{margin:0;padding:15px 18px;font-size:17px;color:var(--qbp-accent);border-bottom:1px solid #f0e8da;display:flex;justify-content:space-between;align-items:center}
.qbp-pill{background:#e8f0e9;color:var(--qbp-accent);font-size:13px;padding:3px 10px;border-radius:20px}

.qbp-item{display:flex;align-items:center;gap:14px;padding:16px 18px}
.qbp-item img{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#faf5ea;flex:none}
.qbp-item-info{flex:1;min-width:0}
.qbp-pname{font-weight:700;color:var(--qbp-accent);line-height:1.35}
.qbp-pprice{color:#666;margin-top:6px}
.qbp-qty{display:flex;align-items:center;gap:10px;flex:none}
.qbp-qty button{width:34px;height:34px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:18px;cursor:pointer;line-height:1;padding:0;color:#333}
.qbp-qty span{min-width:18px;text-align:center;font-weight:700}
.qbp-line{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;color:#555}
.qbp-line b{color:var(--qbp-accent)}
.qbp-item + .qbp-line{border-top:1px solid #f0e8da;margin:0 0 4px}
.qbp-sum{padding:4px 0}
.qbp-grand{border-top:1px solid #e5dccb;margin-top:6px;font-size:19px;font-weight:700;color:var(--qbp-accent)}
.qbp-grand b{font-size:22px}

/* Delivery zones */
.qbp-zones{padding:14px 16px 10px;display:flex;flex-direction:column;gap:10px}
.qbp-opt{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid #e6dcc8;border-radius:12px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s}
.qbp-opt input{position:absolute;opacity:0;pointer-events:none}
.qbp-radio{width:22px;height:22px;border-radius:50%;border:2px solid #d3c9b5;flex:none;position:relative}
.qbp-opt-l{flex:1;font-weight:600;color:var(--qbp-accent)}
.qbp-opt b{color:var(--qbp-accent)}
.qbp-opt:has(input:checked){border-color:var(--qbp-accent);background:#f2f7f3}
.qbp-opt input:checked + .qbp-radio{border-color:var(--qbp-accent)}
.qbp-opt input:checked + .qbp-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--qbp-accent)}

/* Fields */
.qbp-fields{padding:14px 18px 16px;display:flex;flex-direction:column;gap:6px}
.qbp-fields label{display:flex;flex-direction:column;gap:6px;color:#666;font-size:14px;margin-top:8px}
.qbp-fields input,.qbp-fields textarea{width:100%;padding:13px 14px;border:1.5px solid #e6dcc8;border-radius:12px;background:#fff;font-size:16px;font-family:inherit;color:#222;margin:0;box-shadow:none}
.qbp-fields input:focus,.qbp-fields textarea:focus{outline:0;border-color:var(--qbp-accent)}
.qbp-fields textarea{resize:vertical;min-height:84px}
.qbp-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;padding:0!important;border:0!important}
.qbp-err{color:#c0392b;font-size:13px;min-height:0;padding:0 18px}
.qbp-err:empty{display:none}
.qbp-err-main{padding:6px 0 0;font-size:14px;text-align:center}

/* Bump */
.qbp-bump{display:flex;align-items:center;gap:12px;margin:18px 0 0;padding:12px;border:1.5px dashed #d9a24a;border-radius:12px;background:#fffdf7;cursor:pointer}
.qbp-bump input,.qbp-terms input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--qbp-accent)}
.qbp-bump img{width:48px;height:48px;object-fit:cover;border-radius:6px;flex:none}
.qbp-bump-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.qbp-bump-name{font-weight:700;font-size:14px}
.qbp-bump-price del{color:#999;margin-right:6px;font-size:13px}
.qbp-bump-price b{color:#1a8a4a}
.qbp-bump-price em{font-style:normal;background:#1a8a4a;color:#fff;font-size:11px;padding:2px 7px;border-radius:10px;margin-left:6px}
.qbp-bump-text{font-size:12px;color:#a8680f}

.qbp-terms{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;font-size:14px;color:#444;cursor:pointer}
.qbp-terms a{color:#4d9a1f}
.qbp-submit{display:block;width:100%;margin:16px 0 0;padding:19px 16px;border:0;border-radius:10px;background:var(--qbp-btn-bg);color:var(--qbp-btn-color);font-size:19px;font-weight:700;cursor:pointer;transition:filter .15s}
.qbp-submit:hover{filter:brightness(.93)}
.qbp-submit:disabled{opacity:.7;cursor:wait}
.qbp-foot{margin:14px 0 0;text-align:center;font-size:13px;color:#777}

/* Mobile: bottom sheet */
@media (max-width:767px){
	.qbp-overlay{align-items:flex-end;padding:0}
	.qbp-modal{max-width:none;max-height:94vh;border-radius:20px 20px 0 0;animation:qbp-up .25s ease-out}
	@keyframes qbp-up{from{transform:translateY(100%)}to{transform:none}}
	.qbp-grab{display:block;width:44px;height:5px;background:#d6d0c4;border-radius:5px;margin:8px auto 0}
	.qbp-head{padding:12px 16px}
	.qbp-head h3{font-size:18px}
	.qbp-body{padding:14px 14px 20px}
	.qbp-cols{grid-template-columns:1fr;gap:14px}
	.qbp-col{display:contents}
	.qbp-cols .qbp-col:first-child > .qbp-card:first-child{order:1}
	.qbp-cols .qbp-col:first-child > .qbp-card:nth-child(2){order:2}
	.qbp-cols .qbp-col:last-child > .qbp-card:first-child{order:3}
	.qbp-cols .qbp-col:last-child > .qbp-card:last-child{order:4}
}

/* Popup controls: protect from theme button/input styles */
.qbp-overlay button{font-family:inherit!important;text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important;box-shadow:none!important;min-height:0!important;height:auto!important}
.qbp-overlay .qbp-close{width:38px!important;height:38px!important;border-radius:50%!important;border:1px solid #ddd!important;background:#fff!important;color:#444!important;font-size:24px!important;line-height:1!important;padding:0!important;margin:0!important}
.qbp-overlay .qbp-qty button{width:34px!important;height:34px!important;border:1px solid #ddd!important;border-radius:8px!important;background:#fff!important;color:#333!important;font-size:18px!important;line-height:1!important;padding:0!important;margin:0!important}
.qbp-overlay .qbp-submit{display:flex!important;align-items:center;justify-content:center;gap:8px;width:100%!important;margin:16px 0 0!important;padding:19px 16px!important;border:0!important;border-radius:10px!important;background:var(--qbp-btn-bg)!important;color:var(--qbp-btn-color)!important;font-size:19px!important;font-weight:700!important;line-height:1.3!important;cursor:pointer}
.qbp-overlay .qbp-submit b{color:inherit!important;margin:0!important}
.qbp-overlay .qbp-submit:disabled{opacity:.7;cursor:wait}
.qbp-overlay .qbp-fields input,.qbp-overlay .qbp-fields textarea{width:100%!important;height:auto!important;padding:13px 14px!important;border:1.5px solid #e6dcc8!important;border-radius:12px!important;background:#fff!important;color:#222!important;font-size:16px!important;box-shadow:none!important;margin:0!important}
.qbp-overlay .qbp-fields input.qbp-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important;padding:0!important;border:0!important}
