/* =============================================================================
   OTB THEME — WOOCOMMERCE OVERRIDES
   Restyles WooCommerce's default markup to match the site's dark/gold design
   system (see style.css root tokens). Loaded after otb-responsive so it can
   take priority without needing heavy !important use. Scoped generally under
   .otb-page-shop (our woocommerce.php wrapper) plus WooCommerce's own body
   classes for pages that don't route through that wrapper (e.g. blocks).
   ============================================================================= */

.otb-page-shop{ background: var(--otb-black); }
.otb-woo-content{ padding: 90px 0 var(--otb-section-pad); }

/* -----------------------------------------------------------------------
   0. NOTICES / MESSAGES
   ----------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  list-style:none;
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
  border-left: 3px solid var(--otb-gold);
  color: var(--otb-text);
  padding: 18px 22px;
  margin: 0 0 28px;
  font-size: 14px;
}
.woocommerce-error{ border-left-color: #c4614f; }
.woocommerce-message .button,
.woocommerce-info .button{
  order:2;
  margin-left:auto;
}

/* -----------------------------------------------------------------------
   1. BREADCRUMB
   ----------------------------------------------------------------------- */
.otb-woo-breadcrumb{
  font-family: var(--otb-font-mono);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--otb-text-faint);
  margin-bottom: 40px;
}
.otb-woo-breadcrumb a{ color: var(--otb-text-muted); }
.otb-woo-breadcrumb a:hover{ color: var(--otb-gold-bright); }
.otb-woo-breadcrumb__sep{ color: var(--otb-border-soft); margin: 0 2px; }

/* -----------------------------------------------------------------------
   2. SHOP TOOLBAR — result count + ordering
   ----------------------------------------------------------------------- */
.woocommerce-notices-wrapper:empty{ display:none; }

.woocommerce-result-count,
.woocommerce-ordering{ margin: 0 0 32px; }

.otb-woo-content .woocommerce > form + .woocommerce-notices-wrapper,
.otb-woo-content .woocommerce-notices-wrapper + .woocommerce-result-count{ margin-top: 0; }

.woocommerce-result-count{
  color: var(--otb-text-muted);
  font-size: 13px;
}

.woocommerce-ordering{
  float: none;
}
.woocommerce-ordering select{
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
  color: var(--otb-text);
  font-family: var(--otb-font-sans);
  font-size: 13px;
  padding: 10px 14px;
  border-radius: var(--otb-radius);
}

/* Result count + ordering sit on one row above the grid */
.woocommerce > .woocommerce-notices-wrapper ~ .woocommerce-result-count,
ul.products{ clear: both; }
.woocommerce-result-count{ display:inline-block; }
.woocommerce-ordering{ display:inline-block; float:right; }
@media (max-width: 575.98px){
  .woocommerce-ordering{ float:none; display:block; margin-top: -16px; }
}

/* -----------------------------------------------------------------------
   3. PRODUCT GRID (shop archive / category / related / upsells)
   ----------------------------------------------------------------------- */
ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  justify-content: flex-start !important;
  align-content: start !important;
  gap: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}
ul.products::before,
ul.products::after{ content: none !important; display: none !important; }

ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 24px !important;
  float: none !important;
  clear: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
  order: 0 !important;
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
  position: relative;
  text-align: left;
  transition: border-color var(--otb-transition), transform var(--otb-transition);
}
ul.products li.product:hover{
  border-color: var(--otb-border-soft);
  transform: translateY(-4px);
}

ul.products li.product a,
.woocommerce ul.products li.product a{
  text-decoration: none !important;
  display: block !important;
  color: inherit;
}
ul.products li.product img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.otb-page-shop .onsale,
.woocommerce .onsale,
.woocommerce-page .onsale{
  position:absolute !important;
  top:14px; left:14px; right:auto; bottom:auto;
  z-index:2;
  background: var(--otb-gold);
  color: #191305;
  font-family: var(--otb-font-mono);
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight:700;
  padding: 5px 10px !important;
  border-radius: var(--otb-radius) !important;
  min-height:0 !important; min-width:0 !important; line-height:normal !important;
  margin:0 !important;
}

ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  display: block !important;
  font-family: var(--otb-font-serif) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--otb-cream) !important;
  margin: 0 20px 8px !important;
  padding: 0 !important;
  line-height: 1.3 !important;
}

ul.products li.product .star-rating,
.woocommerce ul.products li.product .star-rating{
  margin: 0 20px 8px !important;
  float: none !important;
}

ul.products li.product .price,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  display: block !important;
  margin: 0 20px 16px !important;
  font-family: var(--otb-font-sans) !important;
  font-size: 15px !important;
  color: var(--otb-gold-bright) !important;
  font-weight:600 !important;
}
ul.products li.product .price del{
  color: var(--otb-text-faint);
  font-weight:400;
  opacity:1;
  margin-right: 8px;
}
ul.products li.product .price ins{
  text-decoration:none;
}

ul.products li.product .button,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 20px !important;
  width: calc(100% - 40px) !important;
}
ul.products li.product .added_to_cart,
.woocommerce ul.products li.product .added_to_cart{
  display:block !important;
  margin: 10px 20px 0 !important;
  font-size: 12px;
  color: var(--otb-gold-bright);
  text-align:center;
}

/* Star rating glyphs */
.star-rating{
  overflow:hidden;
  position:relative;
  height: 1em;
  line-height:1;
  width: 5.4em;
  font-family: star;
  font-size: 14px;
}
.star-rating::before{
  content: "\53\53\53\53\53";
  float:left;
  top:0; left:0;
  position:absolute;
  color: rgba(255,255,255,0.18);
  font-family: 'Space Mono', monospace;
  letter-spacing: 2px;
}
.star-rating span{
  overflow:hidden;
  float:left;
  top:0; left:0;
  position:absolute;
  padding-top: 1.5em;
  color: var(--otb-gold);
}
.star-rating span::before{
  content: "\53\53\53\53\53";
  top:0; position:absolute; left:0;
  font-family: 'Space Mono', monospace;
  letter-spacing: 2px;
  color: var(--otb-gold);
}

/* -----------------------------------------------------------------------
   4. BUTTONS / FORMS — shared across all WooCommerce pages
   ----------------------------------------------------------------------- */
.otb-page-shop .button,
.otb-page-shop button.button,
.otb-page-shop input.button,
.otb-page-shop #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: var(--otb-gold);
  color: #191305 !important;
  font-family: var(--otb-font-sans);
  font-weight:600;
  font-size: 14px;
  border: 1px solid transparent;
  border-radius: var(--otb-radius);
  padding: 13px 24px;
  transition: background var(--otb-transition), color var(--otb-transition), transform var(--otb-transition);
}
.otb-page-shop .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background: var(--otb-gold-bright);
  color: #191305 !important;
  transform: translateY(-2px);
}
.otb-page-shop .button.alt,
.woocommerce a.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-checkout #payment #place_order{
  background: var(--otb-gold);
  color:#191305 !important;
}
.otb-page-shop .button.loading,
.woocommerce a.button.loading{ opacity:0.6; }
.otb-page-shop .button.disabled,
.otb-page-shop .button:disabled,
.woocommerce input.button:disabled{
  background: var(--otb-border);
  color: var(--otb-text-faint) !important;
  cursor:not-allowed;
}

/* Outline / secondary buttons (view cart, continue shopping, etc.) */
.otb-page-shop a.button.wc-forward,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  background: var(--otb-gold);
}
.otb-page-shop .added_to_cart.wc-forward{
  background:transparent;
  color: var(--otb-gold-bright) !important;
  padding:0;
}

.otb-page-shop input[type="text"],
.otb-page-shop input[type="email"],
.otb-page-shop input[type="tel"],
.otb-page-shop input[type="password"],
.otb-page-shop input[type="number"],
.otb-page-shop input[type="search"],
.otb-page-shop textarea,
.otb-page-shop select,
.woocommerce-page input[type="text"],
.woocommerce-page input[type="email"],
.woocommerce-page input[type="tel"],
.woocommerce-page input[type="password"],
.woocommerce-page input[type="number"],
.woocommerce-page textarea,
.woocommerce-page select{
  background: var(--otb-black-soft);
  border: 1px solid var(--otb-border);
  color: var(--otb-text);
  font-family: var(--otb-font-sans);
  font-size: 14px;
  padding: 12px 14px;
  border-radius: var(--otb-radius);
  width:100%;
  transition: border-color var(--otb-transition);
}
.otb-page-shop input:focus,
.otb-page-shop textarea:focus,
.otb-page-shop select:focus,
.woocommerce-page input:focus,
.woocommerce-page textarea:focus,
.woocommerce-page select:focus{
  outline:none;
  border-color: var(--otb-gold);
}
.otb-page-shop label,
.woocommerce-page label{ color: var(--otb-text-muted); font-size: 13px; }

/* Quantity stepper */
.quantity .qty{
  width: 64px;
  text-align:center;
  padding: 12px 8px;
}

/* -----------------------------------------------------------------------
   5. PAGINATION
   ----------------------------------------------------------------------- */
.woocommerce-pagination{ margin-top: 56px; }
.woocommerce-pagination ul.page-numbers{
  display:flex;
  gap:8px;
  justify-content:center;
  list-style:none;
}
.woocommerce-pagination .page-numbers li{ list-style:none; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px; height:40px;
  border: 1px solid var(--otb-border);
  color: var(--otb-text-muted);
  font-family: var(--otb-font-mono);
  font-size: 13px;
}
.woocommerce-pagination .page-numbers a:hover,
.woocommerce-pagination .page-numbers .current{
  border-color: var(--otb-gold);
  color: var(--otb-gold-bright);
}

/* -----------------------------------------------------------------------
   6. SINGLE PRODUCT PAGE
   ----------------------------------------------------------------------- */
.single-product .otb-woo-content{ padding-top: 150px; }

div.product{
  display:flex;
  flex-wrap:wrap;
  gap: 56px;
  margin-bottom: 80px;
}
div.product div.images{ flex: 1 1 420px; max-width: 100%; }
div.product div.summary{ flex: 1 1 420px; }

div.product .woocommerce-product-gallery__wrapper{
  border: 1px solid var(--otb-border);
}
div.product .flex-control-thumbs{
  display:flex;
  gap:10px;
  margin-top:12px;
  list-style:none;
  padding:0;
}
div.product .flex-control-thumbs li{ width: 78px; }
div.product .flex-control-thumbs img{
  border: 1px solid var(--otb-border);
  opacity:0.6;
  transition: opacity var(--otb-transition), border-color var(--otb-transition);
}
div.product .flex-control-thumbs img.flex-active,
div.product .flex-control-thumbs img:hover{
  opacity:1;
  border-color: var(--otb-gold);
}

div.product .product_title{
  font-size: clamp(26px, 3vw, 36px);
  margin-bottom: 12px;
}
div.product .woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom: 18px;
}
div.product .woocommerce-review-link{ color: var(--otb-text-faint); font-size:13px; }

div.product p.price,
div.product span.price{
  font-family: var(--otb-font-serif);
  font-size: 28px;
  color: var(--otb-gold-bright);
  display:block;
  margin-bottom: 24px;
}
div.product p.price del{ color: var(--otb-text-faint); font-size: 0.65em; margin-right:10px; }

div.product .woocommerce-product-details__short-description{
  color: var(--otb-text-muted);
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--otb-border);
}

div.product form.cart{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin-bottom: 28px;
}
div.product form.cart .quantity{ margin:0; }
div.product .stock{
  font-family: var(--otb-font-mono);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--otb-gold);
  margin-bottom: 20px;
  display:block;
}
div.product .stock.out-of-stock{ color: #c4614f; }

div.product .product_meta{
  font-size: 13px;
  color: var(--otb-text-faint);
  padding-top: 20px;
  border-top: 1px solid var(--otb-border);
}
div.product .product_meta > span{ display:block; margin-bottom:6px; }
div.product .product_meta a{ color: var(--otb-text-muted); }
div.product .product_meta a:hover{ color: var(--otb-gold-bright); }

/* Tabs (description / additional info / reviews) */
.woocommerce-tabs{ margin-bottom: 80px; }
.woocommerce-tabs ul.tabs{
  display:flex;
  gap: 4px;
  list-style:none;
  padding:0;
  margin: 0 0 0;
  border-bottom: 1px solid var(--otb-border);
}
.woocommerce-tabs ul.tabs li{
  list-style:none;
  margin:0;
}
.woocommerce-tabs ul.tabs li a{
  display:block;
  padding: 16px 22px;
  font-family: var(--otb-font-mono);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--otb-text-muted);
  border-bottom: 2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a{
  color: var(--otb-gold-bright);
  border-bottom-color: var(--otb-gold);
}
.woocommerce-tabs .panel{
  padding: 36px 0 0;
  color: var(--otb-text-muted);
}
.woocommerce-tabs .panel h2{ font-size: 22px; margin-bottom: 18px; }
.woocommerce-tabs table.shop_attributes{
  width:100%;
  border-collapse: collapse;
  margin-top: 12px;
}
.woocommerce-tabs table.shop_attributes th,
.woocommerce-tabs table.shop_attributes td{
  padding: 12px 16px;
  border: 1px solid var(--otb-border);
  font-size: 14px;
  color: var(--otb-text);
}
.woocommerce-tabs table.shop_attributes th{
  background: var(--otb-card-bg);
  color: var(--otb-cream);
  font-weight:600;
  width: 220px;
}

/* Reviews */
#reviews .commentlist{ list-style:none; padding:0; margin: 24px 0 0; }
#reviews .comment{
  border-bottom: 1px solid var(--otb-border);
  padding: 24px 0;
}
#reviews .comment_container{ display:flex; gap:16px; }
#reviews .avatar{ border-radius:50%; width:48px; height:48px; }
#reviews .comment-text{ flex:1; }
#reviews .comment-text p.meta{ font-size:12px; color: var(--otb-text-faint); margin-bottom:8px; }
#reviews .comment-text strong{ color: var(--otb-cream); }
#review_form #respond textarea{ min-height: 120px; margin-bottom: 16px; }
#review_form #respond p{ margin-bottom: 16px; }

/* Related / upsell product sections */
.related.products,
.upsells.products{
  margin-top: 20px;
  padding-top: 64px;
  border-top: 1px solid var(--otb-border);
}
.related.products > h2,
.upsells.products > h2{
  font-size: clamp(24px, 3vw, 30px);
  margin-bottom: 40px;
}

/* -----------------------------------------------------------------------
   7. CART PAGE
   ----------------------------------------------------------------------- */
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  width:100%;
  border-collapse: collapse;
  margin-bottom: 32px;
}
.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th{
  text-align:left;
  padding: 16px;
  font-family: var(--otb-font-mono);
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--otb-text-faint);
  border-bottom: 1px solid var(--otb-border);
}
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table td{
  padding: 18px 16px;
  border-bottom: 1px solid var(--otb-border);
  color: var(--otb-text);
  vertical-align: middle;
}
.woocommerce-cart table.shop_table td.product-name a{
  color: var(--otb-cream);
  font-family: var(--otb-font-serif);
  font-size: 16px;
}
.woocommerce-cart table.shop_table img{
  width: 64px;
  border: 1px solid var(--otb-border);
}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal{
  color: var(--otb-gold-bright);
  font-weight:600;
}
.woocommerce-cart .product-remove a{
  color: var(--otb-text-faint) !important;
  font-size: 18px;
}
.woocommerce-cart .product-remove a:hover{ color:#c4614f !important; }

.woocommerce-cart .coupon{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.woocommerce-cart .coupon .input-text{ max-width: 220px; }

.cart-collaterals{
  display:flex;
  justify-content:flex-end;
  margin-top: 32px;
}
.cart_totals{
  width:100%;
  max-width: 420px;
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
  padding: 32px;
}
.cart_totals h2{ font-size: 20px; margin-bottom: 20px; }
.cart_totals table{ width:100%; border-collapse:collapse; }
.cart_totals table th,
.cart_totals table td{
  padding: 12px 0;
  border-bottom: 1px solid var(--otb-border);
  color: var(--otb-text-muted);
  font-size:14px;
}
.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td{ border-bottom:none; }
.cart_totals .order-total .amount{
  color: var(--otb-gold-bright);
  font-family: var(--otb-font-serif);
  font-size: 20px;
}
.wc-proceed-to-checkout{ margin-top: 20px; }
.wc-proceed-to-checkout .checkout-button{ width:100%; }

/* -----------------------------------------------------------------------
   8. CHECKOUT PAGE
   ----------------------------------------------------------------------- */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details{
  display:flex;
  flex-wrap:wrap;
  gap: 40px;
}
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2{ flex: 1 1 320px; }
.woocommerce-checkout h3{ font-size: 19px; margin-bottom: 20px; }
.woocommerce-checkout .form-row{ margin-bottom: 16px; }
.woocommerce-checkout .form-row label{ display:block; margin-bottom: 6px; }

#order_review_heading,
#order_review{ margin-top: 40px; }
.woocommerce-checkout-review-order-table{
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{ padding: 16px; }

#payment{
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
  margin-top: 24px;
}
#payment ul.payment_methods{
  list-style:none;
  padding: 20px 20px 0;
  border-bottom: 1px solid var(--otb-border);
}
#payment ul.payment_methods li{ padding-bottom: 16px; color: var(--otb-text); font-size:14px; }
#payment .payment_box{
  background: var(--otb-black-soft);
  color: var(--otb-text-muted);
  padding: 18px;
  margin: 12px 0;
  font-size: 13px;
}
#payment #place_order{ width:100%; margin: 20px; width: calc(100% - 40px); }

/* -----------------------------------------------------------------------
   9. MY ACCOUNT
   ----------------------------------------------------------------------- */
.woocommerce-account .otb-woo-content{ padding-top: 80px; }
.woocommerce-MyAccount-navigation{
  margin-bottom: 40px;
}
.woocommerce-MyAccount-navigation ul{
  display:flex;
  flex-wrap:wrap;
  gap: 4px;
  list-style:none;
  padding:0;
  border-bottom: 1px solid var(--otb-border);
}
.woocommerce-MyAccount-navigation li{ list-style:none; }
.woocommerce-MyAccount-navigation li a{
  display:block;
  padding: 14px 20px;
  font-family: var(--otb-font-mono);
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--otb-text-muted);
  border-bottom: 2px solid transparent;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover{
  color: var(--otb-gold-bright);
  border-bottom-color: var(--otb-gold);
}

.woocommerce-MyAccount-content{ max-width: 780px; }
.woocommerce-MyAccount-content table.shop_table{ width:100%; border-collapse:collapse; margin: 20px 0; }
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td{
  padding: 14px 16px;
  border-bottom: 1px solid var(--otb-border);
  font-size:14px;
  color: var(--otb-text);
}
.woocommerce-MyAccount-content table.shop_table th{
  font-family: var(--otb-font-mono);
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  color: var(--otb-text-faint);
}
.woocommerce-MyAccount-content mark.order-status{
  background:none;
  color: var(--otb-gold-bright);
  font-weight:600;
}
.woocommerce-MyAccount-content .woocommerce-Address{
  background: var(--otb-card-bg);
  border: 1px solid var(--otb-border);
  padding: 28px;
  margin-bottom: 24px;
}
.woocommerce-MyAccount-content address{ font-style:normal; color: var(--otb-text-muted); line-height:1.8; }
.woocommerce-MyAccount-content .woocommerce-Address-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom: 16px;
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2{ font-size:18px; margin:0; }

/* -----------------------------------------------------------------------
   10. RESPONSIVE
   ----------------------------------------------------------------------- */
@media (max-width: 991.98px){
  ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; gap: 24px !important; }
  div.product{ gap: 36px; }
}

@media (max-width: 767.98px){
  .single-product .otb-woo-content{ padding-top: 110px; }
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details{ gap: 0; }
}

@media (max-width: 575.98px){
  ul.products,
  .woocommerce ul.products,
  .woocommerce-page ul.products{ grid-template-columns: 1fr !important; }
  .cart-collaterals{ justify-content:stretch; }
  .cart_totals{ max-width:none; }
  .woocommerce-cart table.shop_table thead{ display:none; }
  .woocommerce-cart table.shop_table td{ display:block; width:100%; border-bottom:none; }
  .woocommerce-cart table.shop_table tr{ display:block; border-bottom: 1px solid var(--otb-border); padding: 12px 0; }
}
