/* ==========================================================================
   Troys Squad - shop, category, cart, checkout
   Overrides Woodmart rather than replacing it, so filters, variations and
   the checkout flow keep working. Scoped to body.ts-dark.
   ========================================================================== */

/* ---------- page title ---------- */
body.ts-dark .wd-page-title,
body.ts-dark .page-title{
  background:transparent !important;border-bottom:1px solid var(--ts-edge);
  padding:34px 0 26px !important;display:block !important}
body.ts-dark .page-title .entry-title,
body.ts-dark .wd-page-title .entry-title{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:clamp(28px,4.4vw,44px) !important;line-height:1.04 !important;
  color:#fff !important;text-transform:uppercase !important;letter-spacing:.01em}
body.ts-dark .woocommerce-breadcrumb,
body.ts-dark .woocommerce-breadcrumb a{color:var(--ts-mute-2) !important;font-size:13px}
body.ts-dark .woocommerce-breadcrumb a:hover{color:#fff !important}
body.ts-dark .term-description,
body.ts-dark .page-description{color:var(--ts-mute) !important;font-size:16px}

/* ---------- the tools row: count, sort, filter toggle ---------- */
body.ts-dark .shop-loop-head{
  border-bottom:1px solid var(--ts-edge) !important;padding-bottom:16px;margin-bottom:22px}
body.ts-dark .woocommerce-result-count{color:var(--ts-mute) !important;font-size:14px}
body.ts-dark .wd-ordering select,
body.ts-dark select.orderby,
body.ts-dark .wd-products-per-page a{
  background:rgba(0,0,0,.36) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:999px !important;padding:9px 34px 9px 16px !important;
  font-family:var(--ts-display);font-weight:600;font-size:14px}
body.ts-dark .wd-products-per-page a{padding:7px 12px !important}
body.ts-dark .wd-products-per-page a.current{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  border-color:rgba(255,59,74,.5) !important}

/* ---------- filter bar ---------- */
body.ts-dark .wd-shop-filters,
body.ts-dark .filters-area{
  background:var(--ts-ground-2) !important;
  border:1px solid var(--ts-edge) !important;border-radius:var(--ts-r-md);
  padding:20px 22px !important;margin-bottom:22px}
body.ts-dark .filters-area .widgettitle,
body.ts-dark .wd-shop-filters .widget-title,
body.ts-dark .filters-area .widget-title{
  font-family:var(--ts-display) !important;font-weight:600 !important;
  font-size:12px !important;letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--ts-mute) !important;margin-bottom:12px !important}
body.ts-dark .filters-area li a,
body.ts-dark .wd-shop-filters li a{color:rgba(255,255,255,.86) !important;font-size:14.5px}
body.ts-dark .filters-area li a:hover{color:var(--ts-red-ink) !important}
body.ts-dark .filters-area li.chosen>a,
body.ts-dark .filters-area li.wd-active>a{color:var(--ts-red-ink) !important;font-weight:600}
body.ts-dark .filters-area .count{color:var(--ts-mute-2) !important}
body.ts-dark .price_slider_wrapper .ui-slider{background:rgba(255,255,255,.12) !important}
body.ts-dark .price_slider_wrapper .ui-slider-range{
  background:linear-gradient(90deg,var(--ts-red-fill),var(--ts-red-ink)) !important}
body.ts-dark .price_slider_wrapper .ui-slider-handle{
  background:#fff !important;border:0 !important;box-shadow:0 2px 8px rgba(0,0,0,.5) !important}
body.ts-dark .price_slider_amount .price_label{color:var(--ts-mute) !important;font-size:13.5px}
body.ts-dark .price_slider_amount .button,
body.ts-dark .wd-filter-buttons .button{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  color:#fff !important;border:1px solid rgba(255,59,74,.5) !important;
  border-radius:999px !important;font-family:var(--ts-display);font-weight:700;
  letter-spacing:.08em;text-transform:uppercase}
body.ts-dark .wd-active-filters .chip,
body.ts-dark .widget_layered_nav_filters a{
  background:rgba(162,4,3,.28) !important;border:1px solid rgba(255,59,74,.45) !important;
  color:#fff !important;border-radius:999px;padding:6px 13px;font-size:13px}

/* ---------- product grid ---------- */
body.ts-dark .product-grid-item{
  background:var(--ts-ground-2);border:1px solid var(--ts-edge);
  border-radius:var(--ts-r-md);overflow:hidden;padding-bottom:14px;
  transition:border-color .22s var(--ts-ease), transform .22s var(--ts-ease)}
body.ts-dark .product-grid-item:hover{
  border-color:rgba(255,59,74,.45);transform:translateY(-3px)}
body.ts-dark .product-grid-item .product-element-top{border-radius:0}
body.ts-dark .product-grid-item .wd-entities-title,
body.ts-dark .product-grid-item .wd-entities-title a{
  font-family:var(--ts-display) !important;font-weight:600 !important;
  font-size:15.5px !important;line-height:1.24 !important;color:#fff !important;
  text-transform:none !important}
body.ts-dark .product-grid-item .wd-entities-title a:hover{color:var(--ts-red-ink) !important}
body.ts-dark .product-grid-item .price,
body.ts-dark .product-grid-item .price bdi,
body.ts-dark .product-grid-item .price .amount{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:19px !important;color:var(--ts-red-ink) !important;
  font-variant-numeric:tabular-nums}
body.ts-dark .product-grid-item .price del,
body.ts-dark .product-grid-item .price del bdi{
  color:rgba(255,255,255,.55) !important;font-size:14px !important;font-weight:600 !important;
  text-decoration-color:rgba(255,59,74,.8) !important}
body.ts-dark .product-grid-item .wd-product-cats,
body.ts-dark .product-grid-item .wd-product-brands-links{color:var(--ts-mute-2) !important;font-size:12px}
body.ts-dark .product-grid-item .wd-add-btn>a,
body.ts-dark .product-grid-item .add_to_cart_button,
body.ts-dark .product-grid-item .product_type_variable{
  background:rgba(255,255,255,.07) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:999px !important;
  font-family:var(--ts-display);font-weight:600;letter-spacing:.06em}
body.ts-dark .product-grid-item .wd-add-btn>a:hover,
body.ts-dark .product-grid-item .add_to_cart_button:hover{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  border-color:rgba(255,59,74,.6) !important}
body.ts-dark .product-labels .product-label{
  font-family:var(--ts-display);font-weight:700;letter-spacing:.08em;border-radius:999px}
body.ts-dark .product-labels .onsale{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  color:#fff !important}
body.ts-dark .product-grid-item .out-of-stock-label{
  background:rgba(0,0,0,.7) !important;color:#fff !important}

/* ---------- pagination ---------- */
body.ts-dark .wd-pagination .page-numbers,
body.ts-dark .woocommerce-pagination .page-numbers{
  background:rgba(255,255,255,.06) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:10px;font-family:var(--ts-display);font-weight:600}
body.ts-dark .wd-pagination .page-numbers.current,
body.ts-dark .woocommerce-pagination .page-numbers.current{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  border-color:rgba(255,59,74,.6) !important}

/* ---------- notices ---------- */
body.ts-dark .woocommerce-message,
body.ts-dark .woocommerce-info,
body.ts-dark .woocommerce-error{
  background:var(--ts-ground-2) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:var(--ts-r-sm)}
body.ts-dark .woocommerce-message{border-left:3px solid var(--ts-ok) !important}
body.ts-dark .woocommerce-error{border-left:3px solid var(--ts-bad) !important}
body.ts-dark .woocommerce-message .button,
body.ts-dark .woocommerce-info .button{
  background:rgba(255,255,255,.08) !important;color:#fff !important;
  border:1px solid var(--ts-edge) !important;border-radius:999px !important}

/* ==========================================================================
   CART
   ========================================================================== */
body.ts-dark .shop_table,
body.ts-dark .cart_totals table{background:transparent !important;border-color:var(--ts-edge) !important}
body.ts-dark .shop_table th{
  font-family:var(--ts-display) !important;font-weight:600 !important;font-size:12px !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--ts-mute) !important;border-color:var(--ts-edge) !important;
  background:rgba(255,255,255,.04) !important}
body.ts-dark .shop_table td,
body.ts-dark .cart_totals td,
body.ts-dark .cart_totals th{
  color:#fff !important;border-color:rgba(255,255,255,.08) !important}
body.ts-dark .cart_totals{
  background:var(--ts-ground-2) !important;border:1px solid var(--ts-edge) !important;
  border-radius:var(--ts-r-md);padding:24px 26px}
body.ts-dark .cart_totals h2{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:19px !important;text-transform:uppercase !important;color:#fff !important}
body.ts-dark .cart_totals .order-total .amount,
body.ts-dark .cart_totals .order-total bdi{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:26px !important;color:var(--ts-red-ink) !important}
body.ts-dark .product-name a{color:#fff !important;font-weight:600}
body.ts-dark .product-name a:hover{color:var(--ts-red-ink) !important}
body.ts-dark .product-price,
body.ts-dark .product-subtotal,
body.ts-dark .product-subtotal bdi{color:#fff !important}
body.ts-dark .cart_item .remove{color:var(--ts-mute-2) !important}
body.ts-dark .cart_item .remove:hover{color:var(--ts-bad) !important;background:transparent !important}
body.ts-dark .coupon input[type="text"],
body.ts-dark .shipping-calculator-form input,
body.ts-dark .shipping-calculator-form select{
  background:rgba(0,0,0,.36) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:10px !important}
body.ts-dark .checkout-button,
body.ts-dark .wc-proceed-to-checkout .button{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  color:#fff !important;border:1px solid rgba(255,59,74,.62) !important;
  border-radius:999px !important;font-family:var(--ts-display) !important;
  font-weight:700 !important;font-size:17px !important;letter-spacing:.08em !important;
  text-transform:uppercase !important;padding:16px 30px !important;
  box-shadow:0 10px 32px rgba(162,4,3,.6) !important}
body.ts-dark .coupon button,
body.ts-dark button[name="update_cart"]{
  background:rgba(255,255,255,.08) !important;color:#fff !important;
  border:1px solid var(--ts-edge) !important;border-radius:999px !important;
  font-family:var(--ts-display);font-weight:600;letter-spacing:.06em}

/* related row under the cart */
.ts-cart-more{margin-top:44px;padding-top:30px;border-top:1px solid var(--ts-edge)}
.ts-cart-more .ts-sechead{margin-bottom:20px}

/* ==========================================================================
   CHECKOUT - one page
   ========================================================================== */
body.ts-dark .woocommerce-checkout h3,
body.ts-dark #order_review_heading{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:19px !important;text-transform:uppercase !important;color:#fff !important;
  letter-spacing:.03em;padding-bottom:12px;border-bottom:1px solid var(--ts-edge)}
body.ts-dark .woocommerce-checkout label,
body.ts-dark .woocommerce-checkout .form-row label{
  font-family:var(--ts-display) !important;font-weight:600 !important;font-size:12.5px !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--ts-mute) !important}
body.ts-dark .woocommerce-checkout input[type="text"],
body.ts-dark .woocommerce-checkout input[type="email"],
body.ts-dark .woocommerce-checkout input[type="tel"],
body.ts-dark .woocommerce-checkout input[type="password"],
body.ts-dark .woocommerce-checkout textarea,
body.ts-dark .woocommerce-checkout select,
body.ts-dark .select2-selection{
  background:rgba(0,0,0,.36) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:10px !important;min-height:48px}
body.ts-dark .woocommerce-checkout input:focus,
body.ts-dark .woocommerce-checkout textarea:focus,
body.ts-dark .woocommerce-checkout select:focus{
  border-color:var(--ts-red-ink) !important;
  box-shadow:0 0 0 3px rgba(255,59,74,.18) !important;outline:none !important}
body.ts-dark .select2-selection__rendered{color:#fff !important;line-height:46px !important}
body.ts-dark .select2-dropdown{
  background:var(--ts-ground-2) !important;border-color:var(--ts-edge) !important;color:#fff}
body.ts-dark .select2-results__option--highlighted{background:rgba(162,4,3,.4) !important}
body.ts-dark #order_review,
body.ts-dark .woocommerce-checkout-review-order{
  background:var(--ts-ground-2) !important;border:1px solid var(--ts-edge) !important;
  border-radius:var(--ts-r-md);padding:24px 26px}
body.ts-dark .woocommerce-checkout-review-order-table tfoot .order-total th,
body.ts-dark .woocommerce-checkout-review-order-table tfoot .order-total td{
  font-family:var(--ts-display) !important;font-weight:700 !important;font-size:22px !important;
  color:var(--ts-red-ink) !important}
body.ts-dark .wc_payment_methods li{
  background:rgba(255,255,255,.04) !important;border:1px solid var(--ts-edge) !important;
  border-radius:var(--ts-r-sm);padding:14px 16px !important;margin-bottom:9px}
body.ts-dark .wc_payment_methods label{text-transform:none !important;font-size:15px !important;
  letter-spacing:0 !important;color:#fff !important}
body.ts-dark .payment_box{background:rgba(0,0,0,.3) !important;color:var(--ts-mute) !important;
  border-radius:10px}
body.ts-dark #place_order{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  color:#fff !important;border:1px solid rgba(255,59,74,.62) !important;
  border-radius:999px !important;font-family:var(--ts-display) !important;
  font-weight:700 !important;font-size:18px !important;letter-spacing:.08em !important;
  text-transform:uppercase !important;padding:18px 30px !important;width:100%;
  box-shadow:0 12px 34px rgba(162,4,3,.62) !important}
body.ts-dark .woocommerce-terms-and-conditions-wrapper,
body.ts-dark .woocommerce-privacy-policy-text{color:var(--ts-mute) !important;font-size:13.5px}
body.ts-dark .woocommerce-terms-and-conditions-wrapper a{color:var(--ts-red-ink) !important}

/* reassurance strip at checkout */
.ts-co-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 22px;
  background:var(--ts-edge);border:1px solid var(--ts-edge);border-radius:var(--ts-r-md);
  overflow:hidden}
.ts-co-trust>div{background:var(--ts-ground-2);padding:14px 12px;text-align:center}
.ts-co-trust span{display:block;color:var(--ts-red-ink);margin-bottom:6px}
.ts-co-trust svg{width:19px;height:19px;display:inline-block}
.ts-co-trust b{display:block;font-family:var(--ts-display);font-weight:600;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.04em;color:#fff}
.ts-co-trust i{display:block;font-style:normal;font-size:11.5px;color:var(--ts-mute);margin-top:2px}

@media(max-width:768px){
  body.ts-dark .shop_table thead{display:none}
  body.ts-dark .shop_table tr{display:block;border:1px solid var(--ts-edge);
    border-radius:var(--ts-r-sm);margin-bottom:11px;padding:10px 12px}
  body.ts-dark .shop_table td{display:flex;justify-content:space-between;align-items:center;
    border:0 !important;padding:7px 0 !important}
  .ts-co-trust{grid-template-columns:1fr}
  body.ts-dark .cart_totals,
  body.ts-dark #order_review{padding:18px 16px}
}

/* ==========================================================================
   CART & CHECKOUT - the BLOCK versions

   Your cart and checkout are built with the WooCommerce Cart and Checkout
   blocks, not the classic shortcodes. They render through React with their
   own wc-block-* classes and their own custom properties, which is why the
   classic rules above never touched them.
   ========================================================================== */

/* the blocks read these for their own colours */
body.ts-dark .wp-block-woocommerce-cart,
body.ts-dark .wp-block-woocommerce-checkout,
body.ts-dark .wc-block-cart,
body.ts-dark .wc-block-checkout{
  --wc-blocks-color-white:#0B0E14;
  color:#fff}

body.ts-dark .wc-block-components-title,
body.ts-dark .wc-block-cart__main h2,
body.ts-dark .wc-block-checkout__form h2,
body.ts-dark .wc-block-components-checkout-step__title{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  color:#fff !important;text-transform:uppercase !important;letter-spacing:.02em !important}
body.ts-dark .wc-block-components-checkout-step__description,
body.ts-dark .wc-block-components-checkout-step__heading-content{color:var(--ts-mute) !important}

/* ---------- item rows ---------- */
body.ts-dark .wc-block-cart-items,
body.ts-dark .wc-block-cart-items__header,
body.ts-dark table.wc-block-cart-items{background:transparent !important;color:#fff !important}
body.ts-dark .wc-block-cart-items__header th,
body.ts-dark .wc-block-cart-items__header{
  font-family:var(--ts-display) !important;font-weight:600 !important;font-size:12px !important;
  letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--ts-mute) !important;border-bottom:1px solid var(--ts-edge) !important}
body.ts-dark .wc-block-cart-items__row,
body.ts-dark .wc-block-cart-item__wrap{border-bottom:1px solid rgba(255,255,255,.08) !important}
body.ts-dark .wc-block-components-product-name{
  font-family:var(--ts-display) !important;font-weight:600 !important;
  font-size:16px !important;color:#fff !important;text-decoration:none !important}
body.ts-dark .wc-block-components-product-name:hover{color:var(--ts-red-ink) !important}
body.ts-dark .wc-block-components-product-metadata,
body.ts-dark .wc-block-components-product-metadata__description{color:var(--ts-mute) !important}
body.ts-dark .wc-block-components-product-price,
body.ts-dark .wc-block-components-product-price__value,
body.ts-dark .wc-block-formatted-money-amount{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  color:#fff !important;font-variant-numeric:tabular-nums}
body.ts-dark .wc-block-components-product-price del{color:var(--ts-mute-2) !important}
body.ts-dark .wc-block-cart-item__remove-link,
body.ts-dark .wc-block-components-product-badge{color:var(--ts-mute-2) !important}
body.ts-dark .wc-block-cart-item__remove-link:hover{color:var(--ts-bad) !important}
body.ts-dark .wc-block-components-quantity-selector{
  background:rgba(0,0,0,.36) !important;border:1px solid var(--ts-edge) !important;
  border-radius:10px !important}
body.ts-dark .wc-block-components-quantity-selector__input,
body.ts-dark .wc-block-components-quantity-selector__button{color:#fff !important;background:transparent !important}
body.ts-dark .wc-block-cart-item__image img{border-radius:10px;background:var(--ts-ground-3)}

/* ---------- the totals / sidebar card ---------- */
body.ts-dark .wc-block-cart__sidebar .wc-block-components-sidebar,
body.ts-dark .wc-block-checkout__sidebar .wc-block-components-sidebar,
body.ts-dark .wc-block-components-order-summary{
  background:var(--ts-ground-2) !important;border:1px solid var(--ts-edge) !important;
  border-radius:var(--ts-r-md) !important;padding:22px !important}
body.ts-dark .wc-block-components-totals-item,
body.ts-dark .wc-block-components-totals-item__label,
body.ts-dark .wc-block-components-totals-item__value{color:#fff !important}
body.ts-dark .wc-block-components-totals-item__description{color:var(--ts-mute) !important}
body.ts-dark .wc-block-components-totals-wrapper{border-top-color:var(--ts-edge) !important}
body.ts-dark .wc-block-components-totals-footer-item,
body.ts-dark .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:24px !important;color:var(--ts-red-ink) !important}

/* ---------- buttons ---------- */
body.ts-dark .wc-block-components-button:not(.is-link),
body.ts-dark .wc-block-cart__submit-button,
body.ts-dark .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  color:#fff !important;border:1px solid rgba(255,59,74,.62) !important;
  border-radius:999px !important;
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:17px !important;letter-spacing:.08em !important;text-transform:uppercase !important;
  min-height:56px !important;padding:16px 28px !important;
  box-shadow:0 10px 32px rgba(162,4,3,.6) !important;
  transition:transform .22s var(--ts-ease), box-shadow .22s ease !important}
body.ts-dark .wc-block-components-button:not(.is-link):hover{
  transform:translateY(-2px);
  background:linear-gradient(165deg,#E01523,var(--ts-red-fill-lit)) !important;
  box-shadow:0 16px 42px rgba(162,4,3,.78) !important}
body.ts-dark .wc-block-components-button__text{color:#fff !important}
body.ts-dark .wc-block-components-button.is-link,
body.ts-dark .wc-block-cart__submit-container a{color:var(--ts-red-ink) !important}
body.ts-dark .wc-block-components-checkout-return-to-cart-button{color:var(--ts-mute) !important}

/* ---------- fields ---------- */
body.ts-dark .wc-block-components-text-input input,
body.ts-dark .wc-block-components-textarea,
body.ts-dark .wc-block-components-select__container,
body.ts-dark .wc-block-components-combobox-control input,
body.ts-dark .wc-block-components-form input[type="text"],
body.ts-dark .wc-block-components-form input[type="email"],
body.ts-dark .wc-block-components-form input[type="tel"]{
  background:rgba(0,0,0,.4) !important;border:1px solid var(--ts-edge) !important;
  color:#fff !important;border-radius:10px !important}
body.ts-dark .wc-block-components-text-input input:focus,
body.ts-dark .wc-block-components-combobox-control input:focus{
  border-color:var(--ts-red-ink) !important;
  box-shadow:0 0 0 3px rgba(255,59,74,.18) !important;outline:none !important}
body.ts-dark .wc-block-components-text-input label,
body.ts-dark .wc-block-components-select__label,
body.ts-dark .wc-block-components-checkbox__label{color:var(--ts-mute) !important}
body.ts-dark .wc-block-components-text-input.is-active label{color:var(--ts-red-ink) !important}
body.ts-dark .wc-block-components-select__select{color:#fff !important;background:transparent !important}
body.ts-dark .wc-block-components-checkbox__input{accent-color:var(--ts-red-ink)}

/* ---------- coupon / panels ---------- */
body.ts-dark .wc-block-components-panel,
body.ts-dark .wc-block-components-totals-coupon{
  border-top:1px solid var(--ts-edge) !important}
body.ts-dark .wc-block-components-panel__button{color:var(--ts-red-ink) !important;
  font-family:var(--ts-display);font-weight:600}

/* ---------- payment methods ---------- */
body.ts-dark .wc-block-components-radio-control__option,
body.ts-dark .wc-block-components-radio-control-accordion-option{
  background:rgba(255,255,255,.04) !important;border:1px solid var(--ts-edge) !important;
  border-radius:var(--ts-r-sm) !important;margin-bottom:9px !important;padding:14px 16px !important}
body.ts-dark .wc-block-components-radio-control__option--checked-option-highlighted,
body.ts-dark .wc-block-components-radio-control-accordion-option--checked-option-highlighted{
  border-color:rgba(255,59,74,.55) !important;background:rgba(162,4,3,.2) !important}
body.ts-dark .wc-block-components-radio-control__label{color:#fff !important}
body.ts-dark .wc-block-components-radio-control__input{accent-color:var(--ts-red-ink)}
body.ts-dark .wc-block-checkout__payment-method .wc-block-components-radio-control__description{
  color:var(--ts-mute) !important}

/* ---------- shipping options ---------- */
body.ts-dark .wc-block-components-shipping-rates-control__package,
body.ts-dark .wc-block-components-shipping-rates-control{
  background:transparent !important;border-color:var(--ts-edge) !important}
body.ts-dark .wc-block-components-shipping-rates-control__package-title{color:#fff !important}

/* ---------- notices ---------- */
body.ts-dark .wc-block-components-notice-banner{
  background:var(--ts-ground-2) !important;border-color:var(--ts-edge) !important;color:#fff !important}
body.ts-dark .wc-block-components-notice-banner.is-error{border-left:3px solid var(--ts-bad) !important}
body.ts-dark .wc-block-components-notice-banner.is-success{border-left:3px solid var(--ts-ok) !important}

/* ---------- empty cart ---------- */
body.ts-dark .wc-block-cart__empty-cart__title{
  font-family:var(--ts-display) !important;color:#fff !important;text-transform:uppercase}
body.ts-dark .wc-block-grid__product-title{color:#fff !important;font-family:var(--ts-display);font-weight:600}
body.ts-dark .wc-block-grid__product-price{color:var(--ts-red-ink) !important;font-family:var(--ts-display);font-weight:700}
body.ts-dark .wc-block-grid__product-add-to-cart .wp-block-button__link{
  background:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  color:#fff !important;border-radius:999px !important}

/* The hotlink was on the proceed-to-checkout block, not this one, and it has
   now been deleted from the page. Let the real payment-methods strip show. */
body.ts-dark .wp-block-woocommerce-cart-accepted-payment-methods-block{
  background:transparent !important;filter:brightness(1.35) contrast(.85)}
body.ts-dark .wp-block-woocommerce-cart-accepted-payment-methods-block:empty{display:none}

/* ==========================================================
   Cart cross-sells - "You may be interested in..."
   79 products have cross-sells set, so this block renders.
   Its Add to cart is a Gutenberg button block, which arrives
   as a white rectangle. Make it the pill everything else is.
   ========================================================== */
body.ts-dark .wc-block-cart__cross-sells,
body.ts-dark .wp-block-woocommerce-cart-cross-sells-block{
  margin-top:34px;padding-top:26px;border-top:1px solid var(--ts-edge)}

body.ts-dark .wc-block-cart__cross-sells h2,
body.ts-dark .wp-block-woocommerce-cart-cross-sells-block h2{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  font-size:clamp(18px,2.4vw,24px) !important;letter-spacing:.02em;
  text-transform:uppercase;color:#fff !important;margin:0 0 18px !important}

body.ts-dark [class*="cross-sells-product"]{color:var(--ts-mute)}
body.ts-dark [class*="cross-sells-product__product-title"] a,
body.ts-dark [class*="cross-sells-product__product-title"]{
  font-family:var(--ts-display) !important;font-weight:600 !important;
  color:#fff !important;text-decoration:none !important}
body.ts-dark [class*="cross-sells-product"] .wc-block-components-product-price,
body.ts-dark [class*="cross-sells-product"] .wc-block-components-product-price *{
  color:var(--ts-red-ink) !important;font-family:var(--ts-display) !important;
  font-weight:700 !important}
body.ts-dark [class*="cross-sells-product__image"] img{border-radius:14px}

/* --- kill the white rectangle --- */
body.ts-dark .wc-block-components-product-button,
body.ts-dark .wc-block-grid__product-add-to-cart,
body.ts-dark [class*="cross-sells-product__product-add-to-cart"],
body.ts-dark [class*="cross-sells"] .wp-block-button{
  background:none !important;background-color:transparent !important;
  border:0 !important;box-shadow:none !important;padding:0 !important;
  border-radius:999px !important;overflow:visible !important}

body.ts-dark .wc-block-components-product-button > .wp-block-button__link,
body.ts-dark .wc-block-components-product-button .wc-block-components-product-button__button,
body.ts-dark .wc-block-grid__product-add-to-cart > .wp-block-button__link,
body.ts-dark [class*="cross-sells"] .wp-block-button__link,
body.ts-dark [class*="cross-sells"] a.add_to_cart_button,
body.ts-dark [class*="cross-sells"] button.add_to_cart_button{
  display:inline-flex !important;align-items:center;justify-content:center;
  width:100%;min-height:42px;padding:0 18px !important;
  border:0 !important;border-radius:999px !important;
  background-image:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  background-color:var(--ts-red-fill) !important;
  color:#fff !important;
  font-family:var(--ts-display) !important;font-size:13px !important;
  font-weight:700 !important;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none !important;
  box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 6px 16px rgba(162,4,3,.34) !important;
  transition:transform .18s var(--ts-ease),box-shadow .18s var(--ts-ease),filter .18s var(--ts-ease)}

body.ts-dark .wc-block-components-product-button > .wp-block-button__link:hover,
body.ts-dark .wc-block-grid__product-add-to-cart > .wp-block-button__link:hover,
body.ts-dark [class*="cross-sells"] .wp-block-button__link:hover{
  filter:brightness(1.08);transform:translateY(-1px);
  box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 10px 22px rgba(162,4,3,.42) !important}
body.ts-dark .wc-block-components-product-button > .wp-block-button__link:active,
body.ts-dark [class*="cross-sells"] .wp-block-button__link:active{
  transform:translateY(0) scale(.985)}
body.ts-dark .wc-block-components-product-button > .wp-block-button__link:focus-visible,
body.ts-dark [class*="cross-sells"] .wp-block-button__link:focus-visible{
  outline:2px solid var(--ts-red-ink);outline-offset:3px}

/* the "1 in cart / View cart" state the block swaps in after adding */
body.ts-dark [class*="cross-sells"] .added_to_cart,
body.ts-dark .wc-block-components-product-button .added_to_cart{
  display:block;margin-top:8px;text-align:center;
  font-family:var(--ts-display);font-size:12px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--ts-red-ink) !important;text-decoration:none !important}

/* Gutenberg leaves a white ground on the section itself in some themes */
body.ts-dark .wp-block-woocommerce-cart-cross-sells-block,
body.ts-dark .wp-block-woocommerce-cart-cross-sells-products-block{
  background:transparent !important;color:var(--ts-mute)}
/* ---- cross-sells, against the real class names from cart.css ---- */

/* The skeleton WooCommerce shows while the block loads is
   background-color:currentColor - which on a dark page is a WHITE SLAB.
   That is the white rectangle. Give it a dark ground instead. */
body.ts-dark .wc-block-components-product-button__button--placeholder{
  background-color:rgba(255,255,255,.10) !important;
  color:transparent !important;border-radius:999px !important;
  min-height:42px !important;opacity:1 !important}
body.ts-dark .wc-block-components-product-button__button--placeholder:after{
  background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent) !important}

/* real button */
body.ts-dark .wp-block-button.wc-block-components-product-button{
  background:none !important;box-shadow:none !important;width:100%}
body.ts-dark .wc-block-components-product-button__button:not(.wc-block-components-product-button__button--placeholder){
  width:100%;min-height:42px;padding:0 18px !important;
  border:0 !important;border-radius:999px !important;
  background-image:linear-gradient(165deg,var(--ts-red-fill-lit),var(--ts-red-fill)) !important;
  background-color:var(--ts-red-fill) !important;color:#fff !important;
  font-family:var(--ts-display) !important;font-size:13px !important;
  font-weight:700 !important;letter-spacing:.08em;text-transform:uppercase;
  box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 6px 16px rgba(162,4,3,.34) !important}
body.ts-dark .wc-block-components-product-button__button:not(.wc-block-components-product-button__button--placeholder):hover{
  filter:brightness(1.08);transform:translateY(-1px)}

/* card layout - the default is inline-block at 30% with a 5% gutter */
body.ts-dark .wp-block-woocommerce-cart-cross-sells-block{
  background:transparent !important}
body.ts-dark .wp-block-woocommerce-cart-cross-sells-block .wp-block-heading{
  font-family:var(--ts-display) !important;font-weight:700 !important;
  text-transform:uppercase;letter-spacing:.02em;color:#fff !important}
/* WooCommerce lays these out as inline-block at 30% with a 5% padding
   gutter, and then overrides itself with display:block;width:100%.
   A grid on the parent is simpler and cannot fall out of step. */
body.ts-dark .wp-block-woocommerce-cart-cross-sells-products-block{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;align-items:stretch}
body.ts-dark .cross-sells-product{
  display:flex !important;flex-direction:column;
  box-sizing:border-box !important;
  width:auto !important;max-width:none !important;
  padding:14px !important;margin:0 !important;
  border:1px solid var(--ts-edge);border-radius:16px;
  background:var(--ts-ground-2);text-align:center}
body.ts-dark .cross-sells-product > div:last-child,
body.ts-dark .cross-sells-product .wp-block-button{margin-top:auto}
body.ts-dark .cross-sells-product .wc-block-components-product-image img{
  border-radius:12px}
body.ts-dark .cross-sells-product .wc-block-components-product-name{
  font-family:var(--ts-display) !important;font-weight:600 !important;
  color:#fff !important;text-decoration:none !important;line-height:1.25}
body.ts-dark .cross-sells-product .wc-block-components-product-price,
body.ts-dark .cross-sells-product .wc-block-components-product-price *{
  color:var(--ts-red-ink) !important;font-family:var(--ts-display) !important;
  font-weight:700 !important}
@media(max-width:767px){
  body.ts-dark .wp-block-woocommerce-cart-cross-sells-products-block{
    grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Every WooCommerce Blocks skeleton is background-color:currentColor at
   15% opacity. On a light page that is a grey bar; on ours currentColor
   is white, so each one is a white rectangle until the data lands.
   Repaint them all. */
body.ts-dark .is-loading .wc-block-components-product-image,
body.ts-dark .is-loading .wc-block-components-product-price:before,
body.ts-dark .wc-block-cart--is-loading .wc-block-components-product-name,
body.ts-dark .wc-block-cart--is-loading .wc-block-components-product-price,
body.ts-dark .wc-block-cart--is-loading .wc-block-components-product-metadata,
body.ts-dark .wc-block-cart--is-loading .wc-block-components-quantity-selector{
  background-color:rgba(255,255,255,.08) !important;
  color:transparent !important;opacity:1 !important;border-radius:10px}
body.ts-dark .is-loading .wc-block-components-product-image:after,
body.ts-dark .is-loading .wc-block-components-product-price:before:after{
  background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent) !important}
/* ==========================================================
   The white slab behind "Proceed to checkout".
   WooCommerce pins the button in a sticky container on small
   screens - background:#fff - and paints a light grey glow
   behind it via :before (box-shadow 0 -10px 20px 10px, in
   hsla(0,0%,80%,.3)). Both read as a white rectangle on dark.
   ========================================================== */
body.ts-dark .wc-block-cart__submit,
body.ts-dark .wc-block-cart__submit-container,
body.ts-dark .wc-block-cart .wc-block-cart__submit-container,
body.ts-dark .wp-block-woocommerce-proceed-to-checkout-block,
body.ts-dark .wc-block-checkout__actions,
body.ts-dark .wc-block-checkout__actions_row{
  background:transparent !important;background-color:transparent !important;
  border:0 !important;box-shadow:none !important}

body.ts-dark .wc-block-cart .wc-block-cart__submit-container--sticky{
  background:rgba(11,14,20,.94) !important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-top:1px solid var(--ts-edge) !important}
body.ts-dark .wc-block-cart .wc-block-cart__submit-container--sticky:before{
  content:none !important;display:none !important;
  box-shadow:none !important;color:transparent !important}

/* the loading skeleton for these blocks is currentColor at 5% - white here */
body.ts-dark .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-proceed-to-checkout-block,
body.ts-dark .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-cart-order-summary-block,
body.ts-dark .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-cart-express-payment-block,
body.ts-dark .wp-block-woocommerce-cart.is-loading .wp-block-woocommerce-cart-accepted-payment-methods-block{
  background:rgba(255,255,255,.06) !important;border-radius:14px !important}

/* nothing wrapping a block button should paint its own ground */
body.ts-dark .wc-block-components-button__text{background:none !important}
body.ts-dark .wp-block-button:not(.wc-block-components-product-button){
  background:transparent !important;box-shadow:none !important}