/*
 * Husto Furniture Cart — 0.6.5
 * Scoped component CSS for WooCommerce CLASSIC cart shortcode.
 * No theme overrides, no hard-coded donor palette.
 * All colors use the editable Husto design tokens.
 */
.huston-cart-page {margin-top:30px;margin-bottom:64px;}
.huston-cart-page .huston-commerce-heading {display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 24px;}
.huston-cart-page .huston-commerce-heading h1 {margin:6px 0 7px;font-size:clamp(27px,3vw,39px);line-height:1.1;}
.huston-cart-page .huston-commerce-heading p {margin:0;color:var(--huston-text-muted);font-size:14px;}
.huston-cart-page .huston-commerce-steps {display:flex;flex-wrap:nowrap;align-items:center;list-style:none!important;margin:0;padding:0;gap:14px;flex:none;}
.huston-cart-page .huston-commerce-steps li {display:flex;align-items:center;gap:7px;position:relative;list-style:none!important;color:var(--huston-text-muted);font-size:12px;white-space:nowrap;}
.huston-cart-page .huston-commerce-steps li::marker {content:'';}
.huston-cart-page .huston-commerce-steps li:not(:last-child)::after {content:'';display:block;width:24px;height:1px;background:var(--huston-border);margin-left:6px;}
.huston-cart-page .huston-commerce-steps li span {display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid var(--huston-border);background:var(--huston-surface);font-size:11px;}
.huston-cart-page .huston-commerce-steps li b {font-weight:650;}
.huston-cart-page .huston-commerce-steps li.is-active {color:var(--huston-text);}
.huston-cart-page .huston-commerce-steps li.is-active span {background:var(--huston-primary);border-color:var(--huston-primary);color:#fff;}
/* Layout: native cart table beside order summary; recommendations below full width. */
.huston-cart-page .huston-cart-native {background:transparent;border:0;padding:0;min-width:0;}
.huston-cart-page .huston-cart-native > .woocommerce {display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,365px);gap:22px;align-items:start;min-width:0;}
.huston-cart-page .huston-cart-native > .woocommerce > .woocommerce-notices-wrapper,
.huston-cart-page .huston-cart-native > .woocommerce > .woocommerce-error,
.huston-cart-page .huston-cart-native > .woocommerce > .woocommerce-message,
.huston-cart-page .huston-cart-native > .woocommerce > .woocommerce-info {grid-column:1/-1;}
.huston-cart-page .woocommerce form.woocommerce-cart-form {grid-column:1;min-width:0;width:100%;margin:0;}
.huston-cart-page .woocommerce .cart-collaterals {grid-column:2;min-width:0;width:100%;margin:0;}
.huston-cart-page .woocommerce .cart-collaterals::before,
.huston-cart-page .woocommerce .cart-collaterals::after {content:none!important;display:none!important;}
.huston-cart-page .woocommerce .cart-collaterals .cart_totals {float:none!important;width:100%!important;min-width:0;margin:0!important;background:var(--huston-surface);border:1px solid var(--huston-border);border-radius:7px;padding:22px;box-shadow:0 7px 21px rgba(15,30,40,.025);}
.huston-cart-page .woocommerce .cart_totals h2 {font-size:21px;line-height:1.2;margin:0 0 15px;padding:0;color:var(--huston-text);}
.huston-cart-page .woocommerce .cross-sells {grid-column:1/-1;min-width:0;width:100%!important;float:none!important;margin:17px 0 0;clear:both;}
.huston-cart-page .woocommerce .cross-sells h2 {font-size:23px;margin:0 0 17px;}
.huston-cart-page .woocommerce .cross-sells ul.products {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important;padding:0!important;margin:0!important;}
.huston-cart-page .woocommerce .cross-sells ul.products::before,
.huston-cart-page .woocommerce .cross-sells ul.products::after {content:none!important;display:none!important;}
.huston-cart-page .woocommerce .cross-sells ul.products li.product {float:none!important;min-width:0;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.huston-cart-page .woocommerce .cross-sells .huston-product-card {height:100%;min-width:0;}
/* Main cart table. WC form buttons and shipping calculators continue to work. */
.huston-cart-page .woocommerce table.shop_table {width:100%;min-width:0;margin:0!important;border-collapse:separate!important;border-spacing:0!important;background:var(--huston-surface);border:1px solid var(--huston-border)!important;border-radius:7px!important;overflow:hidden;}
.huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table thead th {background:var(--huston-bg);font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:var(--huston-text-muted);padding:13px 10px!important;border-bottom:1px solid var(--huston-border);}
.huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table td {padding:15px 10px!important;border-bottom:1px solid var(--huston-border);vertical-align:middle!important;font-size:13px;}
.huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table tr:last-child td {border-bottom:0;}
.huston-cart-page .woocommerce td.product-remove {width:37px;text-align:center;}
.huston-cart-page .woocommerce td.product-remove a.remove {display:grid!important;place-items:center!important;width:29px!important;height:29px!important;line-height:1!important;border:1px solid var(--huston-border)!important;border-radius:4px!important;background:transparent!important;color:var(--huston-text-muted)!important;font-size:20px!important;font-weight:400!important;}
.huston-cart-page .woocommerce td.product-remove a.remove:hover {color:var(--huston-primary)!important;border-color:var(--huston-primary)!important;background:var(--huston-surface)!important;}
.huston-cart-page .woocommerce th.product-thumbnail {width:84px;}
.huston-cart-page .woocommerce td.product-thumbnail {width:84px;}
.huston-cart-page .woocommerce td.product-thumbnail a {display:block;width:74px;height:74px;}
.huston-cart-page .woocommerce td.product-thumbnail img {display:block!important;width:74px!important;height:74px!important;max-width:74px!important;max-height:74px!important;aspect-ratio:1!important;object-fit:contain!important;margin:0!important;padding:3px!important;background:var(--huston-bg)!important;border:1px solid var(--huston-border)!important;border-radius:4px!important;}
.huston-cart-page .woocommerce td.product-name {min-width:150px;max-width:320px;}
.huston-cart-page .woocommerce td.product-name>a {display:inline-block;font-size:13px;font-weight:700;line-height:1.45;color:var(--huston-text);}
.huston-cart-page .woocommerce td.product-name>a:hover {color:var(--huston-primary);}
.huston-cart-page .woocommerce td.product-name .variation {font-size:11px;color:var(--huston-text-muted);margin:7px 0 0;}
.huston-cart-page .woocommerce td.product-name .variation dd {margin:0;}
.huston-cart-page .woocommerce td.product-price,
.huston-cart-page .woocommerce td.product-subtotal {white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;}
.huston-cart-page .woocommerce td.product-subtotal {font-weight:750;color:var(--huston-text);}
.huston-cart-page .woocommerce td.product-quantity {width:120px;}
/* The sitewide input width:100% caused the quantity field to occupy an entire cell. */
.huston-cart-page .woocommerce .quantity.huston-quantity {display:inline-flex!important;align-items:stretch!important;justify-content:space-between!important;vertical-align:middle!important;width:112px!important;min-width:112px!important;max-width:112px!important;height:38px!important;min-height:38px!important;padding:0!important;margin:0!important;float:none!important;border:1px solid var(--huston-border);border-radius:5px;background:var(--huston-surface);overflow:hidden;}
.huston-cart-page .woocommerce .quantity.huston-quantity input.qty {display:block!important;flex:0 0 40px!important;width:40px!important;max-width:40px!important;min-width:0!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;text-align:center!important;border:0!important;border-left:1px solid var(--huston-border)!important;border-right:1px solid var(--huston-border)!important;border-radius:0!important;background:var(--huston-surface)!important;color:var(--huston-text)!important;box-shadow:none!important;appearance:textfield;-moz-appearance:textfield;}
.huston-cart-page .woocommerce .quantity.huston-quantity input.qty::-webkit-inner-spin-button,.huston-cart-page .woocommerce .quantity.huston-quantity input.qty::-webkit-outer-spin-button {-webkit-appearance:none;margin:0;}
.huston-cart-page .woocommerce .quantity.huston-quantity button.huston-quantity__button {display:grid!important;flex:1 1 35px!important;place-items:center!important;width:35px!important;min-width:35px!important;max-width:35px!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--huston-text)!important;font-size:19px!important;font-weight:500!important;line-height:1!important;box-shadow:none!important;}
.huston-cart-page .woocommerce .quantity.huston-quantity button.huston-quantity__button:hover {background:var(--huston-bg)!important;color:var(--huston-primary)!important;}
.huston-cart-page .woocommerce table.shop_table td.actions {padding:16px!important;}
.huston-cart-page .woocommerce table.shop_table td.actions .coupon {display:flex!important;align-items:center!important;gap:8px!important;float:left!important;}
.huston-cart-page .woocommerce table.shop_table td.actions .coupon label {position:absolute!important;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;}
.huston-cart-page .woocommerce table.shop_table td.actions .coupon input.input-text {width:160px!important;min-width:0!important;min-height:42px!important;height:42px!important;float:none!important;margin:0!important;padding:0 12px!important;font-size:13px!important;}
.huston-cart-page .woocommerce table.shop_table td.actions button.button {min-height:42px!important;height:42px!important;float:none!important;margin:0!important;padding:0 14px!important;border:1px solid var(--huston-border)!important;border-radius:4px!important;background:var(--huston-surface)!important;color:var(--huston-text)!important;font-weight:700!important;font-size:12px!important;}
.huston-cart-page .woocommerce table.shop_table td.actions button.button:not([disabled]):hover {border-color:var(--huston-primary)!important;color:var(--huston-primary)!important;}
.huston-cart-page .woocommerce table.shop_table td.actions button[name="update_cart"] {float:right!important;}
/* Totals, shipping, and safe conversion hierarchy. */
.huston-cart-page .woocommerce .cart_totals table.shop_table {background:transparent!important;border:0!important;border-top:1px solid var(--huston-border)!important;border-radius:0!important;}
.huston-cart-page .woocommerce .cart_totals table.shop_table th,
.huston-cart-page .woocommerce .cart_totals table.shop_table td {background:transparent!important;border-bottom:1px solid var(--huston-border)!important;padding:13px 4px!important;vertical-align:top!important;font-size:13px!important;}
.huston-cart-page .woocommerce .cart_totals table.shop_table th {width:36%;font-weight:650;color:var(--huston-text-muted);}
.huston-cart-page .woocommerce .cart_totals .order-total th,
.huston-cart-page .woocommerce .cart_totals .order-total td {font-weight:850!important;color:var(--huston-text)!important;font-size:16px!important;}
.huston-cart-page .woocommerce .cart_totals .woocommerce-shipping-methods {list-style:none!important;margin:0!important;padding:0!important;}
.huston-cart-page .woocommerce .cart_totals .woocommerce-shipping-methods li {display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px;margin-bottom:9px;font-size:12px;}
.huston-cart-page .woocommerce .cart_totals .woocommerce-shipping-methods input {width:15px!important;height:15px!important;min-height:0!important;margin:3px 0 0!important;accent-color:var(--huston-primary);flex:none;}
.huston-cart-page .woocommerce .cart_totals .woocommerce-shipping-methods label {display:inline!important;flex:1;min-width:0;line-height:1.5;}
.huston-cart-page .woocommerce .cart_totals .woocommerce-shipping-destination {font-size:11px;margin:9px 0;color:var(--huston-text-muted);}
.huston-cart-page .woocommerce .cart_totals .woocommerce-shipping-calculator {margin-top:7px;font-size:12px;}
.huston-cart-page .woocommerce .cart_totals .shipping-calculator-button {color:var(--huston-accent);font-weight:650;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout {display:grid!important;gap:9px;padding:18px 0 0!important;margin:0!important;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button,
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.huston-cart-whatsapp {display:flex!important;justify-content:center!important;align-items:center!important;gap:10px!important;width:100%!important;min-height:49px!important;height:auto!important;margin:0!important;padding:12px 15px!important;border:1px solid transparent!important;border-radius:5px!important;font-size:13px!important;font-weight:750!important;text-decoration:none!important;text-align:center!important;line-height:1.3!important;box-shadow:none!important;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.huston-cart-whatsapp {order:-1;background:#25D366!important;border-color:#25D366!important;color:#fff!important;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.huston-cart-whatsapp:hover {background:#1AAA51!important;border-color:#1AAA51!important;color:#fff!important;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.huston-cart-whatsapp svg {display:block;width:19px;height:19px;fill:currentColor;stroke:none;flex:none;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {background:var(--huston-primary)!important;border-color:var(--huston-primary)!important;color:#fff!important;}
.huston-cart-page .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {filter:brightness(.93);}
.huston-cart-page .huston-commerce-support {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 0;padding:19px 22px;background:var(--huston-surface);border:1px solid var(--huston-border);border-radius:6px;}
.huston-cart-page .huston-commerce-support strong {display:block;font-size:17px;margin:3px 0;color:var(--huston-text);}
.huston-cart-page .huston-commerce-support p {font-size:13px;margin:4px 0 0;color:var(--huston-text-muted);}
.huston-cart-page .huston-commerce-support .huston-btn {flex:none;white-space:nowrap;}
/* WC empty-cart markup (not a broken grid). */
.huston-cart-page .woocommerce p.cart-empty {grid-column:1/-1;margin:0;padding:26px;background:#fff;border:1px solid var(--huston-border);border-radius:6px;}
.huston-cart-page .woocommerce p.return-to-shop {grid-column:1/-1;}
@media(max-width:1190px) {
 .huston-cart-page .huston-cart-native > .woocommerce {grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:15px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table td {padding:12px 7px!important;}
 .huston-cart-page .woocommerce td.product-thumbnail a,.huston-cart-page .woocommerce td.product-thumbnail img {width:60px!important;height:60px!important;max-width:60px!important;}
 .huston-cart-page .woocommerce td.product-thumbnail,.huston-cart-page .woocommerce th.product-thumbnail {width:66px;}
 .huston-cart-page .woocommerce td.product-name {min-width:125px;}
 .huston-cart-page .woocommerce .cross-sells ul.products {grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:1050px) {
 .huston-cart-page .huston-cart-native > .woocommerce {display:block;}
 .huston-cart-page .woocommerce .cart-collaterals {margin:18px 0 0!important;}
 .huston-cart-page .woocommerce .cart-collaterals .cart_totals {max-width:none;}
 .huston-cart-page .woocommerce .cross-sells {margin-top:27px;}
 .huston-cart-page .woocommerce td.product-thumbnail a,.huston-cart-page .woocommerce td.product-thumbnail img {width:75px!important;height:75px!important;max-width:75px!important;}
 .huston-cart-page .woocommerce td.product-name {min-width:0;}
}
@media(max-width:760px) {
 .huston-cart-page {margin:15px auto 85px;}
 .huston-cart-page .huston-commerce-heading {display:block;margin-bottom:17px;}
 .huston-cart-page .huston-commerce-heading h1 {font-size:28px;}
 .huston-cart-page .huston-commerce-heading p {font-size:12px;}
 .huston-cart-page .huston-commerce-steps {margin-top:16px;gap:7px;}
 .huston-cart-page .huston-commerce-steps li {font-size:10px;gap:5px;}
 .huston-cart-page .huston-commerce-steps li:not(:last-child)::after {width:10px;margin-left:3px;}
 .huston-cart-page .huston-commerce-steps li span {width:22px;height:22px;font-size:10px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table {background:transparent;border:0!important;overflow:visible;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table thead {display:none!important;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table tbody {display:block!important;width:100%;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table tr.cart_item {display:grid!important;position:relative;grid-template-columns:82px minmax(0,1fr);grid-template-areas:'thumb name' 'thumb price' 'actions actions';gap:7px 13px;padding:13px;margin-bottom:10px;background:var(--huston-surface);border:1px solid var(--huston-border);border-radius:6px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table tr.cart_item td {display:block!important;width:auto!important;min-width:0!important;max-width:none!important;border:0!important;padding:0!important;text-align:left!important;background:transparent!important;}
 .huston-cart-page .woocommerce table.shop_table_responsive tr td::before {content:none!important;display:none!important;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-remove {grid-area:name;position:absolute!important;top:0;right:0;z-index:1;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-remove a.remove {width:26px!important;height:26px!important;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-thumbnail {grid-area:thumb;align-self:start;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-thumbnail a,
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-thumbnail img {width:82px!important;height:82px!important;max-width:82px!important;max-height:82px!important;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table tr.cart_item td.product-name {grid-area:name;padding-right:35px!important;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-name a {font-size:13px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-price {grid-area:price;align-self:start;color:var(--huston-text-muted);font-size:12px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-quantity {grid-area:actions;justify-self:start;align-self:end;margin-top:10px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-subtotal {grid-area:actions;justify-self:end;align-self:end;text-align:right!important;font-size:14px;font-weight:800;max-width:calc(100% - 130px)!important;}
 .huston-cart-page .woocommerce .woocommerce-cart-form td.product-subtotal::before {content:'Subtotal'!important;display:block!important;font-size:10px;font-weight:500;color:var(--huston-text-muted);margin-bottom:2px;}
 .huston-cart-page .woocommerce .woocommerce-cart-form table.shop_table tr:not(.cart_item) td.actions {display:flex!important;flex-wrap:wrap;gap:10px;align-items:stretch;padding:10px 0!important;background:transparent;border:0;}
 .huston-cart-page .woocommerce table.shop_table td.actions .coupon {float:none!important;display:flex!important;flex:1 1 100%;width:100%!important;}
 .huston-cart-page .woocommerce table.shop_table td.actions .coupon input.input-text {flex:1;width:100%!important;}
 .huston-cart-page .woocommerce table.shop_table td.actions button[name="update_cart"] {float:none!important;margin:0 0 0 auto!important;}
 .huston-cart-page .woocommerce .cart-collaterals .cart_totals {padding:18px 15px;}
 .huston-cart-page .woocommerce .cross-sells ul.products {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
 .huston-cart-page .woocommerce .cross-sells h2 {font-size:21px;}
 .huston-cart-page .huston-commerce-support {display:block;padding:17px;margin-top:16px;}
 .huston-cart-page .huston-commerce-support .huston-btn {margin-top:12px;width:100%;}
}
