/* ==========================================================================
   LEAFERRY CHECKOUTWC SIDE CART (QUIET LUXURY DRAWER SYSTEM)
   Bespoke Architectural Porcelain Drawer with Frosted Glass Overlay
   ========================================================================== */

/* Drawer Frame & Frosted Overlay */
#cfw-side-cart-overlay {
  background: rgba(18, 32, 26, 0.45);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

#cfw-side-cart {
  --cfw-buttons-secondary-text-color: #FFFFFF;
  --cfw-buttons-secondary-background-color: transparent;
  background: #FAF8F5;
  box-shadow: -12px 0 40px rgba(0, 50, 38, 0.14);
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  letter-spacing: 0;
  max-width: 460px;
  width: 100%;
  height: 100%;
}

#cfw-side-cart-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
}

#cfw-side-cart #cfw-side-cart-form,
#cfw-side-cart-form {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

/* 8.1 Drawer Header */
#cfw-side-cart .cfw-side-cart-contents-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
  background: #FFFFFF;
  border-bottom: 1px solid rgba(0, 84, 65, 0.08);
  flex-shrink: 0;
  margin: 0;
}

#cfw-side-cart .cfw-side-cart-quantity-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

#cfw-side-cart .cfw-side-cart-quantity-wrap::before {
  content: "Shopping Cart";
  font-family: var(--theme-headings-font-family, "Cormorant Garamond", Georgia, serif);
  font-size: 24px;
  font-weight: 600;
  color: #1A3326;
  letter-spacing: 0.02em;
  line-height: 1;
}

#cfw-side-cart .cfw-side-cart-quantity-wrap svg {
  display: none;
}

#cfw-side-cart .cfw-side-cart-quantity-wrap .cfw-side-cart-quantity,
#cfw-side-cart .cfw-side-cart-quantity {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  background: rgba(0, 84, 65, 0.08);
  color: #005441;
  border: 1px solid rgba(0, 84, 65, 0.14);
  border-radius: 999px;
  box-shadow: none;
  padding: 0 7px;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  margin-left: 8px;
  vertical-align: middle;
}

#cfw-side-cart .cfw-side-cart-contents-header .cfw-side-cart-close-btn,
#cfw-side-cart .cfw-side-cart-close-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6E857B;
  transition: all 0.25s ease;
  padding: 0;
  position: static;
  top: auto;
  right: auto;
  margin: 0;
  flex-shrink: 0;
}

#cfw-side-cart .cfw-side-cart-close-btn:hover {
  background: rgba(0, 84, 65, 0.06);
  color: var(--theme-palette-color-1);
  transform: rotate(90deg);
}

/* 8.2 Middle Scrollable Area: Free Shipping & Cart Items */
#cfw-side-cart .cfw-side-cart-contents {
  flex: 1 1 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 18px 12px;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
}

/* Slim Custom Scrollbar */
#cfw-side-cart .cfw-side-cart-contents::-webkit-scrollbar {
  width: 5px;
}
#cfw-side-cart .cfw-side-cart-contents::-webkit-scrollbar-track {
  background: transparent;
}
#cfw-side-cart .cfw-side-cart-contents::-webkit-scrollbar-thumb {
  background: rgba(0, 84, 65, 0.15);
  border-radius: 999px;
}
#cfw-side-cart .cfw-side-cart-contents::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 84, 65, 0.3);
}

/* Free Shipping Progress Card - Pure Porcelain Quiet Luxury */
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap {
  background: #FAF9F5;
  border: 1px solid rgba(220, 215, 205, 0.45);
  border-radius: 6px;
  padding: 8px 12px 6px;
  margin: 4px 0 12px;
  box-shadow: none;
  flex-shrink: 0;
  transition: all 0.25s ease;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:hover {
  border-color: rgba(220, 215, 205, 0.7);
  background: #FCFBF7;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap p {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 12px;
  font-weight: 500;
  color: #1A3326;
  text-align: center;
  margin-bottom: 6px;
  letter-spacing: 0.01em;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap p strong,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap p .woocommerce-Price-amount {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  color: var(--cfw-fill-color, var(--cfw-side-cart-free-shipping-progress-indicator, inherit));
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress {
  height: 6px;
  background-color: var(--cfw-side-cart-free-shipping-progress-background, #f5f5f5);
  border-radius: 999px;
  overflow: visible;
  position: relative;
  margin-bottom: 4px;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-indicator {
  background: var(--cfw-fill-color, var(--cfw-side-cart-free-shipping-progress-indicator, #3858e9));
  border-radius: 999px;
  height: 100%;
  transition: width 0.35s ease;
}

#cfw-side-cart .cfw-tier-node {
  width: 24px;
  height: 24px;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: #FFFFFF;
  border: 2px solid #d7dae4;
  color: #9aa1ad;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

#cfw-side-cart .cfw-tier-node.cfw-tier-node--met {
  background: var(--cfw-tier-color, var(--cfw-fill-color, var(--cfw-side-cart-free-shipping-progress-indicator, #3858e9)));
  border-color: transparent;
  color: #FFFFFF;
}

#cfw-side-cart .cfw-tier-node svg {
  color: inherit;
  fill: none;
  stroke: currentColor;
  width: 13px;
  height: 13px;
}

#cfw-side-cart .cfw-tier-labels {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 11px;
  color: #6E857B;
  font-weight: 500;
  margin: 5px 0 0;
  height: auto;
  position: relative;
}

#cfw-side-cart .cfw-tier-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  position: static !important;
  transform: none !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

#cfw-side-cart .cfw-tier-label__name {
  color: #6E857B !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

#cfw-side-cart .cfw-tier-label__threshold,
#cfw-side-cart .cfw-tier-label__threshold .woocommerce-Price-amount {
  color: var(--cfw-tier-color, var(--cfw-fill-color, var(--cfw-side-cart-free-shipping-progress-indicator, inherit))) !important;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   QUALIFIED STATE (MET / DUAL-STATE REASSURANCE PILL)
   When cart total >= $89: Transforms into a slim, quiet reassurance pill
   ========================================================================== */
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap.lf-shipping-met,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:has(.cfw-tier-node--met) {
  background: rgba(0, 84, 65, 0.04) !important;
  border: 1px solid rgba(0, 84, 65, 0.12) !important;
  border-radius: 999px !important;
  padding: 4px 14px !important;
  margin: 2px auto 12px !important;
  box-shadow: none !important;
  width: fit-content !important;
  max-width: 90% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap.lf-shipping-met:hover,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:has(.cfw-tier-node--met):hover {
  background: rgba(0, 84, 65, 0.06) !important;
  border-color: rgba(0, 84, 65, 0.18) !important;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap.lf-shipping-met p,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:has(.cfw-tier-node--met) p {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--cfw-tier-color, var(--cfw-fill-color, var(--theme-palette-color-1, #005441))) !important;
  letter-spacing: 0.02em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}

#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap.lf-shipping-met p::before,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:has(.cfw-tier-node--met) p::before {
  content: "✓";
  font-size: 11px;
  font-weight: 700;
  color: var(--cfw-tier-color, var(--cfw-fill-color, var(--theme-palette-color-1, #005441)));
}

/* Completely hide the bulky 100% full progress rail & tier label tags when qualified */
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap.lf-shipping-met .cfw-side-cart-free-shipping-progress,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:has(.cfw-tier-node--met) .cfw-side-cart-free-shipping-progress,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap.lf-shipping-met .cfw-tier-labels,
#cfw-side-cart .cfw-side-cart-free-shipping-progress-wrap:has(.cfw-tier-node--met) .cfw-tier-labels {
  display: none !important;
}

/* 8.3 Cart Items Table */
#cfw-side-cart .cfw-cart-table,
#cfw-side-cart .cfw-cart-table tbody,
#cfw-side-cart .cfw-cart-table tr,
#cfw-side-cart .cfw-cart-table td,
#cfw-side-cart .cfw-cart-table th,
#cfw-side-cart .cart-item-row,
#cfw-side-cart .cart-item-row td,
#cfw-side-cart .cart-item-row th,
#cfw-side-cart .cfw-cart-item-image,
#cfw-side-cart .cfw-cart-item-description,
#cfw-side-cart .cfw-cart-item-subtotal,
#cfw-side-cart .cfw-cart-item-remove {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

#cfw-side-cart .cfw-cart-table,
#cfw-side-cart .cfw-cart-table tbody {
  display: block;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 0;
}

#cfw-side-cart .cart-item-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  position: relative !important;
  padding: 14px 0 !important;
  border: none !important;
  border-bottom: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
  transition: background-color 0.2s ease;
}

#cfw-side-cart .cart-item-row:hover {
  background-color: rgba(250, 249, 245, 0.5);
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-image,
#cfw-side-cart .cfw-cart-item-image {
  flex: 0 0 60px !important;
  width: 60px !important;
  max-width: 60px !important;
  padding: 0 !important;
  margin: 0 12px 0 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  vertical-align: top;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-image .cfw-cart-item-image-wrap,
#cfw-side-cart .cfw-cart-item-image-wrap {
  width: 60px !important;
  height: 60px !important;
  max-width: 60px;
  max-height: 60px;
  border-radius: 6px;
  overflow: hidden;
  background: #FCFBF7;
  border: 1px solid rgba(220, 215, 205, 0.65);
  box-shadow: 0 1px 3px rgba(24, 51, 38, 0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-image .cfw-cart-item-image-wrap span,
#cfw-side-cart .cfw-cart-item-image-wrap span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-image img,
#cfw-side-cart .cfw-cart-item-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  border: none !important;
  border-radius: 5px;
  display: block;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row th.cfw-cart-item-description,
#cfw-side-cart .cfw-cart-item-description {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 32px 0 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  text-align: left;
}

/* Item Title - Quiet Luxury 13.5px, Dual-line Clamped */
#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-description .cfw-cart-item-title,
#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-description .cfw-cart-item-title span,
#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-description .cfw-cart-item-title a,
#cfw-side-cart .cfw-cart-item-title,
#cfw-side-cart .cfw-cart-item-title span,
#cfw-side-cart .cfw-cart-item-title a {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #1A3326;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color 0.2s ease;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-description .cfw-cart-item-title a:hover,
#cfw-side-cart .cfw-cart-item-title a:hover {
  color: var(--theme-palette-color-1, #005441);
}

#cfw-side-cart .cfw_side_cart_item_after_data {
  margin-top: 4px;
}

#cfw-side-cart .cfw-cart-item-quantity {
  display: none !important;
}

/* Luxury Pill Stepper */
#cfw-side-cart.checkoutwc .cfw-quantity-stepper,
#cfw-side-cart .cfw-quantity-stepper {
  display: inline-flex;
  align-items: center;
  background: #FAFBF9;
  border: 1px solid rgba(220, 215, 205, 0.7);
  border-radius: 999px;
  padding: 1px 3px;
  box-shadow: 0 1px 2px rgba(24, 51, 38, 0.02);
  transition: all 0.2s ease;
  height: 28px;
  overflow: hidden;
}

#cfw-side-cart.checkoutwc .cfw-quantity-stepper:hover,
#cfw-side-cart .cfw-quantity-stepper:hover {
  border-color: rgba(0, 84, 65, 0.25);
  background: #FFFFFF;
}

#cfw-side-cart.checkoutwc .cfw-quantity-stepper .cfw-quantity-stepper-btn-minus,
#cfw-side-cart.checkoutwc .cfw-quantity-stepper .cfw-quantity-stepper-btn-plus,
#cfw-side-cart .cfw-quantity-stepper .cfw-quantity-stepper-btn-minus,
#cfw-side-cart .cfw-quantity-stepper .cfw-quantity-stepper-btn-plus,
#cfw-side-cart .cfw-quantity-stepper button {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  border-inline-end: none !important;
  border-inline-start: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 50% !important;
  color: #1A3326 !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  transition: all 0.15s ease !important;
}

#cfw-side-cart.checkoutwc .cfw-quantity-stepper .cfw-quantity-stepper-btn-minus:hover,
#cfw-side-cart.checkoutwc .cfw-quantity-stepper .cfw-quantity-stepper-btn-plus:hover,
#cfw-side-cart .cfw-quantity-stepper .cfw-quantity-stepper-btn-minus:hover,
#cfw-side-cart .cfw-quantity-stepper .cfw-quantity-stepper-btn-plus:hover,
#cfw-side-cart .cfw-quantity-stepper button:hover {
  background: rgba(0, 84, 65, 0.08) !important;
  background-color: rgba(0, 84, 65, 0.08) !important;
  color: var(--theme-palette-color-1, #005441) !important;
  border: none !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  transform: none !important;
}

#cfw-side-cart .cfw-quantity-stepper-btn-minus svg,
#cfw-side-cart .cfw-quantity-stepper-btn-plus svg {
  width: 10px;
  height: 10px;
  fill: currentColor;
}

#cfw-side-cart.checkoutwc .cfw-quantity-stepper .cfw-quantity-stepper-value-label,
#cfw-side-cart .cfw-quantity-stepper-value-label {
  min-width: 20px !important;
  text-align: center !important;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #1A3326 !important;
  padding: 0 4px !important;
  border: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Subtotal & Remove Button Column */
#cfw-side-cart .cart-item-row td.cfw-cart-item-remove {
  position: absolute !important;
  top: 14px !important;
  right: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  z-index: 5 !important;
  border: none !important;
  border-bottom: none !important;
}

#cfw-side-cart .cfw-remove-item-button {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  color: #8C9E96 !important;
  background: transparent !important;
  opacity: 0.7 !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
}

#cfw-side-cart tr.cart-item-row:hover .cfw-remove-item-button {
  opacity: 0.95 !important;
  color: #6E857B !important;
}

#cfw-side-cart .cfw-remove-item-button:hover {
  opacity: 1 !important;
  color: #C8431F !important;
  background: rgba(200, 67, 31, 0.08) !important;
  transform: scale(1.1) !important;
}

#cfw-side-cart .cfw-remove-item-button svg {
  width: 14px !important;
  height: 14px !important;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row td.cfw-cart-item-subtotal,
#cfw-side-cart .cfw-cart-item-subtotal {
  position: absolute !important;
  bottom: 25px !important;
  right: 0 !important;
  top: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: right !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  line-height: 1 !important;
  border: none !important;
  border-bottom: none !important;
}

#cfw-side-cart.checkoutwc .cfw-cart-table .cart-item-row .cfw-cart-item-subtotal .amount,
#cfw-side-cart .cfw-cart-item-subtotal .amount {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--theme-palette-color-1, #005441) !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
  display: inline-block !important;
  line-height: 1 !important;
}

/* 8.4 Footer & Fixed Totals Section: Slim & Focused (Leaves 70% Height for Items) */
#cfw-side-cart .cfw-side-cart-contents-footer {
  background: #FCFBF7;
  border-top: 1px solid rgba(220, 215, 205, 0.6);
  box-shadow: 0 -8px 24px rgba(0, 84, 65, 0.04);
  padding: 12px 18px 14px;
  flex-shrink: 0;
  margin: 0;
}

#cfw-side-cart .cfw-side-cart-contents-footer-border-shim {
  display: none;
}

#cfw-side-cart .cfw-side-cart-totals {
  margin-bottom: 8px;
}

#cfw-side-cart .cfw-totals-list table {
  width: 100%;
  border-collapse: collapse;
}

#cfw-side-cart .cfw-totals-list table tr {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 0;
  border: none;
}

#cfw-side-cart .cfw-totals-list table th {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13px;
  font-weight: 400;
  color: #6E857B;
  text-align: left;
  padding: 0;
}

#cfw-side-cart .cfw-totals-list table td {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: #1A3326;
  text-align: right;
  padding: 0;
}

#cfw-side-cart .cfw-totals-list tr.shipping td {
  color: var(--theme-palette-color-4, #1A3326);
  font-weight: 500;
  background: transparent;
  padding: 0;
  border-radius: 0;
  border: none;
}

/* Eliminate harsh black rule and replace with subtle luxury divider */
#cfw-side-cart .cfw-side-cart-totals table tr.order-total,
#cfw-side-cart .cfw-totals-list table tr.order-total,
#cfw-side-cart .cfw-totals-list tr.order-total {
  border-top: 1px solid rgba(220, 215, 205, 0.7);
  margin-top: 6px;
  padding-top: 8px;
}

/* Hide premature shipping fee in drawer to prevent sticker shock before checkout address entry */
#cfw-side-cart .cfw-totals-list tr.shipping {
  display: none !important;
}

/* ==========================================================================
   ASTERIA-INSPIRED HIGH-CONVERSION DRAWER ENHANCEMENTS
   ========================================================================== */

/* Premium Gift Box iOS-Style Toggle Bar (Temporarily hidden/disabled) */
.lf-side-cart-addon-bar,
#lf-gift-box-addon {
  display: none !important;
}

.lf-side-cart-addon-bar-hidden-backup {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: #FCFBF7;
  border: 1px solid rgba(220, 215, 205, 0.65);
  border-radius: 8px;
  margin-bottom: 12px;
  box-shadow: 0 1px 4px rgba(24, 51, 38, 0.02);
  transition: all 0.25s ease;
}

.lf-side-cart-addon-bar:hover {
  background: #FFFFFF;
  border-color: rgba(0, 84, 65, 0.22);
  box-shadow: 0 3px 10px rgba(24, 51, 38, 0.05);
}

.lf-addon-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lf-addon-thumb {
  width: 44px;
  height: 44px;
  border-radius: 6px;
  background: #FFFFFF;
  border: 1px solid rgba(220, 215, 205, 0.7);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.lf-addon-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lf-addon-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: left;
}

.lf-addon-title {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: #1A3326;
  line-height: 1.3;
}

.lf-addon-price {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: var(--theme-palette-color-1, #005441);
}

/* iOS Toggle Switch */
.lf-ios-switch {
  position: relative;
  display: inline-block;
  width: 42px;
  height: 24px;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}

.lf-ios-switch input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.lf-ios-slider {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #E2E8E5;
  border-radius: 24px;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.lf-ios-slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.lf-ios-switch input:checked + .lf-ios-slider {
  background-color: var(--theme-palette-color-1, #005441);
}

.lf-ios-switch input:checked + .lf-ios-slider:before {
  transform: translateX(18px);
}

/* Payment Badges Row in Drawer (Cloned from Content Block SSOT) */
#cfw-side-cart .lf-cart-payment-badges,
.lf-cart-payment-badges {
  margin-top: 14px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

#cfw-side-cart .lf-cart-payment-badges .payment-badges-row,
.lf-cart-payment-badges .payment-badges-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#cfw-side-cart .lf-cart-payment-badges .payment-badge-svg,
.lf-cart-payment-badges .payment-badge-svg {
  height: 22px !important;
  width: auto !important;
  border-radius: 3px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
  opacity: 0.95 !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
}

#cfw-side-cart .lf-cart-payment-badges .payment-badge-svg:hover,
.lf-cart-payment-badges .payment-badge-svg:hover {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
}

/* Sale savings badge in drawer */
.lf-cart-item-save {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 600;
  color: #177A60;
  margin-left: 4px;
}

#cfw-side-cart .cfw-totals-list tr.order-total th {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 14.5px;
  font-weight: 600;
  color: #1A3326;
}

#cfw-side-cart .cfw-totals-list tr.order-total td strong {
  font-family: var(--theme-headings-font-family, "Cormorant Garamond", Georgia, serif);
  font-size: 20px;
  font-weight: 700;
  color: var(--theme-palette-color-1, #005441);
}

/* 8.5 Action Buttons: Primary Checkout with Discreet Continue Link */
#cfw-side-cart .wc-proceed-to-checkout {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
}

/* Primary Button: Proceed to checkout */
#cfw-side-cart .cfw-primary-btn {
  background: var(--theme-palette-color-1);
  color: #FFFFFF;
  border: 1px solid var(--theme-palette-color-1);
  border-radius: 999px;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 11px 20px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(0, 84, 65, 0.22);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  outline: none;
  display: block;
  line-height: 1.4;
}

#cfw-side-cart .cfw-primary-btn:hover {
  background: #003D2F;
  border-color: #003D2F;
  color: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 84, 65, 0.32);
}

#cfw-side-cart .cfw-primary-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 84, 65, 0.2);
}

/* Secondary Button: Clean Emerald Underline (Zero Clutter, 100% Readable) */
#cfw-side-cart .cfw-side-cart-contents-footer .cfw-side-cart-close-trigger,
#cfw-side-cart .cfw-side-cart-contents-footer .cfw-secondary-btn.cfw-side-cart-close-trigger,
#cfw-side-cart .cfw-secondary-btn.cfw-side-cart-close-trigger,
#cfw-side-cart .cfw-secondary-btn:not(.cfw-suggested-product-add-to-cart) {
  background: transparent !important;
  border: none !important;
  color: var(--theme-palette-color-1, #005441) !important;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 3px 10px;
  text-decoration: underline;
  text-underline-offset: 3px;
  box-shadow: none !important;
  cursor: pointer;
  width: fit-content;
  margin: 2px auto 0;
  display: inline-block;
  line-height: 1.4;
  transition: color 0.2s ease;
}

#cfw-side-cart .cfw-side-cart-contents-footer .cfw-side-cart-close-trigger:hover,
#cfw-side-cart .cfw-secondary-btn.cfw-side-cart-close-trigger:hover,
#cfw-side-cart .cfw-secondary-btn:not(.cfw-suggested-product-add-to-cart):hover {
  color: #003D2F !important;
  background: transparent !important;
}

/* 8.6 Empty Cart Curated State */
#cfw-side-cart #cfw_empty_side_cart_message {
  padding: 60px 20px;
  text-align: center;
  font-family: var(--theme-headings-font-family, "Cormorant Garamond", Georgia, serif);
  font-size: 22px;
  font-weight: 500;
  color: #1A3326;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin: 0;
}

#cfw-side-cart #cfw_empty_side_cart_message::before {
  content: "";
  display: block;
  width: 44px;
  height: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23005441' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007zM8.625 10.5a.375.375 0 11-.75 0 .375.375 0 01.75 0zm7.5 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.6;
}

#cfw-side-cart #cfw_empty_side_cart_message::after {
  content: "Discover our natural minerals and quiet gemstone adornments.";
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13px;
  font-weight: 400;
  color: #6E857B;
  max-width: 250px;
  line-height: 1.5;
}

/* 8.7 Cross-sells Carousel ("Pairs Well With") - Placed in Scrollable Body */
#cfw-side-cart .cfw-side-cart-contents .cfw-suggested-products-wrap,
#cfw-side-cart .cfw-suggested-products-wrap {
  margin: 18px 0 4px !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid rgba(0, 84, 65, 0.08) !important;
  background: transparent;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: none;
  flex-shrink: 0;
}

/* Suppress redundant/duplicate cross-sells in the fixed footer checkout area */
#cfw-side-cart .cfw-side-cart-contents-footer .cfw-suggested-products-wrap,
#cfw-side-cart .wc-proceed-to-checkout .cfw-suggested-products-wrap {
  display: none !important;
}

#cfw-side-cart .cfw-suggested-products .slick-list {
  padding-top: 4px !important;
  padding-bottom: 6px !important;
  margin-top: -4px !important;
  margin-bottom: -6px !important;
  overflow: hidden;
}

/* Eyebrow Label Typography */
#cfw-side-cart .cfw-suggested-products-heading,
#cfw-side-cart .cfw-suggested-products-wrap .cfw-suggested-products-heading,
#cfw-side-cart .cfw-side-cart-contents .cfw-suggested-products-heading {
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #5B7368 !important;
  margin: 0 0 10px !important;
  text-align: left !important;
  padding-left: 1px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#cfw-side-cart .cfw-suggested-products-heading::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--theme-palette-color-1, #005441);
  opacity: 0.7;
}

/* Slimmed Recommendation Card */
#cfw-side-cart .cfw-suggested-product {
  background: #FCFBF7;
  border: 1px solid rgba(220, 215, 205, 0.55);
  border-radius: 6px;
  padding: 8px 10px;
  box-sizing: border-box;
  box-shadow: 0 1px 4px rgba(24, 51, 38, 0.02);
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

#cfw-side-cart .cfw-suggested-product:hover {
  background: #FFFFFF;
  border-color: rgba(0, 84, 65, 0.22);
  box-shadow: 0 3px 10px rgba(24, 51, 38, 0.05);
  transform: none; /* No transform to prevent top border clipping in slick-list */
}

#cfw-side-cart .cfw-suggested-product .row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  margin: 0;
}

#cfw-side-cart .cfw-suggested-product .col-2 {
  flex: 0 0 46px;
  max-width: 46px;
  width: 46px;
  padding: 0;
  margin: 0;
}

#cfw-side-cart .cfw-suggested-product img {
  width: 46px;
  height: 46px;
  border-radius: 4px;
  object-fit: cover;
  border: 1px solid rgba(220, 215, 205, 0.5);
  flex-shrink: 0;
  display: block;
}

#cfw-side-cart .cfw-suggested-product-description,
#cfw-side-cart .cfw-suggested-product-description.col {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  row-gap: 4px;
  column-gap: 8px;
}

#cfw-side-cart .cfw-suggested-product-title {
  grid-column: 1 / -1;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 12px;
  font-weight: 500;
  color: #1A3326;
  line-height: 1.3;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#cfw-side-cart .cfw-suggested-product-price,
#cfw-side-cart .cfw-suggested-product-price * {
  grid-column: 1;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: var(--theme-palette-color-1, #005441);
  margin: 0;
  letter-spacing: -0.01em;
}

/* Lightweight "+ Add" Button */
#cfw-side-cart .cfw-suggested-product-add-to-cart,
#cfw-side-cart button.cfw-suggested-product-add-to-cart,
#cfw-side-cart .cfw-suggested-product-add-to-cart span {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  background: #FFFFFF !important;
  border: 1px solid rgba(0, 84, 65, 0.4) !important;
  color: var(--theme-palette-color-1, #005441) !important;
  border-radius: 999px;
  padding: 3px 11px !important;
  font-family: var(--theme-font-family, "Plus Jakarta Sans", sans-serif);
  font-size: 11px !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none !important;
  box-shadow: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  white-space: nowrap;
}

#cfw-side-cart .cfw-suggested-product-add-to-cart:hover,
#cfw-side-cart button.cfw-suggested-product-add-to-cart:hover {
  background: var(--theme-palette-color-1, #005441) !important;
  color: #FFFFFF !important;
  border-color: var(--theme-palette-color-1, #005441) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 84, 65, 0.18) !important;
}

#cfw-side-cart .cfw-suggested-product-add-to-cart:hover,
#cfw-side-cart button.cfw-suggested-product-add-to-cart:hover {
  background: var(--theme-palette-color-1, #005441) !important;
  color: #FFFFFF !important;
  border-color: var(--theme-palette-color-1, #005441) !important;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 84, 65, 0.2) !important;
}

#cfw-side-cart .slick-dots li button:before {
  color: var(--theme-palette-color-1);
}

/* 8.8 Responsive Adjustments */
@media (max-width: 767.98px) {
  #cfw-side-cart {
    max-width: 100%;
  }
  #cfw-side-cart .cfw-side-cart-contents-header {
    padding: 14px 18px 12px;
  }
  #cfw-side-cart .cfw-side-cart-contents {
    padding: 12px 18px;
  }
  #cfw-side-cart .cfw-side-cart-contents-footer {
    padding: 12px 18px 14px;
  }
}

