/* ── Classic (shortcode) cart page ── */
.woocommerce-cart-form { background: var(--z-card); border: 1px solid var(--z-gold-line); padding: 0; position: relative; }
.woocommerce-cart-form::before { content: ''; display: block; height: 2px; background: linear-gradient(90deg, var(--z-gold), rgba(212,160,23,.2), transparent); }
.woocommerce-cart-form table.shop_table, .woocommerce table.shop_table { border-collapse: collapse; width: 100%; border: none !important; background: transparent; }
.woocommerce-cart-form table.shop_table thead tr, .woocommerce table.shop_table thead tr { border-bottom: 1px solid var(--z-gold-line); background: rgba(212,160,23,.06); }
.woocommerce-cart-form table.shop_table th, .woocommerce table.shop_table th {
  font-family: var(--z-font-ui) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 3px !important; text-transform: uppercase !important;
  color: var(--z-gold) !important; padding: 14px 20px !important; border: none !important; background: transparent;
}
.woocommerce-cart-form table.shop_table td, .woocommerce table.shop_table td {
  font-family: var(--z-font-body); font-size: 14px; color: var(--z-text); padding: 20px 20px !important; border: none !important;
  border-bottom: 1px solid rgba(212,160,23,.08) !important; vertical-align: middle; background: transparent;
}
.woocommerce-cart-form table.shop_table tr:last-child td { border-bottom: none !important; }
.woocommerce-cart-form table.shop_table tbody tr:hover td { background: rgba(212,160,23,.03); }
.woocommerce-cart-form .product-thumbnail img { width: 72px !important; height: 72px !important; object-fit: cover; border: 1px solid var(--z-gold-line); display: block; }
.woocommerce-cart-form .product-name a {
  font-family: var(--z-font-ui); font-weight: 700; font-size: 15px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--z-text); text-decoration: none; transition: color .2s;
}
.woocommerce-cart-form .product-name a:hover { color: var(--z-gold); }
.woocommerce-cart-form .product-name .variation dt, .woocommerce-cart-form .product-name .variation dd { font-family: var(--z-font-body); font-size: 11px; color: var(--z-muted); letter-spacing: 1px; }
.woocommerce-cart-form .product-price .amount, .woocommerce-cart-form .product-subtotal .amount, .woocommerce .cart-collaterals .amount, .woocommerce table.shop_table .amount {
  font-family: var(--z-font-head) !important; font-weight: 700 !important; color: var(--z-gold) !important; font-size: 16px !important;
}
.woocommerce-cart-form .quantity .qty, .woocommerce .quantity .qty {
  width: 64px !important; background: rgba(255,255,255,.05) !important; border: 1px solid var(--z-border) !important; color: var(--z-text) !important;
  font-family: var(--z-font-head) !important; font-weight: 700 !important; font-size: 14px !important; text-align: center !important; padding: 8px !important; border-radius: 0 !important; -moz-appearance: textfield;
}
.woocommerce-cart-form .quantity .qty:focus { border-color: var(--z-gold) !important; outline: none !important; }
.woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button, .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.woocommerce-cart-form table.cart td.product-remove a.remove { font-size: 20px !important; color: rgba(212,160,23,.4) !important; line-height: 1; transition: color .2s !important; text-decoration: none; }
.woocommerce-cart-form table.cart td.product-remove a.remove:hover { background: transparent !important; color: #e05555 !important; }
.woocommerce-cart-form .coupon { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.woocommerce-cart-form .coupon #coupon_code {
  background: rgba(255,255,255,.04) !important; border: 1px solid var(--z-border) !important; color: var(--z-text) !important; font-family: var(--z-font-body) !important;
  font-size: 13px !important; padding: 12px 16px !important; width: 200px !important; border-radius: 0 !important;
}
.woocommerce-cart-form .coupon #coupon_code::placeholder { color: rgba(255,255,255,.2) !important; }
.woocommerce-cart-form .coupon #coupon_code:focus { border-color: rgba(212,160,23,.5) !important; outline: none !important; }
.woocommerce-cart-form .actions {
  padding: 16px 20px !important; border-top: 1px solid var(--z-gold-line) !important; background: rgba(212,160,23,.04);
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
}
.woocommerce-cart table.cart td.actions .coupon + .button { float: right; }
.woocommerce-cart-form:empty, .woocommerce-page .cart-empty {
  font-family: var(--z-font-ui); font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: var(--z-muted);
  text-align: center; padding: 60px 20px; border: 1px dashed rgba(212,160,23,.2); background: var(--z-card);
}
.cart-collaterals { margin-top: 40px; }
.cart-collaterals .cart_totals { background: var(--z-card); border: 1px solid var(--z-gold-line); padding: 0; position: relative; overflow: hidden; float: right; width: 48%; }
.cart-collaterals .cart_totals::before { content: ''; display: block; height: 2px; background: linear-gradient(90deg, var(--z-gold), rgba(212,160,23,.2), transparent); }
.cart-collaterals .cart_totals h2 {
  font-family: var(--z-font-head); font-size: 18px !important; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; color: var(--z-text);
  padding: 20px 24px 16px; margin: 0 !important; border-bottom: 1px solid var(--z-gold-line) !important;
}
.cart-collaterals .cart_totals table { width: 100%; border-collapse: collapse; }
.cart-collaterals .cart_totals table th {
  font-family: var(--z-font-body) !important; font-size: 10px !important; letter-spacing: 2.5px !important; text-transform: uppercase !important;
  color: rgba(255,255,255,.35) !important; font-weight: 400 !important; padding: 14px 24px !important; border: none !important;
  border-bottom: 1px solid rgba(212,160,23,.08) !important; background: transparent; width: 40%;
}
.cart-collaterals .cart_totals table td {
  font-family: var(--z-font-body) !important; font-size: 15px !important; color: var(--z-text) !important; padding: 14px 24px !important; border: none !important;
  border-bottom: 1px solid rgba(212,160,23,.08) !important; background: transparent; text-align: right;
}
.cart-collaterals .cart_totals tr.order-total th {
  font-family: var(--z-font-ui) !important; font-size: 12px !important; letter-spacing: 2.5px !important; text-transform: uppercase !important;
  color: var(--z-gold) !important; font-weight: 700 !important; border-bottom: none !important; padding-top: 18px !important;
}
.cart-collaterals .cart_totals tr.order-total td { border-bottom: none !important; padding-top: 18px !important; }
.cart-collaterals .cart_totals tr.order-total td .amount { font-family: var(--z-font-head) !important; font-size: 28px !important; font-weight: 900 !important; color: var(--z-gold) !important; }
.cart-collaterals .wc-proceed-to-checkout { padding: 20px 24px; border-top: 1px solid var(--z-gold-line); background: rgba(212,160,23,.04); }
.cart-collaterals .wc-proceed-to-checkout a.checkout-button { display: block !important; text-align: center !important; font-size: 14px !important; letter-spacing: 3px !important; padding: 16px !important; }
.cart-collaterals .shipping-calculator-form { padding: 0 24px 20px; }
.cart-collaterals .shipping-calculator-form p { margin-bottom: 12px; }

@media (max-width: 768px) {
  .cart-collaterals .cart_totals { float: none !important; width: 100% !important; }
  .woocommerce-cart-form table.shop_table thead { display: none; }
  .woocommerce-cart-form table.shop_table td { display: flex; flex-wrap: wrap; align-items: center; padding: 12px 16px !important; }
  .woocommerce-cart-form table.shop_table td::before {
    content: attr(data-title); font-family: var(--z-font-body); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.3); min-width: 80px; flex-shrink: 0;
  }
}
@media (max-width: 480px) {
  .woocommerce-cart-form .actions { flex-direction: column; align-items: stretch; }
  .woocommerce-cart-form .coupon { flex-direction: column; }
  .woocommerce-cart-form .coupon #coupon_code { width: 100% !important; }
}

/* ── Block-based cart (WooCommerce Blocks) ── */
body.woocommerce-cart { background: #0a0a08 !important; color: #f0ede4 !important; min-height: 100vh !important; }
body.woocommerce-cart .entry-content, body.woocommerce-cart .wp-block-group, body.woocommerce-cart main, body.woocommerce-cart .site-main {
  background: #0a0a08 !important; min-height: 80vh !important; padding: clamp(40px,6vh,80px) 0 !important;
}
.wp-block-woocommerce-cart, .wc-block-cart { background: #0a0a08 !important; color: #f0ede4 !important; min-height: 80vh !important; padding: 40px 0 80px !important; }
.wc-block-cart h1, .wc-block-cart *, .wp-block-woocommerce-cart * { color: #f0ede4; font-family: 'DM Sans', sans-serif; }
.wc-block-cart__main, .wc-block-cart__sidebar, .wp-block-woocommerce-cart-cross-sells-block {
  background: #161614 !important; border: 1px solid rgba(212,160,23,.2) !important; border-radius: 0 !important; padding: 0 !important;
}
.wc-block-cart__main::before, .wc-block-cart__sidebar::before { content: '' !important; display: block !important; height: 2px !important; background: linear-gradient(90deg,#D4A017,rgba(212,160,23,.2),transparent) !important; }
.wc-block-cart-items, .wc-block-cart-items__header, .wc-block-cart-items__row { background: transparent !important; border-bottom: 1px solid rgba(212,160,23,.1) !important; }
.wc-block-cart-items__header span, .wc-block-cart-items__header {
  font-family: 'Rajdhani', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 3px !important; text-transform: uppercase !important;
  color: #D4A017 !important; background: rgba(212,160,23,.06) !important; padding: 12px 20px !important; border-bottom: 1px solid rgba(212,160,23,.2) !important;
}
.wc-block-cart-item__product-name, .wc-block-cart-item__product-name a {
  font-family: 'Rajdhani', sans-serif !important; font-weight: 700 !important; font-size: 15px !important; letter-spacing: 1.5px !important; text-transform: uppercase !important;
  color: #f0ede4 !important; text-decoration: none !important;
}
.wc-block-cart-item__product-name a:hover { color: #D4A017 !important; }
.wc-block-cart-item__description, .wc-block-cart-item__product-metadata { font-family: 'DM Sans', sans-serif !important; font-size: 12px !important; color: rgba(240,237,228,.45) !important; }
.wc-block-cart-item__prices, .wc-block-cart-item__total, .woocommerce-Price-amount {
  font-family: 'Orbitron', sans-serif !important; font-weight: 700 !important; font-size: 16px !important; color: #D4A017 !important;
}
.wc-block-components-product-price del { color: rgba(240,237,228,.3) !important; font-size: 13px !important; }
.wc-block-components-product-price ins { color: #D4A017 !important; text-decoration: none !important; }
.wc-block-cart-item__prices .sale-badge, .wc-block-components-sale-badge {
  background: rgba(212,160,23,.18) !important; color: #D4A017 !important; font-family: 'Rajdhani', sans-serif !important; font-size: 10px !important;
  letter-spacing: 2px !important; text-transform: uppercase !important; border-radius: 0 !important; padding: 3px 8px !important;
}
.wc-block-components-quantity-selector {
  display: flex !important; align-items: center !important; border: 1px solid rgba(212,160,23,.3) !important; background: rgba(255,255,255,.04) !important;
  border-radius: 0 !important; overflow: visible !important; position: relative !important; z-index: 1 !important;
}
.wc-block-components-quantity-selector__value, .wc-block-components-quantity-selector input {
  font-family: 'Orbitron', sans-serif !important; font-weight: 700 !important; font-size: 14px !important; color: #f0ede4 !important; background: transparent !important;
  border: none !important; text-align: center !important; width: 44px !important; padding: 8px 0 !important; -moz-appearance: textfield !important; pointer-events: auto !important;
}
.wc-block-components-quantity-selector__button, .wc-block-components-quantity-selector button {
  background: rgba(212,160,23,.12) !important; border: none !important; border-radius: 0 !important; color: #D4A017 !important; font-size: 18px !important; font-weight: 700 !important;
  width: 36px !important; height: 36px !important; min-width: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; pointer-events: auto !important; position: relative !important; z-index: 10 !important; transition: background .2s !important;
  line-height: 1 !important; padding: 0 !important; -webkit-appearance: none !important; user-select: none !important;
}
.wc-block-components-quantity-selector__button:hover { background: rgba(212,160,23,.3) !important; color: #D4A017 !important; }
.wc-block-components-quantity-selector__button svg { fill: #D4A017 !important; stroke: #D4A017 !important; pointer-events: none !important; width: 16px !important; height: 16px !important; }
.wc-block-cart-item__remove-link, button.wc-block-cart-item__remove-link {
  color: rgba(212,160,23,.4) !important; font-family: 'DM Sans', sans-serif !important; font-size: 12px !important; letter-spacing: 1.5px !important;
  text-transform: uppercase !important; text-decoration: none !important; transition: color .2s !important; background: none !important; border: none !important; cursor: pointer !important;
}
.wc-block-cart-item__remove-link:hover { color: #e05555 !important; }
.wc-block-cart__totals-title, .wc-block-components-totals-wrapper h2 {
  font-family: 'Orbitron', sans-serif !important; font-size: 16px !important; font-weight: 900 !important; letter-spacing: 2px !important; text-transform: uppercase !important;
  color: #f0ede4 !important; padding: 20px 24px 14px !important; border-bottom: 1px solid rgba(212,160,23,.2) !important; margin: 0 !important;
}
.wc-block-components-totals-item, .wc-block-components-totals-coupon, .wc-block-components-totals-shipping {
  padding: 14px 24px !important; border-bottom: 1px solid rgba(212,160,23,.07) !important; background: transparent !important;
}
.wc-block-components-totals-item__label { font-family: 'DM Sans', sans-serif !important; font-size: 11px !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: rgba(240,237,228,.38) !important; }
.wc-block-components-totals-item__value { font-family: 'Orbitron', sans-serif !important; font-weight: 700 !important; font-size: 15px !important; color: #D4A017 !important; }
.wc-block-components-totals-footer-item {
  background: rgba(212,160,23,.06) !important; border-top: 1px solid rgba(212,160,23,.2) !important; padding: 18px 24px !important;
  font-family: 'Rajdhani', sans-serif !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 2.5px !important; color: #D4A017 !important;
}
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount { font-family: 'Orbitron', sans-serif !important; font-size: 26px !important; font-weight: 900 !important; color: #D4A017 !important; }
.wc-block-components-totals-coupon details summary { font-family: 'Rajdhani', sans-serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: rgba(212,160,23,.65) !important; cursor: pointer !important; list-style: none !important; }
.wc-block-components-totals-coupon details summary:hover { color: #D4A017 !important; }
.wc-block-components-totals-coupon__form { display: flex !important; gap: 8px !important; margin-top: 12px !important; flex-wrap: wrap !important; }
.wc-block-components-totals-coupon__form input { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(212,160,23,.25) !important; color: #f0ede4 !important; font-family: 'DM Sans', sans-serif !important; font-size: 13px !important; padding: 10px 14px !important; border-radius: 0 !important; outline: none !important; flex: 1 !important; }
.wc-block-cart__submit-button, .wp-block-woocommerce-proceed-to-checkout-block a {
  font-family: 'Rajdhani', sans-serif !important; font-weight: 700 !important; font-size: 14px !important; letter-spacing: 3.5px !important; text-transform: uppercase !important;
  color: #0a0a08 !important; background: #D4A017 !important; border: none !important; border-radius: 0 !important; padding: 16px !important; cursor: pointer !important;
  transition: background .2s !important; text-decoration: none !important; display: inline-block !important; width: 100% !important; text-align: center !important;
}
.wc-block-cart__submit-button:hover, .wp-block-woocommerce-proceed-to-checkout-block a:hover { background: #F0B830 !important; color: #0a0a08 !important; }

/* ── Full-width layout: cart block container + two-column sidebar layout.
   Consolidated to the final effective rules (several earlier iterative
   attempts in the original stylesheet are superseded by these). ── */
body.woocommerce-cart .site, body.woocommerce-cart .site-content, body.woocommerce-cart #page, body.woocommerce-cart #content,
body.woocommerce-cart #primary, body.woocommerce-cart .entry-content, body.woocommerce-cart .page-content,
body.woocommerce-cart .wp-block-post-content, body.woocommerce-cart .wp-block-group, body.woocommerce-cart .wp-block-columns,
body.woocommerce-cart .wp-block-column, body.woocommerce-cart .is-layout-constrained {
  max-width: 100% !important; width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; box-sizing: border-box !important;
}
.wp-block-woocommerce-cart.wc-block-cart, body.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1400px !important; width: 100% !important; margin: 0 auto !important; padding: 0 clamp(24px,4vw,72px) 80px !important; box-sizing: border-box !important; display: block !important;
}
.wc-block-components-sidebar-layout, body.woocommerce-cart .wc-block-components-sidebar-layout {
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: flex-start !important; gap: 28px !important; width: 100% !important; box-sizing: border-box !important;
}
.wc-block-components-sidebar-layout .wc-block-components-main, body.woocommerce-cart .wc-block-components-main {
  flex: 1 1 0% !important; min-width: 0 !important; width: 0 !important; max-width: none !important; box-sizing: border-box !important;
}
.wc-block-components-sidebar-layout .wc-block-components-sidebar, body.woocommerce-cart .wc-block-components-sidebar {
  flex: 0 0 400px !important; width: 400px !important; min-width: 0 !important; max-width: 400px !important; position: sticky !important; top: 76px !important; box-sizing: border-box !important;
}
@media (max-width: 900px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout { flex-direction: column !important; }
  body.woocommerce-cart .wc-block-components-main { width: 100% !important; }
  body.woocommerce-cart .wc-block-components-sidebar { flex: none !important; width: 100% !important; max-width: 100% !important; position: static !important; order: -1 !important; }
  body.woocommerce-cart .wp-block-woocommerce-cart { padding: 0 20px 60px !important; }
}
body.woocommerce-cart, body.woocommerce-checkout { padding-bottom: 0 !important; }