/* Quote Plugin – Add to request block */
.qp-add-to-request {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0.5em 0;
}

.qp-add-to-request .qp-inline-added-notice {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	line-height: 1.3;
	box-sizing: border-box;
	vertical-align: middle;
}

.qp-add-to-request .qp-inline-added-notice--visible {
	opacity: 1;
}

.qp-add-to-request-loop .qp-quantity-label {
	margin-right: 4px;
}

.qp-add-to-request .qp-quantity-input,
.qp-add-to-request .qty {
	width: 60px;
	text-align: center;
}

.qp-add-to-request .qp-add-to-request-btn.qp-added {
	opacity: 0.8;
}

@media (max-width: 640px) {
	.qp-add-to-request .qp-inline-added-notice {
		display: block;
		width: 100%;
	}
}

.qp-add-to-request-single.qp-simple form.cart {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.qp-add-to-request-single .qp-quantity-wrap {
	margin: 0 0 0.5em 0;
}

.qp-add-to-request-single .qp-quantity-wrap label {
	display: block;
	margin-bottom: 4px;
}

/* Hide native cart buttons only when plugin toggle is enabled */
body.qp-hide-cart-active .add_to_cart_button,
body.qp-hide-cart-active .single_add_to_cart_button:not(.qp-add-to-request-btn),
body.qp-hide-cart-active form.cart button[type="submit"]:not(.qp-add-to-request-btn),
body.qp-hide-cart-active form.cart input[name="add-to-cart"] {
	display: none !important;
}

/* Request page: table and form */
.qp-request-table-wrap { margin: 1em 0; overflow-x: auto; }
.qp-request-table { width: 100%; border-collapse: collapse; }
.qp-request-table th,
.qp-request-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid #e0e0e0; }
.qp-request-table .qp-col-product { min-width: 180px; }
.qp-request-table .qp-thumb { display: inline-block; margin-right: 10px; vertical-align: middle; }
.qp-request-table .qp-thumb img { max-width: 60px; height: auto; vertical-align: middle; }
.qp-request-table .qp-row-qty { width: 56px; text-align: center; border: 0; }
.qp-qty-stepper { display: inline-flex; align-items: center; border: 1px solid #d8d8d8; border-radius: 6px; overflow: hidden; }
.qp-qty-step { width: 30px; height: 32px; border: 0; background: #f7f7f7; cursor: pointer; font-size: 16px; line-height: 1; }
.qp-qty-step:hover { background: #efefef; }
.qp-remove-item { border: 0; background: transparent; cursor: pointer; font-size: 20px; line-height: 1; color: #b32d2e; }
.qp-remove-item:hover { color: #8f1f20; }
.qp-request-table-actions { margin-top: 12px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.qp-update-request-btn { border-radius: 6px; }
.qp-update-request-btn.qp-is-dirty { border-color: #2271b1; color: #2271b1; }
.qp-update-request-status { min-height: 20px; font-size: 13px; }
.qp-update-request-status.qp-status-success { color: #00a32a; }
.qp-update-request-status.qp-status-error { color: #b32d2e; }
.qp-update-request-status.qp-status-pending { color: #996800; }

.qp-request-form-wrap { margin: 2em 0; padding: 18px; border: 1px solid #e8e8e8; border-radius: 10px; background: #fff; }
.qp-request-form .qp-form-row { margin-bottom: 14px; }
.qp-request-form .qp-form-row label { display: block; margin-bottom: 6px; font-weight: 600; color: #2f2f2f; }
.qp-request-form .qp-input { width: 100%; max-width: 520px; padding: 10px 12px; border: 1px solid #d8d8d8; border-radius: 6px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.qp-request-form .qp-input:focus { outline: none; border-color: #2271b1; box-shadow: 0 0 0 2px rgba(34,113,177,.15); }
.qp-request-form .qp-submit-btn { background: #2271b1; color: #fff; border: 1px solid #2271b1; border-radius: 6px; padding: 10px 18px; }
.qp-request-form .qp-submit-btn:hover { background: #1a5f96; border-color: #1a5f96; }
.qp-request-form .qp-error { display: block; color: #b32d2e; font-size: 0.9em; margin-top: 4px; }
.qp-message-success { color: #00a32a; }
.qp-empty-request { margin: 1em 0; }
