/* The native React bag keeps its state, keyboard handling and swipe gestures.
   These scoped rules are loaded after experience.css / theme-polish.css. */
[data-slot="sheet-content"].energy-cart-drawer {
  --bag-surface: #fbfcf9;
  --bag-card: #ffffff;
  --bag-inset: #f0f5ed;
  --bag-ink: #173f32;
  --bag-muted: #526959;
  --bag-line: #d4e1d0;
  --bag-positive: #366348;
  --bag-chip: #e5efdf;
  --bag-hover: #eaf2e4;
  color-scheme: light;
}
html.dark [data-slot="sheet-content"].energy-cart-drawer {
  --bag-surface: #142019;
  --bag-card: #1b2b21;
  --bag-inset: #203427;
  --bag-ink: #edf4ea;
  --bag-muted: #b8cbb8;
  --bag-line: #425c48;
  --bag-positive: #b5dca4;
  --bag-chip: #2c4731;
  --bag-hover: #29432f;
  color-scheme: dark;
}
[data-slot="sheet-content"].energy-cart-drawer,
[data-slot="sheet-content"].energy-cart-drawer .kit-theme {
  --panel: var(--bag-surface);
  --panel-card: var(--bag-card);
  --panel-inset: var(--bag-inset);
  --panel-border: var(--bag-line);
  --panel-divider: var(--bag-line);
  --panel-hover: var(--bag-hover);
  --panel-active: var(--bag-chip);
  --panel-muted: var(--bag-muted);
  --panel-badge: var(--bag-chip);
  --navigation-ink: var(--bag-ink);
  --navigation-muted: var(--bag-muted);
  --navigation-accent: var(--bag-positive);
  --cart-item: var(--bag-card);
  --cart-suggestion: var(--bag-card);
  --kit-paper: var(--bag-card);
  --kit-surface: var(--bag-inset);
  --kit-ink: var(--bag-ink);
  --kit-muted: var(--bag-muted);
  --kit-gold: var(--bag-chip);
  --background: var(--bag-card);
  --foreground: var(--bag-ink);
  --card: var(--bag-card);
  --card-foreground: var(--bag-ink);
  --popover: var(--bag-card);
  --popover-foreground: var(--bag-ink);
  --primary: var(--bag-ink);
  --primary-foreground: var(--bag-card);
  --secondary: var(--bag-chip);
  --secondary-foreground: var(--bag-ink);
  --accent: var(--bag-positive);
  --accent-foreground: var(--bag-surface);
  --muted: var(--bag-inset);
  --muted-foreground: var(--bag-muted);
  --border: var(--bag-line);
  --input: var(--bag-line);
  --ring: var(--bag-positive);
  --catalog-ink: var(--bag-ink);
  --catalog-muted: var(--bag-muted);
  --catalog-card: var(--bag-card);
  color: var(--bag-ink);
  font-family: var(--font-body, Inter), Arial, sans-serif;
}
html.dark [data-slot="sheet-content"].energy-cart-drawer .kit-theme { color-scheme: dark; }
[data-slot="sheet-content"].energy-cart-drawer {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  background: var(--bag-surface) !important;
  background-image: none !important;
  border-color: var(--bag-line);
  box-shadow: -12px 0 60px #10241933;
  backdrop-filter: none;
}
[data-slot="sheet-content"].energy-cart-drawer :is(h2, h3, .font-serif) {
  font-family: var(--font-product, Manrope), var(--font-body, Inter), Arial, sans-serif;
  color: var(--bag-ink);
}
[data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-header"] {
  flex: 0 0 auto;
  padding: 20px 24px;
  background: var(--bag-surface);
  border-color: var(--bag-line);
}
[data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-title"] {
  color: var(--bag-ink);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.6px;
}
[data-slot="sheet-content"].energy-cart-drawer button:is([aria-label="Close bag"],[data-energy-original-aria-label="Close bag"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--bag-line);
  border-radius: 11px;
  color: var(--bag-ink);
  background: var(--bag-card);
  background-image: none;
  box-shadow: none;
}
[data-slot="sheet-content"].energy-cart-drawer button:is([aria-label="Close bag"],[data-energy-original-aria-label="Close bag"]):hover { background: var(--bag-hover); }
[data-slot="sheet-content"].energy-cart-drawer [data-cart-scroll] {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  padding: 20px 24px;
  scrollbar-width: thin;
  scrollbar-color: var(--bag-line) transparent;
  overscroll-behavior: contain;
}
[data-slot="sheet-content"].energy-cart-drawer [data-cart-scroll] > ul { gap: 14px; padding: 0; margin: 0; list-style: none; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line { min-width: 0; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line > div:first-child { border-color: var(--bag-line); border-radius: 15px; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__body {
  align-items: flex-start;
  gap: 12px;
  padding: 15px 13px;
  background: var(--bag-card) !important;
  color: var(--bag-ink) !important;
}
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__image {
  width: 68px;
  height: 76px;
  padding: 7px;
  border: 1px solid #dce5d6;
  border-radius: 10px;
  background: #f4f7ef;
  color-scheme: light;
}
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__image img { width: 100%; height: 100%; object-fit: contain; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__info { min-width: 0; gap: 5px; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__info > a {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 650;
  color: var(--bag-ink);
  text-wrap: pretty;
}
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__info > p { color: var(--bag-muted); font-size: 11px; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__info > div:last-child { gap: 8px; flex-wrap: wrap; margin-top: 4px; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__info > div:last-child > div:first-child {
  border: 1px solid var(--bag-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--bag-inset);
}
[data-slot="sheet-content"].energy-cart-drawer button:is(:is([aria-label*="quantity"],[data-energy-original-aria-label*="quantity"]), :is([aria-label*="kits:"],[data-energy-original-aria-label*="kits:"])) {
  min-width: 30px;
  width: 30px;
  min-height: 32px;
  height: 32px;
  background: transparent;
  border-radius: 0;
  color: var(--bag-ink);
  box-shadow: none;
}
[data-slot="sheet-content"].energy-cart-drawer button:is(:is([aria-label*="quantity"],[data-energy-original-aria-label*="quantity"]), :is([aria-label*="kits:"],[data-energy-original-aria-label*="kits:"])):hover { background: var(--bag-hover); }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__price {
  align-self: stretch;
  gap: 10px;
  min-width: 65px;
  max-width: 32%;
  color: var(--bag-ink);
}
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__price > p {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  color: var(--bag-ink);
}
[data-slot="sheet-content"].energy-cart-drawer button:is([aria-label^="Remove "],[data-energy-original-aria-label^="Remove "]) {
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  padding: 0;
  color: var(--bag-muted);
  border: 0;
  background: transparent;
  box-shadow: none;
}
[data-slot="sheet-content"].energy-cart-drawer button:is([aria-label^="Remove "],[data-energy-original-aria-label^="Remove "]):hover { background: var(--bag-hover); color: var(--bag-ink); }
[data-slot="sheet-content"].energy-cart-drawer .kit-theme,
[data-slot="sheet-content"].energy-cart-drawer .bg-cart-item,
[data-slot="sheet-content"].energy-cart-drawer .kit-theme .bg-kit-paper {
  background: var(--bag-card) !important;
  color: var(--bag-ink) !important;
  border-color: var(--bag-line);
}
[data-slot="sheet-content"].energy-cart-drawer .kit-theme .bg-kit-surface {
  background: var(--bag-inset) !important;
  color: var(--bag-ink) !important;
  border-color: var(--bag-line);
}
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-kit { border-radius: 15px; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-kit :is(h3, h3 a) { font-size: 15px; line-height: 1.5; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-kit :is(.text-kit-muted, .text-panel-muted) { color: var(--bag-muted); }
[data-slot="sheet-content"].energy-cart-drawer .kit-theme [data-slot="badge"] {
  background: var(--bag-chip);
  border-color: var(--bag-line);
  color: var(--bag-positive);
  font-size: 10px;
  line-height: 1.5;
  white-space: normal;
}
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) { margin-top: 26px; }
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) > p { padding: 0; font-size: 12px; color: var(--bag-muted); }
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) > div { gap: 10px; padding-bottom: 5px; }
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) > div > div { width: 124px; gap: 8px; padding: 12px; border-radius: 12px; background: var(--bag-card); border-color: var(--bag-line); }
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) > div > div > div:first-child { width: 60px; height: 60px; background: #f4f7ef; color-scheme: light; }
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) p { color: var(--bag-ink); line-height: 1.5; }
[data-slot="sheet-content"].energy-cart-drawer section:is([aria-label="You might also need"],[data-energy-original-aria-label="You might also need"]) button { width: 30px; height: 30px; min-width: 30px; background: var(--bag-chip); color: var(--bag-ink); border: 1px solid var(--bag-line); }
[data-slot="sheet-content"].energy-cart-drawer .energy-discount-note { margin: 0; padding: 12px 14px; background: var(--bag-chip); color: var(--bag-positive); font-size: 11px; line-height: 1.7; }
[data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-footer"] {
  flex: 0 0 auto;
  margin: 0;
  padding: 20px 24px max(22px, env(safe-area-inset-bottom, 0px));
  gap: 10px;
  background: var(--bag-inset) !important;
  border-color: var(--bag-line);
  color: var(--bag-ink);
}
[data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-footer"] > p { color: var(--bag-muted); font-size: 11px; line-height: 1.65; }
[data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-footer"] > div[aria-live="polite"] { align-items: baseline; padding-top: 8px; font-size: 16px; font-weight: 700; }
[data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-footer"] > div[aria-live="polite"] > span:last-child { font-size: 22px; font-variant-numeric: tabular-nums; }
[data-slot="sheet-content"].energy-cart-drawer a[href="/checkout"],
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty a[href="/shop"] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin-top: 4px;
  padding: 13px 20px;
  border: 1px solid #dc8b44 !important;
  border-radius: 12px;
  background: #f5a05b !important;
  background-image: none !important;
  color: #173f32 !important;
  font: 750 14px/1.5 var(--font-product, Manrope), Arial, sans-serif;
  text-shadow: none;
  box-shadow: none;
  text-decoration: none;
}
[data-slot="sheet-content"].energy-cart-drawer a[href="/checkout"]:hover,
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty a[href="/shop"]:hover { background: #f9b477 !important; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty { gap: 14px; min-height: 0; padding: 40px 24px; overflow-y: auto; justify-content: flex-start; justify-content: safe center; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty > span:first-child {
  width: 84px;
  height: 84px;
  margin-bottom: 8px;
  border: 1px solid var(--bag-line);
  background: var(--bag-chip);
  color: var(--bag-positive);
}
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty > p:first-of-type { font-size: 23px; font-weight: 650; letter-spacing: -.5px; color: var(--bag-ink); }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty > p:last-of-type { max-width: 260px; color: var(--bag-muted); font-size: 13px; line-height: 1.75; }
[data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty a { min-width: 200px; margin-top: 6px; }
[data-slot="sheet-content"].energy-cart-drawer :is(button, a):focus-visible { outline: 3px solid var(--bag-positive); outline-offset: 3px; }
[data-slot="sheet-content"].energy-cart-drawer button:disabled { opacity: .42; }

/* Simple monochrome controls stay crisp in both themes; the actual bag/trash assets exist too. */
.energy-cart-drawer svg[data-icon-asset="bag"] { --bag-icon: url('/icons-3d/bag.svg'); width: 42px !important; height: 42px !important; max-width: 42px !important; max-height: 42px !important; }
.energy-cart-drawer svg[data-icon-asset="trash"] { --bag-icon: url('/icons-3d/trash.svg'); }
.energy-cart-drawer svg[data-icon-asset="close"] { --bag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E"); }
.energy-cart-drawer svg[data-icon-asset="plus"] { --bag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' d='M5 12h14M12 5v14'/%3E%3C/svg%3E"); }
.energy-cart-drawer svg[data-icon-asset="minus"] { --bag-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' d='M5 12h14'/%3E%3C/svg%3E"); }
.energy-cart-drawer svg:is([data-icon-asset="bag"], [data-icon-asset="trash"], [data-icon-asset="close"], [data-icon-asset="plus"], [data-icon-asset="minus"]) {
  min-width: 16px;
  min-height: 16px;
  background: currentColor;
  -webkit-mask: var(--bag-icon) center / contain no-repeat;
  mask: var(--bag-icon) center / contain no-repeat;
  filter: none !important;
  animation: none !important;
  transform: none !important;
}
.energy-cart-drawer svg:is([data-icon-asset="bag"], [data-icon-asset="trash"], [data-icon-asset="close"], [data-icon-asset="plus"], [data-icon-asset="minus"]) > * { display: none !important; }
@media (min-width: 1024px) {
  [data-slot="sheet-content"].energy-cart-drawer[data-side="right"] { width: min(100vw, 480px); max-width: 480px; height: 100dvh; }
}
@media (max-width: 1023px) {
  [data-slot="sheet-content"].energy-cart-drawer[data-side="bottom"] {
    inset-inline: 0;
    margin-inline: auto;
    width: 100%;
    max-width: 720px;
    min-height: min(520px, 82dvh);
    max-height: 92dvh;
    padding-bottom: 0;
    border-radius: 22px 22px 0 0;
  }
  [data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-header"] { padding: 14px 20px; }
  [data-slot="sheet-content"].energy-cart-drawer [data-cart-scroll] { padding: 16px 20px; }
  [data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-footer"] { padding: 16px 20px max(20px, env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 390px) {
  [data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-header"] { padding-inline: 16px; }
  [data-slot="sheet-content"].energy-cart-drawer [data-cart-scroll] { padding: 14px 12px; }
  [data-slot="sheet-content"].energy-cart-drawer [data-slot="sheet-footer"] { padding-inline: 16px; }
  [data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__body { padding: 12px 10px; gap: 9px; }
  [data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__image { width: 58px; height: 68px; padding: 5px; }
  [data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__info > a { font-size: 12px; }
  [data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__price { min-width: 58px; }
  [data-slot="sheet-content"].energy-cart-drawer .energy-cart-line__price > p { font-size: 12px; }
  [data-slot="sheet-content"].energy-cart-drawer .energy-cart-empty { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-slot="sheet-content"].energy-cart-drawer :is(a, button) { transition: none; }
}
