/*
 * Lightning Peptides - cart, checkout and account styling (+ one site-wide footer fix).
 * Loaded by the child theme (functions.php -> lp_commerce_styles). Brand palette only (Elementor kit #7).
 * PowerPack's widget settings emit 3-4 class {{WRAPPER}} rules, so colour/border/background rules here are
 * scoped to the widget and marked !important where they must beat those generated rules.
 */
:root {
	--lp-cream: #FEFCF2;
	--lp-paper: #FFFFFF;
	--lp-gold: #D3A32C;
	--lp-gold-d: #A8790F;
	--lp-gold-soft: #FBF3DC;
	--lp-ink: #151515;
	--lp-black: #0B0B0B;
	--lp-muted: #6B665A;
	--lp-line: rgba(11, 11, 11, .10);
	--lp-line-2: #E9E1C9;
	--lp-radius: 16px;
	--lp-shadow: 0 10px 30px rgba(11, 11, 11, .06);
}

/* ---------- site-wide: footer vials leak past the edge at tablet widths (scale transform) ---------- */
.elementor-18 .elementor-element-a202540 { overflow-x: clip; }

/* ---------- home: featured-products carousel cards, compact like the reference (ascend.science) ----------
   Beats Jeg's generated {{WRAPPER}} typography (15px / 2em) and overwrite.css's global
   `.woocommerce a.button { width:100%; padding:15px; … !important }`. */
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .jkit-product-block-wrapper {
	border: 1px solid var(--lp-line) !important; border-radius: 14px !important; background: var(--lp-paper) !important;
	box-shadow: 0 6px 18px rgba(11, 11, 11, .05) !important; overflow: hidden;
}
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .jkit-product-block-wrapper:hover { border-color: var(--lp-gold) !important; }
body.home .woocommerce .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .product a.button,
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .product a.button {
	display: flex !important; align-items: center; justify-content: center; gap: 5px; box-sizing: border-box !important;
	width: 100% !important; align-self: stretch; margin: auto 0 3px !important; padding: 11px 6px !important; /* full inner width = same edges as the image */
	font-size: 12px !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: 0 !important; text-transform: none !important;
	border-radius: 999px !important; border: 0 !important; background: var(--lp-gold) !important; color: var(--lp-black) !important; white-space: nowrap;
}
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .product a.button:hover { background: var(--lp-gold-d) !important; color: var(--lp-cream) !important; }
/* breathing room between the text block (title/price/category) and the button, even on the tallest card */
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .jkit-product-block-wrapper > .jkit-product-link { padding-bottom: 14px !important; }
/* no cart icon in the buttons (text only, like the reference) */
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .product a.button i,
body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .product a.button svg { display: none !important; }
/* arrows sit in the gutter OUTSIDE the cards (reference: ~16px clear of the first/last card). Offset = the gutter that
   exists: 60px (44px button + 16px gap) when the 1280px track leaves room, less on narrow laptops so the arrow never
   leaves the screen (100vw includes the scrollbar, hence the extra 16px). Below 1367 Jeg's own offset (0) applies. */
@media (min-width: 1367px) {
	body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .tns-controls button[data-controls="prev"] { left: calc(-1 * min(60px, (100vw - 1280px) / 2 - 16px)) !important; right: auto !important; }
	body.home .elementor-element.elementor-element-ef0e5e8 .jeg-elementor-kit.jkit-product-carousel .tns-controls button[data-controls="next"] { right: calc(-1 * min(60px, (100vw - 1280px) / 2 - 16px)) !important; left: auto !important; }
}

/* ---------- shared bits ---------- */
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info,
body.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-message {
	display: flex !important; align-items: center; flex-wrap: wrap; gap: 12px;
	background: var(--lp-paper) !important; color: var(--lp-ink) !important;
	border: 1px solid var(--lp-line-2) !important; border-left: 4px solid var(--lp-gold) !important;
	border-radius: 12px !important; padding: 14px 18px !important; margin: 0 0 20px !important;
	font-size: 14px; line-height: 1.5; box-shadow: none !important;
}
body.woocommerce-cart .woocommerce-message::before, body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-account .woocommerce-info::before, body.woocommerce-account .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-message::before { position: static !important; color: var(--lp-gold-d) !important; margin: 0 !important; }
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button {
	order: 2; margin-left: auto !important; width: auto !important; float: none !important;
	background: var(--lp-ink) !important; color: var(--lp-cream) !important; border: 0 !important;
	border-radius: 999px !important; padding: 9px 18px !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.2 !important;
}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
body.woocommerce-checkout .woocommerce-privacy-policy-text a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a { color: var(--lp-gold-d) !important; font-weight: 600; text-decoration: underline; }

/* form controls (checkout, account forms, coupon) */
body.woocommerce-checkout .woocommerce form .input-text,
body.woocommerce-checkout .woocommerce form select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-account .woocommerce form .input-text,
body.woocommerce-account .woocommerce form select,
body.woocommerce-account .select2-container .select2-selection--single,
body.woocommerce-cart .woocommerce .coupon .input-text {
	min-height: 48px !important; padding: 12px 14px !important; font-size: 15px !important; color: var(--lp-ink) !important;
	background: var(--lp-paper) !important; border: 1px solid var(--lp-line-2) !important; border-radius: 10px !important; box-shadow: none !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
body.woocommerce-checkout .woocommerce form textarea.input-text, body.woocommerce-account .woocommerce form textarea.input-text { min-height: 96px !important; }
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered,
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px !important; padding: 0 !important; color: var(--lp-ink) !important; }
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow,
body.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow { top: 11px !important; right: 8px !important; }
body.woocommerce-checkout .woocommerce form .input-text:focus, body.woocommerce-checkout .woocommerce form select:focus,
body.woocommerce-account .woocommerce form .input-text:focus, body.woocommerce-account .woocommerce form select:focus,
body.woocommerce-cart .woocommerce .coupon .input-text:focus {
	outline: none !important; border-color: var(--lp-gold) !important; box-shadow: 0 0 0 3px rgba(211, 163, 44, .22) !important;
}
body.woocommerce-checkout .woocommerce form .form-row label, body.woocommerce-account .woocommerce form .form-row label {
	font-size: 13px !important; font-weight: 600 !important; color: var(--lp-ink) !important; margin-bottom: 6px !important; line-height: 1.4 !important;
}
body.woocommerce-checkout .woocommerce form .form-row, body.woocommerce-account .woocommerce form .form-row { margin-bottom: 16px !important; padding: 0 !important; }
body.woocommerce-checkout .woocommerce form .form-row .required { color: var(--lp-gold-d) !important; text-decoration: none; }

/* primary + secondary buttons */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-checkout #place_order,
body.woocommerce-account .woocommerce form .button[type=submit],
body.woocommerce-account .lpd-btn {
	display: flex !important; align-items: center; justify-content: center; gap: 10px;
	width: 100% !important; min-height: 54px; padding: 16px 24px !important; margin: 0 !important;
	background: var(--lp-gold) !important; color: var(--lp-black) !important; border: 0 !important; border-radius: 999px !important;
	font-size: 16px !important; font-weight: 700 !important; letter-spacing: .2px; text-transform: none !important; line-height: 1.2 !important;
	box-shadow: 0 8px 22px rgba(168, 121, 15, .28) !important; transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-account .woocommerce form .button[type=submit]:hover,
body.woocommerce-account .lpd-btn:hover { background: var(--lp-gold-d) !important; color: var(--lp-cream) !important; transform: translateY(-1px); }
body.woocommerce-account .woocommerce form .button[type=submit] { width: auto !important; padding: 14px 32px !important; min-height: 0; }
body.woocommerce-cart .woocommerce-cart-form .button[name=update_cart],
body.woocommerce-cart .coupon .button, body.woocommerce-checkout .checkout_coupon .button {
	background: transparent !important; color: var(--lp-ink) !important; border: 1px solid var(--lp-ink) !important; border-radius: 999px !important;
	padding: 11px 22px !important; font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; opacity: 1 !important; min-height: 44px;
}
body.woocommerce-cart .woocommerce-cart-form .button[name=update_cart]:disabled { opacity: .45 !important; }

/* ======================================================================= CART */
body.woocommerce-cart .pp-woo-cart .pp-cart-container { display: grid !important; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
body.woocommerce-cart .pp-woo-cart .pp-cart-column { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce-cart .pp-woo-cart .pp-cart-column-end { position: sticky; top: 110px; }
body.woocommerce-cart .pp-woo-cart .pp-shop-table,
body.woocommerce-cart .pp-woo-cart .cart_totals {
	background: var(--lp-paper) !important; border: 1px solid var(--lp-line-2) !important; border-radius: var(--lp-radius) !important;
	box-shadow: var(--lp-shadow) !important; padding: 8px 28px !important; margin: 0 !important; width: 100% !important; float: none !important;
}
body.woocommerce-cart .pp-woo-cart table.shop_table { border: 0 !important; margin: 0 !important; background: transparent !important; border-collapse: collapse !important; }
body.woocommerce-cart .pp-woo-cart table.cart thead th {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--lp-line) !important; padding: 18px 12px !important;
	font-size: 12px !important; font-weight: 600 !important; letter-spacing: 1.2px; text-transform: uppercase; color: var(--lp-muted) !important;
}
body.woocommerce-cart .pp-woo-cart table.cart td { border: 0 !important; border-bottom: 1px solid var(--lp-line) !important; padding: 20px 12px !important; background: transparent !important; vertical-align: middle !important; color: var(--lp-ink) !important; font-size: 15px !important; }
body.woocommerce-cart .pp-woo-cart table.cart tr:last-child td { border-bottom: 0 !important; }
body.woocommerce-cart .pp-woo-cart table.cart td.product-thumbnail img {
	width: 84px !important; height: 84px !important; object-fit: contain; background: var(--lp-cream); border: 1px solid var(--lp-line-2); border-radius: 12px; padding: 6px; max-width: none !important;
}
body.woocommerce-cart .pp-woo-cart table.cart td.product-name a { color: var(--lp-ink) !important; font-weight: 600 !important; text-decoration: none !important; font-size: 16px !important; }
body.woocommerce-cart .pp-woo-cart table.cart td.product-name a:hover { color: var(--lp-gold-d) !important; }
body.woocommerce-cart .pp-woo-cart table.cart td.product-subtotal { font-weight: 700 !important; }
body.woocommerce-cart .pp-woo-cart table.cart td.product-remove a.remove {
	display: inline-flex !important; align-items: center; justify-content: center; width: 30px !important; height: 30px !important; line-height: 1 !important;
	border-radius: 50% !important; border: 1px solid var(--lp-line-2) !important; background: var(--lp-paper) !important; color: var(--lp-muted) !important; font-size: 18px !important;
}
body.woocommerce-cart .pp-woo-cart table.cart td.product-remove a.remove:hover { background: var(--lp-ink) !important; color: var(--lp-cream) !important; border-color: var(--lp-ink) !important; }
body.woocommerce-cart .pp-woo-cart .quantity { display: inline-flex !important; align-items: center; border: 1px solid var(--lp-line-2); border-radius: 999px; overflow: hidden; background: var(--lp-paper); }
body.woocommerce-cart .pp-woo-cart .quantity .qty { width: 44px !important; min-height: 38px !important; border: 0 !important; background: transparent !important; text-align: center; font-weight: 600; padding: 0 !important; }
body.woocommerce-cart .pp-woo-cart .quantity .plus, body.woocommerce-cart .pp-woo-cart .quantity .minus {
	width: 38px; height: 38px; border: 0 !important; background: transparent !important; color: var(--lp-ink) !important; font-size: 18px; padding: 0 !important; cursor: pointer;
}
body.woocommerce-cart .pp-woo-cart .quantity .plus:hover, body.woocommerce-cart .pp-woo-cart .quantity .minus:hover { background: var(--lp-gold-soft) !important; }
body.woocommerce-cart .pp-woo-cart table.cart td.actions { padding: 20px 12px !important; }
body.woocommerce-cart .pp-woo-cart table.cart td.actions .coupon { display: flex; gap: 10px; align-items: center; }
body.woocommerce-cart .pp-woo-cart .cart_totals { padding: 26px 28px 28px !important; }
body.woocommerce-cart .pp-woo-cart .cart_totals h2 { font-size: 20px !important; font-weight: 700 !important; color: var(--lp-ink) !important; margin: 0 0 12px !important; text-transform: none !important; letter-spacing: 0 !important; }
body.woocommerce-cart .pp-woo-cart .cart_totals table th, body.woocommerce-cart .pp-woo-cart .cart_totals table td {
	border: 0 !important; border-bottom: 1px solid var(--lp-line) !important; padding: 14px 0 !important; background: transparent !important; color: var(--lp-ink) !important; font-size: 15px !important; font-weight: 500 !important;
}
body.woocommerce-cart .pp-woo-cart .cart_totals table td { text-align: right !important; }
body.woocommerce-cart .pp-woo-cart .cart_totals table tr.order-total th, body.woocommerce-cart .pp-woo-cart .cart_totals table tr.order-total td { border-bottom: 0 !important; font-size: 19px !important; font-weight: 700 !important; padding-top: 18px !important; }
body.woocommerce-cart .pp-woo-cart .wc-proceed-to-checkout { padding: 18px 0 0 !important; }
body.woocommerce-cart .lp-cart-assure { margin: 14px 0 0; text-align: center; font-size: 13px; color: var(--lp-muted); }
body.woocommerce-cart .lp-cart-assure a { color: var(--lp-ink); font-weight: 600; text-decoration: underline; }
/* empty cart */
body.woocommerce-cart .cart-empty.woocommerce-info { justify-content: center; font-size: 16px !important; padding: 28px !important; }
body.woocommerce-cart .return-to-shop { text-align: center; }
body.woocommerce-cart .return-to-shop .button { display: inline-flex !important; width: auto !important; background: var(--lp-gold) !important; color: var(--lp-black) !important; border-radius: 999px !important; padding: 14px 30px !important; font-weight: 700 !important; border: 0 !important; }

/* =================================================================== CHECKOUT */
body.woocommerce-checkout .pp-woo-checkout .woocommerce-form-coupon-toggle .woocommerce-info { border-left-color: var(--lp-gold) !important; }
body.woocommerce-checkout .pp-woo-checkout form.checkout_coupon {
	display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; background: var(--lp-paper) !important; border: 1px solid var(--lp-line-2) !important;
	border-radius: 12px !important; padding: 16px 18px !important; margin: -8px 0 20px !important;
}
body.woocommerce-checkout .pp-woo-checkout form.checkout_coupon .form-row { flex: 1 1 220px; width: auto !important; margin: 0 !important; float: none !important; }
body.woocommerce-checkout .pp-woo-checkout form.checkout_coupon .form-row-last { flex: 0 0 auto; }
body.woocommerce-checkout .pp-woo-checkout form.checkout_coupon .clear { display: none; }
body.woocommerce-checkout .pp-woo-checkout .pp-checkout-container { display: grid !important; grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; align-items: start; }
body.woocommerce-checkout .pp-woo-checkout .pp-checkout-column { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; margin: 0 !important; float: none !important; }
body.woocommerce-checkout .pp-woo-checkout .pp-checkout-column-inner { position: sticky; top: 110px; }
body.woocommerce-checkout .pp-woo-checkout #customer_details { display: flex; flex-direction: column; gap: 24px; }
body.woocommerce-checkout .pp-woo-checkout #customer_details .col-1,
body.woocommerce-checkout .pp-woo-checkout #customer_details .col-2,
body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review,
body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review-2 {
	width: 100% !important; float: none !important; max-width: none !important; margin: 0 !important;
	background: var(--lp-paper) !important; border: 1px solid var(--lp-line-2) !important; border-radius: var(--lp-radius) !important;
	box-shadow: var(--lp-shadow) !important; padding: 28px !important;
}
body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review-2 { margin-top: 20px !important; }
body.woocommerce-checkout .pp-woo-checkout h3, body.woocommerce-checkout .pp-woo-checkout #order_review_heading {
	font-size: 20px !important; font-weight: 700 !important; color: var(--lp-ink) !important; margin: 0 0 18px !important; padding: 0 !important; border: 0 !important;
	background: none !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.woocommerce-checkout .pp-woo-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-billing-fields__field-wrapper .form-row,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-shipping-fields__field-wrapper .form-row { grid-column: 1 / -1; width: auto !important; float: none !important; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last { grid-column: auto; }
body.woocommerce-checkout .pp-woo-checkout #billing_city_field, body.woocommerce-checkout .pp-woo-checkout #billing_state_field,
body.woocommerce-checkout .pp-woo-checkout #billing_postcode_field, body.woocommerce-checkout .pp-woo-checkout #billing_phone_field,
body.woocommerce-checkout .pp-woo-checkout #billing_email_field { grid-column: auto; }
body.woocommerce-checkout .pp-woo-checkout #billing_address_2_field label { display: none !important; }
body.woocommerce-checkout .pp-woo-checkout #billing_email_field { grid-column: 1 / -1 !important; }
/* PowerPack wraps "Additional information" and the payment block in their own boxes - the card is the box now */
body.woocommerce-checkout .pp-woo-checkout .woocommerce-additional-fields,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-additional-fields__field-wrapper,
body.woocommerce-checkout .pp-woo-checkout #payment,
body.woocommerce-checkout .pp-woo-checkout .woocommerce-checkout-payment,
body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review-2 > *,
body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review > * {
	background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
}
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li.wc_payment_method { padding: 16px 18px !important; }
body.woocommerce-checkout .pp-woo-checkout #ship-to-different-address { font-size: 15px !important; font-weight: 600 !important; }
/* order review table */
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 !important; background: transparent !important; border-collapse: collapse !important; }
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table thead { display: none; }
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--lp-line) !important; padding: 14px 0 !important; color: var(--lp-ink) !important; font-size: 15px !important; font-weight: 500 !important;
}
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td:last-child,
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table tfoot td { text-align: right !important; }
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table tr.order-total td { border-bottom: 0 !important; font-size: 20px !important; font-weight: 700 !important; padding-top: 18px !important; }
body.woocommerce-checkout .pp-woo-checkout td.product-name { display: flex !important; align-items: center; gap: 14px; }
body.woocommerce-checkout .lp-co-thumb { position: relative; flex: 0 0 56px; }
body.woocommerce-checkout .lp-co-thumb img { width: 56px !important; height: 56px !important; object-fit: contain; background: var(--lp-cream); border: 1px solid var(--lp-line-2); border-radius: 10px; padding: 4px; display: block; max-width: none !important; }
body.woocommerce-checkout .lp-co-name { font-weight: 600; line-height: 1.35; }
body.woocommerce-checkout .pp-woo-checkout td.product-name .product-quantity { color: var(--lp-muted); font-weight: 500; white-space: nowrap; }
body.woocommerce-checkout .pp-woo-checkout #shipping_method li { margin: 0 0 8px !important; text-align: left; }
/* payment methods as selectable cards */
body.woocommerce-checkout .pp-woo-checkout #payment { background: transparent !important; border-radius: 0 !important; padding: 0 !important; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 18px !important; display: flex; flex-direction: column; gap: 10px; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li.wc_payment_method {
	position: relative; margin: 0 !important; padding: 16px 18px !important; background: var(--lp-paper) !important; border: 1px solid var(--lp-line-2) !important; border-radius: 12px !important; list-style: none;
	transition: border-color .15s ease, background .15s ease;
}
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) { border-color: var(--lp-gold) !important; background: var(--lp-gold-soft) !important; box-shadow: 0 0 0 1px var(--lp-gold) inset; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li > input.input-radio { accent-color: var(--lp-gold-d); width: 18px; height: 18px; margin: 0 10px 0 0 !important; vertical-align: middle; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li > label { display: inline-flex !important; align-items: center; gap: 10px; font-size: 15px !important; font-weight: 600 !important; color: var(--lp-ink) !important; margin: 0 !important; cursor: pointer; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li > label img { max-height: 22px !important; width: auto !important; margin: 0 !important; }
body.woocommerce-checkout .pp-woo-checkout #payment div.payment_box {
	background: transparent !important; color: var(--lp-muted) !important; margin: 10px 0 0 28px !important; padding: 0 !important; font-size: 14px !important; border: 0 !important;
}
body.woocommerce-checkout .pp-woo-checkout #payment div.payment_box::before { display: none !important; }
body.woocommerce-checkout .pp-woo-checkout #payment div.payment_box strong { font-weight: 500; }
body.woocommerce-checkout .pp-woo-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-privacy-policy-text p { font-size: 13px !important; color: var(--lp-muted) !important; margin: 0 0 12px !important; line-height: 1.55; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-terms-and-conditions-wrapper { margin: 0 0 16px !important; }
/* checkbox + sentence: text flows inline so the required "*" sits right after "conditions" (flex made it a separate column) */
body.woocommerce-checkout .pp-woo-checkout .woocommerce-form__label-for-checkbox { display: block !important; position: relative; padding-left: 28px !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.5 !important; color: var(--lp-ink) !important; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-form__label-for-checkbox input[type=checkbox] { position: absolute; left: 0; top: 2px; accent-color: var(--lp-gold-d); width: 18px; height: 18px; margin: 0 !important; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-form__label-for-checkbox span, body.woocommerce-checkout .pp-woo-checkout .woocommerce-form__label-for-checkbox .required { display: inline !important; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-form__label-for-checkbox .required { margin-left: 2px; text-decoration: none; border: 0; }
body.woocommerce-checkout .pp-woo-checkout .woocommerce-terms-and-conditions { display: none !important; }
body.woocommerce-checkout .lp-co-secure { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0; font-size: 13px; color: var(--lp-muted); }
body.woocommerce-checkout .lp-co-secure svg { width: 15px; height: 15px; flex: 0 0 15px; }
body.woocommerce-checkout .blockUI.blockOverlay { background: rgba(254, 252, 242, .7) !important; border-radius: var(--lp-radius); }

/* ==================================================================== ACCOUNT */
/* header strip (shortcode [account_header]) */
.lpa-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; width: 100%; }
.lpa-id { display: flex; align-items: center; gap: 16px; min-width: 0; }
.lpa-avatar {
	width: 56px; height: 56px; border-radius: 50%; flex: 0 0 56px; display: flex; align-items: center; justify-content: center;
	background: var(--lp-black); color: var(--lp-gold); font-weight: 700; font-size: 19px; letter-spacing: .5px; box-shadow: 0 0 0 3px var(--lp-gold-soft), 0 0 0 4px var(--lp-gold);
}
.lpa-meta { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.lpa-label { font-size: 12px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: var(--lp-gold-d); }
.lpa-name { font-size: 20px; font-weight: 700; color: var(--lp-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lpa-email { font-size: 14px; color: var(--lp-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lpa-actions { display: flex; align-items: center; gap: 10px; }
.lpa-actions a { display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border-radius: 999px; font-size: 14px; font-weight: 600; text-decoration: none !important; transition: background .15s ease, color .15s ease; }
.lpa-actions .lpa-shop { background: var(--lp-gold); color: var(--lp-black) !important; }
.lpa-actions .lpa-shop:hover { background: var(--lp-gold-d); color: var(--lp-cream) !important; }
.lpa-actions .lpa-out { border: 1px solid var(--lp-ink); color: var(--lp-ink) !important; }
.lpa-actions .lpa-out:hover { background: var(--lp-ink); color: var(--lp-cream) !important; }

/* tab navigation (PowerPack My Account widget) */
/* tab bar + content share the header's centred column (content is capped at 1366px by the theme; the header strip too) */
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-content { width: calc(100% - 20px) !important; max-width: 1366px !important; margin-left: auto !important; margin-right: auto !important; float: none !important; }
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation { margin-top: 8px !important; margin-bottom: 28px !important; border: 0 !important; background: transparent !important; }
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul {
	display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 6px !important; list-style: none;
	background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: 999px; width: fit-content; max-width: 100%;
}
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; flex: 0 0 auto !important; width: auto !important; }
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li a {
	display: block !important; padding: 10px 20px !important; border-radius: 999px !important; border: 0 !important; background: transparent !important;
	color: var(--lp-ink) !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3 !important;
}
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--lp-gold-soft) !important; }
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--lp-black) !important; color: var(--lp-gold) !important; }
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li::before,
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li::after,
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li a::after,
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li a::before { display: none !important; }
body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-content { padding: 0 !important; background: transparent !important; border: 0 !important; color: var(--lp-ink); }
/* the stock "Hello … / From your account dashboard …" paragraphs are replaced by the dashboard below */
body.woocommerce-account .woocommerce-MyAccount-content:has(.lpd) > p { display: none !important; }

/* dashboard */
.lpd { display: flex; flex-direction: column; gap: 24px; }
body.woocommerce-account .lpd .lpd-hello h2 { font-size: 30px !important; font-weight: 700 !important; color: var(--lp-ink) !important; margin: 0 0 6px !important; line-height: 1.2 !important; letter-spacing: -.3px; text-transform: none !important; }
body.woocommerce-account .lpd .lpd-card-head h3 { font-size: 18px !important; font-weight: 700 !important; margin: 0 !important; color: var(--lp-ink) !important; text-transform: none !important; }
body.woocommerce-account .lpd .lpd-empty h4 { font-size: 17px !important; font-weight: 700 !important; margin: 0 0 6px !important; color: var(--lp-ink) !important; text-transform: none !important; }
.lpd-hello p { margin: 0; color: var(--lp-muted); font-size: 16px; }
.lpd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.lpd-stat { background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: 14px; padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.lpd-stat-label { font-size: 12px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; color: var(--lp-muted); }
.lpd-stat-value { font-size: 22px; font-weight: 700; color: var(--lp-ink); line-height: 1.2; }
.lpd-stat-value .woocommerce-Price-amount { color: inherit; }
.lpd-stat a { font-size: 13px; font-weight: 600; color: var(--lp-gold-d); text-decoration: none; }
.lpd-card { background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: var(--lp-radius); box-shadow: var(--lp-shadow); overflow: hidden; }
.lpd-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--lp-line); }
.lpd-card-head h3 { margin: 0; font-size: 18px; font-weight: 700; color: var(--lp-ink); }
.lpd-card-head a { font-size: 14px; font-weight: 600; color: var(--lp-gold-d); text-decoration: none; }
.lpd-table { width: 100%; border-collapse: collapse; margin: 0; border: 0; }
.lpd-table th { text-align: left; font-size: 12px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; color: var(--lp-muted); padding: 12px 24px; border: 0; border-bottom: 1px solid var(--lp-line); background: transparent; }
.lpd-table td { padding: 16px 24px; font-size: 15px; color: var(--lp-ink); border: 0; border-bottom: 1px solid var(--lp-line); background: transparent; vertical-align: middle; }
.lpd-table tr:last-child td { border-bottom: 0; }
.lpd-table td.lpd-num { font-weight: 700; }
.lpd-table td.lpd-go { text-align: right; }
.lpd-table td.lpd-go a { display: inline-block; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--lp-ink); color: var(--lp-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.lpd-table td.lpd-go a:hover { background: var(--lp-ink); color: var(--lp-cream); }
.lpd-pill { display: inline-block; padding: 4px 11px; border-radius: 999px; font-size: 12px; font-weight: 600; background: #EFEDE6; color: var(--lp-ink); white-space: nowrap; }
.lpd-pill.is-processing, .lpd-pill.is-on-hold, .lpd-pill.is-pending { background: var(--lp-gold-soft); color: #7A5709; }
.lpd-pill.is-completed { background: #E8F3EA; color: #1F6B34; }
.lpd-pill.is-cancelled, .lpd-pill.is-failed, .lpd-pill.is-refunded { background: #F6E7E4; color: #8A2C1D; }
.lpd-empty { padding: 44px 24px; text-align: center; }
.lpd-empty-ico { width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; background: var(--lp-gold-soft); color: var(--lp-gold-d); display: flex; align-items: center; justify-content: center; }
.lpd-empty h4 { margin: 0 0 6px; font-size: 17px; font-weight: 700; color: var(--lp-ink); }
.lpd-empty p { margin: 0 0 18px; color: var(--lp-muted); font-size: 15px; }
body.woocommerce-account .lpd .lpd-btn { display: inline-flex !important; width: auto !important; min-height: 0; padding: 13px 28px !important; font-size: 15px !important; box-shadow: none !important; }
.lpd-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lpd-link { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: 14px; text-decoration: none !important; color: var(--lp-ink) !important; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.lpd-link:hover { border-color: var(--lp-gold); transform: translateY(-2px); box-shadow: var(--lp-shadow); }
.lpd-link-ico { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; background: var(--lp-black); color: var(--lp-gold); display: flex; align-items: center; justify-content: center; }
.lpd-link-ico svg { width: 20px; height: 20px; }
.lpd-link strong { display: block; font-size: 15px; font-weight: 700; margin-bottom: 2px; color: var(--lp-ink); }
.lpd-link > span:last-child > span { display: block; font-size: 13px; color: var(--lp-muted); line-height: 1.45; }

/* account sub-pages: orders table, addresses, forms */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	width: 100%; border: 1px solid var(--lp-line-2) !important; border-radius: var(--lp-radius) !important; border-collapse: separate !important; border-spacing: 0; overflow: hidden; background: var(--lp-paper) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table th { background: transparent !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 1.1px; text-transform: uppercase; color: var(--lp-muted) !important; padding: 14px 20px !important; border: 0 !important; border-bottom: 1px solid var(--lp-line) !important; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 16px 20px !important; border: 0 !important; border-bottom: 1px solid var(--lp-line) !important; color: var(--lp-ink) !important; background: transparent !important; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td { border-bottom: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button { background: transparent !important; color: var(--lp-ink) !important; border: 1px solid var(--lp-ink) !important; border-radius: 999px !important; padding: 8px 16px !important; font-size: 13px !important; font-weight: 600 !important; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button:hover { background: var(--lp-ink) !important; color: var(--lp-cream) !important; }
body.woocommerce-account .woocommerce-Addresses { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px; }
body.woocommerce-account .woocommerce-Addresses::before, body.woocommerce-account .woocommerce-Addresses::after { display: none !important; }
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: auto !important; float: none !important; background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: var(--lp-radius); padding: 22px 24px; margin: 0 !important; }
body.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
body.woocommerce-account .woocommerce-Address-title h2 { font-size: 18px !important; font-weight: 700 !important; margin: 0 !important; color: var(--lp-ink) !important; }
body.woocommerce-account .woocommerce-Address-title a { color: var(--lp-gold-d) !important; font-weight: 600; font-size: 14px; text-decoration: none; }
body.woocommerce-account .woocommerce-Address address { font-style: normal; color: var(--lp-muted); line-height: 1.7; }
body.woocommerce-account .woocommerce-MyAccount-content > p { color: var(--lp-muted); }
body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
body.woocommerce-account .woocommerce-MyAccount-content form.edit-address-form,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields {
	background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: var(--lp-radius); padding: 28px; max-width: 860px;
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset { border: 1px solid var(--lp-line); border-radius: 12px; padding: 18px 20px 4px; margin: 10px 0 20px; }
body.woocommerce-account .woocommerce-MyAccount-content fieldset legend { font-weight: 700; padding: 0 8px; color: var(--lp-ink); }

/* ================================================================= RESPONSIVE */
@media (max-width: 1100px) {
	body.woocommerce-checkout .pp-woo-checkout .pp-checkout-container { grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; }
	body.woocommerce-cart .pp-woo-cart .pp-cart-container { grid-template-columns: minmax(0, 1fr) 330px; gap: 24px; }
}
@media (max-width: 1024px) {
	body.woocommerce-checkout .pp-woo-checkout .pp-checkout-container,
	body.woocommerce-cart .pp-woo-cart .pp-cart-container { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-checkout .pp-woo-checkout .pp-checkout-column-inner,
	body.woocommerce-cart .pp-woo-cart .pp-cart-column-end { position: static; }
	.lpd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lpd-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	body.woocommerce-cart .pp-woo-cart .pp-shop-table, body.woocommerce-cart .pp-woo-cart .cart_totals { padding: 6px 16px !important; }
	body.woocommerce-cart .pp-woo-cart .cart_totals { padding: 20px 18px !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item { display: grid !important; grid-template-columns: 76px 1fr auto; column-gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--lp-line); position: relative; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td { display: block !important; border: 0 !important; padding: 4px 0 !important; text-align: left !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td::before { display: none !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-thumbnail { grid-row: 1 / span 3; display: block !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-thumbnail img { width: 72px !important; height: 72px !important; }
	/* grid: [thumb | name | remove] / [thumb | qty | subtotal] - explicit rows so nothing overlaps the name */
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-name { grid-column: 2; grid-row: 1; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-price { display: none !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-quantity { grid-column: 2; grid-row: 2; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-subtotal { grid-column: 3; grid-row: 2; text-align: right !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-remove { grid-column: 3; grid-row: 1; justify-self: end; padding: 0 !important; }
	body.woocommerce-cart .pp-woo-cart table.cart tr.cart_item td.product-thumbnail { grid-row: 1 / span 2 !important; }
	body.woocommerce-account .lumera-account-wrap, body.woocommerce-account .elementor-element-2898e04 { padding-left: 16px !important; padding-right: 16px !important; }
	body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation,
	body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-content { width: 100% !important; }
	body.woocommerce-account .elementor-element-2898e04 { padding-left: 16px !important; padding-right: 16px !important; }
	body.woocommerce-account .elementor-element-47303df { padding: 0 !important; }
	body.woocommerce-cart .pp-woo-cart table.cart td.actions .coupon { flex-wrap: wrap; }
	body.woocommerce-cart .pp-woo-cart table.cart td.actions .button { width: 100% !important; }
	body.woocommerce-checkout .pp-woo-checkout #customer_details .col-1, body.woocommerce-checkout .pp-woo-checkout #customer_details .col-2,
	body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review, body.woocommerce-checkout .pp-woo-checkout .pp-checkout__order_review-2 { padding: 20px 18px !important; }
	body.woocommerce-checkout .pp-woo-checkout .woocommerce-billing-fields__field-wrapper,
	body.woocommerce-checkout .pp-woo-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	body.woocommerce-checkout .pp-woo-checkout .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1 / -1 !important; }
	.lpa-head { align-items: flex-start; }
	.lpa-actions { width: 100%; }
	.lpa-actions a { flex: 1; justify-content: center; }
	body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul { border-radius: 14px; width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	body.woocommerce-account .pp-woo-my-account .woocommerce-MyAccount-navigation ul li a { padding: 9px 14px !important; white-space: nowrap; }
	body.woocommerce-account .lpd .lpd-hello h2 { font-size: 24px !important; }
	.lpd-stats, .lpd-links { grid-template-columns: 1fr 1fr; gap: 12px; }
	.lpd-links { grid-template-columns: 1fr; }
	.lpd-stat { padding: 14px 16px; }
	.lpd-stat-value { font-size: 18px; }
	.lpd-table thead { display: none; }
	.lpd-table tr { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 14px 18px; border-bottom: 1px solid var(--lp-line); }
	.lpd-table tr:last-child { border-bottom: 0; }
	.lpd-table td { padding: 0; border: 0; }
	.lpd-table td.lpd-go { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
	body.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
	body.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields { padding: 20px 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.lpd-link, body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, body.woocommerce-checkout #place_order { transition: none; }
	.lpd-link:hover, body.woocommerce-checkout #place_order:hover { transform: none; }
}

/* ---------------------------------------------------------------------------
 * Shipping options (cart totals + checkout order review) as selectable cards.
 * Markup from lp_shipping_method_label() in functions.php: .lp-ship > __ic, __txt(__name, __meta), __price.
 * ------------------------------------------------------------------------- */
/* the row is one full-width cell (child-theme woocommerce/cart/cart-shipping.php) */
body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td.lp-ship-cell,
body.woocommerce-cart .cart_totals table tr.woocommerce-shipping-totals > td.lp-ship-cell {
	display: table-cell !important; width: 100% !important; padding: 18px 0 !important; text-align: left !important; border: 0 !important; border-bottom: 1px solid var(--lp-line) !important;
}
body.woocommerce-cart .cart_totals table tr.woocommerce-shipping-totals > td.lp-ship-cell::before { display: none !important; }
.lp-ship-head { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--lp-muted); margin: 0 0 12px; line-height: 1.3; }
body.woocommerce-checkout #shipping_method, body.woocommerce-cart #shipping_method {
	list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 10px;
}
body.woocommerce-checkout #shipping_method li, body.woocommerce-cart #shipping_method li { position: relative; margin: 0 !important; padding: 0 !important; text-align: left; list-style: none !important; }
/* native radio kept for keyboard + screen readers, drawn as the ring inside the card */
body.woocommerce-checkout #shipping_method li > input.shipping_method, body.woocommerce-cart #shipping_method li > input.shipping_method {
	position: absolute !important; left: 16px; top: 50%; transform: translateY(-50%); width: 18px !important; height: 18px !important;
	margin: 0 !important; opacity: 0; z-index: 2; cursor: pointer;
}
body.woocommerce-checkout #shipping_method li > label, body.woocommerce-cart #shipping_method li > label {
	display: block !important; margin: 0 !important; padding: 14px 16px 14px 46px !important; cursor: pointer; position: relative;
	background: var(--lp-paper); border: 1px solid var(--lp-line-2); border-radius: 12px; font-weight: 400 !important;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
body.woocommerce-checkout #shipping_method li > label::before, body.woocommerce-cart #shipping_method li > label::before {
	content: ""; position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; box-sizing: border-box;
	border-radius: 50%; border: 2px solid #CFC6AC; background: #fff; transition: border-color .15s ease, box-shadow .15s ease;
}
body.woocommerce-checkout #shipping_method li > label:hover, body.woocommerce-cart #shipping_method li > label:hover { border-color: var(--lp-gold); transform: translateY(-1px); box-shadow: var(--lp-shadow); }
body.woocommerce-checkout #shipping_method li:has(input:checked) > label, body.woocommerce-cart #shipping_method li:has(input:checked) > label,
body.woocommerce-checkout #shipping_method li:has(input[type=hidden]) > label, body.woocommerce-cart #shipping_method li:has(input[type=hidden]) > label {
	border-color: var(--lp-gold); background: var(--lp-gold-soft); box-shadow: 0 0 0 1px var(--lp-gold) inset;
}
body.woocommerce-checkout #shipping_method li:has(input:checked) > label::before, body.woocommerce-cart #shipping_method li:has(input:checked) > label::before {
	border-color: var(--lp-gold-d); box-shadow: inset 0 0 0 4px #fff; background: var(--lp-gold-d);
}
body.woocommerce-checkout #shipping_method li:has(input[type=hidden]) > label, body.woocommerce-cart #shipping_method li:has(input[type=hidden]) > label { padding-left: 16px !important; }
body.woocommerce-checkout #shipping_method li:has(input[type=hidden]) > label::before, body.woocommerce-cart #shipping_method li:has(input[type=hidden]) > label::before { display: none; }
body.woocommerce-checkout #shipping_method li:has(input:focus-visible) > label, body.woocommerce-cart #shipping_method li:has(input:focus-visible) > label { outline: 3px solid rgba(211, 163, 44, .45); outline-offset: 2px; }
.lp-ship { display: flex; align-items: center; gap: 12px; width: 100%; }
.lp-ship__ic {
	flex: 0 0 40px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
	border-radius: 10px; background: var(--lp-cream); border: 1px solid var(--lp-line-2); color: var(--lp-gold-d);
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lp-ship__ic svg { display: block; }
#shipping_method li:has(input:checked) .lp-ship__ic, #shipping_method li:has(input[type=hidden]) .lp-ship__ic { background: var(--lp-black); border-color: var(--lp-black); color: var(--lp-gold); }
.lp-ship__txt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.lp-ship__name { font-size: 15px; font-weight: 700; color: var(--lp-ink); line-height: 1.25; }
.lp-ship__meta { font-size: 12.5px; font-weight: 500; color: var(--lp-muted); line-height: 1.35; }
.lp-ship__price {
	flex: 0 0 auto; white-space: nowrap; font-size: 14px; font-weight: 700; color: var(--lp-ink); line-height: 1;
	padding: 8px 11px; border-radius: 999px; background: var(--lp-cream); border: 1px solid var(--lp-line-2);
}
.lp-ship__price .amount, .lp-ship__price bdi { color: inherit !important; font-weight: inherit !important; }
#shipping_method li:has(input:checked) .lp-ship__price { background: #fff; border-color: var(--lp-gold); }
.lp-ship__price--free { background: var(--lp-gold) !important; border-color: var(--lp-gold) !important; color: var(--lp-black); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
/* cart: "Shipping to …" line and calculator link under the cards */
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination { margin: 12px 0 0 !important; font-size: 13px; color: var(--lp-muted); text-align: left; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-calculator { text-align: left; }
body.woocommerce-cart .cart_totals .shipping-calculator-button { color: var(--lp-gold-d) !important; font-weight: 600; font-size: 13px; }
@media (max-width: 400px) {
	.lp-ship { gap: 10px; }
	.lp-ship__ic { flex-basis: 34px; width: 34px; height: 34px; }
	body.woocommerce-checkout #shipping_method li > label, body.woocommerce-cart #shipping_method li > label { padding: 12px 12px 12px 40px !important; }
	body.woocommerce-checkout #shipping_method li > input.shipping_method, body.woocommerce-cart #shipping_method li > input.shipping_method,
	body.woocommerce-checkout #shipping_method li > label::before, body.woocommerce-cart #shipping_method li > label::before { left: 12px; }
}
@media (prefers-reduced-motion: reduce) { #shipping_method li > label { transition: none !important; transform: none !important; } }

/* ---------------------------------------------------------------------------
 * Checkout responsiveness pass (2026-09-25): scratch/lp-co-resp.mjs, widths 320-1920.
 * ------------------------------------------------------------------------- */
/* payment details box: it is indented 28px, so it must not also take the full width (poked 9px out of its card at every width) */
body.woocommerce-checkout .pp-woo-checkout #payment div.payment_box { width: auto !important; max-width: calc(100% - 28px); box-sizing: border-box; }
@media (max-width: 600px) {
	/* order summary stays inside its card: the product cell may shrink (a plugin gives it min-width:150px), prices stack */
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table { table-layout: fixed; width: 100% !important; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-name { min-width: 0 !important; gap: 10px; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-total { width: 96px; white-space: normal; overflow-wrap: normal; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-total del { display: block; margin: 0 0 2px !important; font-size: 12px; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-total .amount { white-space: nowrap; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-name .product-quantity { font-size: 13px; }
	body.woocommerce-checkout .lp-co-thumb { flex-basis: 44px; }
	body.woocommerce-checkout .lp-co-thumb img { width: 44px !important; height: 44px !important; }
	body.woocommerce-checkout .lp-co-name { font-size: 14px; }
	/* comfortable tap target for the coupon link */
	body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon { display: inline-block; padding: 6px 0; }
}
/* bigger tap targets: the whole payment card selects its method; the ship-to-different row is a 44px target */
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li.wc_payment_method > label::after { content: ""; position: absolute; inset: 0; z-index: 1; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li.wc_payment_method > input.input-radio { position: relative; z-index: 2; }
body.woocommerce-checkout .pp-woo-checkout #payment ul.payment_methods li.wc_payment_method .payment_box { position: relative; z-index: 2; }
body.woocommerce-checkout #ship-to-different-address label { display: inline-flex !important; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox { display: inline-block; padding: 12px 0; cursor: pointer; }
@media (max-width: 480px) {
	/* small phones: thumbnail | name, with the quantity under the name, so names never break mid-word */
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-name { display: grid !important; grid-template-columns: 40px minmax(0, 1fr); column-gap: 10px; row-gap: 2px; align-items: center; align-content: center; }
	body.woocommerce-checkout .lp-co-thumb { grid-column: 1; grid-row: 1 / span 2; }
	body.woocommerce-checkout .lp-co-thumb img { width: 40px !important; height: 40px !important; }
	body.woocommerce-checkout .lp-co-name { grid-column: 2; grid-row: 1; align-self: end; font-size: 13px; line-height: 1.3; overflow-wrap: break-word; hyphens: auto; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-name .product-quantity { grid-column: 2; grid-row: 2; align-self: start; font-size: 12px; }
	body.woocommerce-checkout .pp-woo-checkout table.woocommerce-checkout-review-order-table td.product-total { width: 86px; }
}
