/* ReelShop — saved products on WooCommerce My Account.
   Self-contained, light-mode only, isolated from theme + other plugins.

   Layout is a vertical product-card grid: image on top, details beneath, and
   the remove action floating over the image corner. Every declaration is
   !important because account pages are styled aggressively by themes. */

.reelshop-saved-page {
  --rss-card: #ffffff;
  --rss-border: #ececec;
  --rss-border-hover: #d8d8d8;
  --rss-text: #1a1a1a;
  --rss-muted: #6b7280;
  --rss-accent: #e94560;
  --rss-price: #16a34a;
  --rss-radius: 14px;

  box-sizing: border-box;
  color: var(--rss-text) !important;
  font-family: Tahoma, "IRANYekanXVF", Arial, sans-serif !important;
  line-height: 1.6;
  text-align: right;
  direction: rtl;
}

.reelshop-saved-page *,
.reelshop-saved-page *::before,
.reelshop-saved-page *::after {
  box-sizing: border-box;
}

.reelshop-saved-page__title {
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--rss-text) !important;
  border: none !important;
  background: none !important;
}

.reelshop-saved-notice {
  margin: 0 0 16px !important;
  padding: 10px 14px !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 10px !important;
  background: #f0fdf4 !important;
  color: #15803d !important;
  font-size: 13px !important;
}

.reelshop-saved-page__empty {
  margin: 0 !important;
  padding: 32px 16px !important;
  text-align: center !important;
  color: var(--rss-muted) !important;
  background: #fafafa !important;
  border: 1px dashed var(--rss-border) !important;
  border-radius: var(--rss-radius) !important;
  font-size: 14px !important;
}

/* ========== Grid ========== */
.reelshop-saved-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.reelshop-saved-grid > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* ========== Card ========== */
.reelshop-saved-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  background: var(--rss-card) !important;
  border: 1px solid var(--rss-border) !important;
  border-radius: var(--rss-radius) !important;
  overflow: hidden !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.reelshop-saved-card:hover {
  border-color: var(--rss-border-hover) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  transform: translateY(-2px) !important;
}

/* ========== Image ========== */
.reelshop-saved-card__image-link {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #f4f4f5 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.reelshop-saved-card__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  transition: transform 0.35s ease !important;
}

.reelshop-saved-card:hover .reelshop-saved-card__image {
  transform: scale(1.04) !important;
}

/* ========== Body ========== */
.reelshop-saved-card__body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 12px !important;
}

.reelshop-saved-card__name {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  color: var(--rss-text) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.9em !important;
}

.reelshop-saved-card__name a {
  color: var(--rss-text) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  background: none !important;
}

.reelshop-saved-card__name a:hover {
  color: var(--rss-accent) !important;
  text-decoration: none !important;
}

/* Sits inside __body, so spacing comes from the body's padding — only the
   auto margin is needed to pin it to the bottom of uneven-height cards. */
.reelshop-saved-card__price {
  margin: auto 0 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rss-price) !important;
}

.reelshop-saved-card__price del,
.reelshop-saved-card__price del .amount,
.reelshop-saved-card__price del .woocommerce-Price-amount {
  color: var(--rss-muted) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  margin-inline-end: 6px;
}

.reelshop-saved-card__price ins,
.reelshop-saved-card__price ins .amount,
.reelshop-saved-card__price ins .woocommerce-Price-amount {
  text-decoration: none !important;
  color: var(--rss-price) !important;
  font-weight: 700 !important;
  background: none !important;
}

/* ========== Remove action (floats over the image) ========== */
.reelshop-saved-card__actions {
  position: absolute !important;
  top: 8px !important;
  inset-inline-start: 8px !important;
  z-index: 2 !important;
  display: block !important;
}

.reelshop-saved-card__actions form {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.reelshop-saved-card__remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--rss-muted) !important;
  cursor: pointer !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.16) !important;
  text-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  line-height: 1 !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.2s ease, color 0.2s ease !important;
}

.reelshop-saved-card__remove:hover,
.reelshop-saved-card__remove:focus-visible {
  background: #ffffff !important;
  color: var(--rss-accent) !important;
}

.reelshop-saved-card__remove svg {
  width: 15px !important;
  height: 15px !important;
  stroke: currentColor !important;
  fill: none !important;
  display: block !important;
}

/* ========== Responsive ==========
   Account pages sit inside a narrow content column, so the breakpoints step
   down early: 4 → 3 (small desktop) → 2 (tablet) → 2 (phone). Two columns are
   kept on phones because a single full-width column makes the images huge. */
@media (max-width: 1200px) {
  .reelshop-saved-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .reelshop-saved-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

@media (max-width: 480px) {
  .reelshop-saved-grid {
    gap: 10px !important;
  }

  .reelshop-saved-card__body {
    padding: 10px !important;
    gap: 4px !important;
  }

  .reelshop-saved-card__name {
    font-size: 12.5px !important;
  }

  .reelshop-saved-card__price {
    font-size: 13px !important;
  }

  .reelshop-saved-card__remove {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }
}
