:root {
  /* Foundation colors */
  --dfc-color-white: #fff;
  --dfc-color-black: #000;
  --dfc-color-neutral-900: #111827;
  --dfc-color-neutral-800: #1f2937;
  --dfc-color-neutral-700: #374151;
  --dfc-color-neutral-600: #4b5563;
  --dfc-color-neutral-500: #6b7280;
  --dfc-color-neutral-400: #9ca3af;
  --dfc-color-neutral-300: #d1d5db;
  --dfc-color-neutral-250: #d0d4da;
  --dfc-color-neutral-200: #e5e7eb;
  --dfc-color-neutral-100: #ececec;
  --dfc-color-neutral-050: #f8fafc;
  --dfc-color-neutral-025: #f5f8fd;
  --dfc-color-text-base: #1e1e1e;
  --dfc-color-overlay: rgba(17, 24, 39, 0.42);
  --dfc-color-focus: #1d4ed8;
  --dfc-color-focus-glow: rgba(29, 78, 216, 0.2);

  /* Accent colors */
  --dfc-color-accent-success: #09723d;
  --dfc-color-accent-success-050: #ecfdf5;
  --dfc-color-accent-success-100: #d1fae5;
  --dfc-color-accent-success-text: #065f46;
  --dfc-color-accent-warning-text: #92400e;
  --dfc-color-accent-danger-text: #991b1b;
  --dfc-color-accent-danger-050: #fef2f2;
  --dfc-color-accent-danger-100: #fecaca;
  --dfc-color-accent-blue-025: #f8fbff;
  --dfc-color-accent-blue-050: #eff6ff;
  --dfc-color-accent-blue-100: #dbe4f0;
  --dfc-color-accent-blue-150: #dbe3ec;
  --dfc-color-accent-blue-200: #cfdcec;
  --dfc-color-accent-blue-text: #334155;

  /* Drawer theme colors */
  --dfc-drawer-bg: #ffffff;
  --dfc-drawer-text: #1f2937;
  --dfc-drawer-text-muted: var(--dfc-color-neutral-500);
  --dfc-drawer-border: #e5e7eb;
  --dfc-drawer-shadow: -10px 0 20px rgba(0, 0, 0, 0.16);
  --dfc-progress-track: #e5e7eb;
  --dfc-progress-fill: #09723d;
  --dfc-progress-text: #374151;

  /* Component colors */
  --dfc-accent: #09723d;
  --dfc-accent-hover: #075c32;
  --dfc-accent-contrast: var(--dfc-color-white);
  --dfc-link: #2563eb;
  --dfc-link-hover: #1d4ed8;
  --dfc-item-bg: #ffffff;
  --dfc-item-border: #e5e7eb;
  --dfc-item-title: #1f2937;
  --dfc-item-meta: #6b7280;
  --dfc-rating-star: #e18c0c;
  --dfc-item-control-border: rgba(17, 24, 39, 0.16);
  --dfc-item-control-hover-bg: rgba(17, 24, 39, 0.06);
  --dfc-item-control-bg: var(--dfc-color-white);
  --dfc-badge-bg: #1f2937;
  --dfc-badge-text: #ffffff;
  --dfc-notice-success-bg: #ecfdf5;
  --dfc-notice-success-text: #065f46;
  --dfc-notice-warning-bg: #fffbeb;
  --dfc-notice-warning-text: #92400e;
  --dfc-notice-info-bg: var(--dfc-color-neutral-050);
  --dfc-notice-info-border: var(--dfc-color-accent-blue-150);
  --dfc-notice-error-bg: #fef2f2;
  --dfc-notice-error-border: var(--dfc-color-accent-danger-100);
  --dfc-notice-text: var(--dfc-color-text-base);
  --dfc-notice-error-text: #991b1b;
  --dfc-button-secondary-bg: var(--dfc-color-white);
  --dfc-button-secondary-border: var(--dfc-color-neutral-250);
  --dfc-button-secondary-text: var(--dfc-color-neutral-800);
  --dfc-payment-icon-bg: #f5f7fa;
  --dfc-payment-icon-border: #e5e7eb;
  --df-cart-product-box-bg: #ffffff;
  --df-cart-product-box-shadow: none;
  --df-cart-product-box-border: 1px solid #e5e7eb;
  --df-cart-product-box-radius: 6px;
  --df-cart-product-box-image-radius: 6px;
  --df-cart-product-box-image-size: 84px;
  --df-cart-product-box-image-aspect-ratio: auto;
  --df-cart-product-box-image-align: stretch;
  --df-cart-product-box-image-min-height: 90px;
  --df-cart-item-padding: 8px;
  --df-cart-item-gap: 10px;
  --df-cart-product-list-top-margin: 0px;
  --df-cart-item-image-gap: 10px;
  --df-cart-product-box-title-size: 14px;
  --df-cart-product-box-title-weight: 600;
  --df-cart-product-box-title-color: #000000;
  --df-cart-product-box-attributes-size: 11px;
  --df-cart-product-box-attributes-weight: 500;
  --df-cart-product-box-attributes-color: #6b7280;
  --df-cart-product-box-remove-icon-size: 16px;
  --df-cart-product-box-remove-icon-color: #000000;
  --df-cart-product-box-quantity-size: 13px;
  --df-cart-product-box-quantity-color: #000000;
  --df-cart-product-box-quantity-border-color: #d0d4da;
  --df-cart-product-box-quantity-radius: 4px;
  --df-cart-product-box-price-size: 14px;
  --df-cart-product-box-price-weight: 600;
  --df-cart-product-box-price-color: #1f2937;

  /* Spacing, radius, shadows, sizing */
  --dfc-space-1: 4px;
  --dfc-space-1-5: 6px;
  --dfc-space-2: 8px;
  --dfc-space-2-5: 10px;
  --dfc-space-3: 12px;
  --dfc-space-3-5: 14px;
  --dfc-space-4: 16px;
  --dfc-radius-sm: 4px;
  --dfc-radius-md: 6px;
  --dfc-radius-lg: 8px;
  --dfc-radius-pill: 999px;
  --dfc-shadow-focus-inset: inset 0 0 0 1px rgba(30, 30, 30, 0.14);
  --dfc-drawer-width: 420px;
  --dfc-payment-icon-height: 20px;
  --dfc-cart-qty-control-height: 24px;
  --dfc-cart-qty-button-width: 24px;
  --dfc-cart-qty-input-width: 35px;
  --dfc-floating-trigger-offset: 22px;
  --dfc-floating-trigger-z-index: 9998;
}

html[data-df-cart-scroll-lock="1"],
html[data-df-cart-scroll-lock="1"] body.df-cart-open {
  overflow: hidden !important;
  overflow-y: hidden !important;
  overscroll-behavior: none !important;
}

body.df-cart-open {
  overflow: hidden !important;
  padding-right: var(--df-cart-scrollbar-width, 0px);
}

.df-cart-shell {
  position: relative;
}

.wp-storeflow-cart-drawer-fallback {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0;
  height: 0;
  width: 0;
  max-width: 0;
  overflow: visible;
}

.wp-storeflow-cart-drawer-fallback > .wp_storeflow_cart_drawer,
.wp-storeflow-cart-drawer-fallback .et_pb_module_inner {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0;
  height: 0;
  width: 0;
  max-width: 0;
  overflow: visible;
}

.wp-storeflow-cart-drawer-fallback .df-cart-shell {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0;
  height: 0;
  width: 0;
  max-width: 0;
  overflow: visible;
}

.df-cart-shell[data-df-cart-root] {
  font-family: inherit;
}

.df-cart-shell[data-df-cart-root] button,
.df-cart-shell[data-df-cart-root] input,
.df-cart-shell[data-df-cart-root] select,
.df-cart-shell[data-df-cart-root] textarea {
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}

.df-cart-screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.df-cart-trigger,
.df-cart-module-link {
  display: inline-flex;
  align-items: center;
  gap: var(--dfc-space-2);
  border: 1px solid var(--dfc-color-neutral-250);
  background: var(--dfc-color-white);
  color: var(--dfc-color-neutral-800);
  border-radius: var(--dfc-radius-md);
  padding: var(--dfc-space-2-5) var(--dfc-space-3-5);
  cursor: pointer;
}

.df-cart-trigger.df-cart-trigger--module,
.df-cart-module-link.df-cart-trigger--module,
.wp_storeflow_cart_drawer .df-cart-trigger.df-cart-trigger--module,
.wp_storeflow_cart_drawer .df-cart-module-link.df-cart-trigger--module,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger.df-cart-trigger--module,
.wp_storeflow_cart_drawer_mini_cart .df-cart-module-link.df-cart-trigger--module,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger.df-cart-trigger--module,
.wp-storeflow-cart-drawer-mini-cart .df-cart-module-link.df-cart-trigger--module {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  appearance: none;
}

.df-cart-trigger-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25em;
  height: 1.25em;
  line-height: 1;
}

.df-cart-trigger-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.df-cart-trigger-subtotal {
  white-space: nowrap;
}

.wp_storeflow_cart_drawer .df-cart-shell,
.wp_storeflow_cart_drawer_mini_cart .df-cart-shell,
.wp-storeflow-cart-drawer-mini-cart .df-cart-shell {
  display: block;
  width: 100%;
}

[data-df-cart-divi-module][hidden] {
  display: none !important;
}

.wp_storeflow_cart_drawer .df-cart-trigger-module-align,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger-module-align,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger-module-align {
  display: flex;
  width: 100%;
  justify-content: var(--df-module-trigger-alignment, center);
}

.wp_storeflow_cart_drawer .df-cart-trigger--module,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module {
  position: relative;
  background: var(--df-module-trigger-bg, var(--dfc-color-white));
  padding:
    var(--df-module-trigger-padding-top, 10px)
    var(--df-module-trigger-padding-right, 14px)
    var(--df-module-trigger-padding-bottom, 10px)
    var(--df-module-trigger-padding-left, 14px);
  border-width: var(--df-module-trigger-border-width, 1px);
  border-style: var(--df-module-trigger-border-style, solid);
  border-color: var(--df-module-trigger-border-color, #d0d4da);
  border-radius: var(--df-module-trigger-radius, var(--dfc-radius-md));
  gap: var(--df-module-trigger-gap, var(--dfc-space-2));
}

.wp_storeflow_cart_drawer .df-cart-trigger--module .df-cart-trigger-icon,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module .df-cart-trigger-icon,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module .df-cart-trigger-icon {
  color: var(--df-module-trigger-icon-color, currentColor);
  width: var(--df-module-trigger-icon-size, 1.25em);
  height: var(--df-module-trigger-icon-size, 1.25em);
}

.wp_storeflow_cart_drawer .df-cart-trigger--module .df-cart-trigger-label,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module .df-cart-trigger-label,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module .df-cart-trigger-label {
  color: var(--df-module-trigger-label-color, inherit);
  font-size: var(--df-module-trigger-label-size, inherit);
  font-family: var(--df-module-trigger-text-font-family, inherit);
  font-weight: var(--df-module-trigger-text-font-weight, 600);
  font-style: var(--df-module-trigger-text-font-style, normal);
  text-transform: var(--df-module-trigger-text-transform, none);
  text-decoration: var(--df-module-trigger-text-decoration, none);
  letter-spacing: var(--df-module-trigger-text-letter-spacing, normal);
  line-height: var(--df-module-trigger-text-line-height, normal);
  text-shadow: var(--df-module-trigger-text-shadow, none);
}

.wp_storeflow_cart_drawer .df-cart-trigger--module .df-cart-trigger-subtotal,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module .df-cart-trigger-subtotal,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module .df-cart-trigger-subtotal {
  color: var(--df-module-trigger-subtotal-color, inherit);
  font-size: var(--df-module-trigger-subtotal-size, inherit);
  font-family: var(--df-module-trigger-text-font-family, inherit);
  font-weight: var(--df-module-trigger-text-font-weight, 600);
  font-style: var(--df-module-trigger-text-font-style, normal);
  text-transform: var(--df-module-trigger-text-transform, none);
  text-decoration: var(--df-module-trigger-text-decoration, none);
  letter-spacing: var(--df-module-trigger-text-letter-spacing, normal);
  line-height: var(--df-module-trigger-text-line-height, normal);
  text-shadow: var(--df-module-trigger-text-shadow, none);
}

.wp_storeflow_cart_drawer .df-cart-trigger--module .df-cart-badge,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module .df-cart-badge,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module .df-cart-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  transform: translate(
    calc(35% + var(--df-badge-offset-x, 0px)),
    calc(-35% + var(--df-badge-offset-y, 0px))
  );
  background: var(--df-module-trigger-badge-bg, var(--dfc-color-neutral-900));
  color: var(--df-module-trigger-badge-color, var(--dfc-color-white));
  font-size: var(--df-module-trigger-badge-font-size, 12px);
  font-family: var(--df-module-trigger-text-font-family, inherit);
  font-weight: var(--df-module-trigger-text-font-weight, 600);
  font-style: var(--df-module-trigger-text-font-style, normal);
  text-transform: var(--df-module-trigger-text-transform, none);
  text-decoration: var(--df-module-trigger-text-decoration, none);
  letter-spacing: var(--df-module-trigger-text-letter-spacing, normal);
  line-height: var(--df-module-trigger-text-line-height, normal);
  text-shadow: var(--df-module-trigger-text-shadow, none);
  min-width: var(--df-module-trigger-badge-size, 22px);
  height: var(--df-module-trigger-badge-size, 22px);
  border-radius: var(--df-module-trigger-badge-radius, var(--dfc-radius-pill));
}

.wp_storeflow_cart_drawer .df-cart-trigger--module.df-cart-trigger--badge-top-left .df-cart-badge,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module.df-cart-trigger--badge-top-left .df-cart-badge,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module.df-cart-trigger--badge-top-left .df-cart-badge {
  top: 2px;
  left: 2px;
  right: auto;
  transform: translate(
    calc(-35% + var(--df-badge-offset-x, 0px)),
    calc(-35% + var(--df-badge-offset-y, 0px))
  );
}

.wp_storeflow_cart_drawer .df-cart-trigger--module.df-cart-trigger--badge-inline .df-cart-badge,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module.df-cart-trigger--badge-inline .df-cart-badge,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module.df-cart-trigger--badge-inline .df-cart-badge {
  position: static;
  transform: none;
  display: inline-flex;
  margin-left: var(--dfc-space-1-5);
}

.df-cart-trigger--module,
.df-cart-trigger-module-align,
.wp_storeflow_cart_drawer .df-cart-trigger,
.wp_storeflow_cart_drawer_mini_cart .df-cart-trigger,
.wp-storeflow-cart-drawer-mini-cart .df-cart-trigger {
  position: relative;
  inset: auto;
}

.df-cart-trigger--floating,
.df-cart-floating-trigger,
button.df-cart-trigger--floating.df-cart-floating-trigger[data-df-cart-floating-trigger] {
  position: fixed;
  visibility: hidden !important;
  z-index: var(--df-cart-floating-z-index, var(--dfc-floating-trigger-z-index));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  min-width: 58px;
  min-height: 58px;
  margin: 0;
  border: 0;
  background: var(--df-cart-floating-bg, var(--df-floating-cart-bg, #111111));
  color: var(--df-cart-floating-icon-color, var(--df-floating-cart-icon-color, var(--df-cart-floating-icon, var(--dfc-color-white))));
  border-radius: 999px;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  font: inherit;
  letter-spacing: normal;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: var(--df-cart-floating-shadow, 0 10px 22px rgba(0, 0, 0, 0.2));
  transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

[data-df-cart-floating-trigger][data-dfc-floating-ready="1"],
.df-cart-floating-trigger[data-dfc-floating-ready="1"],
button.df-cart-trigger--floating.df-cart-floating-trigger[data-df-cart-floating-trigger][data-dfc-floating-ready="1"] {
  visibility: visible !important;
}

.df-cart-floating-trigger:hover,
.df-cart-floating-trigger:focus-visible {
  background: var(--df-cart-floating-hover-bg, var(--df-cart-floating-bg, var(--df-floating-cart-bg, #111111))) !important;
  color: var(--df-cart-floating-hover-icon-color, var(--df-cart-floating-icon-color, var(--df-floating-cart-icon-color, var(--df-cart-floating-icon, var(--dfc-color-white))))) !important;
  box-shadow: var(--df-cart-floating-hover-shadow, var(--df-cart-floating-shadow, 0 10px 22px rgba(0, 0, 0, 0.2)));
}

button.df-cart-trigger--floating.df-cart-floating-trigger:focus,
button.df-cart-trigger--floating.df-cart-floating-trigger:active,
.df-cart-trigger--floating.df-cart-floating-trigger:focus,
.df-cart-trigger--floating.df-cart-floating-trigger:active,
[data-df-cart-floating-trigger].df-cart-floating-trigger:focus,
[data-df-cart-floating-trigger].df-cart-floating-trigger:active {
  background: var(--df-cart-floating-hover-bg, var(--df-cart-floating-bg, var(--df-floating-cart-bg, #111111))) !important;
  background-color: var(--df-cart-floating-hover-bg, var(--df-cart-floating-bg, var(--df-floating-cart-bg, #111111))) !important;
  border-color: transparent !important;
  color: var(--df-cart-floating-hover-icon-color, var(--df-cart-floating-icon-color, var(--df-floating-cart-icon-color, var(--df-cart-floating-icon, var(--dfc-color-white))))) !important;
  outline: 0;
}

button.df-cart-trigger--floating.df-cart-floating-trigger:focus-visible,
.df-cart-trigger--floating.df-cart-floating-trigger:focus-visible,
[data-df-cart-floating-trigger].df-cart-floating-trigger:focus-visible {
  outline: var(--df-cart-focus-outline-width, 2px) solid var(--df-cart-focus-outline-color, var(--df-cart-floating-hover-bg, var(--df-cart-floating-bg, #111111)));
  outline-offset: var(--df-cart-focus-outline-offset, 3px);
}

.df-cart-floating-trigger:hover .df-cart-floating-trigger-icon,
.df-cart-floating-trigger:focus .df-cart-floating-trigger-icon,
.df-cart-floating-trigger:active .df-cart-floating-trigger-icon,
.df-cart-floating-trigger:focus-visible .df-cart-floating-trigger-icon {
  color: var(--df-cart-floating-hover-icon-color, var(--df-cart-floating-icon-color, var(--df-floating-cart-icon-color, var(--df-cart-floating-icon, var(--dfc-color-white))))) !important;
}

.df-cart-floating-trigger:hover .df-cart-badge,
.df-cart-floating-trigger:focus .df-cart-badge,
.df-cart-floating-trigger:active .df-cart-badge,
.df-cart-floating-trigger:focus-visible .df-cart-badge {
  background: var(--df-cart-floating-hover-badge-bg, var(--df-cart-floating-badge-bg, var(--df-floating-cart-badge-bg, #e11d48))) !important;
  color: var(--df-cart-floating-hover-badge-color, var(--df-cart-floating-badge-color, var(--df-floating-cart-badge-color, var(--df-cart-floating-badge-text, var(--dfc-color-white))))) !important;
}

.df-cart-floating-trigger[hidden],
.df-cart-trigger--floating[hidden],
[data-df-cart-floating-trigger][hidden],
[data-df-floating-cart][hidden],
.df-cart-floating-trigger.is-hidden,
.df-cart-trigger--floating.is-hidden {
  display: none !important;
}

.df-cart-trigger--floating.is-position-left-bottom,
.df-cart-floating-trigger.is-position-left-bottom,
.df-cart-floating-trigger--left-bottom,
.df-cart-floating-trigger--bottom-left {
  left: var(--dfc-floating-trigger-offset);
  right: auto;
  top: auto;
  bottom: var(--df-cart-floating-offset-y, var(--dfc-floating-trigger-offset));
}

.df-cart-trigger--floating.is-position-right-bottom,
.df-cart-floating-trigger.is-position-right-bottom,
.df-cart-floating-trigger--right-bottom,
.df-cart-floating-trigger--bottom-right {
  left: auto;
  top: auto;
  bottom: var(--df-cart-floating-offset-y, var(--dfc-floating-trigger-offset));
  right: var(--df-cart-floating-offset-x, var(--dfc-floating-trigger-offset));
}

.df-cart-trigger--floating:not(.is-position-left-bottom):not(.is-position-right-bottom):not(.df-cart-floating-trigger--left-bottom):not(.df-cart-floating-trigger--right-bottom):not(.df-cart-floating-trigger--bottom-left):not(.df-cart-floating-trigger--bottom-right),
.df-cart-floating-trigger:not(.is-position-left-bottom):not(.is-position-right-bottom):not(.df-cart-floating-trigger--left-bottom):not(.df-cart-floating-trigger--right-bottom):not(.df-cart-floating-trigger--bottom-left):not(.df-cart-floating-trigger--bottom-right) {
  left: auto;
  top: auto;
  bottom: var(--df-cart-floating-offset-y, var(--dfc-floating-trigger-offset));
  right: var(--dfc-floating-trigger-offset);
}

.df-cart-floating-trigger-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  line-height: 1;
}

.df-cart-floating-trigger .df-cart-floating-trigger-icon,
.df-cart-trigger--floating .df-cart-floating-trigger-icon {
  color: var(--df-cart-floating-icon-color, var(--df-floating-cart-icon-color, var(--df-cart-floating-icon, var(--dfc-color-white))));
}

.df-cart-floating-trigger .df-cart-floating-trigger-icon svg,
.df-cart-trigger--floating .df-cart-floating-trigger-icon svg {
  width: 28px;
  height: 28px;
  color: currentColor;
  stroke: currentColor;
  fill: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.df-cart-floating-trigger-icon svg *,
.df-cart-floating-trigger-icon svg path,
.df-cart-floating-trigger-icon svg circle,
.df-cart-floating-trigger-icon svg rect,
.df-cart-floating-trigger-icon svg polygon,
.df-cart-floating-trigger-icon svg line,
.df-cart-floating-trigger-icon svg polyline {
  stroke: currentColor;
  color: currentColor;
  fill: currentColor;
}

.df-cart-floating-trigger-icon svg [stroke="none"] {
  stroke: none;
}

.df-cart-floating-trigger-icon svg [fill="none"] {
  fill: none;
}

.df-cart-floating-trigger .df-cart-badge,
.df-cart-trigger--floating .df-cart-badge {
  position: absolute;
  top: -4px;
  left: -4px;
  width: 22px;
  height: 22px;
  padding: 0 !important;
  border-radius: 50%;
  border: 0;
  background: var(--df-cart-floating-badge-bg, var(--df-floating-cart-badge-bg, #e11d48));
  color: var(--df-cart-floating-badge-color, var(--df-floating-cart-badge-color, var(--df-cart-floating-badge-text, var(--dfc-color-white))));
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.df-cart-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  border-radius: var(--dfc-radius-pill);
  background: var(--dfc-color-neutral-900);
  color: var(--dfc-color-white);
  font-size: 12px;
}

.df-cart-overlay {
  position: fixed;
  inset: 0;
  background: var(--dfc-color-overlay);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease), visibility 0s linear var(--df-cart-animation-duration, 260ms);
  z-index: 9998;
  overscroll-behavior: contain;
  touch-action: none;
}

.df-cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  left: auto;
  width: min(var(--df-cart-drawer-width, var(--dfc-drawer-width, 420px)), 100%);
  height: 100vh;
  height: 100dvh;
  height: var(--df-cart-visual-viewport-height, 100dvh);
  max-height: 100vh;
  max-height: 100dvh;
  max-height: var(--df-cart-visual-viewport-height, 100dvh);
  border: 0;
  border-style: none;
  background: var(--dfc-drawer-bg);
  isolation: isolate;
  box-shadow: none;
  transform: translateX(100%);
  opacity: 1;
  transform-origin: center right;
  transition: transform var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease), opacity var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease);
  z-index: 99999;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--dfc-drawer-text);
}

.df-cart-drawer.is-position-left,
.df-cart-shell.df-cart-position-left .df-cart-drawer {
  left: 0;
  right: auto;
  transform: translateX(-100%);
}

.df-cart-drawer.is-position-right,
.df-cart-shell.df-cart-position-right .df-cart-drawer {
  right: 0;
  left: auto;
  transform: translateX(100%);
}


@media (max-width: 782px) {
  .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    top: 0;
    right: 0;
    left: auto;
    bottom: 0;
    height: 100vh;
    height: 100dvh;
    height: var(--df-cart-visual-viewport-height, 100dvh);
    max-height: 100vh;
    max-height: 100dvh;
    max-height: var(--df-cart-visual-viewport-height, 100dvh);
    border-radius: 0;
  }

  .df-cart-drawer.df-cart-mobile-style-full_height .df-cart-footer,
  .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) .df-cart-footer {
    padding-bottom: calc(var(--df-cart-footer-padding, var(--dfc-space-4)) + env(safe-area-inset-bottom, 0px));
  }


  .df-cart-drawer.df-cart-mobile-style-full_height.is-position-left,
  .df-cart-drawer.df-cart-mobile-style-inherit.is-position-left:not(.is-boxed-drawer),
  .df-cart-shell.df-cart-position-left .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell.df-cart-position-left .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    left: 0;
    right: auto;
    transform: translateX(-100%);
  }

  .df-cart-shell.is-open .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-portal.is-open .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell.is-open .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer),
  .df-cart-portal.is-open .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer),
  .df-cart-shell.is-open .df-cart-drawer.df-cart-mobile-style-full_height.is-position-right,
  .df-cart-portal.is-open .df-cart-drawer.df-cart-mobile-style-full_height.is-position-right,
  .df-cart-shell.is-open .df-cart-drawer.df-cart-mobile-style-full_height.is-position-left,
  .df-cart-portal.is-open .df-cart-drawer.df-cart-mobile-style-full_height.is-position-left,
  .df-cart-shell.is-open .df-cart-drawer.df-cart-mobile-style-inherit.is-position-right:not(.is-boxed-drawer),
  .df-cart-portal.is-open .df-cart-drawer.df-cart-mobile-style-inherit.is-position-right:not(.is-boxed-drawer),
  .df-cart-shell.is-open .df-cart-drawer.df-cart-mobile-style-inherit.is-position-left:not(.is-boxed-drawer),
  .df-cart-portal.is-open .df-cart-drawer.df-cart-mobile-style-inherit.is-position-left:not(.is-boxed-drawer),
  .df-cart-shell.is-open.df-cart-position-right .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell.is-open.df-cart-position-left .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell.is-open.df-cart-position-right .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer),
  .df-cart-shell.is-open.df-cart-position-left .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    transform: translateX(0);
  }

}

@media (max-width: 782px) and (min-width: 601px) {
  .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    width: min(var(--df-cart-drawer-width, var(--dfc-drawer-width, 420px)), calc(100vw - 24px));
    max-width: calc(100vw - 24px);
  }

  .df-cart-drawer.df-cart-mobile-style-full_height.is-position-right,
  .df-cart-drawer.df-cart-mobile-style-inherit.is-position-right:not(.is-boxed-drawer),
  .df-cart-shell.df-cart-position-right .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell.df-cart-position-right .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    right: 0;
    left: auto;
  }

  .df-cart-drawer.df-cart-mobile-style-full_height.is-position-left,
  .df-cart-drawer.df-cart-mobile-style-inherit.is-position-left:not(.is-boxed-drawer),
  .df-cart-shell.df-cart-position-left .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell.df-cart-position-left .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    left: 0;
    right: auto;
  }
}

@media (max-width: 600px) {
  .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    width: 100vw;
    max-width: 100vw;
  }
}

.df-cart-drawer,
.df-cart-drawer input,
.df-cart-drawer button,
.df-cart-drawer select,
.df-cart-drawer textarea {
  font-family: var(--df-cart-body-font-family, inherit);
}

.df-cart-drawer,
.df-cart-drawer * {
  box-sizing: border-box;
}

.df-cart-drawer h2,
.df-cart-drawer h3,
.df-cart-drawer h4,
.df-cart-drawer p {
  margin: 0;
}

.df-cart-drawer a {
  color: var(--dfc-link);
}

.df-cart-drawer a:hover,
.df-cart-drawer a:focus-visible {
  color: var(--dfc-link-hover);
}

.df-cart-drawer button {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  box-shadow: none;
}

/*
 * Functional controls keep their own box model even when a theme enqueues a
 * generic button skin after DrawerCart. The element + component selectors are
 * intentionally stronger than selectors such as `[type="button"]`.
 */
.df-cart-drawer button.df-cart-close,
.df-cart-drawer button.df-cart-qty-button,
.df-cart-drawer button.df-cart-coupon-toggle,
.df-cart-drawer button.df-cart-apply-coupon {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  margin: 0;
  letter-spacing: normal;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
}

.df-cart-shell.is-open .df-cart-overlay,
.df-cart-portal.is-open .df-cart-overlay {
  transition-delay: 0s, 0s;
}

.df-cart-drawer.df-cart-animation-fade,
.df-cart-portal .df-cart-drawer.df-cart-animation-fade {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: none;
  transition: transform var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease), opacity var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease), visibility 0s linear var(--df-cart-animation-duration, 260ms);
}

.df-cart-drawer.df-cart-animation-slide_fade,
.df-cart-drawer.df-cart-animation-scale_fade {
  opacity: 0;
}

.df-cart-drawer.df-cart-animation-scale_fade,
.df-cart-portal .df-cart-drawer.df-cart-animation-scale_fade {
  visibility: hidden;
  pointer-events: none;
  transition: transform var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease), opacity var(--df-cart-animation-duration, 260ms) var(--df-cart-drawer-animation-easing, ease), visibility 0s linear var(--df-cart-animation-duration, 260ms);
}

.df-cart-drawer.df-cart-animation-fade.is-position-left,
.df-cart-drawer.df-cart-animation-fade.is-position-right,
.df-cart-shell.df-cart-position-left .df-cart-drawer.df-cart-animation-fade,
.df-cart-shell.df-cart-position-right .df-cart-drawer.df-cart-animation-fade {
  transform: none;
}

.df-cart-drawer.df-cart-animation-scale_fade {
  transform: translateX(18px) scale(0.98);
  transform-origin: center right;
}

.df-cart-drawer.df-cart-animation-scale_fade.is-position-left,
.df-cart-shell.df-cart-position-left .df-cart-drawer.df-cart-animation-scale_fade {
  transform: translateX(-18px) scale(0.98);
  transform-origin: center left;
}



@media (prefers-reduced-motion: reduce) {
  .df-cart-overlay,
  .df-cart-drawer {
    transition-duration: 1ms !important;
    transition-delay: 0s !important;
  }
}

/* Keep the fixed drawer below the WordPress admin bar when visible. */
body.admin-bar .df-cart-drawer:not(.is-boxed-drawer) {
  top: 32px;
  bottom: 0;
  height: calc(100vh - 32px);
  max-height: calc(100vh - 32px);
}

@media (max-width: 782px) {
  body.admin-bar .df-cart-drawer:not(.is-boxed-drawer) {
    top: 46px;
    bottom: 0;
    height: calc(100vh - 46px);
    height: calc(100dvh - 46px);
    height: calc(var(--df-cart-visual-viewport-height, 100dvh) - 46px);
    max-height: calc(100vh - 46px);
    max-height: calc(100dvh - 46px);
    max-height: calc(var(--df-cart-visual-viewport-height, 100dvh) - 46px);
  }
}



.df-cart-shell .df-cart-overlay {
  z-index: 99998;
}

.df-cart-shell .df-cart-drawer {
  z-index: 99999;
}

.df-cart-portal {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible;
  pointer-events: none;
  z-index: 99997;
  isolation: isolate;
}

.df-cart-portal .df-cart-overlay,
.df-cart-portal .df-cart-drawer {
  pointer-events: auto;
}


.df-cart-portal .df-cart-overlay {
  z-index: 99998;
}

.df-cart-portal .df-cart-drawer {
  z-index: 99999;
}

.df-cart-shell.is-open .df-cart-overlay {
  opacity: var(--df-cart-overlay-opacity, 0.42);
  visibility: visible;
}

.df-cart-shell.is-open .df-cart-drawer {
  opacity: 1;
  transform: translateX(0);
  box-shadow: var(--dfc-drawer-shadow);
}

.df-cart-shell.is-open .df-cart-drawer.df-cart-animation-fade,
.df-cart-shell.is-open .df-cart-drawer.df-cart-animation-scale_fade {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s, 0s, 0s;
  transform: none;
}

.df-cart-portal.is-open .df-cart-overlay {
  opacity: var(--df-cart-overlay-opacity, 0.42);
  visibility: visible;
}

.df-cart-portal.is-open .df-cart-drawer {
  opacity: 1;
  transform: translateX(0);
  box-shadow: var(--dfc-drawer-shadow);
}

.df-cart-portal.is-open .df-cart-drawer.df-cart-animation-fade,
.df-cart-portal.is-open .df-cart-drawer.df-cart-animation-scale_fade {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s, 0s, 0s;
  transform: none;
}



.df-cart-shell {
  z-index: auto;
}

/*
 * Keep the portaled drawer layer above positioned theme headers only while
 * DrawerCart is open. Divi 5 default headers create their own elevated
 * stacking contexts, so the fixed portal itself must sit above the header;
 * raising only the child overlay/drawer cannot escape a lower parent layer.
 */
body.df-cart-open .df-cart-portal.is-open,
body.df-cart-open .df-cart-shell.is-open {
  z-index: 100000;
}

body.df-cart-open .df-cart-portal.is-open .df-cart-overlay,
body.df-cart-open .df-cart-shell.is-open .df-cart-overlay {
  z-index: 100000;
}

body.df-cart-open .df-cart-portal.is-open .df-cart-drawer,
body.df-cart-open .df-cart-shell.is-open .df-cart-drawer {
  z-index: 100001;
}

body.df-cart-open .df-cart-trigger,
body.df-cart-open .wp_storeflow_cart_drawer .df-cart-trigger--module,
body.df-cart-open .wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module,
body.df-cart-open .wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module,
body.df-cart-open .df-cart-trigger-module-align,
body.df-cart-open .df-cart-floating-trigger {
  z-index: 1;
}

body.df-cart-open .df-cart-trigger,
body.df-cart-open .wp_storeflow_cart_drawer_mini_cart .df-cart-trigger--module,
body.df-cart-open .wp-storeflow-cart-drawer-mini-cart .df-cart-trigger--module,
body.df-cart-open .wp_storeflow_cart_drawer,
body.df-cart-open .wp-storeflow-cart-drawer-mini-cart,
body.df-cart-open .df-cart-floating-trigger {
  pointer-events: none;
}

.df-cart-footer {
  padding: var(--df-cart-footer-padding, var(--dfc-space-4));
  background: var(--df-cart-footer-bg, var(--dfc-drawer-bg));
}

.df-cart-form {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  background: var(--dfc-drawer-bg);
}

.df-cart-drawer form.df-cart-form {
  margin: 0;
}

.df-cart-main-layout {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  background: var(--dfc-drawer-bg);
}

.df-cart-main-column {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  background: var(--dfc-drawer-bg);
}

.df-cart-header {
  border-bottom: var(--df-cart-header-border-width, 0) solid var(--dfc-drawer-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--dfc-space-3);
  position: sticky;
  top: 0;
  background: var(--df-cart-header-bg, var(--dfc-drawer-bg));
  z-index: 2;
  padding: var(--df-cart-header-padding-top, var(--dfc-space-4)) var(--dfc-space-4) var(--df-cart-header-padding-bottom, var(--dfc-space-4));
}

.df-cart-drawer .df-cart-title,
.df-cart-drawer .df-cart-empty-state__title,
.df-cart-drawer .df-cart-empty-title {
  font-family: var(--df-cart-heading-font-family, var(--df-cart-body-font-family, inherit));
}

.df-cart-title {
  margin: 0;
  padding-bottom: 0;
  font-size: var(--df-cart-heading-size, 22px);
  font-weight: var(--df-cart-heading-weight, 600);
  line-height: 1.3;
  color: var(--df-cart-heading-color, var(--dfc-drawer-text));
}

.df-cart-drawer .df-cart-title .df-cart-title-text {
  margin: 0;
  padding: 0;
  color: var(--df-cart-heading-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-heading-size, 22px);
  font-weight: var(--df-cart-heading-weight, 600);
  font-style: normal;
  line-height: 1.3;
  text-decoration: none;
  text-transform: none;
}

.df-cart-title .df-cart-header-icon-wrap {
  display: inline-flex;
  align-items: center;
  gap: var(--df-cart-header-icon-gap, 8px);
}

.df-cart-title .df-cart-header-icon {
  display: var(--df-cart-header-icon-display, none);
  position: relative;
  width: var(--df-cart-header-icon-size, 20px);
  height: var(--df-cart-header-icon-size, 20px);
  color: var(--df-cart-header-icon-color, var(--df-cart-heading-color, var(--dfc-drawer-text)));
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.df-cart-title .df-cart-header-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.df-cart-title .df-cart-header-icon-badge {
  display: var(--df-cart-header-badge-display, none);
  position: absolute;
  top: -5px;
  right: -7px;
  min-width: var(--df-cart-header-badge-size, 16px);
  height: var(--df-cart-header-badge-size, 16px);
  padding: 0 4px;
  border-radius: 999px;
  background: var(--df-cart-header-badge-bg, #e11d48);
  color: var(--df-cart-header-badge-text, #ffffff);
  font-size: var(--df-cart-header-badge-font-size, 10px);
  font-weight: 600;
  line-height: 1;
}

.df-cart-drawer button.df-cart-close {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: var(--df-cart-close-border, 0);
  background: var(--df-cart-close-bg, transparent);
  color: var(--df-cart-close-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-close-size, 30px) !important;
  border-radius: var(--df-cart-close-icon-radius, 0px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.df-cart-drawer button.df-cart-close:hover,
.df-cart-drawer button.df-cart-close:focus,
.df-cart-drawer button.df-cart-close:active {
  border: var(--df-cart-close-border, 0);
  background: var(--df-cart-close-bg, transparent);
  color: var(--df-cart-close-color, var(--dfc-drawer-text));
}

.df-cart-drawer .df-cart-close-icon {
  display: grid;
  place-items: center;
  width: var(--df-cart-close-size, 30px);
  height: var(--df-cart-close-size, 30px);
  pointer-events: none;
}

.df-cart-drawer .df-cart-close-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  fill: none;
}

.df-cart-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.df-cart-content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: var(--dfc-space-3);
  padding-bottom: var(--dfc-space-4);
}

.df-cart-progress {
  padding-top: 15px;
  padding-bottom: 0;
  padding-left: 10px;
  padding-right: 20px;
  margin-bottom: 15px;
  background-color: #f7f7f7;
  display: grid;
  gap: var(--dfc-space-2);
  box-sizing: border-box;
  border-top: var(--df-cart-rewards-border-width, 0) solid var(--dfc-drawer-border);
}

.df-cart-top-notice {
  margin: 10px 20px;
  border-width: 0;
  border-style: solid;
  border-color: transparent;
  background: #2a5c30;
  color: #ffffff;
  border-radius: 5px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.df-cart-top-notice-icon {
  display: inline-flex;
  font-size: 14px;
  line-height: 1;
  flex: 0 0 auto;
}

.df-cart-top-notice-message {
  min-width: 0;
}


.df-cart-progress-message {
  margin: 0;
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--dfc-space-1-5, 6px);
  color: var(--dfc-drawer-text);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}

.df-cart-progress-message-content {
  min-width: 0;
  text-align: center;
}

.df-cart-drawer .df-cart-progress .df-cart-progress-message-content {
  color: var(--df-cart-reward-message-text-color, var(--df-cart-reward-bar-text, inherit));
  font-size: var(--df-cart-reward-message-text-size, 15px);
  font-weight: var(--df-cart-reward-message-text-weight, 600) !important;
}

.df-cart-drawer .df-cart-progress .df-cart-progress-message-content > .df-cart-progress-message-text {
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
}

.df-cart-progress-message-value {
  color: var(--df-cart-reward-message-value-color, var(--df-cart-reward-bar-value, #09723d));
  font-size: var(--df-cart-reward-message-value-size, 15px);
  font-weight: var(--df-cart-reward-bar-value-weight, 700);
}

.df-cart-drawer .df-cart-progress-message-text .amount,
.df-cart-drawer .df-cart-progress-message-text .woocommerce-Price-amount,
.df-cart-drawer .df-cart-progress-message-text .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-progress-message-text bdi {
  color: var(--df-cart-reward-message-text-color, var(--df-cart-reward-bar-text, inherit)) !important;
}

.df-cart-drawer .df-cart-progress-message-value .amount,
.df-cart-drawer .df-cart-progress-message-value .woocommerce-Price-amount,
.df-cart-drawer .df-cart-progress-message-value .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-progress-message-value bdi {
  color: var(--df-cart-reward-message-value-color, var(--df-cart-reward-bar-value, #09723d)) !important;
}

.df-icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: middle;
}

.df-icon--stroke {
  fill: none;
  stroke: #09723d;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.df-icon--solid {
  fill: currentColor;
  stroke: none;
}

.df-cart-progress-icon {
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  align-self: baseline;
  transform: translateY(1px);
  color: currentColor;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}

.df-cart-progress-icon-graphic {
  display: none;
}

.df-cart-progress--incomplete .df-cart-progress-icon-graphic--incomplete,
.df-cart-progress--complete .df-cart-progress-icon-graphic--complete {
  display: inline-block;
}

.df-cart-progress-note {
  margin: 4px 0 8px;
  color: var(--dfc-drawer-text-muted);
  font-size: 13px;
  line-height: 1.35;
  text-align: center;
}

.df-cart-reward-row {
  display: flex;
  align-items: center;
  gap: var(--dfc-space-2);
  padding: var(--dfc-space-2-5) var(--dfc-space-3);
  border: 1px solid var(--dfc-color-accent-success-100);
  border-radius: var(--dfc-radius-md);
  background: var(--dfc-color-accent-success-050);
  color: var(--dfc-color-accent-success-text);
}

.df-cart-reward-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: var(--dfc-radius-pill);
  background: var(--dfc-color-accent-success);
  color: var(--dfc-color-white);
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
}

.df-cart-reward-message {
  font-size: 14px;
  font-weight: var(--df-cart-reward-message-text-weight, 600);
  line-height: 1.4;
}

.df-cart-progress-track {
  width: 100%;
  height: 9px;
  border-radius: var(--dfc-radius-pill);
  background: var(--df-cart-reward-bar-track, #e3e8ef);
  overflow: hidden;
  transition: background-color 0.25s ease;
}

.df-cart-progress-fill {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--df-cart-reward-bar-fill, #09723d);
  transition: width 0.3s ease;
}

.df-cart-reward-milestones {
  margin: 0;
  padding: 0;
  list-style: none;
  position: absolute;
  inset: 0 0 auto 0;
  height: 100%;
}

.df-cart-reward-milestone {
  position: absolute;
  top: 0;
  left: var(--df-cart-reward-position, 0%);
  transform: translateX(-50%);
  width: max-content;
  max-width: 84px;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 4px;
  color: var(--dfc-drawer-text-muted);
  font-size: 12px;
  line-height: 1.2;
}

.df-cart-reward-milestone:last-child {
  left: 100%;
  transform: translateX(-100%);
  justify-items: end;
}

.df-cart-reward-milestone--locked {
  color: var(--dfc-drawer-text-muted);
}

.df-cart-reward-milestone--active {
  color: var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted));
}

.df-cart-reward-milestone--unlocked {
  color: var(--dfc-color-accent-success-text);
}

.df-cart-progress-journey {
  position: relative;
  width: calc(100% - 24px);
  margin: 0 auto;
  padding-top: 8px;
  padding-bottom: 44px;
}

.df-cart-reward-milestone-marker {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #c3cad6;
  background: #fff;
  color: var(--df-cart-reward-bar-icon, #8d96a5);
  box-sizing: border-box;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}


.df-cart-reward-milestone--locked .df-cart-reward-milestone-marker,
.df-cart-reward-milestone[data-df-cart-reward-state="locked"] .df-cart-reward-milestone-marker {
  border-color: #c3cad6;
  background: #fff;
  color: var(--df-rewards-icon-color-locked, var(--df-cart-reward-bar-icon, #8d96a5));
  box-shadow: none;
}

.df-cart-reward-milestone--active .df-cart-reward-milestone-marker,
.df-cart-reward-milestone[data-df-cart-reward-state="active"] .df-cart-reward-milestone-marker,
.df-reward-active .df-cart-reward-milestone-marker {
  border-color: var(--df-cart-reward-bar-fill, var(--dfc-progress-fill));
  background: #fff;
  color: var(--df-rewards-icon-color-active, var(--df-cart-reward-bar-icon, var(--df-cart-reward-bar-fill, var(--dfc-progress-fill))));
  box-shadow: none;
}

.df-cart-reward-milestone--unlocked .df-cart-reward-milestone-marker,
.df-cart-reward-milestone[data-df-cart-reward-state="unlocked"] .df-cart-reward-milestone-marker {
  border-color: var(--df-cart-reward-bar-fill, var(--dfc-progress-fill));
  background: var(--df-cart-reward-bar-fill, var(--dfc-progress-fill));
  color: var(--df-rewards-icon-color-unlocked, var(--df-cart-reward-bar-icon, var(--df-cart-reward-bar-fill, var(--dfc-progress-fill))));
  box-shadow: none;
}

.df-cart-reward-milestone-label {
  font-size: 10px;
  font-weight: 700;
  color: var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted));
  text-align: center;
  letter-spacing: 0.01em;
  text-wrap: balance;
  transition: color 0.2s ease, opacity 0.2s ease;
}


.df-cart-drawer .df-cart-reward-milestone:last-child .df-cart-reward-milestone-label {
  text-align: right;
}

.df-cart-drawer .df-cart-reward-milestone:last-child .df-cart-reward-milestone-threshold {
  text-align: right;
}
.df-cart-reward-milestone--locked .df-cart-reward-milestone-label {
  color: var(--df-rewards-label-color-locked, var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted)));
}

.df-cart-reward-milestone--active .df-cart-reward-milestone-label {
  color: var(--df-rewards-label-color-active, var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted)));
  opacity: 0.9;
}

.df-cart-reward-milestone--unlocked .df-cart-reward-milestone-label {
  color: var(--df-rewards-label-color-unlocked, var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted)));
  font-weight: 600;
  opacity: 1;
}

.df-cart-reward-milestone-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  line-height: 1;
}

.df-cart-reward-milestone-icon .df-icon {
  width: 16px;
  height: 16px;
  display: block;
  color: currentColor;
}

.df-cart-reward-milestone-icon .df-icon path,
.df-cart-reward-milestone-icon .df-icon circle,
.df-cart-reward-milestone-icon .df-icon rect,
.df-cart-reward-milestone-icon .df-icon polygon,
.df-cart-reward-milestone-icon .df-icon line,
.df-cart-reward-milestone-icon .df-icon polyline {
  stroke: currentColor;
  fill: none;
}

.df-cart-reward-milestone-threshold {
  white-space: nowrap;
  font-size: 9px;
  font-weight: 500;
  color: var(--df-rewards-value-color-locked, var(--df-cart-reward-bar-value, var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted))));
  line-height: 1.2;
  opacity: 0.72;
  transition: color 0.2s ease, opacity 0.2s ease;
}

.df-cart-reward-milestone--active .df-cart-reward-milestone-threshold {
  color: var(--df-rewards-value-color-active, var(--df-cart-reward-bar-value, var(--df-cart-reward-bar-text, var(--dfc-drawer-text-muted))));
  opacity: 0.84;
}

.df-cart-reward-milestone--unlocked .df-cart-reward-milestone-threshold {
  color: var(--df-rewards-value-color-unlocked, var(--df-cart-reward-bar-value, #15803d));
  opacity: 0.92;
}

.df-cart-progress {
  background: var(--df-cart-reward-bar-bg, transparent);
}

.df-cart-progress .df-cart-progress-message {
  color: var(--df-cart-reward-message-text-color, var(--df-cart-reward-bar-text, inherit));
  font-weight: var(--df-cart-reward-message-text-weight, 600);
}

.df-cart-progress .df-cart-progress-message-text {
  color: var(--df-cart-reward-message-text-color, var(--df-cart-reward-bar-text, inherit));
  font-size: var(--df-cart-reward-message-text-size, 15px);
}

.df-cart-progress .df-cart-progress-message-value {
  color: var(--df-cart-reward-message-value-color, var(--df-cart-reward-bar-value, inherit));
  font-size: var(--df-cart-reward-message-value-size, 15px);
  font-weight: var(--df-cart-reward-bar-value-weight, 700);
}

.df-cart-progress .df-cart-progress-icon {
  color: var(--df-cart-reward-bar-icon, currentColor);
}

.df-cart-items {
  display: grid;
  gap: var(--df-cart-item-gap, 10px);
  margin-top: var(--df-cart-product-list-top-margin, 0px);
  padding: 0 var(--dfc-space-4);
  align-content: start;
}

.df-cart-empty {
  flex: 1;
  margin-top: 0;
  padding: var(--dfc-space-4);
}

.df-cart-empty-state {
  display: grid;
  gap: var(--dfc-space-2);
  padding: var(--df-cart-empty-top-spacing, 56px) var(--dfc-space-4) var(--dfc-space-4);
  text-align: center;
}

.df-cart-empty-state__icon {
  width: var(--df-cart-empty-icon-bg-size, 56px);
  height: var(--df-cart-empty-icon-bg-size, 56px);
  border-radius: var(--df-cart-empty-icon-radius, 999px);
  background: var(--df-cart-empty-icon-bg, #f3f4f6);
  color: var(--df-cart-empty-icon-color, #6b7280);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
}

.df-cart-empty-state__icon svg {
  width: var(--df-cart-empty-icon-size, 32px);
  height: var(--df-cart-empty-icon-size, 32px);
}

.df-cart-empty-state__title {
  margin: 0;
  color: var(--df-cart-empty-title-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-empty-title-size, 18px);
  font-weight: var(--df-cart-empty-title-weight, 700);
  line-height: 1.35;
}

.df-cart-empty-state__description {
  margin: 0;
  color: var(--df-cart-empty-description-color, var(--dfc-drawer-text-muted));
  font-size: var(--df-cart-empty-description-size, 14px);
  font-weight: var(--df-cart-empty-description-weight, 400);
  line-height: 1.5;
}

.df-cart-footer {
  --dfc-footer-row-gap: var(--dfc-space-3);
  --dfc-footer-action-gap: var(--dfc-space-2);
  border-top-style: solid;
  border-top-width: var(--df-cart-footer-border-width, 0);
  border-top-color: var(--df-cart-footer-border-color, var(--dfc-drawer-border));
  margin-top: auto;
  background: var(--df-cart-footer-bg, var(--dfc-drawer-bg));
  position: static;
  bottom: auto;
  z-index: auto;
  display: grid;
  gap: var(--dfc-footer-row-gap);
  flex: 0 0 auto;
}

.df-cart-footer::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  box-shadow: var(--df-cart-footer-shadow, none);
  clip-path: inset(-500px 0 1px 0);
  pointer-events: none;
}

.df-cart-totals-row--total {
  border-top-style: solid;
  border-top-width: var(--df-cart-total-separator-width, 0);
  border-top-color: var(--df-cart-total-separator-color, transparent);
  margin-top: var(--df-cart-total-separator-spacing, 0);
  padding-top: var(--df-cart-total-separator-spacing, 0);
}


/* Sticky drawer layout controls. Header means only the title/close row; rewards and progress always scroll with content. */
/* Let flex measure the real header height instead of subtracting an estimate; estimated min-height creates fake drawer overflow. */
.df-cart-drawer.df-cart-sticky-header,
.df-cart-drawer.df-cart-sticky-none {
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.df-cart-drawer.df-cart-sticky-footer {
  overflow: hidden;
}

.df-cart-drawer.df-cart-sticky-header .df-cart-form,
.df-cart-drawer.df-cart-sticky-header_footer .df-cart-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
}

.df-cart-drawer.df-cart-sticky-header_footer {
  overflow: hidden;
}

.df-cart-drawer.df-cart-sticky-header_footer .df-cart-form {
  overflow: hidden;
}

.df-cart-drawer.df-cart-sticky-footer .df-cart-header,
.df-cart-drawer.df-cart-sticky-none .df-cart-header {
  position: static;
  top: auto;
  z-index: auto;
  flex: 0 0 auto;
}

.df-cart-drawer.df-cart-sticky-footer .df-cart-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.df-cart-drawer.df-cart-sticky-none .df-cart-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow: visible;
}

.df-cart-drawer.df-cart-sticky-header .df-cart-body,
.df-cart-drawer.df-cart-sticky-header_footer .df-cart-body,
.df-cart-drawer.df-cart-sticky-footer .df-cart-body,
.df-cart-drawer.df-cart-sticky-none .df-cart-body,
.df-cart-drawer.df-cart-sticky-header .df-cart-main-layout,
.df-cart-drawer.df-cart-sticky-header_footer .df-cart-main-layout,
.df-cart-drawer.df-cart-sticky-footer .df-cart-main-layout,
.df-cart-drawer.df-cart-sticky-none .df-cart-main-layout,
.df-cart-drawer.df-cart-sticky-header .df-cart-main-column,
.df-cart-drawer.df-cart-sticky-header_footer .df-cart-main-column,
.df-cart-drawer.df-cart-sticky-footer .df-cart-main-column,
.df-cart-drawer.df-cart-sticky-none .df-cart-main-column,
.df-cart-drawer.df-cart-sticky-header .df-cart-content,
.df-cart-drawer.df-cart-sticky-header_footer .df-cart-content,
.df-cart-drawer.df-cart-sticky-footer .df-cart-content,
.df-cart-drawer.df-cart-sticky-none .df-cart-content {
  flex: 0 0 auto;
  overflow: visible;
}

.df-cart-drawer.df-cart-sticky-header .df-cart-footer,
.df-cart-drawer.df-cart-sticky-none .df-cart-footer {
  position: static;
  bottom: auto;
  z-index: auto;
}

.df-cart-drawer.df-cart-sticky-header_footer .df-cart-footer {
  position: static;
  bottom: auto;
  z-index: auto;
}

.df-cart-drawer.df-cart-sticky-footer .df-cart-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.df-cart-drawer.df-cart-sticky-footer .df-cart-footer {
  position: static;
  bottom: auto;
  z-index: auto;
  flex: 0 0 auto;
}

.df-cart-drawer.df-cart-sticky-header_footer .df-cart-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.df-cart-empty-state__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.df-cart-drawer a.df-cart-empty-continue-shopping {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 40px;
  margin: var(--df-cart-empty-button-top-spacing, 16px) 0 0;
  padding: 10px 16px;
  text-decoration: none;
  text-align: center;
  text-transform: none;
  white-space: normal;
  background: var(--df-cart-empty-button-bg, #ffffff);
  color: var(--df-cart-empty-button-text, #1f2937);
  border: var(--df-cart-empty-button-border, 1px solid #d0d4da);
  font-size: var(--df-cart-empty-button-size, 14px);
  font-weight: var(--df-cart-empty-button-weight, 600);
  line-height: 1.35;
  border-radius: var(--df-cart-empty-button-radius, 6px);
  box-shadow: var(--df-cart-empty-button-shadow, none);
}

.df-cart-drawer .df-cart-empty-continue-shopping,
.df-cart-drawer .df-cart-empty-continue-shopping:visited,
.df-cart-drawer .df-cart-empty-continue-shopping:hover,
.df-cart-drawer .df-cart-empty-continue-shopping:focus-visible {
  color: var(--df-cart-empty-button-text, #1f2937);
}

.df-cart-item {
  border: var(--df-cart-product-box-border, 1px solid var(--dfc-item-border));
  border-radius: var(--df-cart-product-box-radius, var(--dfc-radius-md));
  padding: var(--df-cart-item-padding, 12px);
  background: var(--df-cart-product-box-bg, var(--dfc-item-bg));
  box-shadow: var(--df-cart-product-box-shadow, none);
  display: grid;
  grid-template-columns: var(--df-cart-product-box-image-size, 84px) minmax(0, 1fr);
  column-gap: var(--df-cart-item-image-gap, 10px);
  row-gap: var(--dfc-space-3);
  align-items: stretch;
}

.df-cart-item-thumb {
  align-self: var(--df-cart-product-box-image-align, stretch);
  aspect-ratio: var(--df-cart-product-box-image-aspect-ratio, auto);
}

.df-cart-item-thumb-link,
.df-cart-item-thumb > img {
  display: block;
  height: 100%;
}

.df-cart-item-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: var(--df-cart-product-box-image-min-height, 90px);
  object-fit: cover;
  border-radius: var(--df-cart-product-box-image-radius, var(--dfc-radius-md));
}

.df-cart-item-main,
.df-cart-item-details,
.df-cart-item-top,
.df-cart-item-bottom {
  display: grid;
  margin: 0;
  padding: 0;
}

.df-cart-item-main {
  grid-template-rows: auto auto;
  gap: var(--dfc-space-1-5);
  min-width: 0;
}

.df-cart-item-top {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--dfc-space-1-5);
}

.df-cart-item-details {
  gap: 2px;
  min-width: 0;
}

.df-cart-item-name {
  margin: 0;
  padding-bottom: 0;
  color: var(--df-cart-product-box-title-color, #000);
  font-size: var(--df-cart-product-box-title-size, 14px);
  font-weight: var(--df-cart-product-box-title-weight, 600);
  font-style: normal;
  line-height: 1.3;
  text-decoration: none;
}

.df-cart-item-name-link,
.df-cart-item-name-text {
  color: var(--df-cart-product-box-title-color, #000);
  margin: 0;
  padding: 0;
  font-size: var(--df-cart-product-box-title-size, 14px);
  font-weight: var(--df-cart-product-box-title-weight, 600);
  font-style: normal;
  line-height: 1.3;
  text-decoration: none;
}

.df-cart-drawer .df-cart-item-name-link,
.df-cart-drawer .df-cart-item-name-link:visited,
.df-cart-drawer .df-cart-item-name-link:hover,
.df-cart-drawer .df-cart-item-name-link:focus-visible {
  color: var(--df-cart-product-box-title-color, var(--dfc-color-black));
  text-decoration: none;
}

.df-cart-item-name-link:hover,
.df-cart-item-name-link:focus-visible {
  color: var(--df-cart-product-box-title-color, #000);
  text-decoration: none;
}

.df-cart-item-variant {
  margin: 0;
  font-size: var(--df-cart-product-box-attributes-size, 11px);
  font-weight: var(--df-cart-product-box-attributes-weight, 500);
  line-height: 1.35;
  color: var(--df-cart-product-box-attributes-color, var(--dfc-item-meta));
}

.df-cart-item-shipping-note {
  margin: 0;
  font-size: var(--df-cart-product-box-shipping-note-size, 12px);
  font-weight: var(--df-cart-product-box-shipping-note-weight, 500);
  line-height: 1.45;
  color: var(--df-cart-product-box-shipping-note-color, var(--dfc-color-accent-warning-text));
}

.df-cart-item-bottom {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: end;
  column-gap: 10px;
  margin-top: 0;
  min-height: 0;
  padding-right: 0;
  position: relative;
}

.df-cart-item-quantity {
  margin: 0;
  flex: 0 0 auto;
  flex-shrink: 0;
  justify-self: start;
  align-self: end;
}

.df-cart-qty-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  isolation: isolate;
  border: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
  border-radius: var(--df-cart-product-box-quantity-radius, var(--dfc-radius-sm));
  overflow: visible;
  background: var(--dfc-item-control-bg);
  min-height: var(--dfc-cart-qty-control-height);
}

.df-cart-drawer .df-cart-item-quantity .df-cart-qty-control {
  height: var(--dfc-cart-qty-control-height);
  min-height: var(--dfc-cart-qty-control-height);
}

.df-cart-drawer button.df-cart-qty-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--dfc-cart-qty-button-width) !important;
  min-width: var(--dfc-cart-qty-button-width) !important;
  height: var(--dfc-cart-qty-control-height) !important;
  min-height: var(--dfc-cart-qty-control-height) !important;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0 !important;
  background: transparent;
  color: var(--dfc-drawer-text);
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: normal;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  vertical-align: middle;
  white-space: normal;
  box-shadow: none;
  cursor: pointer;
}

.df-cart-drawer button.df-cart-qty-button--minus {
  padding-bottom: 2px !important;
}

.df-cart-qty-control > .df-cart-qty-button:first-child {
  border-top-left-radius: calc(var(--df-cart-product-box-quantity-radius, var(--dfc-radius-sm)) - 1px);
  border-bottom-left-radius: calc(var(--df-cart-product-box-quantity-radius, var(--dfc-radius-sm)) - 1px);
}

.df-cart-qty-control > .df-cart-qty-button:last-child {
  border-top-right-radius: calc(var(--df-cart-product-box-quantity-radius, var(--dfc-radius-sm)) - 1px);
  border-bottom-right-radius: calc(var(--df-cart-product-box-quantity-radius, var(--dfc-radius-sm)) - 1px);
}

.df-cart-drawer .df-cart-qty-button:hover,
.df-cart-drawer .df-cart-qty-button:focus,
.df-cart-drawer .df-cart-qty-button:active {
  background: transparent;
  color: var(--dfc-drawer-text);
}

.df-cart-drawer .df-cart-qty-button:focus-visible {
  position: relative;
  z-index: 2;
  outline: var(--dfc-focus-outline-width, 2px) solid var(--dfc-color-focus, #1d4ed8);
  outline-offset: var(--dfc-focus-outline-offset, 2px);
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
}

.df-cart-item-quantity .df-cart-qty-input + .df-cart-qty-button {
  border-left: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
}

.df-cart-drawer .df-cart-item-quantity .df-cart-qty-control > .df-cart-qty-input {
  position: relative;
  z-index: 0;
  align-self: stretch;
  -webkit-appearance: textfield;
  appearance: textfield;
  -moz-appearance: textfield;
  box-sizing: border-box;
  display: block;
  width: var(--dfc-cart-qty-input-width);
  min-width: var(--dfc-cart-qty-input-width);
  max-width: var(--dfc-cart-qty-input-width);
  min-height: var(--dfc-cart-qty-control-height);
  height: var(--dfc-cart-qty-control-height);
  border: 0;
  border-left: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
  /* Real themes apply an !important radius directly to number inputs. */
  border-radius: 0 !important;
  padding: 0 var(--dfc-space-1);
  margin: 0;
  background: transparent;
  background-color: transparent;
  box-shadow: none;
  outline: none;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  font-family: inherit;
  font-size: var(--df-cart-product-box-quantity-size, 13px);
  font-weight: 600;
  line-height: var(--dfc-cart-qty-control-height);
  color: var(--df-cart-product-box-quantity-color, var(--dfc-color-black)) !important;
}

.df-cart-drawer .df-cart-item-quantity .df-cart-qty-control > .df-cart-qty-input:focus:not(:focus-visible) {
  border: 0;
  border-left: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
  outline: none;
  box-shadow: none;
  background: transparent;
  background-color: transparent;
}

.df-cart-drawer .df-cart-item-quantity .df-cart-qty-control > .df-cart-qty-input:focus-visible {
  position: relative;
  z-index: 2;
  border: 0;
  border-left: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
  outline: var(--dfc-focus-outline-width, 2px) solid var(--dfc-color-focus, #1d4ed8);
  outline-offset: var(--dfc-focus-outline-offset, 2px);
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
  background: transparent;
  background-color: transparent;
}

.df-cart-qty-input::-webkit-outer-spin-button,
.df-cart-qty-input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.df-cart-item-subtotal {
  margin: 0;
  padding: 0;
  text-align: right;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  white-space: nowrap;
  font-size: var(--df-cart-product-box-price-size, 14px);
  font-weight: var(--df-cart-product-box-price-weight, 600);
  line-height: 1.25;
  color: var(--df-cart-product-box-price-color, var(--dfc-drawer-text));
}

.df-cart-item-pricing {
  position: absolute;
  right: 0;
  bottom: -3px;
  justify-self: end;
  align-self: end;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  width: auto;
  max-width: 100%;
  margin-left: 0;
  gap: 2px;
  min-width: 0;
  margin: 0;
  text-align: right;
}

.df-cart-item-pricing > .df-cart-item-subtotal,
.df-cart-item-pricing .df-cart-item-pricing-row {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}

.df-cart-item-pricing--stacked {
  display: flex;
}

.df-cart-item-pricing-row {
  display: inline-flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 6px;
  width: 100%;
  min-width: 0;
}

.df-cart-item-pricing--stacked .df-cart-item-subtotal {
  margin: 0;
}

.df-cart-item-pricing-row--badge {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin: 0;
  padding: 0;
}

.df-cart-item-pricing-row--prices {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  line-height: 1;
  margin: 0;
  padding: 0;
  flex-wrap: nowrap;
  gap: 6px;
  width: auto;
  max-width: 100%;
}

.df-cart-item-current-price,
.df-cart-item-subtotal {
  flex: 0 0 auto;
  white-space: nowrap;
  min-width: 0;
  overflow-wrap: anywhere;
}

.df-cart-drawer .df-cart-item-current-price,
.df-cart-drawer .df-cart-item-current-price ins,
.df-cart-drawer .df-cart-item-current-price ins .amount,
.df-cart-drawer .df-cart-item-current-price ins .woocommerce-Price-amount,
.df-cart-drawer .df-cart-item-current-price ins .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-item-current-price ins bdi {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--df-cart-product-box-price-color, var(--dfc-drawer-text)) !important;
  font-family: inherit !important;
  font-size: var(--df-cart-product-box-price-size, 14px) !important;
  font-style: normal !important;
  font-weight: var(--df-cart-product-box-price-weight, 600) !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}

.df-cart-drawer .df-cart-item-current-price,
.df-cart-drawer .df-cart-item-current-price .amount,
.df-cart-drawer .df-cart-item-current-price .woocommerce-Price-amount,
.df-cart-drawer .df-cart-item-current-price .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-item-current-price bdi,
.df-cart-drawer .df-cart-item-subtotal > .amount,
.df-cart-drawer .df-cart-item-subtotal > .woocommerce-Price-amount,
.df-cart-drawer .df-cart-item-subtotal > .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-item-subtotal > bdi {
  /* Woo/theme price leaf rules commonly load with !important. */
  color: var(--df-cart-product-box-price-color, var(--dfc-drawer-text)) !important;
}

.df-cart-drawer a.df-cart-remove {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  margin: -1px 0 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--dfc-drawer-text);
  font: inherit;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  box-shadow: none;
  cursor: pointer;
}

.df-cart-drawer a.df-cart-remove:hover {
  background: var(--dfc-item-control-hover-bg);
  color: var(--dfc-drawer-text);
  text-decoration: none;
}

.df-cart-drawer a.df-cart-remove:focus,
.df-cart-drawer a.df-cart-remove:active {
  background: transparent;
  color: var(--dfc-drawer-text);
  text-decoration: none;
}

.df-remove-icon {
  font-size: var(--df-cart-product-box-remove-icon-size, 16px);
  color: var(--df-cart-product-box-remove-icon-color, var(--dfc-color-black));
}

.df-cart-remove .df-remove-icon.df-icon--stroke,
.df-cart-remove .df-remove-icon.df-icon--stroke * {
  stroke: currentColor;
}

.df-cart-view-cart {
  margin: 0;
}


.df-cart-drawer .df-cart-rating,
.df-cart-portal .df-cart-rating,
.df-cart-shell .df-cart-rating {
  --df-cart-rating-fill-color: var(--df-cart-review-star-color, #f3b400);
  --df-cart-rating-base-color: #d0d0d0;
  display: inline-flex;
  flex: 0 0 auto;
  width: calc(5em + 4px);
  height: 1em;
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-size: var(--df-cart-review-star-size, 9px);
  line-height: 1;
  vertical-align: middle;
}

.df-cart-drawer .df-cart-rating-count,
.df-cart-portal .df-cart-rating-count,
.df-cart-shell .df-cart-rating-count {
  display: inline-block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  color: var(--df-cart-review-text-color, inherit);
  font-family: inherit;
  font-size: var(--df-cart-review-text-size, inherit);
  font-weight: var(--df-cart-review-text-weight, inherit);
  line-height: 1.2;
  white-space: nowrap;
}

.df-cart-drawer .df-cart-rating-stars,
.df-cart-portal .df-cart-rating-stars,
.df-cart-shell .df-cart-rating-stars {
  position: relative;
  display: block;
  width: calc(5em + 4px);
  height: 1em;
  font: inherit;
  color: var(--df-cart-rating-base-color);
}

.df-cart-drawer .df-cart-rating-layer,
.df-cart-portal .df-cart-rating-layer,
.df-cart-shell .df-cart-rating-layer {
  display: flex;
  width: calc(5em + 4px);
  height: 1em;
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  font: inherit;
  white-space: nowrap;
}

.df-cart-drawer .df-cart-rating-layer--fill,
.df-cart-portal .df-cart-rating-layer--fill,
.df-cart-shell .df-cart-rating-layer--fill {
  position: absolute;
  inset: 0 auto 0 0;
  color: var(--df-cart-rating-fill-color);
}

.df-cart-drawer .df-cart-rating-star,
.df-cart-portal .df-cart-rating-star,
.df-cart-shell .df-cart-rating-star {
  display: block;
  flex: 0 0 1em;
  width: 1em;
  height: 1em;
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.785 1.401 8.167L12 19.304l-7.335 3.858 1.401-8.167L.132 9.21l8.2-1.192z' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.785 1.401 8.167L12 19.304l-7.335 3.858 1.401-8.167L.132 9.21l8.2-1.192z' fill='black'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.df-cart-notices:empty {
  display: none;
}

/* WooPay's official classic error renderer queries this WooCommerce class.
   JS adds it only while the DrawerCart WooPay mount is present. */
.df-cart-drawer .df-cart-notices.woocommerce-notices-wrapper {
  margin: 0;
  padding: 0;
}

.df-cart-drawer .df-cart-notices .woocommerce-message,
.df-cart-drawer .df-cart-notices .woocommerce-error,
.df-cart-drawer .df-cart-notices .woocommerce-info,
.df-cart-drawer .df-cart-coupon .woocommerce-message,
.df-cart-drawer .df-cart-coupon .woocommerce-error,
.df-cart-drawer .df-cart-coupon .woocommerce-info,
.df-cart-drawer .df-cart-coupon-notice,
.df-cart-drawer .wc-block-components-notice-banner {
  position: relative;
  box-sizing: border-box;
  margin: 0 0 10px;
  padding: 10px 12px !important;
  border-radius: var(--dfc-radius-md);
  color: var(--dfc-notice-text) !important;
  font-family: inherit;
  font-size: var(--df-cart-coupon-notice-font-size, 13px) !important;
  font-weight: 400;
  line-height: var(--df-cart-coupon-notice-line-height, 1.4) !important;
}

.df-cart-drawer .df-cart-notices .woocommerce-message,
.df-cart-drawer .df-cart-notices .woocommerce-error,
.df-cart-drawer .df-cart-notices .woocommerce-info {
  margin: 0;
}

.df-cart-drawer .df-cart-coupon .woocommerce-message:last-child,
.df-cart-drawer .df-cart-coupon .woocommerce-error:last-child,
.df-cart-drawer .df-cart-coupon .woocommerce-info:last-child,
.df-cart-drawer .df-cart-coupon-notice:last-child,
.df-cart-drawer .wc-block-components-notice-banner:last-child {
  margin-bottom: 0;
}

.df-cart-drawer .wc-block-components-notice-banner > .wc-block-components-notice-banner__content,
.df-cart-drawer .wc-block-components-notice-banner > .wc-block-components-notice-banner__content div,
.df-cart-drawer .wc-block-components-notice-banner > .wc-block-components-notice-banner__content p,
.df-cart-drawer .df-cart-coupon-notice p {
  margin: 0;
  font-size: inherit !important;
  line-height: inherit !important;
}

.df-cart-drawer .df-cart-notices .woocommerce-message::before,
.df-cart-drawer .df-cart-notices .woocommerce-message::after,
.df-cart-drawer .df-cart-notices .woocommerce-error::before,
.df-cart-drawer .df-cart-notices .woocommerce-error::after,
.df-cart-drawer .df-cart-notices .woocommerce-info::before,
.df-cart-drawer .df-cart-notices .woocommerce-info::after {
  content: none !important;
  display: none !important;
}

.df-cart-drawer .df-cart-coupon .woocommerce-message::before,
.df-cart-drawer .df-cart-coupon .woocommerce-message::after,
.df-cart-drawer .df-cart-coupon .woocommerce-error::before,
.df-cart-drawer .df-cart-coupon .woocommerce-error::after,
.df-cart-drawer .df-cart-coupon .woocommerce-info::before,
.df-cart-drawer .df-cart-coupon .woocommerce-info::after {
  content: none !important;
  display: none !important;
}

.df-cart-drawer .df-cart-notices .woocommerce-error,
.df-cart-drawer .df-cart-coupon .woocommerce-error,
.df-cart-drawer .df-cart-coupon-notice.is-error,
.df-cart-drawer .wc-block-components-notice-banner.is-error {
  background: var(--dfc-notice-error-bg);
  border: 1px solid var(--dfc-notice-error-border);
  color: var(--dfc-notice-error-text) !important;
}

.df-cart-drawer .df-cart-notices .woocommerce-message,
.df-cart-drawer .df-cart-notices .woocommerce-info,
.df-cart-drawer .df-cart-coupon .woocommerce-message,
.df-cart-drawer .df-cart-coupon .woocommerce-info,
.df-cart-drawer .df-cart-coupon-notice,
.df-cart-drawer .wc-block-components-notice-banner.is-success,
.df-cart-drawer .wc-block-components-notice-banner.is-info {
  background: var(--dfc-notice-info-bg);
  border: 1px solid var(--dfc-notice-info-border);
}


.df-cart-drawer .df-cart-notices .woocommerce-error,
.df-cart-drawer .df-cart-notices .woocommerce-message,
.df-cart-drawer .df-cart-notices .woocommerce-info,
.df-cart-drawer .df-cart-coupon .woocommerce-error,
.df-cart-drawer .df-cart-coupon .woocommerce-message,
.df-cart-drawer .df-cart-coupon .woocommerce-info {
  list-style: none;
}

.df-cart-drawer .df-cart-notices .woocommerce-error li,
.df-cart-drawer .df-cart-notices .woocommerce-message li,
.df-cart-drawer .df-cart-notices .woocommerce-info li,
.df-cart-drawer .df-cart-coupon .woocommerce-error li,
.df-cart-drawer .df-cart-coupon .woocommerce-message li,
.df-cart-drawer .df-cart-coupon .woocommerce-info li {
  margin: 0;
  font-size: inherit !important;
  line-height: inherit !important;
}

.df-cart-totals {
  display: grid;
  gap: var(--df-cart-summary-row-gap, 6px);
  padding: var(--df-cart-summary-padding, 0px);
  border-radius: var(--df-cart-summary-radius, 0px);
  background: var(--df-cart-summary-bg, transparent);
}

.df-cart-totals-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: var(--dfc-space-3);
  color: var(--df-cart-summary-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-summary-size, 14px);
  font-weight: var(--df-cart-summary-weight, 500);
  line-height: 1.4;
}

.df-cart-totals-row--subtotal {
  font-weight: var(--df-cart-summary-weight, 500);
}

.df-cart-drawer .df-cart-totals-row--subtotal .df-cart-totals-label--subtotal {
  color: var(--df-cart-subtotal-label-color, var(--df-cart-summary-color, var(--dfc-drawer-text)));
  font-size: var(--df-cart-subtotal-label-size, var(--df-cart-summary-size, 14px));
  font-weight: var(--df-cart-subtotal-label-weight, var(--df-cart-summary-weight, 500));
}

.df-cart-drawer .df-cart-totals-row--subtotal .df-cart-totals-value--subtotal {
  color: var(--df-cart-subtotal-value-color, var(--df-cart-summary-color, var(--dfc-drawer-text)));
  font-size: var(--df-cart-subtotal-value-size, var(--df-cart-summary-size, 14px));
  font-weight: var(--df-cart-subtotal-value-weight, var(--df-cart-summary-weight, 500));
}

.df-cart-drawer .df-cart-totals-row--subtotal .df-cart-totals-value--subtotal .amount,
.df-cart-drawer .df-cart-totals-row--subtotal .df-cart-totals-value--subtotal .woocommerce-Price-amount,
.df-cart-drawer .df-cart-totals-row--subtotal .df-cart-totals-value--subtotal .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-totals-row--subtotal .df-cart-totals-value--subtotal bdi {
  color: var(--df-cart-subtotal-value-color, var(--df-cart-summary-color, var(--dfc-drawer-text))) !important;
}

.df-cart-totals-row--discount,
.df-cart-totals-row--total {
  font-size: var(--df-cart-summary-size, 14px);
}

.df-cart-totals-label {
  display: flex;
  min-width: 0;
  text-align: left;
  font-weight: var(--df-cart-summary-weight, 500);
}

.df-cart-totals-label-copy {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--dfc-space-1-5, 6px);
  min-width: 0;
}

.df-cart-totals-label-text {
  min-width: 0;
  overflow-wrap: anywhere;
}

.df-cart-totals-value {
  min-width: 0;
  text-align: right;
  white-space: nowrap;
  font-weight: var(--df-cart-summary-weight, 500);
  color: var(--df-cart-summary-color, var(--dfc-drawer-text));
}

.df-cart-drawer .df-cart-totals-value .amount,
.df-cart-drawer .df-cart-totals-value .woocommerce-Price-amount,
.df-cart-drawer .df-cart-totals-value .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-totals-value bdi {
  color: var(--df-cart-summary-color, var(--dfc-drawer-text)) !important;
}


.df-cart-drawer .df-cart-totals-row--total .df-cart-totals-label {
  color: var(--df-cart-total-label-color, var(--df-cart-summary-color, var(--dfc-drawer-text)));
  font-size: var(--df-cart-total-label-size, var(--df-cart-summary-size, 14px));
  font-weight: var(--df-cart-total-label-weight, var(--df-cart-summary-total-weight, var(--df-cart-summary-weight, 500)));
}

.df-cart-drawer .df-cart-totals-row--total .df-cart-totals-value {
  color: var(--df-cart-total-amount-color, var(--df-cart-summary-color, var(--dfc-drawer-text)));
  font-size: var(--df-cart-total-amount-size, var(--df-cart-summary-size, 14px));
  font-weight: var(--df-cart-total-amount-weight, var(--df-cart-summary-total-weight, var(--df-cart-summary-weight, 500)));
}

.df-cart-drawer .df-cart-totals-row--total .df-cart-totals-value .amount,
.df-cart-drawer .df-cart-totals-row--total .df-cart-totals-value .woocommerce-Price-amount,
.df-cart-drawer .df-cart-totals-row--total .df-cart-totals-value .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-totals-row--total .df-cart-totals-value bdi {
  color: var(--df-cart-total-amount-color, var(--df-cart-summary-color, var(--dfc-drawer-text))) !important;
}

.df-cart-totals-tax-label {
  font-size: 12px;
  color: var(--dfc-drawer-text-muted);
}

.df-cart-drawer .df-cart-coupon {
  display: grid;
  gap: 0;
  margin-bottom: var(--df-cart-coupon-collapsed-spacing, 0px);
}

.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--dfc-space-3);
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border));
  border-radius: var(--df-cart-coupon-toggle-radius, var(--dfc-radius-md));
  background: var(--df-cart-coupon-toggle-bg, var(--dfc-button-secondary-bg));
  color: var(--df-cart-coupon-toggle-text-color, var(--dfc-button-secondary-text));
  font-size: var(--df-cart-coupon-toggle-text-size, 14px);
  font-weight: var(--df-cart-coupon-toggle-font-weight, 600);
  line-height: 1.35;
  padding: var(--df-cart-coupon-toggle-padding, 10px);
  text-align: left;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  box-shadow: none;
}

/* Restore coupon button borders after the drawer-wide button reset (`border: 0`). */
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle,
.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon {
  border-width: var(--df-cart-coupon-border-width, 1px);
  border-style: var(--df-cart-coupon-border-style, solid);
  border-color: var(--df-cart-coupon-button-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
}

.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle {
  border-width: var(--df-cart-coupon-toggle-border-width, var(--df-cart-coupon-border-width, 1px));
  border-radius: var(--df-cart-coupon-toggle-radius, var(--dfc-radius-md));
  border-color: var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border));
}

.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:hover,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:focus,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:focus-visible,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:active {
  background: var(--df-cart-coupon-toggle-bg, var(--dfc-button-secondary-bg)) !important;
  background-color: var(--df-cart-coupon-toggle-bg, var(--dfc-button-secondary-bg)) !important;
  color: var(--df-cart-coupon-toggle-text-color, var(--dfc-button-secondary-text)) !important;
  border-color: var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)) !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:focus-visible {
  outline: var(--df-cart-focus-outline-width, 2px) solid var(--df-cart-focus-outline-color, currentColor) !important;
  outline-offset: var(--df-cart-focus-outline-offset, 2px) !important;
}

.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle::after,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:hover::after,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:focus::after,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:focus-visible::after,
.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle:active::after {
  display: block;
  flex: 0 0 auto;
  margin: 0;
  content: '+';
  font-size: var(--df-cart-coupon-toggle-icon-size, 18px);
  color: var(--df-cart-coupon-toggle-icon-color, currentColor) !important;
  line-height: 1;
}

.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon {
  border-radius: var(--df-cart-coupon-button-radius, var(--dfc-radius-md));
}

.df-cart-coupon-toggle::after {
  content: '+';
  font-size: var(--df-cart-coupon-toggle-icon-size, 18px);
  color: var(--df-cart-coupon-toggle-icon-color, currentColor);
  line-height: 1;
}

.df-cart-drawer .df-cart-coupon button.df-cart-coupon-toggle[aria-expanded='true']::after {
  content: '\2212';
}

.df-cart-drawer .df-cart-coupon-panel {
  display: grid;
  gap: var(--dfc-space-2-5);
  border: 1px solid var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border));
  border-radius: var(--df-cart-coupon-toggle-radius, var(--dfc-radius-md));
  padding: 0;
  margin: 0;
  border-width: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.df-cart-drawer .df-cart-coupon-panel.df-cart-coupon--open {
  opacity: 1;
  margin-top: var(--df-cart-coupon-panel-margin-top, 8px);
  padding: var(--df-cart-coupon-panel-padding, 0);
  border-width: 0;
  overflow: visible;
}

.df-cart-coupon-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--dfc-space-2-5);
  overflow: visible;
  padding: var(--df-cart-coupon-focus-safe-padding, 3px);
  margin: calc(var(--df-cart-coupon-focus-safe-padding, 3px) * -1);
}

.df-cart-coupon .df-cart-coupon-controls--stacked {
  grid-template-columns: minmax(0, 1fr);
}

.df-cart-coupon-panel .df-cart-coupon-controls {
  gap: var(--dfc-space-2);
}

.df-cart-coupon-panel input.df-cart-coupon-input {
  min-height: 38px;
  font-size: calc(var(--df-cart-coupon-input-text-size, 14px) - 1px);
  padding: 10px 12px !important;
}

.df-cart-drawer .df-cart-coupon .df-cart-coupon-panel button.df-cart-apply-coupon {
  font-size: calc(var(--df-cart-coupon-button-font-size, 14px) - 1px);
  padding: calc(var(--df-cart-coupon-button-padding, 10px) - 2px);
}

.df-cart-drawer input.df-cart-coupon-input {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  min-height: var(--df-cart-coupon-control-height, max(40px, var(--df-cart-coupon-input-min-height, 38px)));
  height: var(--df-cart-coupon-control-height, max(40px, var(--df-cart-coupon-input-min-height, 38px)));
  border: var(--df-cart-coupon-input-border-width, 1px) solid var(--df-cart-coupon-input-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
  border-radius: var(--df-cart-coupon-input-radius, var(--dfc-radius-md));
  background: var(--df-cart-coupon-input-bg, #ffffff);
  color: var(--df-cart-coupon-input-text-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-coupon-input-text-size, 13px);
  font-family: inherit;
  font-weight: var(--df-cart-coupon-input-font-weight, 400);
  line-height: 1.35;
  padding: var(--df-cart-coupon-input-padding, 10px 12px) !important;
  margin: 0;
  box-sizing: border-box;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  box-shadow: none;
  outline: none;
}

.df-cart-drawer input.df-cart-coupon-input::placeholder {
  color: var(--df-cart-coupon-input-placeholder-color, var(--dfc-drawer-text-muted));
}

.df-cart-drawer input.df-cart-coupon-input:focus {
  border-width: var(--df-cart-coupon-input-focus-border-width, var(--df-cart-coupon-input-border-width, 1px));
  outline: none;
  box-shadow: none;
}

.df-cart-drawer input.df-cart-coupon-input:focus-visible {
  border-width: var(--df-cart-coupon-input-focus-border-width, var(--df-cart-coupon-input-border-width, 1px));
  border-color: var(--df-cart-coupon-input-border-color, var(--dfc-color-text-base));
  outline: var(--df-cart-focus-outline-width, var(--dfc-focus-outline-width, 2px)) solid var(--df-cart-focus-outline-color, var(--dfc-color-focus, currentColor));
  outline-offset: var(--df-cart-focus-outline-offset, var(--dfc-focus-outline-offset, 2px));
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
}

.df-cart-close,
.df-cart-apply-coupon,
.df-cart-checkout,
.df-cart-view-cart,
.df-cart-continue-shopping {
  cursor: pointer;
}

.df-cart-apply-coupon,
.df-cart-checkout,
.df-cart-view-cart,
.df-cart-continue-shopping {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  vertical-align: middle;
  width: 100%;
  border-radius: var(--dfc-radius-md);
  padding: var(--dfc-space-2-5);
  text-decoration: none;
}

.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: var(--df-cart-coupon-control-height, max(40px, var(--df-cart-coupon-input-min-height, 38px)));
  height: var(--df-cart-coupon-control-height, max(40px, var(--df-cart-coupon-input-min-height, 38px)));
  margin: 0;
  border: 1px solid var(--df-cart-coupon-button-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
  border-radius: var(--df-cart-coupon-button-radius, var(--dfc-radius-md));
  background: var(--df-cart-coupon-button-bg, var(--dfc-button-secondary-bg));
  color: var(--df-cart-coupon-button-text-color, var(--dfc-button-secondary-text));
  font-size: var(--df-cart-coupon-button-font-size, 14px);
  font-weight: var(--df-cart-coupon-button-font-weight, 600);
  line-height: 1.35;
  padding: var(--df-cart-coupon-button-padding, 10px);
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
  box-shadow: none;
}

.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon,
.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon:hover,
.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon:focus,
.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon:focus-visible,
.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon:active {
  background: var(--df-cart-coupon-button-bg, var(--dfc-button-secondary-bg)) !important;
  background-color: var(--df-cart-coupon-button-bg, var(--dfc-button-secondary-bg)) !important;
  color: var(--df-cart-coupon-button-text-color, var(--dfc-button-secondary-text)) !important;
  border-color: var(--df-cart-coupon-button-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border))) !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.df-cart-drawer .df-cart-coupon button.df-cart-apply-coupon:focus-visible {
  position: relative;
  z-index: 2;
  outline: var(--df-cart-focus-outline-width, var(--dfc-focus-outline-width, 2px)) solid var(--df-cart-focus-outline-color, var(--dfc-color-focus, currentColor)) !important;
  outline-offset: var(--df-cart-focus-outline-offset, var(--dfc-focus-outline-offset, 2px)) !important;
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent)) !important;
}

.df-cart-coupon .df-cart-coupon-controls--stacked .df-cart-apply-coupon {
  width: 100%;
}

.df-cart-drawer .df-cart-remove-coupon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--df-cart-coupon-remove-size, 20px);
  min-width: var(--df-cart-coupon-remove-size, 20px);
  height: var(--df-cart-coupon-remove-size, 20px);
  min-height: var(--df-cart-coupon-remove-size, 20px);
  margin-left: var(--df-cart-coupon-remove-gap, 2px);
  padding: 0;
  border: 1px solid var(--df-cart-coupon-remove-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
  border-radius: var(--df-cart-coupon-remove-radius, var(--dfc-radius-pill));
  background: var(--df-cart-coupon-remove-bg, var(--dfc-button-secondary-bg));
  color: var(--df-cart-coupon-remove-link-color, var(--dfc-button-secondary-text));
  font-family: Arial, sans-serif;
  font-size: var(--df-cart-coupon-remove-link-size, 11px);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  text-indent: 0;
  overflow: visible;
  opacity: 1;
  visibility: visible;
  cursor: pointer;
  flex: 0 0 auto;
}

.df-cart-drawer .df-cart-remove-coupon-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  font-size: var(--df-cart-coupon-remove-link-size, 11px);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-indent: 0;
  pointer-events: none;
}

.df-cart-drawer .df-cart-remove-coupon:focus-visible {
  position: relative;
  z-index: 2;
  color: var(--df-cart-coupon-remove-link-color, currentColor);
  border-color: var(--dfc-color-focus, #1d4ed8);
  background: var(--df-cart-coupon-remove-link-bg, transparent);
  outline: var(--dfc-focus-outline-width, 2px) solid var(--dfc-color-focus, #1d4ed8);
  outline-offset: 2px;
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
}

.df-cart-drawer .df-cart-coupon-label {
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
}

.df-cart-drawer .df-cart-coupon-code,
.df-cart-drawer .df-cart-coupon-chip,
.df-cart-drawer .df-cart-coupon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--df-cart-coupon-chip-gap, 4px);
  max-width: 100%;
  padding: var(--df-cart-coupon-chip-padding, 4px 8px);
  border: var(--df-cart-coupon-chip-border-width, 1px) solid var(--df-cart-coupon-chip-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
  border-radius: var(--df-cart-coupon-chip-radius, 999px);
  background: var(--df-cart-coupon-chip-bg, rgba(31, 41, 55, 0.08));
  color: var(--df-cart-coupon-chip-text-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-coupon-chip-font-size, var(--df-cart-summary-size, 14px));
  font-weight: var(--df-cart-coupon-chip-font-weight, inherit);
  line-height: 1.2;
  vertical-align: middle;
  white-space: nowrap;
  flex-shrink: 0;
}

.df-cart-drawer .df-cart-coupon-code,
.df-cart-drawer .df-cart-coupon-code * {
  line-height: 1;
}

.df-cart-drawer .df-cart-coupon-code svg,
.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-icon,
.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon,
.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
  vertical-align: middle;
}

.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  --df-cart-coupon-remove-box-size: calc(
    var(--df-cart-coupon-remove-link-size, 10px)
    + (var(--df-cart-coupon-remove-link-padding, 4px) * 2)
  );
  width: var(--df-cart-coupon-remove-box-size);
  height: var(--df-cart-coupon-remove-box-size);
  min-width: var(--df-cart-coupon-remove-box-size);
  min-height: var(--df-cart-coupon-remove-box-size);
  padding: 0;
  margin-left: var(--df-cart-coupon-remove-link-spacing, 4px);
  border: 0;
  border-radius: 999px;
  background: var(--df-cart-coupon-remove-link-bg, transparent);
  line-height: 1;
  text-decoration: none;
  color: var(--df-cart-coupon-remove-link-color, currentColor);
}

.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--df-cart-coupon-remove-link-size, 10px);
  height: var(--df-cart-coupon-remove-link-size, 10px);
  line-height: 1;
  transform: translateY(var(--df-cart-coupon-badge-remove-offset-y, 0em));
}

.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  stroke: currentColor;
  color: currentColor;
  fill: none;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: none;
}

.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon:focus {
  box-shadow: none;
}

.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon:hover {
  background: var(--df-cart-coupon-remove-link-bg, transparent);
  color: var(--df-cart-coupon-remove-link-color, currentColor);
  opacity: 1;
  transform: none;
  box-shadow: none;
  filter: none;
}

.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon:focus-visible {
  position: relative;
  z-index: 2;
  outline: var(--dfc-focus-outline-width, 2px) solid var(--dfc-color-focus, #1d4ed8);
  outline-offset: 2px;
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
}

.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-code-text {
  display: inline-flex;
  align-items: center;
  line-height: var(--df-cart-coupon-code-text-line-height, 1.2);
  font-size: var(--df-cart-coupon-chip-font-size, 11px);
  font-weight: var(--df-cart-coupon-chip-font-weight, inherit);
  transform: translateY(var(--df-cart-coupon-badge-text-offset-y, 0px));
}

.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-icon {
  width: var(--df-cart-coupon-chip-icon-size, 13px);
  height: var(--df-cart-coupon-chip-icon-size, 13px);
  min-width: var(--df-cart-coupon-chip-icon-size, 13px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--df-cart-coupon-chip-icon-color, currentColor);
  line-height: 1;
  flex-shrink: 0;
  transform: translateY(var(--df-cart-coupon-badge-icon-offset-y, 0em));
}

.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-icon svg,
.df-cart-drawer .df-cart-coupon-code svg.df-cart-coupon-icon {
  width: var(--df-cart-coupon-chip-icon-size, 13px);
  height: var(--df-cart-coupon-chip-icon-size, 13px);
  display: block;
}

.df-cart-drawer .df-cart-coupon-code .df-cart-totals-label-text {
  color: currentColor;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.df-cart-totals-row--discount {
  align-items: center;
}

.df-cart-totals-row--discount .df-cart-totals-label {
  display: flex;
  align-items: center;
  min-width: 0;
  color: var(--df-cart-summary-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-summary-size, 14px);
}

.df-cart-totals-row--discount .df-cart-totals-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  line-height: 1;
  color: var(--df-cart-summary-color, var(--dfc-drawer-text));
  font-size: var(--df-cart-summary-size, 14px);
}

/* Keep applied coupon chip text tied to coupon chip typography, not discount-row summary text. */
.df-cart-drawer .df-cart-totals-row--discount .df-cart-totals-label .df-cart-coupon-code,
.df-cart-drawer .df-cart-totals-row--discount .df-cart-totals-label .df-cart-coupon-code * {
  font-size: var(--df-cart-coupon-chip-font-size, 11px);
  line-height: 1;
}

.df-cart-drawer {
  --df-cart-coupon-code-text-line-height: 1.2;
  --df-cart-coupon-badge-text-offset-y: 0px;
  --df-cart-coupon-badge-icon-offset-y: 0.02em;
  --df-cart-coupon-badge-remove-offset-y: 0.02em;
}

.df-cart-drawer .df-cart-coupon-code {
  line-height: var(--df-cart-coupon-code-text-line-height, 1.2);
}

.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-code-text,
.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-code-text.df-cart-totals-label-text {
  line-height: var(--df-cart-coupon-code-text-line-height, 1.2);
}

.df-cart-drawer .df-cart-coupon-code {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
}

.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-code-text,
.df-cart-drawer .df-cart-coupon-code .df-cart-coupon-code-text.df-cart-totals-label-text,
.df-cart-drawer .df-cart-coupon-code .df-cart-remove-coupon {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}


.df-cart-drawer a.df-cart-checkout {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: var(--df-cart-checkout-border, 1px solid #09723d);
  border-color: var(--df-cart-checkout-border-color, #09723d);
  background: var(--df-cart-checkout-bg, #09723d);
  color: var(--df-cart-checkout-text, #ffffff) !important;
  font-size: var(--df-cart-checkout-size, 16px);
  font-weight: var(--df-cart-checkout-weight, 600);
  line-height: 1;
  gap: var(--dfc-space-1-5, 8px);
  box-shadow: var(--df-cart-checkout-shadow, none);
  border-radius: var(--df-cart-checkout-radius, 6px);
  padding: var(--df-cart-checkout-padding-top, var(--dfc-space-2-5)) var(--dfc-space-2-5) var(--df-cart-checkout-padding-bottom, var(--dfc-space-2-5));
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
}

.df-cart-drawer .df-cart-checkout,
.df-cart-drawer .df-cart-checkout:visited,
.df-cart-drawer .df-cart-checkout:hover,
.df-cart-drawer .df-cart-checkout:focus-visible {
  color: var(--df-cart-checkout-text, #ffffff) !important;
}

.df-cart-drawer .df-cart-checkout .df-cart-checkout-total .amount,
.df-cart-drawer .df-cart-checkout .df-cart-checkout-total .woocommerce-Price-amount,
.df-cart-drawer .df-cart-checkout .df-cart-checkout-total .woocommerce-Price-currencySymbol,
.df-cart-drawer .df-cart-checkout .df-cart-checkout-total bdi {
  color: var(--df-cart-checkout-text, #ffffff) !important;
}

.df-cart-drawer a.df-cart-checkout,
.df-cart-drawer a.df-cart-checkout:visited,
.df-cart-drawer a.df-cart-checkout:hover,
.df-cart-drawer a.df-cart-checkout:focus-visible {
  background: var(--df-cart-checkout-bg, #09723d) !important;
  border-color: var(--df-cart-checkout-border-color, #09723d) !important;
}

.df-cart-drawer .df-cart-checkout:hover,
.df-cart-drawer .df-cart-checkout:focus-visible {
  background: var(--df-cart-checkout-hover-bg, var(--dfc-accent-hover));
  border-color: var(--df-cart-checkout-hover-border-color, var(--df-cart-checkout-hover-bg, var(--dfc-accent-hover)));
}

.df-cart-checkout .df-icon {
  display: block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  font-size: 1em;
  line-height: 1;
  vertical-align: middle;
  transform: none;
}

.df-cart-checkout svg {
  display: block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  line-height: 1;
  vertical-align: middle;
}

.df-cart-drawer a.df-cart-view-cart {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--dfc-space-2-5);
  border: var(--df-cart-view-border, 1px solid var(--dfc-button-secondary-border));
  color: var(--df-cart-view-text, var(--dfc-button-secondary-text));
  background: var(--df-cart-view-bg, var(--dfc-button-secondary-bg));
  font-size: var(--df-cart-view-size, 14px);
  font-weight: var(--df-cart-view-weight, 600);
  line-height: 1.2;
  box-shadow: var(--df-cart-view-shadow, none);
  border-radius: var(--df-cart-view-radius, 6px);
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
}

.df-cart-drawer a.df-cart-continue-shopping {
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--dfc-space-2-5);
  border: var(--df-cart-continue-border, var(--df-cart-view-border, 1px solid var(--dfc-button-secondary-border)));
  color: var(--df-cart-continue-text, var(--df-cart-view-text, var(--dfc-button-secondary-text)));
  background: var(--df-cart-continue-bg, var(--df-cart-view-bg, var(--dfc-button-secondary-bg)));
  font-size: var(--df-cart-continue-size, var(--df-cart-view-size, 14px));
  font-weight: var(--df-cart-continue-weight, var(--df-cart-view-weight, 600));
  line-height: 1.2;
  box-shadow: var(--df-cart-continue-shadow, var(--df-cart-view-shadow, none));
  border-radius: var(--df-cart-continue-radius, var(--df-cart-view-radius, 6px));
  text-align: center;
  text-decoration: none;
  text-transform: none;
  white-space: normal;
}

.df-cart-view-cart .df-cart-view-cart-label,
.df-cart-continue-shopping .df-cart-continue-shopping-label,
.df-cart-checkout .df-cart-checkout-label,
.df-cart-checkout .df-cart-checkout-total {
  line-height: inherit;
}

.df-cart-checkout .df-cart-checkout-label,
.df-cart-checkout .df-cart-checkout-total {
  display: inline-block;
  transform: translateY(var(--df-cart-checkout-text-offset-y, 0px));
}

.df-cart-drawer .df-cart-continue-shopping,
.df-cart-drawer .df-cart-continue-shopping:visited,
.df-cart-drawer .df-cart-continue-shopping:hover,
.df-cart-drawer .df-cart-continue-shopping:focus-visible {
  color: var(--df-cart-continue-text, var(--df-cart-view-text, var(--dfc-button-secondary-text)));
}

.df-cart-secondary-actions {
  display: grid;
  gap: var(--dfc-footer-action-gap);
  margin-bottom: calc(var(--dfc-footer-action-gap) - var(--dfc-footer-row-gap));
}

.df-cart-secondary-actions:empty,
.df-cart-secondary-actions[hidden],
.df-cart-secondary-actions.is-hidden {
  display: none;
}

.df-cart-drawer .df-cart-view-cart,
.df-cart-drawer .df-cart-view-cart:visited,
.df-cart-drawer .df-cart-view-cart:hover,
.df-cart-drawer .df-cart-view-cart:focus-visible {
  color: var(--df-cart-view-text, var(--dfc-button-secondary-text));
}

.df-cart-checkout-total {
  margin-left: 6px;
}

.df-cart-payment-trust {
  margin-top: var(--df-cart-payment-top-spacing, 0px);
  display: grid;
  justify-items: var(--df-cart-payment-justify-items, center);
  text-align: var(--df-cart-payment-align, center);
}

.df-cart-payment-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--df-cart-payment-justify-content, center);
  gap: var(--df-cart-payment-icon-gap-effective, var(--df-cart-payment-icon-gap, var(--dfc-space-1-5)));
}

.df-cart-payment-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: var(--df-cart-payment-icon-slot-width-effective, var(--df-cart-payment-icon-slot-width, 62px));
  min-width: var(--df-cart-payment-icon-slot-width-effective, var(--df-cart-payment-icon-slot-width, 62px));
  min-height: var(--df-cart-payment-icon-slot-height-effective, var(--df-cart-payment-icon-slot-height, 30px));
  padding: var(--df-cart-payment-icon-padding-effective, var(--df-cart-payment-icon-padding, 4px));
  border: 1px solid var(--df-cart-payment-icon-border, var(--dfc-payment-icon-border));
  border-radius: var(--df-cart-payment-icon-radius, var(--dfc-radius-sm));
  background: var(--df-cart-payment-icon-bg, var(--dfc-payment-icon-bg));
  overflow: hidden;
  line-height: 0;
}

.df-cart-drawer .df-cart-payment-icon {
  padding: var(--df-cart-payment-icon-padding-effective, var(--df-cart-payment-icon-padding, 4px)) !important;
}

.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon img {
  height: auto !important;
  width: auto !important;
  max-width: var(--df-cart-payment-icon-max-width, calc(var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px)) * 3)) !important;
  max-height: var(--df-cart-payment-icon-max-height, var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px))) !important;
  display: block;
  object-fit: contain;
}

.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--visa img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--discover img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--visa svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--discover svg {
  max-width: var(--df-cart-payment-icon-wide-max-width, calc(var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px)) * 2.9)) !important;
}

.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--visa img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--mastercard img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--apple-pay img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon[data-payment-icon="visa"] img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon[data-payment-icon="mastercard"] img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon[data-payment-icon="apple_pay"] img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--visa svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--mastercard svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--apple-pay svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon[data-payment-icon="visa"] svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon[data-payment-icon="mastercard"] svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon[data-payment-icon="apple_pay"] svg {
  max-width: var(--df-cart-payment-icon-large-brand-max-width, calc(var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px)) * 2.75)) !important;
  max-height: var(--df-cart-payment-icon-large-brand-max-height, calc(var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px)) * 0.9)) !important;
}

.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--ideal img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--bancontact img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--maestro img,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--ideal svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--bancontact svg,
.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon.df-cart-payment-icon--maestro svg {
  max-height: var(--df-cart-payment-icon-compact-max-height, var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px))) !important;
}

.df-cart-drawer .df-cart-payment-icons .df-cart-payment-icon svg {
  width: auto !important;
  height: auto !important;
  max-width: var(--df-cart-payment-icon-max-width, calc(var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px)) * 3)) !important;
  max-height: var(--df-cart-payment-icon-max-height, var(--df-cart-payment-icon-height-effective, var(--df-cart-payment-icon-height, 20px))) !important;
  display: block;
}


@media (max-width: 600px) {
  .df-cart-drawer .df-cart-payment-trust.df-cart-payment-trust--hide-mobile {
    display: none !important;
  }

  .df-cart-drawer .df-cart-payment-trust--mobile-size-compact {
    --df-cart-payment-icon-height-effective: var(--df-cart-payment-mobile-icon-height, 16px);
    --df-cart-payment-icon-padding-effective: var(--df-cart-payment-mobile-icon-padding, 3px);
    --df-cart-payment-icon-gap-effective: var(--df-cart-payment-mobile-icon-gap, 4px);
    --df-cart-payment-icon-slot-width-effective: var(--df-cart-payment-mobile-icon-slot-width, 52px);
    --df-cart-payment-icon-slot-height-effective: var(--df-cart-payment-mobile-icon-slot-height, 24px);
  }

  .df-cart-drawer .df-cart-payment-trust--mobile-size-small {
    --df-cart-payment-icon-height-effective: var(--df-cart-payment-mobile-icon-height, 13px);
    --df-cart-payment-icon-padding-effective: var(--df-cart-payment-mobile-icon-padding, 2px);
    --df-cart-payment-icon-gap-effective: var(--df-cart-payment-mobile-icon-gap, 3px);
    --df-cart-payment-icon-slot-width-effective: var(--df-cart-payment-mobile-icon-slot-width, 44px);
    --df-cart-payment-icon-slot-height-effective: var(--df-cart-payment-mobile-icon-slot-height, 20px);
  }

  .df-cart-drawer .df-cart-payment-trust--mobile-single-row {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .df-cart-drawer .df-cart-payment-trust--mobile-single-row .df-cart-payment-icons {
    flex-wrap: nowrap;
    width: max-content;
    max-width: none;
    min-width: min-content;
  }
}

.df-cart-trigger:focus-visible,
.df-cart-module-link:focus-visible,
.df-cart-close:focus-visible,
.df-cart-drawer a:focus-visible,
.df-cart-drawer button:focus-visible,
.df-cart-drawer input:focus-visible,
.df-cart-drawer select:focus-visible,
.df-cart-drawer textarea:focus-visible,
.df-cart-drawer [tabindex]:focus-visible {
  outline: var(--dfc-focus-outline-width, 2px) solid var(--dfc-color-focus, #1d4ed8);
  outline-offset: var(--dfc-focus-outline-offset, 2px);
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
}

/* Prevent mouse-focused elements from showing the keyboard focus ring. */
/* Product-box attribute dropdown should use configured focus styles only (no global blue ring). */
.df-cart-drawer .df-cart-item-variant--dropdowns select.df-cart-variation-select,
.df-cart-drawer .df-cart-item-variant--dropdowns select.df-cart-item-variant-select,
.df-cart-item-variant--dropdowns select.df-cart-item-variant-pill,
.df-cart-trigger:focus:not(:focus-visible),
.df-cart-module-link:focus:not(:focus-visible),
.df-cart-close:focus:not(:focus-visible),
.df-cart-drawer a:focus:not(:focus-visible),
.df-cart-drawer button:focus:not(:focus-visible),
.df-cart-drawer input:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

/*
 * Editable inputs can match :focus-visible after a pointer click. The runtime
 * records the actual interaction modality so pointer focus restores the normal
 * component skin while keyboard navigation keeps the configured focus ring.
 */
.df-cart-drawer[data-df-input-modality='pointer'] .df-cart-item-quantity .df-cart-qty-control > .df-cart-qty-input:focus {
  border: 0;
  border-left: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
  outline: none;
  box-shadow: none;
  background: transparent;
  background-color: transparent;
}

.df-cart-drawer[data-df-input-modality='pointer'] input.df-cart-coupon-input:focus {
  border-width: var(--df-cart-coupon-input-border-width, 1px);
  border-style: solid;
  border-color: var(--df-cart-coupon-input-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
  outline: none;
  box-shadow: none;
  background: var(--df-cart-coupon-input-bg, #ffffff);
  background-color: var(--df-cart-coupon-input-bg, #ffffff);
}

.df-cart-drawer[data-df-input-modality='keyboard'] .df-cart-item-quantity .df-cart-qty-control > .df-cart-qty-input:focus {
  position: relative;
  z-index: 2;
  border: 0;
  border-left: 1px solid var(--df-cart-product-box-quantity-border-color, var(--dfc-item-control-border));
  outline: var(--dfc-focus-outline-width, 2px) solid var(--dfc-color-focus, #1d4ed8);
  outline-offset: var(--dfc-focus-outline-offset, 2px);
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
  background: transparent;
  background-color: transparent;
}

.df-cart-drawer[data-df-input-modality='keyboard'] input.df-cart-coupon-input:focus {
  border-width: var(--df-cart-coupon-input-focus-border-width, var(--df-cart-coupon-input-border-width, 1px));
  border-style: solid;
  border-color: var(--df-cart-coupon-input-border-color, var(--df-cart-coupon-border-color, var(--dfc-button-secondary-border)));
  outline: var(--df-cart-focus-outline-width, var(--dfc-focus-outline-width, 2px)) solid var(--df-cart-focus-outline-color, var(--dfc-color-focus, #1d4ed8));
  outline-offset: var(--df-cart-focus-outline-offset, var(--dfc-focus-outline-offset, 2px));
  box-shadow: var(--dfc-focus-glow-shadow, 0 0 0 3px color-mix(in srgb, var(--dfc-color-focus-glow, #1d4ed8) 20%, transparent));
  background: var(--df-cart-coupon-input-bg, #ffffff);
  background-color: var(--df-cart-coupon-input-bg, #ffffff);
}


.df-cart-shell.is-updating .df-cart-content,
.df-cart-shell.is-updating .df-cart-footer {
  opacity: 0.65;
}

.df-cart-shell.is-updating .df-cart-content {
  pointer-events: none;
}

.df-cart-shell.is-updating .df-cart-apply-coupon,
.df-cart-shell.is-updating .df-cart-checkout,
.df-cart-shell.is-updating .df-cart-view-cart,
.df-cart-shell.is-updating .df-cart-remove,
.df-cart-shell.is-updating .df-cart-close,
.df-cart-shell.is-updating .df-cart-qty-input {
  cursor: wait;
}

@media (max-width: 480px) {
  .df-cart-coupon-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .df-cart-apply-coupon {
    width: 100%;
  }

  .df-cart-totals-value {
    white-space: normal;
  }

}

.df-cart-trigger-module-align.df-cart-trigger-hidden {
  display: none;
}

@media (max-width: 782px) {
  .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-shell .df-cart-drawer.df-cart-mobile-style-full_height,
  .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer),
  .df-cart-shell .df-cart-drawer.df-cart-mobile-style-inherit:not(.is-boxed-drawer) {
    height: var(--df-cart-visual-viewport-height, 100dvh);
    max-height: var(--df-cart-visual-viewport-height, 100dvh);
    touch-action: pan-y;
  }

  .df-cart-drawer.df-cart-sticky-header_footer {
    overflow: hidden;
  }

  .df-cart-drawer.df-cart-sticky-header,
  .df-cart-drawer.df-cart-sticky-none {
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .df-cart-drawer.df-cart-sticky-footer {
    overflow: hidden;
    touch-action: pan-y;
  }

  .df-cart-drawer .df-cart-form {
    min-height: 0;
  }

  .df-cart-drawer.df-cart-sticky-header .df-cart-form,
  .df-cart-drawer.df-cart-sticky-header_footer .df-cart-form,
  .df-cart-drawer.df-cart-sticky-none .df-cart-form {
    flex: 1 1 auto;
    min-height: 0;
  }

  .df-cart-drawer .df-cart-form,
  .df-cart-drawer .df-cart-main-layout,
  .df-cart-drawer .df-cart-content,
  .df-cart-drawer.df-cart-sticky-none .df-cart-form,
  .df-cart-drawer.df-cart-sticky-none .df-cart-main-layout,
  .df-cart-drawer.df-cart-sticky-none .df-cart-content {
    overflow: visible;
  }

  .df-cart-drawer.df-cart-sticky-footer .df-cart-form,
  .df-cart-drawer.df-cart-sticky-header_footer .df-cart-form {
    overflow: hidden;
  }

  .df-cart-drawer.df-cart-sticky-footer .df-cart-body,
  .df-cart-drawer.df-cart-sticky-header_footer .df-cart-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .df-cart-drawer.df-cart-sticky-footer .df-cart-footer,
  .df-cart-drawer.df-cart-sticky-header_footer .df-cart-footer {
    flex: 0 0 auto;
  }

  .df-cart-drawer.df-cart-sticky-footer .df-cart-main-layout,
  .df-cart-drawer.df-cart-sticky-footer .df-cart-content,
  .df-cart-drawer.df-cart-sticky-header_footer .df-cart-main-layout,
  .df-cart-drawer.df-cart-sticky-header_footer .df-cart-content,
  .df-cart-drawer.df-cart-sticky-header .df-cart-main-layout,
  .df-cart-drawer.df-cart-sticky-header .df-cart-content {
    overflow: visible;
  }
}

@media (min-width: 981px) {
  .wp_storeflow_cart_drawer.df-cart-hide-desktop,
  .wp-storeflow-cart-drawer-fallback .df-cart-hide-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 980px) {
  .wp_storeflow_cart_drawer.df-cart-hide-tablet,
  .wp-storeflow-cart-drawer-fallback .df-cart-hide-tablet {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .wp_storeflow_cart_drawer.df-cart-hide-mobile,
  .wp-storeflow-cart-drawer-fallback .df-cart-hide-mobile {
    display: none !important;
  }
}

.df-cart-menu-trigger__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35em;
  height: 1.35em;
  margin-left: 0.35em;
  padding: 0 0.35em;
  border-radius: 999px;
  background: #111827;
  color: #ffffff;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}

.df-cart-menu-trigger__count[hidden] {
  display: none !important;
}

.drawercart-trigger:focus-visible,
a[href="#drawer-cart"]:focus-visible,
a[href="#df-cart"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.df-cart-universal-menu-trigger {
  --df-cart-menu-trigger-gap: 6px;
  --df-cart-menu-trigger-icon-size: 16px;
  --df-cart-menu-trigger-count-size: 16px;
  --df-cart-menu-trigger-count-font-size: 10px;
  --df-cart-menu-trigger-count-offset-x: 0px;
  --df-cart-menu-trigger-count-offset-y: 0px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.df-cart-universal-menu-trigger:focus,
.df-cart-universal-menu-trigger:focus-visible {
  outline: none;
  box-shadow: none;
}

.df-cart-universal-menu-trigger:focus-visible .df-cart-menu-trigger__inner {
  outline: var(--df-cart-focus-outline-width, 2px) solid var(--df-cart-focus-outline-color, currentColor);
  outline-offset: var(--df-cart-focus-outline-offset, 2px);
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__inner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--df-cart-menu-trigger-gap);
  width: auto;
  max-width: 100%;
  height: auto;
  min-height: 0;
  line-height: inherit;
  vertical-align: middle;
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__icon {
  display: inline-flex;
  width: var(--df-cart-menu-trigger-icon-size);
  height: var(--df-cart-menu-trigger-icon-size);
  color: var(--df-cart-menu-trigger-icon-color, inherit);
  flex: 0 0 auto;
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke: currentColor;
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__total,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total .amount,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total .woocommerce-Price-amount,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total .woocommerce-Price-currencySymbol,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total bdi,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total > span,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total ins,
.df-cart-universal-menu-trigger .df-cart-menu-trigger__total del {
  /* Late Woo/navigation amount rules often set the nested leaves !important. */
  color: var(--df-cart-menu-trigger-total-color, inherit) !important;
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__total {
  font-size: var(--df-cart-menu-trigger-total-font-size, 13px);
  font-weight: var(--df-cart-menu-trigger-total-font-weight, 600);
  white-space: nowrap;
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: var(--df-cart-menu-trigger-count-size);
  width: auto;
  min-height: var(--df-cart-menu-trigger-count-size);
  height: var(--df-cart-menu-trigger-count-size);
  margin: 0;
  padding: 0 0.25em;
  border-radius: 999px;
  background: var(--df-cart-menu-trigger-count-bg, #111827);
  color: var(--df-cart-menu-trigger-count-color, #ffffff);
  font-size: var(--df-cart-menu-trigger-count-font-size, 10px);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
  flex: 0 0 auto;
  transform: translate(var(--df-cart-menu-trigger-count-offset-x), var(--df-cart-menu-trigger-count-offset-y));
}

.df-cart-universal-menu-trigger.df-cart-universal-menu-trigger--top-right-count .df-cart-menu-trigger__inner {
  position: relative;
}

.df-cart-universal-menu-trigger.df-cart-universal-menu-trigger--top-right-count .df-cart-menu-trigger__count {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(calc(50% + var(--df-cart-menu-trigger-count-offset-x)), calc(-100% + var(--df-cart-menu-trigger-count-offset-y)));
}

/* Core sticky layout and mobile cart item rules stay in Lite when Pro is inactive. */
.df-cart-drawer.df-cart-sticky-header .df-cart-main-layout:not(.has-recommended-left-column):not(.has-recommended-right-column),
.df-cart-drawer.df-cart-sticky-header_footer .df-cart-main-layout:not(.has-recommended-left-column):not(.has-recommended-right-column),
.df-cart-drawer.df-cart-sticky-footer .df-cart-main-layout:not(.has-recommended-left-column):not(.has-recommended-right-column),
.df-cart-drawer.df-cart-sticky-none .df-cart-main-layout:not(.has-recommended-left-column):not(.has-recommended-right-column) {
  flex: 0 0 auto;
  min-height: 0;
}

@media (max-width: 480px) {
  .df-cart-item {
    grid-template-columns: min(var(--df-cart-product-box-image-size, 84px), 72px) minmax(0, 1fr);
  }

  .df-cart-item-thumb img {
    min-height: 90px;
  }

  .df-cart-item-bottom {
    align-items: end;
    min-height: 0;
  }

  .df-cart-item-subtotal {
    text-align: right;
    justify-content: flex-end;
  }

  .df-cart-item-pricing {
    margin-left: 0;
    justify-content: flex-end;
  }
}

@media (max-width: 767px) {
  .df-cart-drawer .df-cart-main-column,
  .df-cart-drawer .df-cart-main-layout,
  .df-cart-drawer .df-cart-body,
  .df-cart-drawer .df-cart-content {
    min-height: 0;
  }

  .df-cart-drawer .df-cart-main-layout {
    flex: 0 0 auto;
    overflow: visible;
    padding-bottom: var(--dfc-space-2);
  }

  .df-cart-drawer .df-cart-content {
    overflow: visible;
    padding-bottom: var(--dfc-space-4);
  }

  .df-cart-drawer .df-cart-footer {
    position: static;
  }

  .df-cart-drawer.df-cart-sticky-footer .df-cart-main-layout {
    flex: 0 0 auto;
    overflow: visible;
  }

  .df-cart-drawer.df-cart-sticky-footer .df-cart-footer {
    position: static;
    bottom: auto;
    z-index: auto;
  }
}

/* Text-only vertical offsets keep their surrounding controls and badges stationary. */
.df-cart-title .df-cart-header-count-text {
  display: inline-block;
  transform: translateY(var(--df-cart-header-badge-text-offset-y, 0px));
}

.df-cart-floating-trigger .df-cart-floating-count-text,
.df-cart-trigger--floating .df-cart-floating-count-text {
  display: inline-block;
  transform: translateY(var(--df-cart-floating-badge-text-offset-y, 0px));
}

.df-cart-drawer .df-cart-coupon-apply-text {
  display: inline-block;
  transform: translateY(var(--df-cart-coupon-button-text-offset-y, 0px));
}

.df-cart-view-cart .df-cart-view-cart-label {
  display: inline-block;
  transform: translateY(var(--df-cart-view-text-offset-y, 0px));
}

.df-cart-continue-shopping .df-cart-continue-shopping-label {
  display: inline-block;
  transform: translateY(var(--df-cart-continue-text-offset-y, 0px));
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__total {
  display: inline-block;
  transform: translateY(var(--df-cart-menu-trigger-total-text-offset-y, 0px));
}

.df-cart-universal-menu-trigger .df-cart-menu-trigger__count-text {
  display: inline-block;
  transform: translateY(var(--df-cart-menu-trigger-count-text-offset-y, 0px));
}
