/* ==========================================================================
   CASA ROVESTO — Cart & Checkout
   Handle: cr-cart-checkout. Restyles the NATIVE WooCommerce cart/checkout
   (classic + WC Blocks) into the editorial Casa Rovesto system. Mobile-first.

   PHYSICAL GOODS — unlike the beatshouse (virtual) reference, this store KEEPS
   product thumbnails, quantity controls, and shipping rows VISIBLE.

   All colors come from cr-tokens custom properties; light editorial paper/ink
   theme (NOT the dark amber source). Heavy use of !important to override theme
   + WC defaults, matching the source approach.
   ========================================================================== */

/* ── Page background reset (editorial paper, not nuclear black) ── */
body.woocommerce-checkout,
body.woocommerce-cart {
  background: var(--cr-color-paper) !important;
  color: var(--cr-color-ink);
  font-family: var(--cr-font-text);
}
body.woocommerce-checkout #main,
body.woocommerce-cart #main,
body.woocommerce-checkout .site-content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout article,
body.woocommerce-cart article,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-cart .wp-block-post-content {
  background-color: transparent !important;
  background: transparent !important;
}

/* ── Page wrapper ── */
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-cart .wp-block-post-content,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-cart main,
body.woocommerce-checkout main {
  width: min(1160px, calc(100% - 24px)) !important;
  max-width: 1160px !important;
  margin: 16px auto 80px !important;
  overflow: visible !important;
  padding-bottom: 80px !important;
}

/* Page title */
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title,
body.woocommerce-cart h1.entry-title,
body.woocommerce-checkout h1.entry-title {
  font-family: var(--cr-font-display) !important;
  font-weight: var(--cr-weight-regular) !important;
  font-size: clamp(26px, 5vw, 44px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  color: var(--cr-color-ink) !important;
  margin-bottom: 24px !important;
}

/* ==========================================================================
   NOTICES
   ========================================================================== */

body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message {
  background: var(--cr-accent-tint) !important;
  border: 1px solid var(--cr-line) !important;
  border-left: 2px solid var(--cr-color-success) !important;
  color: var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 11px 14px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
}
body.woocommerce-cart .woocommerce-error,
body.woocommerce-checkout .woocommerce-error {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-left: 2px solid var(--cr-color-error) !important;
  color: var(--cr-color-error) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 11px 14px !important;
  margin-bottom: 12px !important;
  list-style: none !important;
  font-size: 13px !important;
}
body.woocommerce-cart .woocommerce-info,
body.woocommerce-checkout .woocommerce-info {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-left: 2px solid var(--cr-color-accent) !important;
  color: var(--cr-ink-soft) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 11px 14px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
}
/* WC Blocks notice banners */
body.woocommerce-cart .wc-block-components-notice-banner,
body.woocommerce-checkout .wc-block-components-notice-banner {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  color: var(--cr-ink-soft) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 11px 14px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
  box-shadow: none !important;
}
body.woocommerce-cart .wc-block-components-notice-banner svg,
body.woocommerce-checkout .wc-block-components-notice-banner svg {
  fill: var(--cr-color-accent) !important;
  background: transparent !important;
}
body.woocommerce-cart .wc-block-components-notice-banner a,
body.woocommerce-checkout .wc-block-components-notice-banner a {
  color: var(--cr-accent-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.woocommerce-cart .wc-block-components-notice-banner.is-error,
body.woocommerce-checkout .wc-block-components-notice-banner.is-error {
  border-left: 2px solid var(--cr-color-error) !important;
  color: var(--cr-color-error) !important;
}
body.woocommerce-cart .wc-block-components-notice-banner.is-error svg,
body.woocommerce-checkout .wc-block-components-notice-banner.is-error svg { fill: var(--cr-color-error) !important; }
body.woocommerce-cart .wc-block-components-notice-banner.is-success,
body.woocommerce-checkout .wc-block-components-notice-banner.is-success {
  border-left: 2px solid var(--cr-color-success) !important;
  color: var(--cr-color-success) !important;
}
body.woocommerce-cart .wc-block-components-notice-banner.is-success svg,
body.woocommerce-checkout .wc-block-components-notice-banner.is-success svg { fill: var(--cr-color-success) !important; }

/* ==========================================================================
   CART — Classic WC
   ========================================================================== */

body.woocommerce-cart .woocommerce {
  background: transparent !important;
  color: var(--cr-color-ink) !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: 1fr 360px !important;
  gap: 24px !important;
  align-items: start !important;
  width: min(1160px, calc(100% - 24px)) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .woocommerce::after,
body.woocommerce-cart .woocommerce::before { display: none !important; }

body.woocommerce-cart form.woocommerce-cart-form {
  grid-column: 1 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}
body.woocommerce-cart .cart-collaterals {
  grid-column: 2 !important;
  float: none !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
body.woocommerce-cart .cross-sells { display: none !important; }

/* Cart table */
body.woocommerce-cart table.shop_table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  overflow: hidden !important;
  margin: 0 !important;
}
body.woocommerce-cart table.shop_table.cart thead { display: none !important; }

body.woocommerce-cart table.shop_table.cart tbody tr {
  border-bottom: 1px solid var(--cr-line) !important;
  transition: background var(--cr-dur-fast) var(--cr-ease) !important;
}
body.woocommerce-cart table.shop_table.cart tbody tr:last-child { border-bottom: 0 !important; }
body.woocommerce-cart table.shop_table.cart tbody tr:hover { background: var(--cr-paper-2) !important; }

body.woocommerce-cart table.shop_table.cart tbody td {
  padding: 16px 14px !important;
  vertical-align: middle !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--cr-ink-soft) !important;
}

/* ── Product thumbnail — KEEP VISIBLE (physical goods) ── */
body.woocommerce-cart table.shop_table td.product-thumbnail {
  display: table-cell !important;
  width: 84px !important;
  padding-left: 16px !important;
}
body.woocommerce-cart table.shop_table td.product-thumbnail img {
  width: 64px !important;
  height: 84px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: var(--cr-radius-xs) !important;
  background: var(--cr-paper-3) !important;
}

body.woocommerce-cart table.shop_table td.product-name a {
  font-family: var(--cr-font-text) !important;
  font-weight: var(--cr-weight-medium) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: var(--cr-color-ink) !important;
  text-decoration: none !important;
  transition: color var(--cr-dur-fast) !important;
}
body.woocommerce-cart table.shop_table td.product-name a:hover { color: var(--cr-accent-ink) !important; }
body.woocommerce-cart table.shop_table td.product-name dl.variation { margin: 5px 0 0 !important; }
body.woocommerce-cart table.shop_table td.product-name dl.variation dt,
body.woocommerce-cart table.shop_table td.product-name dl.variation dd {
  font-family: var(--cr-font-mono) !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  display: inline !important;
}
body.woocommerce-cart table.shop_table td.product-name dl.variation dt::after { content: ': '; }

body.woocommerce-cart table.shop_table .product-price .amount,
body.woocommerce-cart table.shop_table .product-price .woocommerce-Price-amount {
  font-size: 13px !important;
  color: var(--cr-color-secondary) !important;
}
body.woocommerce-cart table.shop_table .product-subtotal .amount,
body.woocommerce-cart table.shop_table .product-subtotal .woocommerce-Price-amount {
  font-weight: var(--cr-weight-semibold) !important;
  font-size: 15px !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart table.shop_table td.product-subtotal { text-align: right !important; padding-right: 12px !important; }

/* ── Quantity controls — KEEP VISIBLE (physical goods) ── */
body.woocommerce-cart table.shop_table td.product-quantity {
  display: table-cell !important;
  text-align: center !important;
  width: 120px !important;
}
body.woocommerce-cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--cr-line-strong) !important;
  border-radius: var(--cr-radius-xs) !important;
  overflow: hidden !important;
  background: var(--cr-color-paper) !important;
}
body.woocommerce-cart .quantity input.qty {
  display: block !important;
  width: 48px !important;
  min-height: var(--cr-touch) !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 14px !important;
  color: var(--cr-color-ink) !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  padding: 0 !important;
}
body.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
body.woocommerce-cart .quantity input.qty:focus {
  outline: none !important;
  box-shadow: none !important;
}
/* Optional +/- buttons if theme/plugin renders them */
body.woocommerce-cart .quantity .qty-btn,
body.woocommerce-cart .quantity button.plus,
body.woocommerce-cart .quantity button.minus {
  width: var(--cr-touch) !important;
  min-height: var(--cr-touch) !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--cr-color-ink) !important;
  font-size: 16px !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

/* Remove button */
body.woocommerce-cart table.shop_table td.product-remove {
  padding: 14px 12px !important;
  text-align: center !important;
  width: 44px !important;
}
body.woocommerce-cart table.shop_table td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: var(--cr-radius-pill) !important;
  border: 1px solid var(--cr-line-strong) !important;
  background: transparent !important;
  color: var(--cr-color-secondary) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background var(--cr-dur-fast), border-color var(--cr-dur-fast), color var(--cr-dur-fast) !important;
}
body.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
  background: var(--cr-paper-3) !important;
  border-color: var(--cr-color-error) !important;
  color: var(--cr-color-error) !important;
}

/* Actions row */
body.woocommerce-cart .actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 14px 16px !important;
  border-top: 1px solid var(--cr-line) !important;
  background: var(--cr-paper-2) !important;
  border-radius: var(--cr-radius-xs) !important;
  margin-top: 12px !important;
}
body.woocommerce-cart .actions .coupon {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.woocommerce-cart .coupon input#coupon_code {
  background: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-line-strong) !important;
  color: var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 0 12px !important;
  min-height: var(--cr-touch) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 12px !important;
  width: 160px !important;
  min-width: 0 !important;
  transition: border-color var(--cr-dur-fast), box-shadow var(--cr-dur-fast) !important;
}
body.woocommerce-cart .coupon input#coupon_code:focus {
  outline: none !important;
  border-color: var(--cr-color-ink) !important;
  box-shadow: var(--cr-shadow-focus) !important;
}
body.woocommerce-cart .coupon input#coupon_code::placeholder { color: var(--cr-color-muted) !important; }
body.woocommerce-cart .coupon .button,
body.woocommerce-cart .actions .button[name="update_cart"] {
  min-height: var(--cr-touch) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 0 16px !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  font-weight: var(--cr-weight-medium) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background var(--cr-dur-fast), border-color var(--cr-dur-fast), color var(--cr-dur-fast) !important;
}
body.woocommerce-cart .coupon .button {
  background: var(--cr-color-ink) !important;
  border: 1px solid var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
}
body.woocommerce-cart .coupon .button:hover {
  background: var(--cr-accent-ink) !important;
  border-color: var(--cr-accent-ink) !important;
}
body.woocommerce-cart .actions .button[name="update_cart"] {
  background: transparent !important;
  border: 1px solid var(--cr-line-strong) !important;
  color: var(--cr-color-ink) !important;
  margin-left: auto !important;
}
body.woocommerce-cart .actions .button[name="update_cart"]:hover {
  border-color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .actions .button[name="update_cart"]:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* Cart totals */
body.woocommerce-cart .cart_totals {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 20px !important;
  box-shadow: var(--cr-shadow-sm) !important;
  position: sticky !important;
  top: 20px !important;
}
body.woocommerce-cart .cart_totals h2 {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--cr-line) !important;
}
body.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border-collapse: collapse !important;
}
body.woocommerce-cart .cart_totals table th {
  font-family: var(--cr-font-text) !important;
  font-size: 12px !important;
  font-weight: var(--cr-weight-medium) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--cr-color-secondary) !important;
  padding: 10px 0 !important;
  border: 0 !important;
  text-align: left !important;
  vertical-align: top !important;
}
body.woocommerce-cart .cart_totals table td {
  padding: 10px 0 !important;
  border: 0 !important;
  text-align: right !important;
  vertical-align: top !important;
  color: var(--cr-color-ink) !important;
  font-size: 14px !important;
}
body.woocommerce-cart .cart_totals .cart-subtotal th,
body.woocommerce-cart .cart_totals .cart-subtotal td {
  border-bottom: 1px solid var(--cr-line) !important;
}

/* ── Shipping rows — KEEP VISIBLE (physical goods) ── */
body.woocommerce-cart .cart_totals .shipping th,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals th {
  font-family: var(--cr-font-text) !important;
  color: var(--cr-color-secondary) !important;
  vertical-align: top !important;
}
body.woocommerce-cart .cart_totals .shipping td,
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
  text-align: right !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 4px 0 !important;
  font-size: 13px !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method li label {
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
body.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"] {
  accent-color: var(--cr-color-accent) !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  cursor: pointer !important;
}
body.woocommerce-cart .cart_totals .shipping-calculator-button {
  color: var(--cr-color-secondary) !important;
  font-size: 12px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.woocommerce-cart .cart_totals .shipping-calculator-form {
  margin-top: 10px !important;
  display: grid !important;
  gap: 8px !important;
}
body.woocommerce-cart .cart_totals .shipping-calculator-form input,
body.woocommerce-cart .cart_totals .shipping-calculator-form select {
  width: 100% !important;
  min-height: var(--cr-touch) !important;
  background: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-line-strong) !important;
  border-radius: var(--cr-radius-xs) !important;
  color: var(--cr-color-ink) !important;
  font-size: 13px !important;
  padding: 0 12px !important;
}

body.woocommerce-cart .cart_totals .order-total th {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--cr-line) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--cr-tracking-wide) !important;
}
body.woocommerce-cart .cart_totals .order-total td {
  padding-top: 16px !important;
  border-top: 1px solid var(--cr-line) !important;
}
body.woocommerce-cart .cart_totals .order-total .amount,
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
  font-family: var(--cr-font-display) !important;
  font-weight: var(--cr-weight-regular) !important;
  font-size: 28px !important;
  color: var(--cr-color-ink) !important;
  letter-spacing: -0.02em !important;
}

/* Coupon discount row */
body.woocommerce-cart .cart_totals .cart-discount th,
body.woocommerce-cart .cart_totals .cart-discount td { color: var(--cr-color-success) !important; }
body.woocommerce-cart .cart_totals .cart-discount .woocommerce-Price-amount {
  color: var(--cr-color-success) !important;
  font-size: 14px !important;
  font-weight: var(--cr-weight-semibold) !important;
}
body.woocommerce-cart .cart_totals a.showcoupon {
  color: var(--cr-color-secondary) !important;
  font-size: 12px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color var(--cr-dur-fast) !important;
}
body.woocommerce-cart .cart_totals a.showcoupon:hover { color: var(--cr-color-ink) !important; }
body.woocommerce-cart .cart_totals .woocommerce-remove-coupon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: var(--cr-radius-pill) !important;
  background: var(--cr-paper-3) !important;
  border: 1px solid var(--cr-line-strong) !important;
  color: var(--cr-color-secondary) !important;
  font-size: 10px !important;
  text-decoration: none !important;
  transition: background var(--cr-dur-fast), color var(--cr-dur-fast) !important;
}
body.woocommerce-cart .cart_totals .woocommerce-remove-coupon:hover {
  border-color: var(--cr-color-error) !important;
  color: var(--cr-color-error) !important;
}

/* Proceed to checkout button */
body.woocommerce-cart .wc-proceed-to-checkout { margin-top: 16px !important; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-cart .wc-proceed-to-checkout .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  background: var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 13px !important;
  font-weight: var(--cr-weight-medium) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background var(--cr-dur-fast), transform var(--cr-dur-fast) !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a:hover {
  background: var(--cr-accent-ink) !important;
  border-color: var(--cr-accent-ink) !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active { transform: scale(0.98) !important; }

/* Empty cart */
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .wc-empty-cart-message {
  font-family: var(--cr-font-display) !important;
  font-size: var(--cr-text-lg) !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .return-to-shop a.button {
  display: inline-flex !important;
  align-items: center !important;
  min-height: var(--cr-touch) !important;
  padding: 0 var(--cr-space-5) !important;
  background: var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* ==========================================================================
   CHECKOUT — Classic WC
   ========================================================================== */

body.woocommerce-checkout .woocommerce {
  background: transparent !important;
  color: var(--cr-color-ink) !important;
  overflow: visible !important;
  width: min(1160px, calc(100% - 24px)) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.woocommerce-checkout .woocommerce::after { display: none !important; }

/* Coupon / login toggles */
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 12px 14px !important;
  margin-bottom: 12px !important;
  color: var(--cr-color-secondary) !important;
  font-size: 13px !important;
}
body.woocommerce-checkout .woocommerce-form-login-toggle a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a {
  color: var(--cr-accent-ink) !important;
  text-underline-offset: 3px !important;
}

/* Two-column layout */
body.woocommerce-checkout .woocommerce .col2-set {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
}
body.woocommerce-checkout .woocommerce .col2-set .col-1,
body.woocommerce-checkout .woocommerce .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
body.woocommerce-checkout .woocommerce .col2-set::before,
body.woocommerce-checkout .woocommerce .col2-set::after {
  display: none !important;
  content: none !important;
}
body.woocommerce-checkout #customer_details {
  float: none !important;
  width: 100% !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Section headings */
body.woocommerce-checkout h3#ship-to-different-address,
body.woocommerce-checkout h3#order_review_heading,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--cr-line) !important;
}
/* "Ship to different address" checkbox label stays readable */
body.woocommerce-checkout h3#ship-to-different-address label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.woocommerce-checkout #ship-to-different-address-checkbox {
  accent-color: var(--cr-color-accent) !important;
  width: 18px !important;
  height: 18px !important;
}

/* Form cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 18px 20px !important;
  box-shadow: var(--cr-shadow-sm) !important;
  margin-bottom: 14px !important;
}

/* Dense 2-col billing grid */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #shipping_address_1_field,
body.woocommerce-checkout #shipping_address_2_field,
body.woocommerce-checkout #shipping_country_field {
  grid-column: 1 / -1 !important;
}

body.woocommerce-checkout .form-row { margin-bottom: 0 !important; }

body.woocommerce-checkout .form-row label {
  display: block !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 10px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
}
body.woocommerce-checkout .form-row label .required { color: var(--cr-color-accent) !important; }

body.woocommerce-checkout .form-row input,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
  width: 100% !important;
  min-height: var(--cr-touch) !important;
  background: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-line-strong) !important;
  color: var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 9px 12px !important;
  font-family: var(--cr-font-text) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  transition: border-color var(--cr-dur-fast), box-shadow var(--cr-dur-fast) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
body.woocommerce-checkout .form-row textarea { min-height: 88px !important; }
body.woocommerce-checkout .form-row input:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
  outline: none !important;
  border-color: var(--cr-color-ink) !important;
  box-shadow: var(--cr-shadow-focus) !important;
}
body.woocommerce-checkout .form-row input::placeholder,
body.woocommerce-checkout .form-row textarea::placeholder { color: var(--cr-color-muted) !important; }

/* select2 (WC country/state) aligned to our fields */
body.woocommerce-checkout .select2-container .select2-selection--single {
  min-height: var(--cr-touch) !important;
  border: 1px solid var(--cr-line-strong) !important;
  border-radius: var(--cr-radius-xs) !important;
  background: var(--cr-color-paper) !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: var(--cr-touch) !important;
  color: var(--cr-color-ink) !important;
  padding-left: 12px !important;
}

/* Order review panel */
body.woocommerce-checkout #order_review {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 18px 20px !important;
  box-shadow: var(--cr-shadow-sm) !important;
  position: sticky !important;
  top: 20px !important;
}

body.woocommerce-checkout table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 14px !important;
}
body.woocommerce-checkout table.shop_table thead th {
  font-family: var(--cr-font-mono) !important;
  font-size: 10px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--cr-line) !important;
  text-align: left !important;
}
body.woocommerce-checkout table.shop_table thead th:last-child { text-align: right !important; }
body.woocommerce-checkout table.shop_table tbody td {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--cr-line) !important;
  color: var(--cr-ink-soft) !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}
body.woocommerce-checkout table.shop_table .product-name {
  color: var(--cr-color-ink) !important;
  font-weight: var(--cr-weight-medium) !important;
}
/* WC prints item count as "× 2" — make it legible */
body.woocommerce-checkout table.shop_table .product-quantity,
body.woocommerce-checkout table.shop_table .product-name .product-quantity {
  font-family: var(--cr-font-mono) !important;
  color: var(--cr-color-secondary) !important;
}
body.woocommerce-checkout table.shop_table .product-total { text-align: right !important; }
body.woocommerce-checkout table.shop_table tfoot th {
  font-family: var(--cr-font-text) !important;
  font-size: 12px !important;
  color: var(--cr-color-secondary) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--cr-line) !important;
  text-align: left !important;
}
body.woocommerce-checkout table.shop_table tfoot td {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--cr-line) !important;
  text-align: right !important;
  color: var(--cr-color-ink) !important;
  font-size: 13px !important;
}

/* ── Shipping rows in order review — KEEP VISIBLE ── */
body.woocommerce-checkout table.shop_table tfoot .shipping th { vertical-align: top !important; }
body.woocommerce-checkout table.shop_table tfoot .shipping td { text-align: right !important; }
body.woocommerce-checkout table.shop_table #shipping_method {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: right !important;
}
body.woocommerce-checkout table.shop_table #shipping_method li {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 4px 0 !important;
}
body.woocommerce-checkout table.shop_table #shipping_method input[type="radio"] {
  accent-color: var(--cr-color-accent) !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  cursor: pointer !important;
}
body.woocommerce-checkout table.shop_table #shipping_method label { cursor: pointer !important; }

body.woocommerce-checkout table.shop_table tfoot .order-total th,
body.woocommerce-checkout table.shop_table tfoot .order-total td {
  border-bottom: 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--cr-line) !important;
}
body.woocommerce-checkout table.shop_table tfoot .order-total th {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  color: var(--cr-color-secondary) !important;
}
body.woocommerce-checkout table.shop_table tfoot .order-total .amount,
body.woocommerce-checkout table.shop_table tfoot .order-total .woocommerce-Price-amount {
  font-family: var(--cr-font-display) !important;
  font-weight: var(--cr-weight-regular) !important;
  font-size: 24px !important;
  color: var(--cr-color-ink) !important;
  letter-spacing: -0.02em !important;
}

/* Payment section */
body.woocommerce-checkout #payment {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 16px 18px !important;
  margin-top: 12px !important;
  box-shadow: var(--cr-shadow-sm) !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  display: grid !important;
  gap: 8px !important;
  border: 0 !important;
  background: transparent !important;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 12px 13px !important;
  background: var(--cr-color-paper) !important;
  cursor: pointer !important;
  transition: border-color var(--cr-dur-fast), background var(--cr-dur-fast) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: var(--cr-line-strong) !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label {
  color: var(--cr-color-ink) !important;
  font-family: var(--cr-font-text) !important;
  font-weight: var(--cr-weight-medium) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  accent-color: var(--cr-color-accent) !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
  max-height: 24px !important;
  width: auto !important;
  margin-left: auto !important;
}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--cr-color-ink) !important;
  background: var(--cr-accent-tint) !important;
}
body.woocommerce-checkout #payment .payment_box {
  margin-top: 8px !important;
  padding: 11px 12px !important;
  background: var(--cr-paper-2) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  color: var(--cr-ink-soft) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}
body.woocommerce-checkout #payment .place-order { margin-top: 0 !important; }

/* Place order button */
body.woocommerce-checkout #place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  background: var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 13px !important;
  font-weight: var(--cr-weight-medium) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background var(--cr-dur-fast), transform var(--cr-dur-fast) !important;
  margin-top: 14px !important;
}
body.woocommerce-checkout #place_order:hover {
  background: var(--cr-accent-ink) !important;
  border-color: var(--cr-accent-ink) !important;
}
body.woocommerce-checkout #place_order:active { transform: scale(0.98) !important; }
body.woocommerce-checkout #place_order:disabled,
body.woocommerce-checkout #place_order.disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* Privacy policy */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
  color: var(--cr-color-secondary) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  margin-top: 12px !important;
}
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: var(--cr-accent-ink) !important;
  text-underline-offset: 3px !important;
}

/* Loading overlay */
body.woocommerce-cart .blockOverlay,
body.woocommerce-checkout .blockOverlay {
  background: rgba(244, 240, 233, 0.6) !important;
  border-radius: var(--cr-radius-xs) !important;
  transition: opacity var(--cr-dur-fast) !important;
}

/* ==========================================================================
   WC BLOCKS — Cart Block
   ========================================================================== */

body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wc-block-cart {
  background: transparent !important;
  color: var(--cr-color-ink) !important;
  font-family: var(--cr-font-text) !important;
}
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block { background: transparent !important; }

body.woocommerce-cart table.wc-block-cart-items {
  width: 100% !important;
  border-collapse: collapse !important;
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  overflow: hidden !important;
}
body.woocommerce-cart .wc-block-cart-items thead,
body.woocommerce-cart table.wc-block-cart-items thead,
body.woocommerce-cart .wc-block-cart-items__header { display: none !important; }

body.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid var(--cr-line) !important;
}
body.woocommerce-cart .wc-block-cart-items__row:last-child { border-bottom: 0 !important; }
body.woocommerce-cart .wc-block-cart-items td,
body.woocommerce-cart .wc-block-cart-item__product,
body.woocommerce-cart .wc-block-cart-item__total {
  background: transparent !important;
  border: 0 !important;
  padding: 16px 14px !important;
  vertical-align: middle !important;
  color: var(--cr-ink-soft) !important;
}
/* ── Block cart thumbnail — KEEP VISIBLE ── */
body.woocommerce-cart .wc-block-cart-item__image {
  display: table-cell !important;
  width: 84px !important;
  padding: 16px 0 16px 14px !important;
}
body.woocommerce-cart .wc-block-cart-item__image img {
  width: 64px !important;
  height: 84px !important;
  object-fit: cover !important;
  border-radius: var(--cr-radius-xs) !important;
  background: var(--cr-paper-3) !important;
}
body.woocommerce-cart .wc-block-cart-item__product-name,
body.woocommerce-cart .wc-block-cart-item__product a {
  font-family: var(--cr-font-text) !important;
  font-weight: var(--cr-weight-medium) !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: var(--cr-color-ink) !important;
  text-decoration: none !important;
}
body.woocommerce-cart .wc-block-cart-item__product-metadata {
  font-family: var(--cr-font-mono) !important;
  font-size: 10px !important;
  color: var(--cr-color-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-top: 5px !important;
}
/* ── Block cart quantity selector — KEEP VISIBLE ── */
body.woocommerce-cart .wc-block-cart-item__quantity {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 8px !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--cr-line-strong) !important;
  border-radius: var(--cr-radius-xs) !important;
  background: var(--cr-color-paper) !important;
  overflow: hidden !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__input {
  width: 44px !important;
  min-height: var(--cr-touch) !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 14px !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button {
  width: var(--cr-touch) !important;
  min-height: var(--cr-touch) !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--cr-color-ink) !important;
  font-size: 18px !important;
  cursor: pointer !important;
}
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price,
body.woocommerce-cart .wc-block-cart-item__total .woocommerce-Price-amount {
  font-weight: var(--cr-weight-semibold) !important;
  font-size: 15px !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--cr-color-secondary) !important;
  font-size: 11px !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: color var(--cr-dur-fast) !important;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--cr-color-error) !important; }

body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block,
body.woocommerce-cart .wc-block-cart__cross-sells,
body.woocommerce-cart .cross-sells,
body.woocommerce-cart .woocommerce-cross-sells { display: none !important; }

/* Block cart totals sidebar */
body.woocommerce-cart .wc-block-cart__payment-button-container,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wc-block-components-totals-wrapper {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 20px !important;
  box-shadow: var(--cr-shadow-sm) !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .wc-block-components-totals-wrapper h2,
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block h2 {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--cr-line) !important;
}
body.woocommerce-cart .wc-block-components-totals-item {
  border-bottom: 1px solid var(--cr-line) !important;
  padding: 10px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-cart .wc-block-components-totals-item__label {
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--cr-color-secondary) !important;
}
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-item .woocommerce-Price-amount {
  font-weight: var(--cr-weight-semibold) !important;
  font-size: 14px !important;
  color: var(--cr-color-ink) !important;
}
/* ── Block shipping rates — KEEP VISIBLE ── */
body.woocommerce-cart .wc-block-components-shipping-rates-control { display: block !important; }
body.woocommerce-cart .wc-block-components-radio-control__option {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 0 !important;
}
body.woocommerce-cart .wc-block-components-radio-control__input {
  accent-color: var(--cr-color-accent) !important;
  width: 16px !important;
  height: 16px !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--cr-tracking-wide) !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
body.woocommerce-cart .wc-block-components-totals-footer-item .woocommerce-Price-amount {
  font-family: var(--cr-font-display) !important;
  font-weight: var(--cr-weight-regular) !important;
  font-size: 28px !important;
  color: var(--cr-color-ink) !important;
  letter-spacing: -0.02em !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__link,
body.woocommerce-cart .wc-block-components-panel__button {
  color: var(--cr-color-secondary) !important;
  font-size: 12px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form input,
body.woocommerce-checkout .wc-block-components-totals-coupon__form input {
  background: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-line-strong) !important;
  color: var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  min-height: var(--cr-touch) !important;
  padding: 0 12px !important;
  font-size: 13px !important;
}
body.woocommerce-cart .wc-block-components-totals-coupon__form button,
body.woocommerce-checkout .wc-block-components-totals-coupon__form button {
  background: var(--cr-color-ink) !important;
  border: 1px solid var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border-radius: var(--cr-radius-xs) !important;
  min-height: var(--cr-touch) !important;
  padding: 0 14px !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
}

/* Block cart proceed to checkout */
body.woocommerce-cart .wc-block-cart__submit-container,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block { margin-top: 16px !important; }
body.woocommerce-cart .wc-block-cart__submit-container a,
body.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart a.wc-block-cart__submit-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  background: var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 13px !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background var(--cr-dur-fast), transform var(--cr-dur-fast) !important;
}
body.woocommerce-cart .wc-block-cart__submit-container a:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background: var(--cr-accent-ink) !important;
  border-color: var(--cr-accent-ink) !important;
}

/* ==========================================================================
   WC BLOCKS — Checkout Block
   ========================================================================== */

body.woocommerce-checkout .wp-block-woocommerce-checkout {
  background: transparent !important;
  color: var(--cr-color-ink) !important;
}
body.woocommerce-checkout .wc-block-checkout__contact-fields,
body.woocommerce-checkout .wc-block-checkout__billing-fields,
body.woocommerce-checkout .wc-block-checkout__shipping-fields,
body.woocommerce-checkout .wc-block-checkout__shipping-method,
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wc-block-checkout__add-note,
body.woocommerce-checkout .wc-block-checkout__terms,
body.woocommerce-checkout .wc-block-components-checkout-step {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 18px 20px !important;
  margin-bottom: 12px !important;
  box-shadow: var(--cr-shadow-sm) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-checkout-step__heading-content {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
}
body.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-form .wc-block-components-select label,
body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-combobox label {
  font-family: var(--cr-font-mono) !important;
  font-size: 10px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-country-input input,
body.woocommerce-checkout .wc-block-components-state-input input {
  background: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-line-strong) !important;
  border-radius: var(--cr-radius-xs) !important;
  color: var(--cr-color-ink) !important;
  font-family: var(--cr-font-text) !important;
  font-size: 14px !important;
  min-height: var(--cr-touch) !important;
  padding: 9px 12px !important;
  box-shadow: none !important;
  transition: border-color var(--cr-dur-fast), box-shadow var(--cr-dur-fast) !important;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
  border-color: var(--cr-color-ink) !important;
  outline: none !important;
  box-shadow: var(--cr-shadow-focus) !important;
}
body.woocommerce-checkout .wc-block-components-payment-method-label,
body.woocommerce-checkout .wc-block-components-payment-methods__list-item label {
  color: var(--cr-color-ink) !important;
}
body.woocommerce-checkout .wc-block-components-payment-methods__list-item {
  background: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  margin-bottom: 8px !important;
  padding: 12px 13px !important;
}
body.woocommerce-checkout .wc-block-components-payment-methods__list-item.is-active {
  border-color: var(--cr-color-ink) !important;
  background: var(--cr-accent-tint) !important;
}
/* ── Block shipping-method options — KEEP VISIBLE ── */
body.woocommerce-checkout .wc-block-components-shipping-rates-control,
body.woocommerce-checkout .wc-block-checkout__shipping-option { display: block !important; }
body.woocommerce-checkout .wc-block-components-radio-control__option {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--cr-line) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__input {
  accent-color: var(--cr-color-accent) !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__label { color: var(--cr-color-ink) !important; font-size: 13px !important; }
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label { color: var(--cr-color-ink) !important; font-weight: var(--cr-weight-semibold) !important; }

body.woocommerce-checkout .wc-block-components-order-summary,
body.woocommerce-checkout .wc-block-order-summary,
body.woocommerce-checkout .wc-block-checkout__order-summary {
  background: var(--cr-paper-1) !important;
  border: 1px solid var(--cr-line) !important;
  border-radius: var(--cr-radius-xs) !important;
  padding: 18px 20px !important;
}
body.woocommerce-checkout .wc-block-components-order-summary__button-text,
body.woocommerce-checkout .wc-block-order-summary__title {
  font-family: var(--cr-font-mono) !important;
  font-size: 11px !important;
  color: var(--cr-color-secondary) !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
}
body.woocommerce-checkout .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item__value {
  color: var(--cr-ink-soft) !important;
  font-size: 13px !important;
}
body.woocommerce-checkout .wc-block-components-totals-item--total .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-item--total .wc-block-components-totals-item__value {
  color: var(--cr-color-ink) !important;
  font-weight: var(--cr-weight-semibold) !important;
  font-size: 16px !important;
}
body.woocommerce-checkout .wc-block-components-totals-discount__coupon-list-item { color: var(--cr-color-success) !important; }
/* ── Block order-summary thumbnails — KEEP VISIBLE ── */
body.woocommerce-checkout .wc-block-components-order-summary-item__image {
  display: block !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  border-radius: var(--cr-radius-xs) !important;
  background: var(--cr-paper-3) !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  background: var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border-radius: var(--cr-radius-pill) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 10px !important;
  font-weight: var(--cr-weight-semibold) !important;
}
body.woocommerce-checkout .wc-block-checkout__terms p,
body.woocommerce-checkout .wc-block-components-checkbox__label {
  color: var(--cr-color-secondary) !important;
  font-size: 12px !important;
}
body.woocommerce-checkout .wc-block-components-checkbox__input {
  accent-color: var(--cr-color-accent) !important;
  width: 18px !important;
  height: 18px !important;
}
body.woocommerce-checkout .wc-block-components-checkbox__label a {
  color: var(--cr-accent-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  background: var(--cr-color-ink) !important;
  color: var(--cr-color-paper) !important;
  border: 1px solid var(--cr-color-ink) !important;
  border-radius: var(--cr-radius-xs) !important;
  font-family: var(--cr-font-mono) !important;
  font-size: 13px !important;
  letter-spacing: var(--cr-tracking-wide) !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background var(--cr-dur-fast), transform var(--cr-dur-fast) !important;
  margin-top: 14px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: var(--cr-accent-ink) !important;
  border-color: var(--cr-accent-ink) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:active { transform: scale(0.98) !important; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button[disabled] {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  transform: none !important;
}
body.woocommerce-checkout .wc-block-components-spinner {
  border-color: var(--cr-line-strong) !important;
  border-top-color: var(--cr-color-accent) !important;
}

/* ==========================================================================
   RESPONSIVE  (mobile-first; these are MAX-width overrides matching WC's own
   responsive table behavior, kept from the source structure)
   ========================================================================== */

/* Tablet */
@media (max-width: 960px) {
  body.woocommerce-checkout .woocommerce .col2-set { grid-template-columns: 1fr !important; }
  body.woocommerce-checkout #order_review { position: static !important; top: auto !important; }
  body.woocommerce-cart .woocommerce { grid-template-columns: 1fr 320px !important; }
}

/* Mobile */
@media (max-width: 760px) {
  body.woocommerce-cart .woocommerce { grid-template-columns: 1fr !important; }
  body.woocommerce-cart form.woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals { grid-column: 1 !important; }
  body.woocommerce-cart .cart_totals { position: static !important; top: auto !important; }
}

@media (max-width: 640px) {
  body.woocommerce-cart .entry-content,
  body.woocommerce-checkout .entry-content,
  body.woocommerce-cart .wp-block-post-content,
  body.woocommerce-checkout .wp-block-post-content {
    width: calc(100% - 14px) !important;
    margin-top: 10px !important;
  }

  /* Billing grid: single column on mobile */
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-checkout #billing_address_1_field,
  body.woocommerce-checkout #billing_address_2_field,
  body.woocommerce-checkout #billing_country_field,
  body.woocommerce-checkout #billing_email_field {
    grid-column: 1 !important;
  }

  /* Prevent iOS zoom on input focus (16px) */
  body.woocommerce-checkout .form-row input,
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea,
  body.woocommerce-checkout .wc-block-components-text-input input,
  body.woocommerce-checkout .wc-block-components-select select,
  body.woocommerce-cart .coupon input#coupon_code,
  body.woocommerce-cart .quantity input.qty,
  body.woocommerce-cart .wc-block-components-quantity-selector__input {
    font-size: 16px !important;
  }

  /* ── Cart table → card layout, but KEEP thumbnail + quantity (physical) ── */
  body.woocommerce-cart table.shop_table.cart tbody tr {
    display: grid !important;
    grid-template-columns: 72px 1fr auto !important;
    grid-template-areas:
      "thumb name   remove"
      "thumb meta   meta"
      "thumb qty    price" !important;
    gap: 4px 12px !important;
    padding: 14px !important;
    align-items: center !important;
    border-bottom: 1px solid var(--cr-line) !important;
  }
  body.woocommerce-cart table.shop_table.cart tbody td {
    padding: 0 !important;
    display: block !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    grid-area: thumb;
    width: 72px !important;
    align-self: start !important;
    padding-left: 0 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 72px !important;
    height: 92px !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-name      { grid-area: name; }
  body.woocommerce-cart table.shop_table.cart td.product-price     { display: none !important; }
  body.woocommerce-cart table.shop_table.cart td.product-quantity  { grid-area: qty; justify-self: start; }
  body.woocommerce-cart table.shop_table.cart td.product-subtotal  { grid-area: price; text-align: right; align-self: center; }
  body.woocommerce-cart table.shop_table.cart td.product-remove    { grid-area: remove; justify-self: end; }
  /* WC responsive tables prefix cells with data-title labels — redundant here */
  body.woocommerce-cart table.shop_table.cart tbody td::before { display: none !important; content: none !important; }

  /* Actions row: coupon stacked */
  body.woocommerce-cart .actions { flex-wrap: wrap !important; gap: 8px !important; }
  body.woocommerce-cart .actions .coupon {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 8px !important;
    width: 100% !important;
  }
  body.woocommerce-cart .coupon input#coupon_code { width: 100% !important; }
  body.woocommerce-cart .coupon .button { padding: 0 18px !important; white-space: nowrap !important; }
  body.woocommerce-cart .actions .button[name="update_cart"] { width: 100% !important; margin-left: 0 !important; }

  body.woocommerce-cart .cart_totals { padding: 14px !important; }
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #payment { padding: 14px !important; }
  body.woocommerce-checkout #place_order,
  body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    min-height: 52px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 400px) {
  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #payment,
  body.woocommerce-cart .cart_totals { padding: 12px !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.woocommerce-cart *,
  body.woocommerce-checkout * {
    transition-duration: 0.001s !important;
    animation-duration: 0.001s !important;
  }
}

/* ==========================================================================
   MY ACCOUNT — login + register forms
   ========================================================================== */

body.woocommerce-account .woocommerce {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 var(--cr-space-4, 1rem) var(--cr-space-8, 3rem);
}

/* Two-column login / register layout */
body.woocommerce-account .u-columns.col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cr-space-7, 2.5rem);
}
@media (max-width: 640px) {
  body.woocommerce-account .u-columns.col2-set {
    grid-template-columns: 1fr;
  }
}

/* Column headings */
body.woocommerce-account .u-column1 h2,
body.woocommerce-account .u-column2 h2 {
  font-family: var(--cr-font-display, 'Fraunces', Georgia, serif);
  font-size: var(--cr-text-xl, 1.25rem);
  font-weight: 300;
  letter-spacing: 0.02em;
  margin-bottom: var(--cr-space-5, 1.5rem);
  padding-bottom: var(--cr-space-3, 0.75rem);
  border-bottom: 1px solid var(--cr-line, #E0D9CC);
}

/* Form rows */
body.woocommerce-account .woocommerce-form-row {
  margin-bottom: var(--cr-space-4, 1rem);
}

body.woocommerce-account .woocommerce-form-row label {
  display: block;
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cr-color-secondary, #6E665A);
  margin-bottom: var(--cr-space-2, 0.5rem);
}

body.woocommerce-account .woocommerce-form-row input[type="text"],
body.woocommerce-account .woocommerce-form-row input[type="email"],
body.woocommerce-account .woocommerce-form-row input[type="password"] {
  width: 100%;
  padding: var(--cr-space-3, 0.75rem) var(--cr-space-4, 1rem);
  background: transparent;
  border: 1px solid var(--cr-line, #E0D9CC);
  border-radius: var(--cr-radius-sm, 4px);
  font-family: var(--cr-font-body, 'Inter', sans-serif);
  font-size: var(--cr-text-base, 0.9375rem);
  color: var(--cr-color-ink, #16130F);
  transition: border-color 0.15s;
  box-sizing: border-box;
}
body.woocommerce-account .woocommerce-form-row input:focus {
  outline: none;
  border-color: var(--cr-color-ink, #16130F);
}

/* Remember me + privacy checkbox rows */
body.woocommerce-account .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: var(--cr-space-2, 0.5rem);
  font-size: var(--cr-text-sm, 0.8125rem);
  color: var(--cr-color-secondary, #6E665A);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: var(--cr-space-4, 1rem);
}
body.woocommerce-account .woocommerce-form__label-for-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--cr-color-ink, #16130F);
}

/* Submit buttons */
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account .button[name="login"],
body.woocommerce-account .button[name="register"] {
  display: inline-block;
  padding: var(--cr-space-3, 0.75rem) var(--cr-space-6, 2rem);
  background: var(--cr-color-ink, #16130F);
  color: var(--cr-color-paper, #F4F0E9);
  border: 1px solid var(--cr-color-ink, #16130F);
  border-radius: var(--cr-radius-sm, 4px);
  font-family: var(--cr-font-body, 'Inter', sans-serif);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  text-decoration: none;
}
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account .button[name="login"]:hover,
body.woocommerce-account .button[name="register"]:hover {
  background: var(--cr-accent-ink, var(--cr-color-accent, #9A5B3F));
  border-color: var(--cr-accent-ink, var(--cr-color-accent, #9A5B3F));
  text-decoration: none;
  color: var(--cr-color-paper, #F4F0E9);
}

/* Lost password link */
body.woocommerce-account .lost_password a {
  font-size: var(--cr-text-sm, 0.8125rem);
  color: var(--cr-color-secondary, #6E665A);
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.woocommerce-account .lost_password a:hover { color: var(--cr-color-ink, #16130F); }

/* ==========================================================================
   MY ACCOUNT — split-screen auth (editorial brand panel + constrained form).
   Replaces the over-wide single form that floated in empty space on desktop.
   ========================================================================== */

/* Let the auth layout break out of the 900px content cap (logged-out only).
   :has() is supported in current Safari/Chrome (Mac); without it the split
   gracefully stays centered at 900px — still a valid 2-up. */
body.woocommerce-account .woocommerce:has(.cr-auth) {
  max-width: none;
  margin: 0;
  padding: 0;
}
/* The SPA stage adds 32px/80px padding for normal content; drop it on the
   login screen ONLY (logged-out has .cr-auth; the dashboard does not) so the
   split sits flush under the header and fills exactly to the fold — no dead
   cream band above the footer. */
body.woocommerce-account #cr-app-stage:has(.cr-auth) {
  padding-top: 0;
  padding-bottom: 0;
}

body.woocommerce-account .cr-auth {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  /* Fill the space between the fixed header and the fold so the page doesn't
     leave a dead cream band above the footer. */
  min-height: calc(100vh - var(--cr-header-h, 64px));
  align-items: stretch;
  background: var(--cr-color-paper, #F4F0E9);
  overflow: hidden;
}

/* ── Brand panel (dark, editorial) ── */
body.woocommerce-account .cr-auth__brand {
  display: flex;
  align-items: center;
  background: var(--cr-color-ink, #16130F);
  color: var(--cr-color-paper, #F4F0E9);
  padding: clamp(2rem, 5vw, 5rem);
}
body.woocommerce-account .cr-auth__brand-inner { max-width: 34ch; }
body.woocommerce-account .cr-auth__eyebrow {
  display: block;
  font-family: var(--cr-font-mono, monospace);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--cr-color-muted, #B7AFA1);
  margin-bottom: var(--cr-space-5, 1.5rem);
}
body.woocommerce-account .cr-auth__wordmark {
  display: block;
  font-family: var(--cr-font-display, 'Fraunces', Georgia, serif);
  font-weight: 300;
  font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem);
  line-height: 1.04;
  letter-spacing: -0.015em;
  color: var(--cr-color-paper, #F4F0E9);
}
body.woocommerce-account .cr-auth__rule {
  display: block;
  width: 48px;
  height: 2px;
  background: var(--cr-color-accent, #9A5B3F);
  margin: var(--cr-space-5, 1.5rem) 0;
}
body.woocommerce-account .cr-auth__note {
  font-family: var(--cr-font-body, 'Inter', sans-serif);
  font-size: var(--cr-text-md, 1.0625rem);
  line-height: 1.65;
  color: rgba(244, 240, 233, 0.82);
  margin: 0 0 var(--cr-space-5, 1.5rem);
}
body.woocommerce-account .cr-auth__tagline {
  font-family: var(--cr-font-mono, monospace);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cr-color-muted, #B7AFA1);
  margin: 0;
}

/* ── Form panel ── */
body.woocommerce-account .cr-auth__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
}
body.woocommerce-account .cr-auth__forms { width: 100%; max-width: 380px; }
body.woocommerce-account .cr-auth__forms--two {
  max-width: 760px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
body.woocommerce-account .cr-auth__title {
  font-family: var(--cr-font-display, 'Fraunces', Georgia, serif);
  font-weight: 300;
  font-size: var(--cr-text-2xl, 2rem);
  letter-spacing: -0.01em;
  color: var(--cr-color-ink, #16130F);
  margin: 0 0 var(--cr-space-6, 2rem);
}
/* Divider between login + register when registration is enabled. */
body.woocommerce-account .cr-auth__col--register {
  border-left: 1px solid var(--cr-line, #E0D9CC);
  padding-left: clamp(2rem, 4vw, 3.5rem);
}

/* Stack on narrow screens; brand panel becomes a compact top band. */
@media (max-width: 860px) {
  body.woocommerce-account .cr-auth { grid-template-columns: 1fr; min-height: 0; }
  body.woocommerce-account .cr-auth__brand { padding: var(--cr-space-7, 2.5rem) var(--cr-space-5, 1.5rem); }
  body.woocommerce-account .cr-auth__wordmark { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  body.woocommerce-account .cr-auth__forms--two { grid-template-columns: 1fr; }
  body.woocommerce-account .cr-auth__col--register {
    border-left: 0;
    padding-left: 0;
    border-top: 1px solid var(--cr-line, #E0D9CC);
    padding-top: var(--cr-space-6, 2rem);
    margin-top: var(--cr-space-6, 2rem);
  }
}

/* Notices + errors */
body.woocommerce-account .woocommerce-error,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info {
  border-left: 3px solid var(--cr-color-ink, #16130F);
  background: var(--cr-paper-1, #EDE9E1);
  padding: var(--cr-space-3, 0.75rem) var(--cr-space-4, 1rem);
  font-size: var(--cr-text-sm, 0.8125rem);
  list-style: none;
  margin-bottom: var(--cr-space-5, 1.5rem);
}
body.woocommerce-account .woocommerce-error { border-left-color: var(--cr-color-accent, #9A5B3F); }

/* Logged-in: navigation + orders table */
body.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: var(--cr-space-6, 2rem);
}
/* Clean vertical sidebar nav (was flex-wrap → ragged 2-2-1 in the narrow
   left column). Each item is a full-width row with a terracotta active rail. */
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: none;
  padding: 0;
  margin: 0;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  font-family: var(--cr-font-mono, monospace);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cr-color-secondary, #6E665A);
  text-decoration: none;
  padding: var(--cr-space-3, 0.75rem) var(--cr-space-4, 1rem);
  border-left: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  color: var(--cr-color-ink, #16130F);
  border-left-color: var(--cr-color-accent, #9A5B3F);
  background: var(--cr-paper-1, #FBF8F2);
  text-decoration: none;
}

/* Orders table */
body.woocommerce-account table.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--cr-text-sm, 0.8125rem);
}
body.woocommerce-account table.woocommerce-orders-table th {
  font-family: var(--cr-font-mono, 'IBM Plex Mono', monospace);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cr-color-secondary, #6E665A);
  padding: var(--cr-space-2, 0.5rem) var(--cr-space-3, 0.75rem);
  border-bottom: 1px solid var(--cr-line, #E0D9CC);
  text-align: left;
}
body.woocommerce-account table.woocommerce-orders-table td {
  padding: var(--cr-space-3, 0.75rem);
  border-bottom: 1px solid var(--cr-line, #E0D9CC);
  color: var(--cr-color-ink, #16130F);
}
body.woocommerce-account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
body.woocommerce-account table.woocommerce-orders-table .button {
  display: inline-block;
  font-size: var(--cr-text-xs, 0.6875rem);
  padding: 6px 16px;
  border: 1px solid var(--cr-line, #E0D9CC);
  border-radius: var(--cr-radius-xs, 2px);
  text-decoration: none;
  white-space: nowrap;
  color: var(--cr-color-ink, #16130F);
  transition: border-color 0.15s;
}
body.woocommerce-account table.woocommerce-orders-table .button:hover {
  border-color: var(--cr-color-ink, #16130F);
  text-decoration: none;
}

/* ── Sub-page content headings → brand serif. cr-app-shell forces
   `#main .cr-app h1..h6 { font-family: inherit !important }` (theme-neutralizing
   gotcha), so we need an ID (#cr-app-stage) + !important to win it back. ── */
body.woocommerce-account #cr-app-stage .woocommerce-MyAccount-content h2,
body.woocommerce-account #cr-app-stage .woocommerce-MyAccount-content h3,
body.woocommerce-account #cr-app-stage .woocommerce-order-details__title,
body.woocommerce-account #cr-app-stage .woocommerce-column__title,
body.woocommerce-account #cr-app-stage .woocommerce-Address-title h3 {
  font-family: var(--cr-font-display, 'Fraunces', Georgia, serif) !important;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: var(--cr-color-ink, #16130F) !important;
}

/* ── Account-details: restyle the raw <fieldset> ("Cambio de contraseña")
   from the browser-default groove border into a clean hairline card. ── */
body.woocommerce-account .woocommerce-EditAccountForm fieldset,
body.woocommerce-account form.edit-account fieldset {
  border: 1px solid var(--cr-line, #E0D9CC);
  border-radius: var(--cr-radius-sm, 4px);
  padding: var(--cr-space-4, 1rem) var(--cr-space-5, 1.5rem) var(--cr-space-5, 1.5rem);
  margin: var(--cr-space-6, 2rem) 0 0;
}
body.woocommerce-account .woocommerce-EditAccountForm legend,
body.woocommerce-account form.edit-account legend {
  font-family: var(--cr-font-display, 'Fraunces', Georgia, serif);
  font-size: var(--cr-text-md, 1.0625rem);
  font-weight: 300;
  color: var(--cr-color-ink, #16130F);
  padding: 0 var(--cr-space-2, 0.5rem);
}

/* ── Addresses: clean 2-up grid of cards (was WC default floats → diagonal
   stagger with dead whitespace). ── */
body.woocommerce-account .woocommerce-Addresses.col2-set,
body.woocommerce-account .addresses .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cr-space-6, 2rem);
}
/* The col2-set carries legacy clearfix ::before/::after — as a grid container
   those become phantom grid items and push the real cards into a 2×2 diagonal
   stagger. Neutralize them. */
body.woocommerce-account .woocommerce-Addresses.col2-set::before,
body.woocommerce-account .woocommerce-Addresses.col2-set::after,
body.woocommerce-account .addresses .col2-set::before,
body.woocommerce-account .addresses .col2-set::after {
  content: none;
  display: none;
}
body.woocommerce-account .woocommerce-Addresses .col-1,
body.woocommerce-account .woocommerce-Addresses .col-2 {
  width: auto;
  float: none;
}
body.woocommerce-account .woocommerce-Address {
  background: var(--cr-paper-1, #FBF8F2);
  border: 1px solid var(--cr-line, #E0D9CC);
  border-radius: var(--cr-radius-md, 10px);
  padding: var(--cr-space-5, 1.5rem);
}
body.woocommerce-account .woocommerce-Address address {
  font-style: normal;
  line-height: 1.7;
  color: var(--cr-color-ink, #16130F);
}
@media (max-width: 640px) {
  body.woocommerce-account .woocommerce-Addresses.col2-set,
  body.woocommerce-account .addresses .col2-set {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.woocommerce-account * { transition-duration: 0.001s !important; }
}

/* WooCommerce block product grids (empty-cart "New in store", any wc-block grid)
   render their title as a link; the SPA's `.cr-app a` rule paints it terracotta
   (~3.6:1 on paper — fails WCAG AA). Force readable ink for those titles. */
.wc-block-grid__product-title,
.wc-block-grid__product-title a,
.wc-block-components-product-name {
  color: var(--cr-color-ink) !important;
}
.wc-block-grid__product-title a:hover,
.wc-block-grid__product-title a:focus-visible {
  color: var(--cr-color-accent) !important;
}

/* ==========================================================================
   MI CUENTA — branded dashboard (myaccount/dashboard.php override)
   Scoped to body.woocommerce-account so it never leaks to other pages.
   ========================================================================== */
body.woocommerce-account .cr-account-dash {
  display: flex;
  flex-direction: column;
  gap: var(--cr-space-6, 32px);
}
body.woocommerce-account .cr-account-dash__head {
  border-bottom: 1px solid var(--cr-line, #E0D9CC);
  padding-bottom: var(--cr-space-4, 20px);
}
body.woocommerce-account .cr-account-dash__eyebrow {
  font-family: var(--cr-font-mono, ui-monospace, monospace);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cr-color-secondary, #8A8275);
  margin: 0 0 var(--cr-space-2, 8px);
}
body.woocommerce-account .cr-account-dash__greeting {
  font-family: var(--cr-font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--cr-text-xl, 1.75rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--cr-color-ink, #16130F);
  margin: 0 0 var(--cr-space-2, 8px);
}
body.woocommerce-account .cr-account-dash__lead {
  font-size: var(--cr-text-base, 0.9375rem);
  color: var(--cr-color-secondary, #8A8275);
  margin: 0;
  max-width: 60ch;
}

/* Quick-action cards */
body.woocommerce-account .cr-account-dash__actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--cr-space-3, 16px);
}
body.woocommerce-account .cr-account-card {
  display: flex;
  flex-direction: column;
  gap: var(--cr-space-1, 4px);
  padding: var(--cr-space-4, 20px);
  background: var(--cr-paper-1, #FBF8F2);
  border: 1px solid var(--cr-line, #E0D9CC);
  border-radius: var(--cr-radius-md, 10px);
  text-decoration: none !important;
  color: var(--cr-color-ink, #16130F) !important;
  transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
  min-height: auto;
}
body.woocommerce-account .cr-account-card:hover {
  border-color: var(--cr-color-ink, #16130F);
  transform: translateY(-2px);
}
body.woocommerce-account .cr-account-card__icon {
  color: var(--cr-color-accent, #9A5B3F);
  margin-bottom: var(--cr-space-2, 8px);
  line-height: 0;
}
body.woocommerce-account .cr-account-card__title {
  font-family: var(--cr-font-text, sans-serif);
  font-size: var(--cr-text-md, 1rem);
  font-weight: 500;
  color: var(--cr-color-ink, #16130F);
}
body.woocommerce-account .cr-account-card__desc {
  font-size: var(--cr-text-xs, 0.6875rem);
  color: var(--cr-color-secondary, #8A8275);
}
body.woocommerce-account .cr-account-card--accent {
  background: var(--cr-color-primary, #1C1814);
}
body.woocommerce-account .cr-account-card--accent .cr-account-card__title,
body.woocommerce-account .cr-account-card--accent { color: var(--cr-on-primary, #F4F0E9) !important; }
body.woocommerce-account .cr-account-card--accent .cr-account-card__desc { color: var(--cr-color-muted, #B7AFA1); }
body.woocommerce-account .cr-account-card--accent .cr-account-card__icon { color: var(--cr-on-primary, #F4F0E9); }
body.woocommerce-account .cr-account-card--accent:hover { border-color: var(--cr-color-accent, #9A5B3F); }

/* Recent orders */
body.woocommerce-account .cr-account-dash__orders-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--cr-space-3, 16px);
}
body.woocommerce-account .cr-account-dash__subtitle {
  font-family: var(--cr-font-display, Georgia, serif);
  font-weight: 400;
  font-size: var(--cr-text-lg, 1.375rem);
  color: var(--cr-color-ink, #16130F);
  margin: 0;
}
body.woocommerce-account .cr-account-dash__viewall {
  font-family: var(--cr-font-mono, monospace);
  font-size: var(--cr-text-xs, 0.6875rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cr-color-accent, #9A5B3F);
}
body.woocommerce-account .cr-account-orders {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--cr-line, #E0D9CC);
}
body.woocommerce-account .cr-account-orders__link {
  display: grid;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
  gap: var(--cr-space-3, 16px);
  padding: var(--cr-space-3, 16px) 0;
  border-bottom: 1px solid var(--cr-line, #E0D9CC);
  text-decoration: none !important;
  color: var(--cr-color-ink, #16130F) !important;
}
body.woocommerce-account .cr-account-orders__link:hover { background: var(--cr-paper-1, #FBF8F2); }
body.woocommerce-account .cr-account-orders__num { font-weight: 600; }
body.woocommerce-account .cr-account-orders__date,
body.woocommerce-account .cr-account-orders__meta {
  font-size: var(--cr-text-sm, 0.8125rem);
  color: var(--cr-color-secondary, #8A8275);
}
body.woocommerce-account .cr-account-orders__status {
  font-family: var(--cr-font-mono, monospace);
  font-size: 0.625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: var(--cr-radius-pill, 999px);
  background: var(--cr-paper-3, #EAE4D9);
  color: var(--cr-color-ink, #16130F);
  white-space: nowrap;
}
body.woocommerce-account .cr-account-orders__status--completed { background: #DDE8DD; color: var(--cr-color-success, #4E6F52); }
body.woocommerce-account .cr-account-orders__status--processing,
body.woocommerce-account .cr-account-orders__status--on-hold { background: #F0E4D8; color: var(--cr-color-accent, #9A5B3F); }
body.woocommerce-account .cr-account-orders__status--cancelled,
body.woocommerce-account .cr-account-orders__status--failed { background: #F0DEDC; color: var(--cr-color-error, #9B3B33); }
body.woocommerce-account .cr-account-orders__total { font-weight: 600; white-space: nowrap; }

/* Empty state + logout */
body.woocommerce-account .cr-account-dash__empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--cr-space-3, 16px);
  padding: var(--cr-space-5, 28px);
  background: var(--cr-paper-1, #FBF8F2);
  border: 1px dashed var(--cr-line-strong, #C9C0AF);
  border-radius: var(--cr-radius-md, 10px);
  color: var(--cr-color-secondary, #8A8275);
}
body.woocommerce-account .cr-account-dash__logout {
  margin: 0;
  font-size: var(--cr-text-sm, 0.8125rem);
}
body.woocommerce-account .cr-account-dash__logout a {
  color: var(--cr-color-secondary, #8A8275) !important;
  text-decoration: underline;
}
body.woocommerce-account .cr-account-dash__logout a:hover { color: var(--cr-color-error, #9B3B33) !important; }

@media (max-width: 600px) {
  body.woocommerce-account .cr-account-orders__link {
    grid-template-columns: 1fr auto;
    grid-auto-rows: auto;
    gap: var(--cr-space-1, 4px) var(--cr-space-3, 16px);
  }
  body.woocommerce-account .cr-account-orders__meta { display: none; }
}
