.storefront-cart-drawer .storefront-cart-item-card {
  display: grid;
  gap: 8px;
  height: auto;
  min-height: 0;
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-surface-muted);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  padding: 12px;
}

.storefront-cart-drawer .storefront-cart-item-main {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.storefront-cart-drawer .storefront-cart-item-media {
  width: 92px;
  height: 106px;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(180deg, var(--sf-ext-color-exact-xefe9b7) 0%, var(--sf-ext-color-exact-xd8ddb0) 100%);
}

.storefront-cart-drawer .storefront-cart-item-image-fallback,
.storefront-cart-drawer .storefront-cart-cross-sell-fallback {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, var(--sf-ext-color-exact-xdce6ec) 0%, var(--sf-ext-color-exact-xbed2db) 100%);
}

.storefront-cart-drawer .storefront-cart-item-copy {
  position: relative;
  min-width: 0;
  display: grid;
  align-content: start;
  justify-content: start;
  gap: 6px;
}

.storefront-cart-drawer .storefront-cart-item-title-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  gap: 12px;
  align-items: start;
}

.storefront-cart-drawer .storefront-cart-item-meta-group,
.storefront-cart-drawer .storefront-cart-item-price-row,
.storefront-cart-drawer .storefront-cart-item-secondary-meta,
.storefront-cart-drawer .storefront-cart-item-status-badge,
.storefront-cart-drawer .storefront-cart-item-delivery-copy {
  margin-right: 108px;
}

.storefront-cart-drawer .storefront-cart-item-variant-pill {
  min-height: 24px;
  border-radius: 13px;
  background: var(--sf-color-surface-muted);
  padding: 4px 8px;
}

.storefront-cart-drawer .storefront-cart-item-controls {
  position: absolute;
  right: 0;
  top: 40px;
  display: inline-flex;
  align-items: center;
  justify-self: auto;
  min-height: 34px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 40px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  background: var(--sf-color-surface);
  padding: 0 8px;
  gap: 6px;
}

.storefront-cart-drawer .storefront-cart-item-checkout-warning {
  margin: 0;
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 12px;
  line-height: 1;
  margin-left: 2px;
  padding-left: 10px;
  border-left: 1px solid var(--sf-ext-color-exact-xc8b5c1);
  cursor: pointer;
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap-remove:disabled {
  cursor: default;
  opacity: 0.6;
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift {
  background:
    linear-gradient(90deg, var(--sf-color-brand-soft) 0%, color-mix(in srgb, var(--sf-color-brand-soft) 0%, transparent) 100%),
    var(--sf-color-surface);
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift .storefront-cart-item-main {
  align-items: stretch;
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift .storefront-cart-item-copy {
  padding: 6px 0;
}

.storefront-cart-drawer .storefront-cart-shipping-card,
.storefront-cart-drawer .storefront-cart-wallet-card,
.storefront-cart-drawer .storefront-cart-gst-card,
.storefront-cart-drawer .storefront-cart-bill-breakdown {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-surface-muted);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  padding: 12px;
}

.storefront-cart-drawer .storefront-cart-wallet-icon svg,
.storefront-cart-drawer .storefront-cart-shipping-icon svg,
.storefront-cart-drawer .storefront-cart-icon-mask {
  width: 20px;
  height: 20px;
}

.storefront-cart-drawer .storefront-cart-icon-mask {
  display: block;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 20px 20px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 20px 20px;
}

.storefront-cart-drawer .storefront-cart-icon-mask.is-delivery {
  mask-image: url("/icons/cart/benefit-delivery.png");
  -webkit-mask-image: url("/icons/cart/benefit-delivery.png");
}

.storefront-cart-drawer .storefront-cart-icon-mask.is-wallet {
  mask-image: url("/icons/cart/wallet.png");
  -webkit-mask-image: url("/icons/cart/wallet.png");
}

.storefront-cart-drawer .storefront-cart-gst-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.storefront-cart-drawer .storefront-cart-gst-form {
  margin-top: 12px;
}

.storefront-cart-drawer .storefront-cart-cross-sell {
  display: grid;
  gap: 12px;
  border: 0;
  background: transparent;
  padding: 0;
}

.storefront-cart-drawer .storefront-cart-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.storefront-cart-drawer .storefront-cart-tabs button {
  flex: 0 0 auto;
}

.storefront-cart-drawer .storefront-cart-cross-sell-grid {
  display: grid;
  gap: 12px;
}

.storefront-cart-drawer .storefront-cart-cross-sell-card {
  display: grid;
  gap: 4px;
}

.storefront-cart-drawer .storefront-cart-cross-sell-thumb {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 92 / 106;
  background: linear-gradient(180deg, var(--sf-ext-color-exact-xdce6ec) 0%, var(--sf-ext-color-exact-xbed2db) 100%);
}

.storefront-cart-drawer .storefront-cart-cross-sell-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-card {
  border: 0;
  border-bottom: 1px solid var(--sf-color-surface-muted);
  border-radius: 0;
  box-shadow: none;
  padding: 12px 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-card.is-free-gift {
  margin-top: 8px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-copy {
  padding-top: 2px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-cross-sell-grid {
  grid-auto-flow: column;
  grid-auto-columns: 92px;
  overflow-x: auto;
}

.storefront-cart-drawer.is-desktop .storefront-cart-item-card {
  padding: 12px 16px;
}

.storefront-cart-drawer.is-desktop .storefront-cart-item-copy {
  padding-top: 0;
  margin-right: 0;
}

.storefront-cart-drawer.is-desktop .storefront-cart-item-meta-group,
.storefront-cart-drawer.is-desktop .storefront-cart-item-price-row,
.storefront-cart-drawer.is-desktop .storefront-cart-item-secondary-meta,
.storefront-cart-drawer.is-desktop .storefront-cart-item-status-badge,
.storefront-cart-drawer.is-desktop .storefront-cart-item-delivery-copy {
  margin-right: 120px;
}

.storefront-cart-drawer.is-desktop .storefront-cart-item-controls {
  top: 44px;
}

.storefront-cart-drawer.is-desktop .storefront-cart-cross-sell-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.storefront-cart-drawer .storefront-cart-items {
  gap: 12px;
}

.storefront-cart-drawer .storefront-cart-item-card {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-surface-muted);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  padding: 12px;
  display: grid;
  gap: 8px;
}

.storefront-cart-drawer .storefront-cart-item-main {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
}

.storefront-cart-drawer .storefront-cart-item-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-content: start;
}

.storefront-cart-drawer .storefront-cart-item-title {
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-item-title-row {
  gap: 12px;
  align-items: start;
}

.storefront-cart-drawer .storefront-cart-item-title-row button {
  width: 16px;
  height: 16px;
  color: var(--sf-color-text-muted);
  font-size: 18px;
  line-height: 1;
}

.storefront-cart-drawer .storefront-cart-item-meta-group {
  display: grid;
  gap: 6px;
}

.storefront-cart-drawer .storefront-cart-item-variant-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.storefront-cart-drawer .storefront-cart-item-low-stock,
.storefront-cart-drawer .storefront-cart-item-variant-help {
  color: var(--sf-color-background-decorative-peach-main);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-item-low-stock {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.storefront-cart-drawer .storefront-cart-item-variant-help {
  margin: 0;
  color: var(--sf-color-status-success-accent);
}

.storefront-cart-drawer .storefront-cart-item-price-row p {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-item-compare-price {
  color: var(--sf-color-text-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-item-return-copy,
.storefront-cart-drawer .storefront-cart-item-delivery-copy {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-drawer .storefront-cart-item-status-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 14px;
  padding: 0 8px 0 6px;
  min-height: 20px;
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-item-status-badge.is-error {
  background: var(--sf-color-status-error-surface);
  color: var(--sf-color-status-error-accent);
}

.storefront-cart-drawer .storefront-cart-item-status-badge.is-success {
  background: var(--sf-color-status-success-surface);
  color: var(--sf-color-status-success-accent);
}

.storefront-cart-drawer .storefront-cart-item-controls {
  justify-self: end;
  min-height: 34px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 40px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  background: var(--sf-color-surface);
  padding: 0 8px;
  gap: 6px;
}

.storefront-cart-drawer .storefront-cart-item-controls button {
  width: 24px;
  height: 24px;
  background: transparent;
}

.storefront-cart-drawer .storefront-cart-item-checkout-warning {
  margin: 0;
  color: var(--sf-color-status-error-accent);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-item-checkout-warning::before {
  content: "•";
  margin-right: 4px;
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 10px;
  background: var(--sf-color-background-decorative-magenta-base);
  color: var(--sf-color-background-decorative-magenta-main);
  min-height: 22px;
  padding: 2px 8px;
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap-copy .storefront-cart-item-inline-icon {
  width: 12px;
  height: 12px;
  color: var(--sf-color-background-decorative-magenta-main);
}

.storefront-cart-drawer .storefront-cart-item-gift-wrap button {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font-size: 12px;
  line-height: 1;
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift {
  background:
    linear-gradient(90deg, var(--sf-color-brand-soft) 0%, color-mix(in srgb, var(--sf-color-brand-soft) 0%, transparent) 100%),
    var(--sf-color-surface);
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift .storefront-cart-item-copy {
  align-content: space-between;
  padding: 6px 0;
}

.storefront-cart-drawer .storefront-cart-item-copy-stack {
  display: grid;
  gap: 6px;
}

.storefront-cart-drawer .storefront-cart-item-gift-badge {
  width: fit-content;
  min-height: 20px;
  border-radius: 13px;
  background: var(--sf-ref-color-yellow-50);
  color: var(--sf-color-text-primary);
  padding: 2px 8px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-item-gift-label {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-free-gift-item-ribbon {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: calc(100% + 2px);
  height: 27px;
  max-height: 28px;
  display: block;
  pointer-events: none;
  transform: translateX(-50%);
  background: url("/images/cart/free-gift/ribbon.png") center / 100% 100% no-repeat;
  box-shadow: 0 1px 2px var(--sf-ref-color-opacity-black-25);
}

.storefront-cart-drawer .storefront-cart-free-gift-item-ribbon-bow {
  display: none;
}

.storefront-cart-drawer .storefront-cart-panel,
.storefront-cart-drawer .storefront-cart-shipping-card,
.storefront-cart-drawer .storefront-cart-wallet-card,
.storefront-cart-drawer .storefront-cart-gst-card,
.storefront-cart-drawer .storefront-cart-bill-breakdown {
  border: 1px solid var(--sf-color-surface-muted);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  background: var(--sf-color-surface);
  padding: 12px;
}

.storefront-cart-drawer .storefront-cart-card-eyebrow {
  color: var(--sf-color-text-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-shipping-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.storefront-cart-drawer .storefront-cart-shipping-icon,
.storefront-cart-drawer .storefront-cart-wallet-icon {
  width: 20px;
  height: 20px;
  color: var(--sf-color-input-success);
}

.storefront-cart-drawer .storefront-cart-shipping-icon {
  align-self: center;
}

.storefront-cart-drawer .storefront-cart-shipping-copy {
  display: grid;
  gap: 2px;
}

.storefront-cart-drawer .storefront-cart-delivery-section.is-applied .storefront-cart-shipping-copy {
  gap: 0;
}

.storefront-cart-drawer .storefront-cart-shipping-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.storefront-cart-drawer .storefront-cart-shipping-title,
.storefront-cart-drawer .storefront-cart-shipping-price {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-shipping-subtitle {
  margin: 0;
  color: var(--sf-color-status-error-accent);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-wallet-row {
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding-top: 12px;
  gap: 8px;
}

.storefront-cart-drawer .storefront-cart-wallet-row.is-logged-out {
  align-items: center;
}

.storefront-cart-drawer .storefront-cart-wallet-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.storefront-cart-drawer .storefront-cart-wallet-toggle:disabled {
  cursor: default;
  opacity: 0.6;
}

.storefront-cart-drawer .storefront-cart-checkbox {
  width: 20px;
  height: 20px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sf-color-surface);
  flex-shrink: 0;
}

.storefront-cart-drawer .storefront-cart-checkbox.is-checked {
  border-color: var(--sf-ref-color-blue-100);
  background: var(--sf-ref-color-blue-100);
}

.storefront-cart-drawer .storefront-cart-checkbox svg {
  width: 12px;
  height: 12px;
}

.storefront-cart-drawer .storefront-cart-wallet-title {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-wallet-subtitle {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-wallet-login {
  min-width: 88px;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid var(--sf-ext-color-exact-x8f8a85);
  border-radius: 12px;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-drawer .storefront-cart-tabs button {
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid var(--sf-color-border-subtle);
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  background: var(--sf-color-surface);
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-tabs button.is-active {
  background: var(--sf-color-text-primary);
  border-color: var(--sf-color-text-primary);
  color: var(--sf-color-surface);
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-cross-sell {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.storefront-cart-drawer .storefront-cart-cross-sell-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 92px;
  gap: 12px;
  overflow-x: auto;
}

.storefront-cart-drawer .storefront-cart-cross-sell-card {
  display: grid;
  gap: 4px;
  background: transparent;
  border-radius: 0;
}

.storefront-cart-drawer .storefront-cart-cross-sell-thumb {
  position: relative;
  aspect-ratio: 92 / 106;
  border-radius: 8px;
  overflow: hidden;
}

.storefront-cart-drawer .storefront-cart-cross-sell-add {
  position: absolute;
  right: 6px;
  bottom: 6px;
  border: 0;
  border-radius: 6px;
  background: var(--sf-color-surface);
  box-shadow: 0 1px 2px var(--sf-ext-color-alpha-x33251925);
  min-height: 24px;
  padding: 4px 8px;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-cross-sell-price-row {
  gap: 4px;
}

.storefront-cart-drawer .storefront-cart-cross-sell-price-row p {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-cross-sell-price-row span {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 12px;
  font-weight: 300;
  text-decoration: line-through;
}

.storefront-cart-drawer .storefront-cart-gst-toggle {
  display: flex;
  gap: 8px;
  align-items: start;
  margin: 0;
  cursor: pointer;
}

.storefront-cart-drawer .storefront-cart-gst-toggle input {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--sf-ref-color-blue-100);
}

.storefront-cart-drawer .storefront-cart-gst-copy {
  display: grid;
  gap: 2px;
}

.storefront-cart-drawer .storefront-cart-gst-copy span:first-child {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-gst-copy span:last-child {
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-gst-form {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.storefront-cart-drawer .storefront-cart-gst-form label {
  display: grid;
  gap: 2px;
}

.storefront-cart-drawer .storefront-cart-gst-form label span {
  color: var(--sf-color-text-secondary);
  opacity: 0.8;
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-gst-form input {
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  min-height: 44px;
  padding: 12px 16px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-gst-form input::placeholder {
  color: var(--sf-color-text-muted);
}

.storefront-cart-drawer .storefront-cart-bill-breakdown {
  display: grid;
  gap: 8px;
}

.storefront-cart-drawer .storefront-cart-bill-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-bill-copy {
  display: grid;
  gap: 2px;
}

.storefront-cart-drawer .storefront-cart-bill-copy small {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-bill-breakdown .is-positive {
  color: var(--sf-color-status-success-accent);
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-bill-strike {
  color: var(--sf-color-text-muted);
  text-decoration: line-through;
  margin-right: 4px;
}

.storefront-cart-drawer .storefront-cart-bill-divider-top {
  border-top: 1px solid var(--sf-color-surface-muted);
  padding-top: 8px;
}

.storefront-cart-drawer .storefront-cart-payable-row {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  border-top: 1px solid var(--sf-color-surface-muted);
  padding-top: 8px;
}

.storefront-cart-drawer .storefront-cart-payable-row p {
  font-weight: 500 !important;
  font-size: 14px;
}

.storefront-cart-drawer .storefront-cart-payable-label {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.storefront-cart-drawer .storefront-cart-payable-note {
  color: var(--sf-color-text-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-total-savings {
  background: var(--sf-color-status-success-surface);
  border-radius: 6px;
  color: var(--sf-color-status-success-text);
  padding: 2px 8px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-drawer.is-mobile .storefront-cart-items,
.storefront-cart-drawer.is-mobile .storefront-cart-support-zone {
  margin: 0 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-card {
  border-radius: 12px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-copy {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title title"
    "meta controls"
    "price controls"
    "secondary controls"
    "badge controls";
  column-gap: 12px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-title-row {
  grid-area: title;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-meta-group {
  grid-area: meta;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-price-row {
  grid-area: price;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-secondary-meta {
  grid-area: secondary;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-status-badge {
  grid-area: badge;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-controls {
  grid-area: controls;
  align-self: center;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-card.is-free-gift {
  margin-top: 8px;
}

@media (min-width: 1024px) {
  .storefront-cart-drawer.is-desktop .storefront-cart-items,
  .storefront-cart-drawer.is-desktop .storefront-cart-support-zone {
    margin: 0;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-card {
    gap: 12px;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-main {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-copy {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title controls"
      "meta controls"
      "price controls"
      "secondary controls"
      "badge controls";
    align-items: start;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-title-row {
    grid-area: title;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-meta-group {
    grid-area: meta;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-price-row {
    grid-area: price;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-secondary-meta {
    grid-area: secondary;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-status-badge {
    grid-area: badge;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-controls {
    grid-area: controls;
    align-self: center;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-item-card.is-free-gift {
    padding: 12px;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-cross-sell-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-columns: unset;
    overflow: visible;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-cross-sell-card {
    background: transparent;
  }
}

.storefront-cart-drawer .storefront-cart-item-group {
  display: grid;
  gap: 10px;
}

.storefront-cart-drawer .storefront-cart-free-gift-items + .storefront-cart-paid-items {
  margin-top: 6px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser {
  display: grid;
  gap: 0;
  border-radius: 12px;
  background: var(--sf-color-surface);
  overflow: hidden;
}

.storefront-cart-drawer.is-desktop .storefront-cart-free-gift-teaser {
  border: 1px solid var(--sf-color-surface-muted);
  box-shadow: 0 4px 4px var(--sf-ext-color-shadow-base);
}

.storefront-cart-drawer.is-mobile .storefront-cart-free-gift-teaser {
  border: 0;
  box-shadow: none;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-main {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  padding: 8px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-media {
  width: 80px;
  height: 92px;
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(180deg, var(--sf-ext-color-exact-xdce6ec) 0%, var(--sf-ext-color-exact-xbed2db) 100%);
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy {
  min-width: 0;
  display: grid;
  align-self: stretch;
  align-content: space-between;
  gap: 6px;
  padding: 6px 0;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy p,
.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy small {
  margin: 0;
  color: var(--sf-color-text-primary);
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy p {
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy small {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-copy {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-top: 1px solid var(--sf-color-surface-muted);
  padding: 8px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-copy > span[aria-hidden="true"] {
  width: 16px;
  height: 16px;
  display: inline-flex;
  color: var(--sf-color-text-primary);
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-copy > span[aria-hidden="true"] svg {
  width: 100%;
  height: 100%;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-primary,
.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-secondary {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-primary {
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-secondary {
  font-weight: 300;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-group {
  gap: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-free-gift-items + .storefront-cart-paid-items {
  margin-top: 10px;
}

.storefront-cart-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: color-mix(in srgb, var(--sf-color-surface) 92%, var(--sf-ref-color-opacity-black-100) 8%);
}

.storefront-cart-drawer-shell {
  width: 100%;
  height: 100%;
  max-width: 100%;
  overflow-x: hidden;
  animation: storefront-cart-drawer-enter 220ms ease-out;
}

.storefront-cart-drawer {
  height: 100%;
  max-width: 100%;
  background: var(--sf-color-surface-muted);
  color: var(--sf-color-text-primary);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  position: relative;
  overflow: hidden;
}

.storefront-cart-drawer-header {
  min-height: 56px;
  padding: 8px 16px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--sf-color-border-subtle);
  background: var(--sf-color-surface);
  position: sticky;
  top: 0;
  z-index: 6;
}

.storefront-cart-drawer-close {
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
}

.storefront-cart-drawer-title {
  margin: 0;
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
}

.storefront-cart-drawer-body {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: grid;
  align-content: start;
  gap: 12px;
}

.storefront-cart-drawer.is-sheet-open .storefront-cart-drawer-body {
  overflow: hidden;
}

.storefront-cart-drawer .storefront-cart-items,
.storefront-cart-drawer .storefront-cart-support-zone,
.storefront-cart-drawer .storefront-mobile-cart-post-items,
.storefront-cart-drawer .storefront-cart-drawer-footer {
  min-width: 0;
  max-width: 100%;
}

.storefront-cart-drawer .storefront-cart-payment-row > * {
  min-width: 0;
}

.storefront-cart-status,
.storefront-cart-error {
  margin: 0;
  padding: 14px;
  border-radius: 12px;
  background: var(--sf-color-surface);
}

.storefront-cart-error {
  color: var(--sf-ext-color-exact-xb03a2e);
}

.storefront-cart-page-loading {
  display: grid;
  gap: 16px;
  width: 100%;
}

.storefront-cart-page-loading.is-embedded {
  padding: 0;
}

.storefront-cart-page-loading-main,
.storefront-cart-page-loading-summary {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 12px;
}

.storefront-cart-page-loading-summary {
  border: 1px solid var(--sf-ref-color-grayscale-20);
  border-radius: 16px;
  padding: 14px;
  background: var(--sf-color-surface);
}

.storefront-cart-page-loading-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--sf-ref-color-grayscale-20);
  border-radius: 16px;
  background: var(--sf-color-surface);
}

.storefront-cart-page-loading-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
}

.storefront-cart-page-loading-media,
.storefront-cart-page-loading-line,
.storefront-cart-page-loading-row,
.storefront-cart-page-loading-button {
  display: block;
  overflow: hidden;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--sf-ref-color-opacity-black-100) 5%, transparent),
    color-mix(in srgb, var(--sf-ref-color-opacity-black-100) 9%, transparent),
    color-mix(in srgb, var(--sf-ref-color-opacity-black-100) 5%, transparent)
  );
  background-size: 200% 100%;
  animation: storefront-cart-page-shimmer 1.15s linear infinite;
}

.storefront-cart-page-loading-media {
  width: 88px;
  aspect-ratio: 1;
  border-radius: 12px;
}

.storefront-cart-page-loading-line,
.storefront-cart-page-loading-row {
  height: 10px;
  border-radius: 999px;
}

.storefront-cart-page-loading-line.is-title {
  width: 118px;
  height: 16px;
}

.storefront-cart-page-loading-line.is-item-title {
  width: 84%;
  height: 12px;
}

.storefront-cart-page-loading-line.is-item-meta {
  width: 56%;
}

.storefront-cart-page-loading-line.is-item-price {
  width: 40%;
  height: 12px;
}

.storefront-cart-page-loading-line.is-summary-title {
  width: 132px;
  height: 14px;
}

.storefront-cart-page-loading-row {
  width: 100%;
}

.storefront-cart-page-loading-row:nth-child(3) {
  width: 72%;
}

.storefront-cart-page-loading-button {
  width: 100%;
  height: 44px;
  border-radius: 8px;
}

.storefront-checkout-selection-loading {
  min-height: 100svh;
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 16px;
  background: var(--sf-color-surface);
}

.storefront-checkout-selection-loading-panel,
.storefront-checkout-selection-loading-summary {
  display: grid;
  gap: 16px;
  min-width: 0;
  border: 1px solid var(--sf-ref-color-grayscale-20);
  border-radius: 16px;
  background: var(--sf-color-surface);
  padding: 16px;
}

.storefront-checkout-selection-loading-header,
.storefront-checkout-selection-loading-options,
.storefront-checkout-selection-loading-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.storefront-checkout-selection-loading-option {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  border-bottom: 1px solid var(--sf-ref-color-grayscale-10);
}

.storefront-checkout-selection-loading-option:last-child {
  border-bottom: 0;
}

.storefront-checkout-selection-loading-logo,
.storefront-checkout-selection-loading-line,
.storefront-checkout-selection-loading-radio,
.storefront-checkout-selection-loading-button {
  display: block;
  overflow: hidden;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--sf-ref-color-opacity-black-100) 5%, transparent),
    color-mix(in srgb, var(--sf-ref-color-opacity-black-100) 9%, transparent),
    color-mix(in srgb, var(--sf-ref-color-opacity-black-100) 5%, transparent)
  );
  background-size: 200% 100%;
  animation: storefront-cart-page-shimmer 1.15s linear infinite;
}

.storefront-checkout-selection-loading-logo {
  width: 40px;
  height: 40px;
  border-radius: 10px;
}

.storefront-checkout-selection-loading-line {
  width: 100%;
  height: 10px;
  border-radius: 999px;
}

.storefront-checkout-selection-loading-line.is-title {
  width: min(68%, 280px);
  height: 18px;
}

.storefront-checkout-selection-loading-line.is-subtitle {
  width: min(52%, 220px);
}

.storefront-checkout-selection-loading-line.is-option-title {
  width: 74%;
  height: 14px;
}

.storefront-checkout-selection-loading-line.is-option-meta {
  width: 48%;
}

.storefront-checkout-selection-loading-line.is-summary-title {
  width: 132px;
  height: 14px;
}

.storefront-checkout-selection-loading-radio {
  width: 20px;
  height: 20px;
  border-radius: 999px;
}

.storefront-checkout-selection-loading-button {
  width: 100%;
  height: 48px;
  border-radius: 10px;
}

@keyframes storefront-cart-page-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.storefront-cart-panel,
.storefront-cart-wallet-card,
.storefront-cart-gst-card,
.storefront-cart-bill-breakdown {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  padding: 14px;
}

.storefront-cart-empty-layout {
  display: grid;
  align-content: start;
  gap: 16px;
}

.storefront-cart-empty-state {
  display: grid;
  justify-items: center;
  gap: 18px;
  width: 100%;
  max-width: 328px;
  margin: 0 auto;
  padding: 4px 0 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.storefront-cart-empty-image-frame,
.storefront-cart-empty-illustration {
  --sf-color-cart-empty-illustration-outline: var(--sf-ext-color-exact-x6e7289);
  --sf-color-cart-empty-illustration-muted: var(--sf-ext-color-exact-xc4c7d3);
  --sf-color-cart-empty-illustration-surface: var(--sf-ext-color-exact-xf8f8f8);
  --sf-color-cart-empty-illustration-accent: var(--sf-ext-color-exact-xd18b13);
  width: 128px;
  height: 128px;
}

.storefront-cart-empty-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.storefront-cart-empty-illustration svg {
  width: 100%;
  height: 100%;
}

.storefront-cart-empty-copy-block {
  display: grid;
  gap: 6px;
  justify-items: center;
  width: 100%;
  text-align: center;
}

.storefront-cart-empty-title {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
}

.storefront-cart-empty-copy {
  margin: 0;
  color: var(--sf-ref-color-grayscale-60);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 14px;
  font-weight: var(--sf-ref-type-weight-light);
  line-height: 20px;
  text-align: center;
  white-space: pre-line;
}

.storefront-cart-empty-home-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: min(100%, 196px);
  padding: 11px 18px;
  border: 1px solid var(--sf-ext-color-exact-xd5d1c8);
  border-radius: 12px;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-weight: var(--sf-ref-type-weight-medium);
  font-size: 15px;
  line-height: 20px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 1px 2px var(--sf-ext-color-alpha-x33251906);
}

.storefront-cart-empty-home-link:focus-visible {
  outline: 2px solid var(--sf-color-focus);
  outline-offset: 2px;
}

.storefront-empty-cart-wishlist-section {
  display: grid;
  gap: 8px;
  width: 100%;
}

.storefront-empty-cart-wishlist-title {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 16px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 20px;
}

.storefront-empty-cart-wishlist-rows {
  display: grid;
  gap: 12px;
}

.storefront-empty-cart-wishlist-row {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  list-style: none;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}

.storefront-empty-cart-wishlist-row::-webkit-scrollbar {
  display: none;
}

.storefront-empty-cart-wishlist-item {
  flex: 0 0 92px;
  width: 92px;
  min-width: 92px;
  max-width: 92px;
}

.storefront-empty-cart-wishlist-card {
  position: relative;
  width: 92px;
  min-width: 92px;
  max-width: 92px;
  gap: 4px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-media {
  width: 92px;
  aspect-ratio: 92 / 106;
  border-radius: 8px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-image-link,
.storefront-empty-cart-wishlist-card .sf-product-card-body {
  width: 92px;
  min-width: 0;
}

.storefront-empty-cart-wishlist-card .sf-product-card-image,
.storefront-empty-cart-wishlist-card .sf-product-card-image-placeholder {
  border-radius: 8px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-body {
  gap: 0;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-price-link {
  display: block;
  width: 100%;
  max-width: none;
  color: inherit;
}

.storefront-empty-cart-wishlist-card .sf-product-card-price-row-homepage {
  width: 100%;
  gap: 2px;
  align-items: flex-end;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.storefront-empty-cart-wishlist-card .sf-product-card-price {
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 14px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 20px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-compare-price {
  color: var(--sf-ref-color-grayscale-60);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-light);
  line-height: 12px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-cart-slot {
  position: absolute;
  right: 0;
  top: 88px;
  bottom: auto;
  z-index: 3;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 4px 0 0 4px;
  border-top-left-radius: 8px;
  background: var(--sf-color-surface);
  overflow: hidden;
  pointer-events: none;
}

.storefront-empty-cart-wishlist-card.is-sold-out .sf-product-card-homepage-cart-slot {
  display: none;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-cart-button {
  min-width: 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 4px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend, var(--sf-font-sans));
  font-size: 12px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 16px;
  box-shadow: none;
  pointer-events: auto;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-cart-button svg {
  width: 16px;
  height: 16px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-cart-button:not(:disabled) .sf-product-card-homepage-cart-button-label {
  display: none;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-cart-button:disabled {
  min-width: 24px;
  width: auto;
  padding-inline: 8px;
  gap: 4px;
}

.storefront-empty-cart-wishlist-card .sf-product-card-homepage-error {
  margin-top: 4px;
  max-width: 100%;
  color: var(--sf-color-text-error-primary);
  font-size: 10px;
  line-height: 12px;
}

.storefront-cart-empty-slot-stack {
  display: grid;
  gap: 12px;
  width: 100%;
}

.storefront-cart-empty-divider {
  width: 100%;
  height: 8px;
  background: var(--sf-color-surface-muted);
}

.storefront-cart-empty-slot-stack > * {
  width: 100%;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid {
  --cms-v1-category-tile-gap: 12px;
  --cms-v1-category-tile-item-width: 112px;
  --cms-v1-category-tile-image-size: 112px;
  --cms-v1-category-tile-label-width: 112px;
  --cms-v1-category-tile-label-font-size: 14px;
  --cms-v1-category-tile-label-line-height: 20px;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid .cms-v1-content-wrap {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding-inline: 0;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-title {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-large);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-24);
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-mobile-peek {
  display: none;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-layout {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--cms-v1-category-tile-item-width);
  grid-template-columns: none;
  justify-content: start;
  column-gap: 20px;
  row-gap: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-layout::-webkit-scrollbar {
  display: none;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-layout-desktop-only {
  display: grid;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-item {
  display: grid;
  width: var(--cms-v1-category-tile-item-width);
  justify-items: center;
  justify-self: start;
  align-content: start;
  gap: var(--cms-v1-category-tile-gap);
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-image-wrap {
  width: var(--cms-v1-category-tile-image-size);
  height: var(--cms-v1-category-tile-image-size);
  border-radius: 34px;
  overflow: hidden;
  background: var(--sf-color-surface-muted);
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-label {
  display: block;
  width: var(--cms-v1-category-tile-label-width);
  color: var(--sf-color-text-neutral-primary);
  font-family: "Poppins", var(--sf-font-sans);
  font-size: var(--cms-v1-category-tile-label-font-size);
  font-weight: 400;
  line-height: var(--cms-v1-category-tile-label-line-height);
  text-align: center;
  text-wrap: balance;
}

.storefront-cart-savings-banner {
  min-height: 36px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 10px;
  background: color-mix(in srgb, var(--sf-color-brand-soft) 62%, var(--sf-color-surface) 38%);
  color: color-mix(in srgb, var(--sf-color-brand-accent) 58%, var(--sf-color-text-primary) 42%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  font-weight: 600;
  font-size: 14px;
}

.storefront-cart-items {
  display: grid;
  gap: 10px;
}

.storefront-cart-item-card {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  padding: 10px;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
}

.storefront-cart-item-media {
  position: relative;
  width: 88px;
  height: 88px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--sf-color-input-disabled);
}

.storefront-cart-item-media.is-sold-out img {
  filter: grayscale(1) saturate(0.2);
}

.storefront-cart-item-media img,
.storefront-cart-cross-sell-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-cart-item-image-fallback {
  width: 100%;
  height: 100%;
  background: color-mix(in srgb, var(--sf-color-input-disabled) 80%, var(--sf-color-surface) 20%);
}

.storefront-cart-item-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
}

.storefront-cart-item-content-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.storefront-cart-item-copy-main {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
}

.storefront-cart-item-side {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 10px;
}

.storefront-cart-item-title {
  margin: 0;
  color: inherit;
  font-size: 15px;
  line-height: 20px;
  font-weight: 400;
  display: -webkit-box;
  overflow: hidden;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.storefront-cart-item-title.is-sold-out {
  color: var(--sf-color-text-primary-muted);
}

.storefront-cart-item-remove {
  margin-left: 80px !important;
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-secondary);
  cursor: pointer;
}

.storefront-cart-item-price-stack {
  display: grid;
  justify-items: end;
  gap: 6px;
}

.storefront-cart-item-price-row {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
}

.storefront-cart-item-price-row p {
  margin: 0;
  font-weight: 600;
}

.storefront-cart-item-compare-price {
  color: var(--sf-color-text-secondary);
  text-decoration: line-through;
  font-weight: 400;
}

.storefront-cart-item-discount-pill {
  gap: 4px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 16px;
}

.storefront-cart-item-discount-pill.is-placeholder,
.storefront-cart-standalone-item-discount-pill.is-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.storefront-cart-item-discount-pill span:first-child {
  font-size: 14px;
  line-height: 20px;
}

.storefront-cart-item-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 999px;
  padding: 4px;
  width: fit-content;
}

.storefront-cart-item-controls button {
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 999px;
  background: var(--sf-color-input-disabled);
  color: inherit;
  cursor: pointer;
}

.storefront-cart-item-controls span {
  min-width: 18px;
  text-align: center;
  font-weight: 600;
}

.storefront-cart-bill-breakdown h2 {
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
}

.storefront-cart-coupon-section {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.storefront-cart-coupon-entry-row,
.storefront-cart-coupon-applied-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.storefront-cart-coupon-entry-left {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.storefront-cart-coupon-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.storefront-cart-coupon-icon svg {
  width: 100%;
  height: 100%;
}

.storefront-cart-coupon-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-coupon-link-row {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  color: var(--sf-color-cta-line-border-compact);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.storefront-cart-coupon-chevron {
  width: 12px;
  height: 12px;
  display: inline-flex;
}

.storefront-cart-coupon-chevron svg {
  width: 100%;
  height: 100%;
}

.storefront-cart-coupon-applied-copy {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-cart-coupon-remove {
  color: var(--sf-color-input-error);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-coupon-suggestion {
  border-radius: 6px;
  position: relative;
  overflow: clip;
  background: var(--sf-color-status-success-surface);
  padding: 4px 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.storefront-cart-coupon-suggestion-accent {
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: 100%;
  background: var(--sf-ref-color-green-50);
}

.storefront-cart-coupon-suggestion-copy {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-cart-coupon-suggestion-copy p,
.storefront-cart-coupon-suggestion-copy small,
.storefront-cart-coupon-suggestion-badge {
  margin: 0;
}

.storefront-cart-coupon-suggestion-copy p {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-coupon-suggestion-meta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.storefront-cart-coupon-suggestion-copy small {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-coupon-suggestion-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 14px;
  padding: 0 6px;
  border-radius: 14px;
  background: var(--sf-color-surface);
  color: var(--sf-color-status-success-text);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
}

.storefront-cart-coupon-suggestion button {
  border: 0;
  border-radius: 6px;
  padding: 4px 12px;
  min-height: 24px;
  color: var(--sf-color-surface);
  background: color-mix(in srgb, var(--sf-color-input-success) 50%, var(--sf-color-surface) 50%);
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  cursor: pointer;
}

.storefront-cart-coupon-suggestion button.is-active {
  background: var(--sf-color-input-success);
}

.storefront-cart-coupon-suggestion button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.storefront-cart-savings-card {
  padding: 0;
  overflow: hidden;
}

.storefront-cart-savings-card .storefront-cart-card-eyebrow {
  padding: 12px 12px 0;
}

.storefront-cart-savings-divider {
  height: 1px;
  margin: 0 12px;
  background: var(--sf-color-surface-muted);
}

.storefront-cart-delivery-section {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  padding: 16px 12px;
}

.storefront-cart-delivery-section.is-applied {
  align-items: center;
  padding-top: 12px;
  padding-bottom: 12px;
}

.storefront-cart-coupon-selector {
  position: absolute;
  inset: 0;
  z-index: 12;
  background: var(--sf-color-surface);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.storefront-cart-coupon-selector-panel {
  display: contents;
}

.storefront-cart-coupon-selector-backdrop {
  display: none;
}

.storefront-cart-coupon-selector-header {
  min-height: 52px;
  padding: 6px 16px;
  background: var(--sf-color-surface);
  border-bottom: 1px solid var(--sf-color-border-subtle);
  box-shadow: 0 4px 4px color-mix(in srgb, var(--sf-color-text-primary) 8%, transparent);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.storefront-cart-coupon-selector-header p {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-coupon-selector-header button,
.storefront-cart-coupon-selector-error-dismiss,
.storefront-cart-coupon-success-close {
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: var(--sf-color-footer-muted);
  font-size: 28px;
  line-height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.storefront-cart-coupon-selector-input {
  background: var(--sf-color-input-disabled);
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.storefront-cart-coupon-selector-input input {
  min-height: 44px;
  border: 1px solid var(--sf-color-input-border);
  border-radius: 8px;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-primary);
  padding: 0 14px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-coupon-selector-input input::placeholder {
  color: var(--sf-color-input-placeholder);
}

.storefront-cart-coupon-selector-input button {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-primary);
  padding: 0 12px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  cursor: pointer;
}

.storefront-cart-coupon-selector-input button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.storefront-cart-coupon-selector-body {
  min-height: 0;
  overflow-y: auto;
  background: var(--sf-color-input-disabled);
  padding: 16px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.storefront-cart-coupon-selector-group {
  display: grid;
  gap: 12px;
}

.storefront-cart-coupon-selector-group-title {
  margin: 0;
  color: var(--sf-color-footer-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-coupon-selector-list {
  display: grid;
  gap: 12px;
}

.storefront-cart-coupon-ticket {
  display: flex;
  min-height: 120px;
  position: relative;
  border-radius: 12px;
  overflow: clip;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--sf-color-text-primary) 8%, transparent);
}

.storefront-cart-coupon-ticket-ribbon {
  width: 40px;
  background: var(--sf-color-brand-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.storefront-cart-coupon-ticket-ribbon.is-locked {
  background: var(--sf-color-input-border);
}

.storefront-cart-coupon-ticket-ribbon span {
  display: inline-block;
  transform: rotate(-90deg);
  white-space: nowrap;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.storefront-cart-coupon-ticket-main {
  flex: 1 1 auto;
  min-width: 0;
  background: var(--sf-color-surface);
  padding: 12px;
  display: grid;
  align-content: start;
  gap: 12px;
}

.storefront-cart-coupon-ticket-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.storefront-cart-coupon-ticket-title-wrap {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.storefront-cart-coupon-ticket-code {
  margin: 0;
  font-size: 16px;
  line-height: 20px;
  font-weight: 700;
  color: var(--sf-color-text-primary);
}

.storefront-cart-coupon-ticket-highlight {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: var(--sf-color-text-primary);
}

.storefront-cart-coupon-ticket-highlight.is-success {
  color: var(--sf-color-input-success);
}

.storefront-cart-coupon-ticket-highlight.is-error {
  color: var(--sf-color-input-error);
}

.storefront-cart-coupon-ticket-apply {
  min-height: 24px;
  border: 0;
  border-radius: 6px;
  padding: 4px 12px;
  background: color-mix(in srgb, var(--sf-color-input-success) 50%, var(--sf-color-surface) 50%);
  color: var(--sf-color-surface);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  cursor: pointer;
}

.storefront-cart-coupon-ticket-apply.is-active {
  background: var(--sf-color-input-success);
}

.storefront-cart-coupon-ticket-apply:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.storefront-cart-coupon-ticket-remove {
  color: var(--sf-color-input-error);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-coupon-ticket-divider {
  height: 1px;
  background: var(--sf-color-input-border);
}

.storefront-cart-coupon-ticket-rules {
  display: grid;
  gap: 2px;
}

.storefront-cart-coupon-ticket-rules p {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  color: var(--sf-color-footer-muted);
}

.storefront-cart-coupon-ticket-notch {
  position: absolute;
  right: -8px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--sf-color-input-disabled);
}

.storefront-cart-coupon-ticket-notch.top {
  top: 32px;
}

.storefront-cart-coupon-ticket-notch.bottom {
  top: 56px;
}

.storefront-cart-coupon-selector-error-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: color-mix(in srgb, var(--sf-color-text-primary) 50%, transparent);
  display: flex;
  align-items: flex-end;
}

.storefront-cart-coupon-selector-error-dismiss {
  position: absolute;
  right: 16px;
  bottom: calc(124px + env(safe-area-inset-bottom));
}

.storefront-cart-coupon-selector-error-dialog-dismiss {
  display: none;
}

.storefront-cart-coupon-selector-error-sheet {
  width: 100%;
  background: var(--sf-color-surface);
  border-radius: 20px 20px 0 0;
  padding: 16px 16px calc(24px + env(safe-area-inset-bottom));
  display: grid;
  gap: 24px;
}

.storefront-cart-coupon-selector-error-grab {
  width: 32px;
  height: 4px;
  border-radius: 10px;
  background: var(--sf-color-input-border);
  justify-self: center;
}

.storefront-cart-coupon-selector-error-sheet p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-coupon-selector-error-sheet button,
.storefront-cart-coupon-success-cta {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-brand-primary);
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  cursor: pointer;
}

@media (min-width: 768px) {
  .storefront-cart-coupon-selector-error-layer.is-desktop {
    display: grid;
    place-items: center;
    padding: 24px;
  }

  .storefront-cart-coupon-selector-error-layer.is-desktop .storefront-cart-coupon-selector-error-dismiss {
    display: none;
  }

  .storefront-cart-coupon-selector-error-layer.is-desktop .storefront-cart-coupon-selector-error-sheet {
    position: relative;
    width: min(420px, calc(100vw - 48px));
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    border-radius: 16px;
    padding: 32px 24px 24px;
    gap: 20px;
    box-shadow: 0 18px 48px var(--sf-ext-color-alpha-x33251918);
  }

  .storefront-cart-coupon-selector-error-layer.is-desktop .storefront-cart-coupon-selector-error-grab {
    display: none;
  }

  .storefront-cart-coupon-selector-error-layer.is-desktop .storefront-cart-coupon-selector-error-dialog-dismiss {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    place-items: center;
    width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--sf-color-text-secondary);
    font-size: 26px;
    line-height: 1;
    font-weight: 400;
  }

  .storefront-cart-coupon-selector-error-layer.is-desktop .storefront-cart-coupon-selector-error-sheet p {
    padding-right: 32px;
  }
}

.storefront-cart-coupon-success-layer {
  position: fixed;
  inset: 0;
  z-index: 140;
  background: color-mix(in srgb, var(--sf-color-text-primary) 36%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.storefront-cart-coupon-success-modal {
  width: min(280px, 100%);
  border-radius: 24px;
  background: var(--sf-color-surface);
  padding: 32px 20px 20px;
  display: grid;
  gap: 32px;
  position: relative;
}

.storefront-cart-coupon-success-close {
  position: absolute;
  top: 20px;
  right: 20px;
}

.storefront-cart-coupon-success-icon {
  width: 56px;
  height: 56px;
  justify-self: center;
}

.storefront-cart-coupon-success-icon svg {
  width: 100%;
  height: 100%;
}

.storefront-cart-coupon-success-copy {
  display: grid;
  gap: 4px;
  text-align: center;
}

.storefront-cart-coupon-success-copy p,
.storefront-cart-coupon-success-copy small {
  margin: 0;
}

.storefront-cart-coupon-success-copy p:first-child {
  color: var(--sf-color-text-primary);
  font-size: 24px;
  line-height: 32px;
  font-weight: 700;
}

.storefront-cart-coupon-success-copy p:nth-child(2) {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-coupon-success-copy small {
  color: var(--sf-color-input-placeholder);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-payment-toggle,
.storefront-cart-payment-cta {
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  padding: 0 14px;
  font-weight: 600;
  cursor: pointer;
  touch-action: manipulation;
}

.storefront-cart-payment-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.storefront-cart-payment-cta:disabled,
.storefront-cart-payment-cta[aria-disabled="true"],
.storefront-cart-payment-toggle:disabled {
  opacity: 0.35;
  cursor: default;
}

.storefront-cart-payment-cta-full {
  grid-column: 1 / -1;
}

.storefront-cart-delivery-card p,
.storefront-cart-wallet-card p,
.storefront-cart-gst-card p,
.storefront-cart-address-row p,
.storefront-cart-bill-breakdown p {
  margin: 0;
}

.storefront-cart-gst-card p,
.storefront-cart-address-row p + p {
  color: var(--sf-color-text-secondary);
}

.storefront-cart-delivery-card {
  margin-top: 12px;
  border-top: 1px solid var(--sf-color-border-subtle);
  padding-top: 12px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-weight: 600;
}

.storefront-cart-wallet-card p:first-child {
  color: var(--sf-color-text-secondary);
}

.storefront-cart-wallet-card p:last-child {
  margin-top: 4px;
  font-weight: 600;
}

.storefront-cart-cross-sell {
  border-radius: 12px;
  border: 1px solid var(--sf-color-border-subtle);
  background: color-mix(in srgb, var(--sf-color-input-disabled) 65%, var(--sf-color-surface) 35%);
  padding: 12px;
  display: grid;
  gap: 10px;
}

.storefront-cart-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.storefront-cart-tabs button {
  border: 1px solid var(--sf-color-border-subtle);
  background: var(--sf-color-surface);
  color: var(--sf-color-text-secondary);
  border-radius: 999px;
  min-height: 30px;
  padding: 0 10px;
  white-space: nowrap;
}

.storefront-cart-tabs button.is-active {
  background: var(--sf-color-cta-dark);
  color: var(--sf-color-surface);
}

.storefront-cart-cross-sell-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.storefront-cart-cross-sell-card {
  background: var(--sf-color-surface);
  border-radius: 10px;
  overflow: hidden;
}

.storefront-cart-cross-sell-thumb {
  aspect-ratio: 1 / 1;
  background: var(--sf-color-input-disabled);
}

.storefront-cart-cross-sell-card p {
  margin: 0;
  padding: 6px 8px;
  font-size: 13px;
  font-weight: 600;
}

.storefront-cart-gst-card {
  display: grid;
  gap: 16px;
}

.storefront-cart-gst-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.storefront-cart-gst-toggle .storefront-cart-checkbox {
  flex: 0 0 auto;
  pointer-events: none;
}

.storefront-cart-gst-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.storefront-cart-gst-heading {
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
}

.storefront-cart-gst-description {
  color: var(--sf-color-text-secondary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-gst-form {
  display: grid;
  gap: 14px;
}

.storefront-cart-gst-card .storefront-cart-gst-field {
  display: grid;
  gap: 6px;
  margin: 0;
}

.storefront-cart-gst-card .storefront-cart-gst-field-label {
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-gst-card .storefront-cart-gst-field-input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 14px;
  background: var(--sf-color-surface);
  padding: 0 16px;
  color: var(--sf-color-text-primary);
  font-size: 15px;
  line-height: 20px;
  font-weight: 300;
  box-sizing: border-box;
}

.storefront-cart-drawer .storefront-cart-gst-card .storefront-cart-gst-field {
  display: grid;
  gap: 6px;
}

.storefront-cart-drawer .storefront-cart-gst-card .storefront-cart-gst-field-input {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 48px;
  padding: 0 16px;
}

.storefront-cart-gst-card .storefront-cart-gst-field-input::placeholder {
  color: var(--sf-color-input-placeholder);
}

.storefront-cart-gst-card .storefront-cart-gst-field-input[aria-invalid="true"] {
  border-color: var(--sf-color-text-error-primary);
}

.storefront-cart-bill-breakdown {
  display: grid;
  gap: 8px;
}

.storefront-cart-bill-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.storefront-cart-payable-row {
  padding-top: 8px;
  border-top: 1px solid var(--sf-color-border-subtle);
  font-weight: 700;
}

.storefront-cart-payable-row p {
  font-weight: 700;
}

.storefront-cart-drawer-footer {
  border-top: 1px solid var(--sf-color-border-subtle);
  background: var(--sf-color-surface);
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  display: grid;
  gap: 10px;
  position: sticky;
  bottom: 0;
  z-index: 6;
}

.storefront-cart-drawer:not(.is-standalone) .storefront-cart-drawer-header,
.storefront-cart-drawer:not(.is-standalone) .storefront-mobile-cart-header,
.storefront-cart-drawer:not(.is-standalone) .storefront-cart-drawer-footer {
  position: relative;
  top: auto;
  bottom: auto;
}

.storefront-cart-address-row {
  display: grid;
  gap: 2px;
}

.storefront-cart-address-row.is-action-row {
  width: 100%;
  border: 0;
  text-align: left;
  cursor: pointer;
}

.storefront-cart-payment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.storefront-cart-payment-row--summary {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.storefront-cart-payment-row--summary > .storefront-cart-payment-cta {
  justify-self: end;
  margin-left: auto;
}

.storefront-cart-payment-row--single-cta {
  grid-template-columns: minmax(0, 1fr);
}

.storefront-cart-payment-summary {
  display: grid;
  align-content: center;
  gap: 4px;
}

.storefront-cart-payment-summary-label,
.storefront-cart-payment-summary-amount {
  margin: 0;
}

.storefront-cart-payment-summary-label {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  white-space: nowrap;
}

.storefront-cart-payment-summary-amount {
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-payment-row.is-mobile {
  align-items: center;
}

.storefront-cart-payment-toggle {
  background: color-mix(in srgb, var(--sf-color-brand-soft) 70%, var(--sf-color-surface) 30%);
  color: var(--sf-color-text-primary);
  text-align: left;
}

.storefront-cart-payment-cta {
  background: var(--sf-color-brand-primary);
  color: var(--sf-color-text-primary);
  min-width: 150px;
}

.storefront-cart-drawer-header {
  grid-template-columns: 24px minmax(0, 1fr) 24px;
}

.storefront-cart-drawer-header-spacer,
.storefront-cart-drawer-wishlist {
  width: 24px;
  height: 24px;
}

.storefront-cart-drawer-wishlist {
  position: relative;
  color: var(--sf-color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-drawer-wishlist svg {
  width: 20px;
  height: 20px;
}

.storefront-cart-drawer-wishlist-badge {
  position: absolute;
  top: -4px;
  right: -8px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  border-radius: 999px;
  background: var(--sf-color-brand-primary);
  color: var(--sf-color-text-primary);
  font-size: 9px;
  line-height: 14px;
  font-weight: 600;
  text-align: center;
}

.storefront-cart-item-title,
.storefront-cart-item-price-row,
.storefront-cart-item-secondary-meta,
.storefront-cart-item-delivery-copy,
.storefront-cart-item-variant-pill {
  margin: 0;
}

.storefront-cart-item-variant-pill {
  grid-area: variant;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  width: fit-content;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--sf-color-surface-muted);
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-item-variant-chevron {
  width: 10px;
  height: 10px;
  display: inline-flex;
  color: var(--sf-color-text-muted);
}

.storefront-cart-item-price-row {
  grid-area: price;
}

.storefront-cart-item-secondary-meta {
  grid-area: secondary;
}

.storefront-cart-item-return-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-item-inline-icon {
  width: 12px;
  height: 12px;
  display: inline-flex;
  color: var(--sf-color-text-muted);
}

.storefront-cart-item-delivery-copy {
  grid-area: delivery;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-item-delivery-copy.is-fast-delivery,
.storefront-mobile-cart-item-delivery.is-fast-delivery,
.storefront-cart-standalone-item-delivery-copy.is-fast-delivery {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
}

.storefront-cart-fast-delivery-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.storefront-cart-fast-delivery-divider {
  display: block;
  width: 1px;
  height: 12px;
  flex: 0 0 auto;
  background: var(--sf-color-border-subtle);
}

.storefront-cart-fast-delivery-copy {
  color: var(--sf-color-text-primary-muted);
  font-family: var(--sf-ref-type-family-poppins);
  font-size: 12px;
  font-weight: var(--sf-ref-type-weight-regular);
  line-height: 16px;
  white-space: nowrap;
}

.storefront-cart-gift-card {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
}

.storefront-cart-gift-icon,
.storefront-cart-gift-chevron,
.storefront-cart-reassurance-icon,
.storefront-cart-address-icon,
.storefront-cart-coupon-status-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-gift-icon {
  width: 28px;
  height: 28px;
  color: var(--sf-ext-color-exact-xd18b13);
}

.storefront-cart-gift-copy,
.storefront-cart-gift-copy p,
.storefront-cart-card-eyebrow,
.storefront-cart-wallet-copy,
.storefront-cart-wallet-copy span,
.storefront-cart-address-copy,
.storefront-cart-address-copy p,
.storefront-cart-total-savings p,
.storefront-cart-cross-sell-price-row p,
.storefront-cart-cross-sell-price-row span {
  margin: 0;
}

.storefront-cart-gift-copy p {
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-gift-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  white-space: nowrap;
}

.storefront-cart-gift-chevron {
  width: 12px;
  height: 12px;
  color: var(--sf-color-text-muted);
}

.storefront-cart-support-zone {
  background: var(--sf-color-surface-muted);
  display: grid;
  gap: 16px;
  padding: 16px;
}

.storefront-cart-reassurance-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.storefront-cart-reassurance-item {
  display: grid;
  justify-items: center;
  gap: 6px;
  color: var(--sf-color-text-primary-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  text-align: center;
}

.storefront-cart-reassurance-icon {
  width: 20px;
  height: 20px;
  color: var(--sf-color-text-primary-muted);
}

.storefront-cart-card-eyebrow {
  color: var(--sf-color-text-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-coupon-entry-row,
.storefront-cart-coupon-applied-row {
  padding: 0;
}

.storefront-cart-coupon-status {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--sf-color-status-success-accent);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  white-space: nowrap;
}

.storefront-cart-coupon-status-icon {
  width: 12px;
  height: 12px;
}

.storefront-cart-coupon-applied-secondary .storefront-cart-coupon-title {
  font-weight: 500;
}

.storefront-cart-wallet-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding-top: 12px;
}

.storefront-cart-wallet-row.is-logged-out {
  align-items: center;
}

.storefront-cart-wallet-row.is-disabled .storefront-cart-wallet-title {
  opacity: 0.35;
}

.storefront-cart-wallet-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.storefront-cart-wallet-toggle:disabled {
  cursor: default;
  opacity: 0.6;
}

.storefront-cart-wallet-checkbox {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-wallet-checkmark-box {
  width: 20px;
  height: 20px;
  border-radius: 4px;
  background: var(--sf-color-status-success-accent);
  color: var(--sf-color-surface);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-wallet-copy {
  display: grid;
  gap: 2px;
}

.storefront-cart-wallet-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-wallet-subtitle {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-wallet-subtitle-label {
  font-weight: 300;
}

.storefront-cart-wallet-subtitle-amount {
  font-weight: 500;
}

.storefront-cart-wallet-login {
  min-width: 88px;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid var(--sf-ext-color-exact-x8f8a85);
  border-radius: 12px;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-cross-sell-price-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.storefront-cart-cross-sell-price-row p {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  padding: 0;
}

.storefront-cart-cross-sell-price-row span {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 12px;
  font-weight: 300;
  text-decoration: line-through;
}

.storefront-cart-cross-sell-add {
  position: absolute;
  right: 6px;
  bottom: 6px;
  width: 24px;
  height: 24px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  color: var(--sf-color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}

.storefront-cart-total-savings {
  border-radius: 6px;
  background: var(--sf-color-status-success-surface);
  padding: 2px 8px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--sf-color-status-success-text);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-address-row {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
}

.storefront-cart-address-icon {
  width: 16px;
  height: 16px;
  color: var(--sf-color-text-primary);
}

.storefront-cart-address-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.storefront-cart-address-copy p:first-child {
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-address-copy p:first-child strong {
  color: var(--sf-color-text-primary);
  font-weight: 500;
}

.storefront-cart-address-copy p + p {
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.storefront-cart-address-change {
  border: 0;
  background: transparent;
  padding: 4px 0;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  cursor: pointer;
}

.storefront-cart-address-divider {
  width: 1px;
  height: 16px;
  background: var(--sf-color-border-subtle);
}

.storefront-cart-payment-toggle {
  display: grid;
  justify-items: start;
  gap: 2px;
}

.storefront-cart-payment-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.storefront-cart-payment-row--summary .storefront-cart-payment-summary {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 4px;
}

.storefront-cart-payment-row--summary .storefront-cart-payment-summary-label,
.storefront-cart-payment-row--summary .storefront-cart-payment-summary-amount {
  display: block;
}

.storefront-cart-payment-summary-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.storefront-cart-payment-logo {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 6px;
}

.storefront-cart-payment-logo-fallback {
  border: 1px solid var(--sf-color-border-subtle);
  background: var(--sf-ext-color-exact-xf6f4ef);
  color: var(--sf-color-text-primary-muted);
  font-size: 9px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storefront-cart-payment-label {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--sf-ref-color-blue-100);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-payment-chevron {
  width: 12px;
  height: 12px;
  display: inline-flex;
  color: var(--sf-ref-color-blue-100);
}

.storefront-cart-payment-chevron.is-up {
  transform: rotate(180deg);
}

.storefront-cart-payment-method {
  color: var(--sf-color-text-primary);
  font-size: 10px;
  line-height: 14px;
  font-weight: 400;
}

.storefront-cart-payment-channel {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-cart-cta-copy {
  display: grid;
  gap: 4px;
}

.storefront-cart-cta-copy p {
  margin: 0;
}

.storefront-cart-cta-copy p:first-child {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-cta-copy p + p {
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-sheet-layer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  align-items: end;
}

.storefront-cart-advance-payment-layer {
  z-index: 95;
}

.storefront-cart-sheet-dismiss {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--sf-ext-color-alpha-x33251932);
}

.storefront-cart-sheet {
  position: relative;
  z-index: 1;
  border-radius: 24px 24px 0 0;
  background: var(--sf-color-surface);
  padding: 12px 16px calc(24px + env(safe-area-inset-bottom));
  display: grid;
  gap: 16px;
  box-shadow: 0 -10px 24px var(--sf-ext-color-shadow-strong);
  max-height: min(82dvh, 760px);
  overflow: auto;
}

.storefront-cart-review-changes-layer {
  position: fixed;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.storefront-cart-review-changes-dismiss {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--sf-ext-color-alpha-x33251950);
}

.storefront-cart-review-changes-sheet {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  border-radius: 20px 20px 0 0;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 -4px 8px var(--sf-ext-color-shadow-base);
  overflow: hidden;
}

.storefront-cart-review-changes-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 16px 16px 0;
}

.storefront-cart-review-changes-grab {
  width: 32px;
  height: 4px;
  border-radius: 10px;
  background: var(--sf-color-background-neutral-mid-gray);
}

.storefront-cart-review-changes-close {
  position: absolute;
  top: 12px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-secondary);
  font-size: 28px;
  line-height: 20px;
  font-weight: var(--sf-ref-type-weight-light);
  cursor: pointer;
}

.storefront-cart-review-changes-content {
  display: grid;
  gap: 24px;
  padding: 8px 16px calc(24px + env(safe-area-inset-bottom));
}

.storefront-cart-review-changes-content p {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  line-height: var(--sf-ref-type-line-height-20);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-cart-review-changes-cta {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-brand-primary);
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-medium);
  line-height: var(--sf-ref-type-line-height-20);
  font-weight: var(--sf-ref-type-weight-medium);
  cursor: pointer;
}

.storefront-cart-review-changes-cta:disabled {
  opacity: 0.6;
  cursor: default;
}

@media (min-width: 768px) {
  .storefront-cart-review-changes-layer {
    align-items: center;
    padding: 24px;
  }

  .storefront-cart-review-changes-sheet {
    width: min(520px, 100%);
    max-width: 520px;
    border-radius: 16px;
    box-shadow: 0 18px 48px var(--sf-ext-color-alpha-x33251918);
  }

  .storefront-cart-review-changes-header {
    min-height: 48px;
    padding: 16px 20px 0;
    justify-content: flex-end;
  }

  .storefront-cart-review-changes-grab {
    display: none;
  }

  .storefront-cart-review-changes-close {
    top: 16px;
    right: 20px;
  }

  .storefront-cart-review-changes-content {
    gap: 28px;
    padding: 8px 32px 32px;
  }

  .storefront-cart-review-changes-content p {
    padding-right: 40px;
    font-size: var(--sf-ref-type-size-medium);
    line-height: var(--sf-ref-type-line-height-24);
  }

  .storefront-cart-review-changes-cta {
    min-height: 56px;
    font-size: var(--sf-ref-type-size-large);
    line-height: var(--sf-ref-type-line-height-24);
  }
}

.storefront-cart-advance-payment-sheet {
  gap: 24px;
  padding: 16px 24px calc(32px + env(safe-area-inset-bottom));
  max-height: min(62dvh, 560px);
}

.storefront-cart-advance-payment-sheet .storefront-cart-sheet-grab {
  width: 32px;
}

.storefront-cart-advance-payment-sheet.is-partial-card {
  max-height: min(86dvh, 720px);
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 8px;
  overflow: hidden;
}

.storefront-cart-advance-payment-sheet.is-partial-card .storefront-checkout-desktop-card-back {
  margin-bottom: 0;
}

.storefront-cart-advance-payment-sheet.is-partial-card .storefront-checkout-partial-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.storefront-cart-advance-payment-sheet.is-partial-card .storefront-checkout-partial-card-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-advance-payment-sheet.is-partial-card .storefront-checkout-mobile-panel-body {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-top: 0;
  -webkit-overflow-scrolling: auto;
  overscroll-behavior: contain;
}

.storefront-cart-advance-payment-sheet.is-partial-card .storefront-checkout-desktop-card-title {
  display: none;
}

.storefront-cart-advance-payment-sheet.is-partial-card .storefront-checkout-desktop-card-form {
  height: auto;
  overflow: visible;
}

.storefront-cart-advance-payment-close {
  display: none;
}

@media (min-width: 768px) {
  .storefront-cart-advance-payment-layer.is-desktop-dialog {
    z-index: 96;
    align-items: center;
    justify-items: center;
    padding: 24px;
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-sheet-dismiss {
    background: var(--sf-ext-color-alpha-x33251948);
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-advance-payment-sheet {
    width: 360px;
    max-height: min(819px, calc(100dvh - 48px));
    border-radius: 24px;
    padding: 32px 24px 24px;
    gap: 24px;
    box-shadow: 0 18px 48px var(--sf-ext-color-alpha-x33251918);
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-sheet-grab {
    display: none;
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-advance-payment-close {
    position: absolute;
    top: 12px;
    right: 14px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--sf-color-text-muted);
    padding: 0;
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-sheet-list {
    gap: 24px;
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-mobile-payment-group {
    gap: 8px;
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-mobile-payment-group-title {
    color: var(--sf-color-text-primary-muted);
  }

  .storefront-cart-advance-payment-layer.is-desktop-dialog .storefront-cart-mobile-payment-group-card {
    border-color: var(--sf-color-surface-muted);
  }
}

.storefront-promotion-removal-sheet {
  gap: 24px;
  padding: 32px 20px calc(32px + env(safe-area-inset-bottom));
  border-radius: 24px 24px 0 0;
}

.storefront-promotion-removal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-secondary);
  cursor: pointer;
}

.storefront-promotion-removal-close svg {
  width: 20px;
  height: 20px;
  display: block;
}

.storefront-promotion-removal-title,
.storefront-promotion-removal-message {
  margin: 0;
  font-family: var(--sf-ref-type-family-lexend);
  color: var(--sf-color-text-neutral-primary);
}

.storefront-promotion-removal-title {
  font-size: var(--sf-ref-type-size-medium);
  line-height: var(--sf-ref-type-line-height-20);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-promotion-removal-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.storefront-promotion-removal-message {
  font-size: var(--sf-ref-type-size-regular);
  line-height: var(--sf-ref-type-line-height-20);
  font-weight: var(--sf-ref-type-weight-light);
  color: var(--sf-color-text-neutral-secondary);
}

.storefront-promotion-removal-badge {
  display: inline-flex;
  max-width: 100%;
  border-radius: 8px;
  background: var(--sf-color-background-error-base);
  padding: 4px 8px;
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  line-height: var(--sf-ref-type-line-height-16);
  font-weight: var(--sf-ref-type-weight-medium);
  color: var(--sf-color-text-error-dark);
}

.storefront-promotion-removal-actions {
  display: grid;
  width: 100%;
  gap: 12px;
}

.storefront-promotion-removal-sheet .storefront-promotion-removal-primary {
  min-height: 44px;
  width: 100%;
  border-radius: 8px;
  padding: 12px 20px;
  font-size: var(--sf-ref-type-size-medium);
  line-height: var(--sf-ref-type-line-height-20);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-promotion-removal-sheet .storefront-promotion-removal-secondary {
  min-height: 36px;
  width: 100%;
  border-color: var(--sf-ref-color-grayscale-30);
  border-radius: 6px;
  padding: 8px 16px;
  font-size: var(--sf-ref-type-size-regular);
  line-height: var(--sf-ref-type-line-height-20);
  font-weight: var(--sf-ref-type-weight-medium);
}

@media (min-width: 768px) {
  .storefront-promotion-removal-layer.is-desktop-dialog {
    display: grid;
    place-items: center;
    padding: 24px;
  }

  .storefront-promotion-removal-layer.is-desktop-dialog .storefront-cart-sheet-dismiss {
    background: var(--sf-ext-color-alpha-x33251950);
  }

  .storefront-promotion-removal-layer.is-desktop-dialog .storefront-promotion-removal-sheet {
    width: 360px;
    max-width: calc(100vw - 48px);
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    border-radius: 24px;
    padding: 32px 24px;
  }

  .storefront-promotion-removal-layer.is-desktop-dialog .storefront-promotion-removal-close {
    top: 24px;
    right: 24px;
    color: var(--sf-color-text-muted);
  }

  .storefront-promotion-removal-layer.is-desktop-dialog .storefront-promotion-removal-message {
    color: var(--sf-color-text-secondary);
  }
}

.storefront-cart-sheet-grab {
  width: 44px;
  height: 4px;
  border-radius: 999px;
  background: var(--sf-color-border-subtle);
  justify-self: center;
}

.storefront-cart-sheet-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.storefront-cart-sheet-header p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-sheet-header button {
  border: 0;
  background: transparent;
  color: var(--sf-color-text-primary-muted);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.storefront-cart-address-sheet-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
}

.storefront-cart-address-sheet-header p {
  grid-column: 2;
}

.storefront-cart-address-sheet-back {
  border: 0;
  background: transparent;
  color: var(--sf-color-text-primary-muted);
  font-size: 20px;
  line-height: 1;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.storefront-cart-address-sheet-list {
  display: grid;
  gap: 0;
}

.storefront-cart-address-sheet-add {
  border: 0;
  background: transparent;
  color: var(--sf-ref-color-blue-100);
  text-align: left;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  padding: 0 0 16px;
  cursor: pointer;
}

.storefront-cart-address-sheet-divider {
  width: 100%;
  height: 1px;
  background: var(--sf-color-surface-muted);
}

.storefront-cart-address-sheet-option {
  border: 0;
  border-bottom: 1px solid var(--sf-color-surface-muted);
  background: transparent;
  padding: 16px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}

.storefront-cart-address-sheet-option.is-selected .storefront-cart-address-sheet-option-title {
  color: var(--sf-color-text-primary);
}

.storefront-cart-address-sheet-option-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.storefront-cart-address-sheet-option-title {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-address-sheet-option-detail {
  color: var(--sf-color-text-secondary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-address-sheet-option-chevron {
  color: var(--sf-color-text-muted);
  font-size: 24px;
  line-height: 1;
}

.storefront-cart-address-sheet-empty {
  margin: 16px 0 0;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
}

.storefront-cart-address-sheet-form {
  display: grid;
  gap: 16px;
}

.storefront-cart-address-sheet-form label {
  display: grid;
  gap: 2px;
}

.storefront-cart-address-sheet-form span {
  color: var(--sf-color-text-secondary);
  opacity: 0.8;
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-cart-address-sheet-form input {
  min-height: 44px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  padding: 0 16px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-address-sheet-form input[readonly] {
  background: var(--sf-color-surface-muted);
  color: var(--sf-color-text-muted);
}

.storefront-cart-address-type-chip-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.storefront-cart-address-type-chip {
  min-height: 40px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 999px;
  background: var(--sf-color-surface);
  color: var(--sf-color-text-secondary);
  font: inherit;
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
}

.storefront-cart-address-type-chip.is-selected {
  border-color: var(--sf-color-text-primary);
  background: var(--sf-color-text-primary);
  color: var(--sf-color-surface);
}

.storefront-cart-address-sheet-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.storefront-cart-address-sheet-helper {
  margin: -10px 0 0;
  color: var(--sf-color-text-primary-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-cart-address-sheet-locate {
  border: 0;
  background: transparent;
  color: var(--sf-ref-color-blue-100);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  text-align: left;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.storefront-cart-address-sheet-locate-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  flex: 0 0 auto;
  color: currentColor;
}

.storefront-cart-address-sheet-locate-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.storefront-cart-sheet-list {
  display: grid;
  gap: 10px;
}

.storefront-cart-sheet-group-title {
  margin: 0 0 8px;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-sheet-option {
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 14px;
  background: var(--sf-color-surface);
  padding: 12px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 4px;
  text-align: left;
  cursor: pointer;
}

.storefront-cart-sheet-option.is-selected {
  border-color: var(--sf-color-text-primary);
  box-shadow: inset 0 0 0 1px var(--sf-color-text-primary);
}

.storefront-cart-sheet-option-leading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  background: var(--sf-ext-color-exact-xf7f4ee);
  overflow: hidden;
}

.storefront-cart-sheet-option-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.storefront-cart-sheet-option-logo-fallback {
  color: var(--sf-color-text-primary-muted);
  font-size: 10px;
  line-height: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storefront-cart-sheet-option-body {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-cart-sheet-option-title {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-sheet-option-copy {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-mobile-payment-sheet {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: var(--sf-color-surface-muted);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.storefront-checkout-mobile-payment-page {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  overflow: hidden;
}

.storefront-cart-mobile-payment-sheet-header {
  min-height: 52px;
  padding: 0 16px;
  background: var(--sf-color-surface);
  box-shadow: 0 4px 4px var(--sf-ext-color-shadow-base);
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 12px;
}

.storefront-cart-mobile-payment-sheet-header p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-mobile-payment-sheet-back {
  width: 20px;
  height: 20px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--sf-color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-mobile-payment-sheet-back svg {
  width: 20px;
  height: 20px;
}

.storefront-cart-mobile-payment-sheet-spacer {
  width: 20px;
  height: 20px;
}

.storefront-cart-mobile-payment-sheet-bill-bar {
  padding: 8px 16px;
  background: var(--sf-color-background-brand-base);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.storefront-cart-mobile-payment-sheet-bill-bar p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-mobile-payment-sheet-bill-bar p span {
  font-weight: 500;
}

.storefront-cart-mobile-payment-sheet-bill-bar button {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-checkout-payment-sheet-bill-action {
  color: var(--sf-ref-color-blue-100) !important;
}

.storefront-checkout-bill-sheet-layer {
  z-index: 95;
}

.storefront-checkout-bill-sheet {
  gap: 24px;
  padding: 15px 24px calc(32px + env(safe-area-inset-bottom));
  max-height: min(52dvh, 420px);
}

.storefront-checkout-bill-sheet .storefront-cart-sheet-grab {
  width: 32px;
}

.storefront-checkout-bill-sheet-card {
  display: grid;
  gap: 8px;
  width: 100%;
}

.storefront-checkout-bill-sheet-close {
  display: none;
}

.storefront-checkout-bill-sheet-title {
  margin: 0;
  color: var(--sf-color-text-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-checkout-bill-sheet-list {
  display: grid;
  gap: 8px;
}

.storefront-checkout-bill-sheet-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.storefront-checkout-bill-sheet-row.is-payable {
  padding-top: 8px;
  border-top: 1px solid var(--sf-color-surface-muted);
}

.storefront-checkout-bill-sheet-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-checkout-bill-sheet-label,
.storefront-checkout-bill-sheet-note,
.storefront-checkout-bill-sheet-value,
.storefront-checkout-bill-sheet-savings p {
  margin: 0;
}

.storefront-checkout-bill-sheet-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-checkout-bill-sheet-label-meta {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 14px;
}

.storefront-checkout-bill-sheet-note {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-checkout-bill-sheet-value {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  text-align: right;
  white-space: nowrap;
}

.storefront-checkout-bill-sheet-value.is-positive {
  color: var(--sf-color-status-success-accent);
  font-weight: 500;
}

.storefront-checkout-bill-sheet-row.is-payable .storefront-checkout-bill-sheet-label,
.storefront-checkout-bill-sheet-row.is-payable .storefront-checkout-bill-sheet-value {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-bill-sheet-strike {
  color: var(--sf-color-text-muted);
  text-decoration: line-through;
}

.storefront-checkout-bill-sheet-savings {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-radius: 6px;
  background: var(--sf-color-status-success-surface);
  padding: 2px 8px;
  color: var(--sf-color-status-success-text);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

@media (min-width: 768px) {
  .storefront-checkout-bill-sheet-layer {
    z-index: 96;
    place-items: center;
  }

  .storefront-checkout-bill-sheet-layer .storefront-cart-sheet-dismiss {
    background: var(--sf-ext-color-alpha-x33251940);
  }

  .storefront-checkout-bill-sheet {
    width: 360px;
    max-height: calc(100dvh - 48px);
    border-radius: 24px;
    padding: 0;
    box-shadow: 0 18px 48px var(--sf-ext-color-alpha-x33251918);
    overflow: visible;
  }

  .storefront-checkout-bill-sheet .storefront-cart-sheet-grab {
    display: none;
  }

  .storefront-checkout-bill-sheet-card {
    position: relative;
    width: 360px;
    border-radius: 24px;
    background: var(--sf-color-surface);
    padding: 32px 24px;
    gap: 8px;
  }

  .storefront-checkout-bill-sheet-close {
    position: absolute;
    top: 12px;
    right: 18px;
    width: 20px;
    height: 20px;
    border: 0;
    background: transparent;
    color: var(--sf-color-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  .storefront-checkout-bill-sheet-close span {
    position: absolute;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
  }

  .storefront-checkout-bill-sheet-close span:first-child {
    transform: rotate(45deg);
  }

  .storefront-checkout-bill-sheet-close span:last-child {
    transform: rotate(-45deg);
  }

  .storefront-checkout-bill-sheet-row {
    min-height: 16px;
  }

  .storefront-checkout-bill-sheet-row.is-payable {
    margin-top: 0;
    padding-top: 8px;
  }
}

.storefront-cart-mobile-payment-sheet-content {
  overflow: auto;
  padding: 24px 16px calc(32px + env(safe-area-inset-bottom));
  display: grid;
  gap: 24px;
}

.storefront-checkout-mobile-slide-shell {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.storefront-checkout-mobile-slide-track {
  width: 300%;
  height: 100%;
  display: flex;
  align-items: stretch;
  transform: translateX(0);
  transition: transform 240ms ease;
}

.storefront-checkout-mobile-slide-track.is-netbanking-open {
  transform: translateX(-33.3333%);
}

.storefront-checkout-mobile-slide-track.is-emi-open {
  transform: translateX(-66.6667%);
}

.storefront-checkout-mobile-slide-panel {
  width: 33.3333%;
  min-height: 0;
  min-width: 0;
  flex: 0 0 33.3333%;
  display: flex;
  flex-direction: column;
}

.storefront-checkout-mobile-panel {
  min-height: 0;
  height: 100%;
  background: var(--sf-color-section-bg);
  display: flex;
  flex-direction: column;
}

.storefront-checkout-mobile-panel-header {
  min-height: 56px;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 8px;
  background: var(--sf-color-surface);
  border-bottom: 1px solid var(--sf-color-border-subtle);
}

.storefront-checkout-mobile-panel-header p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 18px;
  line-height: 24px;
  font-weight: 500;
}

.storefront-checkout-mobile-panel-back {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-primary);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-checkout-mobile-panel-back svg {
  width: 20px;
  height: 20px;
}

.storefront-checkout-mobile-panel-body {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 16px 16px calc(32px + env(safe-area-inset-bottom));
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.storefront-checkout-payment-picker-layer {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  align-items: end;
  justify-items: center;
  overflow: hidden;
  background: var(--sf-ext-color-alpha-x33251938);
}

.storefront-checkout-payment-picker-sheet {
  width: 100%;
  max-width: 420px;
  max-height: min(86dvh, 720px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 24px 24px 0 0;
  background: var(--sf-color-surface);
  box-shadow: 0 -10px 28px var(--sf-ext-color-alpha-x33251918);
}

.storefront-checkout-payment-picker-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  align-items: start;
  gap: 8px;
  border-bottom: 1px solid var(--sf-color-border-subtle);
  padding: 8px 8px 10px 16px;
}

.storefront-checkout-payment-picker-heading {
  min-width: 0;
}

.storefront-checkout-payment-picker-grab {
  width: 32px;
  height: 6px;
  margin: 0 auto 8px;
  border-radius: 999px;
  background: var(--sf-color-border-subtle);
}

.storefront-checkout-payment-picker-heading p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
}

.storefront-checkout-payment-picker-close {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--sf-color-text-secondary);
  padding: 0;
  touch-action: manipulation;
}

.storefront-checkout-payment-picker-list {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px 8px calc(16px + env(safe-area-inset-bottom));
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.storefront-checkout-payment-picker-divider {
  height: 1px;
  margin: 0 12px 0 50px;
  background: var(--sf-color-border-subtle);
}

@media (min-width: 768px) {
  .storefront-checkout-payment-picker-layer {
    align-items: start;
    padding: 64px 12px 12px;
  }

  .storefront-checkout-payment-picker-sheet {
    border-radius: 24px;
    box-shadow: 0 16px 48px var(--sf-ext-color-alpha-x33251924);
  }
}

.storefront-checkout-mobile-panel-body .storefront-checkout-desktop-card-form {
  height: auto;
  padding: 0;
}

.storefront-checkout-mobile-panel.is-mobile-emi-panel .storefront-checkout-mobile-panel-header p {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-mobile-panel.is-mobile-emi-panel {
  min-height: auto;
}

.storefront-checkout-mobile-panel.is-mobile-emi-panel .storefront-checkout-mobile-panel-body {
  flex: 0 0 auto;
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
}

.storefront-checkout-mobile-panel.is-mobile-emi-panel .storefront-checkout-desktop-card-title {
  display: none;
}

.storefront-cart-mobile-payment-group {
  display: grid;
  gap: 8px;
}

.storefront-cart-mobile-payment-group-title {
  margin: 0;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-mobile-payment-group-card {
  background: var(--sf-color-surface);
  border: 1px solid var(--sf-color-surface-muted);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  overflow: hidden;
}

.storefront-cart-mobile-payment-group-card.is-promotion-warning-card {
  border-color: var(--sf-color-background-error-mid);
  background: var(--sf-color-background-error-base);
}

.storefront-cart-mobile-payment-group-card.is-promotion-warning-card .storefront-cart-mobile-payment-option {
  border: 1px solid var(--sf-color-background-neutral-light-gray);
  border-radius: 12px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
}

.storefront-payment-promotion-warning-message {
  margin: 0;
  padding: 8px 12px;
  color: var(--sf-color-text-error-dark);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  line-height: var(--sf-ref-type-line-height-16);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-cart-mobile-payment-option {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 16px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  text-align: left;
}

.storefront-cart-mobile-payment-option.is-selected {
  background: var(--sf-ext-color-alpha-x4f76fe04);
}

.storefront-cart-mobile-payment-option:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.storefront-cart-mobile-payment-option-leading {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-cart-mobile-payment-option-leading.is-fallback {
  background: var(--sf-color-border-subtle);
}

.storefront-cart-mobile-payment-option-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0;
}

.storefront-cart-mobile-payment-option-logo-fallback {
  color: var(--sf-color-text-primary-muted);
  font-size: 10px;
  line-height: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.storefront-cart-mobile-payment-option-body {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-cart-mobile-payment-option-title {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-mobile-payment-option-title.is-accent {
  color: var(--sf-ref-color-blue-100);
  font-weight: 500;
}

.storefront-cart-mobile-payment-option-copy {
  color: var(--sf-color-text-primary-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
}

.storefront-cart-mobile-payment-option-trailing {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sf-color-text-primary-muted);
}

.storefront-cart-mobile-payment-option-chevron {
  width: 16px;
  height: 16px;
  display: inline-flex;
  transform: rotate(-90deg);
}

.storefront-cart-cod-payment-option {
  display: grid;
  background: var(--sf-color-surface);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  padding: 16px 12px;
  outline: none;
  box-shadow: none;
}

.storefront-cart-cod-payment-option.is-promotion-ineligible {
  gap: 0;
  padding: 0;
  border: 1px solid var(--sf-color-background-error-mid);
  border-radius: 12px;
  background: var(--sf-color-background-error-base);
  overflow: hidden;
}

.storefront-cart-cod-payment-option-inner {
  display: grid;
  gap: 12px;
  padding: 16px 12px;
  border: 1px solid var(--sf-color-background-neutral-light-gray);
  border-radius: 12px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
}

.storefront-cart-cod-payment-option-warning {
  margin: 0;
  padding: 8px 12px;
  color: var(--sf-color-text-error-dark);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  line-height: var(--sf-ref-type-line-height-16);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-cart-cod-payment-option:focus,
.storefront-cart-cod-payment-option:focus-visible {
  outline: none;
  box-shadow: none;
}

.storefront-cart-cod-payment-option-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  display: block;
  text-align: left;
  cursor: pointer;
  outline: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.storefront-cart-cod-payment-option-toggle:focus,
.storefront-cart-cod-payment-option-toggle:focus-visible {
  outline: none;
  box-shadow: none;
}

.storefront-cart-cod-payment-option-toggle:disabled {
  cursor: default;
}

.storefront-cart-cod-payment-option-summary {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.storefront-cart-cod-payment-option-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-cart-cod-payment-option-title {
  display: block;
}

.storefront-cart-cod-payment-option-subtitle {
  display: block;
}

.storefront-cart-cod-payment-option-amount {
  justify-self: end;
  white-space: nowrap;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-cart-cod-payment-option-amount.is-cod-fee {
  border-radius: 12px;
  background: var(--sf-color-background-error-base);
  padding: 0 4px;
  color: var(--sf-color-text-error-dark);
}

.storefront-cart-cod-payment-option-amount.is-promotion-adjustment {
  border-radius: 12px;
  background: var(--sf-color-background-error-base);
  padding: 0 4px;
  color: var(--sf-color-text-error-dark);
}

.storefront-cart-cod-payment-option-indicator {
  justify-self: end;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--sf-color-border-subtle);
  border-radius: 999px;
  background: var(--sf-color-surface);
  color: transparent;
}

.storefront-cart-cod-payment-option-indicator.is-selected {
  border-color: var(--sf-color-status-success-accent);
  background: var(--sf-color-status-success-accent);
  color: var(--sf-color-surface);
}

.storefront-cart-cod-payment-option-indicator-check {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: currentColor;
}

.storefront-cart-cod-payment-option-expanded {
  width: 100%;
  display: grid;
  gap: 4px;
}

.storefront-cart-cod-payment-option-action {
  min-height: 48px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: var(--sf-color-brand-primary);
  padding: 12px 20px;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  text-align: center;
}

.storefront-cart-cod-payment-option-helper {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  text-align: center;
}

.storefront-cart-cod-payment-option-emphasis {
  color: inherit;
  font-weight: 500;
}

.storefront-cart-mobile-payment-option-divider {
  height: 1px;
  margin: 0 12px;
  background: var(--sf-color-surface-muted);
}

.storefront-checkout-desktop-layer {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: none;
  align-items: flex-start;
  justify-content: center;
  padding: 70px 24px 24px;
  background: var(--sf-ext-color-alpha-x33251948);
}

@media (min-width: 768px) {
  .storefront-checkout-desktop-layer {
    display: flex;
  }
}

.storefront-checkout-desktop-dialog {
  position: relative;
  width: min(924px, 100%);
  height: min(600px, calc(100dvh - 94px));
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 24px;
  overflow: hidden;
  border-radius: 24px;
  background: var(--sf-color-surface);
  padding: 24px;
  box-shadow: 0 24px 60px var(--sf-ext-color-alpha-x33251924);
}

.storefront-checkout-desktop-dialog.is-status-success {
  grid-template-rows: auto minmax(0, 1fr);
}

.storefront-checkout-desktop-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 20px;
}

.storefront-checkout-desktop-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-close {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--sf-color-text-tertiary);
}

.storefront-checkout-desktop-close:hover {
  background: var(--sf-color-surface-muted);
}

.storefront-checkout-desktop-close svg {
  width: 20px;
  height: 20px;
  display: block;
}

.storefront-checkout-desktop-bill-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  border-radius: 8px;
  background: var(--sf-color-background-brand-base);
  padding: 8px 16px;
}

.storefront-checkout-desktop-bill-bar p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.storefront-checkout-desktop-bill-action {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--sf-color-text-info-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-checkout-desktop-content {
  min-height: 0;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 24px;
}

.storefront-checkout-desktop-nav {
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
  background: var(--sf-color-surface-muted);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.storefront-checkout-desktop-nav-item {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  padding: 16px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--sf-color-text-primary);
  text-align: left;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-nav-item.is-selected {
  background: var(--sf-color-surface);
}

.storefront-checkout-desktop-nav-item:disabled {
  cursor: not-allowed;
}

.storefront-checkout-desktop-nav-item:disabled:not(.is-selected) {
  opacity: 0.35;
}

.storefront-checkout-desktop-nav-icon,
.storefront-checkout-desktop-option-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 0;
  background: transparent;
}

.storefront-checkout-desktop-nav-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.storefront-checkout-desktop-panel-shell {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.storefront-checkout-desktop-panel-track {
  width: 400%;
  height: 100%;
  display: flex;
  transform: translateX(0);
  transition: transform 260ms cubic-bezier(0.2, 0, 0, 1);
}

.storefront-checkout-desktop-panel-track.is-card-open {
  transform: translateX(-25%);
}

.storefront-checkout-desktop-panel-track.is-netbanking-open {
  transform: translateX(-50%);
}

.storefront-checkout-desktop-panel-track.is-emi-open {
  transform: translateX(-75%);
}

.storefront-checkout-desktop-panel {
  width: 25%;
  min-width: 0;
  min-height: 0;
  flex: 0 0 25%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.storefront-checkout-desktop-method-panel {
  gap: 24px;
}

.storefront-checkout-desktop-method-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-qr-action {
  width: 100%;
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  align-items: center;
  justify-content: center;
}

.storefront-checkout-desktop-option:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.storefront-checkout-desktop-show-qr {
  width: min(100%, 528px);
  min-height: 336px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 24px;
  background: transparent;
}

.storefront-checkout-desktop-show-qr-visible-caption {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 18px;
  line-height: 26px;
  font-weight: 300;
  text-align: center;
}

.storefront-checkout-desktop-show-qr-frame {
  position: relative;
  width: 160px;
  height: 160px;
  border: 1px solid var(--sf-color-border-emphasis);
  border-radius: 12px;
  background: var(--sf-color-surface);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition:
    border-color 180ms ease,
    opacity 180ms ease;
}

.storefront-checkout-desktop-show-qr-placeholder-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(3px);
  opacity: 0.28;
  transform: scale(1.02);
}

.storefront-checkout-desktop-show-qr-button {
  position: relative;
  z-index: 1;
  min-width: 112px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-background-brand-main);
  color: var(--sf-color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  text-align: center;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.storefront-checkout-desktop-show-qr-button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.storefront-checkout-desktop-show-qr-button:not(:disabled):active {
  transform: translateY(1px);
}

.storefront-checkout-desktop-show-qr-meta {
  width: 273px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.storefront-checkout-desktop-show-qr-dots {
  display: inline-flex;
  align-items: center;
  padding-right: 8px;
}

.storefront-checkout-desktop-show-qr-dots > span {
  width: 32px;
  height: 32px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 20px;
  background: var(--sf-color-surface);
  margin-right: -8px;
}

.storefront-checkout-desktop-show-qr-logo-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.storefront-checkout-desktop-show-qr-logo-chip img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.storefront-checkout-desktop-show-qr-caption {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
  text-align: center;
}

.storefront-checkout-desktop-show-qr-timer {
  margin: -6px 0 0;
  color: var(--sf-color-text-primary);
  font-size: 18px;
  line-height: 26px;
  font-weight: 300;
  text-align: center;
}

.storefront-checkout-desktop-show-qr-timer-value {
  color: var(--sf-ext-color-exact-xff3b30);
}

.storefront-checkout-desktop-options {
  display: grid;
  gap: 12px;
}

.storefront-checkout-desktop-option {
  width: 100%;
  min-height: 56px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  color: var(--sf-color-text-primary);
  text-align: left;
}

.storefront-checkout-desktop-option.is-choice {
  min-height: 60px;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  border-color: transparent;
  padding: 10px 12px;
}

.storefront-checkout-desktop-option.is-choice.is-selected {
  border-color: var(--sf-ext-color-exact-x005bd3);
}

.storefront-checkout-desktop-option:hover {
  border-color: var(--sf-color-border-emphasis);
}

.storefront-checkout-desktop-choice-box {
  width: 20px;
  height: 20px;
  border: 1px solid var(--sf-color-border-emphasis);
  border-radius: 12px;
  background: var(--sf-color-surface);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
}

.storefront-checkout-desktop-option.is-selected .storefront-checkout-desktop-choice-box {
  border-color: var(--sf-color-background-success-main);
  background: var(--sf-color-background-success-main);
  color: var(--sf-color-surface);
}

.storefront-checkout-desktop-choice-box svg {
  width: 12px;
  height: 12px;
  display: block;
}

.storefront-checkout-desktop-choice-box path {
  fill: none;
  stroke: currentColor;
}

.storefront-checkout-desktop-option-icon {
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-checkout-desktop-option-icon.is-fallback {
  background: var(--sf-color-surface-muted);
}

.storefront-checkout-desktop-option-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.storefront-checkout-desktop-option-fallback-label {
  display: none;
  color: var(--sf-color-text-tertiary);
  font-size: 10px;
  line-height: 12px;
  font-weight: 500;
}

.storefront-checkout-desktop-option-icon.is-fallback .storefront-checkout-desktop-option-fallback-label {
  display: inline;
}

.storefront-checkout-desktop-bank-slide {
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.storefront-checkout-desktop-bank-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.storefront-checkout-desktop-bank-back {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--sf-color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.storefront-checkout-desktop-bank-back svg {
  width: 18px;
  height: 18px;
}

.storefront-checkout-desktop-card-back {
  margin-bottom: 12px;
  flex: 0 0 auto;
}

.storefront-checkout-desktop-card-panel-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.storefront-checkout-desktop-card-panel-header .storefront-checkout-desktop-card-back {
  margin-bottom: 0;
}

.storefront-checkout-desktop-card-panel-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-panel.is-emi-card-panel .storefront-checkout-desktop-card-title {
  display: none;
}

.storefront-checkout-desktop-card-back + .storefront-checkout-desktop-card-form {
  height: auto;
  flex: 1 1 auto;
}

.storefront-checkout-desktop-bank-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-bank-list {
  min-height: 0;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 8px;
  padding-right: 4px;
}

.storefront-checkout-desktop-option-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.storefront-checkout-desktop-option-title {
  display: block;
  overflow: hidden;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.storefront-checkout-desktop-option-subtitle {
  display: block;
  overflow: hidden;
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.storefront-checkout-desktop-option-amount {
  color: var(--sf-color-text-secondary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  white-space: nowrap;
}

.storefront-checkout-desktop-option-amount.is-cod-fee {
  border-radius: 12px;
  background: var(--sf-color-background-error-base);
  padding: 0 4px;
  color: var(--sf-color-text-error-dark);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-checkout-desktop-promotion-indicator {
  width: 20px;
  height: 20px;
  justify-self: end;
  border: 1.5px solid var(--sf-color-background-neutral-mid-gray);
  border-radius: 12px;
  background: var(--sf-color-surface);
  color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-checkout-desktop-promotion-indicator.is-selected {
  border-color: var(--sf-color-background-success-main);
  background: var(--sf-color-background-success-main);
  color: var(--sf-color-surface);
}

.storefront-checkout-desktop-promotion-indicator svg {
  width: 12px;
  height: 12px;
  display: block;
}

.storefront-checkout-desktop-promotion-indicator path {
  fill: none;
  stroke: currentColor;
}

.storefront-checkout-desktop-promotion-option {
  display: grid;
  gap: 12px;
}

.storefront-checkout-desktop-promotion-option .storefront-checkout-desktop-option {
  border-color: transparent;
  padding: 16px 0;
  min-height: 60px;
}

.storefront-checkout-desktop-promotion-option .storefront-checkout-desktop-option:hover {
  border-color: transparent;
}

.storefront-checkout-desktop-promotion-option .storefront-checkout-desktop-option-title {
  font-weight: 300;
}

.storefront-checkout-desktop-promotion-warning {
  margin: 0;
  width: 100%;
  border: 1px solid var(--sf-color-background-error-mid);
  border-radius: 8px;
  background: var(--sf-color-background-error-base);
  padding: 8px 12px;
  color: var(--sf-color-text-error-dark);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  text-align: center;
}

.storefront-checkout-desktop-promotion-footer {
  margin-top: auto;
}

.storefront-checkout-desktop-promotion-cta {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-cta-neutral-primary);
  padding: 12px 20px;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  text-align: center;
}

.storefront-checkout-desktop-promotion-cta:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.storefront-checkout-desktop-choice-trailing {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  white-space: nowrap;
}

.storefront-checkout-desktop-choice-footer {
  margin-top: auto;
  display: grid;
  gap: 12px;
}

.storefront-checkout-desktop-choice-cta {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-cta-neutral-primary);
  padding: 14px 20px;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  text-align: center;
}

.storefront-checkout-desktop-choice-cta:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.storefront-checkout-desktop-choice-helper {
  margin: 0;
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  text-align: center;
}

.storefront-checkout-desktop-card-form {
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  gap: 16px;
  overflow: auto;
}

.storefront-checkout-desktop-card-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-card-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px;
  gap: 20px;
}

.storefront-checkout-desktop-field {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.storefront-checkout-desktop-field span {
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-checkout-desktop-field input,
.storefront-checkout-desktop-field select {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  padding: 10px 12px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
  outline: none;
}

.storefront-checkout-desktop-field input::placeholder {
  color: var(--sf-color-text-tertiary);
  font-weight: 300;
}

.storefront-checkout-desktop-field input:focus,
.storefront-checkout-desktop-field select:focus {
  border-color: var(--sf-color-border-emphasis);
}

@media (max-width: 767px), (pointer: coarse) {
  .storefront-checkout-desktop-field input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  .storefront-checkout-desktop-field select,
  .storefront-cart-address-sheet-form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  .storefront-cart-sheet-form-grid input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
  .storefront-cart-sheet-form-grid select {
    font-size: 16px !important;
  }
}

.storefront-checkout-desktop-secure-card {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-secure-card input {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--sf-color-brand-primary);
}

.storefront-checkout-desktop-info {
  width: 12px;
  height: 12px;
  border: 1px solid var(--sf-color-text-info-primary);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sf-color-text-info-primary);
  font-size: 9px;
  line-height: 10px;
  font-weight: 500;
}

.storefront-checkout-desktop-card-error {
  margin: -8px 0 0;
  color: var(--sf-color-text-error-dark);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

.storefront-checkout-desktop-card-submit {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-cta-neutral-primary);
  padding: 12px 20px;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  text-align: center;
}

.storefront-checkout-desktop-card-submit:disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.storefront-checkout-desktop-empty {
  margin: 0;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  padding: 12px 16px;
  color: var(--sf-color-text-secondary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-checkout-desktop-status-panel {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  text-align: center;
}

.storefront-checkout-desktop-status-panel.is-success {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, color-mix(in srgb, var(--sf-color-status-success-surface) 0%, transparent) 0%, var(--sf-color-status-success-surface) 100%);
}

.storefront-checkout-desktop-status-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.storefront-checkout-desktop-status-message {
  display: grid;
  gap: 4px;
  justify-items: center;
}

.storefront-checkout-desktop-status-title,
.storefront-checkout-desktop-status-subtitle,
.storefront-checkout-desktop-status-hint {
  margin: 0;
}

.storefront-checkout-desktop-status-title {
  color: var(--sf-color-text-primary);
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
}

.storefront-checkout-desktop-status-subtitle,
.storefront-checkout-desktop-status-hint {
  color: var(--sf-color-text-tertiary);
  font-size: 12px;
  line-height: 16px;
}

.storefront-checkout-desktop-status-subtitle {
  font-weight: 700;
}

.storefront-checkout-desktop-status-hint {
  font-weight: 700;
}

.storefront-checkout-desktop-status-panel.is-success .storefront-checkout-desktop-status-subtitle,
.storefront-checkout-desktop-status-panel.is-success .storefront-checkout-desktop-status-hint,
.storefront-checkout-desktop-status-panel.is-failure .storefront-checkout-desktop-status-subtitle,
.storefront-checkout-desktop-status-panel.is-pending .storefront-checkout-desktop-status-subtitle,
.storefront-checkout-desktop-status-panel.is-pending .storefront-checkout-desktop-status-hint {
  font-weight: 300;
}

.storefront-checkout-desktop-status-panel.is-pending .storefront-checkout-desktop-status-subtitle,
.storefront-checkout-desktop-status-panel.is-pending .storefront-checkout-desktop-status-hint {
  color: var(--sf-color-text-muted);
}

.storefront-checkout-desktop-status-panel.is-qr .storefront-checkout-desktop-status-content {
  gap: 20px;
}

.storefront-checkout-desktop-status-qr-card {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-surface);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  overflow: hidden;
}

.storefront-checkout-desktop-status-qr-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.storefront-checkout-desktop-status-spinner {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: conic-gradient(
    from 0deg,
    var(--sf-color-background-brand-main) 0deg,
    var(--sf-color-background-brand-main) 82deg,
    var(--sf-ext-color-exact-xfff2cf) 82deg,
    var(--sf-ext-color-exact-xfff2cf) 360deg
  );
  animation: storefront-checkout-status-spin 1.1s linear infinite;
  mask: radial-gradient(farthest-side, transparent calc(100% - 16px), var(--sf-ref-color-opacity-black-100) 0);
}

.storefront-checkout-desktop-status-success-icon,
.storefront-checkout-desktop-status-failure-icon {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-checkout-desktop-status-success-icon {
  background: var(--sf-color-background-success-main);
  color: var(--sf-color-surface);
}

.storefront-checkout-desktop-status-success-icon svg {
  width: 31px;
  height: 31px;
  display: block;
}

.storefront-checkout-desktop-status-success-icon path {
  fill: none;
  stroke: currentColor;
}

.storefront-checkout-desktop-status-failure-icon {
  background: var(--sf-ref-color-orange-100);
  color: var(--sf-color-surface);
  font-size: 24px;
  line-height: 24px;
  font-weight: 700;
}

.storefront-checkout-desktop-status-actions {
  display: grid;
  gap: 12px;
  width: min(280px, 100%);
}

.storefront-checkout-desktop-status-primary,
.storefront-checkout-desktop-status-secondary {
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 12px 20px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-status-primary {
  background: var(--sf-color-cta-neutral-primary);
}

.storefront-checkout-desktop-status-secondary {
  background: transparent;
}

.storefront-checkout-desktop-cancel-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: inherit;
  background: var(--sf-ext-color-alpha-x33251942);
  padding: 24px;
}

.storefront-checkout-desktop-cancel-card {
  width: min(360px, 100%);
  border-radius: 16px;
  background: var(--sf-color-surface);
  padding: 24px;
  box-shadow: 0 16px 40px var(--sf-ext-color-alpha-x33251924);
}

.storefront-checkout-desktop-cancel-copy {
  display: grid;
  gap: 8px;
}

.storefront-checkout-desktop-cancel-title,
.storefront-checkout-desktop-cancel-message {
  margin: 0;
  color: var(--sf-color-text-primary);
}

.storefront-checkout-desktop-cancel-title {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-checkout-desktop-cancel-message {
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-checkout-desktop-cancel-actions {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

@keyframes storefront-checkout-status-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .storefront-checkout-desktop-status-spinner {
    animation: none;
  }
}

.storefront-cart-sheet-form {
  display: grid;
  gap: 12px;
}

.storefront-cart-sheet-form-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-sheet-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.storefront-cart-sheet-form-grid label {
  display: grid;
  gap: 6px;
}

.storefront-cart-sheet-form-grid label.is-wide {
  grid-column: 1 / -1;
}

.storefront-cart-sheet-form-grid span {
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-postal-feedback {
  margin: 0;
  color: var(--sf-color-text-primary-muted);
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
}

.storefront-cart-postal-feedback.is-error {
  color: var(--sf-ext-color-exact-xb42318);
}

.storefront-cart-postal-feedback.is-success {
  display: grid;
  gap: 2px;
}

.storefront-cart-postal-feedback.is-success p {
  margin: 0;
}

.storefront-cart-sheet-form-grid input {
  min-height: 44px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  background: var(--sf-color-surface);
  padding: 0 12px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
}

.storefront-cart-sheet-form-grid select {
  min-height: 44px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  background: var(--sf-color-surface);
  padding: 0 12px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  text-transform: lowercase;
}

.storefront-cart-sheet-submit {
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background: var(--sf-color-brand-primary);
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  cursor: pointer;
}

.storefront-cart-sheet-submit:disabled,
.storefront-cart-sheet-option:disabled,
.storefront-cart-address-sheet-option:disabled,
.storefront-cart-address-sheet-add:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.storefront-cart-address-layer.is-desktop {
  align-items: stretch;
  justify-items: end;
}

.storefront-cart-address-layer.is-desktop:not(.is-standalone) {
  position: absolute;
  z-index: 12;
}

.storefront-cart-address-layer.is-desktop .storefront-cart-sheet-dismiss {
  background: color-mix(in srgb, var(--sf-color-text-primary) 42%, transparent);
}

.storefront-cart-address-layer.is-desktop:not(.is-standalone) .storefront-cart-sheet-dismiss {
  background: transparent;
}

.storefront-cart-address-sheet.is-desktop {
  width: min(560px, 100vw);
  height: 100dvh;
  max-height: 100dvh;
  border-radius: 0;
  padding: 16px 16px calc(24px + env(safe-area-inset-bottom));
  box-shadow: -8px 0 28px color-mix(in srgb, var(--sf-color-text-primary) 16%, transparent);
  gap: 20px;
  align-content: start;
}

.storefront-cart-address-sheet.is-desktop .storefront-cart-sheet-grab {
  display: none;
}

.storefront-cart-address-sheet.is-desktop .storefront-cart-address-sheet-list {
  max-height: calc(100dvh - 176px);
  overflow: auto;
  padding-right: 2px;
}

.storefront-cart-address-sheet.is-desktop .storefront-cart-address-sheet-form {
  max-height: calc(100dvh - 224px);
  overflow: auto;
  padding-right: 2px;
}

.storefront-cart-address-sheet.is-desktop .storefront-cart-sheet-submit {
  width: min(328px, 100%);
  justify-self: center;
  min-height: 44px;
  padding: 12px 20px;
  height: 44px;
}

.storefront-cart-address-layer.is-desktop:not(.is-standalone) .storefront-cart-address-sheet.is-desktop {
  width: 100%;
  max-width: 100%;
  box-shadow: none;
}

.storefront-cart-address-layer.is-desktop.is-standalone {
  align-items: start;
  justify-items: center;
  padding: 24px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-sheet-dismiss {
  background: var(--sf-ext-color-alpha-x33251950);
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet.is-desktop {
  width: 520px;
  max-width: calc(100vw - 48px);
  height: auto;
  max-height: calc(100dvh - 48px);
  border-radius: 24px;
  padding: 24px;
  gap: 16px;
  overflow: hidden;
  box-shadow: 0 18px 48px var(--sf-ext-color-alpha-x33251918);
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-list {
  max-height: calc(100dvh - 152px);
  padding-right: 0;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-add {
  padding: 0 0 12px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-option {
  padding: 14px 0;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-header {
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  gap: 12px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-header p {
  grid-column: 2;
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-header > button:last-child {
  grid-column: 3;
  width: 20px;
  height: 20px;
  padding: 0;
  color: var(--sf-color-text-muted);
  font-size: 24px;
  line-height: 20px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-back {
  color: var(--sf-color-text-primary);
  font-size: 18px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form {
  max-height: none;
  overflow: visible;
  padding-right: 0;
  gap: 20px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form label {
  gap: 0;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form label > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form input {
  min-height: 44px;
  border-radius: 8px;
  padding: 0 16px;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 300;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form input::placeholder {
  color: var(--sf-color-text-muted);
  opacity: 1;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form input[readonly] {
  background: var(--sf-color-surface-muted);
  color: var(--sf-color-text-muted);
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-type-chip-group {
  gap: 12px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-form-grid {
  gap: 20px;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-helper {
  margin: -18px 0 0;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-address-sheet-divider {
  margin: -4px 0 0;
}

.storefront-cart-address-layer.is-desktop.is-standalone .storefront-cart-sheet-submit {
  width: 100%;
  min-height: 44px;
  height: 44px;
  justify-self: stretch;
  padding: 12px 20px;
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer.is-mobile {
  background: var(--sf-color-surface);
}

.storefront-cart-drawer.is-mobile .storefront-cart-drawer-header {
  min-height: 48px;
  padding: 10px 16px 8px;
  border-bottom: 0;
  background: var(--sf-color-surface);
}

.storefront-cart-drawer.is-mobile .storefront-cart-drawer-title {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer.is-mobile .storefront-cart-drawer-body {
  gap: 0;
  background: var(--sf-color-surface);
}

.storefront-cart-drawer.is-mobile .storefront-cart-status,
.storefront-cart-drawer.is-mobile .storefront-cart-error,
.storefront-cart-drawer.is-mobile .storefront-cart-empty-layout {
  margin: 12px 16px 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-layout {
  padding: 20px 0 calc(40px + env(safe-area-inset-bottom));
  gap: 24px;
  justify-items: stretch;
  align-content: start;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-state {
  gap: 16px;
  max-width: min(100%, 328px);
  padding-top: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-image-frame,
.storefront-cart-drawer.is-mobile .storefront-cart-empty-illustration {
  width: 168px;
  height: 168px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-copy-block {
  gap: 8px;
  max-width: 312px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-home-link {
  width: min(100%, 224px);
  min-height: 48px;
  padding: 13px 20px;
}

.storefront-cart-drawer.is-mobile .storefront-empty-cart-wishlist-section {
  width: 100%;
  gap: 12px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-divider {
  width: calc(100% + 32px);
  margin-inline: -16px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-cart-empty-layout {
  padding-top: 20px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-empty-slot-stack {
  gap: 20px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-savings-banner {
  min-height: 28px;
  margin: 8px 16px 10px;
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  line-height: 16px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-cart-savings-banner {
  margin: 8px 16px 0;
  border: 1px solid var(--sf-color-status-offer-surface-strong);
  background: var(--sf-color-status-offer-surface);
  color: var(--sf-color-status-offer-text);
  box-shadow: none;
  font-weight: 500;
}

.storefront-cart-drawer.is-mobile .storefront-cart-items {
  gap: 0;
  margin: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-unavailable-banner {
  margin: 8px 0;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-cart-items {
  display: grid;
  gap: 0;
  background: var(--sf-color-surface);
  padding: 12px 16px 16px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-cart-item-group {
  gap: 0;
}

.storefront-cart-drawer.is-mobile .storefront-mobile-cart-post-items {
  margin: 0;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-post-items {
  gap: 24px;
  padding: 16px 16px 24px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-card {
  border: 0;
  border-bottom: 1px solid var(--sf-color-surface-muted);
  border-radius: 0;
  padding: 24px 20px 18px;
  gap: 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-main {
  grid-template-columns: 184px minmax(0, 1fr);
  gap: 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-card:last-child {
  border-bottom: 0;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-item,
.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-gift-item {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 12px 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-media {
  width: 184px;
  height: 213px;
  border-radius: 20px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-copy {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title title"
    "variant controls"
    "price controls"
    "secondary controls"
    "badge controls"
    "delivery delivery";
  gap: 8px 12px;
  padding-top: 6px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-title {
  grid-area: title;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 400;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-meta-group {
  grid-area: variant;
  margin-right: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-price-row {
  grid-area: price;
  margin-right: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-secondary-meta {
  grid-area: secondary;
  margin-right: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-status-badge {
  grid-area: badge;
  margin-right: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-delivery-copy {
  grid-area: delivery;
  margin-right: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-checkout-warning,
.storefront-cart-drawer.is-mobile .storefront-cart-item-gift-wrap {
  grid-column: 1 / -1;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-remove {
  width: 16px;
  height: 16px;
  color: var(--sf-color-text-muted);
  font-size: 18px;
  line-height: 1;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-price-row p {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-compare-price {
  font-size: 18px;
  line-height: 1.2;
  font-weight: 300;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-discount-pill {
  font-size: 14px;
  line-height: 18px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-discount-pill span:first-child {
  font-size: 18px;
  line-height: 1.2;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-return-copy,
.storefront-cart-drawer.is-mobile .storefront-cart-item-delivery-copy {
  font-size: 18px;
  line-height: 1.25;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-low-stock,
.storefront-cart-drawer.is-mobile .storefront-cart-item-variant-help {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 500;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-status-badge {
  min-height: 24px;
  padding: 0 10px 0 8px;
  font-size: 14px;
  line-height: 1.25;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-checkout-warning {
  margin-top: 4px;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 600;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-gift-wrap {
  min-height: 32px;
  border-radius: 10px;
  padding: 0 10px;
  font-size: 14px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-gift-wrap-copy {
  gap: 6px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-gift-wrap-remove {
  margin-left: 6px;
  padding-left: 10px;
  border-left: 1px solid var(--sf-ext-color-exact-xc8b5c1);
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-controls {
  grid-area: controls;
  position: static;
  justify-self: end;
  align-self: center;
  min-height: 60px;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 999px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  background: var(--sf-color-surface);
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-controls button {
  width: 24px;
  height: 24px;
  background: transparent;
}

.storefront-cart-drawer.is-mobile .storefront-cart-item-controls span {
  min-width: 20px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-gift-card {
  margin: 12px 16px 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-panel,
.storefront-cart-drawer.is-mobile .storefront-cart-wallet-card,
.storefront-cart-drawer.is-mobile .storefront-cart-bill-breakdown {
  border: 1px solid var(--sf-color-surface-muted);
  border-radius: 12px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  padding: 12px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-savings-card {
  padding: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-cross-sell {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  gap: 12px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-tabs button {
  min-height: 24px;
  padding: 0 8px;
  border-radius: 8px;
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer.is-mobile .storefront-cart-tabs button.is-active {
  color: var(--sf-color-surface);
  font-weight: 500;
}

.storefront-cart-drawer.is-mobile .storefront-cart-cross-sell-grid {
  grid-auto-flow: column;
  grid-auto-columns: 92px;
  grid-template-columns: unset;
  grid-template-rows: repeat(2, auto);
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-cross-sell-card {
  background: transparent;
  border-radius: 0;
  overflow: visible;
  display: grid;
  gap: 4px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-cross-sell-thumb {
  aspect-ratio: 92 / 106;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.storefront-cart-drawer.is-mobile .storefront-cart-bill-breakdown > div {
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payable-row {
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  border-top: 1px solid var(--sf-color-surface-muted);
  padding-top: 8px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payable-row p {
  font-weight: 700;
}

.storefront-cart-drawer.is-mobile .storefront-cart-drawer-footer {
  border-top: 0;
  border-radius: 16px 16px 0 0;
  box-shadow: 0 -4px 8px var(--sf-ext-color-shadow-base);
  padding: 0 0 calc(12px + env(safe-area-inset-bottom));
  gap: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-address-row {
  background: var(--sf-color-background-brand-base);
  border-radius: 16px 16px 0 0;
  border-bottom: 1px solid var(--sf-color-surface-muted);
  padding: 12px 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-address-row .storefront-cart-address-copy {
  gap: 2px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-row {
  padding: 12px 16px 0;
  gap: 12px;
  align-items: center;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-row.is-mobile {
  grid-template-columns: minmax(0, 1fr) auto;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-row.is-mobile.is-split-cta {
  grid-template-columns: minmax(0, 1fr) 196.8px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-row--desktop-drawer-summary {
  grid-template-columns: minmax(0, 1fr) 196.8px;
  gap: 24px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  justify-self: stretch;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-toggle {
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  align-content: start;
  gap: 4px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-summary {
  align-items: start;
  gap: 4px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-row--desktop-drawer-summary .storefront-cart-payment-summary {
  min-height: 40px;
  align-content: center;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-row--desktop-drawer-summary .storefront-cart-payment-cta {
  justify-self: end;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-logo {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  border-radius: 6px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-logo img {
  padding: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-logo-fallback {
  font-size: 10px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-summary-copy {
  gap: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-label {
  gap: 2px;
  font-size: 12px;
  line-height: 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-method {
  font-size: 10px;
  line-height: 14px;
  font-weight: 300;
  white-space: nowrap;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-channel {
  color: var(--sf-color-text-muted);
  font-size: 10px;
  line-height: 14px;
  white-space: nowrap;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-cta {
  min-width: 196px;
  width: 196.8px;
  min-height: 52px;
  border-radius: 12px;
  font-size: 16px;
  line-height: 20px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-payment-cta-full {
  width: 100%;
  min-width: 0;
}

.storefront-cart-drawer.is-mobile .storefront-cart-address-row + .storefront-cart-payment-row {
  border-top: 0;
}

.storefront-cart-standalone-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.storefront-cart-drawer.is-standalone {
  min-height: calc(100dvh - 108px);
}

.storefront-cart-drawer.is-standalone.is-mobile {
  min-height: 100dvh;
}

.storefront-cart-drawer.is-standalone .storefront-cart-empty-layout {
  width: 100%;
  justify-items: center;
}

.storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-empty-layout {
  min-height: auto;
  align-content: start;
}

.storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-empty-layout {
  align-content: center;
}

@keyframes storefront-cart-drawer-enter {
  from {
    transform: translateX(22px);
    opacity: 0.7;
  }

  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@media (max-width: 420px) {
  .storefront-search-drawer-continue-exploring-list {
    gap: 10px;
  }
}

@media (min-width: 1024px) {
  .storefront-search-drawer-suggestions {
    display: grid;
    margin: 0;
    padding: 0.25rem;
    border: 1px solid var(--sf-color-search-border);
    border-radius: 0.9rem;
    box-shadow: none;
  }

  .storefront-search-drawer-suggestions > li + li {
    border-top: 0;
  }

  .storefront-search-suggestion-row-button {
    border-radius: 0.65rem;
  }

  .storefront-search-results-text-style {
    padding: 6px 16px;
    border-radius: 0.65rem;
  }

  .storefront-search-suggestion-row-button:hover .storefront-search-results-text-style {
    background: color-mix(in srgb, var(--sf-color-input-disabled) 80%, var(--sf-color-surface) 20%);
  }

  .storefront-cart-drawer-backdrop {
    display: flex;
    justify-content: flex-end;
    background: color-mix(in srgb, var(--sf-color-text-primary) 42%, transparent);
  }

  .storefront-cart-drawer-shell {
    width: min(560px, 96vw);
    box-shadow: -8px 0 28px color-mix(in srgb, var(--sf-color-text-primary) 16%, transparent);
  }

  .storefront-cart-drawer {
    background: var(--sf-color-surface);
  }

  .storefront-cart-coupon-selector.is-desktop-drawer {
    position: fixed;
    inset: 0;
    z-index: 120;
    background: transparent;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
  }

  .storefront-cart-coupon-selector.is-desktop-drawer .storefront-cart-coupon-selector-backdrop {
    position: absolute;
    inset: 0;
    display: block;
    border: 0;
    padding: 0;
    background: color-mix(in srgb, var(--sf-color-text-primary) 42%, transparent);
    cursor: pointer;
  }

  .storefront-cart-coupon-selector.is-desktop-drawer .storefront-cart-coupon-selector-panel {
    position: relative;
    z-index: 1;
    width: min(400px, 100vw);
    height: 100dvh;
    background: var(--sf-color-input-disabled);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    box-shadow: -8px 0 28px color-mix(in srgb, var(--sf-color-text-primary) 16%, transparent);
    animation: storefront-cart-drawer-enter 220ms ease-out;
  }

  .storefront-cart-coupon-selector.is-desktop-drawer .storefront-cart-coupon-selector-header {
    padding: 6px 20px;
  }

  .storefront-cart-drawer-body {
    padding: 16px;
  }

  .storefront-cart-drawer-footer {
    padding: 12px 16px;
  }

  .storefront-cart-drawer.is-desktop:not(.is-standalone)
    .storefront-cart-drawer-footer
    .storefront-cart-payment-row--summary {
    grid-template-columns: minmax(0, 1fr) 196px;
    gap: 24px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    justify-self: stretch;
  }

  .storefront-cart-drawer.is-desktop:not(.is-standalone)
    .storefront-cart-drawer-footer
    .storefront-cart-payment-summary {
    min-height: 40px;
    gap: 4px;
  }

  .storefront-cart-drawer.is-desktop:not(.is-standalone)
    .storefront-cart-drawer-footer
    .storefront-cart-payment-cta {
    min-width: 196px;
    min-height: 52px;
    padding: 0 24px;
    border-radius: 12px;
    justify-self: end;
  }

  .storefront-cart-cross-sell-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .storefront-cart-standalone-shell {
    width: min(
      var(--storefront-page-container-max),
      calc(100% - (var(--storefront-page-container-gutter) * 2))
    );
    margin: 32px auto 80px;
  }

  .storefront-cart-drawer.is-standalone {
    min-height: calc(100dvh - 145px);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .storefront-cart-drawer.is-standalone.is-desktop {
    height: auto;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-empty-layout {
    padding: 24px 0 32px;
    justify-items: center;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-empty-divider {
    width: 240px;
    height: 1px;
    margin: 0 auto;
    background: var(--sf-color-border-subtle);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-empty-layout {
    min-height: auto;
    padding: 28px 0 72px;
    gap: 40px;
    justify-items: stretch;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-empty-slot-stack {
    width: 100%;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-empty-slot-stack > .cms-v1-promo-banner,
  .storefront-cart-drawer.is-desktop .storefront-cart-empty-slot-stack > .cms-v1-banner-grid {
    display: none !important;
  }

  .storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid .cms-v1-content-wrap {
    min-width: 0 !important;
  }

  .storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-layout {
    grid-auto-flow: column !important;
    grid-auto-columns: max-content !important;
    grid-template-columns: none !important;
    justify-content: start !important;
    column-gap: 20px !important;
    row-gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-x: contain !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-layout::-webkit-scrollbar {
    display: none !important;
  }

  .storefront-cart-drawer:not(.is-standalone) .cms-v1-category-tile-grid-item {
    justify-self: start !important;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-header {
    min-height: auto;
    padding: 0 0 24px;
    border-bottom: 0;
    background: transparent;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    width: 100%;
    position: static;
    top: auto;
    z-index: auto;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-header .storefront-cart-drawer-wishlist {
    align-self: center;
  }

  .storefront-cart-standalone-desktop-title {
    font-family: var(--sf-ref-type-family-lexend);
    font-size: var(--sf-ref-type-size-large);
    font-weight: var(--sf-ref-type-weight-medium);
    line-height: var(--sf-ref-type-line-height-24);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-drawer-body {
    overflow: visible;
    padding: 0;
    gap: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(332px, 364px);
    align-items: start;
    gap: 20px;
  }

  .storefront-cart-page-loading {
    grid-template-columns: minmax(0, 1fr) minmax(332px, 364px);
    align-items: start;
    gap: 20px;
  }

  .storefront-checkout-selection-loading {
    grid-template-columns: minmax(0, 1fr) minmax(332px, 364px);
    align-items: start;
    gap: 20px;
    width: min(1100px, calc(100% - 32px));
    margin: 32px auto;
    padding: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-main {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 16px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-card {
    display: block;
    grid-template-columns: none;
    padding: 14px 16px;
    gap: 12px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-grid {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 120px minmax(112px, 132px) 24px;
    grid-template-areas: "media info quantity price remove";
    align-items: start;
    column-gap: 14px;
    row-gap: 8px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-media {
    position: relative;
    grid-area: media;
    width: 92px;
    height: 106px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--sf-color-input-disabled);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-media.is-sold-out img {
    filter: grayscale(1) saturate(0.2);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-info {
    grid-area: info;
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 8px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-copy {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 6px;
  }

.storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 400;
  display: -webkit-box;
  overflow: hidden;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-title.is-sold-out {
  color: var(--sf-color-text-primary-muted);
}

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--sf-color-text-secondary);
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-messages {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 4px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-variant-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 24px;
    border-radius: 13px;
    background: var(--sf-color-surface-muted);
    padding: 4px 8px;
    color: var(--sf-color-text-secondary);
    font-size: 12px;
    line-height: 16px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-variant-help,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-return-copy,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-delivery-copy {
    margin: 0;
    color: var(--sf-color-text-primary-muted);
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock {
    color: var(--sf-color-text-decorative-peach-primary, var(--sf-color-background-decorative-peach-main));
    font-weight: 500;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-return-copy {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 14px;
    font-weight: 500;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-status.is-error {
    background: var(--sf-ext-color-exact-xfbe9e8);
    color: var(--sf-ext-color-exact-xb33b30);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-status.is-success {
    background: var(--sf-color-status-success-surface);
    color: var(--sf-color-status-success-text);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-status.is-neutral {
    background: var(--sf-color-surface-muted);
    color: var(--sf-color-text-primary-muted);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-quantity {
    grid-area: quantity;
    align-self: center;
    justify-self: center;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-controls {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    border: 1px solid var(--sf-color-border-subtle);
    border-radius: 999px;
    background: var(--sf-color-surface);
    padding: 0 10px;
    box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-controls button {
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 999px;
    background: var(--sf-color-surface-muted);
    color: var(--sf-color-text-primary);
    cursor: pointer;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-controls span {
    min-width: 18px;
    text-align: center;
    color: var(--sf-color-text-primary);
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-price {
    grid-area: price;
    min-width: 0;
    display: grid;
    justify-items: end;
    align-content: center;
    gap: 6px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-price-row {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-price-row p {
    margin: 0;
    color: var(--sf-color-text-primary);
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    white-space: nowrap;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-compare-price {
    color: var(--sf-color-text-muted);
    text-decoration: line-through;
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-remove {
    grid-area: remove;
    align-self: start;
    justify-self: end;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-remove .storefront-cart-item-remove {
    margin: 0;
    padding: 0;
    position: static;
    width: 20px;
    height: 20px;
    color: var(--sf-color-text-muted);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-discount-pill {
    gap: 4px;
    padding: 0 8px;
    font-size: 11px;
    line-height: 14px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-discount-pill span:first-child {
    font-size: 13px;
    line-height: 16px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-checkout-warning,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-gift-wrap {
    margin: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-checkout-warning {
    color: var(--sf-ext-color-exact-x9c2f2f);
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-gift-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    min-height: 22px;
    border-radius: 10px;
    padding: 2px 8px;
    background: var(--sf-color-background-decorative-magenta-base);
    color: var(--sf-color-background-decorative-magenta-main);
    font-size: 10px;
    line-height: 14px;
    font-weight: 500;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-gift-wrap-copy {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-gift-wrap-copy .storefront-cart-item-inline-icon {
    width: 12px;
    height: 12px;
    color: var(--sf-color-background-decorative-magenta-main);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-gift-wrap-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 12px;
    line-height: 1;
    margin-left: 2px;
    padding-left: 10px;
    border-left: 1px solid var(--sf-ext-color-exact-xc8b5c1);
    cursor: pointer;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-gift-wrap-remove:disabled {
    cursor: default;
    opacity: 0.6;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-gift-grid {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-gift-copy {
    min-width: 0;
    display: grid;
    gap: 6px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-row {
    display: flex;
    align-items: center;
    border: 1px solid var(--sf-color-surface-muted);
    border-radius: 12px;
    background: var(--sf-color-surface);
    overflow: hidden;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-intro,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-action {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-intro {
    flex: 1 1 auto;
    min-width: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-divider {
    width: 1px;
    height: 16px;
    flex: 0 0 auto;
    background: var(--sf-ext-color-exact-xece8df);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-action {
    min-width: 176px;
    border: 0;
    background: transparent;
    justify-content: space-between;
    cursor: pointer;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-icon,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-chevron {
    width: 14px;
    height: 14px;
    color: var(--sf-color-text-primary-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-copy {
    color: var(--sf-color-text-primary);
    font-size: 12px;
    line-height: 16px;
    font-weight: 500;
    white-space: nowrap;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-rail {
    min-width: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-rail-sticky {
    position: sticky;
    top: 24px;
    display: grid;
    align-content: start;
    gap: 12px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-savings-card,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-card,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-gst-card,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-bill-breakdown {
    padding: 14px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-savings-card {
    padding: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-entry-row,
  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-applied-row {
    align-items: center;
    padding: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-link-row {
    white-space: nowrap;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion {
    border-radius: 8px;
    padding: 8px 10px;
    align-items: flex-start;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion button {
    align-self: center;
    min-height: 26px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-row {
    gap: 10px;
    padding-top: 10px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-login {
    min-height: 40px;
    border-radius: 12px;
    padding: 0 18px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout {
    padding: 14px;
    display: grid;
    gap: 12px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-address-row {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: start;
    gap: 10px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-address-icon {
    width: 18px;
    height: 18px;
    margin-top: 1px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-row {
    grid-template-columns: minmax(0, 1fr) 176px;
    gap: 10px;
    align-items: stretch;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-row--single-cta {
    grid-template-columns: minmax(0, 1fr);
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-row--summary {
    grid-template-columns: minmax(88px, max-content) minmax(196px, 1fr);
    gap: 24px;
    align-items: center;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-summary {
    min-width: 88px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-toggle {
    min-height: 64px;
    border-radius: 12px;
    padding: 10px 12px;
    align-content: center;
    gap: 2px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-summary {
    gap: 4px;
    min-height: 52px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-summary-label {
    font-size: 11px;
    line-height: 14px;
    color: var(--sf-color-text-tertiary);
    font-weight: 300;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-summary-amount {
    font-size: 16px;
    line-height: 20px;
    color: var(--sf-color-text-primary);
    font-weight: 500;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-label {
    font-size: 11px;
    line-height: 14px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-method {
    font-size: 12px;
    line-height: 16px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-channel {
    font-size: 11px;
    line-height: 14px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout .storefront-cart-payment-cta {
    min-width: 0;
    min-height: 52px;
    border-radius: 12px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-bill-breakdown {
    gap: 10px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payable-row {
    padding-top: 10px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-gst-toggle {
    gap: 10px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-rail-savings-banner {
    margin: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-recommendations {
    margin-top: 20px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-drawer-footer {
    bottom: 0;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-empty-state {
    max-width: 360px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-empty-slot-stack {
    gap: 40px;
  }
}

.storefront-mobile-cart-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  min-height: 52px;
  padding: 6px 16px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 1px 0 var(--sf-color-border-subtle);
}

.storefront-mobile-cart-header-slot {
  display: flex;
  align-items: center;
}

.storefront-mobile-cart-header-slot.is-leading {
  justify-content: flex-start;
}

.storefront-mobile-cart-header-slot.is-trailing {
  justify-content: flex-end;
}

.storefront-mobile-cart-header-action {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-primary);
}

.storefront-mobile-cart-header-action svg {
  width: 20px;
  height: 20px;
}

.storefront-mobile-cart-header-wishlist.is-badged {
  overflow: visible;
}

.storefront-mobile-cart-header-badge {
  position: absolute;
  top: -4px;
  right: -7px;
  min-width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--sf-color-text-neutral-primary);
  color: var(--sf-color-background-neutral-base);
  padding: 0 4px;
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 8px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 14px;
  text-align: center;
}

.storefront-mobile-cart-header-title {
  margin: 0;
  justify-self: center;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-medium);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-item {
  display: grid;
  gap: 10px;
  padding: 12px 16px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: inset 0 -1px 0 var(--sf-color-border-subtle);
}

.storefront-cart-unavailable-banner {
  display: grid;
  justify-items: center;
  gap: 4px;
  margin: 8px 16px;
  padding: 4px 10px;
  border: 1px solid var(--sf-ref-color-orange-25);
  border-radius: 8px;
  background: var(--sf-ref-color-orange-10);
  color: var(--sf-ref-color-orange-100);
  text-align: center;
}

.storefront-cart-unavailable-banner p {
  margin: 0;
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-cart-unavailable-banner p:first-child {
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-cart-unavailable-banner p:last-child {
  font-weight: var(--sf-ref-type-weight-light);
}

.storefront-mobile-cart-gift-item {
  display: grid;
  gap: 10px;
  padding: 12px 16px;
  background:
    linear-gradient(90deg, var(--sf-color-brand-soft) 0%, color-mix(in srgb, var(--sf-color-brand-soft) 0%, transparent) 100%),
    var(--sf-color-background-neutral-base);
  box-shadow: inset 0 -1px 0 var(--sf-color-border-subtle);
}

.storefront-mobile-cart-item-main {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.storefront-mobile-cart-item-media {
  position: relative;
  width: 92px;
  height: 106px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--sf-color-background-neutral-light-gray);
}

.storefront-mobile-cart-item-media.is-sold-out img {
  filter: grayscale(1) saturate(0.2);
}

.storefront-mobile-cart-item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-mobile-cart-item-copy {
  position: relative;
  display: grid;
  gap: 6px;
  min-width: 0;
  padding-top: 6px;
  padding-bottom: 6px;
}

.storefront-mobile-cart-item-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.storefront-mobile-cart-item-info {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 6px;
}

.storefront-mobile-cart-item-side {
  display: grid;
  justify-items: end;
  align-content: start;
  gap: 6px;
}

.storefront-mobile-cart-gift-copy {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
  padding-top: 6px;
  padding-bottom: 6px;
}

.storefront-mobile-cart-item-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  gap: 12px;
  align-items: start;
}

.storefront-mobile-cart-item-title {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
  text-decoration: none;
}

.storefront-mobile-cart-item-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-secondary);
}

.storefront-mobile-cart-item-remove svg,
.storefront-mobile-cart-sheet-close svg {
  width: 16px;
  height: 16px;
}

.storefront-mobile-cart-item-variant {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  min-height: 18px;
  padding: 0 8px;
  border: 0;
  border-radius: 13px;
  background: var(--sf-color-background-neutral-light-gray);
  color: var(--sf-color-text-neutral-secondary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-mobile-cart-item-variant-label {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.storefront-mobile-cart-item-low-stock,
.storefront-mobile-cart-item-variant-help,
.storefront-mobile-cart-item-warning,
.storefront-mobile-cart-gift-badge,
.storefront-mobile-cart-gift-label,
.storefront-mobile-cart-item-status,
.storefront-mobile-cart-item-gift-wrap {
  margin: 0;
  width: fit-content;
  font-family: var(--sf-ref-type-family-lexend);
}

.storefront-mobile-cart-item-low-stock,
.storefront-mobile-cart-item-variant-help {
  font-size: var(--sf-ref-type-size-small);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-14);
}

.storefront-mobile-cart-item-low-stock {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-decorative-peach-primary, var(--sf-color-background-decorative-peach-main));
  font-style: normal;
}

.storefront-mobile-cart-item-low-stock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.storefront-mobile-cart-item-variant-help {
  color: var(--sf-color-input-success);
}

.storefront-mobile-cart-item-variant-icon {
  display: inline-flex;
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}

.storefront-mobile-cart-item-price {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.storefront-mobile-cart-item-price p,
.storefront-mobile-cart-item-price span {
  margin: 0;
}

.storefront-mobile-cart-item-price p {
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-item-price span {
  color: var(--sf-color-text-neutral-tertiary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
  text-decoration: line-through;
}

.storefront-mobile-cart-item-price-stack {
  display: grid;
  justify-items: end;
  gap: 6px;
  min-height: 42px;
  align-content: start;
}

.storefront-mobile-cart-item-discount-pill.is-placeholder {
  visibility: hidden;
  pointer-events: none;
}

.storefront-mobile-cart-item-return {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--sf-color-text-neutral-tertiary);
}

.storefront-mobile-cart-item-return p {
  margin: 0;
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-mobile-cart-item-return svg {
  width: 12px;
  height: 12px;
}

.storefront-mobile-cart-item-status {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 20px;
  padding: 0 8px 0 6px;
  border-radius: 14px;
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 14px;
}

.storefront-mobile-cart-item-status-icon {
  display: inline-flex;
  width: 12px;
  height: 12px;
  flex: 0 0 auto;
}

.storefront-mobile-cart-item-status-icon svg {
  width: 12px;
  height: 12px;
}

.storefront-mobile-cart-item-status-success {
  background: var(--sf-color-status-success-surface);
  color: var(--sf-color-status-success-accent);
}

.storefront-mobile-cart-item-status-error {
  background: var(--sf-color-status-error-surface);
  color: var(--sf-color-status-error-accent);
}

.storefront-mobile-cart-item-status-neutral {
  background: var(--sf-color-background-neutral-light-gray);
  color: var(--sf-color-text-neutral-secondary);
}

.storefront-mobile-cart-item-warning {
  color: var(--sf-color-text-error-primary);
  font-size: 12px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 16px;
}

.storefront-mobile-cart-item-warning::before {
  content: "•";
  margin-right: 4px;
}

.storefront-mobile-cart-item-gift-wrap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 10px;
  background: var(--sf-color-background-decorative-magenta-base);
  color: var(--sf-color-background-decorative-magenta-main);
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 14px;
}

.storefront-mobile-cart-item-gift-wrap-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.storefront-mobile-cart-item-gift-wrap-copy .storefront-cart-item-inline-icon {
  width: 12px;
  height: 12px;
  color: var(--sf-color-background-decorative-magenta-main);
}

.storefront-mobile-cart-item-gift-wrap-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: inherit;
  margin-left: 2px;
  padding-left: 10px;
  border-left: 1px solid var(--sf-ext-color-exact-xc8b5c1);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}

.storefront-mobile-cart-item-gift-wrap-remove:disabled {
  cursor: default;
  opacity: 0.6;
}

.storefront-mobile-cart-item-quantity {
  position: absolute;
  right: 0;
  bottom: -36px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 8px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 40px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base);
}

.storefront-mobile-cart-item-quantity button,
.storefront-mobile-cart-item-quantity span {
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
  text-align: center;
}

.storefront-mobile-cart-item-quantity button:disabled {
  color: var(--sf-color-text-neutral-tertiary);
}

.storefront-mobile-cart-item-delivery {
  margin: 0;
  color: var(--sf-color-text-neutral-tertiary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
  text-align: left;
}

.storefront-mobile-cart-gift-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--sf-ref-color-yellow-50);
  color: var(--sf-color-text-neutral-primary);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-mobile-cart-gift-label {
  color: var(--sf-color-text-neutral-primary);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-post-items {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: var(--sf-color-background-neutral-light-gray);
}

.storefront-mobile-cart-special-row {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 16px;
  background: var(--sf-color-background-neutral-base);
  overflow: hidden;
}

.storefront-mobile-cart-special-row.is-disabled {
  opacity: 0.35;
}

.storefront-mobile-cart-special-row.is-disabled button {
  cursor: default;
}

.storefront-mobile-cart-special-intro,
.storefront-mobile-cart-special-action {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 0;
  min-height: 48px;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-primary);
}

.storefront-mobile-cart-special-action {
  flex: 0 0 auto;
  min-width: 136px;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}

.storefront-mobile-cart-special-action:disabled {
  color: var(--sf-color-text-neutral-primary);
}

.storefront-mobile-cart-special-divider {
  width: 1px;
  align-self: center;
  height: 24px;
  background: var(--sf-color-border-subtle);
}

.storefront-mobile-cart-special-card {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 0;
  min-height: 48px;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-primary);
}

button.storefront-mobile-cart-special-card {
  width: auto;
  text-align: left;
  cursor: pointer;
}

.storefront-mobile-cart-special-card.is-secondary {
  flex: 0 0 auto;
  min-width: 136px;
  justify-content: space-between;
  border-left: 1px solid var(--sf-color-border-subtle);
}

.storefront-mobile-cart-special-icon,
.storefront-mobile-cart-special-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.storefront-mobile-cart-special-icon svg,
.storefront-mobile-cart-special-chevron svg {
  width: 16px;
  height: 16px;
}

.storefront-mobile-cart-special-copy {
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-special-card.is-secondary .storefront-mobile-cart-special-copy {
  color: var(--sf-color-text-neutral-secondary);
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-row {
  margin-top: 8px;
  border-radius: 12px;
  background: transparent;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-intro,
.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-action {
  min-height: 32px;
  padding: 0;
  background: transparent;
  gap: 8px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-intro {
  flex: 1 1 auto;
  min-width: 0;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-action {
  flex: 0 0 auto;
  min-width: 0;
  gap: 4px;
  justify-content: flex-start;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-copy {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  white-space: nowrap;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-action .storefront-mobile-cart-special-copy {
  color: var(--sf-color-text-primary-muted);
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-chevron {
  width: 20px;
  height: 20px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-special-chevron svg {
  width: 12px;
  height: 12px;
}

.storefront-cart-gift-wrap-sheet {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.storefront-cart-gift-wrap-header {
  align-items: flex-start;
}

.storefront-cart-gift-wrap-hero {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 16px;
}

.storefront-cart-gift-wrap-hero-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--sf-ext-color-exact-xfff3c2) 0%, var(--sf-ext-color-exact-xffe08a) 100%);
  color: var(--sf-ext-color-exact-x9d6b00);
}

.storefront-cart-gift-wrap-hero-icon svg {
  width: 22px;
  height: 22px;
}

.storefront-cart-gift-wrap-list {
  display: grid;
  gap: 12px;
  max-height: min(48vh, 380px);
  padding: 0 20px;
  overflow: auto;
}

.storefront-cart-gift-wrap-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--sf-color-border-subtle);
}

.storefront-cart-gift-wrap-item.is-disabled .storefront-cart-gift-wrap-item-media,
.storefront-cart-gift-wrap-item.is-disabled .storefront-cart-gift-wrap-item-copy > p:first-child {
  opacity: 0.35;
}

.storefront-cart-gift-wrap-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.storefront-cart-gift-wrap-item-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 74px;
  overflow: hidden;
  border-radius: 12px;
  background: var(--sf-ext-color-exact-xf7f1d4);
}

.storefront-cart-gift-wrap-item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-cart-gift-wrap-item-copy {
  display: grid;
  gap: 10px;
}

.storefront-cart-gift-wrap-item-copy > p:first-child {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-cart-gift-wrap-item-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-primary);
  text-align: left;
  cursor: pointer;
}

.storefront-cart-gift-wrap-item-toggle:disabled {
  cursor: default;
}

.storefront-cart-gift-wrap-item-toggle-copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-regular);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-cart-gift-wrap-item-toggle strong,
.storefront-cart-gift-wrap-item-unavailable {
  margin: 0;
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-cart-gift-wrap-item-toggle strong {
  font-weight: var(--sf-ref-type-weight-semibold);
}

.storefront-cart-gift-wrap-item-unavailable {
  color: var(--sf-color-text-neutral-primary);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-cart-gift-wrap-footer {
  padding: 0 20px 20px;
}

.storefront-cart-gift-wrap-confirm {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 14px;
  background: var(--sf-ext-color-exact-xf6c94c);
  color: var(--sf-ext-color-exact-x2f2200);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-semibold);
  line-height: var(--sf-ref-type-line-height-20);
  cursor: pointer;
}

.storefront-cart-gift-wrap-confirm:disabled {
  opacity: 0.65;
  cursor: default;
}

.storefront-mobile-cart-trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 12px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  background: var(--sf-color-background-neutral-base);
}

.storefront-mobile-cart-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--sf-color-text-neutral-secondary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 14px;
  text-align: left;
}

.storefront-mobile-cart-trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--sf-color-text-neutral-secondary);
}

.storefront-mobile-cart-trust-icon svg {
  width: 20px;
  height: 20px;
}

.storefront-cart-drawer.is-mobile:not(.is-standalone) .storefront-mobile-cart-trust-strip {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.storefront-mobile-cart-trust-mask {
  display: block;
  width: 20px;
  height: 20px;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: 20px 20px;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 20px 20px;
}

.storefront-mobile-cart-trust-mask.is-support {
  mask-image: url("https://www.figma.com/api/mcp/asset/1cf81568-acc5-481f-9ede-2e2830d997cb");
  -webkit-mask-image: url("https://www.figma.com/api/mcp/asset/1cf81568-acc5-481f-9ede-2e2830d997cb");
}

.storefront-mobile-cart-trust-mask.is-secure {
  mask-image: url("https://www.figma.com/api/mcp/asset/226032aa-0e1d-4801-af65-4e579c326310");
  -webkit-mask-image: url("https://www.figma.com/api/mcp/asset/226032aa-0e1d-4801-af65-4e579c326310");
}

.storefront-mobile-cart-trust-mask.is-returns {
  mask-image: url("https://www.figma.com/api/mcp/asset/8f0e2bb8-32e8-41e1-9329-a714bee24d7e");
  -webkit-mask-image: url("https://www.figma.com/api/mcp/asset/8f0e2bb8-32e8-41e1-9329-a714bee24d7e");
}

.storefront-mobile-cart-trust-copy {
  display: grid;
  gap: 0;
  white-space: nowrap;
}

.storefront-mobile-cart-trust-copy span {
  display: block;
}

.storefront-mobile-cart-sheet-layer {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.storefront-mobile-cart-sheet-dismiss {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--sf-ext-color-alpha-x00032);
}

.storefront-mobile-cart-sheet {
  position: relative;
  width: 100%;
  max-width: none;
  max-height: min(88vh, 720px);
  overflow: auto;
  border-radius: 20px 20px 0 0;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 -4px 8px var(--sf-ext-color-shadow-base);
}

.storefront-mobile-cart-sheet-handle {
  width: 32px;
  height: 4px;
  margin: 16px auto 0;
  border-radius: 10px;
  background: var(--sf-color-background-neutral-mid-gray);
}

.storefront-mobile-cart-sheet-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--sf-color-text-neutral-secondary);
}

.storefront-mobile-cart-remove-sheet {
  display: grid;
  gap: 24px;
  padding: 24px 16px;
}

.storefront-mobile-cart-remove-sheet-title {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-medium);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-remove-sheet-body {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.storefront-mobile-cart-remove-sheet-media {
  width: 80px;
  height: 92px;
  overflow: hidden;
  border-radius: 6px;
  background: var(--sf-color-background-neutral-light-gray);
}

.storefront-mobile-cart-remove-sheet-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-mobile-cart-remove-sheet-body p {
  margin: 0;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-remove-sheet-actions {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.storefront-mobile-cart-remove-sheet-actions button,
.storefront-mobile-cart-variant-footer button {
  min-height: 36px;
  padding: 8px 16px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--sf-color-text-error-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-remove-sheet-actions button.is-primary,
.storefront-mobile-cart-variant-footer button {
  background: var(--sf-color-background-brand-main);
  color: var(--sf-color-text-neutral-primary);
}

.storefront-mobile-cart-remove-sheet-actions button:disabled,
.storefront-mobile-cart-variant-footer button:disabled {
  opacity: 0.45;
}

.storefront-cart-remove-layer.is-desktop {
  align-items: center;
  justify-items: center;
}

.storefront-cart-remove-modal {
  position: relative;
  z-index: 1;
  width: min(368px, calc(100vw - 32px));
  border-radius: 24px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 20px 48px var(--sf-ext-color-alpha-x33251918);
  padding: 24px;
  display: grid;
  gap: 24px;
}

.storefront-cart-remove-modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: var(--sf-color-icon-neutral-light-gray);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.storefront-cart-remove-modal-close svg {
  width: 20px;
  height: 20px;
}

.storefront-cart-remove-modal .storefront-mobile-cart-remove-sheet-title,
.storefront-cart-remove-modal .storefront-mobile-cart-remove-sheet-body,
.storefront-cart-remove-modal .storefront-mobile-cart-remove-sheet-actions {
  padding: 0;
}

.storefront-cart-remove-modal-actions button {
  min-height: 44px;
}

.storefront-mobile-cart-variant-sheet {
  display: grid;
  width: 100%;
  max-width: none;
}

.storefront-mobile-cart-variant-content {
  display: grid;
  gap: 16px;
  padding: 24px 16px 16px;
}

.storefront-mobile-cart-variant-media-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 200px;
  gap: 12px;
  overflow-x: auto;
}

.storefront-mobile-cart-variant-media {
  width: 200px;
  height: 200px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--sf-color-background-neutral-light-gray);
}

.storefront-mobile-cart-variant-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-mobile-cart-variant-copy {
  display: grid;
  gap: 2px;
}

.storefront-mobile-cart-variant-copy p,
.storefront-mobile-cart-variant-copy span,
.storefront-mobile-cart-variant-price p,
.storefront-mobile-cart-variant-price span,
.storefront-mobile-cart-variant-price small,
.storefront-mobile-cart-variant-options-copy span,
.storefront-mobile-cart-variant-options-copy strong,
.storefront-mobile-cart-variant-option span,
.storefront-mobile-cart-variant-option small,
.storefront-mobile-cart-variant-state {
  margin: 0;
}

.storefront-mobile-cart-variant-copy p {
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-mobile-cart-variant-copy span {
  color: var(--sf-color-text-neutral-tertiary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-mobile-cart-variant-price {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.storefront-mobile-cart-variant-price p {
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-large);
  font-weight: var(--sf-ref-type-weight-bold);
  line-height: var(--sf-ref-type-line-height-24);
}

.storefront-mobile-cart-variant-price span {
  color: var(--sf-color-text-neutral-tertiary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-variant-price small {
  padding: 2px 8px;
  border-radius: 20px;
  background: var(--sf-color-background-offer-main);
  color: var(--sf-color-text-neutral-light);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-variant-divider {
  height: 1px;
  background: var(--sf-color-border-subtle);
}

.storefront-mobile-cart-variant-options-copy {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}

.storefront-mobile-cart-variant-options-copy span {
  color: var(--sf-color-text-neutral-tertiary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-variant-options-copy strong {
  color: var(--sf-color-text-neutral-tertiary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-variant-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.storefront-mobile-cart-variant-option {
  display: grid;
  gap: 0;
  min-height: 36px;
  padding: 4px 16px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 40px;
  background: var(--sf-color-background-neutral-base);
  color: var(--sf-color-text-neutral-primary);
  text-align: left;
}

.storefront-mobile-cart-variant-option span {
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-variant-option small {
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-caption);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-16);
}

.storefront-mobile-cart-variant-option.is-selected {
  border-color: var(--sf-color-text-neutral-primary);
}

.storefront-mobile-cart-variant-option.is-disabled {
  background: var(--sf-color-background-neutral-mid-gray);
  color: var(--sf-color-text-neutral-tertiary);
  text-decoration: line-through;
}

.storefront-mobile-cart-variant-footer {
  position: sticky;
  bottom: 0;
  padding: 8px 16px;
  background: var(--sf-color-background-neutral-base);
  box-shadow: 0 -4px 8px var(--sf-ext-color-shadow-base);
}

.storefront-mobile-cart-variant-footer button {
  width: 100%;
  min-height: 48px;
}

.storefront-mobile-cart-variant-state {
  padding: 32px 16px 24px;
  color: var(--sf-color-text-neutral-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: var(--sf-ref-type-size-regular);
  font-weight: var(--sf-ref-type-weight-light);
  line-height: var(--sf-ref-type-line-height-20);
}

.storefront-mobile-cart-variant-state.is-error {
  color: var(--sf-color-text-error-primary);
}

.storefront-cart-recommended-section {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--sf-color-input-disabled) 88%, var(--sf-color-surface) 12%);
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.storefront-cart-recommended-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

.storefront-cart-recommended-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 20px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 24px;
  white-space: nowrap;
}

.storefront-cart-recommended-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.storefront-cart-recommended-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  box-shadow: 0 1px 1px color-mix(in srgb, var(--sf-color-text-primary) 8%, transparent);
  color: var(--sf-color-text-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 12px;
  font-weight: var(--sf-ref-type-weight-light);
  line-height: 16px;
  white-space: nowrap;
  appearance: none;
  cursor: pointer;
}

.storefront-cart-recommended-filter.is-active {
  border-color: var(--sf-color-text-primary);
  background: var(--sf-color-text-primary);
  color: var(--sf-color-text-neutral-light);
  font-weight: var(--sf-ref-type-weight-medium);
}

.storefront-cart-recommended-rail::-webkit-scrollbar {
  display: none;
}

.storefront-cart-recommended-rail {
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0 0 4px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  list-style: none;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 20px;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}

.storefront-cart-recommended-item {
  flex: 0 0 132px;
  scroll-snap-align: start;
}

.storefront-cart-recommended-card {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.storefront-cart-recommended-card-media {
  position: relative;
  aspect-ratio: 132 / 152;
  border-radius: 12px;
  overflow: hidden;
  background: color-mix(in srgb, var(--sf-color-input-disabled) 78%, var(--sf-color-surface) 22%);
}

.storefront-cart-recommended-card-image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.storefront-cart-recommended-card-image,
.storefront-cart-recommended-card-image-placeholder {
  border-radius: 12px;
}

.storefront-cart-recommended-card-image {
  object-fit: cover;
}

.storefront-cart-recommended-card-image-placeholder {
  width: 100%;
  height: 100%;
}

.storefront-cart-recommended-card-action {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 24px;
  padding: 4px 8px 4px 4px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 8px;
  background: var(--sf-color-surface);
  box-shadow: 0 1px 1px color-mix(in srgb, var(--sf-color-text-primary) 8%, transparent);
  color: var(--sf-color-text-primary);
  font-family: var(--sf-ref-type-family-lexend);
  font-size: 12px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 16px;
}

.storefront-cart-recommended-card-action:disabled {
  opacity: 0.72;
}

.storefront-cart-recommended-card-action svg {
  width: 16px;
  height: 16px;
}

.storefront-cart-recommended-card-body {
  display: grid;
  gap: 4px;
}

.storefront-cart-recommended-card-price-link {
  display: grid;
  gap: 2px;
  color: inherit;
  text-decoration: none;
}

.storefront-cart-recommended-card-price-row {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.storefront-cart-recommended-card-price,
.storefront-cart-recommended-card-compare-price,
.storefront-cart-recommended-card-discount-pill,
.storefront-cart-recommended-card-attribute,
.storefront-cart-recommended-card-error {
  margin: 0;
  font-family: var(--sf-ref-type-family-lexend);
}

.storefront-cart-recommended-card-price {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  font-weight: var(--sf-ref-type-weight-medium);
  line-height: 20px;
}

.storefront-cart-recommended-card-compare-price {
  color: var(--sf-color-footer-muted);
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-light);
  line-height: 14px;
  text-decoration: line-through;
}

.storefront-cart-recommended-card-discount-row {
  display: flex;
  align-items: flex-start;
}

.storefront-cart-recommended-card-attribute {
  color: var(--sf-color-text-primary);
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-light);
  line-height: 14px;
}

.storefront-cart-recommended-card-error {
  color: var(--sf-color-text-error-primary);
  font-size: 10px;
  font-weight: var(--sf-ref-type-weight-light);
  line-height: 14px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-title {
  display: none;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-section {
  gap: 12px;
  padding: 4px 0px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-header {
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 8px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-filters {
  flex: 0 0 auto;
  margin-bottom: 2px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-rail {
  gap: 12px;
  padding: 0;
  scroll-padding-inline: 16px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-item {
  flex-basis: 92px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-media {
  aspect-ratio: 92 / 106;
  border-radius: 8px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-image,
.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-image-placeholder {
  border-radius: 8px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-price {
  font-size: 14px;
  line-height: 20px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-compare-price,
.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-error {
  font-size: 10px;
  line-height: 12px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-attribute {
  display: none;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-action {
  width: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 4px;
  border-radius: 8px;
}

.storefront-cart-drawer.is-mobile .storefront-cart-recommended-card-action-label {
  display: none;
}

@media (min-width: 1024px) {
  .storefront-cart-drawer.is-desktop .storefront-cart-recommended-section {
    padding: 20px;
  }

  .storefront-cart-drawer.is-desktop .storefront-cart-recommended-item {
    flex-basis: 132px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-recommended-section {
    gap: 12px;
    padding: 20px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-recommended-header {
    flex-wrap: nowrap;
    gap: 20px;
  }

  .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-recommended-rail {
    padding-bottom: 0;
  }
}

/* Free gift state visual alignment overrides (keep at file end to win cascade). */
.storefront-cart-drawer .storefront-cart-free-gift-items {
  gap: 0;
  border: 1px solid var(--sf-ext-color-exact-xefe4cf);
  border-radius: 12px;
  background: linear-gradient(90deg, var(--sf-color-brand-soft) 0%, color-mix(in srgb, var(--sf-color-brand-soft) 0%, transparent) 100%), var(--sf-color-surface);
  overflow: hidden;
}

.storefront-cart-drawer .storefront-cart-free-gift-items .storefront-cart-item-card.is-free-gift {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 10px 12px;
}

.storefront-cart-drawer
  .storefront-cart-free-gift-items
  .storefront-cart-item-card.is-free-gift
  + .storefront-cart-item-card.is-free-gift {
  border-top: 1px solid var(--sf-ext-color-exact-xeadfc9);
}

.storefront-cart-drawer .storefront-cart-free-gift-items + .storefront-cart-paid-items {
  margin-top: 12px;
}

.storefront-cart-drawer .storefront-mobile-cart-gift-item {
  padding: 10px 12px;
  background: transparent;
  box-shadow: none;
}

.storefront-cart-drawer .storefront-mobile-cart-gift-item + .storefront-mobile-cart-gift-item {
  border-top: 1px solid var(--sf-ext-color-exact-xeadfc9);
}

.storefront-cart-drawer .storefront-mobile-cart-gift-item .storefront-mobile-cart-item-main {
  align-items: stretch;
  margin-left: 10px;
}

.storefront-cart-drawer .storefront-mobile-cart-gift-copy {
  align-content: space-between;
  align-self: stretch;
  min-height: 100%;
  gap: 6px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.storefront-cart-drawer .storefront-mobile-cart-gift-label {
  margin-top: auto;
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift .storefront-cart-item-copy {
  align-self: stretch;
  align-content: space-between;
  gap: 6px;
  padding-top: 6px;
  padding-bottom: 6px;
}

.storefront-cart-drawer .storefront-cart-item-card.is-free-gift .storefront-cart-item-main {
  align-items: stretch;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser {
  gap: 0;
  border-radius: 12px;
  background: var(--sf-color-surface);
  overflow: hidden;
}

.storefront-cart-drawer.is-desktop .storefront-cart-free-gift-teaser {
  border: 1px solid var(--sf-color-surface-muted);
  box-shadow: 0 4px 4px var(--sf-ext-color-shadow-base);
}

.storefront-cart-drawer.is-mobile .storefront-cart-free-gift-teaser {
  border: 0;
  box-shadow: none;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-main {
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  padding: 8px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-media {
  width: 80px;
  height: 92px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy {
  align-self: stretch;
  align-content: space-between;
  gap: 6px;
  padding: 6px 0;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-copy small {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-copy {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border-top: 1px solid var(--sf-color-surface-muted);
  padding: 8px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-copy > span[aria-hidden="true"] {
  width: 16px;
  height: 16px;
  display: inline-flex;
  color: var(--sf-color-text-primary);
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-copy > span[aria-hidden="true"] svg {
  width: 100%;
  height: 100%;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-primary,
.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-secondary {
  color: var(--sf-color-text-primary);
  font-size: 14px;
  line-height: 20px;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-primary {
  font-weight: 500;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-unlock-secondary {
  font-weight: 300;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-media {
  position: relative;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-media img,
.storefront-cart-drawer .storefront-cart-free-gift-teaser-media .storefront-cart-item-image-fallback {
  display: block;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-ribbon {
  position: absolute;
  left: -1px;
  bottom: -1px;
  width: 82px;
  height: 24px;
  display: block;
  pointer-events: none;
  background: url("/images/cart/free-gift/ribbon.png") center / 100% 100% no-repeat;
  box-shadow: 0 1px 2px var(--sf-ref-color-opacity-black-25);
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-ribbon-bow {
  display: none;
}

.storefront-cart-drawer .storefront-cart-free-gift-teaser-badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  width: max-content;
  min-height: 20px;
  border-radius: 13px;
  padding: 2px 8px;
  background: var(--sf-ref-color-yellow-50);
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  white-space: nowrap;
}

@media (max-width: 409.98px) {
  .storefront-cart-sheet-form-grid,
  .storefront-cart-address-sheet-form-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/* Cart page desktop fidelity overrides (scoped + end-of-file so they beat legacy cart cascade). */
@media (min-width: 1024px) {
  body.storefront-cart-page .site-header-desktop {
    display: block !important;
  }

  body.storefront-cart-page .page-shell {
    padding-top: 18px !important;
  }

  body.storefront-cart-page .desktop-site-header-row {
    width: min(1320px, calc(100% - 32px)) !important;
  }

  body.storefront-cart-page .desktop-site-header-row-top {
    min-height: 56px !important;
    column-gap: 20px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  body.storefront-cart-page .desktop-site-header-search-slot {
    max-width: 560px !important;
  }

  body.storefront-cart-page .desktop-site-header-row-bottom {
    min-height: 34px !important;
    gap: 14px !important;
  }

  body.storefront-cart-page .storefront-cart-standalone-shell {
    width: min(
      var(--storefront-page-container-max),
      calc(100% - (var(--storefront-page-container-gutter) * 2))
    ) !important;
    margin: 26px auto 72px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-header {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    padding: 0 0 18px !important;
    margin: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-header .storefront-cart-drawer-wishlist {
    display: inline-flex !important;
    align-self: center !important;
    justify-self: end !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-title {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-drawer-body {
    overflow: visible !important;
    overflow-x: clip !important;
    gap: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-layout {
    grid-template-columns: minmax(0, 1fr) 360px !important;
    gap: 22px !important;
    align-items: start !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-main {
    gap: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-items,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-item-group {
    gap: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 12px 0 16px !important;
    border-bottom: 1px solid var(--sf-ext-color-exact-xe9e6df) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-item-group > .storefront-cart-standalone-item-card:last-child {
    border-bottom-color: transparent !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-grid {
    grid-template-columns: 86px minmax(0, 1fr) 144px !important;
    grid-template-areas: "media info actions" !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    align-items: start !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-grid > * {
    min-width: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions {
    grid-area: actions !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions > .storefront-cart-standalone-item-remove,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions > .storefront-cart-standalone-item-price,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions > .storefront-cart-standalone-item-quantity {
    grid-area: auto !important;
    justify-self: end !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions > .storefront-cart-standalone-item-remove {
    order: 1 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions > .storefront-cart-standalone-item-price {
    order: 2 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-actions > .storefront-cart-standalone-item-quantity {
    order: 3 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-media {
    width: 86px !important;
    height: 98px !important;
    border-radius: 10px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-info {
    gap: 6px !important;
    align-self: start !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-copy {
    gap: 4px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-title {
    font-size: 16px !important;
    line-height: 22px !important;
    font-weight: 400 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-title.is-sold-out {
    color: var(--sf-color-text-primary-muted) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-meta {
    gap: 6px !important;
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-meta > span,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-variant-pill {
    min-height: 24px !important;
    border-radius: 999px !important;
    background: var(--sf-color-surface-muted) !important;
    padding: 0 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 16px !important;
    color: var(--sf-color-text-secondary) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-item-variant-chevron {
    width: 12px !important;
    height: 12px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-messages {
    gap: 4px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-variant-help,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-return-copy,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-delivery-copy {
    font-size: 12px !important;
    line-height: 16px !important;
    color: var(--sf-color-text-primary-muted) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-return-copy,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock {
    gap: 6px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock {
    color: var(--sf-color-text-decorative-peach-primary, var(--sf-color-background-decorative-peach-main)) !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-low-stock .storefront-cart-item-inline-icon {
    color: var(--sf-color-text-decorative-peach-primary, var(--sf-color-background-decorative-peach-main)) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-item-inline-icon {
    width: 14px !important;
    height: 14px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-quantity {
    align-self: start !important;
    justify-self: end !important;
    padding-top: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-mobile-stepper {
    position: static !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-price {
    gap: 6px !important;
    align-self: start !important;
    justify-items: end !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-price-row {
    gap: 10px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-price-row p {
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-compare-price {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-discount-pill {
    min-height: 22px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 14px !important;
    gap: 4px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-discount-pill span:first-child {
    font-size: 13px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-remove {
    align-self: start !important;
    justify-self: end !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-remove .storefront-cart-item-remove {
    width: 20px !important;
    height: 20px !important;
    color: var(--sf-color-text-muted) !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items {
    display: grid !important;
    grid-auto-rows: auto !important;
    gap: 0 !important;
    border: 1px solid var(--sf-ext-color-exact-xefe4cf) !important;
    border-radius: 12px !important;
    background: linear-gradient(90deg, var(--sf-color-brand-soft) 0%, color-mix(in srgb, var(--sf-color-brand-soft) 0%, transparent) 100%), var(--sf-color-surface) !important;
    overflow: hidden !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items > .storefront-cart-standalone-item-card.is-free-gift {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 12px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items > .storefront-cart-standalone-item-card.is-free-gift + .storefront-cart-standalone-item-card.is-free-gift {
    border-top: 1px solid var(--sf-ext-color-exact-xeadfc9) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items .storefront-cart-standalone-gift-grid {
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    grid-template-areas: "media copy" !important;
    align-items: stretch !important;
    column-gap: 12px !important;
    row-gap: 0 !important;
    min-height: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items .storefront-cart-standalone-gift-grid > .storefront-cart-standalone-item-media {
    grid-area: media !important;
    justify-self: start !important;
    align-self: start !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items .storefront-cart-standalone-gift-grid > .storefront-cart-standalone-gift-copy {
    grid-area: copy !important;
    min-width: 0 !important;
    display: grid !important;
    align-self: stretch !important;
    align-content: space-between !important;
    gap: 6px !important;
    min-height: 100% !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items .storefront-cart-standalone-gift-grid > .storefront-cart-standalone-gift-copy .storefront-cart-standalone-item-title {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 300 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items .storefront-cart-standalone-gift-grid > .storefront-cart-standalone-gift-copy .storefront-cart-item-gift-label {
    margin-top: auto !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-items + .storefront-cart-paid-items {
    margin-top: 12px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-teaser {
    margin: 12px 0 0 102px !important;
    width: min(520px, calc(100% - 102px)) !important;
    border: 1px solid var(--sf-color-surface-muted) !important;
    border-radius: 12px !important;
    background: var(--sf-color-surface) !important;
    box-shadow: 0 4px 4px var(--sf-ext-color-shadow-base) !important;
    padding: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-teaser-main {
    grid-template-columns: 80px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: flex-start !important;
    padding: 8px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-teaser-copy small {
    font-size: 14px !important;
    line-height: 20px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-free-gift-teaser-unlock-copy {
    border-top: 1px solid var(--sf-color-surface-muted) !important;
    padding: 8px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-rail {
    min-width: 0 !important;
    position: sticky !important;
    top: 24px !important;
    align-self: start !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-rail-sticky {
    position: static !important;
    top: auto !important;
    border: 1px solid var(--sf-color-border-subtle) !important;
    border-radius: 16px !important;
    background: var(--sf-color-surface) !important;
    padding: 20px !important;
    gap: 24px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-rail-sticky > * {
    margin: 0 !important;
    min-width: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-rail-sticky > * + * {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-rail-savings-banner {
    min-height: 30px !important;
    border: 1px solid var(--sf-ext-color-exact-xbfded9) !important;
    border-radius: 8px !important;
    background: var(--sf-ext-color-exact-xd8ece8) !important;
    color: var(--sf-ext-color-exact-x1f5f51) !important;
    font-size: 13px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    padding: 4px 10px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-row {
    gap: 0 !important;
    border: 1px solid var(--sf-ext-color-exact-xebe7de) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-intro,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-action {
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 14px !important;
    gap: 8px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-divider {
    width: 1px !important;
    height: 16px !important;
    flex: 0 0 auto !important;
    background: var(--sf-ext-color-exact-xece8df) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-action {
    min-width: 122px !important;
    position: relative !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-panel,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-shipping-card,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-card,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-gst-card,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-bill-breakdown,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout {
    border: 1px solid var(--sf-color-surface-muted) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px var(--sf-ext-color-shadow-base) !important;
    background: var(--sf-color-surface) !important;
    padding: 14px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-savings-card {
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-card-eyebrow {
    color: var(--sf-color-text-muted) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-entry-row,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-applied-row {
    padding: 0 !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-title {
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    color: var(--sf-color-text-primary) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-link-row,
  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-status {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion {
    margin-top: 8px !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    align-items: center !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion-copy p {
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion-copy small {
    color: var(--sf-color-text-primary-muted) !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion-badge {
    min-height: 14px !important;
    padding: 0 6px !important;
    border-radius: 14px !important;
    background: var(--sf-color-surface) !important;
    color: var(--sf-color-status-success-text) !important;
    font-size: 10px !important;
    line-height: 14px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-coupon-suggestion button {
    min-height: 32px !important;
    border-radius: 8px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-row {
    padding-top: 10px !important;
    gap: 10px !important;
    align-items: center !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-title {
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-subtitle {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-wallet-login {
    min-height: 40px !important;
    min-width: 88px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-login-cta-section {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-login-cta {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 12px !important;
    background: var(--sf-ext-color-exact-xf7c744) !important;
    color: var(--sf-color-text-primary) !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-summary-checkout {
    gap: 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-address-row {
    background: var(--sf-ext-color-exact-xf8f2e4) !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto !important;
    gap: 8px !important;
    align-items: center !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-address-icon {
    width: 16px !important;
    height: 16px !important;
    margin-top: 0 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-address-copy p:first-child {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-address-copy p + p {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-address-change {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 600 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-row {
    grid-template-columns: minmax(0, 1fr) 1.35fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-row--single-cta {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-row--summary {
    display: flex !important;
    gap: 24px !important;
    align-items: center !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-summary {
    flex: 0 0 auto !important;
    min-width: 88px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-toggle {
    min-height: 68px !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    background: var(--sf-ext-color-exact-xf8f2e4) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-summary {
    min-height: 52px !important;
    gap: 4px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-summary-label {
    font-size: 12px !important;
    line-height: 16px !important;
    color: var(--sf-color-text-primary-muted) !important;
    font-weight: 300 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-summary-amount {
    font-size: 16px !important;
    line-height: 20px !important;
    color: var(--sf-color-text-primary) !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-label {
    font-size: 12px !important;
    line-height: 16px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-method {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-channel {
    font-size: 10px !important;
    line-height: 14px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payment-cta {
    flex: 1 0 0 !important;
    height: 52px !important;
    min-width: 196.8px !important;
    min-height: 52px !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-detached-delivery-cta {
    margin-top: 10px !important;
    display: grid !important;
    gap: 8px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-detached-delivery-cta .storefront-cart-payment-toggle {
    width: 100% !important;
    min-height: 54px !important;
    border-radius: 10px !important;
    padding: 8px 10px !important;
    background: var(--sf-ext-color-exact-xf8f2e4) !important;
    align-content: center !important;
    gap: 1px !important;
    text-align: left !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-detached-delivery-cta .storefront-cart-payment-label {
    font-size: 11px !important;
    line-height: 14px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-detached-delivery-cta .storefront-cart-payment-method {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 500 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-detached-delivery-cta .storefront-cart-payment-channel {
    font-size: 10px !important;
    line-height: 14px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-detached-delivery-cta-button {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 12px !important;
    padding: 0 20px !important;
    font-size: 16px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-bill-breakdown {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    gap: 8px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-bill-breakdown > div {
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payable-row {
    padding-top: 10px !important;
    margin-top: 2px !important;
    border-top: 1px solid var(--sf-ext-color-exact-xe9e6df) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-payable-row p {
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 700 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-total-savings {
    border-radius: 8px !important;
    min-height: 30px !important;
    align-items: center !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-gst-toggle {
    gap: 10px !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-gst-heading {
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 600 !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-gst-description {
    font-size: 12px !important;
    line-height: 16px !important;
    color: var(--sf-color-text-primary-muted) !important;
  }

  body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-desktop-recommendations {
    margin-top: 24px !important;
  }

  body.storefront-cart-page .sf-chat-widget {
    --sf-chat-launcher-right: 14px;
    --sf-chat-launcher-bottom: calc(14px + env(safe-area-inset-bottom));
  }

  body.storefront-cart-page .sf-chat-speech-bubble {
    min-width: 106px !important;
    padding: 6px 10px !important;
  }
}

.storefront-cart-gift-art {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.storefront-cart-gift-wrap-sheet {
  position: relative;
  gap: 24px;
  background: var(--sf-color-surface);
  padding-top: 16px;
}

.storefront-cart-gift-wrap-sheet .storefront-cart-sheet-grab {
  width: 40px;
  align-self: center;
  margin-inline: auto;
}

.storefront-cart-gift-wrap-layer.is-desktop {
  align-items: center;
  justify-items: center;
}

.storefront-cart-gift-wrap-modal {
  position: relative;
  z-index: 1;
  width: min(360px, calc(100vw - 32px));
  max-height: min(80dvh, 540px);
  overflow: auto;
  border-radius: 24px;
  background: var(--sf-color-surface);
  padding: 24px;
  display: grid;
  gap: 24px;
  box-shadow: 0 20px 48px var(--sf-ext-color-alpha-x33251918);
}

.storefront-cart-gift-wrap-modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: var(--sf-color-icon-neutral-light-gray);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.storefront-cart-gift-wrap-modal-close svg {
  width: 20px;
  height: 20px;
}

.storefront-cart-gift-wrap-modal-header {
  display: flex;
  align-items: center;
  width: 100%;
}

.storefront-cart-gift-wrap-modal-header p {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
}

.storefront-cart-gift-wrap-modal-banner {
  border: 1px solid var(--sf-color-brand-soft);
  border-radius: 12px;
  overflow: hidden;
  background: var(--sf-color-background-brand-base);
}

.storefront-cart-gift-wrap-modal-banner-image {
  display: block;
  width: 100%;
  height: auto;
}

.storefront-cart-gift-wrap-header {
  position: static;
  display: block;
}

.storefront-cart-gift-wrap-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 20px;
  height: 20px;
  border: 0;
  background: transparent;
  color: var(--sf-color-icon-neutral-light-gray);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  z-index: 2;
}

.storefront-cart-gift-wrap-close svg {
  width: 20px;
  height: 20px;
}

.storefront-cart-gift-wrap-banner {
  display: block;
  border-radius: 12px;
  overflow: hidden;
}

.storefront-cart-gift-wrap-banner-image {
  display: block;
  width: 100%;
  height: auto;
}

.storefront-cart-gift-wrap-list {
  gap: 0;
  max-height: min(46vh, 320px);
  padding: 0;
}

.storefront-cart-gift-wrap-list.is-desktop {
  max-height: none;
}

.storefront-cart-gift-wrap-item {
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px 0;
}

.storefront-cart-gift-wrap-item.is-desktop + .storefront-cart-gift-wrap-item.is-desktop {
  border-top: 2px solid var(--sf-color-surface-muted);
}

.storefront-cart-gift-wrap-item.is-disabled .storefront-cart-gift-wrap-item-media,
.storefront-cart-gift-wrap-item.is-disabled .storefront-cart-gift-wrap-item-title {
  opacity: 0.35;
}

.storefront-cart-gift-wrap-item-media {
  width: 60px;
  height: 69px;
  border-radius: 8px;
}

.storefront-cart-gift-wrap-item-copy {
  gap: 10px;
}

.storefront-cart-gift-wrap-item-title {
  margin: 0;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.storefront-cart-gift-wrap-item-toggle-copy {
  gap: 8px;
  color: var(--sf-color-text-primary);
  font-size: 12px;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-gift-wrap-item-toggle .storefront-cart-checkbox {
  width: 20px;
  height: 20px;
}

.storefront-cart-gift-wrap-item-toggle strong {
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

.storefront-cart-gift-wrap-item-unavailable {
  color: var(--sf-color-text-primary);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  font-weight: 300;
}

.storefront-cart-gift-wrap-footer {
  padding: 0;
}

.storefront-cart-gift-wrap-footer.is-desktop {
  width: 100%;
}

.storefront-cart-gift-wrap-confirm {
  width: 100%;
  min-height: 48px;
  border-radius: 8px;
  background: var(--sf-color-brand-primary);
  color: var(--sf-color-text-primary);
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-coupon-icon,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-coupon-status-icon,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-shipping-icon,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-wallet-icon,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-address-icon,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-mobile-cart-trust-icon {
  width: 20px;
  height: 20px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-coupon-icon svg,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-coupon-status-icon svg,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-shipping-icon svg,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-wallet-icon svg,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-address-icon svg,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-mobile-cart-trust-icon svg,
body.storefront-cart-page .storefront-cart-drawer.is-standalone .storefront-cart-icon-mask {
  width: 20px;
  height: 20px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-standalone-item-media {
  width: 86px !important;
  height: 98px !important;
  border-radius: 10px !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-icon {
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-chevron {
  width: 20px !important;
  height: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-desktop .storefront-cart-desktop-special-chevron svg {
  width: 12px !important;
  height: 12px !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-savings-banner {
  min-height: 28px !important;
  margin: 8px 16px 0 !important;
  border: 1px solid var(--sf-color-status-offer-surface-strong) !important;
  border-radius: 8px !important;
  background: var(--sf-color-status-offer-surface) !important;
  color: var(--sf-color-status-offer-text) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 16px !important;
  font-weight: 500 !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile {
  height: 100svh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  overflow: hidden !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-drawer-body {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-empty-layout {
  width: auto !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-drawer-footer {
  position: relative !important;
  bottom: auto !important;
  z-index: 8 !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-items {
  display: grid !important;
  gap: 0 !important;
  background: var(--sf-color-surface) !important;
  padding: 12px 16px 16px !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-cart-item-group {
  gap: 0 !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-item,
body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-gift-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 12px 0 !important;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-post-items {
  gap: 24px;
  padding: 16px 16px 24px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-row {
  margin-top: 8px;
  border: 1px solid var(--sf-color-border-subtle);
  border-radius: 12px;
  background: var(--sf-color-surface);
  align-items: center;
  gap: 8px;
  overflow: hidden;
  padding: 4px 16px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-intro,
body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-action {
  min-height: 32px;
  padding: 0;
  background: transparent !important;
  gap: 8px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-intro {
  flex: 1 1 auto;
  min-width: 0;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-action {
  flex: 0 0 auto;
  min-width: 0;
  gap: 4px;
  justify-content: flex-start;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-copy {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-action .storefront-mobile-cart-special-copy {
  color: var(--sf-color-text-primary-muted);
  white-space: nowrap;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  flex: 0 0 auto;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-chevron {
  width: 12px;
  height: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-chevron svg {
  width: 12px;
  height: 12px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-special-divider {
  display: block;
  align-self: center;
  height: 16px;
  flex: 0 0 1px;
  background: var(--sf-color-border-subtle);
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-item-quantity {
  position: absolute;
  right: 0;
  bottom: -36px;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-trust-strip {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: var(--sf-color-text-primary-muted);
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  text-align: left;
}

body.storefront-cart-page .storefront-cart-drawer.is-standalone.is-mobile .storefront-mobile-cart-trust-icon {
  width: 20px;
  height: 20px;
  color: var(--sf-color-text-primary-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
