.fav-main { max-width: 1180px; margin: 0 auto; padding: 48px 28px 90px; }
.fav-head { display: flex; align-items: baseline; gap: 18px; border-bottom: 1px solid #e0ddd6; padding-bottom: 14px; }
.fav-title { margin: 0; font-size: 18px; font-weight: 500; letter-spacing: .14em; }
.fav-count { font-size: 12px; color: #9a9590; letter-spacing: .04em; }
.fav-lead { margin: 16px 0 30px; font-size: 12px; line-height: 1.9; color: #5a5750; }
.fav-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)); gap: 30px; }
.fav-card { border: 1px solid #e0ddd6; background: #fff; }
.fav-thumb { aspect-ratio: 1; background: #f9f8f5; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.fav-thumb img { width: 100%; height: 100%; object-fit: contain; cursor: zoom-in; }
.fav-thumb-none { font-size: 11px; color: #9a9590; }
.fav-body { padding: 18px 18px 20px; }
.fav-name { font-size: 13px; letter-spacing: .05em; }
.fav-alloy { margin-top: 5px; font-size: 11px; color: #9a9590; letter-spacing: .05em; }
.fav-price { margin-top: 12px; font-size: 16px; letter-spacing: .04em; }
.fav-stale { margin-top: 10px; padding: 8px 10px; background: #fdf6ec; border: 1px solid #f0dcc0; font-size: 11px; line-height: 1.7; color: #c07a1a; }
.fav-act { margin-top: 18px; display: flex; flex-direction: column; gap: 8px; }
.fav-act .clr-btn-line, .fav-act .clr-btn-ghost { display: block; width: 100%; padding: 11px; font-size: 12px; }
.fav-act .clr-btn-ghost:disabled { opacity: .4; cursor: default; }
.fav-del { margin-top: 14px; background: none; border: none; padding: 0; font-size: 11px; color: #9a9590; text-decoration: underline; cursor: pointer; letter-spacing: .04em; }
.fav-del:hover { color: #c0392b; }
.fav-empty { padding: 70px 0; text-align: center; }
.fav-empty p { font-size: 13px; color: #5a5750; margin-bottom: 22px; }
.fav-empty .clr-btn-line { display: inline-block; padding: 12px 34px; }
.fav-lightbox { position: fixed; inset: 0; background: rgba(26,25,22,.86); display: none; align-items: center; justify-content: center; z-index: 950; cursor: zoom-out; }
.fav-lightbox.is-open { display: flex; }
.fav-lightbox img { max-width: min(980px, 92vw); max-height: 92vh; background: #fff; }

/* ─── 会員価格の二重表記 (S4) ─── */
.fav-price-was{
  display:block;font-size:12px;color:#aaa;
  text-decoration:line-through;text-decoration-thickness:1px;margin-bottom:1px;
}
.fav-price-main{display:block}
.fav-price-mem{display:block;font-size:12px;color:#6a6a6a;margin-top:3px}
.fav-price-note{display:block;font-size:10.5px;color:#aaa;margin-top:1px}
.fav-price-tag{
  display:inline-block;margin-top:4px;font-size:10.5px;letter-spacing:.06em;
  color:#8a7a4a;background:#faf7ef;border:1px solid #ece3cd;
  border-radius:2px;padding:1px 7px;
}
