/* ══════════════════════════════════════════
   CARDS — Recipe cards, card art, card body, card meta, favorites, stars
   ══════════════════════════════════════════ */

/* ── CARD ── */
.recipe-card{background:var(--card-bg);overflow:hidden;cursor:pointer;transition:transform .3s;position:relative}
.recipe-card:hover{transform:translateY(-4px);z-index:2;box-shadow:0 14px 36px rgba(30,26,22,.18)}
.recipe-card.pantry-match::after{content:'✓ You have this';position:absolute;top:10px;left:10px;background:var(--sage);color:white;font-size:10px;font-weight:500;padding:3px 8px;letter-spacing:.06em;z-index:4}

/* ── CARD ART ── */
.card-art{height:200px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column}
.card-art-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .45s ease}
.recipe-card:hover .card-art-photo{transform:scale(1.06)}
.card-art-emoji{font-size:72px;line-height:1;z-index:3;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25));transition:transform .4s ease;position:relative}
.recipe-card:hover .card-art-emoji{transform:scale(1.1) rotate(-3deg)}
.card-art-bg{position:absolute;inset:0;z-index:0}
.card-art-circle{position:absolute;border-radius:50%;opacity:.18}
.card-art-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,16,12,.45) 0%,transparent 55%);pointer-events:none;z-index:2}
.card-art-photo + .card-art-overlay{z-index:2}
.fav-btn{position:absolute;top:9px;right:9px;width:30px;height:30px;background:rgba(245,240,232,.9);border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;z-index:3;transition:transform .2s,background .2s}
.fav-btn:hover{transform:scale(1.15);background:white}
.fav-btn.active{background:var(--terracotta);color:white}
.card-body{padding:20px}
.card-category{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);font-weight:500;margin-bottom:6px}
.card-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;line-height:1.2;margin-bottom:8px}
.card-desc{font-size:13px;line-height:1.6;color:var(--ink-light);margin-bottom:12px}
.card-meta{display:flex;gap:12px;font-size:11px;color:var(--ink-light);border-top:1px solid var(--border);padding-top:11px;align-items:center}
.card-stars{margin-left:auto;display:flex;gap:1px}
.card-star{color:#ddd;font-size:12px;cursor:pointer;transition:color .15s}
.card-star.filled{color:var(--gold)}
