/* Sunday Supper — cart drawer brand overrides */

theme-cart-drawer,
theme-cart-drawer .cart-drawer__body,
theme-cart-drawer .cart-fixed-checkout {
  --color-background: 255, 255, 246;
  --color-card-background: 255, 255, 255;
  --color-text: 0, 0, 0;
  --color-light-text: 98, 98, 98;
  --color-entry-line: 230, 225, 210;
  --color-button-background: 240, 78, 40;
  --color-button-text: 255, 255, 255;
  --color-button-secondary-background: 255, 255, 246;
  --color-button-secondary-text: 176, 47, 52;
  --color-button-secondary-border: 176, 47, 52;
  --color-discount: 41, 151, 75;
  --color-tag-background: 250, 214, 57;
  --color-tag-text: 176, 47, 52;
}

theme-cart-drawer .cart-drawer__body {
  font-family: var(--ss-font-body);
  color: var(--ss-color-text);
  background-color: var(--ss-cream);
}

theme-cart-drawer .cart-drawer__header {
  padding: var(--ss-space-5);
  background-color: var(--ss-yellow);
}

theme-cart-drawer .cart-drawer__header::after {
  background-color: rgba(176, 47, 52, 0.15);
}

theme-cart-drawer .cart-drawer__header h2 {
  font-family: var(--ss-font-display);
  font-weight: var(--ss-font-weight-black);
  font-size: var(--ss-font-size-lg);
  line-height: var(--ss-line-height-snug);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ss-red);
  margin: 0;
}

theme-cart-drawer .cart-drawer__close {
  inset-block-start: 18px;
  color: var(--ss-red);
}

theme-cart-drawer .cart-drawer__close svg {
  width: 14px;
  height: 14px;
}

theme-cart-drawer .cart-drawer__inner {
  padding-inline: var(--ss-space-5);
  background-color: var(--ss-cream);
}

theme-cart-drawer .cart-drawer__payment::before {
  background-color: rgba(176, 47, 52, 0.12);
}

theme-cart-drawer .cart-drawer .cart-item {
  padding-block: var(--ss-space-5);
  border-block-end: 1px solid rgba(176, 47, 52, 0.1);
}

theme-cart-drawer .cart-item__title,
theme-cart-drawer .cart-item__title a {
  font-family: var(--ss-font-display);
  font-weight: var(--ss-font-weight-bold);
  color: var(--ss-color-text);
  text-decoration: none;
}

theme-cart-drawer .cart-item__title a:hover {
  color: var(--ss-red);
}

theme-cart-drawer .cart-item__total-final {
  font-weight: var(--ss-font-weight-bold);
  color: var(--ss-red);
}

theme-cart-drawer .cart-item__picture {
  border-radius: var(--ss-radius-sm);
  overflow: hidden;
}

theme-cart-drawer .cart-drawer__payment {
  padding-block-start: var(--ss-space-5);
}

theme-cart-drawer .cart-amount > li span {
  font-weight: var(--ss-font-weight-bold);
}

theme-cart-drawer .cart-fixed-checkout__container {
  box-shadow: 0 -4px 24px rgba(176, 47, 52, 0.08);
}

theme-cart-drawer .cart-fixed-checkout__main-info {
  padding: var(--ss-space-4);
  border-block-start: 1px solid rgba(176, 47, 52, 0.12);
  background-color: var(--ss-cream);
}

theme-cart-drawer .cart-fixed-checkout__total-text {
  font-family: var(--ss-font-display);
  font-weight: var(--ss-font-weight-bold);
  text-transform: uppercase;
  color: var(--ss-red);
}

theme-cart-drawer .cart-empty__body {
  padding-block: var(--ss-space-10);
}

theme-cart-drawer .cart-empty__tips {
  font-size: var(--ss-font-size-base);
  color: var(--ss-color-text-muted);
}

theme-cart-drawer .cart-drawer__loading {
  background-color: var(--ss-cream);
}

theme-cart-drawer .cart-drawer__loading-inn p {
  font-family: var(--ss-font-body);
  color: var(--ss-color-text-muted);
}

/* Quantity controls */
theme-cart-drawer .quantity-selector {
  border-radius: var(--ss-radius-sm);
  border-color: rgba(176, 47, 52, 0.25);
}

theme-cart-drawer .field__input {
  border-radius: var(--ss-radius-sm);
  border-color: rgba(176, 47, 52, 0.25);
}

theme-cart-drawer .field__input:focus {
  border-color: var(--ss-orange);
}

theme-cart-drawer .cart-progress {
  flex-shrink: 0;
  padding: var(--ss-space-4) var(--ss-space-5) var(--ss-space-3);
  background-color: var(--ss-cream);
  border-block-end: 1px solid rgba(176, 47, 52, 0.12);
}

theme-cart-drawer .cart-progress__message,
theme-cart-drawer .cart-progress__reward {
  margin: 0;
  font-family: var(--ss-font-body);
  font-size: var(--ss-font-size-xs);
  line-height: var(--ss-line-height-normal);
  color: var(--ss-color-text);
}

theme-cart-drawer .cart-progress__message {
  margin-block-end: var(--ss-space-2);
}

theme-cart-drawer .cart-progress__track {
  position: relative;
  height: 8px;
  overflow: visible;
  border-radius: 999px;
  background-color: rgba(176, 47, 52, 0.15);
}

theme-cart-drawer .cart-progress__fill {
  display: block;
  height: 100%;
  width: min(100%, max(0%, calc(var(--cart-progress, 0) * 1%)));
  border-radius: inherit;
  background-color: var(--ss-green);
}

theme-cart-drawer .cart-progress__point {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: clamp(6px, calc(var(--cart-progress-point, 0) * 1%), calc(100% - 6px));
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border: 2px solid rgba(176, 47, 52, 0.45);
  border-radius: 50%;
  background-color: var(--ss-cream);
  transform: translate(-50%, -50%);
}

theme-cart-drawer .cart-progress__point.is-reached {
  border-color: var(--ss-green);
  background-color: var(--ss-green);
}

theme-cart-drawer .cart-progress__reward {
  margin-block-start: var(--ss-space-2);
  font-weight: var(--ss-font-weight-bold);
  color: var(--ss-red);
  text-align: end;
}

theme-cart-drawer .cart-upsell {
  padding-block: var(--ss-space-5) var(--ss-space-4);
}

theme-cart-drawer .cart-upsell:not(:has(.cart-upsell__item)) {
  display: none;
}

theme-cart-drawer .cart-upsell__heading {
  margin: 0 0 var(--ss-space-3);
  font-family: var(--ss-font-display);
  font-size: var(--ss-font-size-sm);
  font-weight: var(--ss-font-weight-black);
  letter-spacing: 0.02em;
  line-height: var(--ss-line-height-snug);
  text-transform: uppercase;
  color: var(--ss-red);
}

theme-cart-drawer .cart-upsell__list {
  display: flex;
  gap: var(--ss-space-3);
  margin: 0;
  padding: 0 0 var(--ss-space-2);
  overflow-x: auto;
  list-style: none;
}

theme-cart-drawer .cart-upsell__item,
theme-cart-drawer .cart-upsell__item > * {
  display: flex;
  flex-direction: column;
  gap: var(--ss-space-4);
}

theme-cart-drawer .cart-upsell__item {
  flex: 0 0 148px;
}

theme-cart-drawer .cart-upsell__media {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--ss-radius-sm);
  background-color: var(--ss-white);
}

theme-cart-drawer .cart-upsell__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

theme-cart-drawer .cart-upsell__meta {
  display: flex;
  flex-direction: column;
  gap: var(--ss-space-1);
  min-width: 0;
}

theme-cart-drawer .cart-upsell__title {
  font-family: var(--ss-font-display);
  font-size: var(--ss-font-size-sm);
  font-weight: var(--ss-font-weight-bold);
  line-height: var(--ss-line-height-snug);
  color: var(--ss-color-text);
  text-decoration: none;
}

theme-cart-drawer .cart-upsell__title:hover {
  color: var(--ss-red);
}

theme-cart-drawer .cart-upsell__price {
  font-size: var(--ss-font-size-xs);
}

theme-cart-drawer .cart-upsell__add {
  width: 100%;
  margin-block-start: var(--ss-space-1);
  padding: 6px 8px;
  border: 0;
  border-radius: var(--ss-radius-sm);
  background-color: var(--ss-orange);
  color: var(--ss-white);
  font-family: var(--ss-font-body);
  font-size: 11px;
  font-weight: var(--ss-font-weight-bold);
  line-height: 1.2;
  cursor: pointer;
}

theme-cart-drawer .cart-upsell__add.loading {
  opacity: 0.6;
  cursor: progress;
}

theme-cart-drawer .cart-upsell__error {
  margin: var(--ss-space-1) 0 0;
  font-size: 11px;
  color: var(--ss-red);
}
