/* Set cards inside articles ([lb_set], [lb_sets]): photo on a soft tile, rank badge, facts, price + merchant button. */
.lb-set{position:relative;display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:22px;align-items:center;margin:18px 0 30px;padding:16px;background:var(--lb-surface);border:1px solid var(--lb-border);border-radius:20px;box-shadow:0 6px 22px rgba(22,32,90,.06)}
.lb-set__media{position:relative;display:block;aspect-ratio:1;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none}
.lb-set__media img.lb-set__photo{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box;margin:0;border-radius:0;transition:transform .25s ease}
.lb-set__rank{position:absolute;top:10px;left:10px;z-index:1;min-width:38px;height:38px;padding:0 8px;box-sizing:border-box;display:grid;place-items:center;border-radius:12px;background:var(--lb-title);color:#fff;font-family:var(--lb-font-display);font-weight:900;font-size:1.05rem;box-shadow:0 4px 12px rgba(22,32,90,.25)}
.lb-set__body{display:flex;flex-direction:column;gap:10px;min-width:0}
.entry-content .lb-set__name,.lb-set__name{margin:0;color:var(--lb-title);font-family:var(--lb-font-head);font-weight:800;font-size:1.25rem;line-height:1.25}
.entry-content ul.lb-set__facts,.lb-set__facts{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.entry-content ul.lb-set__facts li,.lb-set__facts li{margin:0;padding:4px 11px;border-radius:999px;background:#fff;border:1px solid var(--lb-border);font-size:.85rem;font-weight:700;color:var(--lb-ink)}
.entry-content ul.lb-set__facts li::before,.lb-set__facts li::before{content:none;display:none}
.entry-content ul.lb-set__facts li:first-child,.lb-set__facts li:first-child{background:#fff4d6;border-color:#f6dc8e;color:#7a5200}
.lb-set .lb-avail{margin:0}
.lb-set__buy{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:2px}
.lb-set__price{font-family:var(--lb-font-head);font-weight:800;font-size:1.45rem;color:var(--lb-ink);line-height:1}
.lb-set__price .woocommerce-Price-currencySymbol{font-size:.8em}
.entry-content a.lb-cta.lb-set__cta,.lb-set__cta{display:inline-flex;margin:0;padding:12px 22px;color:#fff;text-decoration:none;box-shadow:0 6px 16px rgba(194,42,34,.25)}
.entry-content a.lb-set__details,.lb-set__details{align-self:flex-start;font-weight:700;font-size:.9rem;color:var(--lb-title);text-decoration:underline;text-underline-offset:3px}

/* Grid of compact cards (grouped sections). */
.lb-sets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 30px}
.lb-set--compact{grid-template-columns:1fr;gap:12px;margin:0;padding:12px;align-items:stretch}
.lb-set--compact .lb-set__body{gap:8px;flex:1}
.lb-set--compact .lb-set__name{font-size:1rem}
.lb-set--compact .lb-set__price{font-size:1.2rem}
.lb-set--compact .lb-set__buy{flex-direction:column;align-items:stretch;margin-top:auto}
.lb-set--compact .lb-set__cta{justify-content:center;padding:11px 14px}
.lb-set--compact .lb-set__facts li:nth-child(n+3){display:none}

@media (min-width:900px){.lb-sets{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){
  .lb-set:not(.lb-set--compact){grid-template-columns:1fr;gap:14px}
  .lb-set:not(.lb-set--compact) .lb-set__media{max-width:260px;width:100%;margin:0 auto}
  .lb-set__buy{flex-direction:column;align-items:stretch}
  .lb-set__cta{justify-content:center}
  .lb-sets{grid-template-columns:1fr 1fr;gap:10px}
}

/* Whole card clickable: the merchant button's link covers the card; hover lifts the card. */
.lb-set--linked .lb-set__link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:20px}
.lb-set--linked{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.lb-set--linked:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(22,32,90,.14);border-color:#e3dccd}
.lb-set--linked:hover .lb-set__photo{transform:scale(1.04)}
.entry-content .lb-set--linked .lb-set__cta:hover,.lb-set--linked:hover .lb-set__cta{filter:none;background:#a8211a}
.lb-set--linked:has(.lb-set__link:focus-visible){outline:3px solid var(--lb-yellow);outline-offset:3px}
.lb-set__link:focus-visible{outline:0}
.entry-content a.lb-set__details,.lb-set__details{position:relative;z-index:2}
.lb-avail--retired{background:#eceae6;color:#5d5850}
.lb-set__launch{font-size:.9rem;font-weight:700;color:#6b665d}
