/* passcard.art 1.0.0 — ART real-imagery placement layer (ADDITIVE; loads AFTER passcard.styles).
   ART lane: assets + CSS token placement only — NO app logic. Two kinds of rule live here:
   (A) ZERO-JS warmth upgrades that apply NOW (die-cut peel corner, earned-ribbon polish, mat depth);
   (B) image-ready selectors (.art img / .pc-strip img / .pc-card-logo img) that light up the moment
       RYAN swaps the placeholder text glyph for <img> (see V101_ART_ASSETS spec §wiring).
   Tokens from _CANON/brand/tokens_luxe.css L1 Midnight Pearl (never invented). Raster = Noto (Apache-2.0/OFL),
   bundled-local, zero remote fetch (LEGS-E1). Light-surface, art-over-photo, AA preserved. */

/* ── (A) DIE-CUT MAT — real "sticker album" object, applies immediately ── */
.pc-sticker{ overflow:visible; }
.pc-sticker::after{ /* peel corner — soft folded-paper triangle, warm album feel */
  content:""; position:absolute; right:8px; bottom:8px; width:18px; height:18px;
  background:linear-gradient(135deg, transparent 46%, var(--pc-line) 46%, #fff 54%);
  border-radius:0 0 6px 0; opacity:.55; pointer-events:none; }
.pc-sticker:focus-visible{ outline:2px solid var(--pc-deep); outline-offset:2px; }

/* ── (B) STICKER ART as raster image (die-cut inside the mat) ── */
.pc-sticker .art img,
img.art{ display:block; width:88px; height:88px; margin:.3rem auto; object-fit:contain;
  filter:drop-shadow(0 1px 1px rgba(20,23,31,.18)); }
@media(min-width:600px){ .pc-sticker .art img, img.art{ width:104px; height:104px; } }

/* EARNED ribbon — corner ribbon polish; word + check + gold = never color-alone (unchanged semantics) */
.pc-sticker .earned{ box-shadow:0 1px 3px rgba(20,23,31,.25); letter-spacing:.02em; }

/* MAKE-A-STICKER tile — real crayon/palette thumb when wired */
.pc-make .art img{ width:40px; height:40px; object-fit:contain; }

/* ── CARD strip / hero raster (per KIND) ── the deep gradient stays as the FRAME behind the art ── */
.pc-strip{ overflow:hidden; }
.pc-strip img{ width:100%; height:100%; object-fit:contain; padding:8px 0;
  /* strip art is decorative; hero VALUE carries the accessible name (alt="") */ }

/* CARD logo brand mark (QR-shield) replaces the text wordmark slot */
.pc-card-logo img{ height:22px; width:auto; display:block; }

/* Scanner guidance illustration slot (empty/no-camera state) — sized for the raster when supplied */
.pc-scan-guide img{ display:block; max-width:180px; width:60%; margin:.6rem auto; height:auto; }
