/* ============================================================================
   Origin-style cart — drawer panel, mobile cart bar, added-to-cart banner,
   /cart/ and /checkout/ pages.

   Structure follows originscience.com's cart (frosted rounded panel, item cards
   with round steppers, "Clear all", discount code, one blue Checkout pill; on a
   phone a floating cart bar and a bottom "Added to cart" banner). Colour, type
   and radii are Peptide Portal tokens, so it reads as DP in both themes.

   Loads after cart-drawer.css and overrides its panel geometry only; the old
   classes stay so nothing else that targets them breaks.
   ============================================================================ */

:root {
  --dpc-card:      var(--dp-surface);
  --dpc-line:      rgba(46, 36, 30, .1);
  --dpc-line-2:    rgba(46, 36, 30, .18);
  --dpc-thumb:     #FAF2EF;
  --dpc-green:     #0E9F6E;
  --dpc-note-bg:   #FFF1F2;
  --dpc-note-fg:   #B4232F;
  --dpc-note-line: #FECDD3;
  --dpc-ok-bg:     #FDF0EC;
  --dpc-shadow:    0 2px 24px rgba(0, 0, 0, .08), 0 18px 48px rgba(46, 36, 30, .10);
  --dpc-dark-btn:  var(--dp-ink);
  --dpc-dark-fg:   #FFFFFF;
}
:root[data-theme="dark"] {
  --dpc-card:      var(--dp-surface-alt);
  --dpc-line:      rgba(255, 255, 255, .09);
  --dpc-line-2:    rgba(255, 255, 255, .18);
  --dpc-thumb:     #312520;
  --dpc-green:     #34D399;
  --dpc-note-bg:   rgba(127, 29, 29, .28);
  --dpc-note-fg:   #FCA5A5;
  --dpc-note-line: rgba(248, 113, 113, .35);
  --dpc-ok-bg:     rgba(220, 73, 32, .14);
  --dpc-shadow:    0 2px 24px rgba(0, 0, 0, .4), 0 18px 48px rgba(0, 0, 0, .35);
  --dpc-dark-btn:  #F2ECE6;
  --dpc-dark-fg:   #16100C;
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="dark"] {
    --dpc-card:      var(--dp-surface-alt);
    --dpc-line:      rgba(255, 255, 255, .09);
    --dpc-line-2:    rgba(255, 255, 255, .18);
    --dpc-thumb:     #312520;
    --dpc-green:     #34D399;
    --dpc-note-bg:   rgba(127, 29, 29, .28);
    --dpc-note-fg:   #FCA5A5;
    --dpc-note-line: rgba(248, 113, 113, .35);
    --dpc-ok-bg:     rgba(220, 73, 32, .14);
    --dpc-shadow:    0 2px 24px rgba(0, 0, 0, .4), 0 18px 48px rgba(0, 0, 0, .35);
    --dpc-dark-btn:  #F2ECE6;
    --dpc-dark-fg:   #16100C;
  }
}

/* --- Drawer panel → floating frosted card ------------------------------- */
.dp-drawer .dp-drawer__scrim { background: rgba(22, 16, 12, .30); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }

.dp-drawer .dp-drawer__panel {
  top: calc(var(--dp-strip-h, 37px) + var(--dp-header-h, 37px) + 10px);
  right: max(12px, var(--dp-gutter, 16px));
  bottom: auto;
  width: 420px;
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - var(--dp-strip-h, 37px) - var(--dp-header-h, 37px) - 26px);
  border-radius: var(--dp-r-xs);
  background: var(--dp-glass, var(--dp-surface));
  background-image: none;
  -webkit-backdrop-filter: saturate(1.6) blur(24px);
          backdrop-filter: saturate(1.6) blur(24px);
  border: 1px solid var(--dp-glass-line, var(--dpc-line));
  box-shadow: var(--dpc-shadow);
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px) scale(.985);
  transform-origin: top right;
  transition: opacity .2s var(--dp-ease-cta), transform .22s var(--dp-ease-cta);
}
.dp-drawer.is-open .dp-drawer__panel { opacity: 1; transform: none; }

.dp-drawer .dp-drawer__head { padding: 16px 20px 12px; border-bottom: 1px solid var(--dpc-line); background: transparent; }
.dp-drawer .dp-drawer__title { font-size: var(--dp-fs-lg); font-weight: var(--dp-fw-semi); line-height: 20px; letter-spacing: -.3px; }
.dp-drawer .dp-drawer__x { width: 30px; height: 30px; flex-basis: 30px; background: transparent; border: 1px solid var(--dpc-line-2); box-shadow: none; }
.dp-drawer .dp-drawer__body { padding: 0; overflow-y: auto; overscroll-behavior: contain; background: transparent; background-image: none; }

/* Phone: a bottom sheet over a dimmed page, like Origin's expanded cart bar. */
@media (max-width: 640px) {
  .dp-drawer .dp-drawer__scrim { background: rgba(22, 16, 12, .3); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
  .dp-drawer .dp-drawer__panel {
    top: auto; left: 12px; right: 12px; bottom: 12px;
    width: auto; max-width: none;
    max-height: 86dvh;
    border-radius: var(--dp-r-xs);
    transform: translateY(24px);
    transform-origin: bottom center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dp-drawer .dp-drawer__panel { transition: opacity .01s linear; transform: none; }
}

/* --- Cart contents ------------------------------------------------------- */
.dpc { display: flex; flex-direction: column; min-height: 0; }
.dpc__top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 20px 8px;
}
.dpc__count { font-size: var(--dp-fs-sm); color: var(--dp-ink-60); }
.dpc__clear {
  padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: var(--dp-fs-sm); font-weight: var(--dp-fw-semi);
  color: var(--dp-ink-60);
  transition: color .15s var(--dp-ease-cta);
}
.dpc__clear:hover, .dpc__clear.is-confirm { color: var(--dp-alert); }

.dpc__list { list-style: none; margin: 0; padding: 0 20px 8px; display: grid; gap: 10px; }

.dpc-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: var(--dp-r-3xs);
  background: var(--dpc-card);
  border: 1px solid var(--dpc-line);
}
.dpc-item__img {
  display: block; width: 48px; height: 48px;
  border-radius: var(--dp-r-4xs);
  background: var(--dpc-thumb);
  border: 1px solid var(--dpc-line);
  overflow: hidden;
}
.dpc-item__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.dpc-item__txt { min-width: 0; display: flex; flex-direction: column; }
.dpc-item__name {
  font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi); line-height: 18px;
  color: var(--dp-ink); text-decoration: none;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dpc-item__name:hover { color: var(--dpx-fg-blue, var(--dp-blue)); }
.dpc-item__desc { margin-top: 2px; font-size: var(--dp-fs-sm); color: var(--dp-ink-60); line-height: 16px; }
.dpc-item__price {
  margin-top: 4px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px;
  font-size: var(--dp-fs-sm); font-weight: var(--dp-fw-semi); color: var(--dp-ink);
}
.dpc-item__off { font-size: 10.5px; font-weight: var(--dp-fw-bold); color: var(--dpx-fg-blue, var(--dp-blue)); }
.dpc-item__was { font-size: 11px; font-weight: var(--dp-fw-regular); color: var(--dp-ink-50); }

.dpc-step { display: flex; align-items: center; gap: 6px; }
.dpc-step__btn {
  display: grid; place-items: center;
  width: 28px; height: 28px; padding: 0;
  border-radius: 50%;
  border: 1px solid var(--dpc-line-2);
  background: var(--dpc-card);
  color: var(--dp-ink);
  cursor: pointer;
  transition: border-color .15s var(--dp-ease-cta), color .15s var(--dp-ease-cta);
}
.dpc-step__btn svg { width: 12px; height: 12px; }
.dpc-step__btn:hover { border-color: var(--dp-ink-50); }
.dpc-step__btn--rm:hover { color: var(--dp-alert); border-color: var(--dp-alert); }
.dpc-step__btn:focus-visible { outline: 2px solid var(--dpx-fg-blue, var(--dp-blue)); outline-offset: 2px; }
.dpc-step__btn[disabled] { opacity: .4; cursor: default; }
.dpc-step__n { min-width: 20px; text-align: center; font-size: var(--dp-fs-base); font-weight: var(--dp-fw-bold); color: var(--dp-ink); font-variant-numeric: tabular-nums; }

.dpc__foot { padding: 10px 20px 18px; border-top: 1px solid var(--dpc-line); display: grid; gap: 10px; }
.dpc__view {
  justify-self: center;
  font-size: var(--dp-fs-sm); font-weight: var(--dp-fw-semi);
  color: var(--dp-ink-60); text-decoration: none;
}
.dpc__view:hover { color: var(--dpx-fg-blue, var(--dp-blue)); }

/* Discount code */
.dpc-promo { display: grid; grid-template-columns: 1fr auto; gap: 6px; }
.dpc-promo__field { position: relative; display: block; }
.dpc-promo__field svg { position: absolute; left: 10px; top: 50%; width: 14px; height: 14px; transform: translateY(-50%); color: var(--dp-ink-50); pointer-events: none; }
.dpc-promo__field input {
  width: 100%; height: 34px; padding: 0 10px 0 32px;
  border-radius: var(--dp-r-4xs);
  border: 1px solid var(--dpc-line-2);
  background: var(--dpc-card);
  color: var(--dp-ink);
  font: inherit; font-size: var(--dp-fs-sm); font-weight: var(--dp-fw-medium);
  text-transform: uppercase;
}
.dpc-promo__field input::placeholder { text-transform: none; color: var(--dp-ink-50); }
.dpc-promo__field input:focus { outline: none; border-color: var(--dp-ink-50); }
.dpc-promo__apply {
  height: 34px; padding: 0 14px;
  border-radius: var(--dp-r-4xs);
  border: 1px solid var(--dpc-line-2);
  background: var(--dpc-card); color: var(--dp-ink);
  font: inherit; font-size: var(--dp-fs-sm); font-weight: var(--dp-fw-semi);
  cursor: pointer;
}
.dpc-promo__apply:hover { border-color: var(--dp-ink-50); }
.dpc-promo__msg { grid-column: 1 / -1; margin: 0; font-size: 11.5px; color: var(--dp-ink-60); }

/* Totals */
.dpc-totals { margin: 0; display: grid; gap: 6px; }
.dpc-totals > div { display: flex; justify-content: space-between; gap: 12px; font-size: var(--dp-fs-base); color: var(--dp-ink-60); }
.dpc-totals dt, .dpc-totals dd { margin: 0; }
.dpc-totals__save dd { color: var(--dpc-green); font-weight: var(--dp-fw-semi); }
.dpc-totals__grand { padding-top: 8px; border-top: 1px solid var(--dpc-line); color: var(--dp-ink) !important; font-weight: var(--dp-fw-bold); }

/* Buttons */
.dpc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 44px; padding: 0 24px;
  border-radius: var(--dp-r-pill);
  border: 0;
  font: inherit; font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi);
  text-decoration: none; cursor: pointer;
  transition: opacity .15s var(--dp-ease-cta);
}
.dpc-btn:hover { opacity: .9; }
.dpc-btn:focus-visible { outline: 2px solid var(--dp-ink); outline-offset: 2px; }
.dpc-btn--blue { background: var(--dp-blue); color: #FFFFFF; }
.dpc-btn--dark { background: var(--dpc-dark-btn); color: var(--dpc-dark-fg); }
.dpc-btn--sm { height: 36px; padding: 0 20px; font-size: var(--dp-fs-sm); }
.dpc-btn--lg { height: 54px; font-size: var(--dp-fs-lg); }
.dpc-btn--block { width: 100%; }
.dpc-btn[disabled] { opacity: .6; cursor: progress; }

/* Empty */
.dpc-empty { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 36px 24px 32px; text-align: center; }
.dpc-empty__ico { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 8px; border-radius: 50%; border: 1px solid var(--dpc-line-2); background: var(--dpc-card); color: var(--dp-ink-60); }
.dpc-empty__ico svg { width: 20px; height: 20px; }
.dpc-empty__h { margin: 0; font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi); color: var(--dp-ink); }
.dpc-empty__b { margin: 0 0 10px; font-size: var(--dp-fs-sm); color: var(--dp-ink-60); }

/* Notices */
.dpc-note {
  margin: 12px 20px 0; padding: 8px 12px;
  border-radius: var(--dp-r-4xs);
  border: 1px solid var(--dpc-note-line);
  background: var(--dpc-note-bg); color: var(--dpc-note-fg);
  font-size: var(--dp-fs-sm); line-height: 16px;
}

/* --- Added-to-cart toast → Origin banner -------------------------------- */
.dp-toast__in {
  border-radius: var(--dp-r-xs) !important;
  background: var(--dp-glass, var(--dp-surface)) !important;
  -webkit-backdrop-filter: saturate(1.6) blur(24px);
          backdrop-filter: saturate(1.6) blur(24px);
  border: 1px solid var(--dp-glass-line, var(--dpc-line));
  box-shadow: 0 4px 32px rgba(0, 0, 0, .14) !important;
}
.dp-toast__btn {
  border-radius: var(--dp-r-3xs) !important;
  background: var(--dpc-dark-btn) !important;
  color: var(--dpc-dark-fg) !important;
}

/* --- Mobile cart bar (Origin's pinned bar) ------------------------------- */
.dpc-bar { display: none; }
@media (max-width: 640px) {
  .dpc-bar {
    display: block;
    position: fixed; left: 12px; right: 12px; bottom: 12px;
    z-index: 110;
    transform: translateY(140%);
    opacity: 0;
    pointer-events: none;
    transition: transform .32s cubic-bezier(.2, .9, .3, 1.05), opacity .2s var(--dp-ease-cta);
  }
  .dpc-bar.is-on { transform: none; opacity: 1; pointer-events: auto; }
  /* The glass lives on the panel so the expanding sheet above the row shares it. */
  .dpc-bar__panel {
    border-radius: var(--dp-r-xs);
    background: var(--dp-glass, var(--dp-surface));
    -webkit-backdrop-filter: saturate(1.6) blur(24px);
            backdrop-filter: saturate(1.6) blur(24px);
    border: 1px solid var(--dp-glass-line, var(--dpc-line));
    box-shadow: 0 2px 24px rgba(0, 0, 0, .1);
  }
  .dpc-bar__in {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 10px 10px 12px;
  }
  /* Chevron-up expands the bar into the order itself (rows built by cart-ui.js). */
  .dpc-bar__sheet {
    display: grid;
    grid-template-rows: 0fr;
    visibility: hidden;
    transition: grid-template-rows .3s cubic-bezier(.22, 1, .36, 1), visibility .3s;
  }
  .dpc-bar.is-up .dpc-bar__sheet { grid-template-rows: 1fr; visibility: visible; }
  .dpc-bar__list {
    min-height: 0; overflow: hidden auto;
    max-height: min(46vh, 400px);
    margin: 0; padding: 0 12px; list-style: none;
    transition: padding .3s cubic-bezier(.22, 1, .36, 1);
    overscroll-behavior: contain;
  }
  .dpc-bar.is-up .dpc-bar__list { padding: 12px 12px 4px; }
  .dpc-bar.is-up .dpc-bar__in { border-top: 1px solid var(--dp-glass-line, var(--dpc-line)); }
  .dpc-bar__chev { transition: transform .25s var(--dp-ease-cta); }
  .dpc-bar.is-up .dpc-bar__chev { transform: rotate(180deg); }
  .dpc-bar__x {
    display: grid; place-items: center; flex: 0 0 32px;
    width: 32px; height: 32px; padding: 0;
    border-radius: 50%; border: 1px solid var(--dpc-line-2);
    background: transparent; color: var(--dp-ink-60); cursor: pointer;
  }
  .dpc-bar__x svg { width: 12px; height: 12px; }
  .dpc-bar__sum {
    display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0;
    padding: 0; border: 0; background: none; cursor: pointer;
    font: inherit; color: var(--dp-ink); text-align: left;
  }
  .dpc-bar__ico { position: relative; display: grid; place-items: center; width: 22px; height: 22px; }
  .dpc-bar__ico svg { width: 20px; height: 20px; }
  .dpc-bar__n {
    position: absolute; top: -6px; right: -7px;
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 8px;
    background: var(--dp-blue); color: #FFFFFF;
    font-size: 9.5px; font-weight: var(--dp-fw-bold); line-height: 16px; text-align: center;
  }
  .dpc-bar__txt { font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .dpc-bar__chev { width: 14px; height: 14px; color: var(--dp-ink-50); flex: 0 0 auto; }
  .dpc-bar__go { flex: 0 0 auto; height: 40px; padding: 0 20px; }
}
@media (prefers-reduced-motion: reduce) { .dpc-bar { transition: opacity .01s linear; } }

/* --- /cart/ and /checkout/ pages ----------------------------------------- */
.dpc-page { max-width: 760px; margin: 0 auto; display: grid; gap: 18px; }
.dpc-page__back {
  justify-self: start;
  display: inline-flex; align-items: center; gap: 6px;
  font-size: var(--dp-fs-base); font-weight: var(--dp-fw-medium);
  color: var(--dp-ink-60); text-decoration: none;
}
.dpc-page__back svg { width: 16px; height: 16px; }
.dpc-page__back:hover { color: var(--dp-ink); }
.dpc-card {
  padding: 20px;
  border-radius: var(--dp-r-sm);
  border: 1px solid var(--dpc-line);
  background: var(--dpc-card);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
  display: grid; gap: 14px;
}
.dpc-card__h { margin: 0; font-size: var(--dp-fs-lg); font-weight: var(--dp-fw-semi); color: var(--dp-ink); letter-spacing: -.2px; }
.dpc-card__hrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dpc-page .dpc__list { padding: 0; }
.dpc-page .dpc-note { margin: 0; }

.dpc-item--lg { grid-template-columns: 64px minmax(0, 1fr) auto; padding: 14px; }
.dpc-item--lg .dpc-item__img { width: 64px; height: 64px; }
.dpc-item--lg .dpc-item__name { font-size: var(--dp-fs-md); }
.dpc-item__rm {
  grid-column: 2 / -1; justify-self: start;
  margin-top: -4px; padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: 11.5px; font-weight: var(--dp-fw-semi); color: var(--dp-ink-50);
}
.dpc-item__rm:hover { color: var(--dp-alert); }

.dpc-sum { display: grid; gap: 10px; }
.dpc-sum__row { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.dpc-sum__img { width: 40px; height: 40px; border-radius: var(--dp-r-4xs); background: var(--dpc-thumb); border: 1px solid var(--dpc-line); overflow: hidden; }
.dpc-sum__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.dpc-sum__name { display: block; font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi); color: var(--dp-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dpc-sum__desc { display: block; font-size: var(--dp-fs-sm); color: var(--dp-ink-60); }
.dpc-sum__price { font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi); color: var(--dp-ink); }

/* Form */
.dpc-form { display: grid; gap: 18px; }
.dpc-grid { display: grid; gap: 12px; }
@media (min-width: 641px) {
  .dpc-grid--2 { grid-template-columns: 1fr 1fr; }
  .dpc-grid--city { grid-template-columns: 1fr 120px 140px; }
}
.dpc-field { display: grid; gap: 4px; }
.dpc-field__l { font-size: var(--dp-fs-sm); font-weight: var(--dp-fw-semi); color: var(--dp-ink); }
.dpc-field__l em { font-style: normal; font-weight: var(--dp-fw-medium); color: var(--dp-ink-50); }
.dpc-field input, .dpc-field select {
  width: 100%; height: 40px; padding: 0 12px;
  border-radius: var(--dp-r-4xs);
  border: 1px solid var(--dpc-line-2);
  background: var(--dp-surface);
  color: var(--dp-ink);
  font: inherit; font-size: var(--dp-fs-base); font-weight: var(--dp-fw-medium);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
  color-scheme: light dark;
}
.dpc-field input::placeholder { color: var(--dp-ink-50); font-weight: var(--dp-fw-regular); }
.dpc-field input:focus, .dpc-field select:focus { outline: none; border-color: var(--dp-ink); }
.dpc-field.is-bad input, .dpc-field.is-bad select { border-color: var(--dp-alert); }
.dpc-field__err { font-size: 11.5px; color: var(--dp-alert); }

.dpc-ruo {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 16px; border-radius: var(--dp-r-sm);
  border: 1px solid var(--dpc-line); background: var(--dpc-card);
  font-size: var(--dp-fs-base); line-height: 1.45; color: var(--dp-ink-60);
  cursor: pointer;
}
.dpc-ruo strong { color: var(--dp-ink); }
.dpc-ruo input { width: 20px; height: 20px; flex: 0 0 20px; margin: 1px 0 0; accent-color: var(--dp-blue); }
.dpc-ruo.is-bad { border-color: var(--dp-alert); }

.dpc-banner {
  padding: 12px 14px; border-radius: var(--dp-r-3xs);
  background: var(--dpc-ok-bg); color: var(--dp-ink);
  font-size: var(--dp-fs-sm); line-height: 1.5;
}
.dpc-banner strong { font-weight: var(--dp-fw-semi); }
.dpc-err { margin: 0; text-align: center; font-size: var(--dp-fs-base); color: var(--dp-alert); }

.dpc-done { text-align: center; display: grid; gap: 14px; justify-items: center; }
.dpc-done__ico { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--dpc-ok-bg); color: var(--dp-blue); }
.dpc-done__ico svg { width: 30px; height: 30px; }
.dpc-done__h { margin: 0; font-size: var(--dp-fs-h2); font-weight: var(--dp-fw-semi); color: var(--dp-ink); letter-spacing: -.4px; }
.dpc-done__p { margin: 0; max-width: 520px; font-size: var(--dp-fs-md); color: var(--dp-ink-60); }
.dpc-done .dpc-card { width: 100%; text-align: left; }
.dpc-done__addr { margin: 0; font-size: var(--dp-fs-base); color: var(--dp-ink-60); line-height: 1.5; }
.dpc-done__lbl { margin: 0; font-size: var(--dp-fs-base); font-weight: var(--dp-fw-semi); color: var(--dp-ink); }

/* The page's own link colour (.dp-page__panel a) must not repaint cart links and buttons. */
.dp-page__panel .dpc-item__name, .dp-drawer .dpc-item__name { color: var(--dp-ink); }
.dp-page__panel .dpc-item__name:hover { color: var(--dpx-fg-blue, var(--dp-blue)); }
.dp-page__panel .dpc-page__back { color: var(--dp-ink-60); }
.dp-page__panel .dpc-page__back:hover { color: var(--dp-ink); }
.dp-page__panel .dpc-btn--blue, .dp-drawer .dpc-btn--blue { color: #FFFFFF; }
.dp-page__panel .dpc-btn--dark, .dp-drawer .dpc-btn--dark { color: var(--dpc-dark-fg); }

/* The page panel already frames content; let the Origin cards breathe inside it. */
.dp-page__panel:has(.dpc-page) { background: transparent !important; box-shadow: none !important; border: 0 !important; padding-inline: 0 !important; }
@media (max-width: 640px) {
  .dpc-page { padding-inline: var(--dp-gutter, 16px); padding-bottom: 24px; }
  .dpc-card { padding: 16px; }
}

/* ============================================================================
   Spec-sheet register (2026-11-02) — every price the cart surfaces (drawer
   rows, cart page, checkout summary, pinned bar) is a mono tabular figure,
   and the rows tighten to match the compact buy column.
   ============================================================================ */
.dpc-item__price,
.dpc-item__was,
.dpc-totals dd,
.dpc-sum__price,
.dpc-bar__txt,
.dp-shopbar__sub {
  font-family: var(--dp-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -.2px;
}
.dpc-item { padding: 10px; }
.dpc-item__desc { font-family: var(--dp-mono); font-size: 9.5px; letter-spacing: .05em; text-transform: uppercase; }
