/**
 * Sticky CTA Buttons — Product + Cart + Checkout
 * Subplugin styles — lmb-plugin
 *
 * Only the positional / container styling is defined here.
 * All button colours, typography, and border-radius are left
 * entirely to the active theme so the CTA looks 100% consistent
 * whether docked or sticky.
 */

/* ============================================================
   Layout helpers — anchor and spacer are invisible shims
   ============================================================ */

#lmb-po-anchor,
#lmb-po-spacer,
#lmb-cart-anchor,
#lmb-cart-spacer,
#lmb-product-anchor,
#lmb-product-spacer {
	display: block;
	height: 0;
	overflow: hidden;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	margin: 0;
	padding: 0;
}

/* ============================================================
   Wrap — normal (in-flow) state: zero footprint
   ============================================================ */

.lmb-po-wrap,
.lmb-cart-wrap,
.lmb-product-wrap {
	/* No styles; inherits layout from parent context */
}

/* ============================================================
   Wrap — sticky state
   ============================================================ */

.lmb-po-wrap.lmb-sticky,
.lmb-cart-wrap.lmb-cart-sticky,
.lmb-product-wrap.lmb-product-sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999;

	/* Prevent any child element from causing horizontal scroll */
	overflow: hidden;

	/* Subtle lift so the bar separates from page content */
	background: #ffffff;
	box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.10);

	/* Comfortable tap target padding */
	padding: 12px 16px;

	/* Respect the iOS / Android safe-area inset (notched phones) */
	padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));

	box-sizing: border-box;
}

/* Slightly more breathing room on wider viewports */
@media (min-width: 769px) {
	.lmb-po-wrap.lmb-sticky,
	.lmb-cart-wrap.lmb-cart-sticky,
	.lmb-product-wrap.lmb-product-sticky {
		padding: 14px 40px;
		padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
	}
}

/* ============================================================
   Button inside sticky wrap — centered with max-width cap
   ============================================================ */

/* Place Order (checkout) and Proceed to Checkout (cart) */

.lmb-po-wrap.lmb-sticky #place_order,
.lmb-cart-wrap.lmb-cart-sticky .checkout-button {
	display: block;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	margin-bottom: 0 !important;
	box-sizing: border-box;
	text-align: center;
	/* All other visual properties (colour, font, radius) come
	   from the theme — nothing is overridden here. */
}

/* Add to cart form (product page) — whole block centered */

.lmb-product-wrap.lmb-product-sticky form.cart {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}

/* Button stretches to fill remaining space beside the qty input */

.lmb-product-wrap.lmb-product-sticky form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	margin: 0 !important;
	box-sizing: border-box;
}

input.qty {
	width: 100%;
}

.quantity {
	width: auto !important;
}

.woocommerce-variation-add-to-cart {
	margin-bottom: 30px;
}