/* ── WooCommerce pages: cart, checkout, account, shop ─────── */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  background: #fff !important;
}

body.woocommerce-cart #content.site-content,
body.woocommerce-cart #content > .col-full,
body.woocommerce-cart #primary.content-area,
body.woocommerce-cart #main.site-main,
body.woocommerce-checkout #content.site-content,
body.woocommerce-checkout #content > .col-full,
body.woocommerce-checkout #primary.content-area,
body.woocommerce-checkout #main.site-main,
body.woocommerce-account #content.site-content,
body.woocommerce-account #content > .col-full,
body.woocommerce-account #primary.content-area,
body.woocommerce-account #main.site-main {
  background: #fff !important;
  color: #1C1917 !important;
}

body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary,
body.woocommerce-account #secondary {
  display: none !important;
}

body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 2rem 0 3rem !important;
}

.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-account .entry-header {
  margin-bottom: 1.5rem;
}

.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
  font-family: Cormorant, serif;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: #1C1917 !important;
  margin: 0;
}

/* Cart / checkout tables */
.woocommerce-cart-form,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
  max-width: 960px;
  margin: 0 auto;
}

table.shop_table,
table.cart,
.woocommerce-checkout-review-order-table,
.woocommerce-table--order-details {
  background: #fff !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 8px;
  overflow: hidden;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

table.shop_table thead,
table.cart thead {
  background: #F5F5F4 !important;
}

table.shop_table thead th,
table.cart thead th {
  background: #F5F5F4 !important;
  color: #1C1917 !important;
  font-family: Montserrat, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #E7E5E4 !important;
  padding: 1rem 1.25rem !important;
}

table.shop_table tbody td,
table.cart tbody td {
  background: #fff !important;
  color: #1C1917 !important;
  border-top: 1px solid #F5F5F4 !important;
  padding: 1rem 1.25rem !important;
  vertical-align: middle !important;
}

table.shop_table tbody tr:nth-child(even) td,
table.cart tbody tr:nth-child(even) td {
  background: #FAFAF9 !important;
}

table.cart td.actions {
  background: #FAFAF9 !important;
  border-top: 1px solid #E7E5E4 !important;
  text-align: right;
}

table.cart td.product-remove a.remove {
  color: #A8A29E !important;
  background: #F5F5F4 !important;
  border: 1px solid #E7E5E4;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  line-height: 26px;
  font-size: 1.1rem;
  display: inline-block;
  text-align: center;
}

table.cart td.product-remove a.remove:hover {
  color: #fff !important;
  background: #CA8A04 !important;
  border-color: #CA8A04;
}

table.cart .product-thumbnail img {
  max-width: 80px;
  height: auto;
  border-radius: 6px;
}

table.cart .product-name a {
  color: #1C1917 !important;
  font-weight: 600;
  text-decoration: none;
}

table.cart .product-name a:hover {
  color: #CA8A04 !important;
}

.be-cart-pack-meta {
  display: inline-block;
  margin-top: 0.35rem;
  font-family: Montserrat, sans-serif;
  font-size: 0.72rem;
  color: #78716C;
  font-weight: 400;
}

.be-shipping-note {
  font-family: Montserrat, sans-serif;
  font-size: 0.78rem;
  line-height: 1.55;
  color: #57534E;
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.85rem;
  background: #FAFAF9;
  border: 1px solid #E7E5E4;
  border-radius: 6px;
}

.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-order-details {
  background: #fff !important;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  padding: 1.5rem;
  margin-top: 2rem;
}

.cart_totals h2,
.woocommerce-checkout-review-order h3,
.woocommerce-order-details h2 {
  font-family: Cormorant, serif;
  font-size: 1.5rem;
  color: #1C1917 !important;
  margin: 0 0 1rem;
}

.cart_totals table,
.woocommerce-checkout-review-order-table {
  margin: 0 !important;
  border: none !important;
}

.cart_totals th,
.cart_totals td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  background: transparent !important;
  color: #1C1917 !important;
  border: none !important;
  padding: 0.65rem 0 !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  border-top: 1px solid #E7E5E4 !important;
  font-weight: 700;
  font-size: 1.05rem;
  padding-top: 1rem !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order {
  background: #CA8A04 !important;
  border-color: #CA8A04 !important;
  color: #fff !important;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 4px !important;
  padding: 14px 28px !important;
  width: 100%;
  display: block;
  text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover {
  background: #A16207 !important;
  border-color: #A16207 !important;
  color: #fff !important;
}

.woocommerce-cart-form .button[name="update_cart"],
.woocommerce-checkout .button,
.woocommerce-account .button {
  background: #44403C !important;
  border-color: #44403C !important;
  color: #fff !important;
}

.woocommerce-cart-form .button[name="update_cart"]:hover:not(:disabled),
.woocommerce-checkout .button:hover,
.woocommerce-account .button:hover {
  background: #292524 !important;
  border-color: #292524 !important;
  color: #fff !important;
}

.woocommerce-cart-form .button[name="update_cart"]:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  background: #FAFAF9 !important;
  color: #1C1917 !important;
  border-top-color: #CA8A04 !important;
  border-radius: 6px;
  margin-bottom: 1.5rem;
}

.woocommerce-info::before,
.woocommerce-message::before {
  color: #CA8A04 !important;
}

.woocommerce-form-login-toggle .woocommerce-info a,
.be-cart-login .woocommerce-info a,
.be-login-link,
.woocommerce-form-login-toggle a.showlogin {
  color: #CA8A04 !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.woocommerce-form-login-toggle .woocommerce-info a:hover,
.be-cart-login .woocommerce-info a:hover {
  color: #A16207 !important;
}

.woocommerce-cart .woocommerce-form-login.login,
.woocommerce-checkout .woocommerce-form-login.login {
  background: #FAFAF9;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
}

.woocommerce-cart .woocommerce-form-login.login label,
.woocommerce-checkout .woocommerce-form-login.login label {
  color: #1C1917 !important;
}

.woocommerce-account .u-columns.col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

@media (max-width: 768px) {
  .woocommerce-account .u-columns.col2-set {
    grid-template-columns: 1fr;
  }
}

.woocommerce-cart .quantity .qty,
.woocommerce-checkout .quantity .qty {
  background: #fff !important;
  color: #1C1917 !important;
  border: 1px solid #D6D3D1 !important;
  border-radius: 4px;
  min-width: 64px;
}

.shipping-calculator-button,
.woocommerce-shipping-destination,
.cart_totals .woocommerce-shipping-methods label {
  color: #57534E !important;
}

#payment {
  background: #FAFAF9 !important;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
}

#payment .payment_methods li {
  background: #fff !important;
  color: #1C1917 !important;
}

#payment .payment_box {
  background: #F5F5F4 !important;
  color: #44403C !important;
}

.woocommerce form .form-row label,
.woocommerce-account .woocommerce-MyAccount-navigation a,
.woocommerce-account .woocommerce-MyAccount-content {
  color: #1C1917 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #FAFAF9;
  border: 1px solid #E7E5E4;
  border-radius: 8px;
  overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #CA8A04 !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  body.woocommerce-cart #content.site-content,
  body.woocommerce-cart #content > .col-full,
  body.woocommerce-checkout #content.site-content,
  body.woocommerce-checkout #content > .col-full,
  body.woocommerce-account #content.site-content,
  body.woocommerce-account #content > .col-full {
    width: 100% !important;
    max-width: 100% !important;
    padding: 1rem !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .woocommerce-cart-form,
  .cart_totals,
  .woocommerce-checkout .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  table.shop_table,
  table.cart {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  table.shop_table_responsive thead {
    display: none !important;
  }

  table.shop_table_responsive tbody tr {
    display: block;
    margin-bottom: 1rem;
    border: 1px solid #E7E5E4 !important;
    border-radius: 8px;
    overflow: hidden;
    background: #fff !important;
  }

  table.shop_table_responsive tbody td {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: #fff !important;
    border-top: 1px solid #F5F5F4 !important;
    text-align: right !important;
    padding: 0.85rem 1rem !important;
  }

  table.shop_table_responsive tbody td::before {
    content: attr(data-title) !important;
    float: none !important;
    font-weight: 700;
    color: #57534E !important;
    text-transform: uppercase;
    font-size: 0.68rem;
    letter-spacing: 0.06em;
    text-align: left;
    flex: 0 0 auto;
  }

  table.shop_table_responsive tbody td.product-remove::before,
  table.shop_table_responsive tbody td.product-thumbnail::before {
    display: none !important;
  }

  table.shop_table_responsive tbody td.product-remove,
  table.shop_table_responsive tbody td.product-thumbnail {
    justify-content: center;
  }

  table.shop_table_responsive tbody td.actions {
    display: block !important;
    text-align: center !important;
    background: #FAFAF9 !important;
  }

  table.shop_table_responsive tbody td.actions::before {
    display: none !important;
  }

  .cart_totals,
  .woocommerce-checkout-review-order {
    margin-top: 1.5rem;
  }
}
