/* ==========================================================
   GJS PREMIUM WOOCOMMERCE CART v1.2
   Classic cart + Cart Block
========================================================== */
body.woocommerce-cart{
  --gjs-maroon:#5f1018;
  --gjs-maroon-2:#861b23;
  --gjs-deep:#22100d;
  --gjs-gold:#e8b64b;
  --gjs-gold-2:#ffda79;
  --gjs-cream:#fff8ea;
  --gjs-cream-2:#f9edd3;
  --gjs-text:#33221d;
  --gjs-muted:#735f55;
  --gjs-green:#1f8b57;
  --gjs-border:rgba(120,70,25,.16);
  --gjs-shadow:0 18px 48px rgba(69,25,8,.10);
  background:radial-gradient(circle at 95% 0,rgba(232,182,75,.12),transparent 28%),linear-gradient(180deg,#fffdf8 0%,#fff9ee 100%);
}

body.woocommerce-cart .entry-title,
body.woocommerce-cart .wp-block-post-title{
  width:min(1180px,calc(100% - 36px));
  margin:38px auto 20px!important;
  color:var(--gjs-deep)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(44px,5vw,66px)!important;
  line-height:.96!important;
  letter-spacing:-.035em;
}

/* ==========================================================
   CLASSIC WOOCOMMERCE CART — DESKTOP
========================================================== */
body.woocommerce-cart .woocommerce{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto 74px!important;
  font-family:'Poppins',sans-serif;
}

body.woocommerce-cart form.woocommerce-cart-form{
  margin:0!important;
}

body.woocommerce-cart table.shop_table.cart{
  width:100%!important;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border:1px solid var(--gjs-border)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:var(--gjs-shadow)!important;
  overflow:hidden!important;
}

body.woocommerce-cart table.shop_table.cart thead th{
  padding:17px 18px!important;
  border:0!important;
  border-bottom:1px solid var(--gjs-border)!important;
  background:linear-gradient(180deg,#fffdf8,#fff9ef)!important;
  color:var(--gjs-maroon)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item td{
  padding:20px 18px!important;
  border:0!important;
  border-bottom:1px solid var(--gjs-border)!important;
  background:#fff!important;
  vertical-align:middle!important;
  color:var(--gjs-text)!important;
}

body.woocommerce-cart td.product-remove{
  width:58px!important;
  text-align:center!important;
}

body.woocommerce-cart td.product-remove a.remove{
  width:38px!important;
  height:38px!important;
  display:inline-grid!important;
  place-items:center!important;
  margin:auto!important;
  border:1px solid rgba(95,16,24,.13)!important;
  border-radius:50%!important;
  background:#fff6f6!important;
  color:var(--gjs-maroon)!important;
  font-size:22px!important;
  font-weight:400!important;
  line-height:1!important;
  text-decoration:none!important;
  transition:.22s ease!important;
}

body.woocommerce-cart td.product-remove a.remove:hover{
  background:var(--gjs-maroon)!important;
  color:#fff!important;
  transform:scale(1.05);
}

body.woocommerce-cart td.product-thumbnail{
  width:130px!important;
}

body.woocommerce-cart td.product-thumbnail img{
  width:104px!important;
  height:104px!important;
  max-width:104px!important;
  object-fit:cover!important;
  border:1px solid var(--gjs-border)!important;
  border-radius:17px!important;
  background:#fffaf1!important;
  box-shadow:0 8px 20px rgba(64,28,9,.07)!important;
}

body.woocommerce-cart td.product-name a{
  color:var(--gjs-maroon)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:24px!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-decoration:none!important;
}

body.woocommerce-cart td.product-name a:hover{color:var(--gjs-maroon-2)!important;}

body.woocommerce-cart td.product-name dl.variation,
body.woocommerce-cart td.product-name .variation{
  margin:8px 0 0!important;
  color:var(--gjs-muted)!important;
  font-size:12px!important;
}

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{
  color:var(--gjs-deep)!important;
  font-size:15px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

body.woocommerce-cart td.product-subtotal{
  color:var(--gjs-maroon)!important;
  font-size:17px!important;
}

body.woocommerce-cart td.product-quantity .quantity{
  display:inline-flex!important;
  align-items:center!important;
}

body.woocommerce-cart td.product-quantity input.qty{
  width:74px!important;
  height:48px!important;
  min-height:48px!important;
  padding:8px!important;
  border:1px solid rgba(95,16,24,.18)!important;
  border-radius:12px!important;
  background:#fffaf3!important;
  color:var(--gjs-deep)!important;
  font-size:15px!important;
  font-weight:800!important;
  text-align:center!important;
  box-shadow:none!important;
}

/* actions / coupon row */
body.woocommerce-cart table.shop_table.cart td.actions{
  padding:18px!important;
  border:0!important;
  background:linear-gradient(180deg,#fff,#fffaf1)!important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon label{display:none!important;}

body.woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text{
  width:165px!important;
  height:48px!important;
  margin:0!important;
  padding:10px 14px!important;
  border:1px solid var(--gjs-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--gjs-text)!important;
}

body.woocommerce-cart table.shop_table.cart td.actions button.button,
body.woocommerce-cart table.shop_table.cart td.actions input.button{
  min-height:48px!important;
  padding:11px 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:#f1e3c5!important;
  color:var(--gjs-maroon)!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:none!important;
}

body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]{
  float:right!important;
  background:var(--gjs-maroon)!important;
  color:#fff!important;
}

body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]:disabled{
  opacity:.45!important;
}

/* totals */
body.woocommerce-cart .cart-collaterals{
  display:flex!important;
  justify-content:flex-end!important;
  width:100%!important;
  margin-top:28px!important;
}

body.woocommerce-cart .cart-collaterals .cart_totals{
  float:none!important;
  width:min(470px,100%)!important;
  margin:0!important;
  padding:26px!important;
  border:1px solid rgba(232,182,75,.26)!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#fff,#fff7e6)!important;
  box-shadow:var(--gjs-shadow)!important;
}

body.woocommerce-cart .cart_totals h2{
  margin:0 0 14px!important;
  padding:0 0 16px!important;
  border-bottom:1px solid var(--gjs-border)!important;
  color:var(--gjs-maroon)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:32px!important;
  line-height:1!important;
}

body.woocommerce-cart .cart_totals table.shop_table{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
  padding:14px 0!important;
  border:0!important;
  border-bottom:1px solid var(--gjs-border)!important;
  background:transparent!important;
  color:var(--gjs-text)!important;
  font-size:14px!important;
}

body.woocommerce-cart .cart_totals table.shop_table td{text-align:right!important;font-weight:700!important;}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td{
  padding-top:18px!important;
  border-bottom:0!important;
  color:var(--gjs-deep)!important;
  font-family:'Cormorant Garamond',serif!important;
  font-size:25px!important;
  font-weight:700!important;
}
body.woocommerce-cart .cart_totals .order-total td{color:var(--gjs-maroon)!important;font-size:27px!important;}

body.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0!important;}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100%!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:13px 20px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--gjs-maroon),var(--gjs-maroon-2))!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:0 13px 28px rgba(95,16,24,.23)!important;
  transition:.22s ease!important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{transform:translateY(-2px);background:linear-gradient(135deg,#74151e,#a52630)!important;}

/* injected enhancement */
.gjs-classic-cart-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px;}
.gjs-classic-cart-trust .gjs-trust-card{padding:10px 7px;border:1px solid var(--gjs-border);border-radius:12px;background:#fff;text-align:center;}
.gjs-classic-cart-trust .gjs-trust-card b{display:block;color:var(--gjs-deep);font-size:10px;line-height:1.3;}
.gjs-classic-cart-trust .gjs-trust-card span{display:block;margin-top:3px;color:var(--gjs-muted);font-size:9px;line-height:1.35;}
.gjs-classic-cart-trust .gjs-trust-icon{width:30px;height:30px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;background:#fff0d1;color:var(--gjs-maroon);font-size:12px;font-weight:900;}
.gjs-classic-continue{display:inline-flex;align-items:center;gap:7px;margin-top:15px;color:var(--gjs-maroon)!important;font-size:12px;font-weight:800;text-decoration:none!important;}

/* notices */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error{
  border-top-color:var(--gjs-gold)!important;
  border-radius:14px!important;
  background:#fff!important;
}

/* ==========================================================
   CLASSIC CART — MOBILE: REAL CARD LAYOUT
========================================================== */
@media(max-width:700px){
  body.woocommerce-cart .entry-title,
  body.woocommerce-cart .wp-block-post-title,
  body.woocommerce-cart .woocommerce{
    width:calc(100% - 20px)!important;
    max-width:none!important;
  }

  body.woocommerce-cart .entry-title,
  body.woocommerce-cart .wp-block-post-title{
    margin:26px auto 18px!important;
    font-size:42px!important;
  }

  body.woocommerce-cart .woocommerce{margin-bottom:52px!important;}

  body.woocommerce-cart table.shop_table.cart{
    display:block!important;
    width:100%!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body.woocommerce-cart table.shop_table.cart thead{display:none!important;}
  body.woocommerce-cart table.shop_table.cart tbody{display:block!important;width:100%!important;}

  body.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    position:relative!important;
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-areas:
      "thumb name"
      "thumb price"
      "thumb qty"
      "subtotal subtotal"!important;
    column-gap:13px!important;
    row-gap:7px!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:14px!important;
    border:1px solid var(--gjs-border)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 10px 28px rgba(69,25,8,.08)!important;
    overflow:hidden!important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td,
  body.woocommerce-cart table.shop_table.cart tbody tr.cart_item td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    text-align:left!important;
  }

  /* kill WooCommerce data-title labels which were overlapping */
  body.woocommerce-cart table.shop_table_responsive.cart tbody tr.cart_item td::before{
    display:none!important;
    content:none!important;
  }

  body.woocommerce-cart td.product-remove{
    position:absolute!important;
    z-index:3!important;
    top:9px!important;
    right:9px!important;
    width:34px!important;
    height:34px!important;
  }
  body.woocommerce-cart td.product-remove a.remove{
    width:34px!important;
    height:34px!important;
    margin:0!important;
    background:#fff4f4!important;
    font-size:20px!important;
  }

  body.woocommerce-cart td.product-thumbnail{
    grid-area:thumb!important;
    width:92px!important;
    align-self:start!important;
  }
  body.woocommerce-cart td.product-thumbnail a{display:block!important;width:92px!important;}
  body.woocommerce-cart td.product-thumbnail img{
    width:92px!important;
    height:92px!important;
    max-width:92px!important;
    margin:0!important;
    border-radius:14px!important;
  }

  body.woocommerce-cart td.product-name{
    grid-area:name!important;
    padding-right:30px!important;
    min-width:0!important;
  }
  body.woocommerce-cart td.product-name a{
    display:block!important;
    margin:0!important;
    font-size:20px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  body.woocommerce-cart td.product-name dl.variation{font-size:11px!important;line-height:1.4!important;}

  body.woocommerce-cart td.product-price{
    grid-area:price!important;
    align-self:center!important;
    color:var(--gjs-deep)!important;
    font-size:14px!important;
  }
  body.woocommerce-cart td.product-price::before{
    content:"Price"!important;
    display:inline!important;
    margin-right:7px!important;
    color:var(--gjs-muted)!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
  }

  body.woocommerce-cart td.product-quantity{
    grid-area:qty!important;
    align-self:center!important;
  }
  body.woocommerce-cart td.product-quantity::before{
    content:"Qty"!important;
    display:inline-block!important;
    margin-right:8px!important;
    color:var(--gjs-muted)!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
  }
  body.woocommerce-cart td.product-quantity .quantity{display:inline-flex!important;vertical-align:middle!important;}
  body.woocommerce-cart td.product-quantity input.qty{
    width:66px!important;
    height:42px!important;
    min-height:42px!important;
    border-radius:11px!important;
    background:#fff9ef!important;
  }

  body.woocommerce-cart td.product-subtotal{
    grid-area:subtotal!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    margin-top:5px!important;
    padding-top:12px!important;
    border-top:1px solid var(--gjs-border)!important;
    color:var(--gjs-maroon)!important;
    font-size:18px!important;
    font-weight:800!important;
  }
  body.woocommerce-cart td.product-subtotal::before{
    content:"Subtotal"!important;
    display:block!important;
    color:var(--gjs-muted)!important;
    font-size:11px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
  }

  /* actions becomes separate card */
  body.woocommerce-cart table.shop_table.cart tbody tr:not(.cart_item){
    display:block!important;
    width:100%!important;
    margin:0!important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--gjs-border)!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(69,25,8,.05)!important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions::before{display:none!important;content:none!important;}
  body.woocommerce-cart table.shop_table.cart td.actions .coupon{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
    float:none!important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions .coupon input.input-text{
    width:100%!important;
    max-width:none!important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions .coupon button.button{
    width:100%!important;
  }
  body.woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]{
    float:none!important;
    width:100%!important;
    margin-top:10px!important;
  }

  body.woocommerce-cart .cart-collaterals{
    display:block!important;
    margin-top:16px!important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals{
    width:100%!important;
    max-width:none!important;
    padding:20px!important;
    border-radius:20px!important;
  }
  body.woocommerce-cart .cart_totals h2{font-size:29px!important;}
  body.woocommerce-cart .cart_totals table.shop_table,
  body.woocommerce-cart .cart_totals table.shop_table tbody,
  body.woocommerce-cart .cart_totals table.shop_table tr{display:block!important;width:100%!important;}
  body.woocommerce-cart .cart_totals table.shop_table tr{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:14px!important;
  }
  body.woocommerce-cart .cart_totals table.shop_table th,
  body.woocommerce-cart .cart_totals table.shop_table td{
    display:block!important;
    width:auto!important;
    text-align:left!important;
  }
  body.woocommerce-cart .cart_totals table.shop_table td::before{display:none!important;content:none!important;}
  body.woocommerce-cart .cart_totals table.shop_table td{text-align:right!important;}
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{min-height:58px!important;font-size:16px!important;}

  .gjs-classic-cart-trust{grid-template-columns:1fr!important;}
  .gjs-classic-cart-trust .gjs-trust-card{
    display:grid!important;
    grid-template-columns:32px 1fr!important;
    column-gap:9px!important;
    text-align:left!important;
    padding:10px!important;
  }
  .gjs-classic-cart-trust .gjs-trust-icon{grid-row:1/3!important;margin:0!important;}
  .gjs-classic-continue{
    width:100%!important;
    min-height:46px!important;
    justify-content:center!important;
    border:1px solid var(--gjs-border)!important;
    border-radius:12px!important;
    background:#fff!important;
  }
}

@media(max-width:420px){
  body.woocommerce-cart .entry-title,
  body.woocommerce-cart .wp-block-post-title,
  body.woocommerce-cart .woocommerce{width:calc(100% - 16px)!important;}
  body.woocommerce-cart .entry-title,
  body.woocommerce-cart .wp-block-post-title{font-size:38px!important;}

  body.woocommerce-cart table.shop_table.cart tbody tr.cart_item{
    grid-template-columns:78px minmax(0,1fr)!important;
    padding:12px!important;
    column-gap:10px!important;
    border-radius:17px!important;
  }
  body.woocommerce-cart td.product-thumbnail,
  body.woocommerce-cart td.product-thumbnail a{width:78px!important;}
  body.woocommerce-cart td.product-thumbnail img{width:78px!important;height:78px!important;max-width:78px!important;border-radius:12px!important;}
  body.woocommerce-cart td.product-name a{font-size:18px!important;}
  body.woocommerce-cart td.product-price{font-size:13px!important;}
  body.woocommerce-cart td.product-quantity input.qty{width:60px!important;height:40px!important;min-height:40px!important;}
  body.woocommerce-cart td.product-subtotal{font-size:17px!important;}
  body.woocommerce-cart .cart-collaterals .cart_totals{padding:17px!important;}
}

/* ==========================================================
   CART BLOCK — keep premium styling without affecting classic
========================================================== */
body.woocommerce-cart .wc-block-cart{
  width:min(1180px,calc(100% - 36px));
  margin:30px auto 70px!important;
  font-family:'Poppins',sans-serif;
}
body.woocommerce-cart .wc-block-cart__sidebar{
  align-self:start;
  padding:24px!important;
  border:1px solid rgba(232,182,75,.25)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#fff,#fff7e7)!important;
  box-shadow:var(--gjs-shadow)!important;
}
body.woocommerce-cart .wc-block-cart__submit-button{
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--gjs-maroon),var(--gjs-maroon-2))!important;
  color:#fff!important;
  font-weight:800!important;
}
@media(max-width:700px){
  body.woocommerce-cart .wc-block-cart{width:calc(100% - 20px)!important;}
  body.woocommerce-cart .wc-block-cart .wc-block-components-sidebar-layout{display:block!important;}
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar{width:100%!important;max-width:none!important;padding-right:0!important;}
  body.woocommerce-cart .wc-block-cart__sidebar{margin-top:16px!important;}
}
