/* =========================================================
   P'rabote — cart.css
   Cart (page + drawer), empty cart, checkout, order confirmation,
   order tracking and wishlist pages.
   Load after base.css.
   ========================================================= */

:root {
  --color-text-secondary: #475569;
  --color-text-tertiary: #94a3b8;
  --color-border-strong: #cbd5e1;
  --color-brand-secondary: #785930;
  --color-brand-secondary-hover: #5f4626;
  --color-success-default: #059669;
  --color-success-subtle: #ecfdf5;
  --color-warning-default: #d97706;
  --color-warning-subtle: #fffbeb;
  --cart-drawer-width: 440px;
}

/* ---------- Small shared pieces ---------- */
.btn--secondary {
  background: var(--color-brand-secondary);
  color: var(--color-text-inverse);
}
.btn--secondary:hover {
  background: var(--color-brand-secondary-hover);
}
/* Button size SM (36px) */
.btn--sm {
  gap: 4px;
  padding: 7px 14px;
  font-size: 13px;
  line-height: 20px;
}
.btn--sm img {
  width: 16px;
  height: 16px;
}
.btn--lg img {
  width: 20px;
  height: 20px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-neutral-500);
}
.breadcrumb a:hover {
  color: var(--color-brand-default);
}

/* Page header band (cart / wishlist / tracking) */
.page-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 56px var(--page-gutter) 48px;
  background: var(--color-bg-secondary);
}
.page-header__text {
  font-size: 16px;
  line-height: 24px;
  color: var(--color-neutral-500);
}

/* Free-shipping progress */
.ship-progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.ship-progress__label {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: var(--color-brand-default);
  white-space: pre;
}
.ship-progress__track {
  height: 6px;
  border-radius: var(--radius-full);
  background: var(--color-border-default);
  overflow: hidden;
}
.ship-progress__fill {
  height: 100%;
  border-radius: var(--radius-full);
  background: var(--color-brand-default);
  transition: width 0.2s ease;
}

/* Form controls */
.ui-check,
.ui-radio {
  appearance: none;
  -webkit-appearance: none;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  background: var(--color-bg-primary) no-repeat center;
  border: 1.5px solid var(--color-border-strong);
  cursor: pointer;
}
.ui-check {
  border-radius: 4px;
}
.ui-check:checked {
  background-color: var(--color-brand-default);
  background-image: url("cart-icon-check.svg");
  background-size: 14px 14px;
  border-color: var(--color-brand-default);
}
.ui-check--sm {
  width: 14px;
  height: 14px;
}
.ui-check--sm:checked {
  background-size: 14px 14px;
}
.ui-radio {
  border-radius: 50%;
}
.ui-radio:checked {
  border: 0;
  background-image: url("cart-radio-selected.svg");
  background-size: 20px 20px;
}
.ui-check:focus-visible,
.ui-radio:focus-visible {
  outline: 2px solid var(--color-brand-default);
  outline-offset: 2px;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.field__label {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: var(--color-text-secondary);
}
.input {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
}
.input:focus-within {
  border-color: var(--color-brand-default);
}
.input input,
.input select {
  flex: 1;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-primary);
}
.input input::placeholder {
  color: var(--color-text-tertiary);
}
.input select {
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background: url("cart-icon-chevron-down-18.svg") no-repeat right center / 18px 18px;
  padding-right: 26px;
}
.input select.is-placeholder {
  color: var(--color-text-tertiary);
}
.input__logos {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.logo-visa {
  width: 49.485px;
  height: 16px;
}
.logo-mastercard {
  width: 38.88px;
  height: 24px;
}

/* Discount row */
.discount {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.discount .input {
  flex: 1;
}

/* Summary rows */
.sum-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
}
.sum-row__label {
  color: var(--color-text-secondary);
}
.sum-row__value {
  font-weight: 600;
  color: var(--color-text-primary);
}
.sum-row__value--medium {
  font-weight: 500;
}
.is-success {
  color: var(--color-success-default);
}
.sum-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
}
.sum-total__label {
  font-size: 16px;
  line-height: 24px;
}
.sum-total__value {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.84px;
}
.sum-total__value--brand {
  color: var(--color-text-brand);
}
.divider {
  width: 100%;
  height: 1px;
  background: var(--color-border-default);
  border: 0;
  margin: 0;
}
.text-underline {
  text-decoration: underline;
  text-underline-position: from-font;
}
.secure-note {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-tertiary);
}
.secure-note img {
  width: 16px;
  height: 16px;
}
.secure-note--center {
  justify-content: center;
  width: 100%;
}

/* Generic white panel (order confirmation / tracking) */
.panel {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding: 32px;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 16px;
}
.panel--tint {
  border-color: transparent;
  background: var(--color-brand-subtle);
}
.panel__title {
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: -0.7px;
  color: var(--color-text-primary);
}
.panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.panel__meta {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-secondary);
  white-space: nowrap;
}

/* Icon + text row (address, “what happens next”, help…) */
.info-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-width: 0;
}
.icon-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-full);
  background: var(--color-brand-subtle);
}
.icon-circle img {
  width: 20px;
  height: 20px;
}
.icon-circle--white {
  background: var(--color-bg-primary);
}
.info-row__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.info-row__title {
  font-weight: 600;
  color: var(--color-text-primary);
}

/* Order line (thumb + name + price) */
.order-line {
  display: flex;
  align-items: center;
  gap: 16px;
}
.order-line__img {
  flex-shrink: 0;
  width: 88px;
  height: 88px;
  border-radius: 8px;
  object-fit: cover;
}
.order-line__img--64 {
  width: 64px;
  height: 64px;
}
.order-line__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
}
.order-line__name {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.order-line__meta {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.order-line__qty {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-tertiary);
}
.order-line__price {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
}

/* Progress stepper (confirmation + tracking) */
.stepper {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex: 0 1 168px;
  min-width: 0;
  text-align: center;
}
.step__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full);
  background: var(--color-bg-tertiary);
}
.step__icon img {
  width: 22px;
  height: 22px;
}
.step--done .step__icon {
  background: var(--color-brand-default);
}
.step--current .step__icon {
  background: var(--color-brand-subtle);
}
.step__label {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.step--todo .step__label {
  color: var(--color-text-tertiary);
}
.step__date {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.step--current .step__date {
  color: var(--color-text-brand);
}
.step__connector {
  flex: 1 1 0;
  min-width: 1px;
  height: 2px;
  margin-top: 23px;
  background: var(--color-border-default);
}
.step__connector--done {
  background: var(--color-brand-default);
}

/* Product grid (wishlist + recommendations) */
.cart-product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 24px;
  row-gap: 48px;
}
.product-card__badge--new {
  background: var(--color-brand-default);
}
.product-card__badge--muted {
  background: var(--color-text-tertiary);
}

/* =========================================================
   CART PAGE  (sections/main-cart.liquid)
   ========================================================= */
.cart-header {
  gap: 14px;
}
.cart-header .page-header__text {
  white-space: nowrap;
}
.cart-main {
  padding: 64px var(--page-gutter);
}
.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  align-items: start;
  gap: 32px;
  max-width: 1320px;
  margin: 0 auto;
}

/* Cart line (snippets/cart-line.liquid) — used by page + drawer */
.cart-lines {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.cart-line {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.cart-line + .cart-line {
  padding-top: 20px;
  border-top: 1px solid var(--color-border-default);
}
.cart-line__select {
  display: flex;
  align-items: center;
  align-self: stretch;
}
.cart-line__img {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
  overflow: hidden;
}
.cart-line__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-line__mid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.cart-line__names {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 100%;
}
.cart-line__name {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.cart-line__variant {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.cart-line__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  align-self: stretch;
  flex-shrink: 0;
}
.cart-line__price-row {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.cart-line__price {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.cart-line__times {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.cart-line__remove {
  width: 20px;
  height: 20px;
}
.cart-line__remove img {
  width: 20px;
  height: 20px;
}
.cart-line.is-unselected .cart-line__img,
.cart-line.is-unselected .cart-line__names {
  opacity: 0.55;
}

.stepper-qty {
  display: inline-flex;
  align-items: center;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
  overflow: hidden;
}
.stepper-qty button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 32px;
}
.stepper-qty button img {
  width: 18px;
  height: 18px;
}
.stepper-qty button:disabled {
  cursor: default;
}
.stepper-qty__value {
  width: 30px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  text-align: center;
  color: var(--color-text-primary);
}

/* Summary card */
.cart-summary {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 23px;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 12px;
}
.gift-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: var(--color-text-primary);
  cursor: pointer;
}
.continue-link {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--color-text-secondary);
  text-align: center;
}
.continue-link:hover {
  color: var(--color-text-primary);
}
.gift-note {
  width: 100%;
  min-height: 72px;
  padding: 10px 13px;
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
  font-size: 14px;
  line-height: 20px;
  resize: vertical;
}

/* Empty state (snippets/cart-empty.liquid) */
.cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 0 24px;
  text-align: center;
}
.cart-empty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 96px;
  height: 96px;
  border-radius: var(--radius-full);
  background: var(--color-brand-subtle);
}
.cart-empty__icon img {
  width: 44px;
  height: 44px;
}
.cart-empty__text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.cart-empty__title {
  font-family: var(--font-family-serif);
  font-weight: 400;
  font-size: 32px;
  line-height: 40px;
  letter-spacing: -0.64px;
  color: var(--color-text-primary);
}
.cart-empty__desc {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.cart-empty-main {
  padding: 80px var(--page-gutter) 120px;
}
.cart-empty-main .cart-empty {
  max-width: 480px;
  margin: 0 auto;
}

/* =========================================================
   CART DRAWER  (snippets/cart-drawer.liquid)
   Desktop only — opens over the page.
   ========================================================= */
.cart-drawer-scrim {
  position: fixed;
  inset: 0;
  z-index: 90;
  background: rgba(15, 23, 18, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  width: var(--cart-drawer-width);
  max-width: 100%;
  background: var(--color-bg-primary);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.25s ease, visibility 0.25s ease;
}
.cart-drawer.is-open {
  transform: none;
  visibility: visible;
}
.cart-drawer.is-open + .cart-drawer-scrim {
  opacity: 1;
  visibility: visible;
}
.cart-drawer__header {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 24px 19px;
  border-bottom: 1px solid var(--color-border-default);
}
.cart-drawer__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cart-drawer__title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  white-space: nowrap;
}
.cart-drawer__title h2 {
  font-family: var(--font-family-serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.48px;
  color: var(--color-text-primary);
}
.cart-drawer__count {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.cart-drawer__close {
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-secondary);
}
.cart-drawer__close:hover {
  color: var(--color-text-primary);
}
.cart-drawer__items {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
}
.cart-drawer__footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 19px 24px 24px;
  border-top: 1px solid var(--color-border-default);
}
.cart-drawer__empty {
  flex: 1;
}
.cart-drawer .cart-empty__title {
  font-size: 24px;
  line-height: 32px;
  letter-spacing: -0.48px;
}
.cart-drawer[data-empty="true"] .cart-drawer__ship,
.cart-drawer[data-empty="true"] .cart-drawer__items,
.cart-drawer[data-empty="true"] .cart-drawer__footer {
  display: none;
}
.cart-drawer[data-empty="true"] .cart-drawer__header {
  padding-bottom: 19px;
}
.cart-drawer:not([data-empty="true"]) .cart-drawer__empty {
  display: none;
}
body.has-drawer-open {
  overflow: hidden;
}

/* =========================================================
   CHECKOUT  (sections/main-checkout.liquid)
   ========================================================= */
.checkout {
  --co-pad: max(120px, calc((100% - 1320px) / 2));
}
.checkout-header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 84px var(--co-pad) 48px;
}
.checkout-header p {
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-secondary);
}
.checkout-main {
  display: flex;
  align-items: flex-start;
  gap: 64px;
  padding: 16px var(--co-pad) 80px;
}
.checkout-form {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex: 1;
  min-width: 0;
}
.co-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.co-section__title {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
  padding: 0;
}
.co-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.co-section__head a {
  font-size: 12px;
  line-height: 16px;
  font-weight: 500;
  color: var(--color-text-brand);
  text-decoration: underline;
  text-underline-position: from-font;
}
.co-section__sub {
  margin: -4px 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.co-row {
  display: flex;
  gap: 16px;
}
.co-row > * {
  flex: 1 1 0;
}
.co-row--12 {
  gap: 12px;
}

/* Express checkout */
.express {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.express__label {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  letter-spacing: 0.72px;
  color: var(--color-text-tertiary);
}
.express__buttons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.express-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: var(--radius-full);
  transition: filter 0.15s ease;
}
.express-btn:hover {
  filter: brightness(0.95);
}
.express-btn--paypal { background: #ffc43a; }
.express-btn--apple,
.express-btn--google { background: #242b50; }
.express-btn--shop { background: #5433eb; }
.express-btn--paypal img { width: 78px; height: 21px; }
.express-btn--apple img { width: 49.5px; height: 21px; }
.express-btn--shop img { width: 86.57px; height: 21px; }
.gpay {
  position: relative;
  width: 53.884px;
  height: 21px;
}
.gpay img:first-child {
  position: absolute;
  left: 0;
  top: 0;
  width: 17.28px;
  height: 17.53px;
}
.gpay img:last-child {
  position: absolute;
  left: 23.17px;
  top: 1.12px;
  width: 30.71px;
  height: 19.88px;
}
.or-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 8px;
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.or-divider::before,
.or-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--color-border-default);
}

/* Radio choice cards */
.choice {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px 15px;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.choice:hover {
  border-color: var(--color-border-strong);
}
.choice.is-selected {
  background: var(--color-brand-subtle);
  border-color: var(--color-brand-default);
  box-shadow: inset 0 0 0 0.5px var(--color-brand-default);
}
.choice__label {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.choice__icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
.choice--tall {
  padding: 15px;
}
.choice__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
}
.choice__sub {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.choice__price {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
}
.choice.is-selected .choice__price--free {
  color: var(--color-brand-default);
}
.choice__price--free {
  color: var(--color-brand-default);
}
.choice--plain {
  padding: 14px 15px;
}
.choice--plain .choice__label {
  font-weight: 400;
}

/* Payment accordion */
.pay {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
  overflow: hidden;
}
.pay__option + .pay__option {
  border-top: 1px solid var(--color-border-default);
}
.pay__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px 15px;
  cursor: pointer;
}
.pay__head--card {
  gap: 24px;
  padding: 16px 16px 0;
}
.pay__name {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.pay__mark {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
.pay__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
}
.pay__option:not(.is-selected) .pay__body {
  display: none;
}
.pay__option--card:not(.is-selected) .pay__head--card {
  padding-bottom: 16px;
}
.pay__logos {
  display: flex;
  align-items: center;
  gap: 24px;
}

.co-links {
  display: flex;
  gap: 20px;
  padding-top: 8px;
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.co-links a {
  text-decoration: underline;
  text-underline-position: from-font;
}
.co-links a:hover {
  color: var(--color-text-primary);
}
.secure-note--14 img {
  width: 14px;
  height: 14px;
}

/* Order summary (checkout) */
.co-summary {
  flex: 0 0 440px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 23px;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 12px;
}
.co-summary__title {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.co-summary__items {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.co-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.co-item__img {
  position: relative;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}
.co-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 1px solid var(--color-border-default);
  border-radius: 8px;
}
.co-item__badge {
  position: absolute;
  left: 50px;
  top: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 11px;
  background: var(--color-brand-default);
  color: var(--color-text-inverse);
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
}
.co-item__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.co-item__name {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: var(--color-text-primary);
}
.co-item__meta {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.co-item__price {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
}
.co-summary__rows {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.co-summary__rows .sum-row {
  align-items: flex-start;
}
.co-summary__rows .sum-row__value {
  font-weight: 500;
}

/* =========================================================
   ORDER CONFIRMATION  (sections/main-order-confirmation.liquid)
   ========================================================= */
.confirm-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 80px var(--page-gutter) 72px;
  background: var(--color-bg-secondary);
  text-align: center;
}
.confirm-hero__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: var(--radius-full);
  background: var(--color-success-subtle);
}
.confirm-hero__icon img {
  width: 44px;
  height: 44px;
}
.confirm-hero__eyebrow {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: var(--color-brand-default);
}
.confirm-hero__text {
  max-width: 640px;
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-secondary);
}
.confirm-hero__actions {
  display: flex;
  gap: 12px;
}
.confirm-progress {
  width: 100%;
  max-width: 1100px;
  padding: 32px 40px;
  background: var(--color-bg-primary);
  border: 1px solid var(--color-border-default);
  border-radius: 16px;
}
.confirm-main {
  padding: 64px var(--page-gutter) 96px;
}
.order-columns {
  display: flex;
  align-items: flex-start;
  gap: 32px;
}
.order-columns__left,
.order-columns__right {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
}
.order-columns__left {
  flex: 1;
}
.order-columns__right {
  flex: 0 0 clamp(380px, 39vw, 560px);
}
.order-items {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.order-items .order-line__body {
  gap: 4px;
}
.delivery-grid {
  display: flex;
  gap: 32px;
}
.delivery-grid > * {
  flex: 1 1 0;
}
.summary-panel {
  gap: 16px;
}
.next-panel {
  gap: 20px;
}
.help-panel {
  gap: 16px;
}

/* Recommendations */
.complete-look {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 0 var(--page-gutter) 96px;
}
.complete-look__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* =========================================================
   ORDER TRACKING  (sections/main-order-tracking.liquid)
   ========================================================= */
.track-main {
  padding: 48px var(--page-gutter) 96px;
}
.track-status {
  gap: 32px;
}
.track-status__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.track-status__when {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.track-status__eyebrow {
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: var(--color-text-secondary);
}
.track-status__window {
  font-size: 16px;
  line-height: 24px;
  color: var(--color-text-secondary);
}
.status-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  background: var(--color-warning-subtle);
  font-size: 13px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-warning-default);
  white-space: nowrap;
}
.status-badge img {
  width: 18px;
  height: 18px;
}
.track-status .step {
  flex-basis: 140px;
}
.carrier {
  display: flex;
  align-items: center;
  gap: 24px;
}
.carrier__facts {
  display: flex;
  gap: 12px 48px;
  flex: 1;
  min-width: 0;
}
.carrier__fact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.carrier__fact span {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.carrier__fact strong {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.activity {
  gap: 0;
}
.activity .panel__head {
  padding-bottom: 24px;
}
.event {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}
.event__when {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 0 0 96px;
  white-space: nowrap;
}
.event__date {
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.event__time {
  font-size: 12px;
  line-height: 16px;
  color: var(--color-text-secondary);
}
.event__track {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  flex: 0 0 16px;
  padding-top: 4px;
}
.event__dot {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.event__dot--active {
  max-width: none;
  width: 20px;
  height: 20px;
  margin: -4px;
}
.event__line {
  flex: 1;
  width: 2px;
  background: var(--color-border-default);
}
.event__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
  min-width: 0;
  padding-bottom: 28px;
}
.event__title {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.event__place {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-secondary);
}
.event--current .event__date,
.event--current .event__title {
  color: var(--color-text-brand);
}
.ship-items {
  gap: 16px;
}
.ship-items .order-line__meta {
  font-size: 14px;
}
.ship-items .sum-row__value {
  font-weight: 500;
}
.help-actions {
  display: flex;
  gap: 12px;
}
.help-actions .btn {
  flex: 1 1 0;
}
.address-panel {
  gap: 16px;
  align-items: flex-start;
}
.address-panel > .info-row {
  width: 100%;
}

/* =========================================================
   WISHLIST  (sections/main-wishlist.liquid)
   ========================================================= */
.wishlist-main {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 48px var(--page-gutter) 24px;
}
.wl-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
}
.wl-toolbar__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
.wl-toolbar__count {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  color: var(--color-text-primary);
  white-space: nowrap;
}
.wl-toolbar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.chip:hover {
  border-color: var(--color-text-secondary);
}
.chip.is-active {
  background: var(--color-brand-default);
  border-color: var(--color-brand-default);
  color: var(--color-text-inverse);
}
.wl-card[hidden] {
  display: none;
}
.wl-empty {
  padding: 48px 0;
}
.wl-info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px;
  border-radius: 12px;
  background: var(--color-brand-subtle);
  font-size: 14px;
  line-height: 20px;
  color: var(--color-text-brand);
}
.wl-info img {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.wl-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 72px var(--page-gutter);
}
.wl-trust__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 24px 40px;
  border-radius: 24px;
  background: var(--color-bg-tertiary);
  text-align: center;
}
.wl-trust__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: var(--color-brand-subtle);
}
.wl-trust__icon img {
  width: 28px;
  height: 28px;
}
.wl-trust__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wl-trust__title {
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: var(--color-text-primary);
}
.wl-trust__desc {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-neutral-500);
}

/* Toast (copy / share feedback) */
.cart-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 120;
  padding: 10px 16px;
  border-radius: var(--radius-full);
  background: var(--color-neutral-900);
  color: var(--color-text-inverse);
  font-size: 14px;
  line-height: 20px;
  transform: translate(-50%, 16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.cart-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* =========================================================
   1024–1279: tighten wide layouts
   ========================================================= */
@media (max-width: 1279px) {
  .checkout {
    --co-pad: 56px;
  }
  .co-summary {
    flex-basis: 380px;
  }
  .cart-layout {
    grid-template-columns: minmax(0, 1fr) 380px;
  }
}

/* =========================================================
   TABLET  ≤1023
   ========================================================= */
@media (max-width: 1023px) {
  .cart-drawer,
  .cart-drawer-scrim {
    display: none;
  }

  .cart-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  /* Checkout */
  .checkout {
    --co-pad: var(--page-gutter);
  }
  .checkout-header {
    padding-top: 48px;
    padding-bottom: 32px;
  }
  .checkout-main {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
  .co-summary {
    flex-basis: auto;
  }
  .pay__head--card,
  .pay__logos {
    gap: 16px;
  }
  .input__logos {
    gap: 12px;
  }
  .logo-visa {
    width: 37.11px;
    height: 12px;
  }
  .logo-mastercard {
    width: 29.16px;
    height: 18px;
  }

  /* Tablet/mobile Figma frames draw icon “circles” as half-height pills */
  .confirm-hero__icon {
    height: 44px;
  }
  .step__icon {
    height: 24px;
  }
  .step__connector {
    margin-top: 11px;
  }
  .icon-circle {
    height: 20px;
  }
  .wl-trust__icon {
    height: 28px;
  }

  /* Order confirmation */
  .confirm-progress {
    padding: 32px 40px;
  }
  .confirm-progress .step {
    flex-basis: 138px;
  }
  .order-columns {
    flex-direction: column;
    align-items: stretch;
  }
  .order-columns__right {
    flex-basis: auto;
  }
  .delivery-grid {
    flex-direction: column;
    gap: 32px;
  }
  .cart-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Tracking */
  .track-status__head {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .event {
    gap: 12px;
  }
  .carrier__facts {
    flex-wrap: wrap;
  }
  .carrier__fact {
    white-space: nowrap;
  }

  /* Wishlist */
  .wl-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }
  .wl-trust {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wl-trust__item {
    padding: 24px 40px;
  }
}

/* =========================================================
   MOBILE  ≤767
   ========================================================= */
@media (max-width: 767px) {
  .page-header {
    padding-top: 56px;
  }
  .cart-header {
    padding-top: 40px;
    padding-bottom: 32px;
  }
  .page-header__text {
    white-space: normal;
  }
  .cart-main {
    padding: 48px var(--page-gutter);
  }
  .cart-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .cart-empty-main {
    padding: 56px var(--page-gutter) 80px;
  }
  .cart-empty__title {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: -0.48px;
  }
  .cart-empty__text {
    padding: 0 24px;
  }

  /* Checkout */
  .checkout-header {
    padding-top: 32px;
    padding-bottom: 24px;
  }
  .checkout-main {
    gap: 24px;
    padding-bottom: 64px;
  }
  .express__buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .co-section__sub {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .co-row--stack {
    flex-direction: column;
    gap: 12px;
  }
  .co-row--stack-16 {
    flex-direction: column;
    gap: 12px;
  }

  /* Confirmation */
  .confirm-hero {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .confirm-hero__title {
    max-width: 342px;
  }
  .confirm-hero__actions {
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
  }
  .confirm-progress {
    padding: 32px 24px;
  }
  .confirm-progress .step,
  .track-status .step {
    flex: 0 1 64px;
  }
  .step__label,
  .step__date {
    overflow-wrap: anywhere;
  }
  .step__connector {
    flex: 0 0 12px;
  }
  .confirm-main {
    padding: 64px var(--page-gutter);
  }
  .order-items .panel__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .order-items .order-line__img {
    width: 64px;
    height: 64px;
  }
  .order-items .order-line__price {
    align-self: flex-start;
  }
  .delivery-grid {
    gap: 24px;
  }
  .complete-look {
    padding-bottom: 64px;
  }

  /* Tracking */
  .track-main {
    padding-bottom: 64px;
  }
  .track-status .step {
    flex: 1 1 0;
  }
  .carrier {
    flex-direction: column;
    gap: 24px;
  }
  .carrier__facts {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }
  .activity .panel__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .event__when {
    flex-basis: 64px;
  }
  .ship-items .order-line {
    align-items: center;
  }
  .help-actions .btn {
    padding-left: 11px;
    padding-right: 11px;
  }

  /* Wishlist */
  .wl-toolbar {
    gap: 0;
  }
  .wl-toolbar__filters {
    margin-bottom: 0;
  }
  .wl-info {
    align-items: center;
  }
  .wl-trust {
    grid-template-columns: minmax(0, 1fr);
    padding: 64px var(--page-gutter);
  }
  .wl-trust__item {
    padding: 24px;
  }

  .cart-product-grid .product-card__title {
    min-height: 0;
  }
}
