/* Shared cart/checkout delivery layout. Keep every real price, method and pickup widget. */
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) { display:block; width:100%; table-layout:fixed; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) > :is(thead,tbody,tfoot) { display:block; width:100%; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; width:100%; border:0; border-bottom:1px solid var(--dc-customer-line); border-radius:0; overflow:visible; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr > :is(th,td) { display:block; width:auto; min-width:0; margin:0; padding:14px 0; border:0 !important; text-align:left; white-space:normal; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr > td:last-child { text-align:right; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr > :is(th,td)::before { content:none !important; display:none !important; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr > td[colspan] { grid-column:1 / -1; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.shipping { display:grid !important; grid-template-columns:minmax(0,1fr); gap:0; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.shipping > th { padding:16px 0 8px; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.shipping > td { padding:0 0 14px; text-align:left !important; }
html body.dc-customer-polish :is(.cart_totals table.shop_table,table.woocommerce-checkout-review-order-table) tr.order-total { border-bottom:0; }
html body.dc-customer-polish .woocommerce #shipping_method { display:grid !important; grid-template-columns:minmax(0,1fr); gap:10px; width:100%; max-width:100%; min-width:0; margin:0; padding:0; list-style:none; }
/* WooCommerce renders a hidden input when only one rate is available. */
html body.dc-customer-polish .woocommerce #shipping_method > li { display:grid !important; grid-template-columns:minmax(0,1fr); gap:8px; align-items:start; min-width:0; max-width:100%; margin:0 !important; padding:5px 0 !important; text-indent:0 !important; list-style:none !important; }
html body.dc-customer-polish .woocommerce #shipping_method > li:has(> input[type=radio]) { grid-template-columns:18px minmax(0,1fr); }
html body.dc-customer-polish .woocommerce #shipping_method > li > input[type=radio] { grid-column:1; grid-row:1; }
html body.dc-customer-polish .woocommerce #shipping_method > li > label { grid-column:1 / -1; grid-row:1; }
html body.dc-customer-polish .woocommerce #shipping_method > li:has(> input[type=radio]) > label { grid-column:2; }
html body.dc-customer-polish .woocommerce #shipping_method > li > :not(input):not(label) { grid-column:1 / -1; min-width:0; max-width:100%; }
html body.dc-customer-polish .woocommerce #shipping_method > li::before,
html body.dc-customer-polish .woocommerce #shipping_method > li::after { display:none !important; content:none !important; }
html body.dc-customer-polish .woocommerce #shipping_method input[type=radio] { width:18px; height:18px; min-height:18px; margin:2px 0 0 !important; padding:0; }
html body.dc-customer-polish .woocommerce #shipping_method label { display:flex !important; flex-wrap:wrap; align-items:baseline; gap:6px; min-width:0 !important; max-width:100%; width:100%; margin:0 !important; font-size:14px; font-weight:400; line-height:1.5; text-indent:0 !important; white-space:normal; overflow-wrap:anywhere; }
html body.dc-customer-polish .woocommerce #shipping_method label:has(> img) { display:grid !important; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:7px; }
html body.dc-customer-polish .woocommerce #shipping_method label img { display:block; width:36px !important; max-width:36px !important; height:22px !important; max-height:22px !important; margin:0 !important; object-fit:contain; flex:0 0 36px; }
html body.dc-customer-polish .woocommerce #shipping_method .woocommerce-Price-amount { margin-left:auto; white-space:nowrap; font-size:14px; font-weight:500; }
html body.dc-customer-polish .woocommerce #shipping_method label:has(> img) > .woocommerce-Price-amount { grid-column:3; justify-self:end; margin-left:0; }
html body.dc-customer-polish .woocommerce #shipping_method label > small { flex-basis:100%; grid-column:2 / -1; }
html body.dc-customer-polish .woocommerce #shipping_method :is(select,.select2-container,.custom-dropdown,.wc_shipping_dpd_terminals) { grid-column:1 / -1; width:100% !important; min-width:0 !important; max-width:100% !important; }
html body.dc-customer-polish .woocommerce tr.shipping :is(select,.select2-container,.custom-dropdown,.wc_shipping_dpd_terminals) { width:100% !important; min-width:0 !important; max-width:100% !important; }
html body.dc-customer-polish .woocommerce :is(.cart_totals,#order_review) :is(.select2-container,.custom-dropdown,.wc_shipping_dpd_terminals) { width:100% !important; min-width:0 !important; max-width:100% !important; }
html body.dc-customer-polish .woocommerce tr.shipping :is(.select2-selection--single,.selected-option) { min-height:46px; height:auto !important; border-color:var(--dc-customer-line); border-radius:7px; font-size:14px; text-indent:0; }
html body.dc-customer-polish .woocommerce tr.shipping .select2-selection--single .select2-selection__rendered { padding:11px 30px 11px 12px; line-height:1.45; white-space:normal; overflow-wrap:anywhere; }
html body.dc-customer-polish .woocommerce tr.shipping :is(.dropdown-list,.select2-dropdown) { max-width:100%; box-sizing:border-box; }
html body.dc-customer-polish .woocommerce .woocommerce-MyAccount-navigation :is(li,a) { text-indent:0; }
html body.dc-customer-polish .woocommerce .woocommerce-MyAccount-navigation li a { font-size:var(--dc-customer-menu-font-size,16px) !important; line-height:1.45; }
html body.dc-customer-polish .woocommerce .woocommerce-MyAccount-navigation ul { padding:0 !important; margin:0 !important; list-style:none !important; }
html body.dc-customer-polish .woocommerce .woocommerce-MyAccount-navigation li { padding:0 !important; list-style:none !important; }
html body.dc-customer-polish .woocommerce .woocommerce-MyAccount-navigation li::marker { content:none; }
html body.dc-customer-polish .dc-customer-store-link::after,
html body.dc-customer-polish .dc-customer-shortcut::after { content:none !important; display:none !important; }

/* Cart uses native WooCommerce forms; only its presentation changes. */
html body.dc-customer-polish.dc-customer-cart .woocommerce:has(> form.woocommerce-cart-form) { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); gap:var(--dc-customer-gap); align-items:start; }
html body.dc-customer-polish.dc-customer-cart .woocommerce:has(> form.woocommerce-cart-form)::before,
html body.dc-customer-polish.dc-customer-cart .woocommerce:has(> form.woocommerce-cart-form)::after { content:none; display:none; }
html body.dc-customer-polish.dc-customer-cart .woocommerce > form.woocommerce-cart-form { grid-column:1; grid-row:2; float:none !important; width:100% !important; min-width:0; margin:0; padding:var(--dc-customer-padding); background:var(--dc-customer-surface); border:1px solid var(--dc-customer-line); border-radius:var(--dc-customer-radius); }
html body.dc-customer-polish.dc-customer-cart .woocommerce > .woocommerce-notices-wrapper { grid-row:1; margin:0; }
html body.dc-customer-polish.dc-customer-cart .woocommerce > .cart-collaterals { display:contents; }
html body.dc-customer-polish.dc-customer-cart .cart_totals { grid-column:2; grid-row:2; width:100% !important; float:none !important; min-width:0; margin:0; padding:var(--dc-customer-padding); border:1px solid var(--dc-customer-line); border-radius:var(--dc-customer-radius); background:var(--dc-customer-surface); }
html body.dc-customer-polish.dc-customer-cart .cart_totals h2 { font-size:22px; margin:0 0 16px; padding:0; background:transparent; border:0; }
html body.dc-customer-polish.dc-customer-cart .cart_totals table.shop_table { margin-bottom:12px; }
html body.dc-customer-polish.dc-customer-cart .cross-sells { grid-column:1 / -1; grid-row:3; width:100% !important; float:none !important; margin:16px 0 0; }
html body.dc-customer-polish.dc-customer-cart .cross-sells ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; }
html body.dc-customer-polish.dc-customer-cart .cross-sells li.product { width:100% !important; float:none !important; min-width:0; padding:16px; background:var(--dc-customer-surface); border:1px solid var(--dc-customer-line); border-radius:var(--dc-customer-radius); }
html body.dc-customer-polish.dc-customer-cart .cross-sells li.product img { width:100%; max-height:180px; object-fit:contain; }
html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents { table-layout:auto; margin:0; }
html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents :is(th,td) { padding:14px 7px; line-height:1.5; }
html body.dc-customer-polish.dc-customer-cart td.product-thumbnail { width:82px; min-width:70px; }
html body.dc-customer-polish.dc-customer-cart td.product-thumbnail a { display:block; width:70px; height:78px; }
html body.dc-customer-polish.dc-customer-cart td.product-thumbnail img { width:100% !important; height:100% !important; max-width:100% !important; max-height:100% !important; object-fit:contain; margin:0; float:none; }
html body.dc-customer-polish.dc-customer-cart td.product-name { font-size:14px; min-width:0; }
html body.dc-customer-polish.dc-customer-cart td.product-name a { font-weight:400; }
html body.dc-customer-polish.dc-customer-cart td :is(.amount,.quantity) { font-variant-numeric:tabular-nums; }
html body.dc-customer-polish.dc-customer-cart :is(td.product-subtotal,td.product-price,th.product-subtotal,th.product-price) { white-space:nowrap; overflow-wrap:normal; }
html body.dc-customer-polish.dc-customer-cart th.product-quantity { white-space:nowrap; font-size:11px; }
html body.dc-customer-polish.dc-customer-cart .quantity { display:inline-flex; align-items:center; width:auto; max-width:100%; float:none; margin:0; }
html body.dc-customer-polish.dc-customer-cart .quantity .qty { min-width:0; width:58px; max-width:100%; min-height:42px; padding:8px 5px; text-align:center; font-size:15px; }
html body.dc-customer-polish.dc-customer-cart a.remove { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--dc-customer-line); border-radius:50%; font-size:20px; line-height:1; color:var(--dc-customer-muted) !important; background:transparent; }
html body.dc-customer-polish.dc-customer-cart a.remove:hover { color:#a83931 !important; border-color:#a83931; }
html body.dc-customer-polish.dc-customer-cart td.actions { padding:20px 0 0; border:0; background:transparent; }
html body.dc-customer-polish.dc-customer-cart td.actions .coupon { display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:100%; float:none; margin:0 0 12px; }
html body.dc-customer-polish.dc-customer-cart td.actions .coupon #coupon_code { flex:1 1 140px; width:auto; min-width:0; min-height:44px; padding:10px 12px; font-size:14px; margin:0; }
html body.dc-customer-polish.dc-customer-cart td.actions .coupon .button { margin:0; float:none; background:transparent; color:var(--dc-customer-text); border-color:var(--dc-customer-line); }
html body.dc-customer-polish.dc-customer-cart td.actions > .button { float:right; margin:0; font-size:13px; }
html body.dc-customer-polish.dc-customer-cart .wc-proceed-to-checkout { margin:0; padding:10px 0 0; border:0; }
html body.dc-customer-polish.dc-customer-cart .wc-proceed-to-checkout .checkout-button { display:flex; width:100%; min-height:50px; margin:16px 0 0; }
html body.dc-customer-polish.dc-customer-cart :is(.alg-wc-alfs,.alg-wc-alfs-progress) { max-width:100%; font-size:13px; line-height:1.6; }
html body.dc-customer-polish.dc-customer-cart :is(.cart-empty,.return-to-shop) { max-width:640px; margin:0 auto 16px; }

/* Category-only lists get a balanced text grid; mixed product grids keep their layout. */
html body.dc-storefront-polish ul.products:has(> li.product-category):not(:has(> li.product:not(.product-category))) { display:grid !important; grid-template-columns:repeat(var(--dc-shop-subcategory-columns,2),minmax(0,1fr)) !important; gap:var(--dc-shop-subcategory-gap,12px) !important; align-items:stretch; margin:0 0 24px !important; padding:0 !important; }
html body.dc-storefront-polish ul.products:has(> li.product-category):not(:has(> li.product:not(.product-category)))::before,
html body.dc-storefront-polish ul.products:has(> li.product-category):not(:has(> li.product:not(.product-category)))::after { content:none !important; display:none !important; }
html body.dc-storefront-polish ul.products > li.product-category { width:auto !important; min-width:0 !important; height:auto !important; min-height:98px !important; margin:0 !important; padding:0 !important; float:none !important; border:1px solid var(--dc-shop-line,#d9dee4) !important; border-radius:var(--dc-shop-radius,8px) !important; box-shadow:none !important; transform:none !important; }
html body.dc-storefront-polish ul.products > li.product-category > a { display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:flex-start !important; min-height:100% !important; padding:var(--dc-shop-subcategory-padding,18px) !important; text-align:left !important; }
html body.dc-storefront-polish ul.products > li.product-category img { display:none !important; }
html body.dc-storefront-polish ul.products > li.product-category .woocommerce-loop-category__title { display:block !important; width:100%; margin:0 !important; padding:0 !important; color:var(--dc-shop-ink,#071831) !important; font-size:var(--dc-shop-subcategory-font-size,16px) !important; font-weight:500 !important; line-height:1.45 !important; letter-spacing:0 !important; text-align:left !important; text-transform:none !important; overflow-wrap:anywhere; }
html body.dc-storefront-polish ul.products > li.product-category .count { display:block !important; margin:7px 0 0 !important; padding:0 !important; background:transparent !important; color:var(--dc-shop-muted,#687487) !important; font-size:12px !important; font-weight:400 !important; line-height:1.4; text-transform:none !important; }
html body.dc-storefront-polish ul.products > li.product-category:hover { border-color:var(--dc-shop-lime,#a1d40f) !important; box-shadow:0 0 0 1px var(--dc-shop-lime,#a1d40f) !important; }
html body.dc-storefront-polish ul.products > li.product-category:focus-visible { outline:2px solid var(--dc-shop-ink,#071831) !important; outline-offset:3px; }

@media(max-width:1100px) {
  html body.dc-customer-polish.dc-customer-cart .woocommerce:has(> form.woocommerce-cart-form) { grid-template-columns:minmax(0,1fr); }
  html body.dc-customer-polish.dc-customer-cart .cart_totals { grid-column:1; grid-row:3; }
  html body.dc-customer-polish.dc-customer-cart .cross-sells { grid-row:4; }
}
@media(max-width:768px) {
  html body.dc-customer-polish .woocommerce .woocommerce-MyAccount-navigation li a { font-size:max(14px,calc(var(--dc-customer-menu-font-size,16px) - 2px)) !important; }
  html body.dc-customer-polish.dc-customer-cart .woocommerce > form.woocommerce-cart-form,
  html body.dc-customer-polish.dc-customer-cart .cart_totals { padding:var(--dc-customer-padding-mobile); }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents { display:block; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tbody { display:block; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents thead { display:none; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tr.cart_item { position:relative; display:grid; grid-template-columns:76px minmax(0,1fr); grid-template-areas:'image name' 'image price' 'quantity subtotal'; gap:8px 12px; width:100%; padding:16px 0; border:0; border-bottom:1px solid var(--dc-customer-line); border-radius:0; overflow:visible; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tr.cart_item td { display:block !important; width:auto; min-width:0; min-height:0 !important; padding:0 !important; border:0 !important; background:transparent !important; text-align:left !important; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tr.cart_item td::before { content:none !important; display:none !important; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents td.product-thumbnail { grid-area:image; }
  html body.dc-customer-polish.dc-customer-cart td.product-thumbnail a { width:76px; height:84px; }
  html body.dc-customer-polish.dc-customer-cart td.product-name { grid-area:name; padding-right:28px !important; font-size:14px; }
  html body.dc-customer-polish.dc-customer-cart td.product-price { grid-area:price; font-size:13px; color:var(--dc-customer-muted); }
  html body.dc-customer-polish.dc-customer-cart td.product-quantity { grid-area:quantity; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents td.product-remove { position:absolute; top:13px; right:0; width:28px; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tr.cart_item td.product-name { padding-right:36px !important; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tr.cart_item td.product-subtotal { grid-area:subtotal; align-self:center; justify-self:end; text-align:right !important; font-size:15px; font-weight:500; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents td.actions { display:block; padding:18px 0 0; }
  html body.dc-customer-polish.dc-customer-cart table.woocommerce-cart-form__contents tr:has(> td.actions) { display:block; border:0; }
  html body.dc-customer-polish.dc-customer-cart td.actions .coupon { display:grid !important; grid-template-columns:minmax(0,1fr); }
  html body.dc-customer-polish.dc-customer-cart td.actions .coupon :is(#coupon_code,.button),
  html body.dc-customer-polish.dc-customer-cart td.actions > .button { width:100% !important; float:none !important; }
  html body.dc-customer-polish.dc-customer-cart td.actions .coupon > :is(input,button) { width:100% !important; float:none !important; flex:none !important; margin:0 !important; min-height:44px; font-size:14px; line-height:1.5; }
  html body.dc-customer-polish.dc-customer-cart .cross-sells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html body.dc-storefront-polish ul.products:has(> li.product-category):not(:has(> li.product:not(.product-category))) { grid-template-columns:minmax(0,1fr) !important; }
  html body.dc-storefront-polish ul.products > li.product-category { min-height:80px !important; }
  html body.dc-storefront-polish ul.products > li.product-category > a { padding:var(--dc-shop-subcategory-padding,18px) !important; }
}
