@charset "UTF-8";
/* ==========================================================================
   CART PAGE - Clean & Modern
   Refined shopping cart matching the site's light aesthetic
   ========================================================================== */
/* --------------------------------------------------------------------------
   Quantity controls:
   - hide JS-enhanced controls by default (no-JS mode)
   - show fallback controls by default (no-JS mode)
   - once theme_bootstrap.js adds html.light/dark, switch to JS-enhanced controls
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   Design Tokens
   -------------------------------------------------------------------------- */
/* line 16, app/assets/stylesheets/cart_page.scss */
:root {
  --cart-bg: #FAFBFF;
  --cart-surface: #FFFFFF;
  --cart-border: #E5E7EB;
  --cart-border-light: #F3F4F6;
  --cart-text: #111827;
  --cart-text-secondary: #6B7280;
  --cart-text-muted: #9CA3AF;
  --cart-accent: #06b6d4;
  --cart-accent-hover: #0891b2;
  --cart-success: #059669;
  --cart-warning: #D97706;
  --cart-danger: #DC2626;
  --cart-prompt: #b45309;
  --cart-radius-sm: 4px;
  --cart-radius-md: 8px;
  --cart-radius-lg: 12px;
  --cart-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --cart-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --cart-transition: 0.15s ease;
  --cart-sticky-bar-reserve: calc(15rem + env(safe-area-inset-bottom, 0px));
}

/* --------------------------------------------------------------------------
   Main Container
   -------------------------------------------------------------------------- */
/* line 51, app/assets/stylesheets/cart_page.scss */
.vault-cart {
  scroll-behavior: smooth;
  background: var(--cart-bg);
  padding: clamp(1.5rem, 4vw, 2.5rem) 0 1.5rem;
}

@media (min-width: 1024px) {
  /* line 51, app/assets/stylesheets/cart_page.scss */
  .vault-cart {
    min-height: 100vh;
    padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
  }
}

/* --------------------------------------------------------------------------
   Empty State
   -------------------------------------------------------------------------- */
/* line 70, app/assets/stylesheets/cart_page.scss */
.vault-empty {
  max-width: 400px;
  margin: 3rem auto;
  text-align: center;
  padding: 3rem 2rem;
  background: var(--cart-surface);
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-lg);
}

/* line 80, app/assets/stylesheets/cart_page.scss */
.vault-empty__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cart-border-light);
  border-radius: 50%;
}

/* line 90, app/assets/stylesheets/cart_page.scss */
.vault-empty__icon svg {
  width: 28px;
  height: 28px;
  color: var(--cart-text-muted);
}

/* line 97, app/assets/stylesheets/cart_page.scss */
.vault-empty__label {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cart-text-muted);
  margin-bottom: 0.5rem;
}

/* line 107, app/assets/stylesheets/cart_page.scss */
.vault-empty__title {
  font-family: 'Inter Medium', system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--cart-text);
  margin: 0 0 0.5rem;
}

/* line 115, app/assets/stylesheets/cart_page.scss */
.vault-empty__subtitle {
  font-size: 0.925rem;
  color: var(--cart-text-secondary);
  margin: 0 0 1.75rem;
  line-height: 1.5;
}

/* line 122, app/assets/stylesheets/cart_page.scss */
.vault-empty__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  background: var(--cart-accent);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--cart-radius-sm);
  transition: background var(--cart-transition);
}

/* line 137, app/assets/stylesheets/cart_page.scss */
.vault-empty__cta svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}

/* line 143, app/assets/stylesheets/cart_page.scss */
.vault-empty__cta:hover {
  background: var(--cart-accent-hover);
}

/* line 146, app/assets/stylesheets/cart_page.scss */
.vault-empty__cta:hover svg {
  transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
/* line 155, app/assets/stylesheets/cart_page.scss */
.vault-header {
  display: none;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: var(--cart-surface);
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-lg);
  margin-bottom: 1rem;
}

@media (min-width: 1024px) {
  /* line 155, app/assets/stylesheets/cart_page.scss */
  .vault-header {
    display: flex;
    padding: 1.5rem 2rem;
    gap: 1rem;
  }
}

/* line 174, app/assets/stylesheets/cart_page.scss */
.vault-header__left {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 180, app/assets/stylesheets/cart_page.scss */
.vault-header__eyebrow {
  display: none;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cart-text-muted);
}

@media (min-width: 640px) {
  /* line 180, app/assets/stylesheets/cart_page.scss */
  .vault-header__eyebrow {
    display: block;
  }
}

/* line 193, app/assets/stylesheets/cart_page.scss */
.vault-header__title {
  font-family: 'Inter Semibold', system-ui, sans-serif;
  font-size: clamp(1.25rem, 3vw, 1.5rem);
  font-weight: 600;
  color: var(--cart-text);
  margin: 0;
}

/* line 201, app/assets/stylesheets/cart_page.scss */
.vault-header__count {
  font-weight: 400;
  font-size: 0.875rem;
  color: var(--cart-text-muted);
}

@media (min-width: 1024px) {
  /* line 201, app/assets/stylesheets/cart_page.scss */
  .vault-header__count {
    display: none;
  }
}

/* line 211, app/assets/stylesheets/cart_page.scss */
.vault-header__right {
  display: none;
  align-items: center;
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  /* line 211, app/assets/stylesheets/cart_page.scss */
  .vault-header__right {
    display: flex;
  }
}

/* line 221, app/assets/stylesheets/cart_page.scss */
.vault-header__stat {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

/* line 227, app/assets/stylesheets/cart_page.scss */
.vault-header__stat-value {
  font-family: 'Inter Semibold', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--cart-text);
}

/* line 234, app/assets/stylesheets/cart_page.scss */
.vault-header__stat-label {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cart-text-muted);
}

/* line 242, app/assets/stylesheets/cart_page.scss */
.vault-header__stat-divider {
  width: 1px;
  height: 32px;
  background: var(--cart-border);
}

/* --------------------------------------------------------------------------
   Layout Grid
   -------------------------------------------------------------------------- */
/* line 251, app/assets/stylesheets/cart_page.scss */
.vault-layout {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 1024px) {
  /* line 251, app/assets/stylesheets/cart_page.scss */
  .vault-layout {
    grid-template-columns: 1fr 360px;
    gap: 1.5rem;
    align-items: start;
  }
}

/* --------------------------------------------------------------------------
   Items Section
   -------------------------------------------------------------------------- */
/* line 266, app/assets/stylesheets/cart_page.scss */
.vault-items {
  background: var(--cart-surface);
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-lg);
  overflow: hidden;
}

/* line 273, app/assets/stylesheets/cart_page.scss */
.vault-items__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid var(--cart-border-light);
}

@media (min-width: 1024px) {
  /* line 273, app/assets/stylesheets/cart_page.scss */
  .vault-items__header {
    padding: 1.25rem 1.5rem;
  }
}

/* line 287, app/assets/stylesheets/cart_page.scss */
.vault-items__title {
  font-family: 'Inter Medium', system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--cart-text);
  margin: 0;
}

/* line 295, app/assets/stylesheets/cart_page.scss */
.vault-items__subtitle {
  font-size: 0.85rem;
  color: var(--cart-text-muted);
  margin: 0.125rem 0 0;
}

/* line 301, app/assets/stylesheets/cart_page.scss */
.vault-items__continue {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--cart-text-secondary);
  text-decoration: none;
  transition: color var(--cart-transition);
}

/* line 311, app/assets/stylesheets/cart_page.scss */
.vault-items__continue svg {
  width: 14px;
  height: 14px;
}

/* line 316, app/assets/stylesheets/cart_page.scss */
.vault-items__continue:hover {
  color: var(--cart-text);
}

/* line 321, app/assets/stylesheets/cart_page.scss */
.vault-items__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 327, app/assets/stylesheets/cart_page.scss */
.vault-items__footer {
  display: flex;
  padding: 0.75rem 1.25rem;
  border-top: 1px solid var(--cart-border-light);
  background: #FAFBFC;
}

@media (min-width: 1024px) {
  /* line 327, app/assets/stylesheets/cart_page.scss */
  .vault-items__footer {
    padding: 1rem 1.5rem;
  }
}

/* line 338, app/assets/stylesheets/cart_page.scss */
.vault-clear-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 0.875rem;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--cart-text-muted);
  text-decoration: none;
  background: transparent;
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-sm);
  transition: all var(--cart-transition);
  cursor: pointer;
}

/* line 354, app/assets/stylesheets/cart_page.scss */
.vault-clear-btn svg {
  width: 14px;
  height: 14px;
}

/* line 359, app/assets/stylesheets/cart_page.scss */
.vault-clear-btn:hover {
  color: var(--cart-danger);
  border-color: var(--cart-danger);
  background: #FEF2F2;
}

/* line 366, app/assets/stylesheets/cart_page.scss */
.vault-update-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--cart-text);
  background: var(--cart-surface);
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-sm);
  cursor: pointer;
  transition: all var(--cart-transition);
}

@media (max-width: 639px) {
  /* line 366, app/assets/stylesheets/cart_page.scss */
  .vault-update-btn {
    width: 100%;
    padding: 0.75rem 1rem;
  }
}

/* line 386, app/assets/stylesheets/cart_page.scss */
.vault-update-btn svg {
  width: 14px;
  height: 14px;
}

/* line 391, app/assets/stylesheets/cart_page.scss */
.vault-update-btn:hover:not(:disabled) {
  background: var(--cart-border-light);
  border-color: var(--cart-text-muted);
}

/* line 396, app/assets/stylesheets/cart_page.scss */
.vault-update-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* --------------------------------------------------------------------------
   Cart Item
   -------------------------------------------------------------------------- */
/* line 405, app/assets/stylesheets/cart_page.scss */
.vault-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--cart-border-light);
}

@media (min-width: 640px) {
  /* line 405, app/assets/stylesheets/cart_page.scss */
  .vault-item {
    grid-template-columns: 100px 1fr auto;
    gap: 1.25rem;
    padding: 1.25rem 1.5rem;
  }
}

@media (min-width: 768px) {
  /* line 405, app/assets/stylesheets/cart_page.scss */
  .vault-item {
    grid-template-columns: 110px 1fr 200px;
  }
}

/* line 422, app/assets/stylesheets/cart_page.scss */
.vault-item:last-child {
  border-bottom: none;
}

/* Item Image */
/* line 428, app/assets/stylesheets/cart_page.scss */
.vault-item__image {
  position: relative;
  aspect-ratio: 1;
  background: #F9FAFB;
  border-radius: var(--cart-radius-md);
  overflow: hidden;
  border: 1px solid var(--cart-border-light);
}

/* line 437, app/assets/stylesheets/cart_page.scss */
.vault-item__image-link {
  display: block;
  width: 100%;
  height: 100%;
}

/* line 443, app/assets/stylesheets/cart_page.scss */
.vault-item__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 449, app/assets/stylesheets/cart_page.scss */
.vault-item__preorder-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  padding: 0.2rem 0.4rem;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fff;
  background: var(--cart-accent);
  border-radius: 2px;
}

/* Item Details */
/* line 464, app/assets/stylesheets/cart_page.scss */
.vault-item__details {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
}

/* line 471, app/assets/stylesheets/cart_page.scss */
.vault-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

/* line 478, app/assets/stylesheets/cart_page.scss */
.vault-item__availability {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.15rem 0.4rem;
  border-radius: 2px;
  background: #F3F4F6;
  color: var(--cart-text-secondary);
}

/* line 488, app/assets/stylesheets/cart_page.scss */
.vault-item__availability.badge-in-stock {
  background: #ECFDF5;
  color: #047857;
}

/* line 493, app/assets/stylesheets/cart_page.scss */
.vault-item__availability.badge-preorder, .vault-item__availability.badge-preorderable {
  background: #EEF2FF;
  color: #4338CA;
}

/* line 499, app/assets/stylesheets/cart_page.scss */
.vault-item__availability.badge-low-stock {
  background: #FFFBEB;
  color: #B45309;
}

/* line 504, app/assets/stylesheets/cart_page.scss */
.vault-item__availability.badge-out-of-stock {
  background: #FEF2F2;
  color: #B91C1C;
}

/* line 510, app/assets/stylesheets/cart_page.scss */
.vault-item__name {
  font-family: 'Inter Medium', system-ui, sans-serif;
  font-size: 0.925rem;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}

/* line 518, app/assets/stylesheets/cart_page.scss */
.vault-item__name-link {
  color: var(--cart-text);
  text-decoration: none;
  transition: color var(--cart-transition);
}

/* line 523, app/assets/stylesheets/cart_page.scss */
.vault-item__name-link:hover {
  color: var(--cart-accent-hover);
}

/* line 528, app/assets/stylesheets/cart_page.scss */
.vault-item__variant {
  font-size: 0.8rem;
  color: var(--cart-text-secondary);
  margin: 0;
}

/* line 534, app/assets/stylesheets/cart_page.scss */
.vault-item__delivery {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.75rem;
  color: var(--cart-text-muted);
  margin-top: 0.125rem;
}

/* line 542, app/assets/stylesheets/cart_page.scss */
.vault-item__delivery svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* Preorder Info */
/* line 550, app/assets/stylesheets/cart_page.scss */
.vault-item__preorder-info {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.375rem;
  margin-top: 0.5rem;
  padding: 0.5rem 0.625rem;
  background: transparent;
  border: none;
  border-radius: var(--cart-radius-sm);
  min-width: 0;
  overflow: hidden;
}

@media (min-width: 480px) {
  /* line 550, app/assets/stylesheets/cart_page.scss */
  .vault-item__preorder-info {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
  }
}

/* line 571, app/assets/stylesheets/cart_page.scss */
.vault-item__payment-split {
  display: flex;
  gap: 0.375rem;
  min-width: 0;
  flex-shrink: 1;
}

@media (min-width: 480px) {
  /* line 571, app/assets/stylesheets/cart_page.scss */
  .vault-item__payment-split {
    gap: 1rem;
    margin-left: auto;
  }
}

/* line 583, app/assets/stylesheets/cart_page.scss */
.vault-item__payment-now,
.vault-item__payment-later {
  display: flex;
  flex-direction: column;
  gap: 0.0625rem;
  text-align: right;
}

@media (min-width: 480px) {
  /* line 583, app/assets/stylesheets/cart_page.scss */
  .vault-item__payment-now,
.vault-item__payment-later {
    text-align: left;
  }
}

/* line 595, app/assets/stylesheets/cart_page.scss */
.vault-item__payment-label {
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--cart-text-muted);
}

@media (min-width: 480px) {
  /* line 595, app/assets/stylesheets/cart_page.scss */
  .vault-item__payment-label {
    font-size: 0.6rem;
  }
}

/* line 607, app/assets/stylesheets/cart_page.scss */
.vault-item__payment-amount {
  font-size: 0.75rem;
  font-weight: 600;
  color: #5B21B6;
}

@media (min-width: 480px) {
  /* line 607, app/assets/stylesheets/cart_page.scss */
  .vault-item__payment-amount {
    font-size: 0.8rem;
  }
}

/* line 617, app/assets/stylesheets/cart_page.scss */
.vault-item__payment-later .vault-item__payment-amount {
  color: var(--cart-text-secondary);
}

/* line 621, app/assets/stylesheets/cart_page.scss */
.vault-item__eta-pill {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 500;
  color: #7C3AED;
  white-space: nowrap;
}

@media (min-width: 480px) {
  /* line 621, app/assets/stylesheets/cart_page.scss */
  .vault-item__eta-pill {
    font-size: 0.7rem;
  }
}

/* Item Actions */
/* line 634, app/assets/stylesheets/cart_page.scss */
.vault-item__actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  grid-column: 1 / -1;
  margin-top: 0.5rem;
  padding: 0.625rem 0.75rem;
  background: #F8F9FA;
  border-radius: var(--cart-radius-sm);
}

@media (min-width: 640px) {
  /* line 634, app/assets/stylesheets/cart_page.scss */
  .vault-item__actions {
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 0.625rem;
    grid-column: auto;
    margin-top: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
  }
}

/* line 659, app/assets/stylesheets/cart_page.scss */
.vault-item__price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.0625rem;
  min-width: 5.5rem;
}

@media (min-width: 640px) {
  /* line 659, app/assets/stylesheets/cart_page.scss */
  .vault-item__price {
    align-items: flex-end;
    min-width: 0;
  }
}

/* line 672, app/assets/stylesheets/cart_page.scss */
.vault-item__price-main {
  font-family: 'Inter Semibold', system-ui, sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--cart-text);
}

/* Quantity Controls */
/* line 681, app/assets/stylesheets/cart_page.scss */
.vault-quantity {
  display: inline-flex;
  align-items: center;
  background: #F9FAFB;
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-sm);
}

/* line 689, app/assets/stylesheets/cart_page.scss */
.js-enhanced-quantity {
  display: none;
}

/* line 693, app/assets/stylesheets/cart_page.scss */
html.js .js-enhanced-quantity {
  display: inline-flex;
}

/* line 697, app/assets/stylesheets/cart_page.scss */
.vault-quantity__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  border: none;
  color: var(--cart-text-secondary);
  cursor: pointer;
  transition: all var(--cart-transition);
}

/* line 709, app/assets/stylesheets/cart_page.scss */
.vault-quantity__btn svg {
  width: 12px;
  height: 12px;
}

/* line 714, app/assets/stylesheets/cart_page.scss */
.vault-quantity__btn:hover:not(:disabled) {
  background: var(--cart-border-light);
  color: var(--cart-text);
}

/* line 719, app/assets/stylesheets/cart_page.scss */
.vault-quantity__btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* line 725, app/assets/stylesheets/cart_page.scss */
.vault-quantity__input {
  width: 48px;
  height: 32px;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cart-text);
  background: #fff;
  border: none;
  border-left: 1px solid var(--cart-border);
  border-right: 1px solid var(--cart-border);
  outline: none;
  -moz-appearance: textfield;
}

/* line 739, app/assets/stylesheets/cart_page.scss */
.vault-quantity__input::-webkit-outer-spin-button, .vault-quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* line 745, app/assets/stylesheets/cart_page.scss */
.vault-quantity__input:focus {
  background: #F0F9FF;
}

/* line 750, app/assets/stylesheets/cart_page.scss */
.vault-quantity--fallback {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

/* line 757, app/assets/stylesheets/cart_page.scss */
.vault-quantity__label {
  font-size: 0.75rem;
  color: var(--cart-text-muted);
}

/* Stock Warning */
/* line 763, app/assets/stylesheets/cart_page.scss */
.vault-item__stock-warning {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--cart-warning);
  margin: 0;
}

/* line 772, app/assets/stylesheets/cart_page.scss */
.vault-item__stock-warning svg {
  width: 12px;
  height: 12px;
}

/* Remove Button */
/* line 779, app/assets/stylesheets/cart_page.scss */
.vault-item__remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: transparent;
  border: none;
  border-radius: var(--cart-radius-sm);
  color: var(--cart-text-muted);
  cursor: pointer;
  transition: all var(--cart-transition);
  margin-left: auto;
}

@media (min-width: 640px) {
  /* line 779, app/assets/stylesheets/cart_page.scss */
  .vault-item__remove {
    margin-left: 0;
  }
}

/* line 797, app/assets/stylesheets/cart_page.scss */
.vault-item__remove svg {
  width: 14px;
  height: 14px;
}

/* line 802, app/assets/stylesheets/cart_page.scss */
.vault-item__remove:hover {
  background: #FEF2F2;
  color: var(--cart-danger);
}

/* --------------------------------------------------------------------------
   Summary Sidebar
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  /* line 811, app/assets/stylesheets/cart_page.scss */
  .vault-summary {
    position: sticky;
    top: 1.5rem;
  }
}

/* line 818, app/assets/stylesheets/cart_page.scss */
.vault-summary__inner {
  background: var(--cart-surface);
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-lg);
  padding: 1.25rem;
}

@media (min-width: 640px) {
  /* line 818, app/assets/stylesheets/cart_page.scss */
  .vault-summary__inner {
    padding: 1.5rem;
  }
}

/* line 829, app/assets/stylesheets/cart_page.scss */
.vault-summary__title {
  font-family: 'Inter Medium', system-ui, sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--cart-text);
  margin: 0 0 1rem;
}

@media (max-width: 1023px) {
  /* line 829, app/assets/stylesheets/cart_page.scss */
  .vault-summary__title {
    display: none;
  }
}

@media (max-width: 1023px) {
  /* line 846, app/assets/stylesheets/cart_page.scss */
  .vault-summary .order-totals__row--subtotal,
.vault-summary .order-totals__row--primary {
    display: none;
  }
  /* line 852, app/assets/stylesheets/cart_page.scss */
  .vault-summary__commit {
    display: none;
  }
}

/* Promo Code (Collapsible) */
/* line 858, app/assets/stylesheets/cart_page.scss */
.vault-promo {
  padding-bottom: 0;
  border-bottom: none;
  margin-bottom: 0.75rem;
}

/* line 863, app/assets/stylesheets/cart_page.scss */
.vault-promo--checkout {
  margin-bottom: 0.75rem;
  padding-bottom: 0;
  border-bottom: none;
}

/* line 870, app/assets/stylesheets/cart_page.scss */
.vault-promo__toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cart-text-secondary);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

/* line 881, app/assets/stylesheets/cart_page.scss */
.vault-promo__toggle::-webkit-details-marker {
  display: none;
}

/* line 885, app/assets/stylesheets/cart_page.scss */
.vault-promo__toggle:hover {
  color: var(--cart-text);
}

/* line 890, app/assets/stylesheets/cart_page.scss */
.vault-promo__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* line 896, app/assets/stylesheets/cart_page.scss */
.vault-promo__content {
  margin-top: 0.75rem;
}

/* line 900, app/assets/stylesheets/cart_page.scss */
.vault-promo__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--cart-text-secondary);
  margin-bottom: 0.5rem;
}

/* line 908, app/assets/stylesheets/cart_page.scss */
.vault-promo__input-group {
  display: flex;
  gap: 0.5rem;
}

/* line 913, app/assets/stylesheets/cart_page.scss */
.vault-promo__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
  color: var(--cart-text);
  background: #fff;
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-sm);
  outline: none;
  transition: border-color var(--cart-transition);
}

/* line 925, app/assets/stylesheets/cart_page.scss */
.vault-promo__input::placeholder {
  color: var(--cart-text-muted);
}

/* line 929, app/assets/stylesheets/cart_page.scss */
.vault-promo__input:focus {
  border-color: var(--cart-accent);
  box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.12);
  background: #fff;
}

/* line 936, app/assets/stylesheets/cart_page.scss */
.vault-promo__btn {
  flex: 0 0 auto;
  padding: 0.625rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--cart-text-secondary);
  background: transparent;
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-sm);
  cursor: pointer;
  transition: all var(--cart-transition);
  white-space: nowrap;
}

/* line 951, app/assets/stylesheets/cart_page.scss */
.vault-promo__btn:hover {
  color: var(--cart-text);
  border-color: var(--cart-text);
  background: transparent;
}

/* Breakdown */
/* line 959, app/assets/stylesheets/cart_page.scss */
.vault-breakdown {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: 1.25rem;
}

/* line 966, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1rem;
}

/* line 972, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__row dt {
  color: var(--cart-text-secondary);
}

/* line 976, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__row dd {
  font-weight: 500;
  color: var(--cart-text);
  margin: 0;
}

/* line 984, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__row--muted dt, .vault-breakdown__row--muted dd {
  font-size: 0.875rem;
  color: var(--cart-text-muted);
  font-weight: 400;
}

@media (max-width: 1023px) {
  /* line 991, app/assets/stylesheets/cart_page.scss */
  .vault-breakdown__row--desktop-only {
    display: none;
  }
}

@media (min-width: 1024px) {
  /* line 997, app/assets/stylesheets/cart_page.scss */
  .vault-breakdown__row--mobile-only {
    display: none !important;
  }
}

/* line 1004, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__row--discount dd {
  color: var(--cart-success);
}

/* line 1009, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__preorder-split {
  margin-top: 0.25rem;
}

@media (min-width: 1024px) {
  /* line 1009, app/assets/stylesheets/cart_page.scss */
  .vault-breakdown__preorder-split {
    margin-top: 0.75rem;
  }
}

/* line 1017, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 1022, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row dt, .vault-breakdown__split-row dd {
  margin: 0;
  color: var(--cart-text);
}

/* line 1027, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row dt {
  font-size: 0.8rem;
  font-weight: 500;
}

/* line 1032, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row dd {
  font-family: 'Inter Semibold', system-ui, sans-serif;
  font-weight: 600;
}

/* line 1038, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--deposit {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid var(--cart-border);
}

/* line 1043, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--deposit dt {
  font-weight: 600;
}

/* line 1047, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--deposit dd {
  font-size: 1.125rem;
  color: var(--cart-text);
}

/* line 1054, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--remaining dt, .vault-breakdown__split-row--remaining dd {
  color: #6B7280;
}

/* line 1058, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--remaining dd {
  font-size: 0.9rem;
}

/* line 1063, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--shipping {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid var(--cart-border);
}

/* line 1068, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__split-row--shipping dt, .vault-breakdown__split-row--shipping dd {
  color: #6B7280;
  font-size: 0.8rem;
}

/* line 1074, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__shipping-free-inline {
  color: var(--cart-text-muted);
  font-weight: 500;
}

/* line 1079, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__tbd {
  font-style: normal;
  color: var(--cart-text-muted);
}

/* line 1084, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__shipping-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.25rem;
}

/* line 1091, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__shipping-free {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--cart-success);
}

/* line 1099, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__shipping-free svg {
  flex-shrink: 0;
}

/* line 1104, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__shipping-intl {
  font-size: 0.75rem;
  color: var(--cart-text-muted);
}

@media (max-width: 1023px) {
  /* line 1104, app/assets/stylesheets/cart_page.scss */
  .vault-breakdown__shipping-intl {
    display: none;
  }
}

/* line 1113, app/assets/stylesheets/cart_page.scss */
.vault-breakdown__note {
  font-size: 0.7rem;
  color: var(--cart-text-muted);
  margin: 0.125rem 0 0;
  text-align: right;
}

/* Terms and Conditions */
/* line 1121, app/assets/stylesheets/cart_page.scss */
.vault-terms {
  margin-bottom: 1rem;
  padding: 0.875rem;
  background: #F9FAFB;
  border-radius: var(--cart-radius-sm);
}

/* line 1128, app/assets/stylesheets/cart_page.scss */
.vault-terms__label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  cursor: pointer;
}

/* line 1135, app/assets/stylesheets/cart_page.scss */
.vault-terms__checkbox {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  accent-color: var(--cart-accent);
  cursor: pointer;
}

/* line 1143, app/assets/stylesheets/cart_page.scss */
.vault-terms__text {
  font-size: 1rem;
  line-height: 1.45;
  color: var(--cart-text);
}

/* line 1149, app/assets/stylesheets/cart_page.scss */
.vault-terms__link {
  color: var(--cart-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 1155, app/assets/stylesheets/cart_page.scss */
.vault-terms__error {
  margin: 0.5rem 0 0;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--cart-prompt);
}

/* line 1161, app/assets/stylesheets/cart_page.scss */
.vault-terms__error.hidden {
  display: none;
}

/* Checkout Button — hidden on mobile, sticky bar handles checkout */
/* line 1167, app/assets/stylesheets/cart_page.scss */
.vault-checkout {
  margin-bottom: 1.25rem;
}

@media (max-width: 1023px) {
  /* line 1167, app/assets/stylesheets/cart_page.scss */
  .vault-checkout {
    display: none;
  }
}

/* line 1175, app/assets/stylesheets/cart_page.scss */
.vault-checkout__btn {
  display: block;
  width: 100%;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  background: var(--cart-accent);
  border: none;
  border-radius: var(--cart-radius-sm);
  cursor: pointer;
  transition: background var(--cart-transition), opacity var(--cart-transition);
}

/* line 1191, app/assets/stylesheets/cart_page.scss */
.vault-checkout__btn:hover:not(.vault-checkout__btn--disabled) {
  background: var(--cart-accent-hover);
}

/* line 1195, app/assets/stylesheets/cart_page.scss */
.vault-checkout__btn:disabled, .vault-checkout__btn.vault-checkout__btn--disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Shipping Notes */
/* line 1204, app/assets/stylesheets/cart_page.scss */
.vault-shipping-notes {
  margin-bottom: 1rem;
  padding: 0.625rem 0.75rem;
  background: #F9FAFB;
  border-radius: var(--cart-radius-sm);
}

/* line 1211, app/assets/stylesheets/cart_page.scss */
.vault-shipping-notes__item {
  font-size: 0.75rem;
  color: var(--cart-text-secondary);
  margin: 0;
  line-height: 1.6;
}

/* Passive Terms Notice */
/* line 1219, app/assets/stylesheets/cart_page.scss */
.vault-terms-notice {
  font-size: 0.7rem;
  color: var(--cart-text-muted);
  text-align: center;
  margin: 0 0 1rem;
  line-height: 1.5;
}

/* line 1227, app/assets/stylesheets/cart_page.scss */
.vault-terms-notice__link {
  color: var(--cart-text-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 1232, app/assets/stylesheets/cart_page.scss */
.vault-terms-notice__link:hover {
  color: var(--cart-text);
}

/* Trust Signals */
/* line 1238, app/assets/stylesheets/cart_page.scss */
.vault-trust {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--cart-border-light);
}

@media (min-width: 640px) {
  /* line 1238, app/assets/stylesheets/cart_page.scss */
  .vault-trust {
    flex-direction: column;
    gap: 0.5rem;
  }
}

/* line 1252, app/assets/stylesheets/cart_page.scss */
.vault-trust__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: var(--cart-text-muted);
}

/* line 1259, app/assets/stylesheets/cart_page.scss */
.vault-trust__item svg {
  width: 14px;
  height: 14px;
  color: var(--cart-success);
  flex-shrink: 0;
}

/* line 1267, app/assets/stylesheets/cart_page.scss */
.vault-trust__payments {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  width: 100%;
  padding-top: 0.5rem;
}

/* line 1275, app/assets/stylesheets/cart_page.scss */
.vault-trust__payment-icon {
  height: 22px;
  width: auto;
  opacity: 0.55;
  transition: opacity var(--cart-transition);
}

/* line 1281, app/assets/stylesheets/cart_page.scss */
.vault-trust__payment-icon:hover {
  opacity: 0.85;
}

/* --------------------------------------------------------------------------
   Sticky Mobile Checkout Bar
   -------------------------------------------------------------------------- */
@media (max-width: 1023px) {
  /* line 1290, app/assets/stylesheets/cart_page.scss */
  .vault-terms {
    display: none;
  }
}

/* line 1296, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar {
  display: flex;
  flex-direction: column;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--cart-surface);
  border-top: 1px solid var(--cart-border);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
  z-index: 900;
}

@media (min-width: 1024px) {
  /* line 1296, app/assets/stylesheets/cart_page.scss */
  .vault-sticky-bar {
    display: none;
  }
}

/* line 1313, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__terms {
  padding: 0.75rem 1.25rem;
  border-bottom: 1px solid var(--cart-border);
}

/* line 1318, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__terms-label {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--cart-text);
  cursor: pointer;
  min-height: 3rem;
  padding: 0.5rem 0;
}

/* line 1329, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__terms-label a {
  color: var(--cart-text);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 1338, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__terms-checkbox {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  accent-color: var(--cart-accent);
}

/* line 1345, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__error {
  margin-top: 0.375rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--cart-prompt);
}

/* line 1351, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__error.hidden {
  display: none;
}

/* line 1356, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__actions {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 1.25rem 0.5rem;
}

/* line 1363, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__total {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  flex-shrink: 0;
}

/* line 1370, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__label {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cart-text-muted);
}

/* line 1378, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__amount {
  font-family: 'Inter Semibold', system-ui, sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--cart-text);
  white-space: nowrap;
}

/* line 1386, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__btn {
  flex-grow: 1;
  padding: 0.875rem 1.25rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #fff;
  background: var(--cart-accent);
  border: none;
  border-radius: var(--cart-radius-sm);
  cursor: pointer;
  transition: background var(--cart-transition);
}

/* line 1401, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__btn:hover {
  background: var(--cart-accent-hover);
}

/* line 1406, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__payments {
  padding: 0.25rem 1.25rem 0.625rem;
  padding-bottom: calc(0.625rem + env(safe-area-inset-bottom, 0px));
}

/* line 1413, app/assets/stylesheets/cart_page.scss */
.vault-sticky-bar__payments img {
  height: 24px !important;
  width: auto;
}

/* --------------------------------------------------------------------------
   Legacy Support
   -------------------------------------------------------------------------- */
/* line 1423, app/assets/stylesheets/cart_page.scss */
.cart-frame,
.cart-card {
  /* Preserve for compatibility */
}

/* Auto-save indicator */
/* line 1429, app/assets/stylesheets/cart_page.scss */
.auto-save-indicator {
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--cart-border);
  border-radius: var(--cart-radius-md);
  font-size: 13px;
  font-weight: 500;
  color: var(--cart-text);
  z-index: 1000;
  transform: translateY(100px);
  transition: all 0.3s ease;
  opacity: 0;
  box-shadow: var(--cart-shadow);
}

@media (max-width: 1023px) {
  /* line 1429, app/assets/stylesheets/cart_page.scss */
  .auto-save-indicator {
    bottom: calc(var(--cart-sticky-bar-reserve) + 1rem);
  }
}

/* line 1453, app/assets/stylesheets/cart_page.scss */
.auto-save-indicator.pending {
  transform: translateY(0);
  opacity: 1;
  background: #FFFBEB;
  border-color: #FCD34D;
  color: #B45309;
}

/* line 1461, app/assets/stylesheets/cart_page.scss */
.auto-save-indicator.saving {
  transform: translateY(0);
  opacity: 1;
  background: #EFF6FF;
  border-color: #93C5FD;
  color: #1D4ED8;
}

/* line 1469, app/assets/stylesheets/cart_page.scss */
.auto-save-indicator.saved {
  transform: translateY(0);
  opacity: 1;
  background: #ECFDF5;
  border-color: #6EE7B7;
  color: #047857;
}

/* line 1477, app/assets/stylesheets/cart_page.scss */
.auto-save-indicator.fade-out {
  opacity: 0;
  transform: translateY(20px);
}

/* line 1483, app/assets/stylesheets/cart_page.scss */
.skeleton {
  background: #E5E7EB;
  border-radius: 4px;
  animation: skeleton-pulse 1.5s ease-in-out infinite;
}

@keyframes skeleton-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

/* Hide footer on mobile for cart page (sticky bar replaces it) */
@media (max-width: 1023px) {
  /* line 1495, app/assets/stylesheets/cart_page.scss */
  body#cart .zero-variant-footer {
    display: none;
  }
}

/* Reserve space below content for the sticky bar. The bar is ~188px in
   its normal state and grows to ~234px when the terms-error pill is
   shown — reserve for the worst case so the promo above is never
   covered when the customer hits "Checkout" without consenting. */
@media (max-width: 1023px) {
  /* line 1505, app/assets/stylesheets/cart_page.scss */
  body#cart main {
    padding-bottom: var(--cart-sticky-bar-reserve);
  }
}

/* line 1, app/assets/stylesheets/order_totals_component.scss */
.order-totals {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding-bottom: 0.75rem;
}

@media (max-width: 1023px) {
  /* line 1, app/assets/stylesheets/order_totals_component.scss */
  .order-totals {
    border-top: 1px solid #e5e7eb;
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    padding-bottom: 0;
  }
}

/* line 15, app/assets/stylesheets/order_totals_component.scss */
.order-totals__section {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

/* line 21, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 26, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row dt, .order-totals__row dd {
  margin: 0;
  font-size: 0.875rem;
  color: #1a1a2e;
}

/* line 32, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row dt {
  font-weight: 500;
}

/* line 36, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row dd {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 43, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--primary dt {
  font-size: 1rem;
  font-weight: 600;
}

/* line 48, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--primary dd {
  font-size: 1rem;
  font-weight: 700;
}

@media (min-width: 1024px) {
  /* line 48, app/assets/stylesheets/order_totals_component.scss */
  .order-totals__row--primary dd {
    font-size: 1.25rem;
  }
}

/* line 61, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--muted dt, .order-totals__row--muted dd {
  font-size: 0.875rem;
  font-weight: 400;
  color: #6b7280;
}

/* line 68, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--highlight {
  background: #f9fafb;
  margin: 0 -0.75rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.375rem;
}

/* line 75, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--divider {
  padding-top: 0.75rem;
  margin-top: 0.25rem;
  border-top: 1px solid #e5e7eb;
}

/* line 81, app/assets/stylesheets/order_totals_component.scss */
.order-totals__note {
  font-weight: 400;
  font-size: 0.75rem;
  color: #9ca3af;
}

/* line 87, app/assets/stylesheets/order_totals_component.scss */
.order-totals__free-shipping {
  color: #059669;
  font-weight: 600;
}

/* line 95, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--shipping dt, .order-totals__row--shipping dd {
  font-size: 0.9375rem;
}

/* line 100, app/assets/stylesheets/order_totals_component.scss */
.order-totals__shipping-note {
  color: #9ca3af;
  font-size: 0.8125rem;
}

/* line 105, app/assets/stylesheets/order_totals_component.scss */
.order-totals__row--mobile-only {
  display: none;
}

@media (max-width: 1023px) {
  /* line 105, app/assets/stylesheets/order_totals_component.scss */
  .order-totals__row--mobile-only {
    display: flex;
  }
}

@media (max-width: 1023px) {
  /* line 113, app/assets/stylesheets/order_totals_component.scss */
  .order-totals__row--desktop-only {
    display: none;
  }
}

/* line 1, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

/* line 7, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__image {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  overflow: visible;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fafafa;
  position: relative;
}

/* line 17, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display--compact .order-item-display__image {
  width: 64px;
  height: 64px;
}

/* line 23, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__qty-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 50%;
  background: #06b6d4;
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 20px;
  text-align: center;
  z-index: 1;
}

/* line 40, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__image-link {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 9px;
}

/* line 48, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 54, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__no-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #9ca3af;
}

/* line 66, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 74, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 81, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__badge {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  background: #f3f4f6;
  color: #6b7280;
}

/* line 92, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__eta {
  font-size: 0.75rem;
  font-weight: 500;
  color: #7c3aed;
}

/* line 98, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__name {
  font-size: 0.875rem;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0;
  line-height: 1.4;
}

/* line 106, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__name--compact {
  font-size: 0.8125rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 114, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__name-link {
  color: inherit;
  text-decoration: none;
}

/* line 119, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__qty {
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6b7280;
}

/* line 127, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__price {
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 133, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__price-main {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1a1a2e;
}

/* line 140, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__price-label {
  font-weight: 400;
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 146, app/assets/stylesheets/order_item_display_component.scss */
.order-item-display__price-sub {
  display: block;
  font-size: 0.6875rem;
  color: #9ca3af;
}
