/*
 * Tarjeta realista, igual que un pase de Apple Wallet (tarjeta de tienda) o de Google Wallet.
 * Colores: --wb fondo, --wt texto, --wa etiquetas/acento. La foto de cabecera va en --wf.
 *   .wc            Apple (por defecto)
 *   .wc.gw         Google Wallet
 */
.wc{--wb:#0a0a0a;--wt:#fff;--wa:#d4ff3a;--wf:none;width:100%;max-width:340px;border-radius:16px;background:var(--wb);color:var(--wt);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:0;overflow:hidden;box-shadow:0 30px 70px -28px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06);position:relative;text-align:left;line-height:1.2}
.wc-top{display:flex;align-items:center;gap:10px;padding:13px 14px 11px;min-height:56px}
.wc-logo{width:34px;height:34px;flex:0 0 34px;border-radius:9px;display:grid;place-items:center;overflow:hidden;font-size:20px;background:rgba(255,255,255,.12)}
.wc-logo img{width:100%;height:100%;object-fit:cover}
.wc-logo:has(img):not(.sin-fondo){background:#0a0a0a}
.wc-logo.sin-fondo{background:none}
.wc-logo.sin-fondo img{object-fit:contain}
.wc-nom{font-size:15.5px;font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-cab{text-align:right;flex:0 0 auto}
.wc-l{display:block;font-size:10px;font-weight:600;color:var(--wa);margin-bottom:2px;letter-spacing:.02em}
.wc-v{display:block;font-size:17px;font-weight:500}
.wc-foto{position:relative;aspect-ratio:1125/432;background:var(--wf) center/cover no-repeat,linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04))}
.wc-sellos{position:absolute;inset:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:6px 7px;padding:10px 14px;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.32))}
.wc-s{width:30px;height:30px;border-radius:50%;border:2px solid rgba(255,255,255,.85);display:grid;place-items:center;font-size:15px;background:rgba(0,0,0,.18);backdrop-filter:blur(2px)}
.wc-s.on{background:#fff;border-color:#fff;color:#111;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.wc-s.premio{border-style:dashed}
.wc-s img{width:72%;height:72%;object-fit:contain}
.wc-campos{display:flex;justify-content:space-between;gap:12px;padding:12px 14px 4px}
.wc-campos>div:last-child{text-align:right}
.wc-campos .wc-v{font-size:16px}
.wc-pie{padding:12px 14px 16px;display:grid;justify-items:center;gap:6px}
.wc-qr{width:112px;height:112px;background:#fff;border-radius:8px;padding:7px}
.wc-qr svg{width:100%;height:100%;display:block}
.wc-cod{font-size:10.5px;opacity:.7;letter-spacing:.06em}
/* Aviso de oferta encima de la tarjeta */
.wc-oferta{position:absolute;right:12px;top:62px;z-index:2;background:var(--wa);color:var(--wb);font-size:11px;font-weight:700;padding:5px 9px;border-radius:99px;box-shadow:0 6px 16px rgba(0,0,0,.3)}

/* Google Wallet: cabecera con logo redondo, título grande, campos y la foto abajo */
.wc.gw{border-radius:22px}
.wc.gw .wc-top{padding:16px 16px 6px}
.wc.gw .wc-logo{border-radius:50%}
.wc.gw .wc-nom{font-size:14px;font-weight:500;opacity:.9}
.wc.gw .wc-cab{display:none}
.wc.gw .wc-tit{display:block;padding:0 16px 8px;font-size:21px;font-weight:500}
.wc-tit{display:none}
.wc.gw .wc-cuerpo{display:flex;flex-direction:column}
.wc.gw .wc-foto{order:9;border-radius:0}
.wc.gw .wc-sellos{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28))}
.wc.gw .wc-pie{padding:6px 16px 16px}

/* Tamaños compactos (tarjetas en rejillas y teléfonos pequeños) */
.wc.peq{max-width:260px;border-radius:13px}
.wc.peq .wc-top{min-height:46px;padding:10px 11px 8px;gap:8px}
.wc.peq .wc-logo{width:28px;height:28px;flex-basis:28px;font-size:16px}
.wc.peq .wc-nom{font-size:13px}
.wc.peq .wc-v{font-size:14px}
.wc.peq .wc-s{width:22px;height:22px;font-size:11px;border-width:1.5px}
.wc.peq .wc-sellos{gap:4px 5px;padding:6px 8px}
.wc.peq .wc-campos{padding:9px 11px 2px}
.wc.peq .wc-campos .wc-v{font-size:13px}
.wc.peq .wc-qr{width:74px;height:74px;padding:5px}
.wc.peq .wc-pie{padding:8px 11px 11px}
/* Dato principal encima de la foto (puntos, nivel, saldo…) */
.wc-prim{position:absolute;left:0;right:0;bottom:0;padding:22px 14px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55))}
.wc-prim .wc-l{color:#fff;opacity:.85}
.wc-pv{display:block;font-size:30px;font-weight:600;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.wc.peq .wc-pv{font-size:22px}
.wc.peq .wc-prim{padding:14px 11px 7px}
/* Marca del sello puesto: dibujo, ✓, ✕, número, logo del negocio o punto (diseno.marca) */
.mk{width:62%;height:62%;display:block;margin:auto}
.mk-n{font-weight:800;font-size:1.05em;line-height:1;font-variant-numeric:tabular-nums}
.wc-s img.mk-logo,.mk-logo{width:78%;height:78%;object-fit:contain;border-radius:50%}
.mk-p{width:44%;height:44%;border-radius:50%;background:currentColor;display:block;margin:auto}
.wc-s .mk-p{background:currentColor!important}
/* Con el logo como marca, el sello se rellena del color de la tarjeta para que se vean también los logos blancos */
.wc-s.on:has(.mk-logo){background:var(--wb,#111)!important;border-color:var(--wb,#111)!important}
