/* High comparable-value cards: a champagne hairline and a quiet reflection on the photo.
   Eligibility remains wl-sort.js isRare. Decorative layers never intercept controls.
   No light crosses the price, title or expanded details; reduced motion keeps only the edge. */
.c-wl-row.rare {
  --rare-edge: rgba(174,145,91,.34);
  --rare-glint: rgba(228,209,165,.72);
  --rare-photo-light: rgba(255,244,218,.14);
  position: relative;
  isolation: isolate;
}
html[data-theme="dark"] .c-wl-row.rare {
  --rare-edge: rgba(204,179,125,.30);
  --rare-glint: rgba(242,226,190,.62);
  --rare-photo-light: rgba(255,243,214,.10);
}
.c-wl-row.rare::before {
  content: ""; position: absolute; inset: 0; z-index: 2;
  border-radius: inherit; pointer-events: none;
  box-shadow: inset 0 0 0 1px var(--rare-edge);
}
/* Keep the moving reflection in the one-pixel frame, never on the card's content. */
@supports (mask-composite: exclude) or (-webkit-mask-composite: xor) {
  .c-wl-row.rare::after {
    content: ""; position: absolute; inset: 0; z-index: 2;
    padding: 1px; border-radius: inherit; pointer-events: none;
    background: linear-gradient(115deg, transparent 42%, var(--rare-glint) 50%, transparent 58%) 160% 0 / 280% 100% no-repeat;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity: 0; animation: rare-edge-reflection 14s ease-in-out 1.5s infinite;
  }
}
.c-wl-row.rare .wlg-stage::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  pointer-events: none; border-radius: inherit;
  background: linear-gradient(112deg, transparent 35%, var(--rare-photo-light) 49%, transparent 63%) 160% 0 / 280% 100% no-repeat;
  opacity: 0; animation: rare-photo-reflection 14s ease-in-out 1.5s infinite;
}
@keyframes rare-edge-reflection {
  0% { opacity: 0; background-position: 160% 0; }
  3% { opacity: .7; }
  19% { opacity: .7; background-position: -60% 0; }
  23%,100% { opacity: 0; background-position: -60% 0; }
}
@keyframes rare-photo-reflection {
  0% { opacity: 0; background-position: 160% 0; }
  4% { opacity: 1; }
  17% { opacity: 1; background-position: -60% 0; }
  21%,100% { opacity: 0; background-position: -60% 0; }
}
.c-wl-row.rare.open::after,
.c-wl-row.rare.open .wlg-stage::after { content: none; animation: none; }
@media (prefers-reduced-motion: reduce) {
  .c-wl-row.rare::after,
  .c-wl-row.rare .wlg-stage::after { content: none; animation: none; }
}
