/* =========================================================
5. TRS - WooCommerce Cart / Checkout Refresh
Replace previous cart / checkout custom CSS with this block
========================================================= */
body.woocommerce-cart, body.woocommerce-checkout { --trs-blue:#0452a7; --trs-blue-dark:#003c94; --trs-blue-soft:#eef5fc; --trs-blue-border:#c8d9eb; --trs-orange:#f5a623; --trs-orange-hover:#e6970d; --trs-text:#1f2937; --trs-muted:#6b7280; --trs-radius:14px; --trs-shadow:0 6px 22px rgba(0,43,92,0.07); }
/* =========================================================
Shared Cart / Checkout Header
Uses the native Flatsome container for responsive alignment
========================================================= */
.checkout-page-title { position:relative; overflow:visible; min-height:0 !important; margin:0 0 18px; padding:0; background:#fff !important; border:0; }
/* Native Flatsome container - do not force width or horizontal position */
.checkout-page-title .page-title-inner { position:relative !important; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; width:100%; min-height:0 !important; margin-left:auto; margin-right:auto; padding-top:28px; padding-bottom:22px; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; transform:none !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
/* Large page title - participates in normal document flow */
.checkout-page-title .page-title-inner::before { display:block; margin:0 0 5px; padding:0; color:var(--trs-blue-dark); font-size:clamp(34px,3vw,42px); line-height:1.08; font-weight:700; letter-spacing:-0.7px; text-align:left; text-transform:none; }
/* Cart title */
body.woocommerce-cart .checkout-page-title .page-title-inner::before { content: "Shopping Cart"; }
/* Checkout title */
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title .page-title-inner::before { content: "Checkout Details"; }
/* Order Complete title */
body.woocommerce-order-received .checkout-page-title .page-title-inner::before { content: "Order Complete"; }
/* Reset the Flatsome flex child */
.checkout-page-title .flex-col { position:relative; width:100%; flex:0 0 auto !important; margin:0; padding:0 !important; text-align:left !important; }
/* Subtitle - also stays in normal flow */
.checkout-page-title .flex-col::before { display:block; margin:0 0 14px; padding:0; color:#566b84; font-size:15px; line-height:1.45; font-weight:400; text-align:left; }
/* Cart subtitle */
body.woocommerce-cart .checkout-page-title .flex-col::before { content: "Review your items and proceed to checkout."; }
/* Checkout subtitle */
body.woocommerce-checkout:not(.woocommerce-order-received) .checkout-page-title .flex-col::before { content: "Enter your details and review your order."; }
/* Order Complete subtitle */
body.woocommerce-order-received .checkout-page-title .flex-col::before { content: "Thank you. Your order has been received."; }
/* =========================================================
Checkout Progress Steps
========================================================= */
.checkout-page-title .checkout-breadcrumbs { position:relative !important; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; width:auto; display:flex; align-items:center; justify-content:flex-start !important; gap:12px; margin:0; padding:15px 0px 0px 0px; counter-reset:checkout-step; text-align:left !important; text-transform:none !important; }
/* Each progress step */
.checkout-page-title .checkout-breadcrumbs a { counter-increment:checkout-step; display:inline-flex; align-items:center; gap:9px; min-height:32px; margin:0; padding:0; color:#8999ad !important; background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; font-size:13px; line-height:1.2; font-weight:500; letter-spacing:0; text-transform:none !important; }
/* Number circle */
.checkout-page-title .checkout-breadcrumbs a::before { content:counter(checkout-step); width:31px; height:31px; flex:0 0 31px; display:inline-flex; align-items:center; justify-content:center; color:#61758d; background:#fff; border:1px solid #aabbd0; border-radius:50%; font-size:13px; line-height:1; font-weight:600; }
/* Current step */
.checkout-page-title .checkout-breadcrumbs a.current { color:var(--trs-blue) !important; font-weight:700; }
.checkout-page-title .checkout-breadcrumbs a.current::before { color:#fff; background:var(--trs-blue); border-color:var(--trs-blue); box-shadow:0 3px 8px rgba(4,82,167,0.2); }
/* Previous clickable step */
.checkout-page-title .checkout-breadcrumbs a:not(.current):not(.no-click):hover { color:var(--trs-blue) !important; }
.checkout-page-title .checkout-breadcrumbs a:not(.current):not(.no-click):hover::before { color:var(--trs-blue); border-color:var(--trs-blue); }
/* Future steps */
.checkout-page-title .checkout-breadcrumbs a.no-click { color:#9baabc !important; opacity:1; }
/* Connector */
.checkout-page-title .checkout-breadcrumbs .divider { width:58px; height:1px; flex:0 0 58px; margin:0; background:#b4c6d9; opacity:1; }
.checkout-page-title .checkout-breadcrumbs .divider i { display:none; }
/* =========================================================
Remove excess spacing before Cart content
========================================================= */
body.woocommerce-cart .cart-container { padding-top:0 !important; }
body.woocommerce-cart .woocommerce { color:var(--trs-text); }
/* =========================================================
Main Cart / Checkout Cards
========================================================= */
body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart-collaterals .cart_totals, body.woocommerce-checkout #customer_details, body.woocommerce-checkout .checkout-sidebar { padding:36px 24px 22px 24px; background:#fff; border:1px solid var(--trs-blue-border); border-radius:var(--trs-radius); box-shadow:var(--trs-shadow); }
/* =========================================================
Cart Table
========================================================= */
body.woocommerce-cart table.shop_table.cart { margin-bottom:20px; border:0; }
body.woocommerce-cart table.shop_table.cart thead { border-bottom:1px solid rgba(4,82,167,0.14); }
/* Natural capitalization */
shop_table woocommerce-checkout-review-order-table body.woocommerce-cart table.shop_table.cart thead th, body.woocommerce-checkout table.shop_table.woocommerce-checkout-review-order-table th { padding-top:8px; padding-bottom:12px; color:#111827; font-size:14px; font-weight:600; letter-spacing:0 !important; text-transform:none !important; }
body.woocommerce-cart table.shop_table.cart tbody tr { border-bottom:1px solid rgba(4,82,167,0.1); }
body.woocommerce-cart table.shop_table.cart td { padding-top:18px; padding-bottom:18px; vertical-align:middle; }
body.woocommerce-cart table.shop_table .product-name, body.woocommerce-cart table.shop_table .product-price, body.woocommerce-cart table.shop_table .product-quantity, body.woocommerce-cart table.shop_table .product-subtotal { border-bottom-width:1px; }
/* Product image */
body.woocommerce-cart table.shop_table.cart .product-thumbnail img { padding:3px; background:#fafafa; border:1px solid rgba(4,82,167,0.12); border-radius:6px; }
/* Product title */
body.woocommerce-cart table.shop_table.cart .product-name a { color:var(--trs-text); font-weight:500; line-height:1.35; }
body.woocommerce-cart table.shop_table.cart .product-name a:hover { color:var(--trs-blue-dark); }
/* Price and subtotal */
body.woocommerce-cart table.shop_table.cart .product-price, body.woocommerce-cart table.shop_table.cart .product-subtotal { color:#111827; font-weight:700; }
/* Remove item */
body.woocommerce-cart table.shop_table.cart .remove { width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; color:#94a3b8 !important; background:#fff; border:1px solid #cbd5e1; border-radius:50%; font-size:16px; line-height:1; }
body.woocommerce-cart table.shop_table.cart .remove:hover { color:#fff !important; background:#dc2626; border-color:#dc2626; }
/* =========================================================
Quantity Selector
========================================================= */
body.woocommerce-cart .quantity { display:inline-flex; align-items:stretch; overflow:hidden; background:#fff; border:1px solid #d6dee8; border-radius:18px; }
body.woocommerce-cart .quantity .minus, body.woocommerce-cart .quantity .plus, body.woocommerce-cart .quantity input.qty { min-height:34px; background:transparent; border:0 !important; box-shadow:none !important; }
body.woocommerce-cart .quantity .minus, body.woocommerce-cart .quantity .plus { width:30px; color:#64748b; font-size:16px; font-weight:400; }
body.woocommerce-cart .quantity .minus:hover, body.woocommerce-cart .quantity .plus:hover { color:var(--trs-blue); background:var(--trs-blue-soft); }
body.woocommerce-cart .quantity input.qty { width:38px; color:#111827; border-left:1px solid #e2e8f0 !important; border-right:1px solid #e2e8f0 !important; font-weight:600; }
/* =========================================================
Cart Action Buttons
========================================================= */
body.woocommerce-cart .woocommerce-cart-form .button { min-height:38px; padding-left:20px; padding-right:20px; border-radius:20px; font-size:13px; font-weight:700; }
/* Continue Shopping */
body.woocommerce-cart .continue-shopping .button, body.woocommerce-cart a.button-continue-shopping { color:var(--trs-blue) !important; background:#fff !important; line-height:38px; border:1px solid var(--trs-blue) !important; }
body.woocommerce-cart .continue-shopping .button:hover, body.woocommerce-cart a.button-continue-shopping:hover { color:#fff !important; background:var(--trs-blue) !important; }
/* Update Cart */
body.woocommerce-cart button[name="update_cart"] { color:#fff !important; background:#91a6c2 !important; border:0 !important; }
body.woocommerce-cart button[name="update_cart"]:hover { background:#708bad !important; }
/* =========================================================
Cart Totals
========================================================= */
body.woocommerce-cart .cart-collaterals .cart_totals h2 { position:relative; margin:0 0 16px; padding:0 0 13px; color:var(--trs-blue-dark); background:transparent !important; border:0 !important; border-bottom:1px solid #d7e2ee !important; outline:0 !important; box-shadow:none !important; font-size:0 !important; letter-spacing:0 !important; text-transform:none !important; }
/* Rebuild heading text to guarantee natural capitalization */
body.woocommerce-cart .cart-collaterals .cart_totals h2::before { content: "Cart Totals"; display:inline-block; color:var(--trs-blue-dark); font-size:22px; line-height:1.2; font-weight:700; letter-spacing:0; text-transform:none; }
/* Orange accent */
body.woocommerce-cart .cart-collaterals .cart_totals h2::after { content: ""; position:absolute; left:0; bottom:-2px; width:34px; height:3px; background:var(--trs-orange); border-radius:3px; }
body.woocommerce-cart .cart_totals table.shop_table { margin-bottom:18px; border:0; }
body.woocommerce-cart .cart_totals table.shop_table tr { border-bottom:1px solid rgba(4,82,167,0.11); }
body.woocommerce-cart .cart_totals table.shop_table th, body.woocommerce-cart .cart_totals table.shop_table td { padding-top:11px; padding-bottom:11px; font-size:14px; }
body.woocommerce-cart .cart_totals table.shop_table th { color:#334155; font-weight:600; text-transform:none !important; }
body.woocommerce-cart .cart_totals table.shop_table td { color:#111827; }
/* Total row */
body.woocommerce-cart .cart_totals .order-total { background:none; }
body.woocommerce-cart .cart_totals .order-total th, body.woocommerce-cart .cart_totals .order-total td { color:var(--trs-blue-dark); font-weight:700 !important; padding-left:0px; padding-right:0px; border-radius:0px; border-top:2px thin #ececec; border-bottom:2px solid #ececec; }
body.woocommerce-cart .cart_totals .order-total th { font-size:20px !important; }
body.woocommerce-cart .cart_totals .order-total td { font-size:25px !important; }
/* =========================================================
Shipping Methods
========================================================= */
body.woocommerce-cart #shipping_method { margin:4px 0 0; }
body.woocommerce-cart #shipping_method li { margin:8px 0; line-height:1.4; }
body.woocommerce-cart #shipping_method input[type="radio"] { width:17px; height:17px; margin-right:7px; accent-color:var(--trs-blue); cursor:pointer; }
body.woocommerce-cart #shipping_method label { color:#566579; cursor:pointer; }
body.woocommerce-cart #shipping_method input[type="radio"]:checked { outline:3px solid rgba(4,82,167,0.1); outline-offset:2px; }
body.woocommerce-cart #shipping_method input[type="radio"]:checked + label { color:#111827; font-weight:700; }
/* =========================================================
Proceed to Checkout
========================================================= */
body.woocommerce-cart .wc-proceed-to-checkout { margin-top:18px; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; color:#fff !important; background:linear-gradient(90deg,#f5a623 0%,#ffb329 100%) !important; border:0; border-radius:24px; box-shadow:0 4px 12px rgba(245,166,35,0.2); font-size:15px; font-weight:700; transition:transform 0.2s ease,box-shadow 0.2s ease,background 0.2s ease; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background:linear-gradient(90deg,#e6970d 0%,#f5a623 100%) !important; box-shadow:0 6px 16px rgba(245,166,35,0.28); transform:translateY(-1px); }
/* =========================================================
Coupon Area
========================================================= */
body.woocommerce-cart .cart-sidebar .coupon, body.woocommerce-cart .cart-collaterals .coupon { display:block !important; visibility:visible !important; opacity:1 !important; height:auto !important; max-height:none !important; margin-top:18px; padding-top:14px; overflow:visible !important; border-top:1px solid rgba(4,82,167,0.12); }
/* Flatsome may wrap the input inside an expandable container */
body.woocommerce-cart .cart-sidebar .coupon > div, body.woocommerce-cart .cart-sidebar .coupon .coupon-inner, body.woocommerce-cart .cart-sidebar .coupon .coupon-code-wrapper, body.woocommerce-cart .cart-collaterals .coupon > div, body.woocommerce-cart .cart-collaterals .coupon .coupon-inner, body.woocommerce-cart .cart-collaterals .coupon .coupon-code-wrapper { visibility:visible !important; opacity:1 !important; height:auto !important; max-height:none !important; overflow:visible !important; }
body.woocommerce-cart .cart-sidebar .coupon h3, body.woocommerce-cart .cart-collaterals .coupon h3 { margin:0 0 12px; color:var(--trs-blue); font-size:15px; font-weight:600; letter-spacing:0; text-transform:none !important; }
body.woocommerce-cart input[name="coupon_code"], body.woocommerce-cart #coupon_code { display:block !important; visibility:visible !important; opacity:1 !important; width:100% !important; min-height:42px; margin:0 0 9px !important; background:#fff; border:1px solid #d9e1ea; border-radius:7px; box-shadow:none; }
body.woocommerce-cart input[name="coupon_code"]:focus, body.woocommerce-cart #coupon_code:focus { border-color:rgba(4,82,167,0.45); box-shadow:0 0 0 3px rgba(4,82,167,0.08); }
body.woocommerce-cart .cart-sidebar .coupon .button, body.woocommerce-cart .cart-collaterals .coupon .button { min-height:42px; color:#52657d; background:#f4f7fb; border:1px solid rgba(4,82,167,0.16); border-radius:21px; }
body.woocommerce-cart .cart-sidebar .coupon .button:hover, body.woocommerce-cart .cart-collaterals .coupon .button:hover { color:#fff; background:var(--trs-blue); }
/* =========================================================
WooCommerce Notices
========================================================= */
body.woocommerce-cart .woocommerce-message, body.woocommerce-checkout .woocommerce-message { position:relative; margin:0 0 16px !important; padding:11px 16px 11px 42px !important; color:#315d37; background:#f3faf4; border:1px solid #c9e3cd; border-radius:8px; box-shadow:none; font-size:14px; line-height:1.45; font-weight:500; }
body.woocommerce-cart .woocommerce-message::before, body.woocommerce-checkout .woocommerce-message::before { position:absolute; left:15px; top:50%; color:#5c8a48; font-size:17px; transform:translateY(-50%); }
body.woocommerce-checkout .woocommerce-info { margin-bottom:16px !important; padding:12px 16px !important; color:#164f8f; background:#eef6fd; border:1px solid #c7dcef; border-radius:8px; box-shadow:none; }
/* =========================================================
5A Plus Free Shipping Notice
Keep plugin functionality unchanged
========================================================= */
body.woocommerce-cart .rcp-5a-fsn { margin-top:16px; background:#fbfdff; border:1px solid rgba(4,82,167,0.18); border-radius:10px; box-shadow:none; }
/* =========================================================
Complementary Products Spacing
========================================================= */
body.woocommerce-cart .cart-collaterals { margin-bottom:28px; }
/* =========================================================
Tablet
========================================================= */
@media screen and (max-width:849px) {
	.checkout-page-title { margin-bottom:14px; }
	.checkout-page-title .page-title-inner { padding-top:22px; padding-bottom:18px; }
	.checkout-page-title .page-title-inner::before { margin-bottom:4px; font-size:34px; }
	.checkout-page-title .flex-col::before { margin-bottom:12px; font-size:14px; }
	.checkout-page-title .checkout-breadcrumbs { gap:9px; }
	.checkout-page-title .checkout-breadcrumbs .divider { width:40px; flex-basis:40px; }
	body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart-collaterals .cart_totals { padding:18px 16px; border-radius:10px; }
	body.woocommerce-cart table.shop_table.cart td { padding-top:14px; padding-bottom:14px; }
	body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { min-height:46px; }
}
/* =========================================================
Mobile
Show all three steps as numbered circles
========================================================= */
@media screen and (max-width:549px) {
	.checkout-page-title { margin-bottom:12px; }
	.checkout-page-title .page-title-inner { padding-top:17px; padding-bottom:16px; }
	.checkout-page-title .page-title-inner::before { margin-bottom:4px; font-size:29px; letter-spacing:-0.4px; }
	.checkout-page-title .flex-col::before { margin-bottom:10px; font-size:13px; }
	/* Force Flatsome hidden steps back on mobile */
	.checkout-page-title .checkout-breadcrumbs a.hide-for-small { display:inline-flex !important; }
	.checkout-page-title .checkout-breadcrumbs .divider.hide-for-small { display:block !important; }
	.checkout-page-title .checkout-breadcrumbs { gap:8px; }
	/* Hide labels, keep 1 - 2 - 3 */
	.checkout-page-title .checkout-breadcrumbs a { gap:0; font-size:0 !important; }
	.checkout-page-title .checkout-breadcrumbs a::before { width:29px; height:29px; flex-basis:29px; font-size:12px; }
	.checkout-page-title .checkout-breadcrumbs .divider { width:34px; flex:0 0 34px; }
}
/* =========================================================
Mobile - Fixed checkout bar
========================================================= */
@media screen and (max-width:549px) {
	body.woocommerce-cart.rcp-5a-floating-cart-checkout { padding-bottom:92px; }
	body.woocommerce-cart.rcp-5a-floating-cart-checkout .wc-proceed-to-checkout { position:fixed; left:0; right:0; bottom:0; z-index:9999; margin:0 !important; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,0.97); border-top:10px solid #d9e3ee; box-shadow:0 -5px 18px rgba(0,40,90,0.1); }
	body.woocommerce-cart.rcp-5a-floating-cart-checkout .wc-proceed-to-checkout .checkout-button { width:100%; min-height:48px; margin:0 !important; }
}
/* =========================================================
Cart Coupon - Final Layout
========================================================= */
body.woocommerce-cart form.checkout_coupon { display:block !important; }
body.woocommerce-cart form.checkout_coupon .coupon { display:flex !important; align-items:center; flex-wrap:nowrap; gap:18px; font-size:13px; margin:15px 0px 0px 0px; padding:7px; border:1px dashed orange; border-radius:10px; }
/* Coupon title */
body.woocommerce-cart form.checkout_coupon .coupon h3 { flex:0 0 auto; width:auto !important; margin:0 !important; padding:0 !important; border:0; font-size:13px; line-height:42px; text-transform:none !important; white-space:nowrap; }
/* Coupon input */
body.woocommerce-cart form.checkout_coupon #coupon_code { flex:1 1 auto; width:auto !important; min-width:0; height:42px; margin:0 !important; }
/* Apply coupon button */
body.woocommerce-cart form.checkout_coupon input[name="apply_coupon"] { flex:0 0 auto; color:var(--trs-blue); width:auto !important; min-width:125px; height:42px; font-size:13px; margin:0 !important; padding:0 18px !important; border-radius:7px; }
/* Override Flatsome .expand */
body.woocommerce-cart form.checkout_coupon input.expand { width:auto !important; }
/* =========================================================
Mobile
Title first row, input + button second row
========================================================= */
@media screen and (max-width:549px) {
	body.woocommerce-cart form.checkout_coupon .coupon { flex-wrap:wrap; gap:8px; }
	body.woocommerce-cart form.checkout_coupon .coupon h3 { flex:0 0 100%; width:100% !important; line-height:1.3; }
	body.woocommerce-cart form.checkout_coupon #coupon_code { flex:1 1 0; width:0 !important; }
	body.woocommerce-cart form.checkout_coupon input[name="apply_coupon"] { flex:0 0 auto; width:auto !important; min-width:110px; }
}
/* =========================================================
TRS - Checkout Details
========================================================= */
/* =========================================================
Checkout Coupon Toggle
========================================================= */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 14px !important; color:#334155; background:var(--trs-blue-soft); border:1px solid var(--trs-blue-border); border-radius:8px; font-size:14px; }
/* Make only the clickable part look like a button */
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon { display:inline-flex; align-items:center; padding:6px 13px; color:var(--trs-blue) !important; background:#fff; border:1px solid var(--trs-blue); border-radius:20px; font-size:13px; font-weight:600; line-height:1; text-decoration:none; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover { color:#fff !important; background:var(--trs-blue); }
/* =========================================================
Checkout Coupon Form
========================================================= */
body.woocommerce-checkout form.checkout_coupon { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 18px; padding:14px 16px; background:#fff; border:1px dashed orange !important; border-radius:10px; box-shadow:none; }
/* Intro text - full row */
body.woocommerce-checkout form.checkout_coupon > p:first-child { flex:0 0 100%; margin:0 0 2px; color:var(--trs-muted); font-size:13px; line-height:1.45; }
/* Remove WooCommerce column widths */
body.woocommerce-checkout form.checkout_coupon .form-row-first, body.woocommerce-checkout form.checkout_coupon .form-row-last { float:none !important; width:auto !important; margin:0 !important; padding:0 !important; }
/* Coupon input */
body.woocommerce-checkout form.checkout_coupon input.input-text { width:300px !important; max-width:300px; height:42px; margin:0 !important; padding:0 13px; background:#fff; border:1px solid rgba(4,82,167,0.12); border-radius:7px; box-shadow:none; }
/* Apply coupon */
body.woocommerce-checkout form.checkout_coupon button, body.woocommerce-checkout form.checkout_coupon input[type="submit"] { width:auto !important; min-width:125px; height:42px; margin:0 !important; padding:0 18px; color:var(--trs-blue) !important; background:#f4f7fb !important; border:1px solid rgba(4,82,167,0.16) !important; border-radius:7px; font-size:13px; font-weight:600; text-transform:none !important; }
/* Mobile */
@media screen and (max-width:549px) {
	body.woocommerce-checkout form.checkout_coupon input.input-text { width:100% !important; max-width:none; }
	body.woocommerce-checkout form.checkout_coupon .form-row-first { flex:1 1 0; min-width:0; }
	body.woocommerce-checkout form.checkout_coupon .form-row-last { flex:0 0 auto; }
}
/* =========================================================
Billing / Shipping / Additional Details Headings
========================================================= */
body.woocommerce-checkout .woocommerce-billing-fields { border-top:0px; }
body.woocommerce-checkout .woocommerce-billing-fields > h3, body.woocommerce-checkout .woocommerce-shipping-fields > h3, body.woocommerce-checkout .woocommerce-additional-fields > h3, body.woocommerce-checkout #order_review_heading { margin:0 0 16px; padding:12px; color:#111827; border-bottom:1px solid rgba(4,82,167,0.14); background:#f0f8ff; border-radius:10px; font-size:25px; line-height:1.3; font-weight:600; letter-spacing:0 !important; text-transform:none !important; }
body.woocommerce-checkout #order_review_heading { margin-bottom:32px; margin-top:15px; }
body.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address { padding:10px 12px 7px 12px; margin-bottom:25px; }
/* =========================================================
Checkout Field Labels
========================================================= */
body.woocommerce-checkout .woocommerce-billing-fields label, body.woocommerce-checkout .woocommerce-shipping-fields label, body.woocommerce-checkout .woocommerce-additional-fields label { color:#334155; font-size:14px; font-weight:600; }
body.woocommerce-checkout #ship-to-different-address label span { font-size:20px; line-height:1.3; }
body.woocommerce-checkout #ship-to-different-address-checkbox { width:18px; height:18px; }
/* =========================================================
Checkout Inputs / Selects / Textareas
========================================================= */
body.woocommerce-checkout .form-row input.input-text, body.woocommerce-checkout .form-row select, body.woocommerce-checkout .form-row textarea { background:#fff; border:1px solid rgba(4,82,167,0.12); border-radius:7px; box-shadow:none; color:var(--trs-text); font-size:14px; }
body.woocommerce-checkout .form-row input.input-text, body.woocommerce-checkout .form-row select { min-height:42px; padding:0 12px; }
body.woocommerce-checkout .form-row textarea { min-height:120px; padding:10px 12px; resize:vertical; }
body.woocommerce-checkout .form-row input.input-text:focus, body.woocommerce-checkout .form-row select:focus, body.woocommerce-checkout .form-row textarea:focus { border-color:rgba(4,82,167,0.4); box-shadow:0 0 0 3px rgba(4,82,167,0.07); }
/* WooCommerce / Select2 dropdowns */
body.woocommerce-checkout .select2-container .select2-selection--single { height:42px; background:#fff; border:1px solid rgba(4,82,167,0.12); border-radius:7px; box-shadow:none; }
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height:25px; color:var(--trs-text); }
body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height:25px; }
/* =========================================================
Order Review Table
========================================================= */
body.woocommerce-checkout .woocommerce-checkout-review-order-table { border:0; }
/* Product / Subtotal headings */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { padding-top:8px; padding-bottom:12px; color:#334155; font-size:14px; font-weight:600; letter-spacing:0 !important; text-transform:none !important; border-bottom:1px solid rgba(4,82,167,0.14); }
/* Product names - same visual language as cart */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name, body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name a { color:var(--p-muted); font-weight:500; line-height:1.35; text-transform:none !important; }
/* Product subtotals */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total { color:#111827; font-weight:700; }
/* Subtotal / Shipping / Tax */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { color:#334155; font-weight:600; text-transform:none !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { color:#111827; font-weight:600; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { padding-top:11px; padding-bottom:11px; border-bottom:1px solid rgba(4,82,167,0.11); }
/* =========================================================
Total Row - Cart + Checkout
========================================================= */
body.woocommerce-cart .cart_totals .order-total, body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total { background:none; }
body.woocommerce-cart .cart_totals .order-total th, body.woocommerce-cart .cart_totals .order-total td, body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th, body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { color:var(--trs-blue-dark); font-weight:700 !important; padding-left:0; padding-right:0; border-radius:0; border-top:1px solid #ececec; border-bottom:2px solid #ececec; }
/* Remove separators around Shipping row */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { border-top:0 !important; border-bottom:0 !important; padding-top:5px; padding-bottom:0px; }
body.woocommerce-cart .cart_totals .order-total th, body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th { font-size:20px !important; }
body.woocommerce-cart .cart_totals .order-total td, body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { font-size:25px !important; }
/* =========================================================
Shipping Methods - Cart + Checkout
========================================================= */
body.woocommerce-cart #shipping_method, body.woocommerce-checkout #shipping_method { margin:4px 0 0; }
body.woocommerce-cart #shipping_method li, body.woocommerce-checkout #shipping_method li { margin:8px 0; line-height:1.4; }
body.woocommerce-cart #shipping_method input[type="radio"], body.woocommerce-checkout #shipping_method input[type="radio"] { width:17px; height:17px; margin-right:7px; accent-color:var(--trs-blue); cursor:pointer; }
body.woocommerce-cart #shipping_method label, body.woocommerce-checkout #shipping_method label { color:#566579; cursor:pointer; }
body.woocommerce-cart #shipping_method input[type="radio"]:checked, body.woocommerce-checkout #shipping_method input[type="radio"]:checked { outline:3px solid rgba(4,82,167,0.1); outline-offset:2px; }
body.woocommerce-cart #shipping_method input[type="radio"]:checked + label, body.woocommerce-checkout #shipping_method input[type="radio"]:checked + label { color:#111827; font-weight:700; }
/* =========================================================
Payment Methods
========================================================= */
body.woocommerce-checkout #payment ul.payment_methods { margin:0; border:0; }
body.woocommerce-checkout #payment ul.payment_methods li { padding:11px 0; border-bottom:1px solid #ececec; }
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { width:18px; height:18px; margin-right:9px; accent-color:var(--trs-blue); cursor:pointer; }
body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked { outline:3px solid rgba(4,82,167,0.1); outline-offset:2px; }
body.woocommerce-checkout #payment ul.payment_methods li > label { color:#334155; font-size:14px; font-weight:600; cursor:pointer; }
/* Payment detail panel */
body.woocommerce-checkout #payment .payment_box { margin:10px 0 4px; padding:12px; background:#f9fbfd; border:1px solid rgba(4,82,167,0.1); border-radius:8px; }
/* Regular gateway fields */
body.woocommerce-checkout #payment .payment_box input[type="text"], body.woocommerce-checkout #payment .payment_box input[type="tel"], body.woocommerce-checkout #payment .payment_box input[type="email"], body.woocommerce-checkout #payment .payment_box select { min-height:42px; background:#fff; border:1px solid rgba(4,82,167,0.12); border-radius:7px; box-shadow:none; }
/* Stripe Elements wrappers */
body.woocommerce-checkout #payment .wc-stripe-elements-field, body.woocommerce-checkout #payment .StripeElement { min-height:42px; padding:11px 12px; background:#fff; border:1px solid rgba(4,82,167,0.12) !important; border-radius:7px; box-shadow:none !important; }
/* =========================================================
Terms / Privacy
========================================================= */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { margin-top:14px; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"], body.woocommerce-checkout #terms { width:18px; height:18px; margin-right:8px; accent-color:var(--trs-blue); vertical-align:middle; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label { color:#263648; font-size:14px; line-height:1.45; font-weight:600; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a, body.woocommerce-checkout .woocommerce-privacy-policy-text a, body.woocommerce-checkout a.woocommerce-privacy-policy-link { color:var(--trs-blue) !important; text-decoration:none; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover, body.woocommerce-checkout .woocommerce-privacy-policy-text a:hover { text-decoration:underline; }
body.woocommerce-checkout .woocommerce-privacy-policy-text { color:var(--trs-muted); font-size:13px; line-height:1.55; }
/* =========================================================
Place Order
========================================================= */
body.woocommerce-checkout #place_order { width:100%; min-height:48px; margin-top:10px; color:#fff !important; background:linear-gradient(90deg,#f5a623 0%,#ffb329 100%) !important; border:0 !important; border-radius:24px; box-shadow:0 4px 12px rgba(245,166,35,0.2); font-size:15px; font-weight:700; text-transform:none !important; }
body.woocommerce-checkout #place_order:hover { background:linear-gradient(90deg,#e6970d 0%,#f5a623 100%) !important; box-shadow:0 6px 16px rgba(245,166,35,0.28); }
/* =========================================================
Checkout Responsive
========================================================= */
@media screen and (max-width:849px) {
	body.woocommerce-checkout #customer_details, body.woocommerce-checkout .checkout-sidebar { padding:18px 16px; border-radius:10px; }
}
@media screen and (max-width:549px) {
	body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { display:block; }
	body.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon { margin-top:8px; }
	body.woocommerce-checkout form.checkout_coupon { padding:14px; }
	body.woocommerce-checkout #payment ul.payment_methods li > label { font-size:14px; }
}
/* =========================================================
Checkout - Your Order outer column
========================================================= */
body.woocommerce-checkout form.checkout .large-5 > .col-inner.has-border { border:0 !important; border-left:1px solid var(--trs-blue-border) !important; padding:0 0 0 30px !important; }
/* Tablet and mobile */
@media screen and (max-width:849px) {
	body.woocommerce-checkout form.checkout .large-5 > .col-inner.has-border { border:0 !important; padding-left:0 !important; padding-right:0 !important; }
}
/* =========================================================
Checkout - Compact billing & shipping fields
========================================================= */
@media screen and (min-width:550px) {
	body.woocommerce-checkout #billing_city_field, body.woocommerce-checkout #billing_state_field, body.woocommerce-checkout #billing_postcode_field, body.woocommerce-checkout #billing_phone_field, body.woocommerce-checkout #shipping_city_field, body.woocommerce-checkout #shipping_state_field, body.woocommerce-checkout #shipping_postcode_field, body.woocommerce-checkout #shipping_phone_field { float:left; clear:none; width:calc(50% - 8px); box-sizing:border-box; }
	/* Left column */
	body.woocommerce-checkout #billing_city_field, body.woocommerce-checkout #billing_postcode_field, body.woocommerce-checkout #shipping_city_field, body.woocommerce-checkout #shipping_postcode_field { clear:left; margin-right:16px; }
	/* Right column */
	body.woocommerce-checkout #billing_state_field, body.woocommerce-checkout #billing_phone_field, body.woocommerce-checkout #shipping_state_field, body.woocommerce-checkout #shipping_phone_field { margin-right:0; }
}
/* =========================================================
Checkout - Returning customer login
========================================================= */
body.woocommerce-checkout form.woocommerce-form-login { margin:0 0 18px; padding:16px 18px; background:#fff; border:1px solid var(--trs-blue-border); border-radius:10px; box-shadow:0 4px 16px rgba(0,43,92,0.04); }
/* Intro text */
body.woocommerce-checkout form.woocommerce-form-login > p:first-child { margin:0 0 12px; color:var(--trs-muted); }
/* Input rows */
body.woocommerce-checkout form.woocommerce-form-login .form-row { margin-bottom:10px !important; padding:0; }
/* Remove unnecessary spacing after the two inputs */
body.woocommerce-checkout form.woocommerce-form-login .clear { height:0; margin:0; }
/* Remember me + Login area */
body.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme { margin-right:14px; font-size:14px; font-weight:600; }
body.woocommerce-checkout form.woocommerce-form-login button[type="submit"] { min-height:38px; margin:0; padding:0 18px; color:#fff; background:var(--trs-blue); border:0; border-radius:7px; font-size:13px; font-weight:700; text-transform:none; }
/* Lost password */
body.woocommerce-checkout form.woocommerce-form-login .lost_password { margin:8px 0 0; }
body.woocommerce-checkout form.woocommerce-form-login .lost_password a { color:var(--trs-blue) !important; font-size:14px; text-decoration:none; }
body.woocommerce-checkout form.woocommerce-form-login .lost_password a:hover { text-decoration:underline; }
body.woocommerce-checkout form.woocommerce-form-login input[type="checkbox"] { width:17px; height:17px; margin-right:7px; accent-color:var(--trs-blue); vertical-align:middle; }
/* =========================================================
TRS - Order Complete / Thank You Page
========================================================= */
/* ---------------------------------------------------------
Main layout
--------------------------------------------------------- */
body.woocommerce-order-received .page-checkout > .woocommerce > .row { align-items:flex-start; }
/* Hide redundant payment message above Order Details */
body.woocommerce-order-received .large-7.col > p:first-child { display:none; }
/* =========================================================
Order Details Card
========================================================= */
body.woocommerce-order-received .woocommerce-order-details { margin:0; padding:22px 24px; background:#fff; border:1px solid var(--trs-blue-border); border-radius:var(--trs-radius); box-shadow:var(--trs-shadow); }
body.woocommerce-order-received .woocommerce-order-details__title { margin:0 0 16px; padding:0 0 13px; color:var(--trs-blue-dark); border-bottom:1px solid rgba(4,82,167,0.14); font-size:22px; line-height:1.2; font-weight:700; letter-spacing:0; text-transform:none !important; }
/* =========================================================
Order Details Table
========================================================= */
body.woocommerce-order-received .woocommerce-table--order-details { margin:0; border:0; }
body.woocommerce-order-received .woocommerce-table--order-details thead th { padding:8px 0 12px; color:#334155; border-bottom:1px solid rgba(4,82,167,0.14); font-size:14px; font-weight:600; letter-spacing:0; text-transform:none !important; }
body.woocommerce-order-received .woocommerce-table--order-details thead .product-total { text-align:right; }
/* Product rows */
body.woocommerce-order-received .woocommerce-table--order-details tbody td { padding:11px 0; border-bottom:1px solid rgba(4,82,167,0.1); vertical-align:middle; }
body.woocommerce-order-received .woocommerce-table--order-details .product-name { padding-right:20px; }
body.woocommerce-order-received .woocommerce-table--order-details .product-name a { color:var(--trs-text); font-weight:500; line-height:1.35; }
body.woocommerce-order-received .woocommerce-table--order-details .product-name a:hover { color:var(--trs-blue); }
body.woocommerce-order-received .woocommerce-table--order-details .product-quantity { color:#111827; font-weight:700; }
body.woocommerce-order-received .woocommerce-table--order-details .product-total { color:#111827; font-weight:700; text-align:right; }
/* =========================================================
Order Totals
========================================================= */
body.woocommerce-order-received .woocommerce-table--order-details tfoot th, body.woocommerce-order-received .woocommerce-table--order-details tfoot td { padding:10px 0; border-bottom:1px solid rgba(4,82,167,0.1); font-size:14px; }
body.woocommerce-order-received .woocommerce-table--order-details tfoot th { color:#334155; font-weight:600; text-transform:none !important; }
body.woocommerce-order-received .woocommerce-table--order-details tfoot td { color:#111827; font-weight:600; text-align:right; }
/* Total row */
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-last-child(2) th, body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-last-child(2) td { color:var(--trs-blue-dark); font-weight:700 !important; border-top:1px solid #ececec; border-bottom:2px solid #ececec; }
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-last-child(2) th { font-size:20px; }
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:nth-last-child(2) td { font-size:25px; }
/* Payment method row */
body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child th, body.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td { border-bottom:0; }
/* =========================================================
Billing / Shipping Address Cards
========================================================= */
body.woocommerce-order-received .woocommerce-customer-details { margin-top:18px; }
body.woocommerce-order-received .woocommerce-columns--addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0; }
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column { float:none !important; width:100% !important; margin:0; padding:20px; background:#fff; border:1px solid var(--trs-blue-border); border-radius:var(--trs-radius); box-shadow:var(--trs-shadow); }
body.woocommerce-order-received .woocommerce-column__title { position:relative; margin:0 0 14px; padding:0 0 12px; color:var(--trs-blue-dark); border-bottom:1px solid rgba(4,82,167,0.14); font-size:18px; line-height:1.25; font-weight:700; letter-spacing:0; text-transform:none !important; }
body.woocommerce-order-received .woocommerce-columns--addresses address { margin:0; color:#566579; font-size:14px; line-height:1.65; font-style:normal; }
body.woocommerce-order-received .woocommerce-customer-details--phone, body.woocommerce-order-received .woocommerce-customer-details--email { margin:5px 0 0; color:#566579; }
body.woocommerce-order-received .woocommerce-customer-details--email { color:var(--trs-blue); }
/* =========================================================
Right Column - Order Confirmation Card
========================================================= */
body.woocommerce-order-received .large-5.col > .is-well.col-inner { margin:0; padding:20px; background:#fff; border:1px solid var(--trs-blue-border); border-radius:var(--trs-radius); box-shadow:var(--trs-shadow); }
/* Remove Flatsome default well styling */
body.woocommerce-order-received .is-well { box-shadow:none; }
/* =========================================================
Success Message
========================================================= */
body.woocommerce-order-received .woocommerce-thankyou-order-received { position:relative; margin:0 0 10px !important; padding:16px 16px 16px 58px !important; color:#3e7f35; background:#f1f9ef; border:0; border-radius:8px; font-size:15px; line-height:1.35; font-weight:700; }
/* Green check */
body.woocommerce-order-received .woocommerce-thankyou-order-received::before { content: "✓"; position:absolute; left:16px; top:50%; width:30px; height:30px; display:flex; align-items:center; justify-content:center; transform:translateY(-50%); color:#fff; background:#3c9937; border-radius:50%; font-size:20px; font-weight:700; }
/* Small explanatory text */
body.woocommerce-order-received .woocommerce-thankyou-order-received::after { content: "We've received your order and will begin processing it shortly."; display:block; margin-top:4px; color:#66766a; font-size:13px; line-height:1.4; font-weight:400; }
/* =========================================================
Order Overview
========================================================= */
body.woocommerce-order-received .woocommerce-order-overview { margin:0 !important; padding:0 !important; list-style:none; }
body.woocommerce-order-received .woocommerce-order-overview li { position:relative; float:none !important; width:100% !important; display:flex; align-items:center; justify-content:space-between; margin:0 !important; padding:12px 0 12px 35px !important; color:#6b7280; border:0 !important; border-bottom:1px solid rgba(4,82,167,0.1) !important; font-size:14px; line-height:1.35; text-transform:none !important; }
body.woocommerce-order-received .woocommerce-order-overview li:last-child { border-bottom:0 !important; }
/* Small blue icon badge */
body.woocommerce-order-received .woocommerce-order-overview li::before { position:absolute; left:0; top:50%; width:24px; height:24px; display:flex; align-items:center; justify-content:center; transform:translateY(-50%); color:var(--trs-blue); background:var(--trs-blue-soft); border:1px solid rgba(4,82,167,0.14); border-radius:6px; font-size:12px; font-weight:700; }
/* Order icon */
body.woocommerce-order-received .woocommerce-order-overview__order::before { content: "#"; }
/* Date icon */
body.woocommerce-order-received .woocommerce-order-overview__date::before { content: "D"; }
/* Email icon */
body.woocommerce-order-received .woocommerce-order-overview__email::before { content: "@"; }
/* Total icon */
body.woocommerce-order-received .woocommerce-order-overview__total::before { content: "$"; }
/* Payment icon */
body.woocommerce-order-received .woocommerce-order-overview__payment-method::before { content: "✓"; }
body.woocommerce-order-received .woocommerce-order-overview li strong { margin-left:14px; color:#111827; font-weight:700; text-align:right; text-transform:none; }
/* Highlight total */
body.woocommerce-order-received .woocommerce-order-overview__total strong { color:var(--trs-blue-dark); font-size:17px; }
/* =========================================================
Tablet
========================================================= */
@media screen and (max-width:849px) {
	body.woocommerce-order-received .page-checkout > .woocommerce > .row { display:block; }
	body.woocommerce-order-received .page-checkout > .woocommerce > .row > .col { width:100% !important; max-width:100% !important; padding-left:0; padding-right:0; }
	body.woocommerce-order-received .large-5.col { margin-top:18px; }
	body.woocommerce-order-received .woocommerce-order-details, body.woocommerce-order-received .large-5.col > .is-well.col-inner { padding:18px 16px; border-radius:10px; }
	body.woocommerce-order-received .woocommerce-columns--addresses { gap:14px; }
	body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column { padding:18px 16px; border-radius:10px; }
}
/* =========================================================
Mobile
========================================================= */
@media screen and (max-width:549px) {
	body.woocommerce-order-received .woocommerce-columns--addresses { grid-template-columns:1fr; }
	body.woocommerce-order-received .woocommerce-order-details__title { font-size:20px; }
	body.woocommerce-order-received .woocommerce-table--order-details .product-name { padding-right:12px; font-size:13px; }
	body.woocommerce-order-received .woocommerce-table--order-details .product-total { font-size:13px; }
	body.woocommerce-order-received .woocommerce-thankyou-order-received { padding-left:54px !important; font-size:14px; }
	body.woocommerce-order-received .woocommerce-order-overview li { font-size:13px; }
	body.woocommerce-order-received .woocommerce-order-overview li strong { max-width:60%; word-break:break-word; }
}
/* =========================================================
Order Complete - Show confirmation first on tablet/mobile
========================================================= */
@media screen and (max-width:849px) {
	body.woocommerce-order-received .page-checkout > .woocommerce > .row { display:flex !important; flex-direction:column; }
	body.woocommerce-order-received .page-checkout > .woocommerce > .row > .large-5 { order:1; width:100% !important; max-width:100% !important; margin:0 0 18px !important; }
	body.woocommerce-order-received .page-checkout > .woocommerce > .row > .large-7 { order:2; width:100% !important; max-width:100% !important; }
}
/* =========================================================
Order Complete - Mobile / Tablet side spacing
========================================================= */
@media screen and (max-width:849px) {
	body.woocommerce-order-received .page-checkout > .woocommerce > .row > .large-5, body.woocommerce-order-received .page-checkout > .woocommerce > .row > .large-7 { padding-left:15px !important; padding-right:15px !important; box-sizing:border-box; }
}
