/* Scoped presentation layer: never changes cart quantities, rates or validation. */
body.woocommerce-cart .fd-cart-page-wrap { background:#f4f7fb!important; color:#334155!important; }
body.woocommerce-cart .fd-cart-layout { display:grid!important; grid-template-columns:minmax(0,1fr) 340px!important; gap:28px!important; align-items:start!important; }
body.woocommerce-cart .fd-cart-main-col,body.woocommerce-cart .fd-cart-sidebar-col { width:auto!important; min-width:0!important; flex:none!important; }
body.woocommerce-cart .fd-cart-card,body.woocommerce-cart .cart_totals { background:#fff!important; border:1px solid #dbe3ed!important; border-radius:12px!important; box-shadow:none!important; }
body.woocommerce-cart .cart-collaterals,body.woocommerce-cart .cart_totals { width:100%!important; float:none!important; box-sizing:border-box!important; }
body.woocommerce-cart .cart_totals { padding:24px!important; }
body.woocommerce-cart .fd-cart-card > div:first-child { background:white!important; color:#0f172a!important; padding:20px!important; border-bottom:1px solid #edf1f6!important; }
body.woocommerce-cart .fd-cart-card > div:first-child span { font-size:14px!important; font-weight:600!important; text-transform:none!important; letter-spacing:normal!important; }
body.woocommerce-cart .fd-cart-card > div:first-child svg { stroke:#64748b!important; width:18px!important; height:18px!important; }
body.woocommerce-cart .fd-cart-card table { border:0!important; margin:0!important; table-layout:auto; }
body.woocommerce-cart .fd-cart-card thead th { background:#f8fafc!important; font-size:10px!important; font-weight:600!important; color:#64748b!important; padding:12px 10px!important; text-transform:none!important; letter-spacing:normal!important; border:0!important; }
body.woocommerce-cart .fd-cart-card td { background:#fff!important; padding:20px 10px!important; border-color:#edf1f6!important; }
body.woocommerce-cart .fd-cart-card .product-thumbnail { width:76px!important; min-width:60px; }
body.woocommerce-cart .fd-cart-card .product-thumbnail img { width:64px!important; height:72px!important; object-fit:cover!important; border:0!important; border-radius:6px!important; box-shadow:none!important; }
body.woocommerce-cart .fd-cart-card .product-name { min-width:140px; }
body.woocommerce-cart .fd-cart-card .product-name a { color:#0f172a!important; font-size:14px!important; line-height:1.5!important; font-weight:600!important; }
body.woocommerce-cart .fd-cart-card .product-name > div > div { font-size:12px!important; font-weight:400!important; color:#64748b!important; line-height:1.6!important; }
body.woocommerce-cart .fd-cart-card .product-name > div > div > span { font-size:10px!important; font-weight:500!important; background:#f1f5f9!important; color:#526176!important; border:0!important; border-radius:4px!important; padding:3px 6px!important; }
body.woocommerce-cart .fd-cart-card [hidden] { display:none!important; }
body.woocommerce-cart .fd-cart-card .product-price *,body.woocommerce-cart .fd-cart-card .product-subtotal * { color:#334155!important; font-size:13px!important; font-weight:500!important; }
body.woocommerce-cart .fd-cart-card .product-price span:not(.amount):not(.woocommerce-Price-currencySymbol),body.woocommerce-cart .fd-cart-card .product-subtotal div > span:last-child:not(.amount) { font-size:10px!important; }
body.woocommerce-cart .fd-cart-card .qty { width:56px!important; min-height:42px!important; border:1px solid #cbd5e1!important; border-radius:6px!important; font-size:14px!important; font-weight:500!important; background:white!important; padding:8px!important; }
body.woocommerce-cart .fd-cart-card .product-quantity span { font-size:10px!important; font-weight:400!important; }
body.woocommerce-cart .fd-cart-card a.remove { text-indent:0!important; overflow:visible!important; width:32px!important; height:32px!important; background:#f1f5f9!important; color:#64748b!important; font-family:Arial,sans-serif!important; font-size:21px!important; border-radius:50%!important; }
body.woocommerce-cart .fd-cart-card a.remove::before,body.woocommerce-cart .fd-cart-card a.remove::after { display:none!important; content:none!important; }
body.woocommerce-cart .fd-cart-actions-row td { border-top:1px solid #edf1f6!important; padding:14px 20px!important; background:#fafbfd!important; }
body.woocommerce-cart .fd-cart-card button[name="update_cart"] { min-height:40px!important; border:1px solid #dbe3ed!important; border-radius:6px!important; background:#f8fafc!important; color:#475569!important; font-size:12px!important; font-weight:500!important; padding:8px 14px!important; box-shadow:none!important; }
body.woocommerce-cart .fd-cart-card button:disabled { opacity:.5!important; }
body.woocommerce-cart .cart_totals > div:first-child { border-bottom:1px solid #edf1f6!important; padding-bottom:16px!important; margin-bottom:10px!important; }
body.woocommerce-cart .cart_totals h2 { font-size:18px!important; line-height:1.35!important; font-weight:600!important; letter-spacing:-.3px!important; text-transform:none!important; }
body.woocommerce-cart .cart_totals > div:first-child > span { background:#f1f5f9!important; color:#526176!important; border:0!important; border-radius:4px!important; font-weight:500!important; font-size:10px!important; }
body.woocommerce-cart .cart_totals table { background:transparent!important; margin:0 0 20px!important; border:0!important; }
body.woocommerce-cart .cart_totals table th,body.woocommerce-cart .cart_totals table td { background:transparent!important; padding:12px 0!important; font-size:12px!important; font-weight:400!important; color:#526176!important; border-color:#edf1f6!important; line-height:1.65!important; }
body.woocommerce-cart .cart_totals td { text-align:right!important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals { display:block; border-bottom:1px solid #edf1f6; padding:8px 0; }
body.woocommerce-cart .cart_totals table tbody { display:block; }
body.woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) { display:flex; align-items:start; justify-content:space-between; gap:18px; }
body.woocommerce-cart .cart_totals table tr:not(.woocommerce-shipping-totals) th { flex:1; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals th,body.woocommerce-cart .cart_totals .woocommerce-shipping-totals td { display:block!important; width:100%!important; text-align:left!important; padding:5px 0!important; }
body.woocommerce-cart .cart_totals #shipping_method { margin:0!important; font-size:12px!important; }
body.woocommerce-cart .cart_totals #shipping_method li { font-size:12px!important; margin:0 0 8px!important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination { font-size:11px!important; line-height:1.7!important; color:#64748b!important; margin:8px 0!important; }
body.woocommerce-cart .cart_totals a { color:#005cbf!important; }
body.woocommerce-cart .cart_totals .order-total { border-top:1px solid #dbe3ed!important; margin-top:8px; }
body.woocommerce-cart .cart_totals .order-total th { font-size:14px!important; font-weight:600!important; color:#0f172a!important; text-transform:none!important; }
body.woocommerce-cart .cart_totals .order-total td,body.woocommerce-cart .cart_totals .order-total td * { color:#0f172a!important; font-size:20px!important; font-weight:600!important; }
body.woocommerce-cart .cart_totals .checkout-button { display:flex!important; align-items:center; justify-content:center; min-height:48px!important; background:#0069d9!important; color:white!important; border:1px solid #0069d9!important; border-radius:7px!important; box-shadow:none!important; font-size:14px!important; font-weight:600!important; padding:13px 16px!important; text-transform:none!important; }
body.woocommerce-cart .cart_totals > div:last-child { border:0!important; border-top:1px solid #edf1f6!important; background:transparent!important; padding:16px 0 0!important; font-size:11px!important; line-height:1.7!important; color:#64748b!important; }
body.woocommerce-cart .cart_totals > div:last-child span,body.woocommerce-cart .cart_totals > div:last-child strong { font-weight:400!important; }
.ff-sample-value-reminder { border:1px solid #dbe7f5!important; border-radius:10px!important; background:#f0f6fd!important; font-size:13px!important; }
.ff-sample-value-reminder strong { font-weight:600!important; }
/* Checkout: neutralize Storefront's inner floated column inside our sidebar. */
body.woocommerce-checkout .fd-checkout-layout { display:grid!important; grid-template-columns:minmax(0,1fr) 400px!important; gap:28px!important; align-items:start!important; }
body.woocommerce-checkout .fd-checkout-main-col,body.woocommerce-checkout .fd-checkout-sidebar-col { width:100%!important; min-width:0!important; max-width:100%!important; float:none!important; flex:none!important; box-sizing:border-box!important; }
body.woocommerce-checkout .fd-checkout-sidebar-col { position:static!important; }
body.woocommerce-checkout #order_review.fd-checkout-summary-body { float:none!important; width:100%!important; max-width:100%!important; margin:0!important; padding:20px!important; box-sizing:border-box!important; }
body.woocommerce-checkout .fd-checkout-summary-card { overflow:visible!important; border:1px solid #dbe3ed!important; border-radius:12px!important; box-shadow:none!important; }
body.woocommerce-checkout .fd-checkout-summary-header { padding:20px!important; flex-wrap:wrap!important; gap:10px!important; border-bottom:1px solid #edf1f6!important; border-radius:12px 12px 0 0; }
body.woocommerce-checkout .fd-checkout-summary-header h3 { font-size:18px!important; font-weight:600!important; text-transform:none!important; letter-spacing:normal!important; }
body.woocommerce-checkout #fd-checkout-method-badge { font-size:11px!important; font-weight:500!important; line-height:1.5!important; letter-spacing:normal!important; }
body.woocommerce-checkout #order_review table.shop_table { display:block!important; width:100%!important; border:0!important; border-radius:0!important; margin:0!important; box-shadow:none!important; overflow:visible!important; }
body.woocommerce-checkout #order_review table.shop_table :is(thead,tbody,tfoot) { display:block; width:100%; }
body.woocommerce-checkout #order_review table.shop_table tr { display:grid!important; grid-template-columns:minmax(0,1fr) auto; gap:12px; border-top:0!important; border-bottom:1px solid #edf1f6!important; }
body.woocommerce-checkout #order_review table.shop_table :is(th,td) { display:block!important; min-width:0!important; width:auto!important; padding:14px 0!important; border:0!important; background:transparent!important; font-size:13px!important; font-weight:400!important; color:#475569!important; line-height:1.65!important; text-transform:none!important; letter-spacing:normal!important; overflow-wrap:anywhere; }
body.woocommerce-checkout #order_review table.shop_table td:last-child { text-align:right!important; }
body.woocommerce-checkout #order_review table.shop_table .product-name { text-align:left!important; }
body.woocommerce-checkout #order_review table.shop_table .product-name > div { align-items:flex-start!important; gap:10px!important; }
body.woocommerce-checkout #order_review table.shop_table .product-name img { width:44px!important; height:54px!important; min-width:44px!important; border:0!important; border-radius:5px!important; }
body.woocommerce-checkout #order_review table.shop_table .product-name > div > div > div:first-child { font-size:14px!important; font-weight:600!important; line-height:1.5!important; }
body.woocommerce-checkout #order_review table.shop_table .woocommerce-shipping-totals { display:block!important; padding:10px 0; }
body.woocommerce-checkout #order_review table.shop_table .woocommerce-shipping-totals :is(th,td) { text-align:left!important; padding:4px 0!important; }
body.woocommerce-checkout #order_review #shipping_method { margin:0!important; }
body.woocommerce-checkout #order_review #shipping_method li { padding:0!important; margin:0!important; font-size:13px!important; }
body.woocommerce-checkout #order_review table.shop_table tr:has(td[colspan]) { display:block!important; }
body.woocommerce-checkout #order_review table.shop_table td[colspan] { width:100%!important; text-align:left!important; }
body.woocommerce-checkout #order_review .ff-sample-value-reminder { padding:14px!important; margin:0!important; font-size:12px!important; }
body.woocommerce-checkout #order_review table.shop_table .order-total { border-bottom:0!important; border-top:1px solid #dbe3ed!important; margin-top:8px; }
body.woocommerce-checkout #order_review table.shop_table .order-total th { font-size:14px!important; font-weight:600!important; color:#0f172a!important; }
body.woocommerce-checkout #order_review table.shop_table .order-total td { font-size:20px!important; font-weight:600!important; color:#0f172a!important; }
/* One continuous total card; cell backgrounds must not expose the grid gap. */
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total { grid-template-columns:minmax(0,1fr) max-content!important; align-items:center!important; gap:16px!important; padding:16px!important; margin-top:12px!important; box-sizing:border-box!important; background:#f0f6fd!important; border:1px solid #dbe7f5!important; border-radius:8px!important; }
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total > :is(th,td) { padding:0!important; margin:0!important; background:transparent!important; line-height:1.4!important; }
body.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total > td { white-space:nowrap!important; font-variant-numeric:tabular-nums; }
body.woocommerce-checkout #fd-checkout-payment-callout { margin:0 20px 20px!important; border:1px solid #dbe7f5!important; border-radius:8px!important; background:#f0f6fd!important; }
body.woocommerce-checkout #fd-callout-title { font-weight:600!important; letter-spacing:normal!important; text-transform:none!important; }
body.woocommerce-checkout .fd-checkout-header-block { display:none!important; }
body.woocommerce-checkout #payment .place-order { padding:20px 0 0!important; }
body.woocommerce-checkout #place_order { font-size:15px!important; font-weight:600!important; letter-spacing:normal!important; text-transform:none!important; border-radius:7px!important; }
body.woocommerce-checkout #payment a { color:#005cbf!important; }
.ff-checkout-financing-note { margin:0 0 20px; padding:18px; border:1px solid #dbe7f5; border-radius:8px; background:#f0f6fd; color:#334155; font-size:13px; line-height:1.7; }
.ff-checkout-financing-note strong { display:block; color:#0f172a; font-size:15px; font-weight:600; margin-bottom:6px; }
.ff-checkout-financing-note p { margin:0; }

/* Payment choices: visible native radios, full-width labels, neutral brand colors. */
body.woocommerce-checkout #fd-payment-wrapper:has(#payment_method_csl_draw_advance) > .ff-checkout-financing-note { display:none!important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method { display:grid!important; grid-template-columns:20px minmax(0,1fr)!important; column-gap:12px!important; align-items:start!important; background:#fff!important; border:1px solid #dbe3ed!important; border-radius:10px!important; padding:20px!important; box-shadow:none!important; transition:none!important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method:has(> input:checked) { border-color:#0069d9!important; box-shadow:0 0 0 1px #0069d9!important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input[type="radio"] { display:block!important; position:static!important; opacity:1!important; visibility:visible!important; clip:auto!important; clip-path:none!important; appearance:auto!important; -webkit-appearance:radio!important; width:18px!important; height:18px!important; margin:3px 0 0!important; transform:none!important; float:none!important; accent-color:#0069d9!important; cursor:pointer!important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label { display:block!important; width:100%!important; padding:0!important; margin:0!important; font-size:14px!important; line-height:1.7!important; font-weight:600!important; color:#0f172a!important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label > span { display:inline-block!important; margin:4px 0 0 6px!important; padding:2px 7px!important; border-radius:4px!important; background:#eef4fb!important; color:#385a80!important; font-size:10px!important; font-weight:500!important; text-transform:none!important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > .payment_box { grid-column:1 / -1!important; width:100%!important; padding:18px 0 0!important; box-sizing:border-box!important; }
body.woocommerce-checkout #payment .csl-draw-info-box { background:#f8fafc!important; border:0!important; border-radius:7px!important; margin:0!important; padding:18px!important; }
body.woocommerce-checkout #payment .csl-draw-info-box :is(p,div,label) { color:#475569!important; font-size:13px!important; font-weight:400!important; line-height:1.7!important; text-transform:none!important; letter-spacing:normal!important; }
body.woocommerce-checkout #payment .csl-draw-info-box > div:first-child,body.woocommerce-checkout #payment .csl-draw-info-box label { color:#0f172a!important; font-weight:600!important; }
body.woocommerce-checkout #payment #csl_loan_number { border:1px solid #cbd5e1!important; border-radius:6px!important; font-weight:400!important; }
body.woocommerce-checkout #payment #place_order { background:#0069d9!important; border:1px solid #0069d9!important; color:white!important; box-shadow:none!important; min-height:48px!important; }
body.woocommerce-checkout #payment input[name="payment_method"]:focus-visible { outline:3px solid #93c5fd!important; outline-offset:3px!important; }
body.woocommerce-checkout #fd-checkout-method-badge { color:#385a80!important; background:#eef4fb!important; border:0!important; }
body.woocommerce-checkout #fd-checkout-payment-callout :is(#fd-callout-title,#fd-callout-title span,#fd-callout-body) { color:#475569!important; }
@media(max-width:1100px) { body.woocommerce-checkout .fd-checkout-layout { grid-template-columns:minmax(0,1fr)!important; } }
@media(max-width:768px) { body.woocommerce-checkout #order_review table.shop_table tbody { display:none!important; } body.woocommerce-checkout #order_review.is-expanded table.shop_table tbody { display:block!important; } }
/* Drawer: compact, calm hierarchy; no large flex spacer above the totals. */
#fd-cart-drawer-panel { width:460px!important; max-width:100vw!important; height:100dvh!important; background:#fff!important; box-shadow:-8px 0 32px #0f172a14!important; }
#fd-cart-drawer-panel > div:first-child { background:#fff!important; padding:18px 24px!important; border-bottom:1px solid #e5ebf2!important; }
#fd-cart-drawer-panel h3 { font-size:20px!important; font-weight:600!important; text-transform:none!important; letter-spacing:-.3px!important; }
#fd-cart-drawer-panel > div:first-child svg { display:none!important; }
#fd-close-cart-drawer { background:#f4f7fb!important; border-radius:50%!important; width:36px!important; height:36px!important; font-size:24px!important; }
#fd-cart-drawer-items { padding:24px!important; gap:24px!important; min-height:0!important; }
#fd-cart-drawer-items > div:first-child { margin-bottom:0!important; gap:18px!important; }
#fd-cart-drawer-items > div:first-child > div { align-items:flex-start!important; gap:14px!important; padding-bottom:20px!important; border-color:#edf1f6!important; }
#fd-cart-drawer-items > div:first-child img { width:64px!important; height:76px!important; border:0!important; border-radius:6px!important; object-fit:cover!important; }
#fd-cart-drawer-items > div:first-child > div > div:nth-child(2) > div:first-child { color:#0f172a!important; font-size:14px!important; font-weight:600!important; line-height:1.6!important; }
#fd-cart-drawer-items > div:first-child > div > div:nth-child(2) > div:not(:first-child) { font-size:12px!important; font-weight:400!important; color:#64748b!important; line-height:1.6!important; }
#fd-cart-drawer-items > div:first-child span { color:#526176!important; font-weight:500!important; }
#fd-cart-drawer-items > div:first-child > div > div:nth-child(2) > div:first-child span { display:inline-block!important; margin:4px 0 0 6px!important; background:#f1f5f9!important; border:0!important; border-radius:4px!important; font-size:10px!important; text-transform:none!important; }
#fd-cart-drawer-items > div:first-child > div > a { color:#64748b!important; font-size:20px!important; min-width:28px; text-align:center; }
#fd-cart-drawer-items > div:last-child { margin-top:0!important; border-top:0!important; padding:20px!important; border-radius:10px!important; background:#f8fafc!important; }
#fd-cart-drawer-items > div:last-child > div { border-color:#e2e8f0!important; border-width:1px!important; border-radius:6px!important; font-size:12px!important; font-weight:400!important; line-height:1.6!important; gap:14px!important; margin-bottom:12px!important; }
#fd-cart-drawer-items > div:last-child > div > span { font-size:12px!important; font-weight:500!important; color:#475569!important; }
#fd-cart-drawer-items > div:last-child > div > span:last-child { flex-shrink:0; max-width:48%; text-align:right; color:#0f172a!important; }
#fd-cart-drawer-items > div:last-child > div[style*="background: #f0fdf4"] { background:#eef4fa!important; color:#475569!important; border:0!important; }
#fd-cart-drawer-items > div:last-child > div[style*="background: #f0fdf4"] > div { font-size:12px!important; font-weight:400!important; color:#475569!important; }
#fd-cart-drawer-items > div:last-child > a,#fd-cart-drawer-items > div:last-child > button { min-height:46px!important; font-size:13px!important; font-weight:600!important; text-transform:none!important; letter-spacing:normal!important; border-radius:7px!important; box-shadow:none!important; padding:12px 14px!important; }
#fd-cart-drawer-items > div:last-child > a:first-of-type { background:#0069d9!important; color:white!important; }
#fd-cart-drawer-items > div:last-child > button { background:white!important; border:1px solid #dbe3ed!important; }
#fd-cart-drawer-panel :is(a,button):focus-visible,body.woocommerce-cart .fd-cart-content-container :is(a,button,input):focus-visible { outline:3px solid #0069d9!important; outline-offset:3px!important; }
@media(max-width:1100px) { body.woocommerce-cart .fd-cart-layout { grid-template-columns:minmax(0,1fr)!important; } body.woocommerce-cart .fd-cart-sidebar-col { position:static!important; } }
@media(max-width:767px) {
  body.woocommerce-cart .fd-cart-card .cart_item { display:grid!important; grid-template-columns:76px minmax(0,1fr) 38px; gap:10px; padding:20px 14px; border-bottom:1px solid #edf1f6!important; }
  body.woocommerce-cart .fd-cart-card .cart_item td { padding:0!important; border:0!important; width:auto!important; min-width:0!important; text-align:left!important; }
  body.woocommerce-cart .fd-cart-card .cart_item td::before { display:none!important; }
  body.woocommerce-cart .fd-cart-card .product-thumbnail { display:block!important; grid-column:1; grid-row:1; }
  body.woocommerce-cart .fd-cart-card .product-name { grid-column:2; grid-row:1; }
  body.woocommerce-cart .fd-cart-card .product-remove { grid-column:3; grid-row:1; }
  body.woocommerce-cart .fd-cart-card .product-price { grid-column:2; grid-row:2; }
  body.woocommerce-cart .fd-cart-card .product-quantity { grid-column:1; grid-row:2 / span 2; }
  body.woocommerce-cart .fd-cart-card .product-subtotal { grid-column:2; grid-row:3; }
  body.woocommerce-cart .fd-cart-card .cart_item td.product-subtotal::before { content:'Line total: '!important; display:inline!important; color:#64748b; font-size:11px; }
  body.woocommerce-cart .fd-cart-card .product-subtotal > div { display:inline; }
  body.woocommerce-cart .fd-cart-card .qty { font-size:16px!important; }
  body.woocommerce-cart .cart_totals { padding:20px!important; }
  #fd-cart-drawer-items { padding:18px!important; }
}
