/* Shopping controls only. Product title clipping is removed in its original frontend.css rules. */
body.hbp-store-active { --hbp-purchase: #b64714; --hbp-purchase-hover: #92370f; }
.hbp-product-card-facts { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; font-size: 13px; line-height: 1.45; }
.hbp-product-card-facts > span { background: #edf5ef; border: 1px solid #cbded3; border-radius: 5px; color: #183d31; padding: 3px 6px; overflow-wrap: anywhere; }
.hbp-product-card-facts__pack { flex-basis: 100%; }
body.hbp-store-active .woocommerce-cart-form .quantity { width: auto; max-width: 100%; }
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity {
	display: inline-flex; align-items: center; vertical-align: middle; gap: 0; max-width: 100%;
	border: 1px solid #a9bbb2; border-radius: 8px; background: #fff; overflow: visible;
}
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity__button {
	display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px;
	width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; margin: 0;
	border: 0; border-radius: 7px; background: #edf5ef; color: #183d31;
	font-size: 25px; line-height: 1; font-weight: 700; cursor: pointer; box-shadow: none;
}
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity__button:hover:not(:disabled) { background: #d5e8db; }
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity__button:disabled { opacity: .4; cursor: not-allowed; }
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity input.qty {
	flex: 0 0 54px; width: 54px !important; min-width: 54px; max-width: 54px; height: 44px;
	padding: 4px !important; margin: 0 !important; border: 0; border-radius: 0; box-shadow: none;
	background: #fff; color: #183d31; text-align: center; font-size: 16px; appearance: textfield; -moz-appearance: textfield;
}
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity input.qty::-webkit-inner-spin-button,
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.hbp-store-active .woocommerce-cart-form .hbp-cart-quantity :is(button, input):focus-visible { outline: 3px solid #132f48; outline-offset: 2px; position: relative; z-index: 1; }
.hbp-cart-quantity-status { margin: 12px 0; color: #345448; font-size: 14px; line-height: 1.5; }
body.hbp-store-active .woocommerce a.remove.hbp-cart-remove {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 4px;
	width: auto !important; height: auto !important; min-height: 44px; min-width: 100px;
	padding: 7px 10px; border: 1px solid #bb6f6f; border-radius: 7px;
	background: #fff4f4 !important; color: #842323 !important; font-size: 13px; line-height: 1.35;
	font-weight: 650; white-space: nowrap; text-decoration: none;
}
body.hbp-store-active .woocommerce a.remove.hbp-cart-remove:hover { background: #842323 !important; color: #fff !important; }
body.hbp-store-active .woocommerce table.cart td.product-remove { display: table-cell !important; width: 124px; }
.hbp-product-selection-check.is-invalid { border: 2px solid #b42318; background: #fff5f4; }
.hbp-product-selection-check.is-invalid .hbp-product-selection-check__confirmation { border-radius: 6px; outline: 2px solid #b42318; outline-offset: 5px; }
.hbp-selection-inline-error { color: #a31515; font-weight: 700; margin: 14px 0 0; }
.hbp-selection-inline-error[hidden] { display: none !important; }
.hbp-product-selection-check__confirmation { scroll-margin-block: 140px; }
.hbp-checkout-address-choice { padding: 14px 16px; border: 1px solid #bad2c7; border-radius: 10px; background: #f3f8f5; margin: 0 0 20px; }
.hbp-checkout-address-choice p { margin: 0 0 8px; font-size: 14px; }
body.hbp-store-active .hbp-checkout-address-choice #ship-to-different-address { font-size: 16px; line-height: 1.5; margin: 0; }
.hbp-checkout-address-choice label { cursor: pointer; display: flex; align-items: flex-start; gap: 8px; padding: 8px 0; }
.hbp-checkout-address-choice input { flex-shrink: 0; margin-top: 4px; }
.hbp-optional-order-notes { margin-bottom: 18px; }
.hbp-optional-order-notes summary { padding: 12px 0; cursor: pointer; font-weight: 650; }
body.hbp-store-active.woocommerce-checkout :is(#billing_city_field, #shipping_city_field) :is(select, .select2-container) { width: 100% !important; }
body.hbp-store-active.woocommerce-checkout :is(#billing_city, #shipping_city) { min-height: 44px; }
body.hbp-store-active :is(.single_add_to_cart_button, a.add_to_cart_button, #place_order, .checkout-button, [data-hbp-selection-modal-confirm]) {
	background: var(--hbp-purchase) !important; border-color: var(--hbp-purchase) !important; color: #fff !important;
	min-height: 44px;
}
body.hbp-store-active :is(.single_add_to_cart_button, a.add_to_cart_button, #place_order, .checkout-button, [data-hbp-selection-modal-confirm]):hover {
	background: var(--hbp-purchase-hover) !important; border-color: var(--hbp-purchase-hover) !important;
}
body.hbp-store-active .hbp-cart-link { position: relative; color: var(--hbp-purchase) !important; background: #fff0e6; border-radius: 9px; padding: 10px !important; min-height: 44px; }
body.hbp-store-active .hbp-cart-link svg { color: var(--hbp-purchase) !important; }
body.hbp-store-active .hbp-cart-count { background: var(--hbp-purchase) !important; color: #fff !important; }
body.hbp-store-active :is(.single_add_to_cart_button, a.add_to_cart_button, .hbp-cart-link, .hbp-cart-remove, #place_order):focus-visible { outline: 3px solid #132f48; outline-offset: 3px; }
body.hbp-store-active :is(.single_add_to_cart_button, #place_order, [data-hbp-selection-modal-confirm]):disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 767px) {
	body.hbp-store-active .woocommerce table.cart td.product-remove { display: block !important; width: auto; text-align: right !important; }
	body.hbp-store-active .woocommerce table.cart td.product-remove::before { display: none; }
	body.hbp-store-active .woocommerce table.cart td.product-name { white-space: normal !important; overflow-wrap: anywhere; }
	.hbp-product-card-facts { font-size: 12px; }
}
