/* Dr. Monroe 2.1.4: cart + checkout styles. Overrides "One page checkout and layouts for
 * WooCommerce" (CCLW). !important only where the plugin uses it or out-specifies us. */

/* 1. Layout: contain the plugin's floated columns so the footer can't rise under the form */
.checkout-two-column-layout, .cclw_opc_main { display: flow-root; overflow: visible; }
.checkout-two-column-layout::after, .cclw_opc_main::after { content: ""; display: table; clear: both; }
.woocommerce-checkout .site-main, .woocommerce-cart .site-main { padding-bottom: 56px; }
.site-footer { clear: both; position: relative; }
.checkout-two-column-layout .two-column-layout-left,
.checkout-two-column-layout .two-column-layout-right { box-sizing: border-box; }
.checkout-two-column-layout .two-column-layout-right { background: var(--cream-light, #fbf8f0) !important; border: 1px solid var(--gold-line); padding: 20px; }
@media (min-width: 981px) {
	.checkout-two-column-layout .two-column-layout-left { width: 60% !important; padding-right: 32px; }
	.checkout-two-column-layout .two-column-layout-right { width: 40% !important; }
}
@media (max-width: 980px) { /* stacked, as on phones today */
	.checkout-two-column-layout .two-column-layout-left,
	.checkout-two-column-layout .two-column-layout-right { float: none !important; width: 100% !important; margin: 0 0 24px; }
}

/* 2. Readable labels and fields */
.woocommerce-checkout form.checkout label { color: var(--green, #1f3a2b); font-size: 15px; }
.woocommerce-checkout .required { color: var(--gold-deep) !important; font-size: 1em; text-decoration: none; }

/* 3. Section headings (BILLING DETAILS / REVIEW YOUR ORDERS / PAY HERE) */
.woocommerce-checkout .border_html { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--gold-line) !important; box-shadow: none !important; padding: 0 0 10px !important; margin-bottom: 18px; }
.woocommerce-checkout .border_html::before { display: none !important; }
.woocommerce-checkout .border_html, .woocommerce-checkout .border_html * { color: var(--green, #1f3a2b) !important; letter-spacing: .12em; text-transform: uppercase; font-size: 15px; font-weight: 500; }

/* 4. Order review table */
#cclw_order_details_table, .woocommerce-checkout-review-order-table { background: #fff !important; border: 1px solid var(--gold-line) !important; border-collapse: collapse; width: 100%; }
#cclw_order_details_table th, .woocommerce-checkout-review-order-table th { background: var(--green, #1f3a2b) !important; color: var(--gold) !important; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; }
#cclw_order_details_table td, .woocommerce-checkout-review-order-table td { background: #fff !important; color: var(--green, #1f3a2b) !important; vertical-align: middle; }
#cclw_order_details_table .amount, .woocommerce-checkout-review-order-table .amount { color: var(--green, #1f3a2b) !important; font-weight: 500; }
#cclw_order_details_table td img { width: 56px; height: auto; margin-right: 10px; vertical-align: middle; display: inline-block; }
#cclw_order_details_table .product-name { display: table-cell; }
#cclw_order_details_table a.remove, .woocommerce-checkout a.remove { color: var(--gold-deep) !important; background: transparent !important; border: 1px solid var(--gold-line); border-radius: 50%; }
#cclw_order_details_table a.remove:hover { color: #fff !important; background: var(--green, #1f3a2b) !important; }
#cclw_order_details_table input.qty { width: 4em; text-align: center; }

/* 5. Links + coupon bar in brand colors (plugin uses blue #1e85be) */
.woocommerce-checkout .woocommerce a, .woocommerce-cart .woocommerce a { color: var(--gold-deep) !important; }
.woocommerce-checkout .woocommerce a:hover { color: var(--green, #1f3a2b) !important; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info { background: var(--cream-light, #fbf8f0) !important; color: var(--green, #1f3a2b) !important; border-top: 3px solid var(--gold) !important; padding: 14px 18px !important; }
.woocommerce-checkout .woocommerce-info::before { display: none !important; } /* no overlapping icon */

/* 6. No payment method switched on yet: hide cards + pay button, show one clear note */
.drm-no-gateway #place_order,
.drm-no-gateway .woocommerce-checkout-payment .place-order .button { display: none !important; }
.drm-no-gateway .wc_payment_methods .woocommerce-info { list-style: none; margin: 0 0 12px; border: 1px solid var(--gold-line) !important; border-left: 4px solid var(--gold) !important; background: #fff !important; font-size: 15px; line-height: 1.6; }
.drm-gateway-note { padding: 14px 18px; background: #fff; border-left: 4px solid var(--gold); color: var(--green, #1f3a2b); }

/* 7. Footer next to checkout: never clipped */
.woocommerce-checkout .site-footer { overflow: hidden; }

/* Gold accents like the plugin's bars, using the theme gold */
.woocommerce-checkout .border_html { border-left: 4px solid var(--gold) !important; padding-left: 12px !important; border-bottom-color: var(--gold-line) !important; }
.woocommerce-checkout .cards-accepted { border-top: 2px solid var(--gold); padding-top: 10px; }
.cards-list img:hover { border-color: var(--gold); }

/* 2.1.5 polish. Colour-only changes, plus thumbnail beside name; mobile stacking (section 1) untouched. */
/* Section headings: green band, gold left bar, cream text */
.woocommerce-checkout .border_html { background: var(--green, #1f3a2b) !important; border: 0 !important; border-left: 4px solid var(--gold) !important; padding: 10px 14px !important; border-radius: 2px; }
.woocommerce-checkout .border_html, .woocommerce-checkout .border_html * { color: #fbf8f0 !important; background: transparent; }
/* Order table: cream body, green header row with cream text, gold accents */
#cclw_order_details_table, .woocommerce-checkout-review-order-table { background: #fffdf7 !important; border: 1px solid var(--gold-line) !important; }
#cclw_order_details_table thead th, #cclw_order_details_table tr:first-child th,
.woocommerce-checkout-review-order-table thead th { background: var(--green, #1f3a2b) !important; color: #fbf8f0 !important; border-bottom: 2px solid var(--gold) !important; }
#cclw_order_details_table td, .woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table tfoot th { background: #fffdf7 !important; color: var(--green, #1f3a2b) !important; border-color: var(--gold-line) !important; }
.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout-review-order-table tfoot .order-total td { border-top: 2px solid var(--gold) !important; }
/* Thumbnail beside the product name, vertically centred */
#cclw_order_details_table td.product-name, #cclw_order_details_table td.product-thumbnail + td { vertical-align: middle; }
#cclw_order_details_table td.product-name .cclw_product_name, #cclw_order_details_table .product-name > div,
#cclw_order_details_table .cclw-product-info { display: flex; align-items: center; gap: 10px; flex-wrap: nowrap; }
#cclw_order_details_table td img { display: inline-block !important; float: left; width: 56px; margin: 0 10px 0 0; vertical-align: middle; }
#cclw_order_details_table td img + br { display: none; }
/* Remove (x): gold, subtle hover */
#cclw_order_details_table a.remove, .woocommerce-checkout a.remove, .woocommerce-cart a.remove { color: var(--gold-deep) !important; background: transparent !important; border: 1px solid var(--gold-line) !important; }
#cclw_order_details_table a.remove:hover, .woocommerce-checkout a.remove:hover, .woocommerce-cart a.remove:hover { color: var(--gold) !important; background: rgba(var(--gold-rgb), .12) !important; border-color: var(--gold) !important; }
.drm-gateway-msg { display: block; }

/* ===== 2.1.6 ===== */
/* A. Table fits its column (no REMOVE column poking out). */
.checkout-two-column-layout .two-column-layout-right { overflow-x: auto; max-width: 100%; }
body.woocommerce-checkout table#cclw_order_details_table,
body.woocommerce-checkout .woocommerce-checkout-review-order-table table.onestepcheckout-summary { width: 100% !important; max-width: 100% !important; table-layout: auto; box-sizing: border-box; margin: 0 !important; }
body.woocommerce-checkout #cclw_order_details_table th, body.woocommerce-checkout #cclw_order_details_table td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th, body.woocommerce-checkout .woocommerce-checkout-review-order-table td { box-sizing: border-box; padding: 10px 8px !important; word-break: normal; overflow-wrap: anywhere; }
body.woocommerce-checkout #cclw_order_details_table td.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { white-space: normal !important; min-width: 0; }
body.woocommerce-checkout #cclw_order_details_table .product-remove,
body.woocommerce-checkout #cclw_order_details_table td:last-child { width: 36px; padding-right: 6px !important; text-align: center; }
body.woocommerce-checkout #cclw_order_details_table input.qty { max-width: 3.6em; }

/* B. Thumbnail LEFT of the name, vertically centred.
   Case 1: <td class="product-name"><img ...>[<br>]Name ...</td>  (img inside the name cell)
   Case 2: <td class="product-thumbnail"><a><img></a></td><td class="product-name">Name</td>
   Case 3: CCLW wrapper <div|span class="...thumb/image...">img</div> above the name text. */
body.woocommerce-checkout #cclw_order_details_table td.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { display: table-cell !important; vertical-align: middle !important; text-align: left; }
/* checkout.js wraps the cell's contents in .drm-pn so the cell stays a real table cell (a flex <td> breaks column alignment). */
body.woocommerce-checkout td.product-name .drm-pn { display: flex; align-items: center; gap: 10px; min-width: 0; }
body.woocommerce-checkout td.product-name .drm-pn-text { min-width: 0; flex: 1 1 auto; }
/* Fallback before/without JS: float the image left of the text. */
body.woocommerce-checkout td.product-name:not(:has(.drm-pn)) img { float: left !important; margin: 0 10px 0 0 !important; }
body.woocommerce-checkout #cclw_order_details_table td.product-name > br,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name > br { display: none !important; }
body.woocommerce-checkout #cclw_order_details_table td.product-name img,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name img,
body.woocommerce-checkout #cclw_order_details_table td.product-thumbnail img,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-thumbnail img { display: inline-block !important; float: none !important; flex: 0 0 52px; width: 52px !important; max-width: 52px !important; height: auto !important; margin: 0 !important; vertical-align: middle; }
body.woocommerce-checkout #cclw_order_details_table td.product-name > a:has(img),
body.woocommerce-checkout #cclw_order_details_table td.product-name > div:has(> img),
body.woocommerce-checkout #cclw_order_details_table td.product-name > span:has(> img),
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name > a:has(img),
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name > div:has(> img),
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name > span:has(> img) { display: inline-flex !important; flex: 0 0 auto; width: auto !important; margin: 0 !important; }
body.woocommerce-checkout #cclw_order_details_table td.product-thumbnail,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-thumbnail { width: 64px; vertical-align: middle !important; }
/* If both a thumbnail cell and an image inside the name cell exist, show only the cell one. */
body.woocommerce-checkout tr:has(td.product-thumbnail img) td.product-name img { display: none !important; }
body.woocommerce-checkout #cclw_order_details_table td.product-name dl.variation,
body.woocommerce-checkout #cclw_order_details_table td.product-name .product-quantity { margin: 0; }

/* C. Remove (x): gold with a ring, beats WooCommerce's red (.woocommerce a.remove {color:red!important}). */
html body.woocommerce-checkout .woocommerce a.remove,
html body.woocommerce-checkout table.shop_table td.product-remove a.remove,
html body.woocommerce-checkout #cclw_order_details_table a.remove,
html body.woocommerce-checkout #cclw_order_details_table td a[class*="remove"],
html body.woocommerce-cart .woocommerce table.shop_table td.product-remove a.remove {
	color: var(--gold-deep) !important; background: transparent !important; border: 1px solid var(--gold-line) !important;
	border-radius: 50% !important; width: 22px !important; height: 22px !important; line-height: 20px !important;
	display: inline-flex !important; align-items: center; justify-content: center; font-size: 16px !important; font-weight: 400 !important;
	text-decoration: none !important; box-shadow: none !important; box-sizing: border-box;
}
html body.woocommerce-checkout #cclw_order_details_table a.remove::before,
html body.woocommerce-checkout #cclw_order_details_table td a[class*="remove"]::before,
html body.woocommerce-checkout #cclw_order_details_table a.remove *,
html body.woocommerce-checkout #cclw_order_details_table td a[class*="remove"] * { color: var(--gold-deep) !important; fill: currentColor !important; stroke: currentColor !important; background: transparent !important; }
html body.woocommerce-checkout .woocommerce a.remove:hover,
html body.woocommerce-checkout #cclw_order_details_table a.remove:hover,
html body.woocommerce-checkout #cclw_order_details_table td a[class*="remove"]:hover,
html body.woocommerce-cart .woocommerce table.shop_table td.product-remove a.remove:hover { color: var(--gold) !important; background: rgba(var(--gold-rgb), .14) !important; border-color: var(--gold) !important; }

/* D. 2.1.7: card logos always show (checkout included). With no payment method on, hide the
   method list (its duplicate "no methods" message too) and the pay button; our note shows under the logos. */
.drm-no-gateway .woocommerce-checkout-payment ul.wc_payment_methods,
.drm-no-gateway #payment ul.payment_methods,
.drm-no-gateway #place_order,
.drm-no-gateway .woocommerce-checkout-payment .place-order .button { display: none !important; }
.drm-checkout-cards { margin: 0 0 16px; }
.drm-checkout-cards .cards-accepted, .drm-no-gateway .drm-checkout-cards .cards-accepted { display: flex !important; }
.drm-checkout-cards .drm-gateway-note { margin-top: 10px; font-size: 15px; line-height: 1.6; border: 1px solid var(--gold-line); border-left: 4px solid var(--gold); }

/* ===== 2.1.8: exact CCLW markup (.woocommerce-checkout-review-order-table table.onestepcheckout-summary, td.thumb / td.cclw_qty / td.total / td.removepro, name row td.name.more_details) ===== */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary { width: 100% !important; max-width: 100% !important; table-layout: auto !important; box-sizing: border-box; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th, html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td { box-sizing: border-box; padding: 8px 6px !important; }
/* 3. Headers: smaller, no mid-word breaks */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th { font-size: 11px !important; letter-spacing: .06em !important; white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; hyphens: none; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th.removepro, html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.removepro { width: 1%; white-space: nowrap; text-align: center; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.cclw_qty, html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.total { white-space: nowrap; overflow-wrap: normal !important; word-break: normal !important; }
/* 1. Thumbnail beside name (JS builds .drm-thumb-row inside td.thumb) */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.thumb { vertical-align: middle !important; white-space: normal !important; text-align: left !important; width: auto; overflow-wrap: break-word; word-break: normal; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-row { display: flex; align-items: center; gap: 10px; min-width: 0; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img { flex: 0 0 52px; line-height: 0; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img img { display: block !important; width: 52px !important; max-width: 52px !important; height: auto !important; float: none !important; margin: 0 !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-name { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 1.35; color: var(--green, #1f3a2b); text-align: left; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr.drm-name-row-moved { display: none !important; }
/* 2. Remove (x): gold, beats plugin red and .woocommerce a.remove{color:red!important} */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.removepro a.cclw_remove,
html body .woocommerce table.shop_table td.removepro a.cclw_remove,
html body a.cclw_remove {
	color: var(--gold-deep) !important; -webkit-text-fill-color: var(--gold-deep) !important;
	background: transparent !important; border: 1px solid var(--gold-line) !important; border-radius: 50% !important;
	width: 22px !important; height: 22px !important; line-height: 20px !important; display: inline-flex !important;
	align-items: center; justify-content: center; font-size: 14px !important; text-decoration: none !important; box-shadow: none !important; box-sizing: border-box;
}
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.removepro a.cclw_remove *, html body a.cclw_remove *,
html body a.cclw_remove::before, html body a.cclw_remove::after { color: inherit !important; -webkit-text-fill-color: currentColor !important; fill: currentColor !important; stroke: currentColor !important; background: transparent !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.removepro a.cclw_remove:hover, html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.removepro a.cclw_remove:focus,
html body a.cclw_remove:hover, html body a.cclw_remove:focus { color: var(--gold) !important; -webkit-text-fill-color: var(--gold) !important; background: rgba(var(--gold-rgb), .14) !important; border-color: var(--gold) !important; }
/* 4. Being-activated note: readable when it wraps in the narrow column */
.drm-checkout-cards .drm-gateway-note { font-size: 14px; line-height: 1.55; overflow-wrap: break-word; }
@media (max-width: 480px) {
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img { flex-basis: 44px; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img img { width: 44px !important; max-width: 44px !important; }
}

/* ===== 2.1.9: wide thumb column so image sits beside name; headers never break mid-word ===== */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary { table-layout: auto !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.thumb,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th.thumb,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .product-thumbnail,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .product-name { width: 60% !important; min-width: 160px !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.cclw_qty,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th.cclw_qty,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .product-quantity { width: 1% !important; white-space: nowrap !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.total,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th.total,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .product-total { width: 1% !important; white-space: nowrap !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th *,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead td { white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; hyphens: none !important; font-size: 11px !important; letter-spacing: .04em !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-row { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 10px; width: 100%; min-width: 0; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-row > * { min-width: 0; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img { flex: 0 0 56px !important; width: 56px; flex-shrink: 0 !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img img { width: 56px !important; max-width: 56px !important; height: auto !important; object-fit: contain; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-name { flex: 1 1 auto !important; min-width: 0 !important; overflow-wrap: break-word; word-break: normal !important; hyphens: none; }
@media (max-width: 480px) {
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.thumb,
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .product-thumbnail { min-width: 130px !important; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th,
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td { padding: 6px 4px !important; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th { font-size: 10px !important; letter-spacing: .02em !important; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-row { gap: 8px; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img { flex-basis: 44px !important; width: 44px; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img img { width: 44px !important; max-width: 44px !important; }
	html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-name { font-size: 13px; }
	html body .woocommerce-checkout-review-order, html body #order_review { overflow-x: hidden; max-width: 100%; }
}

/* ===== 2.1.10: card-style rows for the narrow (~264-400px) sidebar order table.
   Table becomes block; each row is a flex/grid row so cell widths no longer fight. ===== */
html body #order_review, html body .woocommerce-checkout-review-order { width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary { display: block !important; width: 100% !important; min-width: 0 !important; table-layout: auto !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary > thead,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary > tbody,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary > tfoot { display: block !important; width: 100% !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr { display: flex !important; flex-wrap: nowrap; align-items: center; width: 100% !important; box-sizing: border-box; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary th,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td { display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important; }
/* Header row: PRODUCT grows, others compact; full words only */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead td,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th *,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead td * { white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; hyphens: none !important; font-size: 10px !important; letter-spacing: .03em !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr > :first-child { flex: 1 1 auto !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr > :not(:first-child) { flex: 0 0 auto !important; padding: 8px 5px !important; }
/* Item rows: grid  [thumb+name ............ x]
                    [qty ............... total] */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) {
	display: grid !important; grid-template-columns: minmax(0,1fr) auto !important;
	grid-template-areas: "thumb remove" "qty total" !important; align-items: center; column-gap: 6px;
}
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.thumb { grid-area: thumb; min-width: 0 !important; width: auto !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.removepro { grid-area: remove; width: auto !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.cclw_qty { grid-area: qty; justify-self: start; padding-left: 72px !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.total { grid-area: total; justify-self: end; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-row { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 10px !important; width: 100% !important; min-width: 0 !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img { flex: 0 0 52px !important; width: 52px !important; flex-shrink: 0 !important; position: static !important; float: none !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-img img { width: 52px !important; max-width: 52px !important; height: auto !important; object-fit: contain; position: static !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .drm-thumb-name { flex: 1 1 auto !important; min-width: 0 !important; position: static !important; float: none !important; word-break: normal !important; overflow-wrap: break-word !important; hyphens: none; }
/* Totals: never split numbers */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.total,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.total *,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .amount,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot td,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot td * { white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; }
/* Footer rows (Subtotal / Shipping / Total): label left, value right */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot tr { justify-content: space-between; flex-wrap: wrap; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot th { flex: 1 1 auto; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot td { flex: 0 0 auto; text-align: right; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot tr.woocommerce-shipping-totals td { flex: 1 1 100%; white-space: normal !important; text-align: left; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot tr.woocommerce-shipping-totals td * { white-space: normal !important; }

/* ===== 2.1.12: real markup is div.shop_table.woocommerce-checkout-review-order-table > table.onestepcheckout-summary.cclw-style-1 ===== */
html body div.woocommerce-checkout-review-order-table,
html body #order_review .woocommerce-checkout-review-order-table { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; box-sizing: border-box; overflow: visible; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary { display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; margin: 0 !important; }

/* ===== 2.1.13: full line-item Total + readable headers in the ~262px sidebar ===== */
html body #order_review, html body .woocommerce-checkout-review-order, html body div.woocommerce-checkout-review-order-table { width: 100% !important; max-width: none !important; min-width: 0 !important; box-sizing: border-box !important; padding-left: 0 !important; padding-right: 0 !important; overflow: visible !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary { width: 100% !important; max-width: none !important; overflow: visible !important; }
/* Product rows: col 1 flexes, col 2 fits remove (line 1) and total (line 2) */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) {
	grid-template-columns: minmax(0,1fr) minmax(76px, max-content) !important; column-gap: 4px !important;
}
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.removepro { justify-self: end; min-width: 32px !important; padding: 6px 2px !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.cclw_qty { min-width: 40px !important; padding: 4px 4px 8px 62px !important; overflow: visible !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tr:has(> td.thumb) > td.total { justify-self: end; min-width: 76px !important; padding: 4px 4px 8px !important; text-align: right !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.total,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary td.total *,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .amount,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary .woocommerce-Price-amount,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot td,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary tfoot td * {
	white-space: nowrap !important; overflow: visible !important; text-overflow: clip !important; max-width: none !important; width: auto !important; word-break: keep-all !important;
}
/* Header: 4 labels in one compact row, PRODUCT flexes, no clipping */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr { display: grid !important; grid-template-columns: minmax(0,1fr) auto auto auto !important; column-gap: 6px; align-items: center; padding: 0 4px !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead td,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th *,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead td * {
	font-size: 9.5px !important; letter-spacing: .02em !important; white-space: nowrap !important; word-break: keep-all !important; overflow: visible !important; text-overflow: clip !important; width: auto !important; min-width: 0 !important; max-width: none !important; flex: none !important;
}
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead td { padding: 8px 2px !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr > :not(:first-child) { text-align: center !important; padding: 8px 2px !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr > :first-child { text-align: left !important; }

/* ===== 2.1.14: TOTAL header fully visible. The 2.1.9 rule "th.total { width:1% !important }" out-ranked the
   2.1.13 thead reset, squeezing th.total to a sliver in the header grid so the next cell painted over it. ===== */
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th.total,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th.product-total,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th.cclw_qty,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th.product-quantity,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th.removepro,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th.product-remove,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr > th:not(:first-child) {
	width: auto !important; min-width: max-content !important; max-width: none !important; overflow: visible !important;
	text-indent: 0 !important; margin: 0 !important; box-shadow: none !important; background: transparent !important;
	position: relative !important; z-index: 1 !important;
}
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th::before,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th::after { content: none !important; display: none !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead tr { background: var(--green, #1f3a2b) !important; }
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th,
html body .woocommerce-checkout-review-order-table table.onestepcheckout-summary thead th * { color: var(--cream, #f6f0e1) !important; -webkit-text-fill-color: currentColor !important; background-color: transparent !important; }
