/**
 * Custom Checkout Experience Styles - Minimal Modern Version
 * Version: 2.5
 * Clean, minimal design focused on functionality
 * Brand colors aligned with Exist Green: #2c5e54 (accent), #1e4a35 (dark), #a5ccbc (light), #e8f4ee (bg)
 */

/* ========================================
   FOUNDATION: CSS Custom Properties
   ======================================== */
.cce-focused-page {
  /* Brand palette */
  --cce-accent: #2c5e54;
  --cce-accent-dark: #1e4a35;
  --cce-accent-light: #a5ccbc;
  --cce-sage-bg: hsla(76, 16%, 87%, 0.25);
  --cce-card-bg: #fff;
  --cce-border: #d3d6da;
  --cce-border-brand: #bfe2dc;
  --cce-border-subtle: #e2ece7;
  --cce-text: #1f1f1f;
  --cce-text-muted: #555;
  --cce-text-label: #8b9a8f;
  --cce-bg-quiet: #f7faf8;
  --cce-bg-meta: #fafbfa;
  --cce-gradient: linear-gradient(135deg, #e8f5f3 0%, #dce8e4 50%, #e0eef0 100%);

  /* Type scale — hierarchy through color/weight, NOT tiny sizes.
     Minimum readable size for body content: 14px (--cce-fs-sm).
     12px reserved for truly decorative fine print only (disclaimers, unit labels). */
  --cce-fs-xs: 0.8125rem;  /* 13px — fine print, disclaimers */
  --cce-fs-sm: 0.875rem;   /* 14px — labels, meta, secondary text */
  --cce-fs-base: 1rem;     /* 16px — body text */
  --cce-fs-md: 1.125rem;   /* 18px — section text */
  --cce-fs-lg: 1.25rem;    /* 20px — step headings */
  --cce-fs-xl: 1.5rem;     /* 24px — page title */

  /* Spacing */
  --cce-gap: 1rem;
  --cce-gap-lg: 1.5rem;
  --cce-radius: 6px;
  --cce-radius-lg: 12px;
}

/* ========================================
   FOCUSED PAGE: Sage background + hide footer
   Single layer on .site-inner only — NOT stacked on every container
   ======================================== */
.cce-focused-page .site-inner {
  background-color: var(--cce-sage-bg) !important;
}
/* All child containers transparent so the sage doesn't compound */
.cce-focused-page .wrap,
.cce-focused-page .content-sidebar-wrap,
.cce-focused-page .content,
.cce-focused-page .entry,
.cce-focused-page .entry-content {
  background: transparent !important;
}

/* Hide footer + breadcrumbs on cart and checkout */
.cce-focused-page .footer-extended,
.cce-focused-page .footer-widgets,
.cce-focused-page .site-footer {
  display: none !important;
}

.cce-focused-page .breadcrumb {
  display: none !important;
}

/* ========================================
   EMPTY CART STATE
   ======================================== */
.woocommerce-cart.woocommerce-cart-empty .entry-content,
.woocommerce-cart.woocommerce-cart-empty .site-main,
.woocommerce-cart.woocommerce-cart-empty .woocommerce {
  min-height: 0 !important;
}

.woocommerce-cart .cce-empty-cart {
  margin: 84px auto 48px !important;
  max-width: 920px !important;
  padding: 0 18px !important;
}

.woocommerce-cart .cce-empty-cart__panel {
  padding: 40px 34px 32px !important;
  border: 1px solid rgba(165, 204, 188, 0.6) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at top right, rgba(224, 247, 249, 0.9), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%) !important;
  box-shadow: 0 12px 28px rgba(25, 71, 57, 0.06) !important;
  text-align: center !important;
}

.woocommerce-cart .cce-empty-cart__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(224, 247, 249, 0.95) !important;
  color: #2c5e54 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.woocommerce-cart .cce-empty-cart__title {
  margin: 18px 0 10px !important;
  font-size: clamp(34px, 4.5vw, 52px) !important;
  line-height: 1.02 !important;
  color: #202124 !important;
  font-family: blanket, brandon-grotesque, sans-serif !important;
}

.woocommerce-cart .cce-empty-cart__copy {
  max-width: 620px !important;
  margin: 0 auto !important;
  color: #586562 !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
}

.woocommerce-cart .cce-empty-cart__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

.woocommerce-cart .cce-empty-cart__primary,
.woocommerce-cart .cce-empty-cart__secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  padding: 15px 24px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.woocommerce-cart .cce-empty-cart__primary {
  border: 1.5px solid #2c5e54 !important;
  border-radius: 6px !important;
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
}

.woocommerce-cart .cce-empty-cart__primary:hover,
.woocommerce-cart .cce-empty-cart__primary:focus-visible {
  background: linear-gradient(135deg, #a5ccbc 0%, #bfe2dc 100%) !important;
  color: #1f1f1f !important;
  border-color: #2d4f3f !important;
}

.woocommerce-cart .cce-empty-cart__secondary {
  border: 1px solid rgba(16, 19, 38, 0.18) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #29463d !important;
}

.woocommerce-cart .cce-empty-cart__secondary:hover,
.woocommerce-cart .cce-empty-cart__secondary:focus-visible {
  background: #f5faf8 !important;
  border-color: rgba(44, 94, 84, 0.35) !important;
  color: #1d3d34 !important;
}

.woocommerce-cart .cce-empty-cart__returning {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 18px !important;
  color: #64726c !important;
}

.woocommerce-cart .cce-empty-cart__returning-label {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.woocommerce-cart .cce-empty-cart__returning-links {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
}

.woocommerce-cart .cce-empty-cart__returning-link {
  color: #1f463b !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}

.woocommerce-cart .cce-empty-cart__returning-link + .cce-empty-cart__returning-link::before {
  content: "\2022" !important;
  color: rgba(44, 94, 84, 0.32) !important;
  margin-right: 14px !important;
}

.woocommerce-cart .cce-empty-cart__returning-link:hover,
.woocommerce-cart .cce-empty-cart__returning-link:focus-visible {
  color: #143228 !important;
  text-decoration: underline !important;
}

.woocommerce-cart .cce-empty-cart__note {
  margin-top: 24px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(165, 204, 188, 0.7) !important;
  color: #51645e !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/*
 * Hide the default WooCommerce empty-cart notice — the custom
 * .cce-empty-cart section provides a richer replacement.  The
 * wc-empty-cart-message div is still rendered in the HTML so that
 * cart.js can locate it during AJAX item removal.
 */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message {
  display: none !important;
}

.woocommerce-cart .cart-empty + .return-to-shop {
  margin-top: 20px !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .woocommerce-cart .cce-empty-cart {
    margin-top: 68px !important;
    padding: 0 14px !important;
  }

  .woocommerce-cart .cce-empty-cart__panel {
    padding: 32px 22px 26px !important;
    border-radius: 22px !important;
  }

  .woocommerce-cart .cce-empty-cart__copy {
    font-size: 16px !important;
  }

  .woocommerce-cart .cce-empty-cart__primary {
    width: 100% !important;
    min-width: 0 !important;
  }

  .woocommerce-cart .cce-empty-cart__secondary {
    width: 100% !important;
    min-width: 0 !important;
  }

  .woocommerce-cart .cce-empty-cart__returning {
    flex-direction: column !important;
    gap: 6px !important;
  }

  .woocommerce-cart .cce-empty-cart__returning-links {
    gap: 12px !important;
  }
}

/* When cart IS empty, hide the progress bar to avoid confusion */
.woocommerce-cart.woocommerce-cart-empty .eg-checkout-progress.eg-progress-standalone {
  display: none !important;
}

/* ========================================
   CART TABLE - REVISED LAYOUT v2.3
   ======================================== */

/* Hide subtotal column - we show inline in quantity column */
body.woocommerce-cart .product-subtotal,
.woocommerce-cart .product-subtotal,
.woocommerce-cart-form thead th.product-subtotal,
.woocommerce-cart-form tbody td.product-subtotal {
  display: none !important;
  width: 0 !important;
  padding: 0 !important;
}

/* ========================================
   TABLE STRUCTURE - Consistent Column Widths
   ======================================== */

/* Cart table base */
.woocommerce-cart-form table.cart {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

/* Cart form wrapper: no background of its own */
.woocommerce-cart-form {
  background: transparent !important;
}

/* REMOVE COLUMN: 10% width */
.woocommerce-cart-form__contents thead th.product-remove,
.woocommerce-cart-form__contents tbody td.product-remove {
  width: 10% !important;
  min-width: 40px !important;
  max-width: 50px !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* PRODUCT INFO COLUMN: 65% — give product details room to breathe */
.woocommerce-cart-form__contents thead th.product-info,
.woocommerce-cart-form__contents tbody td.product-info {
  width: 65% !important;
  text-align: left !important;
  vertical-align: top !important;
  padding: 16px 12px !important;
  overflow: visible !important; /* Allow heart icon to overflow */
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  position: relative !important; /* For heart positioning */
}

/* QUANTITY COLUMN: 25% — right-aligned, content hugs right edge */
.woocommerce-cart-form__contents thead th.product-quantity,
.woocommerce-cart-form__contents tbody td.product-quantity {
  width: 25% !important;
  text-align: right !important;
  vertical-align: top !important;
  padding: 16px 12px !important;
  position: relative !important;
  overflow: visible !important; /* Allow subtotal to show */
}

/* Ensure cart item content doesn't overflow its column */
.woocommerce-cart-form .cart-item-details {
  max-width: 100% !important;
  overflow: hidden !important;
  word-wrap: break-word !important;
}

.woocommerce-cart-form .cart-item-details .woocommerce-loop-product__title,
.woocommerce-cart-form .cart-item-details .product-name-link {
  display: block !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Mobile: Ensure equal column widths are enforced */
@media (max-width: 768px) {
  /* Prevent horizontal overflow on mobile but allow tooltips to show */
  .woocommerce-cart,
  .woocommerce-cart-form {
    max-width: 100% !important;
  }
  .woocommerce-cart-form {
    contain: layout style; /* Isolate reflows — prevents DOM changes outside the cart table from triggering layout shifts inside it */
  }

  .woocommerce-cart-form table.cart {
    max-width: 100% !important;
    overflow-x: visible !important; /* Allow wishlist tooltip to extend */
  }
  
  .woocommerce-cart-form table.cart {
    table-layout: fixed !important;
  }
  
  /* More room for product info — qty controls are compact */
  .woocommerce-cart-form__contents thead th.product-info,
  .woocommerce-cart-form__contents tbody td.product-info {
    width: 58% !important;
    padding-left: 8px !important;
    padding-right: 6px !important;
  }
  .woocommerce-cart-form__contents thead th.product-quantity,
  .woocommerce-cart-form__contents tbody td.product-quantity {
    width: 32% !important;
    padding-left: 6px !important;
    padding-right: 12px !important;
  }
  
  .woocommerce-cart-form__contents thead th.product-info,
  .woocommerce-cart-form__contents tbody td.product-info,
  .woocommerce-cart-form__contents thead th.product-quantity,
  .woocommerce-cart-form__contents tbody td.product-quantity {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  
  .woocommerce-cart-form__contents thead th.product-remove,
  .woocommerce-cart-form__contents tbody td.product-remove {
    width: 10% !important;
    overflow: visible !important; /* Wishlist tooltip must not be clipped */
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  
  /* Allow tooltips to extend out of cells */
  .woocommerce-cart-form__contents tbody tr,
  .woocommerce-cart-form__contents tbody td {
    overflow: visible !important;
  }
  
  /* Smaller thumbnail on mobile */
  .woocommerce-cart-form .cart-item-details .product-thumbnail img {
    width: 50px !important;
    height: 50px !important;
  }
  
  /* Smaller font for product name */
  .woocommerce-cart-form .cart-item-details .product-name-link {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  
  /* KEEP update cart button and subtotal on SAME ROW on mobile */
  .eg-cart-footer-content {
    flex-direction: row !important; /* Keep horizontal */
    flex-wrap: nowrap !important; /* NEVER wrap */
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
  }
  
  .eg-cart-footer-content .eg-update-cart-btn {
    width: auto !important;
    flex: 0 0 auto !important;
    padding: 8px 16px !important; /* Smaller button on mobile */
    font-size: 13px !important;
  }
  
  .eg-cart-footer-content .eg-cart-subtotal-summary {
    text-align: right !important;
    flex: 1 1 auto !important; /* Let it grow to push to the right */
  }
  
  .eg-cart-footer-content .eg-cart-subtotal-value {
    font-size: 16px !important; /* Slightly smaller on mobile */
  }
}

/* ========================================
   HEADER ROW - Aligned Headers
   ======================================== */

.woocommerce-cart-form table.cart thead th {
  border: none !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 12px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  background: transparent !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  vertical-align: bottom !important; /* Align headers at baseline */
}

/* Product header - left aligned */
.woocommerce-cart-form table.cart thead th.product-info {
  text-align: left !important;
}

/* Quantity header - left aligned to match input boxes below */
.woocommerce-cart-form table.cart thead th.product-quantity {
  text-align: left !important;
  padding-left: 12px !important;
  white-space: nowrap !important; /* NEVER allow QUANTITY to wrap/split */
  overflow: visible !important;
}

/* ========================================
   QUANTITY CELL - Flexbox Layout
   ======================================== */

/* Quantity cell - use flexbox so subtotal can sit at bottom-right */
.woocommerce-cart-form tbody td.product-quantity {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-height: 100px !important;
  justify-content: flex-start !important; /* Top-align content; subtotal uses margin-top: auto */
  gap: 6px !important;
  text-align: right !important;
}

/* Quantity controls wrapper - full width, children right-aligned */
.eg-quantity-controls {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Stock notes in cart — one line when it fits, wrap if needed */
.woocommerce-cart-form td.product-quantity .eg-low-stock {
  white-space: normal !important;
  text-align: right !important;
  max-width: 100% !important;
  word-break: keep-all !important;
}

/* lbs conversion appears directly below quantity row */
.eg-quantity-controls .eg-lbs-conversion {
  margin-top: 4px !important;
  text-align: right !important;
}

/* The .quantity box with +/- buttons — use grid so row 1 stays together */
.woocommerce-cart-form td.product-quantity .quantity {
  display: grid !important;
  grid-template-columns: auto 1fr auto auto !important; /* minus | input | plus | unit */
  align-items: center !important;
  gap: 2px 4px !important;
  margin: 0 !important;
  min-width: 0 !important;
}

/* Conversion and suggested amount span full grid width on their own row */
.woocommerce-cart-form td.product-quantity .quantity .eg-lbs-conversion,
.woocommerce-cart-form td.product-quantity .quantity .eg-unit-conversion,
.woocommerce-cart-form td.product-quantity .quantity .eg-suggested-amount,
.woocommerce-cart-form td.product-quantity .quantity .eg-low-stock {
  grid-column: 1 / -1 !important;
}

/* Input should not exceed available space but show full value */
.woocommerce-cart-form td.product-quantity .quantity input.qty {
  max-width: 70px !important;
  min-width: 45px !important;
  padding: 4px 2px !important;
}

/* lbs conversion - BELOW quantity input */
.woocommerce-cart-form td.product-quantity .eg-lbs-conversion,
.woocommerce-cart-form td.product-quantity .eg-unit-conversion,
.eg-quantity-controls .eg-lbs-conversion {
  display: block !important;
  font-size: 11px !important;
  color: #4b5563 !important;
  margin-top: 4px !important;
  text-align: right !important;
  flex-basis: 100% !important;
  order: 10 !important; /* Push to end of flex container */
}

/* Item notes styling — subtle background so it reads as "footnote to the product above" */
.eg-cart-item-notes {
  font-size: 12px !important;
  color: #4b5563 !important;
  margin-top: 8px !important;
  padding: 8px 10px !important;
  background: #f5f7f6 !important;
  border-left: 3px solid #d0ddd8 !important;
  border-radius: 0 4px 4px 0 !important;
}

/* Full-width row for item notes (under product image/name) — attached to product above */
.eg-cart-item-notes-row td.eg-cart-item-notes-cell {
  vertical-align: top !important;
  padding: 0 10px 6px 10px !important;
  border-top: none !important;
  border-bottom: none !important;
}
.eg-cart-item-notes-row .eg-cart-item-notes {
  margin-top: 0 !important;
  box-sizing: border-box !important;
}

/* Per-item subtotal - spans full cell width, text right-aligned so the
   number sits flush under the + button / unit suffix on the row above. */
.woocommerce-cart .eg-subtotal-in-quantity {
  margin-top: auto !important;
  align-self: stretch !important;
  width: 100% !important;
  text-align: right !important;
  padding-top: 12px !important;
  padding-right: 0 !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #374151 !important;
  /* Currency must never wrap mid-number. Browsers will break "$3.50" at
     the decimal point if the parent flex column shrinks below the rendered
     text width — produces an ugly "$3." / "50" stack. nowrap forbids any
     break, tabular-nums keeps digits on a uniform grid. */
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

.eg-subtotal-in-quantity::before {
  content: none !important;
}

/* ========================================
   CART FOOTER ROW - Update Button & Subtotal
   ======================================== */

.eg-cart-footer-row {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 0 !important;
  margin-top: 0 !important;
  border-top: 1px solid #e5e7eb !important;
}

.eg-cart-footer-content {
  display: flex !important;
  flex-wrap: wrap !important; /* Allow wrap on very narrow screens */
  align-items: center !important;
  width: 100% !important;
  gap: 12px 16px !important;
  justify-content: flex-end !important;
}

/* Update Cart button */
.eg-update-cart-btn {
  padding: 10px 20px !important;
  background: #a5ccbc !important;
  color: #1e4a35 !important;
  border: 1px solid #1e4a35 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.eg-update-cart-btn:hover {
  background: #d5e8de !important;
}

/* Cart Subtotal Summary - Green to match item subtotals */
.eg-cart-subtotal-summary {
  text-align: right !important;
  white-space: nowrap !important;
  color: #2c5e54 !important;
}

.eg-cart-subtotal-label {
  font-size: 14px !important;
  color: #2c5e54 !important;
  font-weight: 500 !important;
  margin-right: 8px !important;
}

.eg-cart-subtotal-value {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #2c5e54 !important;
}

/* "Choose fulfillment" nudge at bottom of column 1 */
.eg-cart-col1-next-step {
  text-align: center !important;
  padding: 16px 0 8px !important;
}

.eg-cart-goto-step2-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 12px 28px !important;
  background: linear-gradient(135deg, #2c5e54 0%, #3a7a6d 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
}

.eg-cart-goto-step2-btn:hover {
  background: linear-gradient(135deg, #245249 0%, #2c5e54 100%) !important;
  box-shadow: 0 4px 12px rgba(44, 94, 84, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Hide once fulfillment is selected — no longer needed */
.cce-fulfillment-selected .eg-cart-col1-next-step {
  display: none !important;
}

/* ========================================
   BELOW TABLE — empty now that favorites moved to after share cart
   ======================================== */

.eg-cart-after-table {
  margin: 0 !important;
  padding: 0 !important;
}

.eg-cart-after-table:empty {
  display: none !important;
}

/* ========================================
   "WANT TO SAVE" LINK - Not full-width box
   ======================================== */

.eg-cart-favorites-note {
  display: inline-block !important;
  margin: 0 !important;
}

.eg-save-for-later-toggle {
  color: #475569 !important;
  text-decoration: underline !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: inline !important;
}

.eg-save-for-later-toggle:hover {
  color: #374151 !important;
}

.eg-save-for-later-hint {
  display: none !important;
  margin-top: 6px !important;
  padding: 0 !important;
  font-size: 13px !important;
  color: #475569 !important;
  border: none !important; /* No border styling */
  background: none !important; /* No background */
  line-height: 1.5 !important;
}

.eg-cart-favorites-note.expanded .eg-save-for-later-hint {
  display: block !important;
}

/* Hide old actions row - using new footer layout */
.woocommerce-cart-form__contents tbody tr .actions,
.woocommerce-cart-form__contents tbody td.actions,
.woocommerce-cart-form table.cart tbody tr:has(td.actions) {
  display: none !important;
}

/* Larger product thumbnails - fix mobile disappearing issue */
.woocommerce-cart-form .product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Cart table rows - clean appearance */
.woocommerce-cart-form table.cart tbody tr {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.woocommerce-cart-form table.cart tbody tr:hover {
  box-shadow: none !important;
}

/* Product names - cleaner typography */
.woocommerce-cart-form .product-name a {
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #1f2937 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
}

.woocommerce-cart-form .product-name a:hover {
  color: #3b82f6 !important;
}

/* Simplified quantity input - buttons flush with input */
.woocommerce-cart-form .quantity {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important; /* Buttons same height as input */
  gap: 0 !important; /* NO gap - flush buttons */
  min-width: 100px !important;
}

.woocommerce-cart-form .quantity.per-oz {
  flex-wrap: wrap !important;
  align-items: center !important;
}

.woocommerce-cart-form .quantity input {
  padding: 6px 2px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 0 !important; /* Square edges - buttons attach flush */
  font-size: 15px !important;
  font-weight: 600 !important;
  width: 60px !important;
  text-align: center !important;
  background: #fff !important;
  color: #1f2937 !important;
  height: 36px !important;
  box-sizing: border-box !important;
}

/* Quantity +/- buttons - flush with input, same height */
.woocommerce-cart-form .quantity button {
  padding: 0 10px !important;
  margin: 0 !important;
  border: 1px solid #d1d5db !important;
  background: #f9fafb !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #374151 !important;
  cursor: pointer !important;
  height: 36px !important;
  min-width: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s !important;
}

.woocommerce-cart-form .quantity button:first-child {
  border-radius: 6px 0 0 6px !important; /* Round left side only */
  border-right: none !important;
}

.woocommerce-cart-form .quantity button:last-child {
  border-radius: 0 6px 6px 0 !important; /* Round right side only */
  border-left: none !important;
}

.woocommerce-cart-form .quantity button:hover {
  background: #e5e7eb !important;
}

.woocommerce-cart-form .quantity input:focus {
  border-color: #3b82f6 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;
}

/* Unit indicators - minimal styling */
.unit-suffix {
  font-size: 12px !important;
  color: #4b5563 !important;
  font-weight: 500 !important;
  display: inline-block !important;
}

.eg-lbs-conversion {
  font-size: 11px !important;
  color: #4b5563 !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  margin-top: 4px !important;
}

.eg-oz-subtotal,
.eg-subtotal {
  font-size: 13px !important;
  color: #374151 !important;
  font-weight: 600 !important;
  text-align: center !important;
  flex-basis: 100% !important;
}

/* Price styling */
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal {
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #2c5e54 !important;
}

/* ========================================
   RESPONSIVE CART IMPROVEMENTS
   ======================================== */

/* Hide price column completely - unit price shown under product name */
.woocommerce-cart-form .shop_table .product-price {
  display: none !important;
}

/* Unit price display under product name */
.cart-item-unit-price {
  font-size: 0.9em !important;
  color: #4b5563 !important;
  margin-top: 4px !important;
  font-style: italic !important;
}

.cce-cart-step {
  margin: 0 0 14px 0 !important;
}

.cce-cart-step--compact {
  margin-bottom: 10px !important;
}

.cce-cart-step__title {
  margin: 0 0 4px 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0f4c3a !important;
  line-height: 1.3 !important;
}

.cce-cart-step__intro {
  margin: 0 !important;
  font-size: 13px !important;
  color: #4b5563 !important;
  line-height: 1.4 !important;
}

.eg-cart-step1-local-only {
  margin-top: 8px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  border: 1px solid #f59e0b !important;
  border-left: 3px solid #d97706 !important;
  background: #fff7ed !important;
  color: #7c2d12 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.cce-cart-step--primary .cce-cart-step__title {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2px !important;
}

.cce-cart-step--secondary .cce-cart-step__title {
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* Local-only indicator in cart - matches product loop styling */
.eg-local-only-cart-indicator {
  --eg-local-only-icon-size: 1.75rem;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--eg-local-only-icon-size) !important;
  height: var(--eg-local-only-icon-size) !important;
  margin: 6px 0 0 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(16, 114, 93, 0.3) !important;
  padding: 0 !important;
  background: rgba(22, 112, 95, 0.12) !important;
  color: #0f4c3a !important;
  position: relative !important;
  cursor: help !important;
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease !important;
  vertical-align: middle !important;
}

.eg-local-only-cart-copy {
  margin-top: 6px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #7c2d12 !important;
}

/* First occurrence — no arrow needed now that icon is inline */
.eg-local-only-cart-copy--first {
  margin-top: 2px !important;
}

.eg-cart-local-only-summary {
  margin: 0 0 12px 0 !important;
  padding: 16px 18px !important;
  border-radius: var(--cce-radius-lg, 12px) !important;
  border: 1.5px solid #d1d5db !important;
  background: #f9fafb !important;
  color: var(--cce-text-muted, #6b7280) !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  opacity: 0.8 !important;
}

/* Use the same icon as product loop */
.eg-local-only-cart-indicator::before {
  content: "" !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  background-image: var(--eg-local-only-icon, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cpath%20d%3D%27M4%209.5%2016%204l12%205.5v13L16%2028l-12-5.5z%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M4%209.5%2016%2015l12-5.5%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M16%2015v13%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2722%27%20cy%3D%2722%27%20r%3D%277%27%20fill%3D%27%23ffffff%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27m18%2026%208-8%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E")) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.eg-local-only-cart-indicator:hover,
.eg-local-only-cart-indicator:focus-visible {
  background: rgba(22, 112, 95, 0.2) !important;
  border-color: rgba(16, 114, 93, 0.5) !important;
  transform: translateY(-1px) !important;
}

/* Tooltip on hover */
.eg-local-only-cart-indicator::after {
  content: attr(data-tooltip) !important;
  position: absolute !important;
  bottom: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #333 !important;
  color: #fff !important;
  padding: 6px 10px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  max-width: 250px !important;
  white-space: normal !important;
  text-align: center !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.2s ease, visibility 0.2s ease !important;
  z-index: 100 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-local-only-cart-indicator:hover::after,
.eg-local-only-cart-indicator:focus-visible::after {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Mobile: smaller icon */
@media (max-width: 768px) {
  .eg-local-only-cart-indicator {
    --eg-local-only-icon-size: 1.5rem !important;
  }
  
  .eg-local-only-cart-copy {
    font-size: 11px !important;
  }

  .eg-cart-local-only-summary {
    font-size: 12px !important;
    padding: 9px 10px !important;
  }

  .eg-local-only-cart-indicator::before {
    width: 1rem !important;
    height: 1rem !important;
  }
}

/* Out-of-stock item row highlight */
tr.eg-cart-item-out-of-stock {
  background: rgba(220, 38, 38, 0.04) !important;
  border-left: 3px solid #dc2626 !important;
}

tr.eg-cart-item-out-of-stock td {
  opacity: 0.7;
}

/* Keep remove button and heart fully visible */
tr.eg-cart-item-out-of-stock td.product-remove {
  opacity: 1;
}

.eg-cart-out-of-stock-badge {
  display: inline-block;
  margin-top: 6px;
  padding: 4px 10px;
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid rgba(220, 38, 38, 0.3);
  border-radius: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
}

.eg-cart-oos-remove {
  color: #991b1b;
  text-decoration: underline;
  font-weight: 700;
  margin-left: 4px;
}

.eg-cart-oos-remove:hover {
  color: #7f1d1d;
}

/* Disable quantity controls for out-of-stock items */
tr.eg-cart-item-out-of-stock .eg-quantity-controls {
  pointer-events: none;
  opacity: 0.4;
}

tr.eg-cart-item-out-of-stock .eg-subtotal-in-quantity {
  opacity: 0.4;
}

/* Inline undo row (shown where removed item was) */
.eg-cart-undo-row td {
  padding: 0 !important;
  border: none !important;
}

.eg-cart-undo-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin: 4px 0;
  background: #fefce8;
  border: 1px solid #fde68a;
  border-left: 3px solid #f59e0b;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #1f1f1f;
}

.eg-cart-undo-text {
  flex: 1;
  font-weight: 500;
}

.eg-cart-undo-btn {
  background: none;
  border: none;
  color: #2c5e54;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  font-size: 0.875rem;
  padding: 4px 8px;
}

.eg-cart-undo-btn:hover {
  color: #1e4a35;
}

.eg-cart-undo-dismiss {
  background: none;
  border: none;
  color: #9ca3af;
  font-size: 1.2em;
  cursor: pointer;
  padding: 4px;
  line-height: 1;
}

.eg-cart-undo-dismiss:hover {
  color: #6b7280;
}

.eg-cart-undo-loading {
  opacity: 0.6;
  pointer-events: none;
}

/* Shown when a remove click didn't take effect (cached response, etc.) */
.eg-cart-remove-failed {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin: 0 0 12px;
  font-size: 0.875rem;
}

.eg-cart-remove-failed-text {
  flex: 1;
  font-weight: 500;
}

.eg-cart-remove-failed-refresh {
  background: none;
  border: 1px solid currentColor;
  color: inherit;
  font-weight: 600;
  cursor: pointer;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 0.8125rem;
}

.eg-cart-remove-failed-refresh:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  .eg-cart-undo-notice {
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 12px;
  }

  .eg-cart-remove-failed {
    flex-wrap: wrap;
    gap: 8px;
  }
}

/* Adjust column widths without price column */
.woocommerce-cart-form .shop_table .product-remove {
  width: 50px !important;
}

.woocommerce-cart-form .shop_table .product-thumbnail {
  width: 80px !important;
}

.woocommerce-cart-form .shop_table .product-name {
  width: auto !important;
  min-width: 0 !important; /* Let table-layout: fixed govern sizing on mobile */
}

.woocommerce-cart-form .shop_table .product-subtotal {
  width: 120px !important;
}

/* ========================================
   MINIMAL ITEM NOTES - MUCH CLEANER
   ======================================== */

.cce-item-note details {
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
}

.cce-item-note summary {
  list-style: none !important;
  cursor: pointer !important;
  display: inline-block !important;
  padding: 4px 8px !important;
  background: #f3f4f6 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #4b5563 !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.cce-item-note summary:hover {
  background: #e5e7eb !important;
  color: #1f2937 !important;
  border-color: #9ca3af !important;
}

/* Remove all arrows and indicators */
.cce-item-note summary::-webkit-details-marker {
  display: none !important;
}

.cce-item-note summary::marker {
  display: none !important;
}

.cce-item-note-toggle::after {
  display: none !important;
}

/* Simple content area */
.cce-item-note details > div {
  margin-top: 6px !important;
  padding: 8px !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 4px !important;
}

.cce-item-note label {
  display: block !important;
  font-size: 12px !important;
  margin-bottom: 4px !important;
  font-weight: 500 !important;
  color: #374151 !important;
}

.cce-item-note textarea {
  width: 100% !important;
  height: 50px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 4px !important;
  padding: 6px 8px !important;
  font-size: 13px !important;
  resize: vertical !important;
}

/* ========================================
   CHECKOUT PAGE IMPROVEMENTS
   ======================================== */

/* Checkout product display - handled in dedicated section below */

.checkout-thumb,
.checkout-product-details .product-thumb {
  flex: 0 0 64px !important;
  max-width: 64px !important;
}

.checkout-thumb img,
.checkout-product-details img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  display: block !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
}

.checkout-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.checkout-info .product-brand,
.checkout-product-details .product-brand,
.product-details .product-brand {
  font-size: 0.8rem !important;
  font-style: italic !important;
  color: #4b5563 !important;
  letter-spacing: 0.3px !important;
  display: block !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.checkout-info .product-name,
.checkout-product-details .product-name,
.product-details .product-name {
  display: block !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

.checkout-info .product-quantity,
.woocommerce-checkout-review-order-table strong.product-quantity {
  display: none !important; /* HIDE: Quantity already shown inline with product name */
}

/* Clean checkout columns */
.cce-checkout-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
  margin-bottom: 30px !important;
  width: 100% !important; /* Safari: force full width so two columns layout correctly */
  max-width: 100% !important;
  min-width: 0 !important; /* Safari: allow flex container to size correctly inside flex parents */
  box-sizing: border-box !important;
}

/* Checkout columns - balanced (desktop: two columns) */
.cce-checkout-col-1,
.cce-checkout-col-2 {
  width: calc(50% - 15px) !important;
  min-width: 0 !important; /* Allow shrinking below 300px */
  flex: 1 1 calc(50% - 15px) !important;
  box-sizing: border-box !important; /* Safari: consistent sizing with gap */
}

.cce-checkout-col-2 {
  padding: 10px !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 34px rgba(23, 43, 38, 0.05) !important;
}

.cce-checkout-col-2 > *,
.cce-checkout-col-2 #order_review,
.cce-checkout-col-2 .woocommerce-checkout-review-order,
.cce-checkout-col-2 .cce-checkout-coupon,
.cce-checkout-col-2 .square-gift-card-wrapper,
.cce-checkout-col-2 .cce-fulfillment-choice,
.cce-checkout-col-2 .cce-fulfillment-compact-summary {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.cce-checkout-col-2 > h3 {
  margin: 0 0 18px !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em !important;
}

/* Stack checkout columns on tablet/mobile — content stays centered with breathing room */
@media (max-width: 768px) {
  .cce-checkout-columns {
    flex-direction: column !important;
    gap: 20px !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    padding: 0 1rem !important;
    box-sizing: border-box !important;
  }

  .cce-checkout-col-1,
  .cce-checkout-col-2 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Visual separator between billing form and order summary */
  .cce-checkout-col-2 {
    margin-top: 28px !important;
    padding-top: 24px !important;
    border-top: 2.5px solid #d1d5db !important;
  }

  /* Section headings as clear markers */
  .woocommerce-checkout #customer_details h3,
  .woocommerce-billing-fields h3 {
    font-size: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #6b7280 !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
  }

  /* Breathing room between form fields */
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
    margin-bottom: 10px !important;
  }
}

/* Cart columns - wider left for quantity editing */
.cce-cart-columns {
  display: flex !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
}

/* Default: Two columns for tablet/desktop */
.cce-cart-col-1 {
  width: calc(65% - 10px) !important;
  flex: 0 0 calc(65% - 10px) !important;
  max-width: calc(65% - 10px) !important;
  min-width: 0 !important;
}

.cce-cart-col-2 {
  width: calc(35% - 10px) !important;
  flex: 0 0 calc(35% - 10px) !important;
  max-width: calc(35% - 10px) !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important; /* Prevent children from overflowing */
}

/* Remove padding from cart-collaterals since cce-cart-col-2 already has it */
.cce-cart-col-2 .cart-collaterals {
  padding: 0 !important;
  margin: 0 !important;
}

/* MOBILE/TABLET - stack columns at 768px (cart sidebar needs room for shipping/earthies/coupon) */
@media (max-width: 768px) {
  .cce-cart-columns {
    flex-direction: column !important;
    padding: 0 clamp(12px, 3vw, 32px) !important;
  }

  .cce-cart-col-1,
  .cce-cart-col-2 {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .cce-cart-col-2 {
    background: #f9fafb !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 16px !important;
    margin-top: 28px !important;
  }
}


/* Clean form styling */
.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  padding: 10px 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  font-size: 15px !important;
}

.woocommerce form .form-row input.input-text:focus, 
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: #3b82f6 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1) !important;
}

/* Form labels */
.woocommerce form .form-row label {
  margin-bottom: 6px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  font-size: 14px !important;
}

/* Hide raw WooCommerce shipping methods on checkout - we show custom cards instead */
/* Show shipping cost in checkout totals - user needs to see the charge */
.woocommerce-checkout .woocommerce-shipping-totals {
  display: table-row !important;
}

/* But hide the shipping METHOD selection (radio buttons) - we use fulfillment cards */
.woocommerce-checkout .woocommerce-shipping-totals ul.woocommerce-shipping-methods {
  display: none !important;
}

/* Just show the label and cost */
.woocommerce-checkout .woocommerce-shipping-totals th,
.woocommerce-checkout .woocommerce-shipping-totals td {
  display: table-cell !important;
}

/* Hide default coupon field below cart table - we show it in totals instead */
.woocommerce-cart .actions .coupon {
  display: none !important;
}

/* Hide native WooCommerce shipping row in cart — replaced by custom eg-fulfillment-line-item */
.woocommerce-cart .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals,
.woocommerce-cart .cart_totals tr.shipping {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Ensure underlying inputs remain in DOM for functionality on checkout */
.woocommerce-checkout .woocommerce-shipping-totals input[type="radio"],
.woocommerce-checkout .woocommerce-shipping-totals input[type="hidden"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Make shipping methods visually clear */
ul.woocommerce-shipping-methods {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 12px 0 !important;
}

ul.woocommerce-shipping-methods li {
  display: list-item !important;
  margin-bottom: 8px !important;
  padding: 8px !important;
  background: #f9fafb !important;
  border-radius: 4px !important;
}

ul.woocommerce-shipping-methods input[type="radio"] {
  margin-right: 8px !important;
}

ul.woocommerce-shipping-methods label {
  font-weight: 500 !important;
  cursor: pointer !important;
}

/* Fulfillment choice block - Clean, minimal container */
.cce-fulfillment-choice {
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 20px !important;
  background: transparent !important;
}

.cce-fulfillment-choice.has-error .cce-fulfillment-options {
  border-color: #f87171 !important;
  box-shadow: 0 0 0 2px rgba(248, 113, 113, 0.15) !important;
}

.cce-fulfillment-choice__title {
  margin: 0 0 4px 0 !important;
  padding: 0 12px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0f4c3a !important; /* Dark forest green */
  box-sizing: border-box !important;
}

.cce-fulfillment-choice__intro {
  margin: 0 0 14px 0 !important;
  padding: 0 12px !important;
  color: #4b5563 !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
}

/* ===================================================================
 * ZIP CODE ELIGIBILITY CHECKER (COLLAPSIBLE)
 * =================================================================== */

.cce-zip-checker {
  margin-bottom: 16px !important;
}

/* Zip checker inside Local Delivery option */
.cce-delivery-zip-checker {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding: 10px 12px 12px !important;
  border-top: 1px solid #d9e2de !important;
}

.cce-delivery-zip-checker .cce-zip-checker__toggle {
  padding: 8px 10px !important;
  font-size: 12px !important;
  background: #f3f7f5 !important;
  border-color: #cedad4 !important;
}

.cce-delivery-zip-checker .cce-zip-checker__content {
  margin-top: 8px !important;
  border-top: 1px solid #d9e2de !important;
  border-radius: 6px !important;
}

.cce-zip-checker__helper {
  margin: 2px 0 0 0 !important;
  font-size: 12px !important;
  color: #4b5563 !important;
}

.cce-zip-checker__reset {
  margin-top: 8px !important;
  align-self: flex-start !important;
  background: #f5f8f7 !important;
  border: 1px solid #c7d5cf !important;
  color: #2f4e42 !important;
  border-radius: 6px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  width: auto !important;
}

.cce-zip-checker__reset:hover {
  background: #ebf2ef !important;
  border-color: #b9cbc2 !important;
}

.cce-delivery-zip-checker .cce-zip-checker__reset {
  width: auto !important;
}

/* Toggle button to show/hide checker - Brand sage/mint colors */
.cce-zip-checker__toggle {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  background: #f3f7f5 !important;
  border: 1px solid #cedad4 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2e4a40 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: left !important;
  font-family: brandon-grotesque, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

.cce-zip-checker__toggle:hover {
  background: #ebf2ef !important;
  border-color: #b9cbc2 !important;
}

.cce-zip-checker__toggle-icon {
  font-size: 14px !important;
  flex-shrink: 0 !important;
}

.cce-zip-checker__toggle-arrow {
  font-size: 10px !important;
  color: #4a665b !important;
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}

/* Collapsible content area - Brand colors */
.cce-zip-checker__content {
  display: none;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 12px !important;
  background: #f7faf8 !important;
  border: 1px solid #d9e2de !important;
  border-top: none !important;
  border-radius: 0 0 8px 8px !important;
  margin-top: -6px !important;
}

.cce-zip-checker__input-group {
  display: flex !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.cce-zip-checker__input {
  flex: 0 1 120px !important; /* Can shrink if container is narrow */
  padding: 10px 14px !important;
  border: 1px solid #cad7d1 !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-align: center !important;
  letter-spacing: 1px !important;
  background: #fff !important;
  transition: all 0.2s ease !important;
}

.cce-zip-checker__input:focus {
  outline: none !important;
  border-color: #8ea79c !important;
  box-shadow: 0 0 0 2px rgba(95, 129, 114, 0.14) !important;
}

.cce-zip-checker__button {
  flex: 1 !important;
  padding: 10px 18px !important;
  background: #e8f0ec !important;
  color: #2d493f !important;
  border: 1px solid #c3d2ca !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  font-family: brandon-grotesque, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

.cce-zip-checker__button:hover {
  background: #dde9e3 !important;
  border-color: #aec2b8 !important;
  color: #1e3a31 !important;
}

.cce-zip-checker__button:disabled {
  background: #eff4f1 !important;
  border-color: #d6dfda !important;
  color: #8b9892 !important;
  cursor: not-allowed !important;
}

.cce-zip-checker__result {
  display: none;
  margin-top: 8px !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.cce-zip-result--success {
  background: #eef7f2 !important;
  color: #2d4f41 !important;
  border-left: 3px solid #77a58f !important;
  padding: 10px 12px !important;
  display: block !important;
}

.cce-zip-result--warning {
  background: #f7f5ee !important;
  color: #5d5431 !important;
  border-left: 3px solid #c2ad6a !important;
  padding: 10px 12px !important;
  display: block !important;
}

.cce-zip-result--error {
  background: #faf1f0 !important;
  color: #613432 !important;
  border-left: 3px solid #c48782 !important;
  padding: 10px 12px !important;
  display: block !important;
}

.cce-delivery-availability {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 6px 10px !important;
  margin: 0 14px 14px !important;
  padding: 10px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #e2ece7 !important;
  border-radius: 0 !important;
}

.cce-delivery-availability__text {
  margin: 0 !important;
  font-size: 13px !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
}

.cce-delivery-availability__button {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #2c5e54 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-family: brandon-grotesque, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em !important;
}

.cce-delivery-availability__button:hover {
  color: #1f7a73 !important;
}

.cce-delivery-availability__button:focus-visible {
  outline: 1px solid #8ea79c !important;
  outline-offset: 2px !important;
}

/* Mobile responsive for zip checker */
@media (max-width: 480px) {
  .cce-zip-checker__input-group {
    flex-direction: column !important;
  }
  
  .cce-zip-checker__input {
    flex: 1 !important;
  }
}

/* Pulse animation for new delivery option */
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
  }
}

.cce-fulfillment-options {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.cce-fulfillment-option {
  position: relative !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 8px !important;
  transition: all 0.2s ease;
  background: #fff !important;
}

/* Explicit unselected state */
.cce-fulfillment-option:not(.is-selected) {
  background: #fff !important;
  border-color: #d1d5db !important;
  border-width: 1.5px !important;
}

.cce-fulfillment-option--disabled {
  background: #f3f4f6 !important;
  border-color: #d1d5db !important;
}

.cce-fulfillment-option--disabled:hover {
  background: #f3f4f6 !important;
  border-color: #d1d5db !important;
}

.cce-fulfillment-option--disabled label {
  cursor: default !important;
}

.cce-fulfillment-option--disabled .cce-fulfillment-option__title {
  color: #6b7280 !important; /* Intentionally muted — disabled state */
}

.cce-fulfillment-option:not(.is-selected):hover {
  border-color: #6b7280 !important;
  background: #f9fafb !important;
}

.cce-fulfillment-option input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  clip: rect(0, 0, 0, 0) !important;
  overflow: hidden !important;
}

.cce-fulfillment-option label {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 14px !important;
  cursor: pointer !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

.cce-fulfillment-option__title {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #111827 !important;
  line-height: 1.4 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

/* Radio circle indicator for unselected options */
.cce-fulfillment-option:not(.is-selected) .cce-fulfillment-option__title::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #d1d5db !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.cce-fulfillment-option__description {
  display: block !important;
  font-size: 13px !important;
  color: #4b5563 !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  margin-top: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
  text-wrap: pretty !important;
}

.cce-fulfillment-option__rates {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.cce-fulfillment-option__rate {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  font-size: 13px !important;
  color: #4b5563 !important;
  background: #f3f4f6 !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 5px 10px !important;
  font-weight: 500 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.cce-fulfillment-option.is-selected .cce-fulfillment-option__rate {
  color: #2c5e54 !important;
  background: rgba(255, 255, 255, 0.45) !important;
}

.cce-fulfillment-option.is-selected {
  border-color: #a5ccbc !important;
  border-width: 1.5px !important;
  border-left: 4px solid #2c5e54 !important;
  background: linear-gradient(135deg, #f0f8f6 0%, #ebf1ee 50%, #edf4f6 100%) !important;
  box-shadow: 0 0 0 2px #bfe2dc !important;
}

/* Selected option title styling */
.cce-fulfillment-option.is-selected .cce-fulfillment-option__title {
  color: #2c5e54 !important;
}

/* Green filled circle with white checkmark for selected option */
.cce-fulfillment-option.is-selected .cce-fulfillment-option__title::before {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #2c5e54 !important;
  border-radius: 50% !important;
  background: #2c5e54 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  margin-right: 0 !important;
}

/* Checkout page fulfillment styling - same brand colors */
.woocommerce-checkout .cce-fulfillment-option.is-selected {
  border-color: #a5ccbc !important;
  border-width: 1.5px !important;
  border-left: 4px solid #2c5e54 !important;
  background: linear-gradient(135deg, #f0f8f6 0%, #ebf1ee 50%, #edf4f6 100%) !important;
  box-shadow: 0 0 0 2px #bfe2dc !important;
}

/* Delivery schedule note — always visible in both active and inactive states */
.cce-fulfillment-option__schedule-note {
  display: block !important;
  font-size: 12px !important;
  color: #52796f !important;
  font-style: italic !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* Cost shown inline in the option title */
.cce-fulfillment-option__title-cost {
  font-weight: 600 !important;
  color: #2c5e54 !important;
  font-size: 0.9em !important;
}

.cce-fulfillment-choice__error {
  display: none !important;
  margin: 0 0 10px 0 !important;
  color: #b91c1c !important;
  font-weight: 600 !important;
}

.cce-fulfillment-choice.has-error .cce-fulfillment-choice__error {
  display: block !important;
}

.cce-address-feedback {
  display: none;
  position: relative;
  z-index: 5;
  margin: 0 0 18px 0;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #d3ddd8;
  border-left-width: 4px;
  background: #f5f8f7;
  color: #25443a;
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 100px)) + 32px);
}

.cce-address-feedback.is-error {
  border-color: #b91c1c;
  background: #fef2f2;
  color: #7f1d1d;
  border-left-width: 6px;
}

.cce-address-feedback.is-warning {
  border-color: #dcc08a;
  background: #faf5e8;
  color: #5f4720;
}

/* Blocking states (Place Order is held until the customer acts) get a much
   louder treatment so the panel reads as "do this now," not a passive tip.
   This applies on top of is-warning or is-error and wins via specificity. */
.cce-address-feedback.is-blocking {
  border: 2px solid #c2410c;
  border-left-width: 6px;
  background: #fff7ed;
  color: #7c2d12;
  box-shadow: 0 4px 14px rgba(194, 65, 12, 0.14);
  animation: cce-address-feedback-pulse 1.4s ease-out 1;
}

.cce-address-feedback.is-blocking.is-error {
  border-color: #b91c1c;
  background: #fef2f2;
  color: #7f1d1d;
  box-shadow: 0 4px 14px rgba(185, 28, 28, 0.18);
}

@keyframes cce-address-feedback-pulse {
  0% { box-shadow: 0 0 0 0 rgba(194, 65, 12, 0.35); }
  60% { box-shadow: 0 0 0 10px rgba(194, 65, 12, 0); }
  100% { box-shadow: 0 4px 14px rgba(194, 65, 12, 0.14); }
}

@media (prefers-reduced-motion: reduce) {
  .cce-address-feedback.is-blocking {
    animation: none;
  }
}

.cce-address-feedback__eyebrow {
  display: inline-block;
  margin-bottom: 8px;
  padding: 3px 9px;
  border-radius: 999px;
  background: #c2410c;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  line-height: 1.4;
}

.cce-address-feedback.is-blocking.is-error .cce-address-feedback__eyebrow {
  background: #b91c1c;
}

.cce-address-feedback__message {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.cce-address-feedback__fields {
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.5;
  color: #5f4720;
}

.cce-address-feedback__comparison {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.cce-address-feedback__card {
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #d3ddd8;
  background: #f8fbf9;
}

.cce-address-feedback__card--suggested {
  border-color: #dcc08a;
  background: #fcf7eb;
}

.cce-address-feedback__card-label {
  margin-bottom: 6px;
  color: #6a6252;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.cce-address-feedback__card-value {
  color: #233930;
  font-size: 14px;
  line-height: 1.55;
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.cce-address-feedback__actions {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}

.cce-address-feedback__button {
  flex: 1 1 220px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 8px;
  font-weight: 700;
}

.cce-address-feedback__button--secondary {
  background: #fff !important;
  border: 1px solid #c8d4cf !important;
  color: #25443a !important;
}

.cce-address-feedback__button--primary {
  background: #bfe2dc !important;
  border-color: #a5ccbc !important;
  color: #0f4c3a !important;
}

.cce-address-feedback__button--primary:hover,
.cce-address-feedback__button--primary:focus-visible {
  background: #d3eeea !important;
  border-color: #8aa79d !important;
}

.cce-address-feedback__button--secondary:hover,
.cce-address-feedback__button--secondary:focus-visible {
  border-color: #aab8b2 !important;
  background: #f9fbfa !important;
}

.woocommerce-checkout .form-row.cce-address-field-has-error input,
.woocommerce-checkout .form-row.cce-address-field-has-error select,
.woocommerce-checkout .form-row.cce-address-field-has-error textarea {
  border-color: #8b0000 !important;
  box-shadow: 0 0 0 2px rgba(139, 0, 0, 0.12) !important;
}

.woocommerce-checkout .form-row.cce-address-field-has-error label {
  color: #8b0000 !important;
}

@media (min-width: 640px) {
  .cce-address-feedback__comparison {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .cce-address-feedback {
    padding: 14px;
  }

  .cce-address-feedback.is-blocking {
    padding: 16px 14px;
  }

  .cce-address-feedback__eyebrow {
    margin-bottom: 10px;
    padding: 4px 10px;
    font-size: 11px;
  }

  .cce-address-feedback__message {
    font-size: 15px;
  }

  .cce-address-feedback__comparison {
    gap: 8px;
  }

  .cce-address-feedback__card {
    padding: 10px 12px;
  }

  .cce-address-feedback__actions {
    gap: 8px;
  }

  .cce-address-feedback__button {
    flex-basis: 100%;
    width: 100%;
    min-height: 52px;
  }
}

.cce-address-validation-notice {
  display: none !important;
}

.cce-fulfillment-choice,
#cce-fulfillment-feedback {
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 100px)) + 32px) !important;
}

/* Single option mode - informational display */
.cce-fulfillment-choice.cce-single-option-mode {
  background: #f0f9f4 !important;
  border-color: #1e4a35 !important;
}

.cce-fulfillment-choice.cce-single-option-mode .cce-fulfillment-intro {
  color: #1e4a35 !important;
  font-weight: 500 !important;
}

.cce-fulfillment-choice.cce-single-option-mode .cce-fulfillment-option {
  background: #e6e9d7 !important;
  border-color: #1e4a35 !important;
  cursor: default !important;
}

.cce-fulfillment-choice.cce-single-option-mode .cce-fulfillment-option__title::before {
  content: "✓" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border: 2px solid #1e4a35 !important;
  border-radius: 50% !important;
  background: #1e4a35 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

/* Stack vertically - full width boxes */
.cce-fulfillment-options {
  flex-direction: column !important;
}

.cce-fulfillment-option {
  width: 100% !important;
}

/* Shipping checkbox */
#ship-to-different-address {
  background: #f9fafb !important;
  padding: 12px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  margin: 20px 0 !important;
}

/* Cart totals - Clean, no extra box (sidebar is the container) */
.cart_totals {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

.cart_totals h2 {
  display: none !important; /* Hide "Cart totals" heading - redundant in sidebar context */
}

/* Cart totals table - clean styling */
.cart_totals table {
  border: none !important;
  background: transparent !important;
}

.cart_totals table th,
.cart_totals table td {
  padding: 8px 0 !important;
  border: none !important;
  border-bottom: 1px solid #d5ddd8 !important;
  color: #374151 !important;
  font-size: 14px !important;
}

.cart_totals table tr:last-child th,
.cart_totals table tr:last-child td {
  border-bottom: none !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #0f4c3a !important; /* Dark forest green */
  padding-top: 12px !important;
}

/* Hide "estimated for the United States (US)" — US-only store */
.cart_totals .tax-rate th small,
.woocommerce-checkout-review-order-table .tax-rate th small,
.cart_totals .order-total .includes_tax {
  display: none !important;
}

/* Coupon row styling */
.cart_totals .coupon-label-row th {
  padding: 8px 8px !important;
  text-align: left !important;
  font-weight: 600 !important;
}

.cart_totals .coupon-form-row td {
  padding: 8px !important;
}

/* Unified styling for gift card + coupon sections (cart AND checkout) */
.cce-cart-coupon-wrapper,
.woocommerce-cart .square-gift-card-wrapper,
.woocommerce-checkout .square-gift-card-wrapper {
  margin-bottom: 16px !important;
  padding: 16px !important;
  background: #f9fafb !important;
  border-radius: 8px !important;
  border: none !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-cart-coupon-title,
.woocommerce-cart .square-gift-card-wrapper > h3,
.woocommerce-checkout .square-gift-card-wrapper > h3 {
  margin: 0 0 10px 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-cart-coupon-wrapper input[name="coupon_code"],
.woocommerce-cart .square-gift-card-wrapper input[type="text"],
.woocommerce-checkout .square-gift-card-wrapper input[type="text"] {
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}

.cce-cart-coupon-wrapper button[name="apply_coupon"],
.woocommerce-cart .square-gift-card-wrapper button,
.woocommerce-checkout .square-gift-card-wrapper button:not(.square-remove-gift-card) {
  width: 100% !important;
  padding: 10px 20px !important;
  border-radius: 6px !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  background: #e8f4ee !important;
  color: #1e4a35 !important;
  border: 1.5px solid #a5ccbc !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.cce-cart-coupon-wrapper button[name="apply_coupon"]:hover,
.woocommerce-cart .square-gift-card-wrapper button:hover,
.woocommerce-checkout .square-gift-card-wrapper button:not(.square-remove-gift-card):hover {
  background: #d5e8de !important;
  border-color: #2b5d4b !important;
  color: #0f4c3a !important;
}

.cart_totals .coupon-form-row .coupon {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
}

/* Coupon form container (cart & checkout) */
.cart_totals .coupon-form-row,
.cce-cart-coupon-wrapper form,
.apply-coupon-form,
.woocommerce-checkout #order_review .checkout-coupon-form,
.woocommerce-checkout-review-order-table .coupon-row form {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* Cart coupon row: stacked layout matching gift card section */
.cce-cart-coupon-wrapper .apply-coupon-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.cce-cart-coupon-feedback {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px;
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 100px)) + 28px);
}

.cce-cart-coupon-feedback > .woocommerce-error,
.cce-cart-coupon-feedback > .woocommerce-message,
.cce-cart-coupon-feedback > .woocommerce-info,
.cce-cart-coupon-feedback > .is-error,
.cce-cart-coupon-feedback > .is-info,
.cce-cart-coupon-feedback > .is-success,
.cce-cart-coupon-feedback > .coupon-error-notice {
  margin: 0 !important;
}

/* Checkout gift card form: stacked layout matching cart */
.woocommerce-checkout .square-gift-card-wrapper .square-gift-card-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Hide the redundant label inside checkout gift card form */
.woocommerce-checkout .square-gift-card-wrapper .square-gift-card-form label {
  display: none !important;
}

/* Remove the wrapper div around the input in checkout gift card */
.woocommerce-checkout .square-gift-card-wrapper .square-gift-card-form > div {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
}

.woocommerce-checkout #order_review form.checkout_coupon .form-row,
.woocommerce-checkout form.checkout_coupon .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout #order_review form.checkout_coupon .form-row-first,
.woocommerce-checkout form.checkout_coupon .form-row-first {
  flex: none !important;
  width: 100% !important;
}

.woocommerce-checkout #order_review form.checkout_coupon .form-row-last,
.woocommerce-checkout form.checkout_coupon .form-row-last {
  flex: none !important;
  width: 100% !important;
}

/* Quiet checkout coupon disclosure above the order-review table */
.woocommerce-checkout .cce-checkout-coupon {
  margin: 0 0 16px !important;
  padding: 14px !important;
  background: #f9fafb !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.woocommerce-checkout .cce-checkout-coupon__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.woocommerce-checkout .cce-checkout-coupon:not(.cce-checkout-coupon--applied) .cce-checkout-coupon__header {
  cursor: pointer !important;
}

.woocommerce-checkout .cce-checkout-coupon__toggle {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #27493f !important;
  cursor: pointer !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.woocommerce-checkout .cce-checkout-coupon .cce-checkout-coupon__toggle {
  display: flex !important;
}

.woocommerce-checkout .cce-checkout-coupon__title-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.woocommerce-checkout .cce-checkout-coupon__eyebrow {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
}

.woocommerce-checkout .cce-checkout-coupon__title {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #24323d !important;
}

.woocommerce-checkout .cce-checkout-coupon__arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 999px !important;
  background: #eef6f2 !important;
  border: 1px solid #d6e5de !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  color: #2c5e54 !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.woocommerce-checkout .cce-checkout-coupon__status {
  flex: 0 0 auto !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #eef6f2 !important;
  color: #2c5e54 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.woocommerce-checkout .cce-checkout-coupon__message {
  margin: 10px 0 0 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #5b6570 !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-checkout .cce-checkout-coupon .cce-checkout-coupon__panel {
  display: none !important;
  margin: 10px 0 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-checkout-coupon .cce-checkout-coupon__panel[hidden] {
  display: none !important;
}

.woocommerce-checkout .cce-checkout-coupon.is-open .cce-checkout-coupon__panel {
  display: block !important;
}

.woocommerce-checkout .cce-checkout-coupon form.checkout_coupon.woocommerce-form-coupon {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-checkout-coupon form.checkout_coupon.woocommerce-form-coupon::before {
  display: none !important;
  content: none !important;
}

.woocommerce-checkout .cce-checkout-coupon__form-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-checkout-coupon form.checkout_coupon input[name="coupon_code"] {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
}

.woocommerce-checkout .cce-checkout-coupon form.checkout_coupon button[name="apply_coupon"] {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  padding: 10px 16px !important;
  background: #e8f4ee !important;
  color: #1e4a35 !important;
  border: 1.5px solid #a5ccbc !important;
  font-weight: 600 !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

.woocommerce-checkout .cce-checkout-coupon form.checkout_coupon button[name="apply_coupon"]:hover {
  background: #d5e8de !important;
  border-color: #2b5d4b !important;
  color: #0f4c3a !important;
}

.woocommerce-checkout .cce-checkout-earthies-note {
  display: block !important;
  clear: both !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid #d6e5de !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-checkout-earthies-link {
  display: inline-block !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #60707a !important;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  font-family: inherit !important;
  cursor: pointer !important;
  text-wrap: pretty !important;
  vertical-align: top !important;
  line-height: 1.45 !important;
}

.woocommerce-checkout .cce-checkout-earthies-link:hover {
  color: #2c5e54 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.14em !important;
}

.woocommerce-checkout .cce-checkout-earthies-link sup {
  font-size: 0.65em !important;
  line-height: 0 !important;
}

.woocommerce-checkout .cce-checkout-earthies-globe {
  display: inline-block !important;
  font-size: 1em !important;
}

.woocommerce-checkout .cce-checkout-earthies-panel {
  margin-top: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-checkout-earthies-panel[hidden] {
  display: none !important;
}

.woocommerce-checkout .cce-checkout-earthies-panel .el-quick-redemption-widget-compact {
  margin: 0 !important;
}

.woocommerce-checkout .square-gift-card-row__cell {
  padding: 10px 0 0 !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.woocommerce-checkout .cce-checkout-gift-card__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.woocommerce-checkout .cce-checkout-gift-card__toggle {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #27493f !important;
  cursor: pointer !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.woocommerce-checkout .cce-checkout-gift-card__title-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.woocommerce-checkout .cce-checkout-gift-card__eyebrow {
  display: block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #6b7280 !important;
}

.woocommerce-checkout .cce-checkout-gift-card__title {
  display: block !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #24323d !important;
}

.woocommerce-checkout .cce-checkout-gift-card__arrow,
.woocommerce-checkout .cce-checkout-gift-card__status {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #eef6f2 !important;
  border: 1px solid #d6e5de !important;
  color: #2c5e54 !important;
}

.woocommerce-checkout .cce-checkout-gift-card__arrow {
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.woocommerce-checkout .cce-checkout-gift-card__status {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.woocommerce-checkout .cce-checkout-gift-card__panel {
  display: none !important;
  margin: 10px 0 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-checkout-gift-card__panel[hidden] {
  display: none !important;
}

.woocommerce-checkout .cce-checkout-gift-card.is-open .cce-checkout-gift-card__panel {
  display: block !important;
}

.woocommerce-checkout .cce-checkout-gift-card__message {
  margin: 0 0 10px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #60707a !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper .square-gift-card-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper .square-gift-card-form > div {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper .square-gift-card-form label {
  display: none !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper input[name="square_gift_card_gan"] {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  padding: 11px 13px !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper input[name="square_gift_card_gan"]::placeholder {
  color: #9ca3af !important;
  font-style: italic !important;
  opacity: 1 !important;
}

.woocommerce-checkout .cce-checkout-gift-card.square-gift-card-wrapper button.square-lookup-gift-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  padding: 11px 16px !important;
}

.woocommerce-checkout .cce-checkout-gift-card__applied {
  margin-top: 10px !important;
  padding: 12px !important;
  background: #eef7f1 !important;
  border: 1px solid #b9d6c9 !important;
  border-radius: 12px !important;
}

.woocommerce-checkout .cce-checkout-gift-card__applied-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.woocommerce-checkout .cce-checkout-gift-card__applied-copy {
  flex: 1 1 220px !important;
  min-width: 0 !important;
}

.woocommerce-checkout .cce-checkout-gift-card__applied-title {
  display: block !important;
  margin: 0 !important;
  color: #1f5e49 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.woocommerce-checkout .cce-checkout-gift-card__applied-detail {
  margin-top: 4px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  color: #3f6a5a !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-checkout .cce-checkout-gift-card__remove {
  width: auto !important;
  min-width: 0 !important;
  padding: 8px 12px !important;
  background: transparent !important;
  border: 1px solid #7cae9b !important;
  color: #2c5e54 !important;
}

.woocommerce-checkout .cce-checkout-gift-card .square-gift-card-message {
  display: none;
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  border-radius: 10px !important;
  overflow-wrap: anywhere !important;
}

/* Coupon input - takes maximum space (cart & checkout) */
.cart_totals .coupon-form-row input[type="text"],
.cce-cart-coupon-wrapper input[name="coupon_code"],
.apply-coupon-form input[name="coupon_code"],
.woocommerce-checkout #order_review input[name="coupon_code"],
.woocommerce-checkout-review-order-table input[name="coupon_code"],
table.shop_table input[name="coupon_code"] {
  flex: 1 1 100% !important; /* Grow to fill ALL space */
  width: 100% !important; /* Force full width */
  min-width: 0 !important; /* Let flex/width govern — no rigid minimum */
  max-width: 100% !important;
  padding: 10px 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}

.cce-cart-coupon-wrapper .apply-coupon-form input[name="coupon_code"] {
  flex: initial !important;
  width: 100% !important;
  min-width: 0 !important;
}

@media (max-width: 480px) {
  .cart_totals .coupon-form-row input[type="text"],
  .cce-cart-coupon-wrapper input[name="coupon_code"],
  .apply-coupon-form input[name="coupon_code"],
  .woocommerce-checkout #order_review input[name="coupon_code"],
  .woocommerce-checkout-review-order-table input[name="coupon_code"],
  table.shop_table input[name="coupon_code"] {
    min-width: 0 !important;
  }
}

/* Apply button styling (cart & checkout) */
.woocommerce-cart .cart_totals .coupon-form-row button,
.woocommerce-cart .cce-cart-coupon-wrapper button[name="apply_coupon"],
.woocommerce-cart .apply-coupon-form button[name="apply_coupon"] {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: max-content !important;
  white-space: nowrap !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  background: #e8f4ee !important;
  color: #1e4a35 !important;
  border: 1.5px solid #a5ccbc !important;
  letter-spacing: 0.3px !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.woocommerce-cart .cart_totals .coupon-form-row button:hover,
.woocommerce-cart .cce-cart-coupon-wrapper button[name="apply_coupon"]:hover,
.woocommerce-cart .apply-coupon-form button[name="apply_coupon"]:hover {
  background: #d5e8de !important;
  border-color: #2b5d4b !important;
  color: #0f4c3a !important;
}

.cce-cart-coupon-wrapper .apply-coupon-form button[name="apply_coupon"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 10px 16px !important;
}

.cart_totals .coupon-form-row button.apply-coupon-button {
  padding: 10px 16px !important;
  white-space: nowrap !important;
  line-height: 1.4 !important;
}

/* (Checkout coupon input/button styling now handled by unified block above) */

/* Proceed to checkout button — survey-style primary CTA */
.woocommerce a.checkout-button,
.woocommerce button.checkout-button {
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
  border: 1.5px solid #2c5e54 !important;
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  width: 100% !important;
  margin: 16px 0 !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.woocommerce a.checkout-button:hover,
.woocommerce button.checkout-button:hover {
  background: linear-gradient(135deg, #a5ccbc 0%, #bfe2dc 100%) !important;
  border-color: #2d4f3f !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* ========================================
   MOBILE OPTIMIZATIONS
   ======================================== */

/* ========================================
   RESPONSIVE BREAKPOINT STRATEGY
   Desktop (1200px+): Full table with all columns
   Tablet (751px-1199px): Compressed table, prevent overlap
   Mobile (≤750px): Hide subtotal column, show inline below quantity
   ======================================== */

/* ========================================
   RESPONSIVE CART TABLE - REVISED v2.3
   ======================================== */

/* ALL SCREEN SIZES: Always show inline subtotal, never show subtotal column */
.woocommerce-cart .eg-subtotal-in-quantity {
  display: block !important;
}

.woocommerce-cart-form .shop_table .product-subtotal {
  display: none !important;
}

/* TABLET (751px-1199px) */
@media (max-width: 1199px) and (min-width: 751px) {
  /* Maintain table layout */
  .woocommerce-cart-form table.cart {
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* Consistent column widths */
  .woocommerce-cart-form__contents thead th.product-remove,
  .woocommerce-cart-form__contents tbody td.product-remove {
    width: 10% !important;
  }

  .woocommerce-cart-form__contents thead th.product-info,
  .woocommerce-cart-form__contents tbody td.product-info {
    width: 65% !important;
  }

  .woocommerce-cart-form__contents thead th.product-quantity,
  .woocommerce-cart-form__contents tbody td.product-quantity {
    width: 25% !important;
  }

  /* Keep product info horizontal on tablets */
  .eg-cart-product-box {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  
  .eg-cart-thumbnail {
    flex-shrink: 0 !important;
  }
  
  .eg-cart-product-details {
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  /* Readable font sizes */
  .woocommerce-cart-form .product-name a {
    font-size: 14px !important;
  }
  
  .cart-item-unit-price {
    font-size: 13px !important;
  }

  /* Footer row adjustments - KEEP button and subtotal on same row */
  .eg-cart-footer-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* NEVER wrap */
    align-items: center !important;
    justify-content: space-between !important;
  }

.eg-cart-footer-content {
    flex-wrap: nowrap !important;
    width: 100% !important;
  }
}

.cce-step-continue-row {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 10px !important;
}

.cce-step-continue-btn {
  padding: 9px 14px !important;
  border-radius: 7px !important;
  border: 1px solid #2b5d4b !important;
  background: #f1f8f4 !important;
  color: #1f4a39 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.25px !important;
}

.cce-step-continue-btn:hover {
  background: #e2f0e9 !important;
}

.cce-step-2-reveal-row {
  display: flex !important;
  justify-content: flex-start !important;
  margin-top: 8px !important;
}

.cce-step-2-reveal-btn {
  padding: 9px 12px !important;
  border-radius: 8px !important;
  border: 1px solid #2b5d4b !important;
  background: #f6fbf8 !important;
  color: #1f4a39 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  width: 100% !important;
  text-align: center !important;
}

.cce-step-2-reveal-btn:hover {
  background: #e8f4ee !important;
}

body.woocommerce-cart.cce-step-2-expanded #cce-cart-step-2 .cce-step-2-reveal-row {
  display: none !important;
}

body.woocommerce-cart.cce-step-2-collapsed #cce-cart-step-2 .cce-fulfillment-choice,
body.woocommerce-cart.cce-step-2-collapsed #cce-cart-step-2 .eg-cart-local-only-summary {
  display: none !important;
}

/* Hide fulfillment line only when step 2 is collapsed AND no method is selected */
body.woocommerce-cart.cce-step-2-collapsed:not(.cce-fulfillment-selected) .eg-fulfillment-line-item {
  display: none !important;
}

body.woocommerce-cart.cce-step-2-collapsed .eg-what-happens-next,
body.woocommerce-cart.cce-step-2-collapsed .cce-checkout-fulfillment-status {
  display: none !important;
}

#cce-cart-step-2.cce-step-attention {
  border-radius: 10px !important;
  box-shadow: 0 0 0 3px rgba(15, 76, 58, 0.16) !important;
}

/* Cart simplified: shipping default + "Local? Pickup/Delivery" reveal */
.cce-cart-simplified .cce-fulfillment-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cce-cart-local-reveal-wrap {
  margin-top: 10px;
}
.cce-cart-local-reveal-btn .cce-btn-icon {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}
.woocommerce-cart button.cce-cart-local-reveal-btn.cce-cart-local-reveal-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding: 10px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1e4a35 !important;
  background: #e8f4ee !important;
  border: 1.5px solid #a5ccbc !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
  text-align: center !important;
  text-transform: none !important;
  letter-spacing: 0.3px !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
}
.woocommerce-cart button.cce-cart-local-reveal-btn.cce-cart-local-reveal-btn:hover {
  background: #d5e8de !important;
  border-color: #2b5d4b !important;
  color: #0f4c3a !important;
  text-decoration: none !important;
}
.woocommerce-cart button.cce-cart-local-reveal-btn.cce-cart-local-reveal-btn:focus {
  outline: 2px solid #2c5e54 !important;
  outline-offset: 2px !important;
}
.woocommerce-cart button.cce-cart-local-reveal-btn.cce-cart-local-reveal-btn[aria-expanded="true"] {
  background: #d5e8de !important;
  border-color: #2b5d4b !important;
  color: #0f4c3a !important;
}
.cce-cart-local-reveal-chevron {
  font-size: 10px;
  opacity: 0.9;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.cce-cart-local-reveal-btn[aria-expanded="true"] .cce-cart-local-reveal-chevron {
  transform: rotate(180deg);
}
.cce-cart-local-options-reveal {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e5e7eb;
}
.cce-cart-local-options-reveal[hidden] {
  display: none !important;
}
.cce-fulfillment-options--local .cce-fulfillment-option {
  margin-bottom: 4px;
}

.woocommerce-cart .cce-checkout-fulfillment-status {
  margin: 0 0 8px 0 !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cce-checkout-fulfillment-status.is-warning {
  background: #fff7ed !important;
  border: 1px solid #f59e0b !important;
  color: #7c2d12 !important;
}

.woocommerce-cart .cce-checkout-fulfillment-status.is-selected {
  background: #e8f4ee !important;
  border: 1px solid #2c5e54 !important;
  color: #1e4a35 !important;
}

/* Maintain table structure - prevent WooCommerce responsive breakpoint issues */
@media (max-width: 900px) and (min-width: 600px) {
  table.shop_table_responsive.cart {
    border-collapse: collapse !important;
    display: table !important;
  }

  table.shop_table_responsive.cart thead {
    display: table-header-group !important;
  }

  table.shop_table_responsive.cart tbody {
    display: table-row-group !important;
  }

  table.shop_table_responsive.cart tr {
    display: table-row !important;
  }

  table.shop_table_responsive.cart td,
  table.shop_table_responsive.cart th {
    display: table-cell !important;
  }

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

/* MOBILE (≤750px) */
@media (max-width: 750px) {
  /* Maintain table structure on mobile too */
  .woocommerce-cart-form table.cart {
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* Consistent column widths on mobile */
  .woocommerce-cart-form__contents thead th.product-remove,
  .woocommerce-cart-form__contents tbody td.product-remove {
    width: 12% !important;
    min-width: 36px !important;
  }

  .woocommerce-cart-form__contents thead th.product-info,
  .woocommerce-cart-form__contents tbody td.product-info {
    width: 58% !important;
    padding: 10px 6px !important;
  }

  .woocommerce-cart-form__contents thead th.product-quantity,
  .woocommerce-cart-form__contents tbody td.product-quantity {
    width: 30% !important;
    padding: 10px 6px !important;
  }

  /* Quantity cell layout */
  .woocommerce-cart-form tbody td.product-quantity {
    min-height: 120px !important;
  }

  /* Footer row - KEEP button and subtotal on SAME ROW */
  .eg-cart-footer-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* NEVER wrap */
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .eg-cart-footer-content {
    flex-wrap: nowrap !important;
    width: 100% !important;
  }

  .eg-cart-footer-content .eg-update-cart-btn {
    padding: 8px 14px !important;
    font-size: 13px !important;
  }

  .eg-cart-subtotal-summary {
    text-align: right !important;
    flex: 1 1 auto !important;
  }
  
  .eg-cart-subtotal-value {
    font-size: 15px !important;
  }
  
  /* Old 4-column classes (product-thumbnail, product-name) no longer in template.
     product-quantity still matches — defer to main column rules above. */
  
  /* Thumbnails */
  .woocommerce-cart-form .product-thumbnail img {
    width: 60px !important;
    height: 60px !important;
    display: block !important;
    margin: 0 auto !important;
  }
  
  /* Readable padding and font sizes */
  .woocommerce-cart-form table.cart tbody td {
    padding: 14px 6px !important;
    font-size: 14px !important;
  }
  
  .woocommerce-cart-form table.cart thead th {
    padding: 10px 6px !important;
    font-size: 12px !important;
  }
  
  /* Product names - readable size */
  .woocommerce-cart-form .product-name a {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
  
  .cart-item-unit-price {
    font-size: 13px !important;
    margin-top: 4px !important;
  }
  
  /* Quantity controls - keep inline */
  .woocommerce-cart-form .quantity {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
  }

  .woocommerce-cart-form .quantity input {
    width: 60px !important;
    padding: 6px 4px !important;
    font-size: 14px !important;
    text-align: center !important;
  }
  
  .woocommerce-cart-form .quantity .minus,
  .woocommerce-cart-form .quantity .plus {
    min-width: 30px !important;
    padding: 6px !important;
    font-size: 14px !important;
  }
  
  .checkout-thumb img,
  .checkout-product-details img {
    width: 52px !important;
    height: 52px !important;
  }
  
  /* Minimal item notes */
  .cce-item-note summary {
    padding: 4px 8px !important;
    font-size: 11px !important;
  }
  
  /* iOS-friendly form fields */
  .woocommerce form .form-row input.input-text, 
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select {
    padding: 12px !important;
    font-size: 16px !important; /* Prevents zoom on iOS */
  }
}

/* SMALL MOBILE (≤480px) - Compact but still readable */
@media (max-width: 480px) {
  /* Smaller thumbnails */
  .woocommerce-cart-form .product-thumbnail img {
    width: 50px !important;
    height: 50px !important;
  }

  .checkout-thumb img,
  .checkout-product-details img {
    width: 44px !important;
    height: 44px !important;
  }
  
  /* Compact padding - but not TOO cramped */
  .woocommerce-cart-form table.cart tbody td {
    padding: 10px 4px !important;
    font-size: 13px !important; /* NOT 11px - too small! */
  }

  .woocommerce-cart-form table.cart thead th {
    padding: 8px 4px !important;
    font-size: 11px !important;
  }
  
  /* Product names - still readable */
  .woocommerce-cart-form .product-name a {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .cart-item-unit-price {
    font-size: 12px !important;
  }
  
  /* Inline subtotal - readable */
  .eg-subtotal-in-quantity {
    font-size: 13px !important;
  }
  
  .eg-subtotal-in-quantity::before {
    content: none !important;
  }

  /* Quantity controls - compact but usable */
  .woocommerce-cart-form .quantity {
    gap: 3px !important;
  }
  
  .woocommerce-cart-form .quantity input {
    width: 50px !important;
    padding: 5px 2px !important;
    font-size: 13px !important;
  }
  
  .woocommerce-cart-form .quantity .minus,
  .woocommerce-cart-form .quantity .plus {
    min-width: 28px !important;
    padding: 5px !important;
    font-size: 13px !important;
  }

  /* Remove button */
  .woocommerce-cart-form .product-remove a.remove {
    width: 1.3em !important;
    height: 1.3em !important;
    line-height: 1.3 !important;
    font-size: 12px !important;
  }
  
  /* Checkout */
  .cce-checkout-col-2 {
    padding: 12px !important;
  }
  
  .checkout-item,
  .checkout-product-details {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 8px !important;
  }

  .checkout-info {
    align-items: center !important;
    text-align: center !important;
  }
}

/* ========================================
   LOADING STATES
   ======================================== */

.woocommerce-cart-form tr.updating {
  opacity: 0.6 !important;
}

.woocommerce-cart-form tr.updating:after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 20px !important;
  height: 20px !important;
  margin: -10px 0 0 -10px !important;
  border: 2px solid #3b82f6 !important;
  border-radius: 50% !important;
  border-top-color: transparent !important;
  animation: spin 1s linear infinite !important;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Hide default coupon form in cart table */
.woocommerce-cart-form .actions .coupon {
  display: none !important;
}

/* Subtle remove button styling */
.woocommerce a.remove.cce-remove {
  background: transparent !important;
  color: #9ca3af !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  border: none !important;
  text-decoration: none !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}

.woocommerce a.remove.cce-remove:hover {
  color: #dc2626 !important;
  background: transparent !important;
}

/* Default WooCommerce remove button styling for cart page */
.woocommerce-cart-form .product-remove a.remove {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 1.5em !important;
  height: 1.5em !important;
  line-height: 1.5 !important;
  border-radius: 50% !important;
  text-align: center !important;
  background: #f5f5f5 !important;
  color: #666 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  border: none !important;
  transition: all 0.2s ease !important;
  position: relative !important;
  z-index: 10 !important;
  cursor: pointer !important;
}

.woocommerce-cart-form .product-remove a.remove:hover {
  background: #dc2626 !important;
  color: #fff !important;
}

/* Show the remove column on cart page but hide it elsewhere */
.woocommerce-cart-form td.product-remove {
  display: table-cell !important;
  visibility: visible !important;
  width: 2em !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* Ensure remove column header is visible */
.woocommerce-cart-form th.product-remove {
  display: table-cell !important;
  visibility: visible !important;
}


/* ========================================
   THEME INTEGRATION
   ======================================== */

.woocommerce-cart-form,
.woocommerce-checkout,
.cce-item-note,
.cart_totals {
  font-family: brandon-grotesque, sans-serif !important;
}

/* Maintain theme button styling for other buttons */
.woocommerce a.button:not(.checkout-button),
.woocommerce button.button:not(.checkout-button) {
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
  border: 1px solid #a5ccbc !important;
}

.woocommerce a.button,
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce input.button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt {
  background-color: #d0ddd8 !important;
}

/* Keep cart table structure intact on mobile - only change overall layout */
@media (max-width: 768px) {
  /* Override WooCommerce default responsive table behavior completely */
  table.shop_table_responsive.cart {
    border-collapse: collapse !important;
  }
  
  table.shop_table_responsive.cart thead {
    display: table-header-group !important; /* Keep table header visible */
  }

  table.shop_table_responsive.cart,
  table.shop_table_responsive.cart tbody,
  table.shop_table_responsive.cart tr,
  table.shop_table_responsive.cart td {
    display: table !important; /* Maintain table structure */
  }

  table.shop_table_responsive.cart tbody {
    display: table-row-group !important;
  }

  table.shop_table_responsive.cart tr {
    display: table-row !important;
  }

  table.shop_table_responsive.cart td,
  table.shop_table_responsive.cart th {
    display: table-cell !important;
  }

  /* Remove the responsive content labels */
  table.shop_table_responsive.cart td::before {
    display: none !important;
  }

  /* Adjust table for mobile but keep table structure */
  .woocommerce-cart-form table.cart {
    width: 100% !important;
    table-layout: fixed !important;
  }

  /* Mobile-optimized column widths */
  .woocommerce-cart-form table.cart thead th.product-remove {
    width: 8% !important;
  }
  
  /* Old 4-column classes removed — defer to main column rules */

  /* Ensure remove buttons are properly sized */
  .woocommerce-cart-form .product-remove a.remove {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 1.4em !important;
    height: 1.4em !important;
    line-height: 1.4 !important;
    border-radius: 50% !important;
    text-align: center !important;
    background: #f5f5f5 !important;
    color: #666 !important;
    font-size: 12px !important;
    text-decoration: none !important;
    border: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
  }
  
  .woocommerce-cart-form .product-remove a.remove:hover {
    background: #dc2626 !important;
    color: #fff !important;
  }

  /* Smaller thumbnails but maintain aspect ratio */
  .woocommerce-cart-form .product-thumbnail img {
    width: 50px !important;
    height: 50px !important;
    object-fit: cover !important;
  }

  /* Compact table cells */
  .woocommerce-cart-form table.cart tbody td {
    padding: 8px 4px !important;
    font-size: 14px !important;
    vertical-align: middle !important;
  }

  .woocommerce-cart-form table.cart thead th {
    padding: 8px 4px !important;
    font-size: 13px !important;
  }

  /* Ensure quantity inputs are properly sized */
  .woocommerce-cart-form .quantity input {
    width: 60px !important;
    padding: 4px !important;
    font-size: 14px !important;
  }

  /* Keep product names readable */
  .woocommerce-cart-form .product-name {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  /* Compact subtotal display */
  .woocommerce-cart-form .product-subtotal {
    font-size: 13px !important;
    font-weight: 600 !important;
  }

  /* DISABLED: This was stacking cart vertically on mobile - should only apply to very small screens */
  /* Overall cart page layout - stack cart table and totals vertically */
  /* .woocommerce-cart .woocommerce {
    display: flex !important;
    flex-direction: column !important;
  }

  .woocommerce-cart-form {
    order: 1 !important;
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  .cart-collaterals {
    order: 2 !important;
    width: 100% !important;
  }

  .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
  } */
}

/* Additional override for WooCommerce responsive styles */
@media (max-width: 768px) {
  /* Ensure WooCommerce default responsive styles don't interfere */
  .woocommerce table.shop_table_responsive.cart tr {
    display: table-row !important;
    margin: 0 !important;
    border: none !important;
  }
  
  .woocommerce table.shop_table_responsive.cart tr:nth-child(2n) td {
    background: rgba(0, 0, 0, 0.025) !important;
  }
  
  .woocommerce table.shop_table_responsive.cart td {
    display: table-cell !important;
    text-align: left !important;
    border-bottom: 1px solid #e5e7eb !important;
  }
  
  .woocommerce table.shop_table_responsive.cart td:last-child {
    border-bottom: 1px solid #e5e7eb !important;
  }
  
  .woocommerce table.shop_table_responsive.cart .product-remove {
    text-align: center !important;
  }
  
  .woocommerce table.shop_table_responsive.cart .product-quantity {
    text-align: center !important;
  }
  
  .woocommerce table.shop_table_responsive.cart .product-subtotal {
    text-align: right !important;
  }
}

/* Tweak the continue shopping button */
.return-to-shop .button.wc-backward {
  padding: 8px 16px !important;
  font-size: 14px !important;
  width: auto !important;
  display: inline-block !important;
}

/* ========================================
   CART PAGE RESPONSIVE LAYOUT FIXES
   ======================================== */

/* Fix layout at 885px breakpoint - move price under product name */
@media (max-width: 885px) {
  /* Hide the price column header */
  .woocommerce-cart-form table.cart thead th.product-price {
    display: none !important;
  }
  
  /* Hide the price column in table body */
  .woocommerce-cart-form table.cart tbody td.product-price {
    display: none !important;
  }
  
  /* Show price under product name */
  .woocommerce-cart-form .product-name::after {
    content: attr(data-price) !important;
    display: block !important;
    font-size: 14px !important;
    color: #666 !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
  }
  
  /* REMOVED: Conflicting column widths - using 10%/45%/45% from main rules */
  
  /* Ensure remove buttons are visible */
  .woocommerce-cart-form .product-remove a.remove {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 14px !important;
    width: 1.2em !important;
    height: 1.2em !important;
    line-height: 1.2 !important;
  }
}

/* ========================================
   ITEM NOTES VISIBILITY CONTROL
   ======================================== */

/* Hide item notes everywhere by default */
.cce-item-note,
.cce-item-note-toggle,
details.cce-item-note,
summary.cce-item-note-toggle {
  display: none !important;
}

/* Show item notes only on cart and checkout pages */
.woocommerce-cart .cce-item-note,
.woocommerce-cart .cce-item-note-toggle,
.woocommerce-cart details.cce-item-note,
.woocommerce-cart summary.cce-item-note-toggle,
.woocommerce-checkout .cce-item-note,
.woocommerce-checkout .cce-item-note-toggle,
.woocommerce-checkout details.cce-item-note,
.woocommerce-checkout summary.cce-item-note-toggle {
  display: block !important;
}

/* Ensure item notes are hidden in mini cart specifically */
.mini-cart-panel .cce-item-note,
.mini-cart-panel .cce-item-note-toggle,
.mini-cart-panel details.cce-item-note,
.mini-cart-panel summary.cce-item-note-toggle,
.woocommerce-mini-cart .cce-item-note,
.woocommerce-mini-cart .cce-item-note-toggle,
.woocommerce-mini-cart details.cce-item-note,
.woocommerce-mini-cart summary.cce-item-note-toggle {
  display: none !important;
}

/* Ensure item notes are hidden in product loops specifically */
.woocommerce ul.products .cce-item-note,
.woocommerce ul.products .cce-item-note-toggle,
.woocommerce .products .cce-item-note,
.woocommerce .products .cce-item-note-toggle,
.archive .cce-item-note,
.archive .cce-item-note-toggle,
.shop .cce-item-note,
.shop .cce-item-note-toggle,
.single-product .cce-item-note,
.single-product .cce-item-note-toggle {
  display: none !important;
}

/* Show item notes on single product pages (for the single product note field) */
.single-product .woocommerce-tabs .cce-item-note,
.single-product .woocommerce-tabs .cce-item-note-toggle,
.single-product .single-product-summary .cce-item-note,
.single-product .single-product-summary .cce-item-note-toggle {
  display: block !important;
}

@media (max-width: 900px) {
  .woocommerce-cart-form table.cart td.actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
  }

  .woocommerce-cart-form table.cart td.actions > * {
    width: 100% !important;
    max-width: 240px !important;
    float: none !important;
  }

  .woocommerce-cart-form table.cart td.actions .button {
    margin-left: auto !important;
  }
}

@media (max-width: 540px) {
  .woocommerce-cart-form table.cart td.actions {
    align-items: stretch !important;
  }

  .woocommerce-cart-form table.cart td.actions > * {
    max-width: none !important;
  }

  .woocommerce-cart-form table.cart td.actions .button {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

@media only screen and (max-width: 800px) {
  .woocommerce #content table.cart td.actions .button,
  .woocommerce table.cart td.actions .button,
  .woocommerce-page #content table.cart td.actions .button,
  .woocommerce-page table.cart td.actions .button {
    display: block;
    width: 100%;
    max-width: 240px;
    float: none;
    margin-left: auto;
  }
}

.woocommerce-cart td.product-name dl.variation dd {
    display: none;
}

.woocommerce-cart td.product-name .wc-item-meta p, .woocommerce-cart td.product-name .wc-item-meta:last-child, .woocommerce-cart td.product-name dl.variation p, .woocommerce-cart td.product-name dl.variation:last-child {
    display: none;
}

/* ========================================
   CHECKOUT PAYMENT SECTION - EXPRESS & TRUST SIGNALS
   ======================================== */

/* REMOVED: Square wrapper box - now styled by parent .eg-express-checkout-section */
.woocommerce-checkout #square-wallet-buttons-wrapper {
  position: relative !important;
  padding: 0 !important;
  margin: 0 auto 12px !important;
  z-index: 1 !important;
}

/* Ensure Square buttons are centered and stacked */
.woocommerce-checkout #square-wallet-buttons-wrapper .square-wallet-buttons,
.woocommerce-checkout #square-wallet-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: center !important;
  max-width: 450px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}

/* REMOVED: PayPal box styling - now styled by parent .eg-express-checkout-section */
.woocommerce-checkout #ppc-button-ppcp-gateway {
  position: relative !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  z-index: 1 !important;
}

/* Stack PayPal buttons vertically */
.woocommerce-checkout #ppc-button-ppcp-gateway > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  max-width: 450px !important;
  margin: 0 auto !important;
}

.eg-express-checkout-label {
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2d4a35 !important;
  margin-bottom: 16px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Square wallet buttons wrapper */
#square-wallet-buttons-wrapper {
  max-width: 450px !important;
  margin: 0 auto 12px !important;
}

/* Square wallet buttons integration */
#square-wallet-buttons-wrapper .square-wallet-buttons,
.square-wallet-buttons {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: center !important;
  max-width: 450px !important;
  margin: 0 auto !important;
}

/* Ensure individual Square buttons are visible when initialized */
#square-wallet-buttons-wrapper #square-apple-pay-button,
#square-wallet-buttons-wrapper #square-google-pay-button,
.eg-express-checkout-section #square-apple-pay-button,
.eg-express-checkout-section #square-google-pay-button {
  width: 100% !important;
  max-width: 450px !important;
  height: 50px !important; /* Match PayPal/Venmo button heights */
  margin: 0 auto 8px !important; /* Consistent spacing between buttons */
  display: block !important; /* CRITICAL: block not flex - flex breaks Apple Pay clicks */
  cursor: pointer !important;
  border: none !important;
  padding: 0 !important;
  position: relative !important;
}

/* Google Pay button - pill shape to match PayPal/Venmo */
#square-wallet-buttons-wrapper #square-google-pay-button,
.eg-express-checkout-section #square-google-pay-button,
#square-wallet-buttons-wrapper-cart #square-google-pay-button,
.eg-cart-express-checkout-section #square-google-pay-button {
  background-color: #fff !important;
  border-radius: 999px !important;
  border: 1px solid #d1d5db !important;
  overflow: hidden !important;
}

/* Ensure Google Pay iframe/content fills the button and clips to pill shape */
#square-wallet-buttons-wrapper #square-google-pay-button > *,
.eg-express-checkout-section #square-google-pay-button > * {
  width: 100% !important;
  height: 100% !important;
  border-radius: 999px !important;
}

/* PayPal continuation: force Place Order button visible.
   PPCP adds .ppcp-hidden { display: none !important } but we need
   the button visible so the customer can click "Complete PayPal Order". */
body.cce-paypal-continuation-active #place_order,
body.cce-paypal-continuation-active #place_order.ppcp-hidden {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Apple Pay button - hidden by default to prevent flash on non-Apple browsers.
   JS adds cce-apple-pay-available to body when confirmed supported.
   .no-apple-pay is added to <html> immediately in wp_head before rendering. */
#square-apple-pay-button,
.square-apple-pay-button,
.no-apple-pay #square-apple-pay-button,
.no-apple-pay .square-apple-pay-button {
  display: none !important;
}

body.cce-apple-pay-available #square-apple-pay-button,
body.cce-apple-pay-available .square-apple-pay-button {
  display: block !important;
}

/* Apple Pay button - pill shape to match PayPal/Venmo */
#square-wallet-buttons-wrapper #square-apple-pay-button,
.eg-express-checkout-section #square-apple-pay-button,
#square-wallet-buttons-wrapper-cart #square-apple-pay-button,
.eg-cart-express-checkout-section #square-apple-pay-button {
  -webkit-appearance: -apple-pay-button !important;
  appearance: -apple-pay-button !important;
  -apple-pay-button-type: check-out !important;
  -apple-pay-button-style: white !important;
  border: 1px solid #d1d5db !important;
  border-radius: 999px !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Let Square decide whether Apple Pay should render; do not hide it by default. */
#square-wallet-buttons-wrapper #square-apple-pay-button,
.eg-express-checkout-section #square-apple-pay-button,
#square-wallet-buttons-wrapper-cart #square-apple-pay-button,
.eg-cart-express-checkout-section #square-apple-pay-button,
.square-apple-pay-button,
body.cce-apple-pay-available #square-wallet-buttons-wrapper #square-apple-pay-button,
body.cce-apple-pay-available .eg-express-checkout-section #square-apple-pay-button,
body.cce-apple-pay-available #square-wallet-buttons-wrapper-cart #square-apple-pay-button,
body.cce-apple-pay-available .eg-cart-express-checkout-section #square-apple-pay-button,
body.cce-apple-pay-available .square-apple-pay-button {
  width: 100% !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 auto 8px !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Explicit hidden class fallback when runtime marks it unavailable */
#square-wallet-buttons .cce-hidden-apple-pay,
#square-wallet-buttons-wrapper #square-apple-pay-button.cce-hidden-apple-pay,
.eg-express-checkout-section #square-apple-pay-button.cce-hidden-apple-pay,
#square-wallet-buttons-wrapper-cart #square-apple-pay-button.cce-hidden-apple-pay,
.eg-cart-express-checkout-section #square-apple-pay-button.cce-hidden-apple-pay,
.square-apple-pay-button.cce-hidden-apple-pay,
body.cce-apple-pay-unavailable .square-apple-pay-button {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Hide Square's own divider - we use our own */
#square-wallet-buttons-wrapper .square-wallet-divider,
.square-wallet-divider {
  display: none !important;
}

/* Chrome/non-Safari fallback: "Open on iPhone for Apple Pay" */
.cce-apple-pay-chrome-fallback {
  max-width: 450px;
  margin-left: auto;
  margin-right: auto;
}
.cce-apple-pay-chrome-fallback a {
  color: var(--cce-link-color, #1976d2);
  text-decoration: underline;
}
.cce-apple-pay-chrome-fallback a:hover {
  text-decoration: none;
}

/* PayPal & Venmo buttons wrapper */
.eg-paypal-buttons-wrapper {
  max-width: 450px !important;
  margin: 0 auto !important;
}

#ppc-button-ppcp-gateway,
#paypal-standard-container {
  max-width: 450px !important;
  margin: 12px auto 0 !important;
}

/* Ensure PayPal buttons render properly */
#ppc-button-ppcp-gateway > div,
#paypal-standard-container > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Style PayPal button containers */
.ppcp-button-wrapper,
.paypal-button-container {
  width: 100% !important;
  max-width: 450px !important;
  margin: 0 auto !important;
}

/* PayPal iframes (actual buttons) */
.eg-paypal-buttons-wrapper iframe,
#ppc-button-ppcp-gateway iframe,
#paypal-standard-container iframe {
  min-height: 50px !important;
  border-radius: 8px !important;
}

/* Express Checkout Section - at top of checkout (before billing details) */
.eg-express-checkout-section {
  background: linear-gradient(135deg, #f0f8f4 0%, #e8f4f8 100%) !important;
  border: 2px solid #a5ccbc !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin: 0 auto 28px auto !important; /* Center on large screens */
  text-align: center !important;
  width: 100% !important;
  max-width: none !important; /* Allow full width on large screens */
  grid-column: 1 !important; /* Place in left column (billing side) */
  /* Container is always visible — only buttons fade in */
}

/* Button areas inside express checkout: hidden until settled */
.eg-express-checkout-section #square-apple-pay-button,
.eg-express-checkout-section #square-google-pay-button,
.eg-express-checkout-section .eg-paypal-buttons-wrapper,
.eg-express-checkout-section #ppc-button-ppcp-gateway,
.eg-express-checkout-section .ppcp-button-wrapper,
.eg-express-checkout-section .cce-express-consent-note,
.eg-express-checkout-section .cce-apple-pay-chrome-fallback {
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* Reveal buttons once settled */
.eg-express-checkout-section.cce-express-settled #square-apple-pay-button,
.eg-express-checkout-section.cce-express-settled #square-google-pay-button,
.eg-express-checkout-section.cce-express-settled .eg-paypal-buttons-wrapper,
.eg-express-checkout-section.cce-express-settled #ppc-button-ppcp-gateway,
.eg-express-checkout-section.cce-express-settled .ppcp-button-wrapper,
.eg-express-checkout-section.cce-express-settled .cce-express-consent-note,
.eg-express-checkout-section.cce-express-settled .cce-apple-pay-chrome-fallback {
  opacity: 1;
}

/* On smaller screens, constrain width for better appearance */
@media (max-width: 1200px) {
  .eg-express-checkout-section {
    max-width: 500px !important;
    margin: 0 auto 28px auto !important; /* Keep centered */
  }
}

.eg-express-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: #0f4c3a !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-express-subtitle {
  font-size: 0.85em !important;
  color: #666 !important;
  margin: 0 0 12px 0 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-express-consent-note {
  max-width: 460px !important;
  margin: 14px auto 0 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #577264 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-express-consent-note a {
  color: #1f5d4b !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
}

/* PayPal / Venmo section above manual card entry */
.woocommerce-checkout-payment .cce-paypal-payment-options {
  margin: 0 0 24px 0 !important;
  padding: 18px 20px !important;
  border: 1px solid #d8e5de !important;
  border-radius: 12px !important;
  background: #f7faf8 !important;
}

.cce-paypal-payment-options__label {
  margin: 0 0 8px 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  color: #0f4c3a !important;
  text-transform: uppercase !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-paypal-payment-options__text {
  margin: 0 0 12px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #4b5563 !important;
}

.cce-paypal-payment-options__method {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* CHECKOUT PAGE: Ensure PayPal buttons display in payment section */
.cce-paypal-payment-options #ppc-button-ppcp-gateway,
.cce-paypal-payment-options .eg-paypal-buttons-wrapper,
.cce-paypal-payment-options [id*="paypal"],
.cce-paypal-payment-options [data-funding-source],
.cce-paypal-payment-options .ppcp-button-wrapper {
  max-width: 450px !important;
  margin: 12px auto 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.eg-express-checkout-section #ppc-button-ppcp-gateway,
.eg-express-checkout-section .ppcp-button-wrapper {
  width: 100% !important;
  min-height: 50px !important;
  display: block !important;
  visibility: visible !important;
}

/* Force PayPal/Venmo buttons to be visible in payment section */
.cce-paypal-payment-options .paypal-buttons,
.cce-paypal-payment-options [data-funding-source="paypal"],
.cce-paypal-payment-options [data-funding-source="venmo"] {
  display: block !important;
  width: 100% !important;
  max-width: 450px !important;
  margin: 8px auto !important;
  min-height: 50px !important;
  visibility: visible !important;
}

/* Hide PayPal's "powered by" text in payment section */
.cce-paypal-payment-options .ppcp-powered-by,
.cce-paypal-payment-options [data-funding-source] + p {
  display: none !important;
}

/* Payment Divider - appears in payment section before card form */
.woocommerce-checkout-payment .eg-payment-divider {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  margin: 18px 0 22px 0 !important;
  position: relative !important;
}

.eg-payment-divider::before,
.eg-payment-divider::after {
  content: "" !important;
  flex: 1 !important;
  height: 1px !important;
  background: #d1d5db !important;
}

.eg-payment-divider span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 0 16px !important;
  color: #516169 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  background: #f9fafb !important;
  border-radius: 999px !important;
}

/* Square Card Box with Trust Signals */
.eg-square-card-box {
  padding: 14px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7fcf9 100%) !important;
  border: 1px solid #d6e6de !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 16px !important;
  margin-top: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Ensure Square card form fits within container — no extra padding */
.eg-square-card-box form,
.eg-square-card-box .wc-square-credit-card-payment-form,
.wc-square-credit-card-payment-form,
.payment_method_square_card .payment_box > div {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}

/* Hide redundant gateway description inside card box (helper text covers it) */
.eg-square-card-box > p:first-of-type {
  display: none !important;
}

/* Strip padding from fieldset wrapping card fields */
.eg-square-card-box fieldset,
.eg-square-card-box .wc-payment-form {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

/* Square card input fields - ensure they fit */
.eg-square-card-box #sq-card-number,
.eg-square-card-box #sq-expiration-date,
.eg-square-card-box #sq-cvv,
.eg-square-card-box #sq-postal-code,
.eg-square-card-box .sq-input,
.eg-square-card-box iframe {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.eg-square-card-box #sq-card-number,
.eg-square-card-box #sq-expiration-date,
.eg-square-card-box #sq-cvv,
.eg-square-card-box #sq-postal-code {
  min-height: 48px !important;
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 6px !important;
}

/* Square card container - full width, no side constraints */
.eg-square-card-box .square-input-container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  min-height: 190px !important;
  border-radius: 14px !important;
  border-color: #d7dedb !important;
  background: #ffffff !important;
}

/* Payment box container - ensure proper width */
.woocommerce-checkout .payment_box {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important; /* NO padding - let children handle it */
  margin: 0 !important;
}

/* Gift card section - full width container, horizontal form layout */
#square-gift-card-wrapper,
.square-gift-card-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px !important;
  margin-bottom: 20px !important;
  box-sizing: border-box !important;
}

/* Gift card form - stacked layout matching coupon section */
.woocommerce-cart .square-gift-card-wrapper .square-gift-card-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

/* Checkout gift card form - horizontal layout */
.woocommerce-checkout .square-gift-card-wrapper .square-gift-card-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.square-gift-card-wrapper .square-gift-card-form > div {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.square-gift-card-wrapper .square-gift-card-form label {
  white-space: nowrap !important;
}

#square-gift-card-wrapper input[type="text"],
.square-gift-card-wrapper input[type="text"],
input#square_gift_card_gan_cart {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
}

#square-gift-card-wrapper button,
.square-gift-card-wrapper button,
.woocommerce-cart button.square-lookup-gift-card.square-lookup-gift-card {
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  white-space: nowrap !important;
  background: #e8f4ee !important;
  color: #1e4a35 !important;
  border: 1.5px solid #a5ccbc !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  letter-spacing: 0.3px !important;
  line-height: 1.4 !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.woocommerce-checkout #square-gift-card-wrapper button,
.woocommerce-checkout .square-gift-card-wrapper button {
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
}
#square-gift-card-wrapper button:hover,
.square-gift-card-wrapper button:hover,
.woocommerce-cart button.square-lookup-gift-card.square-lookup-gift-card:hover {
  background: #d5e8de !important;
  border-color: #2b5d4b !important;
  color: #0f4c3a !important;
}

/* On mobile, stack vertically */
@media (max-width: 480px) {
  .square-gift-card-wrapper .square-gift-card-form {
    flex-direction: column !important;
  }
  
  .square-gift-card-wrapper .square-gift-card-form > div {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  
  .square-gift-card-wrapper button,
  .woocommerce-cart button.square-lookup-gift-card.square-lookup-gift-card {
    width: 100% !important;
  }
}

/* Ensure payment method containers are properly sized */
.wc_payment_methods .payment_method_square_card .payment_box {
  overflow: visible !important;
  padding: 2px 0 0 0 !important;
}

.wc_payment_methods .payment_method_square_card {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* iPad Safari hardening: keep Square card fields rendered as distinct inputs. */
.wc_payment_methods .payment_method_square_card .wc-square-credit-card-payment-form {
  display: grid !important;
  gap: 0 !important;
  background: transparent !important;
}

.wc_payment_methods .payment_method_square_card .eg-square-card-box {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 2px 2px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.wc_payment_methods .payment_method_square_card #wc-square_card-cc-form,
.wc_payment_methods .payment_method_square_card .wc-payment-form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.wc_payment_methods .payment_method_square_card #square-card-container {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  margin: 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.wc_payment_methods .payment_method_square_card #square-card-container iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.wc_payment_methods .payment_method_square_card .eg-card-helper-text {
  margin-bottom: 4px !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: #66727d !important;
  font-style: italic !important;
}

.wc_payment_methods .payment_method_square_card {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wc_payment_methods .payment_method_square_card > label {
  padding: 0 !important;
}

.wc_payment_methods .payment_method_square_card .payment_box {
  padding: 2px 0 0 0 !important;
}

.wc_payment_methods .payment_method_square_card .square-input-container {
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.wc_payment_methods .payment_method_square_card .wc-square-credit-card-payment-form iframe,
.wc_payment_methods .payment_method_square_card .wc-square-credit-card-payment-form .sq-input {
  min-height: 48px !important;
  background: #fff !important;
  border-radius: 6px !important;
}

/* Hide verbose PayPal description text */
.payment_method_ppcp-gateway .payment_box > p,
.payment_method_ppcp-gateway .payment_box > div > p {
  display: none !important;
}

/* Keep only the PayPal buttons visible, hide marketing text */
.payment_method_ppcp-gateway .payment_box {
  padding: 12px 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Classic PayPal buttons (when PayPal radio is selected) - centered */
.payment_method_ppcp-gateway #ppc-button-ppcp-gateway {
  margin: 0 auto 16px !important;
  max-width: 450px !important;
  text-align: center !important;
  order: 1 !important; /* Buttons appear first */
}

/* Center PayPal button iframes */
.payment_method_ppcp-gateway #ppc-button-ppcp-gateway > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
}

/* Privacy policy text appears AFTER PayPal buttons */
.payment_method_ppcp-gateway .woocommerce-privacy-policy-text {
  order: 2 !important;
  margin-top: 12px !important;
}

/* Ensure payment methods and terms appear in correct order */
.woocommerce-checkout-payment {
  display: flex !important;
  flex-direction: column !important;
}

/* Payment methods list should come first */
.wc_payment_methods {
  order: 1 !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.wc_payment_methods .wc_payment_method {
  padding: 10px !important;
  margin: 0 0 12px 0 !important;
  list-style: none !important;
  border: 1.5px solid #d8e6df !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease !important;
}

.wc_payment_methods .wc_payment_method .payment_box {
  padding: 8px 0 2px 24px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Place order section (with terms) should come after payment methods */
.form-row.place-order {
  order: 2 !important;
}

/* Ensure terms/privacy text appears in correct position */
.woocommerce-terms-and-conditions-wrapper,
.woocommerce-privacy-policy-text {
  order: 1 !important;
  margin-bottom: 12px !important;
}

/* Hide the inline T&C content popup — link opens in new tab instead */
.woocommerce-terms-and-conditions {
  display: none !important;
}

body.cce-paypal-continuation-active .woocommerce-checkout-payment .woocommerce-terms-and-conditions-wrapper {
  display: none !important;
}

body.cce-paypal-continuation-active:not(.cce-paypal-continuation-fallback-visible) .woocommerce-checkout-payment #place_order,
body.cce-paypal-continuation-active:not(.cce-paypal-continuation-fallback-visible) .woocommerce-checkout-payment .eg-encryption-notice {
  display: none !important;
}

/* Place order button should be last */
#place_order {
  order: 2 !important;
}

/* Card Payment Heading with Lock Icon */
.eg-card-payment-heading {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #1f2937 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-lock-icon {
  flex-shrink: 0 !important;
  color: #2c5e54 !important;
  width: 14px !important;
  height: 14px !important;
}

/* Helper Text Styles */
.eg-checkout-helper {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #6b7280 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-card-helper-text {
  margin-bottom: 8px !important;
}

.eg-encryption-notice {
  text-align: center !important;
  margin-top: 8px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Payment Method Radio Labels */
.woocommerce-checkout .wc_payment_methods .wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  color: #1f2937 !important;
  cursor: pointer !important;
}

.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"] {
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  accent-color: #2c5e54 !important;
}

.woocommerce-checkout .wc_payment_methods .wc_payment_method.cce-payment-method-selected {
  border-color: #7cae9b !important;
  background: linear-gradient(180deg, #f8fffc 0%, #f1f8f4 100%) !important;
  box-shadow: 0 0 0 3px rgba(124, 174, 155, 0.18) !important;
}

.woocommerce-checkout .wc_payment_methods .wc_payment_method.cce-payment-method-selected label {
  color: #244d44 !important;
}

.woocommerce-checkout .wc_payment_methods .wc_payment_method.cce-payment-method-selected .payment_box {
  color: #385b53 !important;
}

.woocommerce-checkout .wc_payment_methods .payment_method_square_card .payment_box {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce-checkout .wc_payment_methods .payment_method_square_card .payment_box::before,
.woocommerce-checkout .wc_payment_methods .payment_method_square_card .payment_box::after {
  display: none !important;
}

.woocommerce-checkout .wc_payment_methods .payment_method_square_card .payment_box > .eg-square-card-box {
  padding: 6px 8px 8px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  padding: 12px 14px !important;
  border: 1.5px solid #d8e6df !important;
  border-radius: 16px !important;
  background: #fbfdfc !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
  margin: 0 0 8px !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  color: #6c7680 !important;
  font-style: italic !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
  margin: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-style: inherit !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout input#terms {
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 20px !important;
  margin: 2px 0 0 0 !important;
  accent-color: #2c5e54 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  cursor: pointer !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #324454 !important;
  font-weight: 600 !important;
}

.woocommerce-checkout .cce-review-terms-link {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #6c7680 !important;
  text-decoration: underline !important;
  margin-left: 4px !important;
}

.woocommerce-checkout .cce-review-terms-link:hover {
  color: #2c5e54 !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper abbr.required {
  display: none !important;
}

/* Place Order Button Styling */
.woocommerce-checkout #place_order {
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
  border: 1.5px solid #2c5e54 !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.woocommerce-checkout #place_order:hover {
  background: #92b2a8 !important;
}

/* Hide payment method icons (keep minimal) */
.woocommerce-checkout .wc_payment_methods img {
  display: none !important;
}

/* Ensure PayPal buttons render properly */
#ppc-button-ppcp-gateway iframe {
  max-width: 100% !important;
}

/* ========================================
   MOBILE RESPONSIVE - PAYMENT SECTION
   ======================================== */

@media (max-width: 540px) {
  .cce-checkout-columns {
    gap: 16px !important;
  }

  .cce-checkout-col-2 {
    padding: 16px !important;
    border-radius: 20px !important;
    background: #fcfdfd !important;
  }

  .cce-checkout-col-2 > h3 {
    margin-bottom: 14px !important;
    font-size: 24px !important;
  }

  .eg-express-checkout-section {
    padding: 16px !important;
    margin-bottom: 20px !important;
  }

  .woocommerce-checkout .cce-checkout-coupon {
    padding: 12px 14px !important;
    border-radius: 16px !important;
  }

  .woocommerce-checkout .cce-checkout-coupon__title {
    font-size: 15px !important;
  }

  .eg-express-checkout-label {
    font-size: 13px !important;
    margin-bottom: 10px !important;
  }

  .square-wallet-buttons,
  .eg-paypal-buttons-wrapper {
    max-width: 100% !important;
  }

  .eg-payment-divider {
    margin: 16px 0 18px !important;
  }

  .eg-payment-divider span {
    min-height: 30px !important;
    font-size: 14px !important;
    padding: 0 14px !important;
  }

  .eg-square-card-box {
    padding: 8px !important;
    margin-top: 8px !important;
    border-radius: 14px !important;
  }

  .wc_payment_methods .payment_method_square_card {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .wc_payment_methods .payment_method_square_card > label {
    padding: 0 !important;
  }

  .wc_payment_methods .payment_method_square_card .eg-square-card-box {
    width: 100% !important;
    padding: 0 2px 2px !important;
    border-radius: 0 !important;
  }

  .eg-card-payment-heading {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .eg-checkout-helper {
    font-size: 12px !important;
  }

  .eg-card-helper-text {
    margin-bottom: 4px !important;
  }

  .eg-encryption-notice {
    margin-top: 6px !important;
    padding-top: 0 !important;
  }

  .woocommerce-checkout #place_order {
    padding: 12px 20px !important;
    font-size: 15px !important;
  }

  .wc_payment_methods .wc_payment_method {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .wc_payment_methods .wc_payment_method .payment_box {
    padding: 10px 0 0 0 !important;
  }

  .woocommerce-checkout .wc_payment_methods .wc_payment_method label {
    gap: 10px !important;
    font-size: 15px !important;
    align-items: flex-start !important;
  }

  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    padding: 10px 12px !important;
    border-radius: 16px !important;
  }

  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .woocommerce-checkout-review-order-table td.product-name {
    width: calc(100% - 104px) !important;
  }

  .woocommerce-checkout-review-order-table thead th.product-total,
  .woocommerce-checkout-review-order-table td.product-total {
    width: 104px !important;
  }
}

@media (max-width: 480px) {
  .cce-checkout-col-2 {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  .cce-checkout-col-2 > h3 {
    margin-bottom: 12px !important;
    font-size: 22px !important;
  }

  .eg-express-checkout-section {
    padding: 12px !important;
  }

  .woocommerce-checkout .cce-checkout-coupon {
    padding: 10px !important;
  }

  .eg-card-payment-heading {
    font-size: 13px !important;
    gap: 4px !important;
  }

  .eg-lock-icon {
    width: 12px !important;
    height: 12px !important;
  }

  .eg-checkout-helper {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .eg-payment-divider span {
    font-size: 13px !important;
    padding: 0 12px !important;
  }

  .woocommerce-checkout #place_order {
    font-size: 14px !important;
  }

  .woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 10.5px !important;
    line-height: 1.55 !important;
    margin-bottom: 8px !important;
    font-style: italic !important;
  }

  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    padding: 10px !important;
  }

  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
    gap: 10px !important;
  }

  .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .woocommerce-checkout-review-order-table td.product-name {
    width: calc(100% - 92px) !important;
  }

  .woocommerce-checkout-review-order-table thead th.product-total,
  .woocommerce-checkout-review-order-table td.product-total {
    width: 92px !important;
  }

  .wc_payment_methods .wc_payment_method {
    padding: 8px !important;
  }

  .woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"] {
    width: 20px !important;
    height: 20px !important;
  }

  .eg-square-card-box .square-input-container {
    min-height: 180px !important;
  }
}

/* ========================================
   CART PAGE ENHANCEMENTS - PROGRESS & CTAs
   ======================================== */

/* ========================================
   CART EXPRESS CHECKOUT SECTION
   ======================================== */

.eg-cart-express-checkout-section {
  margin: 20px 0 !important;
  padding: 20px !important;
  background: linear-gradient(135deg, #f8fffe 0%, #f0f8f4 100%) !important;
  border: 2px solid #a5ccbc !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  text-align: center !important;
}

.eg-cart-express-label {
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2d4a35 !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.eg-cart-express-note {
  font-size: 0.85em !important;
  color: #666 !important;
  margin: 0 0 16px !important;
  font-style: italic !important;
}

#square-wallet-buttons-wrapper-cart,
.eg-paypal-buttons-wrapper-cart {
  max-width: 400px !important;
  margin: 12px auto !important;
}

/* Hide PayPal's "Skip the password" messaging */
.eg-cart-express-checkout-section .ppcp-powered-by,
.eg-cart-express-checkout-section [data-funding-source] + p,
.woocommerce-cart .ppcp-powered-by,
.woocommerce-cart #ppc-button-ppcp-gateway + p,
.woocommerce-cart .payment_method_ppcp-gateway .ppcp-powered-by {
  display: none !important;
}

/* Ensure PayPal/Venmo buttons container displays properly */
.eg-cart-express-checkout-section #ppc-button-ppcp-gateway,
.eg-cart-express-checkout-section .eg-express-buttons-container,
.eg-cart-express-checkout-section [id*="paypal"],
.eg-cart-express-checkout-section [data-funding-source] {
  max-width: 400px !important;
  margin: 12px auto !important;
  display: block !important;
  visibility: visible !important;
}

/* Force PayPal buttons to stack vertically and stay visible */
.eg-cart-express-checkout-section .paypal-buttons,
.eg-cart-express-checkout-section [data-funding-source="paypal"],
.eg-cart-express-checkout-section [data-funding-source="venmo"] {
  display: block !important;
  width: 100% !important;
  max-width: 400px !important;
  margin: 8px auto !important;
  min-height: 44px !important;
}

/* Prevent Venmo from hiding on medium screens */
@media (min-width: 769px) and (max-width: 1200px) {
  .eg-cart-express-checkout-section [data-funding-source="venmo"] {
    display: block !important;
  }
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .eg-cart-express-checkout-section {
    padding: 16px !important;
    margin: 16px 0 !important;
  }
  
  .eg-cart-express-label {
    font-size: 13px !important;
  }
  
  .eg-cart-express-note {
    font-size: 0.8em !important;
  }
}

/* ========================================
   CART ITEM CARD STYLING - PRODUCT INFO BOX
   ======================================== */

/* Cart table - keep as normal table with fixed layout and spacing between rows */
.woocommerce-cart-form__contents {
  border-collapse: separate !important;
  border-spacing: 0 10px !important; /* Softer row separation for cleaner look */
  width: 100% !important;
  table-layout: fixed !important; /* Fixed layout for consistent 10%/45%/45% widths */
}

/* ========================================
   CHECKOUT PRODUCT TABLE - COMPACT LAYOUT
   ======================================== */

/* Force compact table structure */
.woocommerce-checkout-review-order-table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

.woocommerce-checkout-review-order-table tr,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Compact product rows - NO extra height */
.woocommerce-checkout-review-order-table tbody tr.cart_item {
  border-bottom: 1px solid #e5e7eb !important;
  height: auto !important;
  min-height: 0 !important;
}

.woocommerce-checkout-review-order-table tbody tr.cart_item:last-child {
  border-bottom: none !important;
}

/* Force cells to shrink to content */
.woocommerce-checkout-review-order-table tbody tr.cart_item td {
  padding: 10px 8px !important;
  vertical-align: top !important;
  height: auto !important;
  min-height: 0 !important;
}

.woocommerce-checkout-review-order-table td.product-name {
  width: auto !important;
  padding: 10px 8px !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table thead th.product-total {
  width: 108px !important;
  max-width: 108px !important;
  text-align: right !important;
}

.woocommerce-checkout-review-order-table td.product-total {
  width: 108px !important;
  max-width: 108px !important;
  padding: 10px 8px !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
  color: #1f2937 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Product name styling - compact */
.woocommerce-checkout-review-order-table .product-name > * {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout-review-order-table .checkout-item {
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 4px 0 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.woocommerce-checkout-review-order-table .checkout-info {
  gap: 2px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .checkout-info .product-brand,
.woocommerce-checkout-review-order-table .checkout-product-details .product-brand {
  margin: 0 0 2px !important;
}

.woocommerce-checkout-review-order-table .checkout-info .product-name,
.woocommerce-checkout-review-order-table .checkout-product-details .product-name {
  font-weight: 500 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .checkout-info .product-quantity,
.woocommerce-checkout-review-order-table .checkout-product-details .product-quantity {
  margin-top: 2px !important;
  font-weight: 500 !important;
}

/* Quantity inline with name */
.woocommerce-checkout-review-order-table .product-name strong.product-quantity {
  display: inline !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  font-size: 0.9em !important;
}

/* Hide any extra spacing elements */
.woocommerce-checkout-review-order-table .product-name br {
  display: none !important;
}

/* Variation data - compact */
.woocommerce-checkout-review-order-table .product-name dl.variation {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  font-size: 0.85em !important;
  color: #6b7280 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dt,
.woocommerce-checkout-review-order-table .product-name dl.variation dd {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
}

/* Show item notes as a readable block in checkout line items */
.woocommerce-checkout-review-order-table .product-name dl.variation dt[class*="item-note"],
.woocommerce-checkout-review-order-table .product-name dl.variation dt[class*="item_note"] {
  display: block !important;
  margin-top: 6px !important;
  color: #4b5563 !important;
  font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dd[class*="item-note"],
.woocommerce-checkout-review-order-table .product-name dl.variation dd[class*="item_note"] {
  display: block !important;
  margin-top: 2px !important;
  color: #374151 !important;
  white-space: normal !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dd[class*="item-note"] p,
.woocommerce-checkout-review-order-table .product-name dl.variation dd[class*="item_note"] p {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

/* Totals section - compact */
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
  padding: 8px !important;
  border-top: 1px solid #e5e7eb !important;
  font-variant-numeric: tabular-nums !important;
  overflow-wrap: anywhere !important;
}

.woocommerce-checkout-review-order-table tfoot tr th {
  text-align: left !important;
}

.woocommerce-checkout-review-order-table tfoot tr td {
  text-align: right !important;
  white-space: nowrap !important;
}

.woocommerce-checkout-review-order-table .cce-fulfillment-row > .cce-fulfillment-cell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 10px 8px 14px !important;
  box-sizing: border-box !important;
}

.woocommerce-checkout .cce-fulfillment-choice,
.woocommerce-checkout .cce-fulfillment-compact-summary,
.woocommerce-checkout .cce-fulfillment-local-hint {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout .cce-fulfillment-compact-summary__header {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.woocommerce-checkout .cce-fulfillment-compact-summary__title,
.woocommerce-checkout .cce-fulfillment-compact-summary__description,
.woocommerce-checkout .cce-fulfillment-compact-summary__fee,
.woocommerce-checkout .cce-fulfillment-compact-hint,
.woocommerce-checkout .cce-fulfillment-choice__title,
.woocommerce-checkout .cce-fulfillment-choice__intro {
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

.woocommerce-checkout .cce-fulfillment-compact-summary__change-btn {
  max-width: 100% !important;
}

.woocommerce-checkout .cce-fulfillment-compact-summary__description,
.woocommerce-checkout .cce-fulfillment-compact-summary__fee,
.woocommerce-checkout .cce-fulfillment-compact-hint {
  display: block !important;
  clear: both !important;
  padding-left: 0 !important;
  margin-left: 34px !important;
  width: calc(100% - 34px) !important;
  line-height: 1.5 !important;
  white-space: normal !important;
}

.woocommerce-checkout-review-order-table .cce-checkout-cart-note-row > th {
  padding: 12px 8px 14px !important;
  border-top: 1px solid #e5e7eb !important;
  text-align: left !important;
  white-space: normal !important;
}

.woocommerce-checkout-review-order-table .cce-checkout-cart-note__label {
  display: block !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #4b5563 !important;
}

.woocommerce-checkout-review-order-table .cce-checkout-cart-note__content {
  display: block !important;
  margin-top: 8px !important;
  padding: 10px 12px !important;
  background: #f8fbf9 !important;
  border: 1px solid #d7e5de !important;
  border-radius: 10px !important;
  color: #374151 !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  white-space: pre-line !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .eg-fulfillment-line-item th {
  white-space: normal !important;
  vertical-align: top !important;
}

.woocommerce-checkout-review-order-table .eg-fulfillment-line-item td {
  white-space: nowrap !important;
  vertical-align: top !important;
}

.woocommerce-checkout-review-order-table .cce-fulfillment-line-item__heading {
  display: block !important;
}

.woocommerce-checkout-review-order-table .cce-fulfillment-line-item__method {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin-top: 5px !important;
  min-width: 0 !important;
  color: #2c5e54 !important;
  font-size: 0.78em !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  background: #eef6f2 !important;
  padding: 3px 9px 3px 7px !important;
  border-radius: 999px !important;
  border: 1px solid #d6e5de !important;
}

.woocommerce-checkout-review-order-table .cce-fulfillment-line-item__icon {
  flex: 0 0 auto !important;
  margin-top: 0.15em !important;
}

.woocommerce-checkout-review-order-table .cce-fulfillment-line-item__method-label {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .cce-fulfillment-line-item__amount {
  font-weight: 600 !important;
}

.cce-checkout-fulfillment-summary {
  margin: 0 0 12px !important;
  padding: 10px 12px !important;
  background: rgba(247, 250, 248, 0.72) !important;
  border: 1px solid #e2ece7 !important;
  border-radius: 6px !important;
}

.cce-checkout-fulfillment-summary__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin-bottom: 4px !important;
}

.cce-checkout-fulfillment-summary__header .cce-fulfillment-change-link {
  margin-left: 0 !important;
}

.cce-checkout-fulfillment-summary__chip {
  display: block !important;
  color: #2c5e54 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}

.cce-checkout-fulfillment-summary__note {
  margin: 6px 0 0 !important;
  font-size: 0.8125rem !important;
  color: #6b7280 !important;
  line-height: 1.5 !important;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
.woocommerce-checkout-review-order-table tr.shipping td,
.woocommerce-checkout-review-order-table tr.shipping th {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  vertical-align: top !important;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td,
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-weight: 700 !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 1.1em !important;
  font-weight: 700 !important;
  padding-top: 12px !important;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
.woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
.cart_totals table.shop_table tr.cart-discount th,
.cart_totals table.shop_table tr.cart-discount td {
  vertical-align: top !important;
}

.woocommerce-checkout-review-order-table tfoot tr.cart-discount td,
.cart_totals table.shop_table tr.cart-discount td {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .cce-coupon-line-item,
.cart_totals table.shop_table .cce-coupon-line-item {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  max-width: 100% !important;
}

.woocommerce-checkout-review-order-table .cce-coupon-line-item__text,
.cart_totals table.shop_table .cce-coupon-line-item__text {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.woocommerce-checkout-review-order-table .cce-coupon-line-item__code,
.cart_totals table.shop_table .cce-coupon-line-item__code {
  font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table .cce-coupon-line-item__remove,
.cart_totals table.shop_table .cce-coupon-line-item__remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  border: 1px solid #d6e5de !important;
  border-radius: 999px !important;
  background: #eef6f2 !important;
  color: #2c5e54 !important;
  text-decoration: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease !important;
}

.woocommerce-checkout-review-order-table .cce-coupon-line-item__remove:hover,
.cart_totals table.shop_table .cce-coupon-line-item__remove:hover {
  background: #dcece5 !important;
  border-color: #7cae9b !important;
  color: #214d43 !important;
}

/* Table headers - properly aligned with explicit widths */
.woocommerce-cart-form__contents thead {
  background: #fff !important;
}

.woocommerce-cart-form__contents thead th {
  padding: 12px 8px !important;
  font-weight: 600 !important;
  text-align: left !important;
  border-bottom: 1px solid #e7ece9 !important;
  font-size: 0.9em !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #666 !important;
}

.woocommerce-cart-form__contents thead th.product-remove {
  width: 50px !important;
  min-width: 50px !important;
  max-width: 50px !important;
}

.woocommerce-cart-form__contents thead th.product-info {
  min-width: 0 !important;
}

.woocommerce-cart-form__contents thead th.product-quantity {
  text-align: left !important;
  min-width: 0 !important;
}

.woocommerce-cart-form__contents thead th.product-subtotal {
  display: none !important; /* Hidden - subtotal now in quantity column */
}

/* Cart item rows - NO border on row */
.woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item {
  position: relative !important;
  border: none !important;
}

/* Space between cart item rows - default for all cells */
.woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td {
  padding: 12px 8px !important;
  border: none !important;
  vertical-align: top !important;
}

/* No bottom border on product rows — the thick separator between product groups handles it */
.woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td {
  border-bottom: none !important;
}

/* Remove button cell - minimal */
.woocommerce-cart-form__contents tbody td.product-remove {
  width: 50px !important;
  text-align: center !important;
  padding: 12px 8px !important;
  border: none !important;
}

/* PRODUCT INFO CELL - This is the visible "box" with border (must come after generic td rule) */
.woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td.product-info {
  position: relative !important;
  padding: 0 !important;
  width: auto !important;
  border: 1px solid #e7ece9 !important;
  border-radius: 6px !important;
  background: #fcfdfc !important;
}

/* Quantity cell - flex column; children stretch full width, text right-aligned */
.woocommerce-cart-form__contents tbody td.product-quantity {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  min-height: 100px !important;
  min-width: 0 !important;
  text-align: right !important;
  vertical-align: top !important;
  padding: 12px 10px !important;
  font-size: 0.85em !important;
  white-space: normal !important;
}

/* Prevent layout bounce during AJAX cart updates */
.woocommerce-cart-form__contents {
  table-layout: fixed !important;
}

/* On desktop, 270px is ideal. On mobile, percentage widths take over. */

/* Quantity controls wrapper — grid keeps minus|input|plus|unit on one row always */
.woocommerce-cart-form__contents tbody td.product-quantity .quantity {
  display: grid !important;
  grid-template-columns: auto 1fr auto auto !important; /* minus | input | plus | unit */
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  font-size: 0.85em !important;
  max-width: 100% !important;
}

/* Item notes in quantity cell - SEPARATE from product card, clearly below quantity controls */
.woocommerce-cart-form__contents tbody td.product-quantity .eg-cart-item-notes {
  display: block !important;
  margin: 12px 0 0 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

/* Subtotal cell - fixed width, smaller font */
.woocommerce-cart-form__contents tbody td.product-subtotal {
  display: none !important; /* Hidden - subtotal now under quantity */
}

/* Product info box - flexbox container (NO border, parent has it) */
.eg-cart-product-box {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 10px !important;
  border: none !important;
  position: relative !important;
}

/* Thumbnail within product box — fixed frame prevents bad image metadata from stretching art */
.eg-cart-thumbnail {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  flex-basis: 70px !important;
  width: 70px !important;
  max-width: 70px !important;
  height: 70px !important;
  background: transparent !important;
}

.eg-cart-thumbnail a {
  display: block !important;
  width: 70px !important;
  height: 70px !important;
  background: transparent !important;
}

.eg-cart-thumbnail img {
  display: block !important;
  width: 70px !important;
  max-width: 70px !important;
  height: 70px !important;
  max-height: 70px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  border-radius: 4px !important;
}

/* Product details within box - left aligned */
.eg-cart-product-details {
  flex: 1 !important;
  min-width: 0 !important;
  text-align: left !important;
}

.eg-cart-product-details .product-brand {
  display: block !important;
  font-size: 0.875em !important;
  color: #6b7a6f !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.2 !important;
  font-style: italic !important;
}

.eg-cart-product-details a {
  font-weight: 600 !important;
  font-size: 0.9em !important;
  color: #2d4a35 !important;
  text-decoration: none !important;
  text-align: left !important;
  display: block !important;
  line-height: 1.2 !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}

.eg-cart-product-details a:hover {
  text-decoration: underline !important;
}

.cart-item-unit-price {
  font-size: 0.9em !important;
  color: #666 !important;
  margin-top: 6px !important;
  text-align: left !important;
}

/* Item notes section - in quantity column, below controls */
.eg-cart-item-notes {
  margin-top: 8px !important;
  padding: 5px 10px !important;
  background: #f8faf9 !important;
  border-left: 2px solid #a5ccbc !important;
  border-radius: 2px !important;
  font-size: 13px !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Item notes label hidden — position under product makes it self-explanatory */
.eg-cart-item-notes-label {
  display: none !important;
}

/* Note rows flow inline */
.eg-cart-item-note-row {
  display: inline !important;
}

.eg-cart-item-notes dl.variation {
  margin: 0 !important;
}

.eg-cart-item-notes dt,
.eg-cart-item-notes dd {
  font-size: 0.9em !important;
  color: #555 !important;
  margin: 2px 0 !important;
  line-height: 1.4 !important;
}

.eg-cart-item-notes dt {
  font-weight: 500 !important;
}

.eg-cart-item-notes dd {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.eg-cart-item-notes dd p {
  margin: 0 !important;
}

/* Quantity controls - COMPACT, buttons flush with input, minimal padding so text isn't clipped */
.woocommerce-cart-form__contents .product-quantity .quantity input.qty {
  width: 56px !important;
  max-width: 70px !important;
  flex-shrink: 0 !important;
  text-align: center !important;
  padding: 4px 2px !important;
  margin: 0 !important;
  font-size: 14px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 0 !important;
  height: 34px !important;
  box-sizing: border-box !important;
}

.woocommerce-cart-form__contents .product-quantity .quantity button {
  padding: 0 8px !important;
  margin: 0 !important;
  font-size: 16px !important;
  min-width: 30px !important;
  width: 30px !important;
  height: 34px !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
  border: 1px solid #d1d5db !important;
  background: #f9fafb !important;
}

.woocommerce-cart-form__contents .product-quantity .quantity button:first-child {
  border-radius: 6px 0 0 6px !important;
  border-right: none !important;
}

.woocommerce-cart-form__contents .product-quantity .quantity button:last-of-type {
  border-radius: 0 6px 6px 0 !important;
  border-left: none !important;
}

/* Unit label next to quantity — stays on same grid row as buttons */
.woocommerce-cart-form__contents .product-quantity .quantity + span,
.woocommerce-cart-form__contents .product-quantity .unit-suffix {
  font-size: 0.85em !important;
  color: #666 !important;
  margin-left: 4px !important;
  white-space: nowrap !important;
}

/* Conversion/suggested amounts span full grid width on their own row */
.woocommerce-cart-form__contents .product-quantity .quantity .eg-lbs-conversion,
.woocommerce-cart-form__contents .product-quantity .quantity .eg-unit-conversion,
.woocommerce-cart-form__contents .product-quantity .quantity .eg-suggested-amount,
.woocommerce-cart-form__contents .product-quantity .quantity .eg-low-stock {
  grid-column: 1 / -1 !important;
}

/* Low-stock message: span the grid row so "That's all we've got" flows
   across the full input+buttons width instead of stacking one word per column. */
.woocommerce-cart-form__contents .product-quantity .quantity .eg-low-stock {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-align: right !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  color: #4b5563 !important;
}

/* Item notes row merges with its parent product (no gap between them) */
.eg-cart-item-notes-row td {
  border-top: none !important;
}

/* Notes row bottom padding */
.woocommerce-cart-form__contents tbody tr.eg-cart-item-notes-row td {
  padding-bottom: 14px !important;
}

/* Clear separator between product groups — border-top on every new cart-item that follows another row */
.woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item + tr.woocommerce-cart-form__cart-item td,
.woocommerce-cart-form__contents tbody tr.eg-cart-item-notes-row + tr.woocommerce-cart-form__cart-item td {
  border-top: 2px solid #c5ccc8 !important;
  padding-top: 16px !important;
}

/* Mobile: same treatment */
@media (max-width: 768px) {
  .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item + tr.woocommerce-cart-form__cart-item td,
  .woocommerce-cart-form__contents tbody tr.eg-cart-item-notes-row + tr.woocommerce-cart-form__cart-item td {
    border-top: 2px solid #c5ccc8 !important;
  }

  .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    background: #fff !important;
  }
}

/* Mid-sized screens (500px - 750px): Combine Quantity and Subtotal columns */
/* Covers the range where we have two columns but need more efficient space usage */
@media (min-width: 500px) and (max-width: 750px) {
  /* Hide subtotal column header */
  .woocommerce-cart-form__contents thead th.product-subtotal {
    display: none !important;
  }
  
  /* Hide subtotal column in body - using inline subtotal instead */
  .woocommerce-cart-form__contents tbody td.product-subtotal {
    display: none !important;
  }
  
  /* REMOVED: Old .eg-quantity-subtotal-wrapper rules - class renamed to .eg-quantity-controls */
  /* Column widths now use consistent 10%/45%/45% from main rules */
  
  /* Keep product info to the right of image longer */
  .eg-cart-product-box {
    flex-direction: row !important;
    align-items: flex-start !important;
  }
  
  .eg-cart-thumbnail {
    flex-shrink: 0 !important;
    flex-basis: 70px !important;
    width: 70px !important;
    max-width: 70px !important;
    height: 70px !important;
  }
  
  .eg-cart-product-details {
    flex: 1 !important;
    min-width: 0 !important;
  }
}

/* Mobile: stack cart items more compactly */
@media (max-width: 768px) {
  /* KEEP table-layout: fixed for consistent 10%/44%/46% widths */
  .woocommerce-cart-form__contents {
    table-layout: fixed !important;
  }
  
  /* Keep product as row (thumb + details) for efficient space - no big vertical gap */
  .eg-cart-product-box {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 6px 0 !important;
  }
  
  .eg-cart-thumbnail {
    flex-basis: 55px !important;
    width: 55px !important;
    max-width: 55px !important;
    height: 55px !important;
    flex-shrink: 0 !important;
  }

  .eg-cart-thumbnail a {
    width: 55px !important;
    height: 55px !important;
  }
  
  .eg-cart-product-details {
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  /* Tighter row spacing on mobile */
  .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  
  /* REMOVED: Old conflicting width rules - using 10%/45%/45% from main styles */
  /* REMOVED: Old .eg-quantity-subtotal-wrapper rules - class renamed to .eg-quantity-controls */
  
  .eg-cart-item-notes {
    margin-top: 8px !important;
    padding: 8px 10px !important;
    font-size: 0.85em !important;
  }
  
  .eg-cart-item-notes-label {
    font-size: 0.8em !important;
  }
}

/* Update Cart button - constrained to left column */
.woocommerce-cart .actions-update-cart {
  text-align: right !important;
  vertical-align: bottom !important;
  padding: 12px 12px 12px 0 !important;
  width: 140px !important;
}

.woocommerce-cart .eg-update-cart-btn {
  width: auto !important;
  max-width: 120px !important;
  padding: 0.6em 0.7em !important;
  font-size: 0.7em !important;
  font-weight: 600 !important;
  background: #e8f4ee !important;
  color: #1e4a35 !important;
  border: 1.5px solid #a5ccbc !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  line-height: 1.3 !important;
  float: right !important;
  clear: both !important;
}

.woocommerce-cart .eg-update-cart-btn:hover {
  background: #d5e8de !important;
}

/* On mobile, make Update Cart button full width */
@media (max-width: 768px) {
  .woocommerce-cart .actions-update-cart {
    display: block !important;
    width: 100% !important;
    padding: 1em !important;
    text-align: center !important;
  }
  
  .woocommerce-cart .eg-update-cart-btn {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 0.85em !important;
  }
  
  .woocommerce-cart table.cart .actions-update-cart {
    border-top: 1px solid #e5e5e5 !important;
    padding-top: 1em !important;
  }
  
  /* Mobile: Adjust product card layout - less padding */
  .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td.product-info {
    padding: 6px !important;
  }
  
  .eg-cart-product-box {
    gap: 8px !important;
    padding: 8px !important;
  }
  
  .eg-cart-thumbnail img {
    width: 55px !important;
    height: 55px !important;
    max-width: 55px !important;
    max-height: 55px !important;
    object-fit: contain !important;
  }
  
  .eg-cart-product-details .product-brand {
    font-size: 0.7em !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .eg-cart-product-details a {
    font-size: 0.85em !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .cart-item-unit-price {
    font-size: 0.8em !important;
  }
  
  /* Mobile: Tighter quantity controls - ensure unit (oz/lb) is never cut off */
  .woocommerce-cart-form__contents tbody td.product-quantity {
    padding: 6px 14px 6px 8px !important; /* Extra right padding so "(0.02 lbs)" never clipped */
    font-size: 0.8em !important;
    overflow: visible !important;
    min-height: 0 !important;
  }
  
  /* Weight conversion text - always single line */
  .woocommerce-cart-form__contents .eg-lbs-conversion,
  .woocommerce-cart-form__contents .eg-unit-conversion {
    white-space: nowrap !important;
    overflow: visible !important;
  }
  
  /* Ensure quantity + unit row has room for the unit label */
  .woocommerce-cart-form__contents .product-quantity .quantity + span,
  .woocommerce-cart-form__contents .product-quantity .unit-suffix {
    margin-left: 4px !important;
  }
  
  .woocommerce-cart-form__contents tbody td.product-quantity .quantity {
    gap: 0 !important; /* Flush buttons */
  }
  
  .woocommerce-cart-form__contents .product-quantity .quantity input.qty {
    width: 48px !important;
    padding: 4px 2px !important;
    font-size: 13px !important;
    height: 32px !important;
    border-radius: 0 !important;
  }
  
  .woocommerce-cart-form__contents .product-quantity .quantity button {
    padding: 0 6px !important;
    font-size: 14px !important;
    min-width: 26px !important;
    width: 26px !important;
    height: 32px !important;
  }
  
  /* Mobile: Subtotal font size */
  .woocommerce-cart-form__contents tbody td.product-subtotal {
    font-size: 0.85em !important;
    padding-right: 6px !important;
  }
}

/* Extra small screens (phones < 480px) */
@media (max-width: 480px) {
  /* Even more compact on tiny screens */
  .woocommerce-cart-form__contents thead th.product-info,
  .woocommerce-cart-form__contents thead th.product-quantity,
  .woocommerce-cart-form__contents tbody td.product-info,
  .woocommerce-cart-form__contents tbody td.product-quantity {
    padding: 8px 4px !important;
  }
  
  /* Quantity cell: enough right padding so "oz", "lb", "fl oz" never cut off */
  .woocommerce-cart-form__contents tbody td.product-quantity {
    padding: 6px 12px 6px 4px !important;
  }
  
  .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td.product-info {
    padding: 6px !important;
  }
  
  .eg-cart-product-box {
    gap: 8px !important;
    padding: 8px !important;
  }

  .eg-cart-thumbnail {
    flex-basis: 45px !important;
    width: 45px !important;
    max-width: 45px !important;
    height: 45px !important;
  }

  .eg-cart-thumbnail a {
    width: 45px !important;
    height: 45px !important;
  }
  
  .eg-cart-thumbnail img {
    width: 45px !important;
    height: 45px !important;
    max-width: 45px !important;
    max-height: 45px !important;
    object-fit: contain !important;
  }
  
  .eg-cart-product-details .product-brand {
    font-size: 0.65em !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .eg-cart-product-details a {
    font-size: 0.8em !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .cart-item-unit-price {
    font-size: 0.75em !important;
  }
  
  .woocommerce-cart-form__contents tbody td.product-quantity .quantity {
    gap: 0 !important; /* Flush buttons */
  }
  
  .woocommerce-cart-form__contents .product-quantity .quantity input.qty {
    width: 44px !important;
    padding: 3px 1px !important;
    height: 30px !important;
    font-size: 12px !important;
    border-radius: 0 !important;
  }
  
  .woocommerce-cart-form__contents .product-quantity .quantity button {
    padding: 0 5px !important;
    min-width: 24px !important;
    width: 24px !important;
    height: 30px !important;
    font-size: 13px !important;
  }
  
  .woocommerce-cart-form__contents tbody td.product-subtotal {
    font-size: 0.8em !important;
  }
  
  /* Heart button on very small screens */
  .eg-cart-heart-container {
    transform: translate(40%, -40%) !important;
  }
  
  .eg-cart-heart-container .egf-heart-button {
    width: 30px !important;
    height: 30px !important;
  }
}

/* Progress Indicator */
/* Standalone progress bar on cart AND checkout page (no breadcrumbs) - FULL WIDTH */
/* Cart page needs extra top margin to clear sticky header; checkout has less since it's inside form */
.eg-checkout-progress.eg-progress-standalone,
.woocommerce .eg-checkout-progress.eg-progress-standalone {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  background: transparent !important;
  border-bottom: none !important;
  overflow-anchor: none !important;
}

/* Keep browser scroll anchoring from snapping upward when cart rows are removed. */
.woocommerce-cart .cce-cart-columns,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .shop_table.cart,
.woocommerce-cart .cart-collaterals {
  overflow-anchor: none !important;
}

/* CART PAGE: Progress bar needs extra top margin to clear sticky header + top bar */
/* Use global header offset vars so this stays aligned with sticky header changes */
.woocommerce-cart .eg-checkout-progress.eg-progress-standalone,
body.woocommerce-cart .eg-checkout-progress.eg-progress-standalone {
  position: static !important;
  margin: 0 0 4px !important;
  padding: 6px 16px !important;
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* CHECKOUT PAGE: Progress bar is inside the form, closer to content */
.woocommerce-checkout .eg-checkout-progress.eg-progress-standalone,
body.woocommerce-checkout .eg-checkout-progress.eg-progress-standalone {
  margin: 0 0 12px !important;
  padding: 8px 16px !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  /* Force full width in ANY container */
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  grid-column: 1 / -1 !important;
  order: -2 !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
}

/* ORDER RECEIVED: progress bar — compact, no extra margin */
.woocommerce-order-received .eg-checkout-progress.eg-progress-standalone,
body.woocommerce-order-received .eg-checkout-progress.eg-progress-standalone {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  padding: 6px 16px !important;
}

/* Cart login link full width on cart page only */
body.woocommerce-cart .eg-cart-login-link,
.woocommerce-cart .eg-cart-login-link {
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  order: -1 !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
  position: relative !important;
}

.woocommerce-checkout .eg-checkout-earthies-inline-row th,
.woocommerce-checkout .eg-checkout-earthies-inline-row td {
  padding: 6px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.woocommerce-checkout .eg-checkout-earthies-inline {
  text-align: center !important;
}

.woocommerce-checkout .eg-checkout-earthies-inline__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #527268 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.woocommerce-checkout .eg-checkout-earthies-inline__link:hover,
.woocommerce-checkout .eg-checkout-earthies-inline__link:focus {
  color: #2c5e54 !important;
  text-decoration: underline !important;
}

.woocommerce-checkout .eg-checkout-earthies-inline__emoji {
  font-size: 14px !important;
  line-height: 1 !important;
}

.eg-checkout-progress {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 10px 0 15px !important;
  padding: 10px 0 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

/* REMOVED: This was overriding the standalone progress bar margin */
/* The .eg-progress-standalone rule above now handles both cart and checkout */

/* Hide breadcrumbs on cart and checkout - progress bar acts as breadcrumbs */
.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb,
.woocommerce-cart .woocommerce-breadcrumbs,
.woocommerce-checkout .woocommerce-breadcrumbs,
.woocommerce-cart .breadcrumb,
.woocommerce-checkout .breadcrumb,
.woocommerce-cart .breadcrumbs,
.woocommerce-checkout .breadcrumbs,
body.woocommerce-cart #breadcrumbs,
body.woocommerce-checkout #breadcrumbs,
body.woocommerce-cart .rank-math-breadcrumb,
body.woocommerce-checkout .rank-math-breadcrumb {
  display: none !important;
}

/* Fulfillment line item in cart totals — show the cost so totals add up */
.woocommerce-cart tr.eg-fulfillment-line-item {
  display: table-row !important;
}
/* Prevent WooCommerce mobile responsive data-title pseudo-element from duplicating label */
tr.eg-fulfillment-line-item td::before {
  display: none !important;
  content: none !important;
}
/* Hide the generic method text, just show heading + cost */
.woocommerce-cart tr.eg-fulfillment-line-item .cce-fulfillment-line-item__method {
  display: none !important;
}

/* Hide separate "Shipping to [address]" row - destination is now in the label */
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-checkout .woocommerce-shipping-destination,
p.woocommerce-shipping-destination {
  display: none !important;
}

/* Hide the "Shipping" row entirely - we only show "Fulfillment" row */
.woocommerce-cart tr.woocommerce-shipping-totals,
.woocommerce-checkout tr.woocommerce-shipping-totals,
tr.woocommerce-shipping-totals.shipping,
tr.shipping,
.cart_totals tr.shipping,
.shop_table tr.shipping,
table.shop_table tr.woocommerce-shipping-totals,
body.woocommerce-cart tr.shipping,
body.woocommerce-checkout tr.shipping {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.eg-progress-step {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
}

.eg-progress-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #d3d6da !important;
  border: none !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.eg-progress-active .eg-progress-dot {
  background: #2c5e54 !important;
  border: none !important;
  box-shadow: none !important;
}

.eg-progress-label {
  font-size: 14px !important;
  color: #b0b8b4 !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
  text-transform: none !important;
}

.eg-progress-active .eg-progress-label {
  color: #2c5e54 !important;
  font-weight: 700 !important;
}

.eg-progress-line {
  width: auto !important;
  height: auto !important;
  background: none !important;
  margin: 0 8px !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  color: #c8ccc9 !important;
}

/* Clickable progress steps */
.eg-progress-clickable {
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.eg-progress-clickable:hover .eg-progress-dot {
  transform: scale(1.1) !important;
  box-shadow: 0 0 0 6px rgba(5, 150, 105, 0.15), 0 3px 6px rgba(0, 0, 0, 0.12) !important;
}

.eg-progress-clickable:hover .eg-progress-label {
  color: #2c5e54 !important;
}

/* Completed progress steps */
.eg-progress-completed .eg-progress-dot {
  background: #2c5e54 !important;
  border-color: #2c5e54 !important;
}

.eg-progress-completed .eg-progress-label {
  color: #2c5e54 !important;
  font-weight: 600 !important;
}

/* Completed progress line */
.eg-progress-line-completed {
  background: linear-gradient(to right, #2c5e54 0%, #2c5e54 50%, #2c5e54 100%) !important;
}

/* Disabled progress steps */
.eg-progress-disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.eg-progress-disabled .eg-progress-dot {
  background: #f3f4f6 !important;
  border-color: #e5e7eb !important;
}

.eg-progress-disabled .eg-progress-label {
  color: #d1d5db !important;
}

/* Enhanced Fulfillment Section */
.eg-fulfillment-section {
  margin-bottom: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* On cart page, ensure fulfillment section stays in sidebar */
body.woocommerce-cart .eg-fulfillment-section,
.woocommerce-cart .eg-fulfillment-section {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  /* Remove excess padding - parent already has padding */
  padding: 0 !important;
  margin-bottom: 16px !important;
}

/* Sidebar components - no extra boxes needed since sidebar is the container */
.cce-cart-col-2 .fulfillment-option {
  padding: 0 !important;
  margin-bottom: 0 !important;
}

.cce-cart-col-2 .cart_totals {
  padding: 0 !important;
  margin-bottom: 0 !important;
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid #c8d8d0 !important;
}

/* Keep right column flat (no card shadows). */
.woocommerce-cart .cce-cart-col-2,
.woocommerce-cart .cce-cart-col-2 .cart-collaterals,
.woocommerce-cart .cce-cart-col-2 .cart_totals {
  box-shadow: none !important;
}

/* Flatten inner totals table too (prevents nested card/shadow from theme styles). */
.woocommerce-cart .cce-cart-col-2 .cart_totals .shop_table,
.woocommerce-cart .cce-cart-col-2 .cart_totals table,
.woocommerce-cart .cce-cart-col-2 .cart_totals tbody,
.woocommerce-cart .cce-cart-col-2 .cart_totals tr,
.woocommerce-cart .cce-cart-col-2 .cart_totals th,
.woocommerce-cart .cce-cart-col-2 .cart_totals td {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Note: .wc-proceed-to-checkout is now fixed position (sticky bottom-right)
   so it no longer needs column-specific styling */

/* Constrain sidebar buttons EXCEPT the main checkout button (which is fixed) */
.cce-cart-col-2 button:not(.checkout-button):not([name="apply_coupon"]),
.cce-cart-col-2 .button:not(.checkout-button):not([name="apply_coupon"]),
.cart-collaterals button:not(.checkout-button):not([name="apply_coupon"]),
.cart-collaterals .button:not(.checkout-button):not([name="apply_coupon"]) {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  word-wrap: break-word !important;
}

/* Earthies "USE REWARDS" text — dark brand green, clearly clickable */
.el-earthies-accordion-toggle span[style*="underline"] {
  text-decoration: none !important;
  color: #2c5e54 !important;
  font-weight: 700 !important;
}

/* Earthies widget card — left accent bar for clickability */
.el-quick-redemption-widget,
.el-quick-redemption-widget-compact {
  border-left: 3px solid #2c5e54 !important;
  cursor: pointer !important;
}

/* Earthies buttons specifically */
.el-quick-redemption-widget button,
.el-apply-existing-coupon {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  padding: 0.5em 0.8em !important;
}

.eg-fulfillment-heading {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1f2937 !important;
  margin: 0 0 8px 0 !important;
  font-family: brandon-grotesque, sans-serif !important;
  line-height: 1.3 !important;
}

.eg-fulfillment-subtitle {
  font-size: 14px !important;
  color: #6b7280 !important;
  margin: 0 0 16px 0 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

/* Pulse effect when no fulfillment selected */
.woocommerce-checkout .cce-fulfillment-choice:not(.has-selection),
.woocommerce-cart.cce-step-2-expanded .cce-fulfillment-choice:not(.has-selection) {
  animation: eg-pulse-border 2s ease-in-out infinite !important;
}

@keyframes eg-pulse-border {
  0%, 100% {
    border-color: #e5e7eb !important;
    box-shadow: 0 0 0 0 rgba(5, 150, 105, 0) !important;
  }
  50% {
    border-color: #2c5e54 !important;
    box-shadow: 0 0 0 4px rgba(5, 150, 105, 0.1) !important;
  }
}

/* Item Notes Reminder - Now positioned near Order Notes section */
.eg-item-notes-reminder {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

/* Fulfillment Confirmation Message */
.eg-fulfillment-confirmation {
  margin-bottom: 16px !important;
  min-height: 10px !important;
}

.eg-fulfillment-selected-message {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  background: #e8f4ee !important;
  border: 1px solid #2c5e54 !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-check-circle {
  flex-shrink: 0 !important;
  color: #2c5e54 !important;
}

.eg-fulfillment-selected-message strong {
  color: #1e4a35 !important;
  font-weight: 600 !important;
}

.eg-fulfillment-desc {
  color: #1e4a35 !important;
  font-size: 13px !important;
  margin-left: auto !important;
}

/* What Happens Next */
.eg-what-happens-next {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 8px 10px !important;
  background: #f3f7f5 !important;
  border: 1px solid #d5e2dc !important;
  border-radius: 8px !important;
  margin: 0 0 8px 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #38554a !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-step-3-desc {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.eg-lock-small {
  flex-shrink: 0 !important;
  color: #557065 !important;
  width: 12px !important;
  height: 12px !important;
  margin-top: 1px !important;
}

/* Cart Trust Signals */
.eg-cart-trust-signals {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 10px !important;
  padding: 0 !important;
  margin-top: 8px !important;
  border-top: none !important;
}

.eg-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  color: #4f685e !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.eg-trust-item svg {
  flex-shrink: 0 !important;
  width: 12px !important;
  height: 12px !important;
  color: #187553 !important;
}

/* Sidebar checkout prompt keeps the next step obvious until fulfillment is selected. */
.woocommerce-cart .cce-cart-checkout-prompt {
  margin-top: 18px !important;
  padding: 14px !important;
  border: 1px solid #d7ddd9 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #f7f8f7 0%, #f1f3f1 100%) !important;
  box-shadow: none !important;
}

.woocommerce-cart .cce-cart-checkout-prompt[hidden] {
  display: none !important;
}

.woocommerce-cart.cce-step-1-continued.cce-fulfillment-selected .cce-cart-checkout-prompt {
  display: none !important;
}

.woocommerce-cart .cce-cart-checkout-prompt__button:not(.cce-prompt-locked) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 13px 18px !important;
  background: linear-gradient(180deg, #f0f2f0 0%, #e6eae7 100%) !important;
  border: 1px solid #c4cdc8 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #6b756f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: brandon-grotesque, sans-serif !important;
  letter-spacing: 0.4px !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.woocommerce-cart .cce-cart-checkout-prompt__button:hover,
.woocommerce-cart .cce-cart-checkout-prompt__button:focus-visible {
  background: linear-gradient(180deg, #ecefed 0%, #e1e6e2 100%) !important;
  border-color: #b5c0b9 !important;
  color: #55615b !important;
  outline: 2px solid #8aa59a !important;
  outline-offset: 2px !important;
}

.woocommerce-cart .cce-cart-checkout-prompt__hint {
  margin: 10px 2px 0 !important;
  color: #5d6a64 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-family: brandon-grotesque, sans-serif !important;
}

@media (max-width: 899px) {
  .woocommerce-cart .cce-cart-checkout-prompt {
    margin-top: 14px !important;
  }
}

/* ========================================
   STICKY CHECKOUT BUTTON - Bottom Right Corner
   Shows on all screen sizes for cart page
   ======================================== */

/* Hide until BOTH Step 1 (continued) and Step 2 (fulfillment selected) are done.
   Do not add a rule that shows .wc-proceed-to-checkout without both classes. */
.woocommerce-cart:not(.cce-fulfillment-selected) .wc-proceed-to-checkout,
.woocommerce-cart:not(.cce-step-1-continued) .wc-proceed-to-checkout {
  display: none !important;
}

/* Show sticky button only when both conditions are met (single source of truth for visibility). */
/* Sticky checkout: just the button, no panel chrome */
.woocommerce-cart.cce-step-1-continued.cce-fulfillment-selected .wc-proceed-to-checkout {
  display: block !important;
  position: fixed !important;
  bottom: 16px !important;
  right: 16px !important;
  z-index: 9998 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout > * {
  margin: 0 !important;
}

/* Sticky checkout button — standalone CTA, no panel wrapper */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-family: brandon-grotesque, sans-serif !important;
  transition: all 0.2s ease !important;
  width: auto !important;
  white-space: nowrap !important;
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
  border: 1.5px solid #2c5e54 !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after {
  content: "→" !important;
  font-size: 14px !important;
  transition: transform 0.2s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: linear-gradient(135deg, #a5ccbc 0%, #bfe2dc 100%) !important;
  border-color: #2d4f3f !important;
  color: #1f1f1f !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover::after {
  transform: translateX(2px) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button.cce-checkout-disabled,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button.cce-checkout-disabled:hover {
  background: #e5e7eb !important;
  border-color: #9ca3af !important;
  color: #4b5563 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.eg-step-3-label {
  color: #0f4c3a !important;
  white-space: nowrap !important;
}

/* Collapse toggle and trust signals removed — sticky panel is just the checkout button now.
   No collapse/expand functionality needed. */
.cce-checkout-collapse-toggle,
.eg-what-happens-next,
.eg-cart-trust-signals {
  display: none !important;
}

/* Keep enough space below content so floating button doesn't cover rows */
.woocommerce-cart.cce-step-1-continued.cce-fulfillment-selected .woocommerce,
.woocommerce-cart.cce-step-1-continued.cce-fulfillment-selected .entry-content {
  padding-bottom: 80px !important;
}

/* Tablet/smaller desktop adjustments */
@media (max-width: 1024px) {
  .woocommerce-cart.cce-step-1-continued.cce-fulfillment-selected .wc-proceed-to-checkout {
    right: 16px !important;
    bottom: 16px !important;
    max-width: 300px !important;
  }
  
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    padding: 12px 18px !important;
    font-size: 13px !important;
  }
}

/* Mobile adjustments - still anchored bottom-right, compact */
@media (max-width: 600px) {
  .woocommerce-cart.cce-step-1-continued.cce-fulfillment-selected .wc-proceed-to-checkout {
    right: 12px !important;
    bottom: 12px !important;
    left: auto !important;
    width: auto !important;
    max-width: 320px !important;
    padding: 8px !important;
  }
  
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    padding: 11px 16px !important;
    font-size: 12px !important;
  }
}

/* ========================================
   MOBILE RESPONSIVE - CART ENHANCEMENTS
   ======================================== */

@media (max-width: 768px) {
  /* Cart page: Stack breadcrumbs and progress bar on mobile */
  .woocommerce-cart .breadcrumb-progress-wrapper {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-top: 0 !important;
  }

  /* Cart page: comfortable side padding on mobile */
  .woocommerce-cart .content-sidebar-wrap {
    padding-left: clamp(10px, 3vw, 24px) !important;
    padding-right: clamp(10px, 3vw, 24px) !important;
  }

  /* Cart page: style WooCommerce info notices to match cart design */
  .woocommerce-cart .woocommerce-info {
    font-size: 12px !important;
    padding: 8px 12px !important;
  }

  .eg-checkout-progress {
    margin: 4px 0 8px !important;
    padding: 6px 0 !important;
  }

  .eg-progress-dot {
    width: 10px !important;
    height: 10px !important;
  }

  .eg-progress-label {
    font-size: 12px !important;
  }

  .eg-progress-line {
    width: auto !important;
    margin: 0 6px !important;
  }

  .eg-fulfillment-heading {
    font-size: 18px !important;
  }

  .eg-fulfillment-subtitle {
    font-size: 13px !important;
  }

  .eg-item-notes-reminder {
    font-size: 13px !important;
    padding: 10px 12px !important;
  }

  .eg-fulfillment-selected-message {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
  }

  .eg-fulfillment-desc {
    margin-left: 0 !important;
    margin-top: 4px !important;
  }

  .eg-what-happens-next {
    font-size: 11px !important;
    padding: 7px 9px !important;
  }

  .eg-cart-trust-signals {
    gap: 6px 8px !important;
    padding: 0 !important;
  }

  .eg-trust-item {
    font-size: 10.5px !important;
  }
}

@media (max-width: 480px) {
  .eg-progress-line {
    width: auto !important;
    margin: 0 4px !important;
  }

  .eg-progress-label {
    font-size: 11px !important;
  }

  .eg-fulfillment-heading {
    font-size: 16px !important;
  }

  .eg-cart-trust-signals {
    gap: 5px 7px !important;
  }
}

/* ========================================
   HIDE DUPLICATE LOGIN LINK ON CHECKOUT
   ======================================== */
/* Hide WooCommerce's default "Returning customer? Click here to login" since we have custom login box */
.woocommerce-checkout .woocommerce-form-login-toggle {
  display: none !important;
}

/* Hide WooCommerce's default "Have a coupon? Click here to enter your code" notification on checkout */
/* Multiple selectors to catch all variations */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info:has(.showcoupon),
.woocommerce-checkout .woocommerce-info:has(.showcoupon) {
  display: none !important;
}

/* ========================================
   PHONE FIELD DESCRIPTION - subtle helper text
   ======================================== */
#billing_phone_field .description,
#billing_phone_field .woocommerce-input-wrapper .description {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #888 !important;
  font-size: 0.8em !important;
  font-style: normal !important;
  font-family: brandon-grotesque, sans-serif !important;
  padding: 4px 0 0 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  width: auto !important;
  max-width: none !important;
  white-space: normal !important;
}

#billing_phone_field .description::before,
#billing_phone_field .description::after,
#billing_phone_field .woocommerce-input-wrapper .description::before,
#billing_phone_field .woocommerce-input-wrapper .description::after {
  display: none !important;
}

/* ========================================
   CART + CHECKOUT NOTICES — quiet, informational style
   Prevents notices from inheriting section header gradient/accent
   ======================================== */
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-error,
.cce-focused-page .woocommerce-info,
.cce-focused-page .woocommerce-message,
.cce-focused-page .woocommerce-error {
  background: var(--cce-bg-quiet, #f8faf9) !important;
  border: 1px solid var(--cce-border-subtle, #e5e7eb) !important;
  border-left: 3px solid var(--cce-accent, #2c5e54) !important;
  border-radius: 8px !important;
  color: var(--cce-text, #1f2937) !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  padding: 10px 14px !important;
  margin: 8px 0 !important;
  list-style: none !important;
  box-shadow: none !important;
}

.woocommerce-cart .woocommerce-error,
.cce-focused-page .woocommerce-error {
  border-left-color: #dc2626 !important;
  background: #fef8f8 !important;
}

.woocommerce-cart .woocommerce-message,
.cce-focused-page .woocommerce-message {
  border-left-color: var(--cce-accent, #2c5e54) !important;
}

.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-error::before,
.cce-focused-page .woocommerce-info::before,
.cce-focused-page .woocommerce-message::before,
.cce-focused-page .woocommerce-error::before {
  display: none !important;
}

/* Address verification notice — tighter layout, button quieter */
.woocommerce-cart .woocommerce-info .button,
.woocommerce-cart .woocommerce-message .button,
.cce-focused-page .woocommerce-info .button,
.cce-focused-page .woocommerce-message .button {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  background: var(--cce-accent, #2c5e54) !important;
  color: #fff !important;
  border: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  white-space: nowrap !important;
  float: right !important;
  margin-top: -2px !important;
}

/* ========================================
   CART + CHECKOUT NOTICES - always visible below fixed header
   ======================================== */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info {
  position: relative !important;
  z-index: 100 !important;
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 130px)) + 20px) !important;
}

.woocommerce-checkout .cce-checkout-top-error {
  margin: 12px 0 18px !important;
  padding: 14px 16px !important;
  border: 2px solid #f87171 !important;
  border-radius: 10px !important;
  background: #fef2f2 !important;
  color: #991b1b !important;
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 100px)) + 32px) !important;
  box-shadow: 0 2px 8px rgba(185, 28, 28, 0.10) !important;
}

.woocommerce-checkout .cce-checkout-top-error__summary {
  margin-bottom: 10px;
  font-weight: 700;
  color: #b91c1c !important;
}

.woocommerce-checkout #ppcp-cancel.cce-paypal-continuation-note {
  margin: 14px 0 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #c6ddd2 !important;
  border-radius: 12px !important;
  background: #f4faf6 !important;
  color: #2c5a47 !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.45 !important;
}

.woocommerce-checkout #ppcp-cancel.cce-paypal-continuation-note .cce-paypal-continuation-status {
  margin: 0 0 6px !important;
  font-weight: 600 !important;
  color: #214f3f !important;
}

.woocommerce-checkout #ppcp-cancel.cce-paypal-continuation-note a {
  color: #8b9aa5 !important;
  font-weight: 400 !important;
  font-size: 0.82em !important;
  text-decoration: underline !important;
}

.woocommerce-checkout .form-row.cce-inline-field-has-error input,
.woocommerce-checkout .form-row.cce-inline-field-has-error select,
.woocommerce-checkout .form-row.cce-inline-field-has-error textarea,
.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid textarea {
  border-color: #b91c1c !important;
  background: #fff8f7 !important;
  box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.12) !important;
}

.woocommerce-checkout .form-row.cce-inline-field-has-error,
.woocommerce-checkout .form-row.woocommerce-invalid {
  padding: 10px 12px !important;
  border: 1px solid #fecaca !important;
  border-radius: 10px !important;
  background: #fff8f7 !important;
}

.woocommerce-checkout .form-row.cce-inline-field-has-error label,
.woocommerce-checkout .form-row.woocommerce-invalid label {
  color: #991b1b !important;
  font-weight: 700 !important;
}

/* Inline error under the field with the red asterisk — must be visible in Safari */
.woocommerce-checkout .cce-inline-field-error {
  display: block !important;
  margin-top: 6px !important;
  padding: 6px 10px !important;
  color: #b91c1c !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 6px !important;
}

/* Banner above first invalid field: "Please fill out all required information." */
.woocommerce-checkout .cce-required-fields-banner {
  display: block !important;
  margin: 0 0 12px 0 !important;
  padding: 10px 14px !important;
  color: #991b1b !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 8px !important;
}

.woocommerce-checkout .cce-required-fields-summary {
  margin: 10px 0 12px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  border: 1px solid #fecaca !important;
  background: #fef2f2 !important;
  color: #991b1b !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.woocommerce-checkout .cce-address-validation-notice {
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 100px)) + 24px) !important;
}

/* ========================================
   ORDER NOTES & SHARE CART - Subtle, Secondary
   These are not primary actions - keep them quiet
   ======================================== */

/* Order Notes container - collapsed feel */
.cce-global-order-notes {
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid #e5ebe8 !important;
}

.cce-global-order-notes h3 {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
  margin: 0 0 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.cce-global-order-notes textarea,
.cce-order-notes-textarea {
  border: 1px solid #d1ddd8 !important;
  border-radius: 6px !important;
  padding: 12px !important;
  font-size: 14px !important;
  font-family: brandon-grotesque, sans-serif !important;
  background: #fafcfb !important;
  resize: vertical !important;
  min-height: 60px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.cce-global-order-notes textarea:focus,
.cce-order-notes-textarea:focus {
  outline: none !important;
  border-color: #a5ccbc !important;
  box-shadow: 0 0 0 3px rgba(165, 204, 188, 0.15) !important;
  background: #fff !important;
}

/* Share Cart section - very subtle */
.eg-share-cart-section {
  margin-top: 16px !important;
}

.eg-share-cart-btn {
  background: transparent !important;
  color: #4b5563 !important;
  border: 1px solid #d1ddd8 !important;
  padding: 7px 14px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
}

/* Free shipping hint — gentle inline note below subtotal */
.eg-free-shipping-hint {
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #4b5563 !important;
  text-align: right !important;
  line-height: 1.4 !important;
  font-style: italic !important;
}

.eg-share-cart-btn:hover {
  background: #f5f8f6 !important;
  border-color: #a5ccbc !important;
  color: #1e4a35 !important;
}

.woocommerce-checkout .cce-special-delivery-notes-field label {
  display: block !important;
  margin-bottom: 6px !important;
}

.woocommerce-checkout .cce-special-delivery-notes-field textarea {
  width: 100% !important;
  min-height: 96px !important;
  box-sizing: border-box !important;
  resize: vertical !important;
}

.woocommerce-checkout .cce-special-delivery-notes-field .description {
  margin-top: 6px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-style: italic !important;
}

/* ========================================
   ORDER NOTES PLACEHOLDER - GRAY & ITALIC
   Standard UX pattern for placeholder text
   ======================================== */
.cce-global-order-notes textarea::placeholder,
.cce-order-notes-textarea::placeholder,
textarea[name="cce_global_order_note"]::placeholder,
textarea[name="order_comments"]::placeholder {
  color: #9ca3af !important;
  font-style: italic !important;
  opacity: 1 !important; /* Firefox fix */
}

/* Safari/WebKit */
.cce-global-order-notes textarea::-webkit-input-placeholder,
.cce-order-notes-textarea::-webkit-input-placeholder,
textarea[name="cce_global_order_note"]::-webkit-input-placeholder,
textarea[name="order_comments"]::-webkit-input-placeholder {
  color: #9ca3af !important;
  font-style: italic !important;
}

/* Firefox */
.cce-global-order-notes textarea::-moz-placeholder,
.cce-order-notes-textarea::-moz-placeholder,
textarea[name="cce_global_order_note"]::-moz-placeholder,
textarea[name="order_comments"]::-moz-placeholder {
  color: #9ca3af !important;
  font-style: italic !important;
  opacity: 1 !important;
}

/* MS Edge */
.cce-global-order-notes textarea:-ms-input-placeholder,
.cce-order-notes-textarea:-ms-input-placeholder,
textarea[name="cce_global_order_note"]:-ms-input-placeholder,
textarea[name="order_comments"]:-ms-input-placeholder {
  color: #9ca3af !important;
  font-style: italic !important;
}

/* ========================================
   FAVORITES NOTE - EXPANDABLE DETAILS
   Subtle "Want to save for later?" link
   ======================================== */
.eg-cart-favorites-note {
  margin: 4px 0 0 !important;
}

.eg-save-for-later-toggle {
  font-size: 14px !important;
  color: #6b7280 !important;
  text-decoration: underline !important;
  text-decoration-color: #d1ddd8 !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
}

.eg-save-for-later-toggle:hover {
  color: #1e4a35 !important;
  text-decoration-color: #a5ccbc !important;
}

.eg-save-for-later-hint {
  display: none;
  margin-top: 8px !important;
  padding: 10px 12px !important;
  background: #f5f8f6 !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  color: #4b5563 !important;
  line-height: 1.5 !important;
}

.eg-cart-favorites-note.expanded .eg-save-for-later-hint {
  display: block !important;
}

.eg-cart-favorites-note summary {
  cursor: pointer !important;
  user-select: none !important;
  outline: none !important;
}

.eg-cart-favorites-note summary::-webkit-details-marker {
  display: none !important; /* Hide default arrow */
}

.eg-cart-favorites-note summary::marker {
  display: none !important; /* Hide default arrow */
}

/* Arrow rotation when expanded */
.eg-cart-favorites-note[open] summary span {
  transform: rotate(180deg) !important;
  transition: transform 0.2s ease !important;
}

.eg-cart-favorites-note summary span {
  transition: transform 0.2s ease !important;
  display: inline-block !important;
}

/* ========================================
   CART/CHECKOUT HEADER FOCUS MODE
   Keep top promo bar visible, collapse full header by default,
   and provide a thin toggle strip to expand/collapse.
   ======================================== */
body.cce-header-focus-mode .cce-header-toggle-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: var(--cce-header-compact-bar-top, 25px) !important;
  height: var(--cce-header-compact-bar-height, 25px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  padding: 0 12px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #c8d4ce !important;
  background: #edf3f0 !important;
  color: #3e534d !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  cursor: pointer !important;
  z-index: 10000 !important; /* Below top bar (10001), above header (1000) */
  transition: background 0.2s ease, color 0.2s ease !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-logo {
  height: 16px !important;
  width: auto !important;
  max-width: 140px !important;
  display: block !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-brand {
  white-space: nowrap !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-center {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar:hover,
body.cce-header-focus-mode .cce-header-toggle-bar:focus-visible {
  background: #e4ede8 !important;
  color: #2d403a !important;
  outline: none !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-label {
  white-space: nowrap !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  transform: translateY(-0.5px);
}

/* Magnifying glass icon: sits left of the "Show Search + Menu" label so
   visitors scanning the bar recognize "search lives here" before reading the
   label. Hidden when the header is expanded — the real search bar takes over
   the signaling job. */
body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-search-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
  flex-shrink: 0 !important;
  line-height: 0 !important;
}

body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-search-icon svg {
  width: 13px !important;
  height: 13px !important;
  display: block !important;
}

body.cce-header-focus-mode.cce-header-expanded .cce-header-toggle-bar .cce-header-toggle-search-icon {
  display: none !important;
}

body.cce-header-focus-mode .site-header {
  transition: max-height 0.25s ease, opacity 0.2s ease, transform 0.25s ease, padding 0.25s ease, box-shadow 0.2s ease, border-color 0.2s ease, top 0.2s ease !important;
}

body.cce-header-focus-mode.cce-header-collapsed .site-header {
  max-height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  transform: translateY(-8px) !important;
  pointer-events: none !important;
}

body.cce-header-focus-mode.cce-header-expanded .site-header {
  max-height: 220px !important;
  opacity: 1 !important;
  /* CRITICAL: use 'none' not 'translateY(0)' — any transform value (even 0)
     creates a new containing block, breaking position:fixed on mega menu dropdowns */
  transform: none !important;
  pointer-events: auto !important;
  top: calc(var(--cce-header-compact-bar-top, 25px) + var(--cce-header-compact-bar-height, 25px)) !important;
  overflow: visible !important;
}

/* Ensure compact-header pages have their content start below the current
   header stack. Without this, a regular WP Page with the header collapsed
   would keep its theme's full 107px top padding and leave a gap — or collide
   with the 25px toggle bar when expanded. The --cce-header-stack-offset var
   is kept in sync by refreshHeaderStackOffset() in checkout.js. */
body.cce-header-focus-mode.woocommerce-cart .site-inner,
body.cce-header-focus-mode.woocommerce-checkout .site-inner,
body.cce-header-focus-mode.woocommerce-order-received .site-inner,
body.cce-header-focus-mode.cce-focused-page .site-inner {
  margin-top: 0 !important;
  padding-top: calc(var(--cce-header-stack-offset, var(--eg-anchor-offset, 80px)) + 2px) !important;
}

@media (max-width: 768px) {
  body.cce-header-focus-mode .cce-header-toggle-bar {
    font-size: 10px !important;
    letter-spacing: 0.05em !important;
    gap: 6px !important;
  }

  body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-center {
    gap: 6px !important;
  }

  body.cce-header-focus-mode .cce-header-toggle-bar .cce-header-toggle-logo {
    height: 14px !important;
    max-width: 110px !important;
  }
}

/* ========================================
   ORDER PROCESSING OVERLAY - Organic Brand Style
   ======================================== */

/* Full-screen overlay during order processing */
.cce-order-processing-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(135deg, #f9fafb 0%, #f0fdf4 50%, #f9fafb 100%) !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  font-family: brandon-grotesque, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.cce-order-processing-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.cce-order-processing-overlay.is-success {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 50%, #f0fdf4 100%) !important;
}

/* Spinner animation - organic sage green */
.cce-order-spinner {
  width: 64px !important;
  height: 64px !important;
  border: 4px solid #a5ccbc !important;
  border-top-color: #2c5e54 !important;
  border-radius: 50% !important;
  animation: cce-spin 1s ease-in-out infinite;
  margin-bottom: 28px !important;
}

@keyframes cce-spin {
  to { transform: rotate(360deg); }
}

/* Success checkmark - deep organic green */
.cce-order-success-check {
  width: 88px !important;
  height: 88px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #2c5e54 0%, #1e4a35 100%) !important;
  box-shadow: 0 8px 32px rgba(5, 150, 105, 0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 28px !important;
  transform: scale(0);
  animation: cce-pop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes cce-pop-in {
  0% { transform: scale(0); opacity: 0; }
  60% { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}

.cce-order-success-check svg {
  width: 44px !important;
  height: 44px !important;
  stroke: white !important;
  stroke-width: 3 !important;
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-dasharray: 50;
  stroke-dashoffset: 50;
  animation: cce-draw-check 0.6s ease 0.3s forwards;
}

@keyframes cce-draw-check {
  to { stroke-dashoffset: 0; }
}

/* Text messages - organic typography */
.cce-order-message {
  font-size: 1.625rem !important;
  font-weight: 600 !important;
  color: #1e4a35 !important;
  margin: 0 0 10px 0 !important;
  text-align: center !important;
  letter-spacing: -0.01em !important;
}

.cce-order-submessage {
  font-size: 1.0625rem !important;
  color: #6b7280 !important;
  margin: 0 !important;
  text-align: center !important;
  max-width: 320px !important;
  line-height: 1.5 !important;
}

/* Success state text */
.cce-order-processing-overlay.is-success .cce-order-message {
  color: #2c5e54 !important;
}


/* Hide spinner on success, show checkmark */
.cce-order-processing-overlay.is-success .cce-order-spinner {
  display: none !important;
}

.cce-order-success-check {
  display: none !important;
}

.cce-order-processing-overlay.is-success .cce-order-success-check {
  display: flex !important;
}

/* Mobile adjustments */
@media (max-width: 600px) {
  .cce-order-spinner {
    width: 52px !important;
    height: 52px !important;
  }
  
  .cce-order-success-check {
    width: 72px !important;
    height: 72px !important;
  }
  
  .cce-order-success-check svg {
    width: 36px !important;
    height: 36px !important;
  }
  
  .cce-order-message {
    font-size: 1.375rem !important;
  }
  
  .cce-order-submessage {
    font-size: 0.9375rem !important;
    padding: 0 24px !important;
  }
  
}

/* ========================================
   THANK YOU PAGE - Organic Brand Style
   ======================================== */

/* ========================================
   THANK-YOU PAGE — Compact, brand-consistent layout
   ======================================== */
.cce-thankyou {
  max-width: 720px !important;
  margin: 8px auto 32px !important;
  padding: 0 20px !important;
  font-family: brandon-grotesque, -apple-system, BlinkMacSystemFont, sans-serif !important;
  /* If the site header is expanded when this page loads, ensure the top of
     the thank-you content scrolls clear of the fixed header stack. */
  scroll-margin-top: calc(var(--cce-header-stack-offset, var(--eg-sticky-top, var(--eg-anchor-offset, 100px))) + 16px) !important;
}

/* Wider container on large screens to support two-column body layout */
@media (min-width: 960px) {
  .cce-thankyou {
    max-width: 960px !important;
  }
}

/* Body grid — full-width single column on mobile, 2-column on large screens */
.cce-thankyou__body-grid {
  display: block !important;
}

@media (min-width: 860px) {
  .cce-thankyou__body-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }

  .cce-thankyou__body-main {
    min-width: 0 !important;
  }

  .cce-thankyou__body-aside {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    position: sticky !important;
    top: calc(var(--cce-header-stack-offset, var(--eg-sticky-top, 120px)) + 16px) !important;
  }

  /* When phone capture is shown, give a touch more weight to aside */
  .cce-thankyou__body-grid--has-aside {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) !important;
  }

  /* When there's no aside (no phone capture needed), main content goes
     full-width instead of leaving a half-empty right column. Higher
     specificity overrides the base grid rule above. */
  .cce-thankyou__body-grid.cce-thankyou__body-grid--no-aside {
    display: block !important;
  }

  /* Action buttons sit side-by-side in aside column on desktop */
  .cce-thankyou__body-aside .cce-thankyou__actions {
    flex-direction: column !important;
    gap: 8px !important;
    margin-top: 0 !important;
  }

  .cce-thankyou__body-aside .cce-thankyou__btn {
    width: 100% !important;
  }
}

/* Final action row sits at the very bottom of the thank-you content,
   below the body grid. Centered, comfortable width, full-width on
   mobile. Replaces the previous sticky-aside action placement. */
.cce-thankyou__actions--final {
  margin: 28px auto 0 !important;
  max-width: 560px !important;
}

/* ── Collapsible order details on the thank-you page ──
   Replaces WC's default verbose order details table with a one-click
   expand. The COLLAPSED state matches the brand's Tier 2 secondary
   button pattern (light bg, sage border, brand green text) so it
   reads unambiguously as a button. Same styling as
   .cce-thankyou__btn--secondary and the brand-doc §10 button spec. */
.cce-thankyou__order-details {
  border: 1.5px solid var(--cce-brand-sage, #a5ccbc) !important;
  border-radius: 6px !important;
  background: #f5f9f6 !important;
  margin: 16px 0 !important;
  overflow: hidden !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}

.cce-thankyou__order-details[open] {
  background: #fff !important;
  border-color: var(--cce-border-subtle, #e2ece7) !important;
}

.cce-thankyou__order-details-summary {
  /* IMPORTANT: list-style + display:flex together kill the native disclosure
     triangle in modern browsers. Some browsers (esp. older Safari) need
     list-style-type and list-style-image set individually. */
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
  cursor: pointer !important;
  padding: 12px 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
  font-family: inherit !important;
}

.cce-thankyou__order-details-summary:hover {
  background: rgba(165, 204, 188, 0.25) !important;
}

.cce-thankyou__order-details-summary:focus-visible {
  outline: 2px solid var(--cce-accent, #2c5e54) !important;
  outline-offset: 2px !important;
}

/* Triple-belt-and-suspenders kill of the native disclosure marker.
   Different browsers expose it via different pseudo-elements - hit them
   all to make sure no second triangle shows up next to our CSS-drawn
   chevron. Includes both ::marker AND ::-webkit-details-marker AND
   ::before in case any theme adds content there. */
.cce-thankyou__order-details > summary::-webkit-details-marker,
.cce-thankyou__order-details-summary::-webkit-details-marker {
  display: none !important;
  content: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.cce-thankyou__order-details > summary::marker,
.cce-thankyou__order-details-summary::marker {
  display: none !important;
  content: '' !important;
  color: transparent !important;
  font-size: 0 !important;
}

.cce-thankyou__order-details > summary::before,
.cce-thankyou__order-details-summary::before {
  content: none !important;
  display: none !important;
}

/* When expanded, show a clean divider between summary and content */
.cce-thankyou__order-details[open] .cce-thankyou__order-details-summary {
  border-bottom-color: var(--cce-border-subtle, #e2ece7) !important;
  background: #fafbfa !important;
}

.cce-thankyou__order-details-label {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--cce-accent, #2c5e54) !important;
  line-height: 1.4 !important;
}

.cce-thankyou__order-details-action {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--cce-accent, #2c5e54) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

/* CSS-drawn down-chevron - no unicode font rendering issues.
   Rotates 180deg when the details element is open. */
.cce-thankyou__order-details-chevron {
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 4px solid transparent !important;
  border-right: 4px solid transparent !important;
  border-top: 5px solid currentColor !important;
  transition: transform 0.2s ease !important;
  flex-shrink: 0 !important;
}

.cce-thankyou__order-details[open] .cce-thankyou__order-details-chevron {
  transform: rotate(180deg) !important;
}

.cce-thankyou__order-details-content {
  padding: 18px !important;
}

/* Brand-tweak the WC default tables when expanded inside our wrapper.
   We keep WC's table structure but soften it visually to match the
   wellness/spa aesthetic - quiet borders, sage accents, no loud chrome. */
.cce-thankyou__order-details-content .woocommerce-order-details,
.cce-thankyou__order-details-content .woocommerce-customer-details {
  margin: 0 !important;
}

.cce-thankyou__order-details-content .woocommerce-order-details + .woocommerce-customer-details {
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--cce-border-subtle, #e2ece7) !important;
}

.cce-thankyou__order-details-content h2,
.cce-thankyou__order-details-content h3 {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--cce-accent, #2c5e54) !important;
  margin: 0 0 12px !important;
}

.cce-thankyou__order-details-content table.shop_table,
.cce-thankyou__order-details-content table.woocommerce-table--order-details {
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  border-radius: 8px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  width: 100% !important;
  font-size: 0.9375rem !important;
  margin: 0 !important;
}

.cce-thankyou__order-details-content table.shop_table th,
.cce-thankyou__order-details-content table.woocommerce-table--order-details th {
  background: #fafbfa !important;
  padding: 10px 14px !important;
  font-weight: 600 !important;
  color: var(--cce-text-muted, #555) !important;
  font-size: 0.8125rem !important;
  text-align: left !important;
  border-bottom: 1px solid var(--cce-border-subtle, #e2ece7) !important;
}

.cce-thankyou__order-details-content table.shop_table td,
.cce-thankyou__order-details-content table.woocommerce-table--order-details td {
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  vertical-align: top !important;
}

.cce-thankyou__order-details-content table.shop_table tfoot tr:last-child td,
.cce-thankyou__order-details-content table.shop_table tbody tr:last-child td {
  border-bottom: none !important;
}

.cce-thankyou__order-details-content table.shop_table tfoot th {
  background: #fff !important;
}

.cce-thankyou__order-details-content .woocommerce-Price-amount {
  color: var(--cce-accent, #2c5e54) !important;
  font-weight: 600 !important;
}

/* ── Rich order-item rendering (cce_order_item) ──
   Mirrors the cart / email pattern: product image at left, branded name
   + decimal quantity with unit + item meta to the right. The order-details-item.php
   override (custom-checkout-experience/woocommerce/order/order-details-item.php)
   wraps the WC default content in this flex layout when a product image is
   present. Item rows without an image fall back to plain text - no awkward
   placeholder column. */
.cce-order-item-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

.cce-order-item-row__media {
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #fafbfa !important;
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
}

.cce-order-item-row__media img,
.cce-order-item-row__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

.cce-order-item-row__details {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.5 !important;
  color: var(--cce-text, #1f1f1f) !important;
}

.cce-order-item-row__details a {
  color: var(--cce-text, #1f1f1f) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.cce-order-item-row__details a:hover {
  color: var(--cce-accent, #2c5e54) !important;
}

.cce-order-item-row__details .product-quantity {
  color: var(--cce-text-muted, #555) !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  margin-left: 4px !important;
}

/* Item meta (fresh grind, jar option, etc.) rendered by wc_display_item_meta */
.cce-order-item-row__details .wc-item-meta,
.cce-order-item-row__details ul.wc-item-meta {
  margin: 4px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  font-size: 0.8125rem !important;
  color: var(--cce-text-muted, #555) !important;
}

.cce-order-item-row__details .wc-item-meta li {
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

.cce-order-item-row__details .wc-item-meta li + li::before {
  content: ' | ';
  color: var(--cce-text-label, #8b9a8f);
  margin: 0 4px;
}

.cce-order-item-row__details .wc-item-meta strong {
  font-weight: 500 !important;
  color: var(--cce-text-muted, #555) !important;
}

/* Mobile: keep the image + details side-by-side but tighten gaps */
@media (max-width: 540px) {
  .cce-order-item-row {
    gap: 10px !important;
  }

  .cce-order-item-row__media {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
  }
}

.cce-thankyou__order-details-content address {
  font-style: normal !important;
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
  color: var(--cce-text, #1f2937) !important;
  padding: 14px 16px !important;
  background: #fafbfa !important;
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  border-radius: 8px !important;
}

/* Mobile: stack label and action vertically so nothing wraps awkwardly */
@media (max-width: 540px) {
  .cce-thankyou__order-details-summary {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }

  .cce-thankyou__order-details-content {
    padding: 14px !important;
  }
}

/* Fallback: before focus-mode JS runs, push thank-you content clear of the
   fully-expanded header so the title is visible on first paint. Overridden
   inside .cce-header-focus-mode by the .site-inner rule. 260px covers an
   expanded site header (~210px) + top bar (~25px) + a safety buffer. */
body.woocommerce-order-received:not(.cce-header-focus-mode) .site-inner {
  padding-top: calc(var(--eg-sticky-top, 260px) + 8px) !important;
}
body.admin-bar.woocommerce-order-received:not(.cce-header-focus-mode) .site-inner {
  padding-top: calc(var(--eg-sticky-top, 292px) + 8px) !important;
}

.woocommerce-order-received .cce-thankyou__success,
.woocommerce-order-received .cce-thankyou__failed,
.woocommerce-order-received .cce-thankyou__empty {
  background: #ffffff !important;
  border: 1px solid var(--cce-border-brand, #c6ddd2) !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
  padding: 24px !important;
}

/* ── Header row: title left, order meta right ── */
.cce-thankyou__header-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
  margin-bottom: 16px !important;
}

.cce-thankyou__header-left {
  flex: 1 !important;
  min-width: 0 !important;
}

.cce-thankyou__header-right {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 16px !important;
  flex-shrink: 0 !important;
  background: var(--cce-bg-quiet, #f8faf9) !important;
  border: 1px solid var(--cce-border-subtle, #e5e7eb) !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  min-width: 240px !important;
}

/* Title */
.cce-thankyou__title {
  font-size: var(--cce-fs-lg, 1.25rem) !important;
  font-weight: 700 !important;
  color: var(--cce-accent, #2c5e54) !important;
  margin: 0 0 4px !important;
  text-align: left !important;
  letter-spacing: -0.01em !important;
}

.cce-thankyou__title--error {
  color: #b91c1c !important;
}

.cce-thankyou__subtitle {
  font-size: 0.9375rem !important;
  color: var(--cce-text-muted, #6b7280) !important;
  margin: 0 0 12px !important;
  text-align: left !important;
  line-height: 1.5 !important;
}

.cce-thankyou__message {
  font-size: 0.9375rem !important;
  color: var(--cce-text-muted, #6b7280) !important;
  text-align: center !important;
  line-height: 1.6 !important;
  margin: 0 0 16px !important;
}

/* Email confirmation — inline under title */
.cce-thankyou__confirmation {
  display: none !important; /* replaced by inline email-note */
}

.cce-thankyou__email-note {
  font-size: 0.875rem !important;
  color: var(--cce-text-muted, #6b7280) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

.cce-thankyou__email-note strong {
  color: var(--cce-text, #1f2937) !important;
}

/* Order detail cells */
.cce-thankyou__detail {
  display: flex !important;
  flex-direction: column !important;
  gap: 1px !important;
}

.cce-thankyou__detail-label {
  font-size: 0.6875rem !important;
  color: var(--cce-text-muted, #6b7280) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  font-weight: 600 !important;
}

.cce-thankyou__detail-value {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--cce-text, #1f2937) !important;
}

.cce-thankyou__detail-value--total {
  color: var(--cce-accent, #2c5e54) !important;
  font-size: 0.9375rem !important;
}

/* ── Fulfillment info box ── */
.cce-thankyou__fulfillment {
  background: var(--cce-gradient, linear-gradient(135deg, #e8f5f3 0%, #dce8e4 50%, #e0eef0 100%)) !important;
  border: 1px solid var(--cce-border-brand, #c6ddd2) !important;
  border-left: 3px solid var(--cce-accent, #2c5e54) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  margin: 0 0 12px !important;
}

.cce-thankyou__fulfillment--pickup,
.cce-thankyou__fulfillment--delivery,
.cce-thankyou__fulfillment--shipping {
  background: var(--cce-gradient, linear-gradient(135deg, #e8f5f3 0%, #dce8e4 50%, #e0eef0 100%)) !important;
}

.cce-thankyou__fulfillment-content strong {
  display: block !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: var(--cce-accent, #2c5e54) !important;
  margin-bottom: 4px !important;
}

.cce-thankyou__fulfillment-content p {
  font-size: 0.875rem !important;
  color: var(--cce-text, #1f2937) !important;
  margin: 0 !important;
  line-height: 1.55 !important;
}

.cce-thankyou__fulfillment-content ol {
  margin: 0.5em 0 !important;
  padding-left: 1.25em !important;
  font-size: 0.875rem !important;
  line-height: 1.7 !important;
}

/* Contact info box after fulfillment */
.cce-thankyou .cce-contact-info {
  background: var(--cce-bg-quiet, #f8faf9) !important;
  border: 1px solid var(--cce-border-subtle, #e5e7eb) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin: 0 0 14px !important;
  text-align: center !important;
  font-size: 0.8125rem !important;
}

/* Payment warning */
.cce-thankyou .cce-payment-warning {
  border-left: 3px solid #dc2626 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  margin: 0 0 12px !important;
  font-size: 0.875rem !important;
}

/* Phone capture */
.cce-thankyou__phone-capture {
  background: var(--cce-bg-quiet, #f8faf9) !important;
  border: 1px solid var(--cce-border-subtle, #e5e7eb) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  margin: 0 0 14px !important;
  text-align: left !important;
}

.cce-thankyou__phone-capture-title {
  margin: 0 0 4px !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: var(--cce-text, #1f2937) !important;
}

.cce-thankyou__phone-capture-copy {
  margin: 0 0 10px !important;
  color: var(--cce-text-muted, #6b7280) !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

.cce-thankyou__phone-capture-form {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

.cce-thankyou__phone-capture-input {
  flex: 1 1 200px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid var(--cce-border-subtle, #d1d5db) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--cce-text, #1f2937) !important;
  font-size: 0.9375rem !important;
}

.cce-thankyou__phone-capture-status {
  margin: 0 0 8px !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
}

.cce-thankyou__phone-capture-status--success {
  background: #d1fae5 !important;
  color: #065f46 !important;
}

.cce-thankyou__phone-capture-status--error {
  background: #fee2e2 !important;
  color: #991b1b !important;
}

/* ── Phone-saved success acknowledgement ──
   Replaces the phone-capture form in-place after the customer saves
   their number. Same overall shape (card in the aside) but with a
   clear confirmation state - big mint check, the saved phone echoed
   back so they can verify, and optional SMS opt-in confirmation if
   they opted in at the same time. Modern equivalent: a toast or
   inline flash without the layout silently collapsing. */
.cce-thankyou__phone-saved {
  background: linear-gradient(135deg, #e8f5f3 0%, #dce8e4 50%, #e0eef0 100%) !important;
  border: 1px solid rgba(165, 204, 188, 0.6) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  margin: 0 0 14px !important;
  text-align: left !important;
}

.cce-thankyou__phone-saved-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px !important;
  background: var(--cce-accent, #2c5e54) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
  line-height: 1 !important;
}

.cce-thankyou__phone-saved-title {
  margin: 0 0 6px !important;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  color: var(--cce-accent, #2c5e54) !important;
  line-height: 1.3 !important;
}

.cce-thankyou__phone-saved-detail {
  margin: 0 0 10px !important;
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
  color: var(--cce-text, #1f2937) !important;
}

.cce-thankyou__phone-saved-detail strong {
  color: var(--cce-accent, #2c5e54) !important;
}

.cce-thankyou__phone-saved-sms {
  margin: 8px 0 0 !important;
  padding: 10px 12px !important;
  background: rgba(255, 255, 255, 0.55) !important;
  border-radius: 6px !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  color: var(--cce-accent, #2c5e54) !important;
}

/* ── SMS opt-in inside the thank-you phone-capture form ──
   Without these rules, the disclosure <p> inherits theme defaults and
   blows up to body-text size (which dwarfs the surrounding form copy
   when zoomed out). Matches the styling used at checkout + My Account
   + the standalone thank-you SMS card so the consent experience is
   visually consistent everywhere it appears. */
.cce-thankyou__sms-optin {
  flex: 1 0 100% !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--cce-border-subtle, #e2ece7) !important;
}

.cce-thankyou__sms-optin-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--cce-text, #1f1f1f) !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
}

.cce-thankyou__sms-optin-checkbox {
  margin: 3px 0 0 !important;
  flex-shrink: 0 !important;
}

/* Verification-mode preamble: same soft mint callout pattern used at
   checkout + My Account (existgreen_get_sms_verification_preamble_html
   returns inline styled HTML, but this gives the wrapper consistent
   spacing). */
.cce-thankyou__sms-optin-preamble {
  margin-top: 10px !important;
}

/* The actual consent disclosure - quiet meta box, small font, brand
   green link color. Mirrors the style used inline on checkout. */
.cce-thankyou__sms-optin-disclosure {
  margin: 10px 0 0 !important;
  padding: 12px 14px !important;
  background: #fafbfa !important;
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  border-radius: 6px !important;
  font-size: 0.8125rem !important;
  line-height: 1.55 !important;
  color: var(--cce-text-muted, #555) !important;
}

.cce-thankyou__sms-optin-disclosure a {
  color: var(--cce-accent, #2c5e54) !important;
  text-decoration: underline !important;
}

/* ── Action buttons — side by side ── */
.cce-thankyou__actions {
  display: flex !important;
  gap: 10px !important;
  margin-top: 4px !important;
}

.cce-thankyou__btn {
  display: block !important;
  flex: 1 !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.cce-thankyou__btn--primary {
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
  border: 1.5px solid var(--cce-accent, #2c5e54) !important;
  box-shadow: none !important;
}

.cce-thankyou__btn--primary:hover {
  background: linear-gradient(135deg, #a5ccbc 0%, #bfe2dc 100%) !important;
  color: #1f1f1f !important;
}

.cce-thankyou__btn--secondary {
  background: white !important;
  color: var(--cce-text, #1f2937) !important;
  border: 1px solid var(--cce-border-subtle, #d1d5db) !important;
}

.cce-thankyou__btn--secondary:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
}

/* ── Mobile: stack header, single-column buttons ── */
@media (max-width: 600px) {
  .cce-thankyou {
    margin: 4px auto 20px !important;
    padding: 0 14px !important;
  }

  .woocommerce-order-received .cce-thankyou__success,
  .woocommerce-order-received .cce-thankyou__failed,
  .woocommerce-order-received .cce-thankyou__empty {
    padding: 16px !important;
  }

  .cce-thankyou__header-row {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .cce-thankyou__header-right {
    min-width: 0 !important;
    width: 100% !important;
  }

  .cce-thankyou__title {
    font-size: 1.125rem !important;
  }

  .cce-thankyou__actions {
    flex-direction: column !important;
  }

  .cce-thankyou__fulfillment {
    padding: 12px 14px !important;
  }
}

/* Hide default WooCommerce thank you styling when our template is active */
.cce-thankyou + .woocommerce-order-overview,
.cce-thankyou ~ .woocommerce-order-overview {
  display: none !important;
}

/* Hide company field on checkout (consumer-facing store) */
.cce-hidden-field {
  display: none !important;
}

/* Hide Update Cart button — AJAX auto-updates handle quantity changes.
   Button stays in DOM for programmatic shipping rate updates. */
.eg-update-cart-btn {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  padding: 0 !important;
  margin: -1px !important;
}

/* ========================================
   VISUAL HIERARCHY — Cart Item Rows
   Primary flow: product → quantity → subtotal
   Secondary: volume controls, item notes
   Scoped to .cce-focused-page so existing pages unaffected
   ======================================== */

/* --- Step 1 header: use the gradient treatment from survey --- */
.cce-focused-page .cce-cart-step--primary {
  background: var(--cce-gradient) !important;
  padding: 14px 18px !important;
  border-radius: var(--cce-radius) !important;
  border-left: 3px solid var(--cce-accent-light) !important;
  margin-bottom: 18px !important;
}

.cce-focused-page .cce-cart-step__title {
  color: var(--cce-accent) !important;
  font-size: var(--cce-fs-lg) !important;
  margin: 0 0 2px !important;
}

.cce-focused-page .cce-cart-step__intro {
  color: var(--cce-text-muted) !important;
  font-size: var(--cce-fs-sm) !important;
  margin: 0 !important;
}

/* --- Product name: clear primary hierarchy --- */
.cce-focused-page .eg-cart-product-details a {
  font-size: var(--cce-fs-base) !important;
  font-weight: 600 !important;
  color: var(--cce-text) !important;
  line-height: 1.3 !important;
}

/* --- Unit price: quiet, secondary info --- */
.cce-focused-page .cart-item-unit-price {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-muted) !important;
  font-style: normal !important;
  margin-top: 2px !important;
}

/* --- Subtotal: the payoff — bold and clear --- */
.cce-focused-page .eg-subtotal-in-quantity {
  font-size: var(--cce-fs-md) !important;
  font-weight: 700 !important;
  color: var(--cce-accent-dark) !important;
  padding-top: 10px !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

/* Volume controls (match-volume + edit-volume) — inline in notes area */
.cce-focused-page .pbv-match-volume-wrap {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  font-size: inherit !important;
  color: var(--cce-text-muted) !important;
}

.cce-focused-page .pbv-match-volume-label {
  display: inline-flex !important;
  align-items: center !important;
  font-size: inherit !important;
  color: var(--cce-text-muted) !important;
  gap: 4px !important;
  cursor: pointer !important;
}

/* Brand-green checkbox instead of browser default pink */
.cce-focused-page .pbv-match-volume-exactly-checkbox {
  accent-color: var(--cce-accent, #2c5e54) !important;
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
}

.cce-focused-page .eg-cart-volume-edit-wrap {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Pipe separator between notes and volume controls */
.cce-focused-page .eg-cart-item-notes .pbv-match-volume-wrap::before {
  content: '|' !important;
  margin: 0 6px !important;
  color: var(--cce-text-muted) !important;
  opacity: 0.5 !important;
}

.cce-focused-page .eg-cart-item-notes .eg-cart-volume-edit-wrap::before {
  content: '|' !important;
  margin: 0 6px !important;
  color: var(--cce-text-muted) !important;
  opacity: 0.5 !important;
}

/* Edit volume button: subtle text link style */
.cce-focused-page .eg-cart-change-volume-btn {
  font-size: inherit !important;
  color: var(--cce-accent) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  text-transform: none !important;
}

.cce-focused-page .eg-cart-change-volume-btn:hover {
  color: var(--cce-accent-dark) !important;
  background: transparent !important;
  border: none !important;
}

/* --- Item notes row: quiet footnote, not a competing section --- */
.cce-focused-page .eg-cart-item-notes-row td.eg-cart-item-notes-cell {
  padding: 0 12px 8px !important;
}

.cce-focused-page .eg-cart-item-notes {
  background: transparent !important;
  border: none !important;
  border-left: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
  /* All notes content flows inline */
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Hide the "Item notes:" header — context is self-explanatory from position */
.cce-focused-page .eg-cart-item-notes-label {
  display: none !important;
}

/* Each note row sits inline, not stacked */
.cce-focused-page .eg-cart-item-note-row {
  display: inline !important;
}

/* Pipe separator between note rows when multiple exist */
.cce-focused-page .eg-cart-item-note-row + .eg-cart-item-note-row::before {
  content: '|' !important;
  margin: 0 6px !important;
  color: var(--cce-text-muted) !important;
  opacity: 0.4 !important;
}

/* Volume-specific note labels */
.cce-focused-page .eg-cart-live-note-label {
  color: var(--cce-text-label) !important;
}

.cce-focused-page .eg-cart-volume-now-value {
  color: var(--cce-text-muted) !important;
}

/* Volume controls (match + edit) already handled inline above (~line 8101) */

/* --- Row separation: subtle card feel --- */
.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item,
.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item.eg-cart-row-has-volume {
  background: #fff !important;
}

.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td,
.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item.eg-cart-row-has-volume td {
  background: transparent !important;
}

/* Gentle separator between items */
.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item + tr:not(.eg-cart-item-notes-row) td {
  border-top: 6px solid var(--cce-sage-bg) !important;
}

/* Notes row merges with its parent item (no extra gap) */
.cce-focused-page .eg-cart-item-notes-row {
  background: var(--cce-card-bg) !important;
}
.cce-focused-page .eg-cart-item-notes-row td {
  background: transparent !important;
  border-top: none !important;
}

/* --- Volume disclaimer: quiet through color/style, not tiny size --- */
.cart-volume-disclaimer,
.cce-focused-page .cart-volume-disclaimer {
  display: block !important;
  font-size: 13px !important;
  color: #999 !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
  max-width: 480px !important;
}

.cce-focused-page .cart-volume-disclaimer--inline {
  margin-top: 0 !important;
  flex: 1 1 auto !important;
}

/* --- Cart footer row: subtle background to close out the table --- */
.cce-focused-page .eg-cart-footer-row {
  background: #fafbfa !important;
  border-top: 2px solid #e2ece7 !important;
  padding: 10px 14px !important;
  border-radius: 0 0 var(--cce-radius) var(--cce-radius) !important;
  margin-top: 0 !important;
}

.cce-focused-page .eg-cart-subtotal-summary {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  text-align: right !important;
}

.cce-focused-page .eg-cart-subtotal-label {
  font-size: 14px !important;
  color: #6b7a6f !important;
  font-weight: 500 !important;
}

.cce-focused-page .eg-cart-subtotal-value {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #2c5e54 !important;
}

/* --- Checkout prompt: more inviting (only when unlocked) --- */
.cce-focused-page .cce-cart-checkout-prompt__button:not(.cce-prompt-locked) {
  background: linear-gradient(135deg, #2c5e54 0%, #3a7a6d 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--cce-radius-lg, 12px) !important;
  font-size: var(--cce-fs-base) !important;
  font-weight: 600 !important;
  padding: 14px 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
}

.cce-focused-page .cce-cart-checkout-prompt__button:hover:not([aria-disabled="true"]) {
  background: linear-gradient(135deg, #245249 0%, #2c5e54 100%) !important;
  box-shadow: 0 4px 12px rgba(44, 94, 84, 0.25) !important;
  transform: translateY(-1px) !important;
}

/* Locked state — still clickable (scrolls to fulfillment), styled as secondary action */
.cce-prompt-locked.cce-prompt-locked.cce-prompt-locked,
.woocommerce .cce-prompt-locked.cce-cart-checkout-prompt__button,
.cce-focused-page .cce-prompt-locked.cce-cart-checkout-prompt__button,
.woocommerce-cart .cce-focused-page button.button.cce-prompt-locked {
  background: linear-gradient(135deg, #a5ccbc 0%, #8bb8a8 100%) !important;
  background-color: #a5ccbc !important;
  color: #1e4a35 !important;
  border: 1px solid #8bb8a8 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: auto !important;
}

/* Locked button hover */
.cce-prompt-locked.cce-prompt-locked.cce-prompt-locked:hover,
.cce-focused-page .cce-prompt-locked.cce-cart-checkout-prompt__button:hover {
  background: linear-gradient(135deg, #8bb8a8 0%, #74a797 100%) !important;
  color: #1e4a35 !important;
  box-shadow: 0 2px 8px rgba(44, 94, 84, 0.15) !important;
}

.cce-focused-page .cce-cart-checkout-prompt__hint {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-label) !important;
  text-align: center !important;
  margin-top: 8px !important;
}

/* ========================================
   VISUAL HIERARCHY — Column 2 Sidebar
   Cart totals, fulfillment, checkout flow
   ======================================== */

/* Sidebar gets a subtle card treatment on desktop */
.cce-focused-page .cce-cart-col-2 {
  background: var(--cce-card-bg) !important;
  border: 1px solid var(--cce-border-brand) !important;
  border-radius: var(--cce-radius-lg, 12px) !important;
  padding: 20px !important;
  box-shadow: 0 2px 12px rgba(44, 94, 84, 0.06) !important;
}

/* Cart totals — clean and readable */
.cce-focused-page .cart_totals table th,
.cce-focused-page .cart_totals table td {
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
  border-bottom-color: var(--cce-border-subtle) !important;
}

.cce-focused-page .cart_totals .order-total th,
.cce-focused-page .cart_totals .order-total td {
  font-size: var(--cce-fs-md) !important;
  font-weight: 700 !important;
  color: var(--cce-accent-dark) !important;
}

/* Coupon / gift card area — quieter */
.cce-focused-page .cce-cart-coupon-wrapper,
.cce-focused-page .square-gift-card-wrapper {
  background: var(--cce-bg-quiet) !important;
  border: 1px solid var(--cce-border-subtle) !important;
  border-radius: var(--cce-radius) !important;
  padding: 14px !important;
}

.cce-focused-page .cce-cart-coupon-title,
.cce-focused-page .square-gift-card-wrapper > h3 {
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
  font-weight: 600 !important;
}

/* Coupon / gift card inner inputs — brand-consistent */
.cce-focused-page .cce-cart-coupon-wrapper input[name="coupon_code"],
.cce-focused-page .square-gift-card-wrapper input[type="text"] {
  border: 1px solid var(--cce-border) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
  padding: 10px 12px !important;
  background: var(--cce-card-bg) !important;
}

.cce-focused-page .cce-cart-coupon-wrapper input[name="coupon_code"]:focus,
.cce-focused-page .square-gift-card-wrapper input[type="text"]:focus {
  border-color: var(--cce-accent-light) !important;
  box-shadow: 0 0 0 2px rgba(165, 204, 188, 0.3) !important;
  outline: none !important;
}

/* Coupon / gift card apply buttons — secondary tier */
.cce-focused-page .cce-cart-coupon-wrapper button[name="apply_coupon"],
.cce-focused-page .square-gift-card-wrapper button:not(.square-remove-gift-card) {
  background: #f5f9f6 !important;
  border: 1.5px solid var(--cce-accent-light) !important;
  color: var(--cce-accent) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  padding: 10px 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background 0.2s, border-color 0.2s !important;
}

.cce-focused-page .cce-cart-coupon-wrapper button[name="apply_coupon"]:hover,
.cce-focused-page .square-gift-card-wrapper button:not(.square-remove-gift-card):hover {
  background: #eaf2ee !important;
  border-color: var(--cce-accent) !important;
  color: var(--cce-accent-dark) !important;
}

/* Earthies widget — clean white box with subtle border (overrides inline styles) */
.cce-focused-page .el-quick-redemption-widget,
.cce-focused-page .el-quick-redemption-widget-compact,
.cce-focused-page .el-cart-benefits-box {
  background: var(--cce-card-bg) !important;
  border: 1px solid var(--cce-border-subtle) !important;
  border-left: 1px solid var(--cce-border-subtle) !important;
  border-radius: var(--cce-radius) !important;
  padding: 14px !important;
  margin: 0 0 12px !important;
  box-shadow: none !important;
  font-family: brandon-grotesque, sans-serif !important;
}

/* Make the toggle fill the card — the whole card IS the button */
.cce-focused-page .el-earthies-accordion-toggle {
  padding: 14px !important;
  font-family: inherit !important;
  margin: -14px !important;
  width: calc(100% + 28px) !important;
  border-radius: var(--cce-radius) !important;
}

.cce-focused-page .el-earthies-accordion-body {
  padding: 6px 0 0 !important;
  font-family: inherit !important;
}

/* Earthies buttons inside widget — secondary tier */
.cce-focused-page .el-quick-redemption-widget button:not(.el-earthies-accordion-toggle),
.cce-focused-page .el-quick-redemption-widget-compact button:not(.el-earthies-accordion-toggle),
.cce-focused-page .el-apply-existing-coupon {
  background: #f5f9f6 !important;
  border: 1.5px solid var(--cce-accent-light) !important;
  color: var(--cce-accent) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  padding: 8px 14px !important;
  text-transform: none !important;
  transition: background 0.2s, border-color 0.2s !important;
}

.cce-focused-page .el-quick-redemption-widget button:not(.el-earthies-accordion-toggle):hover,
.cce-focused-page .el-quick-redemption-widget-compact button:not(.el-earthies-accordion-toggle):hover,
.cce-focused-page .el-apply-existing-coupon:hover {
  background: var(--cce-accent) !important;
  color: #fff !important;
  border-color: var(--cce-accent) !important;
}

/* "USE REWARDS" text — dark brand green, clearly clickable */
.cce-focused-page .el-earthies-accordion-toggle span[style*="underline"] {
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  color: var(--cce-accent, #2c5e54) !important;
  display: inline !important;
  letter-spacing: 0.3px !important;
}

/* Card border + subtle left accent bar */
.cce-focused-page .el-quick-redemption-widget,
.cce-focused-page .el-quick-redemption-widget-compact {
  border-left: 3px solid var(--cce-accent, #2c5e54) !important;
}

/* Hover on the TOGGLE BUTTON (fills full card via negative margin) — closed only */
/* Uses both JS class (.el-earthies-open) AND CSS-only :has() as fallback */
.cce-focused-page .el-quick-redemption-widget:not(.el-earthies-open) .el-earthies-accordion-toggle:hover,
.cce-focused-page .el-quick-redemption-widget-compact:not(.el-earthies-open) .el-earthies-accordion-toggle:hover {
  background: #f0f7f4 !important;
  cursor: pointer !important;
}
/* CSS-only fallback: if accordion body is visible, suppress hover even without JS class */
.cce-focused-page .el-quick-redemption-widget:has(.el-earthies-accordion-body[style*="display: block"]) .el-earthies-accordion-toggle:hover,
.cce-focused-page .el-quick-redemption-widget:has(.el-earthies-accordion-body[style*="display:block"]) .el-earthies-accordion-toggle:hover {
  background: transparent !important;
}

/* Toggle always clickable, transparent by default */
.cce-focused-page .el-earthies-accordion-toggle {
  background: transparent !important;
  transition: background 0.15s ease !important;
  cursor: pointer !important;
  gap: 10px !important;
  font-size: var(--cce-fs-sm) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cce-focused-page .el-earthies-accordion-toggle > span:first-child {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 10px !important;
}

.cce-focused-page .el-earthies-accordion-toggle > span:first-child > span:first-child {
  flex: 0 1 auto !important;
  color: var(--cce-accent-dark, #1e4a35) !important;
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.cce-focused-page .el-earthies-accordion-toggle > span:first-child > span:last-child {
  flex: 0 0 auto !important;
  font-size: var(--cce-fs-xs) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.cce-focused-page .el-earthies-accordion-arrow {
  flex: 0 0 auto !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

/* ========================================
   VISUAL HIERARCHY — Step 2 Fulfillment
   Gradient header to match Step 1
   ======================================== */

/* Step 2 header: same gradient treatment as Step 1 */
.cce-focused-page .cce-cart-step--secondary {
  background: var(--cce-gradient) !important;
  padding: 14px 18px !important;
  border-radius: var(--cce-radius) !important;
  border-left: 3px solid var(--cce-accent-light) !important;
  margin-bottom: 14px !important;
}

.cce-focused-page .cce-cart-step--secondary .cce-cart-step__title {
  color: var(--cce-accent) !important;
  font-size: var(--cce-fs-lg) !important;
  margin: 0 0 2px !important;
}

.cce-focused-page .cce-cart-step--secondary .cce-cart-step__intro {
  color: var(--cce-text-muted) !important;
  font-size: var(--cce-fs-sm) !important;
  margin: 0 !important;
}

/* Fulfillment cards — lift the selected one, hush the others */
.cce-focused-page .cce-fulfillment-option {
  border-radius: var(--cce-radius-lg, 12px) !important;
  transition: all 0.2s ease !important;
}

.cce-focused-page .cce-fulfillment-option:not(.is-selected) {
  border-color: var(--cce-border) !important;
}

.cce-focused-page .cce-fulfillment-option.is-selected {
  background: linear-gradient(135deg, #f0f8f6 0%, #ebf1ee 50%, #edf4f6 100%) !important;
  border-color: #a5ccbc !important;
  border-width: 1.5px !important;
  border-left: 4px solid #2c5e54 !important;
  box-shadow: 0 0 0 2px #bfe2dc !important;
}

/* Option title — use type scale */
.cce-focused-page .cce-fulfillment-option__title {
  font-size: var(--cce-fs-sm) !important;
}

/* Description — quiet through color, not size */
.cce-focused-page .cce-fulfillment-option__description {
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
}

/* Rate badges — tiny pills */
.cce-focused-page .cce-fulfillment-option__rate {
  font-size: var(--cce-fs-xs) !important;
  border-radius: var(--cce-radius) !important;
}

/* Step 2 reveal button — uses gradient bg (unique to this button) + unified sizing from button system below */
.cce-focused-page .cce-step-2-reveal-btn {
  background: var(--cce-gradient) !important;
  border: 1.5px solid var(--cce-accent-light) !important;
  color: var(--cce-accent) !important;
}

.cce-focused-page .cce-step-2-reveal-btn:hover {
  background: linear-gradient(135deg, #dce8e4 0%, #d0ddd8 50%, #d7edf0 100%) !important;
  border-color: var(--cce-accent) !important;
}

/* ========================================
   VISUAL HIERARCHY — Global Order Notes
   Below cart table, should feel like a quiet aside
   ======================================== */

.cce-focused-page .cce-global-order-notes {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 0 !important;
  margin-top: 16px !important;
}

.cce-focused-page .cce-global-order-notes h3 {
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
  font-weight: 600 !important;
  margin: 0 0 8px !important;
}

.cce-focused-page .cce-order-notes-textarea {
  border: 1px solid var(--cce-border) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
  padding: 10px 12px !important;
  resize: vertical !important;
  min-height: 60px !important;
  background: var(--cce-bg-meta) !important;
  color: var(--cce-text) !important;
  transition: border-color 0.2s !important;
}

.cce-focused-page .cce-order-notes-textarea:focus {
  border-color: var(--cce-accent-light) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(165, 204, 188, 0.3) !important;
}

/* ========================================
   VISUAL HIERARCHY — Fulfillment Button System
   Unified sizing, padding, radius, and color
   for every button in the fulfillment flow.
   ======================================== */

/*
 * Three button tiers:
 *   PRIMARY   — solid green gradient, white text (checkout CTA)
 *   SECONDARY — gradient bg, brand border, brand text (fulfillment actions)
 *   TERTIARY  — transparent/subtle, smaller, text-link feel (zip reset, etc.)
 */

/* --- SECONDARY tier: fulfillment action buttons --- */
/* Unified: 14px, 600 weight, sentence-case, 6px radius, consistent padding */
.cce-focused-page .cce-step-2-reveal-btn,
.cce-focused-page .cce-cart-local-reveal-btn,
.cce-focused-page .cce-zip-checker__toggle,
.cce-focused-page .cce-zip-checker__button {
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-radius: var(--cce-radius) !important;
  padding: 10px 14px !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
  font-family: brandon-grotesque, sans-serif !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
}

/* Secondary default: light sage bg, brand border */
.cce-focused-page .cce-cart-local-reveal-btn,
.cce-focused-page .cce-zip-checker__toggle,
.cce-focused-page .cce-zip-checker__button {
  background: #f5f9f6 !important;
  border: 1.5px solid var(--cce-accent-light) !important;
  color: var(--cce-accent) !important;
}

.cce-focused-page .cce-cart-local-reveal-btn:hover,
.cce-focused-page .cce-zip-checker__toggle:hover,
.cce-focused-page .cce-zip-checker__button:hover {
  background: #eaf2ee !important;
  border-color: var(--cce-accent) !important;
  color: var(--cce-accent-dark) !important;
}

/* Zip checker button disabled */
.cce-focused-page .cce-zip-checker__button:disabled {
  background: #f3f4f6 !important;
  border-color: var(--cce-border) !important;
  color: #999 !important;
  cursor: not-allowed !important;
}

/* --- TERTIARY tier: small quiet actions --- */
.cce-focused-page .cce-zip-checker__reset {
  font-size: var(--cce-fs-xs) !important;
  font-weight: 500 !important;
  color: var(--cce-accent) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.cce-focused-page .cce-zip-checker__reset:hover {
  color: var(--cce-accent-dark) !important;
  background: transparent !important;
  border: none !important;
}

/* --- Zip checker content area: unified with site aesthetic --- */
.cce-focused-page .cce-zip-checker__content {
  background: var(--cce-bg-meta) !important;
  border: 1px solid var(--cce-border-subtle) !important;
  border-top: none !important;
  border-radius: 0 0 var(--cce-radius) var(--cce-radius) !important;
  padding: 12px !important;
}

/* Zip input — cleaner */
.cce-focused-page .cce-zip-checker__input {
  border: 1px solid var(--cce-border) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  padding: 10px 14px !important;
}

.cce-focused-page .cce-zip-checker__input:focus {
  border-color: var(--cce-accent-light) !important;
  box-shadow: 0 0 0 2px rgba(165, 204, 188, 0.3) !important;
  outline: none !important;
}

/* Zip result messages — use consistent left-border pattern */
.cce-focused-page .cce-zip-result--success {
  background: #eef7f2 !important;
  border-left: 3px solid var(--cce-accent-light) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
}

.cce-focused-page .cce-zip-result--warning {
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
}

.cce-focused-page .cce-zip-result--error {
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
}

/* --- Zip checker inside delivery card: tighter --- */
.cce-focused-page .cce-delivery-zip-checker {
  border-top: 1px solid var(--cce-border-subtle) !important;
  padding: 10px 12px 12px !important;
}

.cce-focused-page .cce-delivery-zip-checker .cce-zip-checker__toggle {
  padding: 8px 10px !important;
  font-size: var(--cce-fs-xs) !important;
}

/* --- Local reveal: icons match brand --- */
.cce-focused-page .cce-cart-local-reveal-btn .cce-btn-icon {
  color: var(--cce-accent) !important;
}

/* Local reveal note text — quieter */
.cce-focused-page .cce-cart-local-reveal-note {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-muted) !important;
  margin: 10px 0 8px !important;
}

/* --- "What Happens Next" — Step 3 preview, subtle hint --- */
.cce-focused-page .eg-what-happens-next {
  background: var(--cce-bg-meta) !important;
  border: 1px solid var(--cce-border-subtle) !important;
  border-radius: var(--cce-radius) !important;
  padding: 10px 12px !important;
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-muted) !important;
}

.cce-focused-page .eg-step-3-label {
  color: var(--cce-accent) !important;
  font-size: var(--cce-fs-xs) !important;
}

.cce-focused-page .eg-lock-small {
  color: var(--cce-accent-light) !important;
}

/* --- Checkout prompt container: cleaner --- */
.cce-focused-page .cce-cart-checkout-prompt {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 16px !important;
  box-shadow: none !important;
}

/* --- Fulfillment saved hint: uses brand --- */
.cce-focused-page .cce-fulfillment-saved-hint {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-accent) !important;
}

/* --- Trust signals: consistent tiny type --- */
.cce-focused-page .eg-trust-item {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-muted) !important;
}

.cce-focused-page .eg-trust-item svg {
  color: var(--cce-accent) !important;
}

/* ========================================
   RESPONSIVE — Focused page mobile
   ======================================== */

/* ========================================
   VISUAL HIERARCHY — Remaining Cart Elements
   Progress bar, table headers, product card,
   remove button, quantity buttons, row spacing
   ======================================== */

/* --- Progress indicator: clean inline text, no banner, no track bar ---
   Three labels in a row with chevron separators. Minimal and quiet. --- */
.cce-focused-page .eg-checkout-progress.eg-progress-standalone {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  padding: 8px 16px 10px !important;
  background: transparent !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  position: relative !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Progress track bar — matches the survey progress bar exactly:
   4px height, #eceae6 track, mint-to-green gradient fill */
.cce-focused-page .eg-checkout-progress.eg-progress-standalone::after {
  content: '' !important;
  display: block !important;
  flex-basis: 100% !important;
  width: 100% !important;
  height: 4px !important;
  background: #eceae6 !important;
  border-radius: 2px !important;
  margin-top: 6px !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Cart page = ~33% filled */
.cce-focused-page.cce-cart-page .eg-checkout-progress.eg-progress-standalone::after {
  background: linear-gradient(90deg, #bfe2dc 0%, #2c5e54 33%, #eceae6 33%) !important;
}

/* Checkout page = ~66% filled */
.cce-focused-page.cce-checkout-page .eg-checkout-progress.eg-progress-standalone::after {
  background: linear-gradient(90deg, #bfe2dc 0%, #2c5e54 66%, #eceae6 66%) !important;
}

/* Step containers: inline, no column layout */
.cce-focused-page .eg-checkout-progress .eg-progress-step {
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
  z-index: 2 !important;
}

/* Hide the dots entirely */
.cce-focused-page .eg-checkout-progress .eg-progress-dot {
  display: none !important;
}

/* Step labels: readable, lowercase, quiet through color */
.cce-focused-page .eg-checkout-progress .eg-progress-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  color: #b0b8b4 !important;
  letter-spacing: 0 !important;
}

/* Active step: brand green, bold */
.cce-focused-page .eg-checkout-progress .eg-progress-active .eg-progress-label {
  font-weight: 700 !important;
  color: var(--cce-accent) !important;
}

/* Completed step: green, medium weight */
.cce-focused-page .eg-checkout-progress .eg-progress-completed .eg-progress-label {
  color: var(--cce-accent) !important;
  font-weight: 600 !important;
}

/* Disabled step: muted */
.cce-focused-page .eg-checkout-progress .eg-progress-disabled .eg-progress-label {
  color: #c8ccc9 !important;
  opacity: 1 !important;
}

.cce-focused-page .eg-checkout-progress .eg-progress-disabled {
  opacity: 1 !important;
}

/* Connecting lines become chevron separators — flex to fill space */
.cce-focused-page .eg-checkout-progress .eg-progress-line {
  width: auto !important;
  height: auto !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 8px !important;
  align-self: center !important;
  flex: 1 !important;
  text-align: center !important;
  font-size: 11px !important;
  color: #c8ccc9 !important;
  line-height: 1 !important;
}

/* Use CSS to show a chevron character */
.cce-focused-page .eg-checkout-progress .eg-progress-line::before {
  content: '›' !important;
  font-size: 14px !important;
  color: inherit !important;
}

.cce-focused-page .eg-checkout-progress .eg-progress-line-completed {
  color: var(--cce-accent-light) !important;
  background: none !important;
}

/* --- Cart page: slim progress bar --- */
.cce-focused-page.cce-cart-page .eg-checkout-progress.eg-progress-standalone {
  padding: 6px 16px !important;
  margin: 0 0 4px !important;
}

/* --- Mega menu: remove gap on focus-mode pages so dropdown sits flush below header --- */
body.cce-header-focus-mode .eg-dropdown {
  margin-top: 0 !important;
}

/* --- Mega menu: ensure dropdown escapes header constraints when expanded --- */
body.cce-header-focus-mode.cce-header-expanded .site-header .nav-primary,
body.cce-header-focus-mode.cce-header-expanded .site-header .genesis-nav-menu {
  overflow: visible !important;
}

/* --- Mega menu: hide progress bar when dropdown is open so it doesn't block --- */
body.cce-header-focus-mode:has(.eg-dropdown.open) .eg-checkout-progress.eg-progress-standalone {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.15s ease !important;
}

/* --- Mega menu: ensure dropdown renders above all cart/checkout content --- */
body.cce-header-focus-mode .eg-dropdown.open {
  z-index: 100000 !important;
}

/* --- Table headers: quiet through color/weight, not shrinking --- */
.cce-focused-page .woocommerce-cart-form table.cart thead,
.cce-focused-page .woocommerce-cart-form table.cart thead tr {
  background: transparent !important;
}

.cce-focused-page .woocommerce-cart-form table.cart thead th {
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-label) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  border-bottom: 1px solid #eceae6 !important;
  background: transparent !important;
}

/* --- Product info cell: no competing card border ---
   The sage gap between rows handles separation. */
.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td.product-info {
  border: none !important;
  border-radius: 0 !important;
}

/* --- Remove button: softer, less heavy --- */
.cce-focused-page .woocommerce-cart-form .product-remove a.remove {
  background: transparent !important;
  color: #b0b8b4 !important;
  font-size: 18px !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  transition: color 0.2s !important;
}

.cce-focused-page .woocommerce-cart-form .product-remove a.remove:hover {
  background: transparent !important;
  color: #dc2626 !important;
}

/* --- Quantity container: grid keeps row together, conversion below --- */
.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity {
  display: grid !important;
  grid-template-columns: auto 1fr auto auto !important;
  align-items: center !important;
}

.cce-focused-page .woocommerce-cart-form__contents .product-quantity .eg-lbs-conversion,
.cce-focused-page .woocommerce-cart-form__contents .product-quantity .eg-unit-conversion,
.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity .eg-low-stock {
  grid-column: 1 / -1 !important;
  display: block !important;
  margin-top: 4px !important;
  font-size: var(--cce-fs-xs, 0.8125rem) !important;
  color: var(--cce-text-muted) !important;
}

/* Focused cart: low-stock warning flows horizontally under the input controls. */
.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity .eg-low-stock {
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-align: right !important;
  line-height: 1.3 !important;
}

/* --- Quantity +/- buttons: brand-aware --- */
.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity button {
  background: #f5f9f6 !important;
  border-color: var(--cce-border-brand) !important;
  color: var(--cce-accent) !important;
  transition: background 0.15s, border-color 0.15s !important;
}

.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity button:hover {
  background: #eaf2ee !important;
  border-color: var(--cce-accent) !important;
}

/* Quantity input — subtle brand focus ring */
.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity input.qty {
  border-color: var(--cce-border-brand) !important;
}

.cce-focused-page .woocommerce-cart-form__contents .product-quantity .quantity input.qty:focus {
  border-color: var(--cce-accent-light) !important;
  box-shadow: 0 0 0 2px rgba(165, 204, 188, 0.3) !important;
  outline: none !important;
}

/* --- Row separation: clean up triple-layer separation ---
   Remove the old bottom-border since sage gap handles it. */
.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item td {
  border-bottom: none !important;
}

.cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item:not(:last-child) td {
  border-bottom: none !important;
}

/* Notes row closes its product group with a sage separator */
.cce-focused-page .eg-cart-item-notes-row td.eg-cart-item-notes-cell {
  border-bottom: none !important;
  padding-bottom: 12px !important;
}
/* Sage divider after notes row before the next product */
.cce-focused-page .eg-cart-item-notes-row + tr.woocommerce-cart-form__cart-item td {
  border-top: 6px solid var(--cce-sage-bg) !important;
}

/* --- Thumbnail: slightly larger radius for modern feel --- */
.cce-focused-page .eg-cart-thumbnail img {
  border-radius: var(--cce-radius) !important;
}

/* --- Brand name: legible but still secondary to product name --- */
.cce-focused-page .eg-cart-product-details .product-brand {
  font-size: var(--cce-fs-sm) !important;
  color: #6b7a6f !important;
  letter-spacing: 0.2px !important;
  font-style: italic !important;
}

/* --- Local-only indicator: match brand palette --- */
.cce-focused-page .eg-local-only-cart-copy--first {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-muted) !important;
  font-weight: 500 !important;
  max-width: none !important;
}

/* Inline icon in the local-only note — matches the product indicator */
.eg-local-only-cart-copy__icon {
  display: inline-block !important;
  width: 1em !important;
  height: 1em !important;
  vertical-align: -0.1em !important;
  background-image: var(--eg-local-only-icon, url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%3E%3Cpath%20d%3D%27M4%209.5%2016%204l12%205.5v13L16%2028l-12-5.5z%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M4%209.5%2016%2015l12-5.5%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M16%2015v13%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linejoin%3D%27round%27%2F%3E%3Ccircle%20cx%3D%2722%27%20cy%3D%2722%27%20r%3D%277%27%20fill%3D%27%23ffffff%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27m18%2026%208-8%27%20fill%3D%27none%27%20stroke%3D%27currentColor%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E")) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
}

/* --- PBV yellow background override: volume rows stay clean on focused page --- */
/* Volume row bg now handled in main cart-item rule above (line ~8249) */

/* ========================================
   CHECKOUT PAGE — Comprehensive focused-page
   treatment matching the cart page's brand
   hierarchy, survey-style cleanliness, and
   consistent typography scale.
   ======================================== */

/* ---------------------------------------------------
   SECTION HEADERS — Same gradient treatment as cart
   --------------------------------------------------- */

/* Billing Details / Shipping / Additional Info — gradient header like cart steps */
.cce-focused-page .woocommerce-billing-fields > h3,
.cce-focused-page .woocommerce-shipping-fields > h3,
.cce-focused-page .woocommerce-additional-fields > h3,
.cce-focused-page #ship-to-different-address {
  background: var(--cce-gradient) !important;
  padding: 12px 16px !important;
  border-radius: var(--cce-radius) !important;
  border-left: 3px solid var(--cce-accent-light) !important;
  border-bottom: none !important;
  font-size: var(--cce-fs-lg) !important;
  font-weight: 700 !important;
  color: var(--cce-accent) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  margin: 0 0 16px !important;
}

/* "Ship to different address" is an h3 wrapping a label — make the label match */
.cce-focused-page #ship-to-different-address label {
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  cursor: pointer !important;
}

/* ---------------------------------------------------
   FORM FIELDS — Clean, branded, good focus states
   --------------------------------------------------- */

/* Field wrapper: flex layout so form-row-first/last pair side-by-side */
.cce-focused-page .woocommerce-billing-fields__field-wrapper,
.cce-focused-page .woocommerce-shipping-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 16px !important;
}

.cce-focused-page .woocommerce-billing-fields__field-wrapper .form-row-first,
.cce-focused-page .woocommerce-billing-fields__field-wrapper .form-row-last,
.cce-focused-page .woocommerce-shipping-fields__field-wrapper .form-row-first,
.cce-focused-page .woocommerce-shipping-fields__field-wrapper .form-row-last {
  flex: 1 1 calc(50% - 8px) !important;
  max-width: calc(50% - 8px) !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
}

.cce-focused-page .woocommerce-billing-fields__field-wrapper .form-row-wide:not(.cce-city-state-zip),
.cce-focused-page .woocommerce-shipping-fields__field-wrapper .form-row-wide:not(.cce-city-state-zip) {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* City / State / Zip: layout depends on column mode */
.cce-focused-page .cce-city-state-zip {
  float: none !important;
  clear: none !important;
  width: auto !important;
}

/* Two-column (default): city full-width, state + zip share a row 50/50 */
.cce-focused-page .cce-field-city {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

.cce-focused-page .cce-field-state,
.cce-focused-page .cce-field-zip {
  flex: 1 1 calc(50% - 8px) !important;
  max-width: calc(50% - 8px) !important;
}

/* Single-column (768px): more room — city 50%, state 25%, zip 25% on one row */
@media (max-width: 768px) {
  .cce-focused-page .cce-field-city {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }

  .cce-focused-page .cce-field-state,
  .cce-focused-page .cce-field-zip {
    flex: 1 1 calc(25% - 12px) !important;
    max-width: calc(25% - 12px) !important;
  }
}

/* Small phones: back to city full-width, state + zip 50/50 */
@media (max-width: 480px) {
  .cce-focused-page .cce-field-city {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  .cce-focused-page .cce-field-state,
  .cce-focused-page .cce-field-zip {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }
}

/* Field descriptions: override blue tooltips with quiet inline text */
.cce-focused-page .woocommerce-checkout .form-row:not(.sms-opt-in-field) .description {
  display: block !important;
  position: static !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--cce-text-label, #8b9a8f) !important;
  font-size: var(--cce-fs-xs, 0.8125rem) !important;
  font-style: normal !important;
  padding: 4px 0 0 !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  white-space: normal !important;
  opacity: 1 !important;
}

/* SMS opt-in disclosure: ALWAYS visible per TCR / Twilio A2P 10DLC compliance.
   Customers must be able to read the consent terms BEFORE deciding to check
   the opt-in box. Previous behavior (hidden until checked) caused the original
   campaign rejection for "CTA verification failed". The tooltip override
   styling (background, border, font sizing) is provided by the inline <style>
   block in simple-order-status-emails/sms-integration.php. */
.cce-focused-page .sms-opt-in-field .description,
.cce-focused-page #sms_opt_in_field .description,
.cce-focused-page .woocommerce-checkout .sms-opt-in-field .description,
.cce-focused-page .woocommerce-checkout #sms_opt_in_field .description {
  display: block !important;
}

.cce-focused-page .woocommerce-checkout .form-row .description::before,
.cce-focused-page .woocommerce-checkout .form-row .description::after,
.cce-focused-page .woocommerce-checkout .woocommerce-input-wrapper .description::before,
.cce-focused-page .woocommerce-checkout .woocommerce-input-wrapper .description::after {
  display: none !important;
}

/* Labels: quiet hierarchy */
.cce-focused-page .woocommerce-checkout .form-row label {
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  color: var(--cce-text-muted) !important;
  margin-bottom: 4px !important;
}

/* Inputs: consistent sizing */
.cce-focused-page .woocommerce-checkout .form-row input:not([type="checkbox"]):not([type="radio"]),
.cce-focused-page .woocommerce-checkout .form-row select,
.cce-focused-page .woocommerce-checkout .form-row textarea,
.cce-focused-page .woocommerce-checkout .select2-container .select2-selection--single {
  font-size: var(--cce-fs-sm) !important;
  padding: 10px 12px !important;
  border: 1px solid var(--cce-border) !important;
  border-radius: var(--cce-radius) !important;
  background: var(--cce-card-bg) !important;
  color: var(--cce-text) !important;
  font-family: brandon-grotesque, sans-serif !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

/* ALL checkboxes on focused pages: brand green instead of browser pink */
.cce-focused-page input[type="checkbox"] {
  accent-color: var(--cce-accent, #2c5e54) !important;
}

/* Focus ring: brand accent */
.cce-focused-page .woocommerce-checkout .form-row input:not([type="checkbox"]):not([type="radio"]):focus,
.cce-focused-page .woocommerce-checkout .form-row select:focus,
.cce-focused-page .woocommerce-checkout .form-row textarea:focus {
  border-color: var(--cce-accent-light) !important;
  box-shadow: 0 0 0 2px rgba(165, 204, 188, 0.3) !important;
  outline: none !important;
}

/* ---------------------------------------------------
   EXPRESS CHECKOUT — Cleaner, brand-integrated
   --------------------------------------------------- */

.cce-focused-page .eg-express-checkout-section {
  background: var(--cce-gradient) !important;
  border: 1.5px solid var(--cce-border-brand) !important;
  border-radius: var(--cce-radius-lg) !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
}

.cce-focused-page .eg-express-label {
  font-size: var(--cce-fs-xs) !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  color: var(--cce-accent) !important;
}

.cce-focused-page .eg-express-checkout-section > p {
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
  margin: 4px 0 14px !important;
}

.cce-focused-page .cce-express-consent-note {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-label) !important;
}

/* ---------------------------------------------------
   ORDER SUMMARY SIDEBAR (col-2)
   --------------------------------------------------- */

/* Sidebar container: clean card */
.cce-focused-page .cce-checkout-col-2 {
  background: var(--cce-card-bg) !important;
  border: 1px solid var(--cce-border-brand) !important;
  border-radius: var(--cce-radius-lg, 12px) !important;
  padding: 20px !important;
  box-shadow: 0 2px 12px rgba(44, 94, 84, 0.06) !important;
  align-self: flex-start !important;
}

/* "Your Order Summary" — gradient header like cart steps */
.cce-focused-page .cce-checkout-col-2 > h3 {
  background: var(--cce-gradient) !important;
  padding: 12px 16px !important;
  border-radius: var(--cce-radius) !important;
  border-left: 3px solid var(--cce-accent-light) !important;
  font-size: var(--cce-fs-lg) !important;
  font-weight: 700 !important;
  color: var(--cce-accent) !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  margin: 0 0 16px !important;
}

/* ---------------------------------------------------
   COUPON AREA — Match cart sidebar coupon styling
   --------------------------------------------------- */

.cce-focused-page .cce-checkout-coupon {
  background: var(--cce-bg-quiet) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  margin: 0 0 16px !important;
  box-shadow: none !important;
}

.cce-focused-page .cce-checkout-coupon__header {
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-focused-page .cce-checkout-coupon__eyebrow {
  color: var(--cce-text-label) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.cce-focused-page .cce-checkout-coupon__title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--cce-text) !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-focused-page .cce-checkout-coupon__arrow {
  background: var(--cce-bg-meta) !important;
  border-color: var(--cce-border-subtle) !important;
}

.cce-focused-page .cce-checkout-coupon form.checkout_coupon input[name="coupon_code"] {
  border: 1px solid var(--cce-border) !important;
  border-radius: var(--cce-radius) !important;
  font-size: var(--cce-fs-sm) !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-focused-page .cce-checkout-coupon form.checkout_coupon button[name="apply_coupon"] {
  background: #e8f4ee !important;
  color: var(--cce-accent-dark) !important;
  border: 1.5px solid var(--cce-accent-light) !important;
  border-radius: var(--cce-radius) !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: var(--cce-fs-xs) !important;
  letter-spacing: 0.3px !important;
  transition: background 0.2s, border-color 0.2s !important;
}

.cce-focused-page .cce-checkout-coupon form.checkout_coupon button[name="apply_coupon"]:hover {
  background: #d5e8de !important;
  border-color: var(--cce-accent) !important;
  color: #0f4c3a !important;
}

/* ---------------------------------------------------
   CHECKOUT: Collapsible product list in order review
   --------------------------------------------------- */

/* Toggle row replaces the standard Product/Subtotal header */
.cce-review-order-toggle-row th {
  padding: 0 !important;
}

.cce-review-order-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 12px 16px !important;
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: var(--cce-radius, 6px) !important;
  cursor: pointer !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  color: var(--cce-accent, #2c5e54) !important;
  text-align: left !important;
}

.cce-review-order-toggle__label {
  font-weight: 600 !important;
}

.cce-review-order-toggle:hover {
  background: #f0f4f2 !important;
  border-color: var(--cce-accent-light, #a5ccbc) !important;
}

.cce-review-order-toggle__action {
  font-weight: 600 !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  color: var(--cce-accent, #2c5e54) !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.cce-review-order-toggle__arrow {
  display: inline-block !important;
  transition: transform 0.2s ease !important;
  font-size: 1.2em !important;
}

.cce-review-order-toggle[aria-expanded="true"] .cce-review-order-toggle__arrow {
  transform: rotate(90deg) !important;
}

/* Hidden product rows */
.cce-review-order-items[hidden] {
  display: none !important;
}

/* ========================================
   Discounts toggle (Earthies + coupon)
   Reuses gift card toggle classes for consistency.
   ======================================== */
.cce-checkout-discounts-cell {
  padding: 8px 0 0 !important;
}

.cce-checkout-discounts__toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 8px 10px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  border-radius: var(--cce-radius, 6px) !important;
  color: var(--cce-accent, #2c5e54) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cce-checkout-discounts__toggle .cce-checkout-gift-card__title-group {
  gap: 1px !important;
}

.cce-checkout-discounts__toggle .cce-checkout-gift-card__eyebrow {
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: 0.1em !important;
}

.cce-checkout-discounts__toggle .cce-checkout-gift-card__title {
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.cce-checkout-discounts__toggle .cce-checkout-gift-card__arrow {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  font-size: 20px !important;
}

.cce-checkout-discounts__panel {
  margin: 8px 0 0 !important;
  padding: 10px 0 0 !important;
  border-top: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  width: 100% !important;
}

.cce-checkout-discounts__panel[hidden] {
  display: none !important;
}

.cce-checkout-discounts__panel .cce-cart-coupon-wrapper {
  margin-bottom: 0 !important;
  padding: 10px !important;
  background: var(--cce-bg-meta, #fafbfa) !important;
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  border-radius: var(--cce-radius, 6px) !important;
}

.cce-checkout-discounts__panel .cce-checkout-earthies-note {
  margin: 0 0 10px !important;
  padding: 0 !important;
  border-top: 0 !important;
}

.cce-checkout-discounts__panel .cce-checkout-earthies-link {
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--cce-text-muted, #555) !important;
}

.cce-checkout-discounts__panel .cce-cart-coupon-title {
  margin: 0 0 8px !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  line-height: 1.2 !important;
  color: var(--cce-text-muted, #555) !important;
  text-align: left !important;
}

.cce-checkout-discounts__panel form.checkout_coupon {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cce-checkout-discounts__panel form.checkout_coupon input[name="coupon_code"] {
  padding: 9px 10px !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
}

.cce-checkout-discounts__panel form.checkout_coupon button[name="apply_coupon"] {
  padding: 9px 12px !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Product rows when expanded */
.cce-review-order-items tr td {
  padding: 8px 0 !important;
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  border-bottom: 1px solid var(--cce-border-subtle, #e5e7eb) !important;
}

.cce-review-order-items tr:last-child td {
  border-bottom: none !important;
}

/* ---------------------------------------------------
   EARTHIES SECTION — Match cart sidebar earthies
   --------------------------------------------------- */

.cce-focused-page .cce-checkout-earthies-note {
  border-top: 1px solid var(--cce-border-subtle) !important;
  margin-top: 12px !important;
  padding-top: 12px !important;
}

.cce-focused-page .cce-checkout-earthies-link {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-muted) !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-focused-page .cce-checkout-earthies-link:hover {
  color: var(--cce-accent) !important;
}

/* Inline earthies row in totals */
.cce-focused-page .eg-checkout-earthies-inline__link {
  color: var(--cce-text-muted) !important;
  font-size: var(--cce-fs-xs) !important;
}

.cce-focused-page .eg-checkout-earthies-inline__link:hover,
.cce-focused-page .eg-checkout-earthies-inline__link:focus {
  color: var(--cce-accent) !important;
}

/* ---------------------------------------------------
   GIFT CARD — Match coupon area
   --------------------------------------------------- */

.cce-focused-page .cce-checkout-col-2 .square-gift-card-wrapper {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  box-shadow: none !important;
  font-family: brandon-grotesque, sans-serif !important;
}

.cce-focused-page .cce-checkout-col-2 .square-gift-card-wrapper > h3 {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--cce-text) !important;
  font-family: brandon-grotesque, sans-serif !important;
  margin: 0 0 10px !important;
}

/* ---------------------------------------------------
   PRODUCT TABLE — Clean hierarchy
   --------------------------------------------------- */

.cce-focused-page .woocommerce-checkout-review-order-table {
  background: transparent !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table thead th {
  font-size: var(--cce-fs-xs) !important;
  color: var(--cce-text-label) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  border-bottom: 1px solid var(--cce-border-subtle) !important;
  background: transparent !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table tbody tr.cart_item {
  border-bottom-color: var(--cce-border-subtle) !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table .checkout-info .product-brand,
.cce-focused-page .woocommerce-checkout-review-order-table .checkout-product-details .product-brand {
  color: var(--cce-text-muted) !important;
  font-style: italic !important;
  font-size: var(--cce-fs-xs) !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table .checkout-info .product-name,
.cce-focused-page .woocommerce-checkout-review-order-table .checkout-product-details .product-name {
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  color: var(--cce-text) !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table .product-name strong.product-quantity {
  color: var(--cce-text-label) !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table td.product-total {
  color: var(--cce-accent) !important;
  font-weight: 600 !important;
  font-size: var(--cce-fs-sm) !important;
}

/* ---------------------------------------------------
   FOOTER TOTALS — Brand palette, clear total
   --------------------------------------------------- */

.cce-focused-page .woocommerce-checkout-review-order-table tfoot tr th,
.cce-focused-page .woocommerce-checkout-review-order-table tfoot tr td {
  border-top-color: var(--cce-border-subtle) !important;
  font-size: 1rem !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table tfoot tr th {
  color: var(--cce-text) !important;
  font-weight: 500 !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table tfoot tr td {
  color: var(--cce-text) !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table tfoot tr.order-total th,
.cce-focused-page .woocommerce-checkout-review-order-table tfoot tr.order-total td {
  color: var(--cce-accent-dark) !important;
  font-size: var(--cce-fs-md) !important;
  font-weight: 700 !important;
  border-top: 2px solid var(--cce-border-brand) !important;
}

/* Cart note row */
.cce-focused-page .woocommerce-checkout-review-order-table .cce-checkout-cart-note-row > th {
  border-top-color: var(--cce-border-subtle) !important;
}

/* ---------------------------------------------------
   PAYMENT SECTION — Clean, no bubble boxes
   --------------------------------------------------- */

.cce-focused-page #payment {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cce-focused-page .wc_payment_methods {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Payment methods as selectable cards */
.cce-focused-page .wc_payment_methods .wc_payment_method {
  background: #f8fafb !important;
  border: 1.5px solid #d3d6da !important;
  border-radius: 6px !important;
  padding: 12px 14px !important;
  margin: 0 0 8px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s !important;
}

.cce-focused-page .wc_payment_methods .wc_payment_method:hover {
  border-color: #a5ccbc !important;
  background: #f0f7f5 !important;
}

.cce-focused-page .wc_payment_methods .wc_payment_method:active {
  transform: scale(0.98) !important;
}

/* Selected payment method: visible but calm tint */
.cce-focused-page .wc_payment_methods .wc_payment_method.cce-payment-method-selected {
  background: #eef5f2 !important;
  border-color: #2c5e54 !important;
  box-shadow: none !important;
}

/* Hide top-level radio buttons — selection via card tap */
.cce-focused-page .wc_payment_methods .wc_payment_method > input[type="radio"] {
  display: none !important;
}

/* Label: full-width tappable area */
.cce-focused-page .wc_payment_methods .wc_payment_method > label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  color: var(--cce-text) !important;
}

/* Payment box content: compact */
.cce-focused-page .wc_payment_methods .wc_payment_method .payment_box {
  margin: 0 !important;
  padding: 8px 0 0 !important;
}

/* Payment method labels: smaller, quieter */
.cce-focused-page #payment .payment_methods li label {
  font-size: var(--cce-fs-sm) !important;
  font-weight: 600 !important;
  color: var(--cce-text) !important;
  gap: 8px !important;
}

/* Radios hidden via card pattern above — these are redundant but kept for specificity */

/* Payment box: no background, compact */
.cce-focused-page #payment .payment_box {
  background: transparent !important;
  border-radius: 0 !important;
  font-size: var(--cce-fs-sm) !important;
  color: var(--cce-text-muted) !important;
  padding: 4px 0 0 !important;
}

/* Square card form: subtle container */
.cce-focused-page .eg-square-card-box {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Square card input container — subtle border */
.cce-focused-page .square-input-container {
  border: 1px solid var(--cce-border-subtle, #e5e7eb) !important;
  border-radius: var(--cce-radius, 8px) !important;
  background: #fff !important;
  box-shadow: none !important;
}

/* Saved payment methods — quiet list */
.cce-focused-page .woocommerce-SavedPaymentMethods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}

.cce-focused-page .woocommerce-SavedPaymentMethods li {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 0 !important;
  border: none !important;
  font-size: var(--cce-fs-sm) !important;
  cursor: pointer !important;
}

.cce-focused-page .woocommerce-SavedPaymentMethods li input[type="radio"] {
  display: inline-block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #2c5e54 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

.cce-focused-page .woocommerce-SavedPaymentMethods li label {
  display: inline !important;
  font-size: var(--cce-fs-sm) !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  flex: 1 1 auto !important;
}

/* Save card checkbox: quieter */
.cce-focused-page .woocommerce-SavedPaymentMethods-saveNew label {
  font-size: var(--cce-fs-xs, 0.8125rem) !important;
  color: var(--cce-text-muted) !important;
  font-weight: 400 !important;
}

/* All checkboxes inside payment methods: brand green */
.cce-focused-page .wc_payment_methods input[type="checkbox"],
.cce-focused-page .payment_box input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  background: #f8fafb !important;
  border: 1.5px solid #d3d6da !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  position: relative !important;
  flex-shrink: 0 !important;
  transition: background 0.15s, border-color 0.15s !important;
}

.cce-focused-page .wc_payment_methods input[type="checkbox"]:checked,
.cce-focused-page .payment_box input[type="checkbox"]:checked {
  background: #2c5e54 !important;
  border-color: #2c5e54 !important;
}

.cce-focused-page .wc_payment_methods input[type="checkbox"]:checked::after,
.cce-focused-page .payment_box input[type="checkbox"]:checked::after {
  content: '✓' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

/* Security trust box inside saved cards — hide redundant one */
.cce-focused-page .wc-square-credit-card-payment-form .woocommerce-info {
  display: none !important;
}

/* Helper text: very quiet */
.cce-focused-page .eg-card-helper-text {
  font-size: var(--cce-fs-xs, 0.8125rem) !important;
  color: var(--cce-text-label, #8b9a8f) !important;
  margin-bottom: 6px !important;
}

/* Static terms text (replaces checkbox) */
.cce-static-terms-text {
  font-size: var(--cce-fs-xs, 0.8125rem) !important;
  color: var(--cce-text-label, #8b9a8f) !important;
  font-family: brandon-grotesque, sans-serif !important;
  text-align: center !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}

.cce-static-terms-text a {
  color: var(--cce-accent, #2c5e54) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em !important;
}

.cce-static-terms-text a:hover {
  color: var(--cce-accent-dark, #1e4a35) !important;
}

.cce-focused-page.woocommerce-checkout .grecaptcha-badge,
body.woocommerce-checkout .grecaptcha-badge {
  visibility: hidden !important;
}

.cce-recaptcha-disclosure {
  margin: -6px 0 12px !important;
  color: var(--cce-text-label, #8b9a8f) !important;
  font-family: brandon-grotesque, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}

.cce-recaptcha-disclosure a {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em !important;
}

.cce-recaptcha-disclosure a:hover {
  color: var(--cce-accent, #2c5e54) !important;
}

/* Hide any remaining terms checkbox wrapper (now replaced by static text) */
.cce-focused-page .woocommerce-terms-and-conditions-wrapper {
  display: none !important;
}

/* ---------------------------------------------------
   PLACE ORDER BUTTON — Brand gradient with lift
   --------------------------------------------------- */

.cce-focused-page #place_order {
  background: linear-gradient(135deg, #bfe2dc 0%, #d0ddd8 100%) !important;
  color: #1f1f1f !important;
  border: 1.5px solid #2c5e54 !important;
  border-radius: var(--cce-radius-lg, 12px) !important;
  font-size: var(--cce-fs-base) !important;
  font-weight: 600 !important;
  font-family: brandon-grotesque, sans-serif !important;
  padding: 14px 24px !important;
  width: 100% !important;
  letter-spacing: 0.3px !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.15s !important;
}

.cce-focused-page #place_order:hover {
  background: linear-gradient(135deg, #a8d5ce 0%, #bfe2dc 100%) !important;
  border-color: #245249 !important;
  box-shadow: 0 4px 12px rgba(44, 94, 84, 0.2) !important;
  transform: translateY(-1px) !important;
}

/* ---------------------------------------------------
   PROGRESS BAR — Flush with content edges
   --------------------------------------------------- */

.cce-focused-page.cce-cart-page .eg-checkout-progress.eg-progress-standalone,
.cce-focused-page.cce-checkout-page .eg-checkout-progress.eg-progress-standalone {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ---------------------------------------------------
   EXPRESS CHECKOUT — Header consistency + button fixes
   --------------------------------------------------- */

/* Express label: match section header style (uppercase label, not gradient header) */
.cce-focused-page .eg-express-label {
  text-transform: uppercase !important;
}

/* Consent note: centered within the container */
.cce-focused-page .cce-express-consent-note {
  text-align: center !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* PayPal button: add subtle border so it doesn't fade into the background */
.cce-focused-page .eg-express-checkout-section .paypal-button-container,
.cce-focused-page .eg-express-checkout-section [data-funding-source="paypal"] {
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 6px !important;
}

/* ---------------------------------------------------
   HEADER CAPITALIZATION — Consistent sentence case
   --------------------------------------------------- */

/* Billing details, Your Order Summary — sentence case via text-transform */
.cce-focused-page .woocommerce-billing-fields > h3,
.cce-focused-page .woocommerce-shipping-fields > h3,
.cce-focused-page .woocommerce-additional-fields > h3,
.cce-focused-page .cce-checkout-col-2 > h3 {
  text-transform: none !important;
}

/* ---------------------------------------------------
   COUPON / EARTHIES / GIFT CARD — Simple white boxes
   like cart sidebar (no gradients, no competing style)
   --------------------------------------------------- */

/* Coupon: white box, subtle border */
.cce-focused-page .cce-checkout-coupon {
  background: var(--cce-card-bg) !important;
  border: 1px solid var(--cce-border-subtle) !important;
  border-radius: var(--cce-radius) !important;
  box-shadow: none !important;
}

/* Gift card wrapper in col-2: no extra border — sits inside the sidebar card */
.cce-focused-page .cce-checkout-col-2 .square-gift-card-wrapper,
.cce-focused-page .cce-checkout-gift-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Gift card in totals table (below order total): no extra wrapper border */
.cce-focused-page .square-gift-card-row .square-gift-card-wrapper {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ---------------------------------------------------
   PRODUCT TABLE — Variation data compact on focused page
   --------------------------------------------------- */

/* All variation/item-data in checkout: smaller, muted */
.cce-focused-page .woocommerce-checkout-review-order-table .product-name dl.variation {
  font-size: 0.8em !important;
  color: var(--cce-text-label, #8b9a8f) !important;
  margin: 2px 0 0 !important;
}

.cce-focused-page .woocommerce-checkout-review-order-table .product-name dl.variation dt,
.cce-focused-page .woocommerce-checkout-review-order-table .product-name dl.variation dd {
  color: inherit !important;
}

/* ---------------------------------------------------
   FULFILLMENT — Inline change link + hidden panel
   --------------------------------------------------- */

/* "CHANGE" text link next to fulfillment name in totals */
.cce-fulfillment-change-link {
  display: inline-block !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: var(--cce-text-muted, #6b7280) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-left: 8px !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  vertical-align: middle !important;
}

.cce-fulfillment-change-link:hover {
  color: var(--cce-accent, #2c5e54) !important;
  text-decoration: underline !important;
}

/* Hidden change panel */
.cce-fulfillment-change-panel {
  padding: 16px !important;
  margin: 12px 0 !important;
  background: var(--cce-bg-quiet, #f7faf8) !important;
  border: 1px solid var(--cce-border-subtle, #e2ece7) !important;
  border-radius: var(--cce-radius, 6px) !important;
}

.cce-fulfillment-change-panel__title {
  font-size: var(--cce-fs-sm, 0.875rem) !important;
  font-weight: 600 !important;
  color: var(--cce-accent, #2c5e54) !important;
  margin: 0 0 12px !important;
}

/* Hide the old compact summary box entirely on focused pages */
.cce-focused-page .cce-fulfillment-compact-summary {
  display: none !important;
}

/* Fulfillment line item: clean inline layout */
.cce-focused-page .eg-fulfillment-line-item th {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* ---------------------------------------------------
   CREDIT CARD / PAYMENT — Clean, consistent
   --------------------------------------------------- */

/* Square card box: clean border matching brand */
.cce-focused-page .eg-square-card-box {
  background: var(--cce-card-bg) !important;
  border: 1px solid var(--cce-border-brand) !important;
  border-radius: var(--cce-radius-lg) !important;
  padding: 16px !important;
}

/* "Or pay with card" divider: brand colors */
.cce-focused-page .eg-payment-divider span {
  color: var(--cce-text-muted) !important;
  font-size: var(--cce-fs-sm) !important;
  background: var(--cce-card-bg) !important;
}

.cce-focused-page .eg-payment-divider::before,
.cce-focused-page .eg-payment-divider::after {
  background: var(--cce-border-subtle) !important;
}

/* ---------------------------------------------------
   CHECKOUT — Help notice: align under order column
   --------------------------------------------------- */
.cce-focused-page .eg-checkout-help-notice {
  width: calc(50% - 15px) !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

@media (max-width: 768px) {
  .cce-focused-page .eg-checkout-help-notice {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ---------------------------------------------------
   CHECKOUT — Responsive breakpoints
   --------------------------------------------------- */

@media (max-width: 1000px) {
  .cce-focused-page .cce-checkout-col-2 {
    padding: 16px !important;
  }

  .cce-focused-page .eg-express-checkout-section {
    padding: 16px !important;
  }
}

@media (max-width: 540px) {
  /* Single-column: cap billing form width so it doesn't stretch edge-to-edge */
  .cce-focused-page .cce-checkout-col-1 {
    max-width: 540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Pair billing fields side-by-side where possible */
  .cce-focused-page .woocommerce-billing-fields__field-wrapper,
  .cce-focused-page .woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 16px !important;
  }

  .cce-focused-page .woocommerce-billing-fields__field-wrapper .form-row-first,
  .cce-focused-page .woocommerce-billing-fields__field-wrapper .form-row-last,
  .cce-focused-page .woocommerce-shipping-fields__field-wrapper .form-row-first,
  .cce-focused-page .woocommerce-shipping-fields__field-wrapper .form-row-last {
    flex: 1 1 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    float: none !important;
  }

  .cce-focused-page .woocommerce-billing-fields__field-wrapper .form-row-wide:not(.cce-city-state-zip),
  .cce-focused-page .woocommerce-shipping-fields__field-wrapper .form-row-wide:not(.cce-city-state-zip) {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  .cce-focused-page .cce-checkout-col-2 {
    border-top: 2px solid var(--cce-border-brand) !important;
    margin-top: 20px !important;
  }

  /* Section headers: slightly smaller on mobile */
  .cce-focused-page .woocommerce-billing-fields > h3,
  .cce-focused-page .woocommerce-shipping-fields > h3,
  .cce-focused-page .woocommerce-additional-fields > h3,
  .cce-focused-page #ship-to-different-address,
  .cce-focused-page .cce-checkout-col-2 > h3 {
    font-size: var(--cce-fs-base) !important;
    padding: 10px 14px !important;
  }

  .cce-focused-page .eg-express-checkout-section {
    padding: 14px !important;
    margin-bottom: 18px !important;
  }

  .cce-focused-page .cce-checkout-coupon {
    padding: 12px !important;
  }

  /* Cart sidebar: card treatment when stacked */
  .cce-focused-page .cce-cart-col-2 {
    background: var(--cce-card-bg) !important;
    border-radius: var(--cce-radius-lg, 12px) !important;
    padding: 16px !important;
    margin-top: 20px !important;
  }
}

/* Mobile: tighter row spacing */
@media (max-width: 768px) {
  .cce-focused-page .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item + tr:not(.eg-cart-item-notes-row) td,
  .cce-focused-page .eg-cart-item-notes-row + tr.woocommerce-cart-form__cart-item td {
    border-top-width: 4px !important;
  }

  .cce-focused-page .cce-cart-step--primary,
  .cce-focused-page .cce-cart-step--secondary {
    padding: 12px 14px !important;
  }

  .cce-focused-page .cce-cart-step__title {
    font-size: var(--cce-fs-base) !important;
  }

  /* Fulfillment buttons: tighter on mobile */
  .cce-focused-page .cce-step-2-reveal-btn,
  .cce-focused-page .cce-cart-local-reveal-btn,
  .cce-focused-page .cce-zip-checker__toggle,
  .cce-focused-page .cce-zip-checker__button {
    padding: 8px 12px !important;
  }

  /* Sidebar card: tighter padding */
  .cce-focused-page .cce-cart-col-2 {
    padding: 14px !important;
  }

  /* Coupon / gift card: tighter on mobile */
  .cce-focused-page .cce-cart-coupon-wrapper,
  .cce-focused-page .square-gift-card-wrapper {
    padding: 12px !important;
  }

  /* Force table column percentages — product info gets more room */
  .cce-focused-page .woocommerce-cart-form__contents thead th.product-quantity,
  .cce-focused-page .woocommerce-cart-form__contents tbody td.product-quantity {
    width: 35% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .cce-focused-page .woocommerce-cart-form__contents thead th.product-info,
  .cce-focused-page .woocommerce-cart-form__contents tbody td.product-info {
    width: 55% !important;
    min-width: 0 !important;
  }

  /* Item notes: ensure wrapping and no overflow */
  .cce-focused-page .eg-cart-item-notes {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* Quantity controls: prevent blowout */
  .cce-focused-page .woocommerce-cart-form__contents tbody td.product-quantity {
    overflow: visible !important;
    min-height: 0 !important;
  }

  /* Order notes: full width, no overflow */
  .cce-focused-page .cce-global-order-notes {
    overflow: hidden !important;
    overflow-wrap: break-word !important;
  }
}

/* Extra small: tighter still */
@media (max-width: 480px) {
  /* Fulfillment option cards: ensure text wraps */
  .cce-focused-page .cce-fulfillment-option__description,
  .cce-focused-page .cce-fulfillment-option__title {
    overflow-wrap: break-word !important;
    word-break: break-word !important;
  }

  /* What Happens Next: tighter */
  .cce-focused-page .eg-what-happens-next {
    padding: 8px 10px !important;
  }

  /* Zip checker: stack input + button vertically */
  .cce-focused-page .cce-zip-checker__input-group {
    flex-wrap: wrap !important;
  }

  .cce-focused-page .cce-zip-checker__input {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }

  .cce-focused-page .cce-zip-checker__button {
    flex: 1 1 100% !important;
  }
}

/* ========================================
   International billing notice
   Shown when billing country is not US
   ======================================== */
.cce-international-billing-notice {
  background: var(--cce-bg-quiet, #f8faf9);
  border: 1px solid var(--cce-border-subtle, #e5e7eb);
  border-left: 3px solid var(--cce-accent, #2c5e54);
  border-radius: 8px;
  color: var(--cce-text, #1f2937);
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 10px 14px;
  margin: 8px 0 12px;
  line-height: 1.5;
}
