/* Core theme — Wishlist page.
   The card owns its own look (assets/product-card.css); this file owns the
   page frame, the grid and the empty state, in Core tokens only. */

.wishl {
  padding-block: var(--wishl-pad-top, calc(var(--core-rhythm, 64px) * .7))
                 var(--wishl-pad-bottom, var(--core-rhythm, 64px));
  background: var(--wishl-bg, var(--core-background));
  color: var(--wishl-text, var(--core-text));
}

.wishl__inner { display: grid; gap: clamp(24px, 3vw, 36px); }

.wishl__head { display: grid; gap: 8px; max-width: var(--core-track-prose-narrow, 58ch); }

.wishl__title {
  margin: 0;
  color: var(--wishl-heading, var(--core-text));
  font-family: var(--core-font-heading);
  font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.015em;
  text-wrap: balance;
}

.wishl__intro { margin: 0; color: var(--core-muted); font-size: 1.0625rem; line-height: 1.6; }

.wishl__count {
  margin: 0;
  color: var(--core-muted);
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .02em;
}

/* Grid -------------------------------------------------------------------- */

.wishl__grid {
  display: grid;
  grid-template-columns: repeat(var(--wishl-cols-mobile), minmax(0, 1fr));
  gap: var(--wishl-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wishl__cell { display: flex; min-width: 0; }
.wishl__cell > .pcard { width: 100%; }
.wishl .pcard__media { aspect-ratio: var(--wishl-ratio); }
.wishl .pcard__img { object-fit: var(--wishl-fit); }

/* Removing a saved product should read as "gone", not as a page reload. */
.wishl__cell.is-leaving {
  opacity: 0;
  transform: scale(.97);
  transition: opacity .18s var(--ease, ease), transform .18s var(--ease, ease);
}

@media (min-width: 768px) {
  .wishl__grid { grid-template-columns: repeat(var(--wishl-cols-tablet), minmax(0, 1fr)); }
}

@media (min-width: 1025px) {
  .wishl__grid { grid-template-columns: repeat(var(--wishl-cols), minmax(0, 1fr)); }
}

/* Empty state ------------------------------------------------------------- */

.wishl__empty {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: clamp(40px, 8vw, 80px) 20px;
  border: 1px solid var(--core-border-color);
  border-radius: var(--core-card-radius, 10px);
  background: var(--core-surface);
  text-align: center;
}

.wishl__empty-icon { color: var(--core-muted); }
.wishl__empty-icon svg { width: 40px; height: 40px; }

.wishl__empty-title {
  margin: 0;
  color: var(--core-text);
  font-family: var(--core-font-heading);
  font-size: 1.25rem;
  font-weight: 600;
}

.wishl__empty-text { margin: 0; max-width: 42ch; color: var(--core-muted); line-height: 1.6; }

.wishl__empty-link {
  margin-top: 8px;
  padding: 12px 24px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  border-radius: var(--core-button-radius, 8px);
  background: var(--core-button-bg);
  color: var(--core-button-text);
  font-weight: 600;
  text-decoration: none;
}

.wishl__empty-link:hover { background: var(--core-button-hover-bg); color: var(--core-button-hover-text); }

.wishl__preview-note {
  margin: 0;
  padding: 10px 14px;
  border: 1px dashed var(--core-border-color);
  border-radius: var(--core-card-radius, 10px);
  color: var(--core-muted);
  font-size: .875rem;
}

@media (prefers-reduced-motion: reduce) {
  .wishl__cell.is-leaving { transition: none; }
}
