/* =====================================================================
   Blank Media — Checkout Polish
   Presentation-only cleanup. No business logic is affected.

   - CHECKOUT (classic `dl.variation` review table): full-width panel,
     extended title, readable labelled meta with the rush info callouts.
   - CART page (now classic — converted from the block cart): line-item
     meta styled to match the checkout, plus a "formal quote" CTA box
     above the proceed-to-checkout button.
   - MINI-CART fly-out: line-item attributes hidden — shows only the
     product, price and quantity.
   ===================================================================== */


/* =====================================================================
   CHECKOUT REVIEW (classic) — table.woocommerce-checkout-review-order-table
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. Full-width meta panel + extended title — without touching columns.
   The line-item meta sits in the product-name cell (~50% of the table)
   while the price column beside it is mostly empty below the amount.
   Extend the panel (and title) into that empty space. This does NOT
   change the shared `table-layout: fixed` column widths — an earlier
   66/34 rebalance did, and it clipped the delivery-option prices.

   Applies at all widths: this table stays two-column even on phones, so
   mobile had the same cramped half-width panel. Widths are cell-relative
   so they scale down without horizontal overflow.
   --------------------------------------------------------------------- */
.woocommerce-checkout-review-order-table td.product-name {
	padding-bottom: 16px;
	overflow: visible;
}

.woocommerce-checkout-review-order-table td.product-name dl.variation {
	width: calc(200% + 28px) !important;
}

/* Title — extend into the empty space before the price. The title is a
   block-formatting-context (overflow:hidden) which would drop below the
   thumbnail when widened; overflow:visible lets it wrap beside it. The
   -120px reserve keeps a safe gap before the right-aligned price. */
.woocommerce-checkout-review-order-table td.product-name .cg-checkout-table-product-name {
	overflow: visible;
	width: calc(200% - 120px) !important;
}

/* ---------------------------------------------------------------------
   2. Readable line-item meta — type, rhythm, labels, separators.
   The theme renders dl.variation as a tight grey panel (6/10px padding,
   12px text, dt/dd at margin:0). Selectors mirror the theme's
   "td.product-name dl …" reset path and add ".variation" so our rules
   win on specificity.
   --------------------------------------------------------------------- */
.woocommerce-checkout-review-order-table td.product-name dl.variation {
	padding: 14px 16px;
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.55;
	border-radius: 10px;
}

/* Labels → small uppercase captions with a hairline separator above. */
.woocommerce-checkout-review-order-table td.product-name dl.variation dt {
	float: none;
	clear: both;
	width: auto;
	margin: 14px 0 3px;
	padding: 14px 0 0;
	border-top: 1px solid rgba(15, 23, 42, 0.09);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #64748b;
}

.woocommerce-checkout-review-order-table td.product-name dl.variation dt:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

/* Values → larger, darker. */
.woocommerce-checkout-review-order-table td.product-name dl.variation dd {
	float: none;
	margin: 0;
	padding: 0;
	font-size: 14.5px;
	line-height: 1.5;
	font-weight: 500;
	color: #1e293b;
}

.woocommerce-checkout-review-order-table td.product-name dl.variation dd p {
	margin: 0;
}

/* Hide the stray empty-label colons (rush plugin pushes empty-key rows →
   WooCommerce renders a lone "<dt>:</dt>", class token "variation-"). */
.woocommerce-checkout-review-order-table td.product-name dl.variation dt[class~="variation-"] {
	display: none;
}

.woocommerce-checkout-review-order-table td.product-name dl.variation dd[class~="variation-"] {
	margin: 0;
}

/* ---------------------------------------------------------------------
   3. Harmonise the rush/TAT info callouts (inline-styled <div>s in a dd;
   regular values are <p>, so `dd > div` targets only the callouts).
   --------------------------------------------------------------------- */
.woocommerce-checkout-review-order-table td.product-name dl.variation dd > div {
	max-width: none !important;
	margin-top: 10px !important;
	padding: 11px 13px !important;
	border-color: #cfe0f1 !important;
	background: #f3f8fd !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #0c447c !important;
}


/* =====================================================================
   CART PAGE (Blocks) + MINI-CART — show only product, price, quantity
   ===================================================================== */

/* ---------------------------------------------------------------------
   4. Mini-cart fly-out — hide the line-item attributes (shows only
   product / price / qty). The cart page itself is now classic and is
   styled in section 6 below instead of hidden.
   --------------------------------------------------------------------- */
.woocommerce-mini-cart dl.variation {
	display: none !important;
}

/* ---------------------------------------------------------------------
   5. Mini-cart fly-out sale price.
   ROOT CAUSE of the mobile clipping: the theme sets the cart item itself
   to `overflow: hidden`
     (.shoptimizer-mini-cart-wrap .widget_shopping_cart li.mini_cart_item),
   and the price is the last line in the item, so on narrow widths it gets
   clipped. The drawer's scroll lives on the parent list, not the item, so
   the item doesn't need overflow:hidden — let it show its content.
   Sale items render "<qty> × <del>old</del> <ins>new</ins>"; also keep the
   struck price small/muted and the sale price prominent.
   --------------------------------------------------------------------- */
.shoptimizer-mini-cart-wrap .widget_shopping_cart li.mini_cart_item,
.woocommerce-mini-cart-item {
	overflow: visible !important;
}

/* The price line: pin sizes + line-height so a mobile theme rule can't
   enlarge it past its line box (which clipped the struck price's top), and
   keep auto height / visible overflow so nothing can crop it. */
.woocommerce-mini-cart-item .quantity {
	display: block !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	font-size: 13px !important;
	line-height: 1.9 !important;
	padding: 3px 0 !important;
	white-space: normal !important;
}

.woocommerce-mini-cart-item .quantity del,
.woocommerce-mini-cart-item .quantity del * {
	font-size: 12px !important;
	line-height: 1.9 !important;
	font-weight: 400 !important;
	opacity: 0.5;
	vertical-align: baseline !important;
}

.woocommerce-mini-cart-item .quantity ins,
.woocommerce-mini-cart-item .quantity ins * {
	font-size: 15px !important;
	line-height: 1.9 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	vertical-align: baseline !important;
}


/* =====================================================================
   CART PAGE (classic) — form.woocommerce-cart-form
   ===================================================================== */

/* ---------------------------------------------------------------------
   6. Line-item meta — styled to match the checkout review.
   The classic cart renders the same dl.variation as the checkout (and,
   unlike the block cart, keeps the rush callouts as real <div>s, so they
   box up properly). Same look: grey panel, uppercase caption labels,
   hairline separators, hidden empty-label colons, boxed callouts.
   No full-width hack here — the cart table has its own column layout.
   --------------------------------------------------------------------- */
.woocommerce-cart-form td.product-name dl.variation {
	padding: 14px 16px;
	margin: 12px 0 0;
	background: #f1f5f9;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.55;
}

.woocommerce-cart-form td.product-name dl.variation dt {
	display: block;          /* theme sets dt/dd inline → forces a run-on; stack them */
	float: none;
	clear: both;
	width: auto;
	margin: 14px 0 3px;
	padding: 14px 0 0;
	border-top: 1px solid rgba(15, 23, 42, 0.09);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #64748b;
}

.woocommerce-cart-form td.product-name dl.variation dt:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.woocommerce-cart-form td.product-name dl.variation dd {
	display: block;
	float: none;
	margin: 0;
	padding: 0;
	font-size: 14.5px;
	line-height: 1.5;
	font-weight: 500;
	color: #1e293b;
}

.woocommerce-cart-form td.product-name dl.variation dd p {
	margin: 0;
}

/* !important: the theme's `dl.variation dt { display: inline }` plus our own
   `dt { display: block }` would otherwise re-show these empty-key colon rows. */
.woocommerce-cart-form td.product-name dl.variation dt[class~="variation-"] {
	display: none !important;
}

.woocommerce-cart-form td.product-name dl.variation dd[class~="variation-"] {
	margin: 0;
}

.woocommerce-cart-form td.product-name dl.variation dd > div {
	max-width: none !important;
	margin-top: 10px !important;
	padding: 11px 13px !important;
	border-color: #cfe0f1 !important;
	background: #f3f8fd !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #0c447c !important;
}

/* ---------------------------------------------------------------------
   7. "Formal quote" CTA box, above the proceed-to-checkout button.
   Rendered as a real element by PHP (woocommerce_proceed_to_checkout) —
   NOT a ::before pseudo-element — because CommerceKit AJAX-re-renders the
   cart totals (`.cart_totals.calculated_shipping`) and a pseudo-element
   did not reliably survive that. (The old Customizer rule that targeted
   the block cart's `.wc-block-cart__submit-container::before` is now inert
   and can be deleted.)
   --------------------------------------------------------------------- */
.woocommerce-cart .bm-quote-notice {
	margin-bottom: 14px;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 700;
	font-family: 'Montserrat', system-ui, sans-serif;
	background: #f4f7ff;
	color: #0f172a;
	border: 1px solid #bdd5f0;
	border-radius: 10px;
}

/* ---------------------------------------------------------------------
   8. Cart UX — delivery deferred to checkout, locked quantities.
   Tier pricing is resolved at checkout, so the cart shows fixed
   quantities and defers the delivery/collection choice to the next step.
   --------------------------------------------------------------------- */

/* Hide the delivery/shipping options row in the cart totals. The notice
   that replaces it is rendered server-side (PHP) into the totals table
   and styled below. */
.cart_totals tr.woocommerce-shipping-totals.shipping {
	display: none !important;
}

.cart_totals tr.bm-delivery-notice td {
	padding: 11px 13px;
	background: #f4f7ff;
	border: 1px solid #bdd5f0;
	border-radius: 10px;
	font-size: 13.5px;
	line-height: 1.5;
	color: #0f172a;
}

/* Lock the quantity: keep the box visible but non-interactive, and remove
   the +/- stepper. The delete (remove) control is in a separate cell and
   is untouched. */
.woocommerce-cart td.product-quantity .quantity-nav,
.woocommerce-cart td.product-quantity .plus,
.woocommerce-cart td.product-quantity .minus {
	display: none !important;
}

.woocommerce-cart td.product-quantity input.qty {
	pointer-events: none;
	background: #f1f5f9;
	color: #334155;
}

/* The Update-basket button has no purpose once quantities are locked. */
.woocommerce-cart .actions button[name="update_cart"],
.woocommerce-cart .actions input[name="update_cart"] {
	display: none !important;
}
