/* Trendstyle shop skin: cart, checkout, My account, shop and product pages in the pop-ups' look. Paper and white cards, ink type, dark pill
   buttons, a hairline of gold. Mobile first; the theme's markup is untouched, so the layout rules that must beat the theme's own CSS carry
   !important. Scoped to body.ts-shop-skin (+ ts-skin-<page>). */
body.ts-shop-skin {
  --tsk-paper: #f5f4f1; --tsk-card: #ffffff; --tsk-ink: #1c1c1e; --tsk-ink-2: #4a4f57; --tsk-ink-3: #8a9099; --tsk-line: rgba(20, 24, 31, .08);
  --tsk-gold: #b39557; --tsk-gold-soft: rgba(179, 149, 87, .35); --tsk-ok: #2f7d4f; --tsk-r: 22px; --tsk-r-s: 14px;
  --tsk-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 18px 50px -18px rgba(16, 20, 28, .22), 0 3px 12px -5px rgba(16, 20, 28, .12);
  --tsk-ease: cubic-bezier(.2, .8, .2, 1);
  --tsk-font: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --tsk-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
}
body.ts-shop-skin .woocommerce, body.ts-shop-skin .woocommerce-page, body.ts-shop-skin #main-content .et_pb_text_inner, body.ts-shop-skin .ts-design-notes { font-family: var(--tsk-font); color: var(--tsk-ink); }
body.ts-shop-skin #main-content { background: var(--tsk-paper); }
/* page titles: a serif display face with a gold hairline */
body.ts-shop-skin .woocommerce h1, body.ts-shop-skin h1.entry-title, body.ts-shop-skin .woocommerce-cart h1, body.ts-shop-skin .woocommerce div.product .product_title,
body.ts-shop-skin #order_review_heading, body.ts-shop-skin .woocommerce-billing-fields h3, body.ts-shop-skin .cart_totals h2, body.ts-shop-skin .woocommerce-MyAccount-content h2, body.ts-shop-skin .related.products > h2, body.ts-shop-skin .upsells.products > h2 {
  font-family: var(--tsk-display) !important; font-weight: 600 !important; letter-spacing: -.01em; line-height: 1.05; color: var(--tsk-ink);
}
body.ts-shop-skin .woocommerce h1, body.ts-shop-skin h1.entry-title, body.ts-shop-skin .woocommerce div.product .product_title { font-size: clamp(34px, 5vw, 54px) !important; margin: 10px 0 18px; position: relative; }
body.ts-shop-skin #order_review_heading, body.ts-shop-skin .woocommerce-billing-fields h3, body.ts-shop-skin .cart_totals h2, body.ts-shop-skin .woocommerce-MyAccount-content h2 { font-size: 30px !important; margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; }
body.ts-shop-skin .woocommerce-billing-fields h3::after, body.ts-shop-skin #order_review_heading::after, body.ts-shop-skin .cart_totals h2::after { content: ''; display: block; width: 44px; height: 1px; margin-top: 10px; background: linear-gradient(90deg, var(--tsk-gold), var(--tsk-gold-soft)); }

/* ---------------------------------------------------------------- shared pieces */
body.ts-shop-skin .ts-pill, body.ts-shop-skin .woocommerce .button, body.ts-shop-skin .woocommerce button.button, body.ts-shop-skin .woocommerce a.button,
body.ts-shop-skin .woocommerce input.button, body.ts-shop-skin #place_order, body.ts-shop-skin .single_add_to_cart_button, body.ts-shop-skin .checkout-button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 11px 24px !important; border: 0 !important; border-radius: 99px !important;
  background: var(--tsk-ink) !important; color: #fff !important; font-family: var(--tsk-font); font-weight: 700 !important; font-size: 14px !important; line-height: 1.2 !important; letter-spacing: .02em; text-transform: none !important; text-decoration: none; cursor: pointer;
  box-shadow: 0 10px 24px -12px rgba(16, 20, 28, .6); transition: transform .2s var(--tsk-ease), box-shadow .2s var(--tsk-ease), background .2s;
}
body.ts-shop-skin .woocommerce .button:hover, body.ts-shop-skin #place_order:hover, body.ts-shop-skin .single_add_to_cart_button:hover, body.ts-shop-skin .ts-pill:hover { transform: translateY(-1px); box-shadow: 0 14px 28px -12px rgba(16, 20, 28, .65); background: #2a2d33 !important; color: #fff !important; }
body.ts-shop-skin .ts-pill-light, body.ts-shop-skin .woocommerce .button.ts-light, body.ts-shop-skin .woocommerce .coupon .button, body.ts-shop-skin .woocommerce button[name="update_cart"], body.ts-shop-skin .woocommerce .clear-cart, body.ts-shop-skin .woocommerce .button.clear_cart_button {
  background: #fff !important; color: var(--tsk-ink) !important; box-shadow: 0 0 0 1px var(--tsk-line) inset;
}
body.ts-shop-skin .ts-card, body.ts-shop-skin .cart_totals, body.ts-shop-skin #order_review, body.ts-shop-skin .woocommerce-billing-fields, body.ts-shop-skin .woocommerce-additional-fields,
body.ts-shop-skin .woocommerce-MyAccount-navigation, body.ts-shop-skin .woocommerce-MyAccount-content, body.ts-shop-skin .ts-design-notes, body.ts-skin-cart .woocommerce-cart-form {
  background: var(--tsk-card); border: 1px solid var(--tsk-line); border-radius: var(--tsk-r); box-shadow: var(--tsk-shadow); padding: 18px; box-sizing: border-box;
}
body.ts-shop-skin .woocommerce form .form-row { margin-bottom: 12px; }
body.ts-shop-skin .woocommerce form .form-row input.input-text, body.ts-shop-skin .woocommerce form .form-row textarea, body.ts-shop-skin .woocommerce form .form-row select,
body.ts-shop-skin .select2-container--default .select2-selection--single, body.ts-shop-skin .woocommerce .coupon .input-text {
  border: 1px solid var(--tsk-line) !important; border-radius: var(--tsk-r-s) !important; background: var(--tsk-paper) !important; padding: 13px 15px !important; min-height: 48px; box-shadow: none !important;
  font-family: var(--tsk-font); font-size: 16px !important; color: var(--tsk-ink) !important; transition: border-color .2s, background .2s;
}
body.ts-shop-skin .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0; color: var(--tsk-ink); }
body.ts-shop-skin .select2-container--default .select2-selection--single .select2-selection__arrow { top: 11px; right: 10px; }
body.ts-shop-skin .woocommerce form .form-row input.input-text:focus, body.ts-shop-skin .woocommerce form .form-row textarea:focus { outline: 0; border-color: var(--tsk-ink) !important; background: #fff !important; }
body.ts-shop-skin .woocommerce form .form-row label { font-family: var(--tsk-font); font-weight: 700 !important; font-size: 11.5px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--tsk-ink-3) !important; margin-bottom: 6px; }
body.ts-shop-skin .woocommerce form .form-row .required { color: var(--tsk-gold); }
body.ts-shop-skin .woocommerce-info, body.ts-shop-skin .woocommerce-message, body.ts-shop-skin .woocommerce-error, body.ts-shop-skin .woocommerce-notices-wrapper > div {
  border: 1px solid var(--tsk-line) !important; border-radius: var(--tsk-r-s) !important; background: #fff !important; color: var(--tsk-ink) !important; padding: 14px 18px 14px 48px !important; box-shadow: none; font-family: var(--tsk-font);
}
body.ts-shop-skin .woocommerce-info::before, body.ts-shop-skin .woocommerce-message::before { color: var(--tsk-gold) !important; }
body.ts-shop-skin .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--tsk-ink) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
/* a product line: picture, name, then the details one per line WITH their labels, as the old cart and checkout list them (Door Type:
   Double / Size: 900mm / ...): customers confirm the exact cabinet from these, so the labels stay. Two columns (label | value) keep
   four lines short; the value column may wrap, the label never does. */
body.ts-shop-skin dl.variation { display: grid !important; grid-template-columns: max-content minmax(0, 1fr); gap: 1px 8px; margin: 5px 0 0 !important; padding: 0 !important; font-size: 12.5px !important; line-height: 1.4; color: var(--tsk-ink-3) !important; font-weight: 500; }
body.ts-shop-skin dl.variation dt { display: block !important; margin: 0 !important; padding: 0 !important; float: none !important; font-weight: 600 !important; color: var(--tsk-ink-3) !important; }
body.ts-shop-skin dl.variation dd { display: block !important; margin: 0 !important; padding: 0 !important; float: none !important; font-weight: 500 !important; color: var(--tsk-ink-2) !important; min-width: 0; overflow-wrap: anywhere; }
body.ts-shop-skin dl.variation dd p { display: inline !important; margin: 0 !important; font-size: inherit !important; }
body.ts-shop-skin td.product-name span[style*="color:red"], body.ts-shop-skin td.product-name span[style*="color: red"] {
  display: inline-block; margin: 6px 0 0; padding: 2px 9px; border-radius: 99px; background: #e9f3ec; color: var(--tsk-ok) !important; font: 700 11px/1.5 var(--tsk-font) !important; letter-spacing: .03em;
}
body.ts-shop-skin .ts-line-pic { float: left; width: 54px; height: 54px; margin: 0 12px 6px 0; border-radius: 12px; overflow: hidden; background: var(--tsk-paper); border: 1px solid var(--tsk-line); }
body.ts-shop-skin .ts-line-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ts-shop-skin .ts-line-name { font-weight: 700; }
body.ts-shop-skin .product-quantity strong, body.ts-shop-skin strong.product-quantity { color: var(--tsk-ink-3); font-weight: 600; }
body.ts-shop-skin .quantity { display: inline-flex !important; align-items: center; gap: 4px; }
body.ts-shop-skin .quantity .qty, body.ts-shop-skin #order_review .cart_item .quantity input { border: 1px solid var(--tsk-line) !important; border-radius: 10px !important; height: 36px !important; width: 44px !important; background: #fff !important; text-align: center; font-family: var(--tsk-font); }
body.ts-shop-skin .quantity .plus, body.ts-shop-skin .quantity .minus, body.ts-shop-skin .quantity button { width: 32px !important; height: 32px !important; border-radius: 50% !important; border: 1px solid var(--tsk-line) !important; background: #fff !important; color: var(--tsk-ink) !important; padding: 0 !important; min-height: 0 !important; box-shadow: none !important; display: inline-flex !important; align-items: center; justify-content: center; }
body.ts-shop-skin a.remove { width: 22px !important; height: 22px !important; line-height: 20px !important; font-size: 15px !important; color: var(--tsk-ink-3) !important; border: 1px solid var(--tsk-line); background: #fff !important; border-radius: 50%; }
body.ts-shop-skin a.remove:hover { background: var(--tsk-ink) !important; color: #fff !important; }
/* touch targets: the circles keep their look (22 px remove, 32 px quantity); an invisible layer round each makes the tap area 44 x 44 px
   at every width and pointer (F34, 2026-10-08: it was phones and touch screens only, and QA measured 22/30 px with a mouse at 1440) */
@media screen {
  body.ts-shop-skin a.remove, body.ts-shop-skin .quantity .plus, body.ts-shop-skin .quantity .minus, body.ts-shop-skin .quantity button { position: relative; }
  body.ts-shop-skin a.remove::after, body.ts-shop-skin .quantity .plus::after, body.ts-shop-skin .quantity .minus::after, body.ts-shop-skin .quantity button::after { content: ''; display: block !important; position: absolute; inset: calc((44px - 100%) / -2); } /* exactly 44 x 44 whatever the control's own size */
}
.woocommerce .amount, body.ts-shop-skin .amount { font-variant-numeric: tabular-nums; }
/* the planner's design notes */
body.ts-shop-skin .ts-design-notes { background: #fff; padding: 16px 18px; margin: 0 0 18px; border-left: 3px solid var(--tsk-gold); }
body.ts-shop-skin .ts-design-notes-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 4px; }
body.ts-shop-skin .ts-design-notes-head b { font-size: 15px; }
body.ts-shop-skin .ts-design-notes .ts-pill { min-height: 34px; padding: 6px 14px !important; font-size: 12.5px !important; }
body.ts-shop-skin .ts-design-notes p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--tsk-ink-2); }
body.ts-shop-skin .ts-design-notes p small { color: var(--tsk-ink-3); }

/* ---------------------------------------------------------------- totals tables (cart totals + checkout summary): block/flex rows, not table cells.
   One flex row per line keeps the label left and the figure right, and lets the shipping row stack its full-width carrier card. */
body.ts-shop-skin .cart_totals table.shop_table, body.ts-shop-skin .cart_totals table.shop_table tbody, body.ts-shop-skin .cart_totals table.shop_table tfoot,
body.ts-shop-skin table.woocommerce-checkout-review-order-table, body.ts-shop-skin table.woocommerce-checkout-review-order-table thead, body.ts-shop-skin table.woocommerce-checkout-review-order-table tbody, body.ts-shop-skin table.woocommerce-checkout-review-order-table tfoot { display: block !important; width: 100% !important; border: 0 !important; margin: 0 !important; }
body.ts-shop-skin .cart_totals table.shop_table tr, body.ts-shop-skin table.woocommerce-checkout-review-order-table tr { display: flex !important; align-items: baseline; justify-content: space-between; gap: 12px; border-top: 1px solid var(--tsk-line); padding: 12px 0; }
body.ts-shop-skin .cart_totals table.shop_table th, body.ts-shop-skin .cart_totals table.shop_table td, body.ts-shop-skin table.woocommerce-checkout-review-order-table th, body.ts-shop-skin table.woocommerce-checkout-review-order-table td { display: block !important; border: 0 !important; padding: 0 !important; background: none !important; font-size: 14px; font-family: var(--tsk-font); line-height: 1.45; }
body.ts-shop-skin .cart_totals table.shop_table th, body.ts-shop-skin table.woocommerce-checkout-review-order-table tfoot th { flex: 1 1 auto; font-weight: 600; color: var(--tsk-ink-2); text-align: left !important; }
body.ts-shop-skin .cart_totals table.shop_table td, body.ts-shop-skin table.woocommerce-checkout-review-order-table tfoot td { flex: 0 0 auto; text-align: right !important; font-weight: 700; color: var(--tsk-ink); }
body.ts-shop-skin .cart_totals table.shop_table td::before, body.ts-shop-skin table.woocommerce-checkout-review-order-table td::before { display: none !important; }
body.ts-shop-skin .cart_totals table.shop_table tr.order-total, body.ts-shop-skin table.woocommerce-checkout-review-order-table tr.order-total { border-top: 2px solid var(--tsk-ink); padding-top: 14px; }
body.ts-shop-skin .cart_totals table.shop_table tr.order-total th, body.ts-shop-skin .cart_totals table.shop_table tr.order-total td, body.ts-shop-skin table.woocommerce-checkout-review-order-table tr.order-total th, body.ts-shop-skin table.woocommerce-checkout-review-order-table tr.order-total td { font-size: 22px; font-weight: 800; color: var(--tsk-ink); }
body.ts-shop-skin .cart_totals table.shop_table tr:first-child { border-top: 0; }
/* the shipping line: label above, the shipping plugin's carrier card full width below */
body.ts-shop-skin tr.woocommerce-shipping-totals { flex-direction: column !important; align-items: stretch !important; gap: 8px !important; }
body.ts-shop-skin tr.woocommerce-shipping-totals td { text-align: left !important; font-weight: 500; }
body.ts-shop-skin ul.woocommerce-shipping-methods { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.ts-shop-skin ul.woocommerce-shipping-methods li { display: flex; align-items: center; gap: 10px; margin: 0 0 8px !important; padding: 0 !important; border: 0; }
body.ts-shop-skin ul.woocommerce-shipping-methods li label { display: flex !important; flex: 1 1 auto; margin: 0 !important; padding: 12px 14px; border: 1px solid var(--tsk-line); border-radius: var(--tsk-r-s); background: var(--tsk-paper); cursor: pointer; transition: border-color .2s; }
body.ts-shop-skin ul.woocommerce-shipping-methods li input[type="radio"] { flex: none; margin: 0; width: 18px; height: 18px; accent-color: var(--tsk-ink); }
body.ts-shop-skin ul.woocommerce-shipping-methods li input[type="radio"]:checked + label { border-color: var(--tsk-ink); background: #fff; }
body.ts-shop-skin .ts-ship { display: flex !important; align-items: center; gap: 12px; width: 100%; text-align: left; font-family: var(--tsk-font); }
body.ts-shop-skin .ts-ship__text { text-align: left; }
body.ts-shop-skin .ts-ship__carrier { font-size: 14px; color: var(--tsk-ink); }
body.ts-shop-skin .ts-ship__service, body.ts-shop-skin .ts-ship__note { font-size: 12.5px; color: var(--tsk-ink-3); }
body.ts-shop-skin .ts-ship__price { color: var(--tsk-ink); font-size: 15px; }
body.ts-shop-skin .ts-ship__free, body.ts-shop-skin .ts-ship__included { color: var(--tsk-ok); }
body.ts-shop-skin .ts-ship__logo-wrap { border-color: var(--tsk-line); }
body.ts-shop-skin p.woocommerce-shipping-destination { margin: 0 !important; font-size: 12.5px; color: var(--tsk-ink-3); }
body.ts-shop-skin p.woocommerce-shipping-destination strong { color: var(--tsk-ink-2); }

/* ---------------------------------------------------------------- checkout (phone first): billing first, then the summary with its item list folded */
body.ts-skin-checkout .woocommerce form.checkout #customer_details.col2-set { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; width: 100% !important; margin: 0 !important; }
body.ts-skin-checkout .woocommerce form.checkout #customer_details .col-1, body.ts-skin-checkout .woocommerce form.checkout #customer_details .col-2 { float: none !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
body.ts-skin-checkout .woocommerce form.checkout #customer_details > :not(.col-1):not(.col-2) { grid-column: 1 / -1; }
body.ts-skin-checkout .woocommerce-form-coupon-toggle .woocommerce-info { font-size: 14px !important; line-height: 1.45; }
body.ts-skin-checkout #order_review_heading { display: none; } /* the fold bar carries the heading on phones */
body.ts-skin-checkout .col-2 > .cart-add-notice, body.ts-skin-checkout .col-2 > .checkout-add-notice, body.ts-skin-checkout .col-2 > p { font-size: 13px !important; line-height: 1.45 !important; color: var(--tsk-ink-3) !important; margin: 0 0 8px !important; padding: 0 2px !important; font-family: var(--tsk-font); }
body.ts-skin-checkout .col-2 > .cart-add-notice p, body.ts-skin-checkout .col-2 > .checkout-add-notice p { font-size: inherit !important; line-height: inherit !important; margin: 0 !important; color: inherit !important; }
body.ts-skin-checkout #order_review { padding: 4px 16px 16px; }
body.ts-skin-checkout .ts-summary-fold { display: flex !important; align-items: center; gap: 12px; width: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 12px 0 14px !important; border: 0 !important; border-bottom: 1px solid var(--tsk-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; font-family: var(--tsk-font) !important; font-size: 15px !important; color: var(--tsk-ink) !important; text-align: left !important; text-transform: none !important; cursor: pointer; }
body.ts-skin-checkout .ts-summary-fold-label { flex: 1; display: flex; flex-direction: column; font-weight: 700; font-size: 15px; }
body.ts-skin-checkout .ts-summary-fold-label small { font-weight: 500; font-size: 12px; color: var(--tsk-ink-3); }
body.ts-skin-checkout .ts-summary-fold-total { font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums; }
body.ts-skin-checkout .ts-summary-fold-chev { width: 10px; height: 10px; border-right: 2px solid var(--tsk-ink-3); border-bottom: 2px solid var(--tsk-ink-3); transform: rotate(45deg); transition: transform .25s var(--tsk-ease); margin: 0 4px 4px 0; }
body.ts-skin-checkout.ts-summary-open .ts-summary-fold-chev { transform: rotate(225deg); margin: 4px 4px 0 0; }
body.ts-skin-checkout table.woocommerce-checkout-review-order-table thead { display: none !important; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item { display: none !important; } /* folded on phones */
body.ts-skin-checkout.ts-summary-open .woocommerce-checkout-review-order-table tbody tr.cart_item { display: flex !important; align-items: flex-start; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item:first-child { border-top: 0; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item:has(td.product-quantity) { border-top: 0; padding-top: 0; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table td.product-name { flex: 1 1 auto; min-width: 0; overflow: hidden; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table td.product-total { flex: 0 0 auto; text-align: right !important; white-space: nowrap; font-weight: 700; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table .product-remove { display: block !important; position: static !important; margin: 6px 0 0 !important; padding: 0 !important; text-align: right; width: auto !important; }
body.ts-skin-checkout .woocommerce-checkout-review-order-table td.product-quantity { flex: 1 1 auto; padding-left: 66px !important; }
body.ts-skin-checkout .quantity button p, body.ts-skin-cart .quantity button p { margin: 0 !important; padding: 0 !important; line-height: 1 !important; font-size: 16px; }
body.ts-skin-checkout #payment { background: var(--tsk-paper) !important; border-radius: var(--tsk-r-s); padding: 6px 14px 14px !important; margin-top: 14px; }
body.ts-skin-checkout #payment ul.payment_methods { border: 0 !important; padding: 8px 0 !important; }
body.ts-skin-checkout #payment ul.payment_methods li { padding: 10px 0; border-bottom: 1px solid var(--tsk-line); }
body.ts-skin-checkout #payment ul.payment_methods li:last-child { border-bottom: 0; }
body.ts-skin-checkout #payment div.payment_box { background: #fff !important; border-radius: var(--tsk-r-s); color: var(--tsk-ink-2); }
body.ts-skin-checkout #payment div.payment_box::before { display: none; }
body.ts-skin-checkout #place_order { width: 100%; min-height: 54px !important; font-size: 16px !important; margin-top: 10px; }
body.ts-skin-checkout .woocommerce-shipping-methods label, body.ts-skin-checkout ul#shipping_method li label { font-size: 13px; }
body.ts-skin-checkout .woocommerce-additional-fields { margin-top: 0; }
body.ts-skin-checkout .woocommerce-additional-fields h3 { display: none; }

/* ---------------------------------------------------------------- cart (phone first) */
body.ts-skin-cart .woocommerce-cart-form { padding: 6px 14px 14px; }
body.ts-skin-cart table.shop_table.cart { border: 0 !important; margin: 0; }
body.ts-skin-cart table.shop_table.cart thead { display: none; }
body.ts-skin-cart table.shop_table.cart tbody { display: block; }
body.ts-skin-cart table.shop_table.cart tr.cart_item { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: 'pic name remove' 'pic price price' 'pic qty subtotal'; gap: 4px 12px; align-items: center; padding: 14px 0; border-top: 1px solid var(--tsk-line); }
body.ts-skin-cart table.shop_table.cart tr.cart_item:first-child { border-top: 0; }
body.ts-skin-cart table.shop_table.cart td { border: 0 !important; padding: 0 !important; background: none !important; font-size: 14px; display: block !important; text-align: left !important; min-width: 0; }
body.ts-skin-cart table.shop_table.cart td::before { display: none !important; } /* the theme's responsive labels */
body.ts-skin-cart table.shop_table.cart td.product-thumbnail { grid-area: pic; width: 64px !important; }
body.ts-skin-cart table.shop_table.cart td.product-thumbnail a { display: block !important; width: 64px; height: 64px; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.ts-skin-cart table.shop_table.cart td.product-thumbnail img { width: 64px !important; min-width: 64px !important; max-width: none !important; height: 64px !important; object-fit: cover; border-radius: 12px; border: 1px solid var(--tsk-line); background: var(--tsk-paper); display: block; }
body.ts-skin-cart table.shop_table.cart td.product-name { grid-area: name; font-weight: 700; }
body.ts-skin-cart table.shop_table.cart td.product-name a { color: var(--tsk-ink) !important; text-decoration: none; }
/* the unit price, under the details (the old cart has a Price column; the quantity and the line total sit on the row below it) */
body.ts-skin-cart table.shop_table.cart td.product-price { grid-area: price; font-size: 13px; font-weight: 600; color: var(--tsk-ink-3); font-variant-numeric: tabular-nums; }
body.ts-skin-cart table.shop_table.cart td.product-price::after { content: ' each'; font-weight: 500; }
body.ts-skin-cart table.shop_table.cart td.product-quantity { grid-area: qty; }
body.ts-skin-cart table.shop_table.cart td.product-subtotal { grid-area: subtotal; font-weight: 800; text-align: right !important; font-size: 15px; }
body.ts-skin-cart table.shop_table.cart td.product-remove { grid-area: remove; text-align: right !important; align-self: start; } /* top of the (now taller) line on phones */
body.ts-skin-cart table.shop_table.cart tr:has(td.actions) { display: block; }
body.ts-skin-cart table.shop_table.cart td.actions { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: center; padding-top: 14px !important; border-top: 1px solid var(--tsk-line) !important; }
body.ts-skin-cart table.shop_table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 260px; align-items: center; }
body.ts-skin-cart table.shop_table.cart td.actions .coupon .input-text { flex: 1 1 180px; min-height: 46px; border-radius: 99px !important; }
body.ts-skin-cart .trendstyle-clear-cart-button { display: inline-flex !important; align-items: center; min-height: 46px; padding: 11px 20px !important; border: 0 !important; border-radius: 99px !important; background: #fff !important; color: var(--tsk-ink) !important; box-shadow: 0 0 0 1px var(--tsk-line) inset; font-family: var(--tsk-font); font-weight: 700 !important; font-size: 14px !important; text-transform: none !important; letter-spacing: .02em; cursor: pointer; }
body.ts-skin-cart .trendstyle-clear-cart-button:hover { background: var(--tsk-paper) !important; }
body.ts-skin-cart button[name="update_cart"]:disabled { opacity: .45; }
/* hidden labels stay hidden: the flex rows above stretched the coupon's screen-reader label to 360px, widening the phone page by 4px */
body.ts-shop-skin .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; flex: none !important; }
/* the shipping plugin's delivery estimate (a heading that opens a postcode form) */
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator { margin: 14px 0 0; padding: 0; border: 1px solid var(--tsk-line); border-radius: var(--tsk-r-s); background: var(--tsk-paper); font-family: var(--tsk-font); }
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator > h3 { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 !important; padding: 14px 16px !important; font-family: var(--tsk-font) !important; font-size: 14.5px !important; font-weight: 700 !important; color: var(--tsk-ink) !important; cursor: pointer; border: 0 !important; }
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator > h3::after { content: ''; width: 9px; height: 9px; border-right: 2px solid var(--tsk-ink-3); border-bottom: 2px solid var(--tsk-ink-3); transform: rotate(45deg); margin: 0 6px 4px 0; flex: none; }
body.ts-skin-cart .trendstyle-shipping-calculator .shipping-calculator-form { padding: 0 16px 16px; }
/* F38: WooCommerce hides the form for everyone (its CSS .woocommerce-cart .cart-collaterals .shipping-calculator-form, and cart.min.js on load);
   skin.js turns the heading into a toggle and puts .is-open on the box, and this shows the form over both (!important beats the inline style) */
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator.is-open .shipping-calculator-form { display: block !important; }
/* ...and the reverse: the fresh page hides the form with an inline style from the plugin, but the markup WooCommerce swaps in after "Update cart"
   or a coupon has none, so the form stayed visible whatever the class said and the toggle looked dead (Jetson QA, 2026-10-08). Closed means closed. */
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator:not(.is-open) .shipping-calculator-form { display: none !important; }
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator.is-open > h3::after { transform: rotate(225deg); margin: 4px 6px 0 0; }
body.ts-skin-cart .trendstyle-shipping-calculator.cart-calculator > h3:focus-visible { outline: 2px solid var(--tsk-gold); outline-offset: -2px; border-radius: var(--tsk-r-s); }
body.ts-skin-cart .trendstyle-shipping-calculator .ts-calc__row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
body.ts-skin-cart .trendstyle-shipping-calculator .ts-calc__row label { flex: 1 1 100%; font-weight: 700; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--tsk-ink-3); }
body.ts-skin-cart .trendstyle-shipping-calculator .ts-calc__postcode { flex: 1 1 140px; min-height: 46px; border: 1px solid var(--tsk-line) !important; border-radius: 99px !important; background: #fff !important; padding: 10px 16px !important; font-size: 16px; }
body.ts-skin-cart .trendstyle-shipping-calculator .ts-calc__status { font-size: 13px; color: var(--tsk-ink-3); }
/* the page is Divi Woo modules in Divi rows (Cart Products | Cart Totals in a 2/3 + 1/3 row, Cross Sells below); the module's own
   .cart-collaterals only carries the humm promo banner */
body.ts-skin-cart .et_pb_wc_cart_products .cart-collaterals { display: block !important; margin: 14px 0 0 !important; width: 100% !important; }
body.ts-skin-cart .cart-collaterals .humm-img-container { margin: 0 !important; border-radius: var(--tsk-r-s); overflow: hidden; max-width: 560px; }
body.ts-skin-cart .cart-collaterals .humm-img-container img { display: block; width: 100%; height: auto; }
body.ts-skin-cart .cart_totals { float: none !important; width: 100% !important; margin: 0 !important; }
body.ts-skin-cart .et_pb_wc_cart_totals, body.ts-skin-cart .et_pb_wc_cross_sells, body.ts-skin-cart .et_pb_wc_cart_products { margin-bottom: 0 !important; }
body.ts-skin-cart .cross-sells { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
body.ts-skin-cart .cross-sells > h2 { font-family: var(--tsk-display) !important; font-weight: 600 !important; font-size: 30px !important; line-height: 1.1; margin: 10px 0 16px !important; padding: 0 !important; color: var(--tsk-ink); }
body.ts-skin-cart .cross-sells > h2::after { content: ''; display: block; width: 44px; height: 1px; margin-top: 10px; background: linear-gradient(90deg, var(--tsk-gold), var(--tsk-gold-soft)); }
body.ts-skin-cart .et_pb_wc_cross_sells ul.products li.product .et_shop_image, body.ts-skin-cart .et_pb_wc_cross_sells ul.products li.product .et_shop_image img { border-radius: var(--tsk-r-s); overflow: hidden; }
body.ts-skin-cart .et_pb_wc_cross_sells ul.products li.product .et_overlay { display: none !important; }
body.ts-skin-cart .et_pb_wc_cross_sells ul.products li.product .price del { color: var(--tsk-ink-3); margin-right: 6px; }
body.ts-skin-cart .cart_totals > h2 { margin-bottom: 4px !important; }
body.ts-skin-cart .wc-proceed-to-checkout { padding: 0 !important; margin: 0 !important; }
body.ts-skin-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 54px !important; font-size: 16px !important; margin: 14px 0 0 !important; }

/* ---------------------------------------------------------------- My account */
body.ts-skin-account .woocommerce-MyAccount-navigation { float: none !important; width: 100% !important; padding: 8px; margin-bottom: 14px; }
body.ts-skin-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 6px; margin: 0; padding: 2px; list-style: none; scrollbar-width: none; }
body.ts-skin-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
body.ts-skin-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; flex: none; }
body.ts-skin-account .woocommerce-MyAccount-navigation li a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; border-radius: 99px; background: var(--tsk-paper); color: var(--tsk-ink) !important; font-family: var(--tsk-font); font-weight: 700; font-size: 13.5px; text-decoration: none; white-space: nowrap; }
body.ts-skin-account .woocommerce-MyAccount-navigation li.is-active a, body.ts-skin-account .woocommerce-MyAccount-navigation li a:hover { background: var(--tsk-ink); color: #fff !important; }
body.ts-skin-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; }
body.ts-skin-account .woocommerce-MyAccount-content table.shop_table { border: 0 !important; }
body.ts-skin-account .woocommerce-MyAccount-content table.shop_table th, body.ts-skin-account .woocommerce-MyAccount-content table.shop_table td { border: 0 !important; border-top: 1px solid var(--tsk-line) !important; padding: 12px 8px !important; font-size: 14px; }
body.ts-skin-account .woocommerce-MyAccount-content table.shop_table thead th { border: 0 !important; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--tsk-ink-3); }

/* ---------------------------------------------------------------- product cards: shop, categories, cart cross-sells, product related/upsells */
/* the child theme (divi-child-framework/style.css ~7752) already lays these lists out as flex with !important widths — 4-up desktop,
   2-up to 980px, 1-up to 600px. Keep its flex and its 16px/calc maths; only the phone case changes (1-up → 2-up), so the selectors below
   just out-specify its `.woocommerce ul.products.columns-4 > li.product` by one element. */
body.ts-shop-skin ul.products { display: flex !important; flex-wrap: wrap !important; gap: 16px !important; margin: 0 !important; padding: 0 !important; width: 100% !important; list-style: none !important; }
body.ts-shop-skin ul.products::before, body.ts-shop-skin ul.products::after { display: none !important; }
body.ts-shop-skin ul.products > li.product.product { flex: 0 0 calc(50% - 8px) !important; max-width: calc(50% - 8px) !important; box-sizing: border-box; }
body.ts-shop-skin ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; padding: 10px !important; clear: none !important; background: var(--tsk-card); border: 1px solid var(--tsk-line); border-radius: var(--tsk-r); box-shadow: var(--tsk-shadow); transition: transform .25s var(--tsk-ease), box-shadow .25s var(--tsk-ease); font-family: var(--tsk-font); text-align: left; position: relative; }
body.ts-shop-skin ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 26px 60px -22px rgba(16, 20, 28, .3), 0 6px 16px -8px rgba(16, 20, 28, .16); }
body.ts-shop-skin ul.products li.product img { width: 100% !important; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--tsk-r-s); background: var(--tsk-paper); margin: 0 0 10px !important; display: block; }
body.ts-shop-skin ul.products li.product .woocommerce-loop-product__title, body.ts-shop-skin ul.products li.product .woocommerce-loop-category__title, body.ts-shop-skin ul.products li.product h2 { font-family: var(--tsk-font) !important; font-size: 15px !important; font-weight: 700 !important; padding: 0 4px !important; margin: 0 0 4px !important; letter-spacing: -.01em; color: var(--tsk-ink); line-height: 1.3; }
body.ts-shop-skin ul.products li.product .price { padding: 0 4px; font-size: 13.5px !important; color: var(--tsk-ink-2) !important; font-family: var(--tsk-font); font-weight: 600; }
body.ts-shop-skin ul.products li.product .button { margin: 10px 4px 2px !important; min-height: 38px; padding: 8px 16px !important; font-size: 13px !important; }
body.ts-shop-skin ul.products li.product .onsale { position: absolute; top: 18px; left: 18px; margin: 0; min-height: 0; padding: 4px 10px; border-radius: 99px; background: var(--tsk-gold); color: #fff; font: 700 11px/1.5 var(--tsk-font); letter-spacing: .04em; }
body.ts-skin-shop .woocommerce-result-count, body.ts-skin-shop .woocommerce-ordering select { font-family: var(--tsk-font); font-size: 13px; color: var(--tsk-ink-3); }

/* ---------------------------------------------------------------- product page */
body.ts-skin-product .woocommerce div.product .summary, body.ts-skin-product .product .summary.entry-summary { background: var(--tsk-card); border: 1px solid var(--tsk-line); border-radius: var(--tsk-r); box-shadow: var(--tsk-shadow); padding: 18px; font-family: var(--tsk-font); }
body.ts-skin-product .woocommerce div.product p.price, body.ts-skin-product .woocommerce div.product span.price { font-size: 30px !important; font-weight: 800 !important; letter-spacing: -.02em; color: var(--tsk-ink) !important; font-family: var(--tsk-font); }
body.ts-skin-product .woocommerce div.product form.cart .button { min-height: 52px !important; font-size: 15px !important; }
body.ts-skin-product .woocommerce div.product form.cart .quantity .qty { height: 48px !important; border-radius: 12px !important; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 0 0 12px !important; display: flex; flex-wrap: wrap; gap: 6px; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 99px !important; background: var(--tsk-paper) !important; border: 1px solid var(--tsk-line) !important; margin: 0 !important; padding: 0 !important; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 16px !important; font-family: var(--tsk-font); font-weight: 700; font-size: 13.5px; color: var(--tsk-ink) !important; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--tsk-ink) !important; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs::before, body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before, body.ts-skin-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.ts-skin-product .woocommerce div.product .woocommerce-tabs .panel { background: var(--tsk-card); border: 1px solid var(--tsk-line); border-radius: var(--tsk-r); padding: 18px; font-family: var(--tsk-font); }
body.ts-skin-product .related.products > h2, body.ts-skin-product .upsells.products > h2 { font-size: 30px !important; }

/* ---------------------------------------------------------------- tablets and desktops */
@media (min-width: 981px) {
  body.ts-shop-skin .ts-card, body.ts-shop-skin .cart_totals, body.ts-shop-skin .woocommerce-billing-fields, body.ts-shop-skin .woocommerce-additional-fields, body.ts-shop-skin .woocommerce-MyAccount-navigation, body.ts-shop-skin .woocommerce-MyAccount-content, body.ts-skin-cart .woocommerce-cart-form { padding: 24px 26px; }
  body.ts-skin-checkout .woocommerce form.checkout #customer_details.col2-set { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important; gap: 28px !important; align-items: start; }
  body.ts-skin-checkout .woocommerce form.checkout #customer_details > .col-1 { grid-column: 1 !important; grid-row: 1 / span 20; }
  body.ts-skin-checkout .woocommerce form.checkout #customer_details > .col-2 { grid-column: 2 !important; grid-row: 1 / span 20; position: sticky; top: 90px; }
  body.ts-skin-checkout .ts-summary-fold { display: none !important; }
  body.ts-skin-checkout #order_review_heading { display: block; line-height: 1.15; }
  body.ts-skin-checkout #order_review { max-height: calc(100vh - 230px); overflow: auto; padding: 14px 20px 20px; scrollbar-width: thin; }
  body.ts-skin-checkout table.woocommerce-checkout-review-order-table thead { display: block !important; }
  body.ts-skin-checkout .woocommerce-checkout-review-order-table thead tr { border-top: 0; padding: 0 0 8px; }
  body.ts-skin-checkout .woocommerce-checkout-review-order-table thead th { font-size: 11px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--tsk-ink-3) !important; font-weight: 700; }
  body.ts-skin-checkout .woocommerce-checkout-review-order-table thead th.product-name { flex: 1 1 auto; text-align: left !important; }
  body.ts-skin-checkout .woocommerce-checkout-review-order-table thead th.product-total { text-align: right !important; }
  body.ts-skin-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item { display: flex !important; align-items: flex-start; } /* never folded on desktop */
  body.ts-skin-checkout .woocommerce form .form-row-first, body.ts-skin-checkout .woocommerce form .form-row-last { width: calc(50% - 8px) !important; }
  body.ts-skin-cart table.shop_table.cart tr.cart_item { grid-template-columns: 72px minmax(0, 1fr) 110px 150px 110px 40px; grid-template-areas: 'pic name price qty subtotal remove'; gap: 0 16px; padding: 16px 0; }
  body.ts-skin-cart table.shop_table.cart td.product-price { text-align: right !important; }
  body.ts-skin-cart table.shop_table.cart td.product-remove { align-self: center; }
  body.ts-skin-cart table.shop_table.cart td.product-thumbnail, body.ts-skin-cart table.shop_table.cart td.product-thumbnail a { width: 72px !important; height: 72px; }
  body.ts-skin-cart table.shop_table.cart td.product-thumbnail img { width: 72px !important; height: 72px !important; }
  body.ts-skin-cart .et_pb_row.ts-cart-row { display: flex !important; align-items: flex-start; } /* so the totals column can stick while the list scrolls */
  body.ts-skin-cart .et_pb_column.ts-cart-side { position: sticky; top: 90px; }
  body.ts-shop-skin ul.products > li.product.product { flex: 0 0 calc(25% - 12px) !important; max-width: calc(25% - 12px) !important; }
  body.ts-skin-product .woocommerce div.product .summary, body.ts-skin-product .product .summary.entry-summary, body.ts-skin-product .woocommerce div.product .woocommerce-tabs .panel { padding: 24px 26px; }
}
