/* TOGOPEPTIDE — Wishlist v2 premium polish
 * Layers on top of the existing wishlist-cards renderer without rewriting it.
 * Adds: tighter grid, hover-lift, stock-state dots integration,
 * mobile bottom-nav clearance.
 */

/* Toolbar — refresh layout for breathing room */
.wl-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 8px);
  align-items: center;
  margin: var(--space-3, 12px) 0 var(--space-4, 16px);
  padding: 0;
}
.wl-toolbar .btn {
  min-height: 40px;
  padding: 8px 14px;
  font-size: 13px;
}

/* Grid — responsive, never overflows, premium spacing */
.wishlist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: var(--space-3, 16px);
  margin: var(--space-3, 16px) 0 var(--space-6, 32px);
}

@media (min-width: 768px) {
  .wishlist-grid { gap: 20px; }
}
@media (min-width: 1280px) {
  .wishlist-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
  }
}

/* Cards — soft surface, lift on hover */
.wishlist-grid .card,
.wishlist-grid .wishlist-card {
  background: var(--color-bg-elevated, #181818);
  border: 1px solid var(--color-border, rgba(255,255,255,0.10));
  border-radius: 14px;
  overflow: hidden;
  transition: transform 200ms cubic-bezier(0.2, 0.8, 0.2, 1),
              border-color 200ms ease,
              box-shadow 200ms ease;
  position: relative;
}
.wishlist-grid .card:hover,
.wishlist-grid .wishlist-card:hover {
  transform: translateY(-3px);
  border-color: var(--color-border-strong, rgba(255,255,255,0.22));
  box-shadow: 0 12px 32px rgba(0,0,0,0.32);
}

/* Image / media */
.wishlist-grid .card__media,
.wishlist-grid .wishlist-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--color-bg, #0a0a0a);
}
.wishlist-grid .card__media img,
.wishlist-grid .wishlist-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Stock dot — bottom-right of media (re-uses togo-card-stock from togo-inventory.css if loaded) */
.wishlist-grid .togo-card-stock,
.wishlist-grid .wishlist-card__stock-dot {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--color-bg-elevated, #181818);
  z-index: 2;
}

/* Body padding + typography */
.wishlist-grid .card__body,
.wishlist-grid .wishlist-card__body {
  padding: 14px 16px 16px;
}
.wishlist-grid .card__title,
.wishlist-grid .wishlist-card__title {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text, #f4f4f4);
  line-height: 1.3;
}
.wishlist-grid .card__meta,
.wishlist-grid .wishlist-card__meta {
  color: var(--color-text-muted, #a0a0a0);
  font-size: 12px;
  margin: 0 0 8px;
}

/* Price */
.wishlist-grid .card__price,
.wishlist-grid .wishlist-card__price {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text, #f4f4f4);
  font-variant-numeric: tabular-nums;
}

/* Actions row */
.wishlist-grid .card__actions,
.wishlist-grid .wishlist-card__actions {
  display: flex;
  gap: 6px;
  margin-top: 10px;
}
.wishlist-grid .card__actions .btn,
.wishlist-grid .wishlist-card__actions .btn {
  min-height: 36px;
  padding: 6px 12px;
  font-size: 12px;
  flex: 1;
}

/* Empty state */
.wishlist-state:empty + .wishlist-grid:empty::before {
  content: "";
}
.wishlist-grid:empty {
  display: none !important;
}
.wishlist-grid[hidden] {
  display: none !important;
}
.wishlist-grid:empty::after {
  content: none;
}

/* Read-only banner refresh */
#wl-readonly-banner {
  margin: var(--space-3, 12px) 0 !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
  line-height: 1.5;
}

/* Bottom-nav clearance on mobile */
@media (max-width: 768px) {
  body[data-page="wishlist"] {
    padding-bottom: calc(var(--tgp-mn-height, 64px) + env(safe-area-inset-bottom, 0px) + 28px);
  }
  body[data-page="wishlist"]:has(#wishlist-state:not([hidden])) main > .section:first-of-type {
    padding-block: 20px 18px !important;
  }
  body[data-page="wishlist"]:has(#wishlist-state:not([hidden])) main > .section:nth-of-type(2) {
    padding-block: 16px calc(var(--tgp-mn-height, 64px) + env(safe-area-inset-bottom, 0px) + 24px) !important;
  }
  body[data-page="wishlist"]:has(#wishlist-state:not([hidden])) .breadcrumb {
    display: none !important;
  }
  body[data-page="wishlist"]:has(#wishlist-state:not([hidden])) .account-subnav {
    margin-bottom: 10px !important;
  }
  body[data-page="wishlist"]:has(#wishlist-state:not([hidden])) .section__lead {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  body[data-page="wishlist"]:has(#wishlist-state:not([hidden])) .wl-toolbar {
    display: none !important;
  }
  .wl-toolbar {
    margin-top: var(--space-2, 8px);
  }
  body[data-page="wishlist"] .wishlist-state {
    padding: 14px !important;
    margin-bottom: calc(var(--tgp-mn-height, 64px) + env(safe-area-inset-bottom, 0px) + 18px);
  }
  body[data-page="wishlist"] .wishlist-state > div {
    padding-block: 2px !important;
  }
  body[data-page="wishlist"] .wishlist-state div[aria-hidden="true"] {
    font-size: 28px !important;
    margin-bottom: 6px !important;
  }
  body[data-page="wishlist"] .wishlist-state p {
    line-height: 1.42 !important;
  }
  body[data-page="wishlist"] .wishlist-state p:nth-of-type(2) {
    margin-bottom: 12px !important;
    font-size: 13px !important;
  }
  body[data-page="wishlist"] .wishlist-state > div > div:last-child {
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }
  body[data-page="wishlist"] .wishlist-state .btn {
    min-height: 38px;
    padding-inline: 12px;
    white-space: nowrap;
  }
  .wishlist-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 1100px) {
  body[data-page="wishlist"] #togo-feedback-fab,
  body[data-page="wishlist"] .tgp-back-to-top {
    display: none !important;
  }
}

/* Wishlist actions footer (Clear / Back) */
.wishlist-actions {
  display: flex;
  gap: var(--space-2, 8px);
  align-items: center;
  flex-wrap: wrap;
  margin: var(--space-4, 16px) 0;
}
.wishlist-actions[hidden] {
  display: none !important;
}
.wishlist-actions .btn {
  min-height: 40px;
}
