/* Club: insignias con beneficio para tocar y reclamar (reemplazan a los niveles) */
.club-ins .ins-bajada { max-width: 46ch; margin: -6px 0 18px; }
.ins-grilla { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ins {
  position: relative; width: 100%; height: 100%; display: grid; grid-template-rows: auto 1fr auto; justify-items: center; gap: 6px; padding: 14px 12px 14px; border-radius: 22px; text-align: center;
  background: #fff; color: var(--tinta); box-shadow: inset 0 1px 0 #fff, 0 2px 0 rgba(216,0,122,.12), 0 18px 28px -18px rgba(122,0,69,.45); transition: transform .55s var(--rebote), box-shadow .3s;
}
.ins:active { transform: scale(.95); }
.ins-pin { width: 92px; height: 92px; display: grid; place-items: center; }
.ins-pin img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(122,0,69,.3)); transition: transform .6s var(--rebote); }
.ins:hover .ins-pin img { transform: translateY(-4px) rotate(-6deg) scale(1.05); }
.ins-t { display: grid; gap: 3px; }
.ins-t b { font-family: var(--display); font-stretch: 118%; font-weight: 900; font-size: .9rem; line-height: 1.05; text-transform: uppercase; }
.ins-t em { font-style: normal; font-size: .8rem; line-height: 1.3; color: rgba(26,10,18,.7); }
.ins-chip { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; padding: 0 14px; border-radius: 999px; font-family: var(--display); font-stretch: 115%; font-weight: 900; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.ins-chip svg { width: 16px; height: 16px; }
.ins-chip.lista { background: var(--fucsia); color: #fff; box-shadow: 0 3px 0 var(--fucsia-oo); animation: ins-late 1.8s var(--suave) infinite; }
.ins-chip.usada { background: var(--tinta); color: var(--peluche); }
.ins-chip.bloq { background: rgba(26,10,18,.07); color: rgba(26,10,18,.45); min-width: 34px; padding: 0; }
@keyframes ins-late { 50% { transform: scale(1.06); box-shadow: 0 3px 0 var(--fucsia-oo), 0 0 0 6px rgba(216,0,122,.14); } }
/* lista para reclamar: borde que brilla */
.ins.lista { box-shadow: inset 0 0 0 2px var(--fucsia), 0 2px 0 rgba(216,0,122,.12), 0 18px 28px -16px rgba(216,0,122,.55); }
.ins.lista::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.7) 50%, transparent 65%) 0 0 / 260% 100%; animation: brillo 3.2s linear infinite; mix-blend-mode: soft-light; }
/* bloqueada: el pin en gris, sin brillo */
.ins.bloq { background: rgba(255,255,255,.55); box-shadow: inset 0 0 0 1.5px rgba(26,10,18,.08); }
.ins.bloq .ins-pin img { filter: grayscale(1) opacity(.35); }
.ins.bloq .ins-t em { color: rgba(26,10,18,.5); }

/* hoja de la insignia */
.hoja-ins .ins-f { display: grid; justify-items: center; text-align: center; gap: 12px; }
.ins-f-pin { width: min(56vw, 220px); aspect-ratio: 1; perspective: 700px; }
.ins-f-pin img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(255,31,154,.35)); }
.ins-f.bloq .ins-f-pin img { filter: grayscale(1) opacity(.45); }
.ins-f-cuerpo { display: grid; justify-items: center; gap: 10px; width: 100%; }
.ins-f-chip { display: inline-flex; padding: 6px 12px; border-radius: 999px; font-family: var(--display); font-stretch: 115%; font-weight: 900; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.ins-f-chip.lista { background: var(--fucsia); color: #fff; }
.ins-f-chip.usada { background: #fff; color: var(--fucsia); }
.ins-f-chip.bloq { background: rgba(255,255,255,.1); color: var(--t3); }
.ins-f-ben { font-family: var(--display); font-stretch: 125%; font-weight: 900; font-size: clamp(1.6rem, 7vw, 2.2rem); line-height: .95; text-transform: uppercase; color: #fff; text-wrap: balance; }
.ins-f-qr { display: grid; justify-items: center; gap: 6px; width: min(240px, 70vw); padding: 16px; border-radius: 20px; background: #fff; color: var(--tinta); }
.ins-f-qr svg { width: 100%; height: auto; }
.ins-f-qr b { font-family: ui-monospace, 'SF Mono', Menlo, monospace; font-size: 1rem; letter-spacing: .06em; }
.ins-f-qr small { font-size: .78rem; color: rgba(26,10,18,.65); }

/* celebración: ganaste insignias */
.sube-pines { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin: 6px 0; }
.sube-pines img { width: 92px; height: 92px; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(0,0,0,.45)); rotate: calc(var(--k) * 8deg - 12deg); }
.sube-txt { color: var(--t2); }

@media (min-width: 700px) { .ins-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; } .ins-pin { width: 120px; height: 120px; } }
@media (min-width: 1100px) { .ins-grilla { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { .ins-chip.lista, .ins.lista::after { animation: none; } }
.sube .sube-t { font-size: clamp(30px, 8.4vw, 72px); max-width: 92vw; overflow-wrap: anywhere; }
