/* ─────────────────────────────
   WISHLIST.CSS — Lo Castro wishlist page
   wp-content/themes/twentytwentyfive-child/styles/wishlist.css

   Styles the [lc_wishlist] shortcode. Depends on category.css since the
   product grid reuses .lc-category-grid / .lc-category-card, and on
   account.css for .lc-kicker / .lc-account-divider / .lc-btn-primary.
   ───────────────────────────── */

.lc-wishlist-page {
  max-width: 1200px;
  margin: 34px auto 70px;
  padding: 0 20px;
}

/* WordPress's block-theme "constrained" layout (applied by the Page
   template's Content block) caps width and adds side padding around
   whatever's inside it — fighting the max-width above and producing big
   empty margins. Since this file only ever loads on the Wishlist page
   (is_page('wishlist') in functions.php), it's safe to fully neutralize
   it here rather than hunt for a toggle in the block editor UI. */
.entry-content.is-layout-constrained {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* WordPress's global block-spacing style also injects max-width and
   margin-block-start on every direct child of .is-layout-constrained
   (all via low-specificity :where() selectors, easily overridden
   here) — neutralize both, or the first section gets squeezed width
   and an unwanted gap under the header. */
.entry-content.is-layout-constrained > * {
  max-width: none !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.lc-wishlist-kicker {
  margin-bottom: 8px;
}

.lc-wishlist-title {
  font-family: var(--lc-font-display) !important;
  font-size: 22px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 20px !important;
}

.lc-wishlist-page .lc-account-divider {
  margin-bottom: 40px;
}

#lc-wishlist-grid .lc-category-loading,
#lc-wishlist-grid .lc-category-empty {
  text-align: center;
  padding: 60px 20px;
  font-size: 13px;
  opacity: 0.6;
}

/* ── Wishlist cards: same grid as category/shop, plus a remove button
   positioned like the heart on category cards ── */
.lc-wishlist-card {
  position: relative;
}

.lc-wishlist-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.lc-wishlist-card-remove {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  appearance: none;
  cursor: pointer;
  border: 1px solid var(--lc-border-subtle);
  background: var(--lc-text);
  color: #ffffff;
  transition: opacity 0.15s ease;
}

.lc-wishlist-card-remove:hover {
  opacity: 0.8;
}

.lc-wishlist-card-remove .lc-wishlist-heart {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* ── Empty state ── */
.lc-wishlist-empty {
  text-align: center;
  padding: 70px 20px;
  display: grid;
  gap: 20px;
  justify-items: center;
}

.lc-wishlist-empty p {
  font-size: 14px;
  opacity: 0.7;
  margin: 0;
}