/* ============================================================================
 * Extra sticker designs (includes/sticker-designs-extra.php): Game Cartridge,
 * Review Card, Embroidered Patch, Enamel Pin, Ticket Stub, Warning Label.
 * Each is a .sticker-card variant, so the tilt/holo/font rules in
 * patron-stickers.css apply. Also the Kiss-cut and Peel corner extras.
 * ============================================================================ */

/* shared: long labels (sx-long / sx-xlong from the renderer) wrap onto balanced
   lines and step down a size, so any name stays readable; box art is portrait,
   so photo windows crop from near the top where the title lives */
.sticker-card :is(.patch-text, .pin-text, .ticket-main .sticker-card-text, .sticker-warning .sticker-card-text) {
    white-space: normal;
    text-wrap: balance;
    line-height: 1.05;
}
.sx-art--photo img { object-position: center 18%; }

/* shared: art slot that takes an <img> or inline vector art */
.sx-art { display: block; flex: none; }
.sx-art img, .sx-art svg { display: block; width: 100%; height: 100%; object-fit: contain; }
.sticker-card .sx-art img { width: 100%; height: 100%; }

/* ============ 1. GAME CARTRIDGE ============ */
.sticker-card.sticker-cart {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 180px;
    padding: 22px 12px 14px;
    border-radius: 6px 6px 10px 10px;
    background: linear-gradient(180deg, #9a9ca3 0%, #7f8188 100%);
    clip-path: polygon(0 0, 88% 0, 100% 9%, 100% 100%, 0 100%);
}
/* grip ridges along the top */
.sticker-cart::before {
    content: '';
    position: absolute;
    top: 6px; left: 12px; right: 22px;
    height: 10px;
    background: repeating-linear-gradient(90deg, rgba(0,0,0,.28) 0 2px, transparent 2px 7px);
    border-radius: 2px;
}
.cart-label {
    display: flex;
    flex-direction: column;
    background: #1a1a1a;
    border: 3px solid #1a1a1a;
    border-radius: 4px;
    overflow: hidden;
}
.cart-label .sx-art { height: 124px; background: #0e0e0e; }
.cart-label .sx-art--photo img { object-fit: cover; }
.cart-title {
    --card-text-color: #fff;
    padding: 6px 6px 2px;
    text-align: center;
    white-space: normal !important;
    line-height: 1.1;
    font-size: .95rem !important;
}
.sx-long .cart-title { font-size: .82rem !important; }
.sx-xlong .cart-title { font-size: .72rem !important; }
.cart-sub {
    padding: 0 6px 6px;
    text-align: center;
    font: 700 .64rem/1.15 'Changa', sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #4da44b;
}

/* ============ 2. REVIEW CARD (trading card; tier + score from the game) ============ */
.sticker-card.sticker-review {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    width: 190px;
    padding: 9px;
    border-radius: 10px;
    background: linear-gradient(135deg, #f7d774, #b8862b 45%, #fff1b0 55%, #a8741a);
}
.review-inner {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 7px;
    border-radius: 6px;
    background: #1a1a1a;
}
.review-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.review-name {
    --card-text-color: #fff;
    font-size: .78rem !important;
    line-height: 1.1;
    white-space: normal !important;
    /* the game's full name on up to two lines, not cut after a few letters */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.review-head .tier-badge, .review-head > :last-child:not(.review-name) { flex: none; }
.review-inner .sx-art { height: 118px; background: #0e0e0e; border: 2px solid #4da44b; border-radius: 3px; }
.review-inner .sx-art--photo img { object-fit: cover; }
.review-quote {
    --card-text-color: #e0e0e0;
    white-space: normal !important;
    text-align: center;
    line-height: 1.15;
    font-size: .84rem !important;
}
.sx-long .review-quote { font-size: .74rem !important; }
.sx-xlong .review-quote { font-size: .66rem !important; }
.review-foot {
    display: flex;
    justify-content: space-between;
    font: 700 .6rem/1 'Changa', sans-serif;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #4da44b;
}

/* ============ 3. EMBROIDERED PATCH ============ */
.sticker-card.sticker-patch {
    --patch: #1f3b7a;
    --thread: #f5d76e;
    --thread-dark: #b8860b;
    max-width: 300px;
    padding: 18px 30px 18px 22px;
    gap: 14px;
    border-radius: 999px;
    /* twill weave: two fine diagonal thread directions over the base cloth */
    background:
        repeating-linear-gradient(60deg, rgba(255,255,255,.09) 0 1px, transparent 1px 4px),
        repeating-linear-gradient(-60deg, rgba(0,0,0,.22) 0 1px, transparent 1px 4px),
        radial-gradient(ellipse at 30% 20%, rgba(255,255,255,.12), transparent 60%),
        var(--patch);
    box-shadow:
        inset 0 0 0 2px rgba(0,0,0,.35),
        2px 4px 0 rgba(0,0,0,.35),
        3px 6px 12px rgba(0,0,0,.55);
}
/* merrowed edge: a thick rope of thread wrapping the rim (diagonal wraps) */
.sticker-patch::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: inherit;
    padding: 7px;
    background: repeating-linear-gradient(115deg, var(--thread) 0 2px, var(--thread-dark) 2px 3px, var(--thread) 3px 5px);
    -webkit-mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
            mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.5));
    pointer-events: none;
}
/* running stitch just inside the rim */
.sticker-patch::after {
    content: '';
    position: absolute;
    inset: 6px;
    border: 2px dashed var(--thread);
    border-radius: inherit;
    opacity: .7;
    pointer-events: none;
}
.sticker-patch .sx-art { width: 64px; height: 64px; position: relative; z-index: 1; }
/* satin-stitch text: thread lines across the letters, raised with a dark edge */
.patch-text {
    background: repeating-linear-gradient(100deg, var(--thread) 0 1.5px, #fff6c9 1.5px 2.5px, var(--thread-dark) 2.5px 3.5px);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: .5px rgba(0,0,0,.25);
    filter: drop-shadow(1px 1px 0 rgba(0,0,0,.55)) drop-shadow(0 0 1px rgba(0,0,0,.4));
    font-size: 1.25rem !important;
}
.sx-long .patch-text { font-size: 1.05rem !important; }
.sx-xlong .patch-text { font-size: .92rem !important; }

/* ============ 4. ENAMEL PIN ============ */
.sticker-card.sticker-pin {
    --enamel: #c62828;
    --metal: linear-gradient(135deg, #fff3b0, #d4a017 30%, #8a6510 55%, #f7dc6f 75%, #a8741a);
    max-width: 280px;
    padding: 10px 20px 10px 12px;
    gap: 10px;
    border: 4px solid transparent;
    border-radius: 16px;
    background:
        linear-gradient(160deg, rgba(255,255,255,.35) 0 18%, transparent 30%) padding-box,
        linear-gradient(var(--enamel), var(--enamel)) padding-box,
        var(--metal) border-box;
    box-shadow: 0 3px 0 #6b4e0c, 2px 6px 10px rgba(0,0,0,.55);
}
/* vector art becomes raised metal lines, like a real pin */
.sticker-pin .sx-art { width: 52px; height: 52px; color: #f7dc6f; filter: drop-shadow(0 1px 0 #6b4e0c); }
.sticker-pin .sx-art svg, .sticker-pin .sx-art svg * { fill: currentColor; }
.sticker-pin .sx-art--photo { padding: 2px; border-radius: 8px; background: var(--metal); }
.sticker-pin .sx-art--photo img { border-radius: 6px; object-fit: cover; }
.pin-text {
    --card-text-color: #ffe9a3;
    text-shadow: 0 1px 0 #6b4e0c;
}
.sx-xlong .pin-text { font-size: .95rem; }

/* ============ 5. TICKET STUB ============ */
.sticker-card.sticker-ticket {
    padding: 0;
    gap: 0;
    align-items: stretch;
    border-radius: 6px;
    background: #f4efe4;
    /* half-circle notches on both short sides */
    -webkit-mask: radial-gradient(circle 9px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                  radial-gradient(circle 9px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
            mask: radial-gradient(circle 9px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat,
                  radial-gradient(circle 9px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
    box-shadow: none;
    filter: drop-shadow(2px 3px 4px rgba(0,0,0,.5));
}
/* real tickets run about 2.3 : 1; stub is roughly a third */
.sticker-card.sticker-ticket { width: auto; min-width: 264px; max-width: 330px; min-height: 104px; }
.ticket-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 10px 12px 10px 22px;
    border: 2px solid rgba(46,125,50,.35);
    border-right: 0;
    margin: 6px 0 6px 6px;
    border-radius: 4px 0 0 4px;
}
.ticket-main .sticker-card-text {
    --card-text-color: #1a1a1a;
    white-space: normal;
    font-size: 1.3rem;
}
.sx-long .ticket-main .sticker-card-text { font-size: 1.08rem; }
.sx-xlong .ticket-main .sticker-card-text { font-size: .92rem; }
.ticket-sub {
    font: 700 .64rem/1.15 'Changa', sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #2e7d32;
}
.ticket-stub {
    flex: none;
    width: 86px;
    display: grid;
    place-items: center;
    border-left: 2px dashed rgba(0,0,0,.35);
    background: #4da44b;
}
.ticket-stub .sx-art { width: 62px; height: 62px; }
.ticket-stub .sx-art--photo { height: 80px; }

/* ============ 6. WARNING LABEL ============ */
.sticker-card.sticker-warning {
    flex-direction: column;
    gap: 4px;
    max-width: 280px;
    padding: 12px 16px;
    border-radius: 4px;
    background: #ffd400;
    text-align: center;
    border: 7px solid transparent;
    border-image: repeating-linear-gradient(45deg, #1a1a1a 0 8px, #ffd400 8px 16px) 7;
}
.warn-head {
    display: flex;
    align-items: center;
    gap: 6px;
    font: 900 .7rem/1 'Changa', sans-serif;
    letter-spacing: .18em;
    color: #1a1a1a;
}
.warn-head .sx-art { width: 26px; height: 26px; }
.warn-head .sx-art svg, .warn-head .sx-art svg * { fill: #1a1a1a; }
.sticker-warning .sticker-card-text { --card-text-color: #1a1a1a; }
.sx-xlong.sticker-warning .sticker-card-text { font-size: .95rem; }
.warn-sub { font: 700 .64rem/1.15 'Changa', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #1a1a1a; }

/* ============ ART TREATMENTS: game art never goes on raw ============ */
.sx-art--photo { position: relative; overflow: hidden; }
.sx-art--photo::after { content: ''; position: absolute; inset: 0; pointer-events: none; }

/* cartridge: a CRT screen - punchier colour, scanlines, dark corners */
.cart-label .sx-art--photo img { filter: saturate(1.35) contrast(1.15); }
.cart-label .sx-art--photo::after {
    background:
        repeating-linear-gradient(0deg, rgba(0,0,0,.28) 0 1px, transparent 1px 3px),
        radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.65) 100%);
}
.cart-label .sx-art:not(.sx-art--photo) { filter: drop-shadow(0 0 6px rgba(90,162,255,.55)); }

/* review card: foil - a holo sheen and an inner bevel over the art */
.review-inner .sx-art--photo img { filter: saturate(1.25) contrast(1.08); }
.review-inner .sx-art--photo::after {
    background: linear-gradient(115deg, transparent 20%, rgba(201,41,241,.25) 35%, rgba(13,189,233,.25) 45%, rgba(33,233,133,.2) 55%, transparent 70%);
    mix-blend-mode: overlay;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25), inset 0 0 14px rgba(0,0,0,.6);
}

/* patch: art is stitched in - thread lines, bold colour, a stitched ring */
.sticker-patch .sx-art--photo { border-radius: 50%; box-shadow: 0 0 0 3px var(--thread), 0 0 0 4px var(--thread-dark); }
.sticker-patch .sx-art--photo img { object-fit: cover; filter: saturate(1.5) contrast(1.35); }
.sticker-patch .sx-art--photo::after {
    border-radius: 50%;
    background: repeating-linear-gradient(100deg, rgba(255,255,255,.18) 0 1px, rgba(0,0,0,.22) 1px 2px, transparent 2px 3px);
}
/* icons and vector art get a thread outline, like an appliqued shape */
.sticker-patch .sx-art:not(.sx-art--photo) {
    filter: drop-shadow(1.5px 0 0 var(--thread)) drop-shadow(-1.5px 0 0 var(--thread)) drop-shadow(0 1.5px 0 var(--thread)) drop-shadow(0 -1.5px 0 var(--thread)) drop-shadow(1px 2px 0 rgba(0,0,0,.45));
}

/* enamel pin: art set under glass - gloss streak */
.sticker-pin .sx-art--photo::after { background: linear-gradient(150deg, rgba(255,255,255,.45) 0 22%, transparent 34%); border-radius: 6px; }
.sticker-pin .sx-art--photo img { filter: saturate(1.2); }

/* ticket: printed in the stub's ink - green duotone */
.ticket-stub .sx-art--photo { border-radius: 4px; background: #1b5e20; box-shadow: 0 0 0 2px #f4efe4; }
.ticket-stub .sx-art--photo img { object-fit: cover; filter: grayscale(1) contrast(1.25) brightness(1.15); mix-blend-mode: screen; }
.ticket-stub .sx-art:not(.sx-art--photo) {
    filter: drop-shadow(2px 0 0 #f4efe4) drop-shadow(-2px 0 0 #f4efe4) drop-shadow(0 2px 0 #f4efe4) drop-shadow(0 -2px 0 #f4efe4);
}

/* warning label: art printed in black ink on the yellow (photos get the triangle) */
.warn-tri { background: #1a1a1a; clip-path: polygon(50% 4%, 98% 94%, 2% 94%); position: relative; }
.warn-tri::after { content: '!'; position: absolute; inset: 30% 0 0; text-align: center; font: 900 13px/1 'Changa', sans-serif; color: #ffd400; }
.warn-head .sx-art--icon img { filter: grayscale(1) brightness(0); }

/* ============ EXTRAS: Kiss-cut + Peel corner (wrappers from wakasm_eps_render) ============ */
/* kiss-cut: the sticker sits on its backing sheet with a cut line around it */
.sticker-fx--kiss {
    padding: 12px;
    background: #fbfbf7;
    border-radius: 8px;
    box-shadow: 2px 3px 8px rgba(0, 0, 0, .45);
}
.sticker-fx--kiss .sticker-card { box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(0, 0, 0, .18); }
.sticker-fx--kiss .sticker-card.sticker-patch { box-shadow: 2px 4px 0 rgba(0, 0, 0, .2); }

/* peel corner: the corner is cut off the sticker and a curl sits over the gap */
.sticker-fx--peel .sticker-card:not(.sticker-ticket) {
    -webkit-mask: linear-gradient(-45deg, transparent 15px, #000 15px);
            mask: linear-gradient(-45deg, transparent 15px, #000 15px);
}
.sticker-fx--peel::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 22px;
    height: 22px;
    z-index: 60;
    background: linear-gradient(135deg, rgba(0, 0, 0, .25) 0%, #fafafa 50%, #d8d8d8 100%);
    clip-path: polygon(100% 0, 0 100%, 0 0);
    filter: drop-shadow(-2px -2px 3px rgba(0, 0, 0, .35));
    transform-origin: 100% 100%;
    transition: transform .25s;
    pointer-events: none;
}
.sticker-fx--peel:hover::after { transform: scale(1.35); }

/* ============ 7. FAKE TRADING CARD (parody collectible) ============ */
.sticker-card.sticker-tcg {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 200px;
    padding: 7px;
    border-radius: 10px;
    background: linear-gradient(135deg, #f7d54a, #e8b71e 50%, #f7d54a);
}
.tcg-inner {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 6px 7px 5px;
    border-radius: 5px;
    background: linear-gradient(160deg, #e2f2de, #a9d9a5 55%, #74c070);
    color: #1a1a1a;
}
.tcg-head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.tcg-name {
    --card-text-color: #1a1a1a;
    font-size: .82rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
}
.sx-long .tcg-name { font-size: .72rem !important; }
.sx-xlong .tcg-name { font-size: .62rem !important; }
.tcg-hp { flex: none; font: 900 .95rem/1 'Changa', sans-serif; color: #c62828; }
.tcg-hp small { font-size: .5rem; margin-right: 1px; }
.tcg-window {
    height: 112px;
    padding: 3px;
    background: linear-gradient(135deg, #f4f4f4, #9a9a9a 40%, #e8e8e8 60%, #8a8a8a);
    box-shadow: 1px 2px 3px rgba(0, 0, 0, .35);
}
.tcg-window .sx-art {
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 40%, #fff7c2, #7fc8f8 70%, #3b8fd1);
}
.tcg-window .sx-art--photo img { object-fit: cover; filter: saturate(1.3) contrast(1.08); }
.tcg-window .sx-art--photo::after {
    background: linear-gradient(115deg, transparent 25%, rgba(255, 255, 255, .35) 45%, transparent 60%);
    mix-blend-mode: overlay;
}
.tcg-type {
    padding: 1px 4px;
    font: italic 700 .58rem/1.4 'Changa', sans-serif;
    text-align: center;
    background: linear-gradient(90deg, #c9c9c9, #f2f2f2, #c9c9c9);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tcg-move { display: flex; align-items: center; gap: 5px; padding: 2px 0; }
.tcg-cost { display: flex; gap: 2px; }
.tcg-cost i { width: 10px; height: 10px; border-radius: 50%; background: #4da44b; box-shadow: inset 0 0 0 1px #1a1a1a, inset 2px 2px 0 rgba(255, 255, 255, .4); }
.tcg-move-name { flex: 1; font: 800 .74rem/1.05 'Changa', sans-serif; text-transform: uppercase; }
.tcg-dmg { font: 900 .95rem/1 'Changa', sans-serif; }
.tcg-flavor {
    padding-top: 3px;
    border-top: 1px solid rgba(0, 0, 0, .25);
    font: italic .6rem/1.25 'Changa', sans-serif;
}
.tcg-foot { display: flex; justify-content: space-between; align-items: center; font: 700 .55rem/1 'Changa', sans-serif; text-transform: uppercase; }
.tcg-rarity { font-size: .6rem; }

/* ============ SLEEK SET: Frosted Glass, Liquid Chrome, Neon Sign, Aurora, Carbon Fiber ============ */
/* shared: text + subtitle stack (sx-copy / sx-sub), wrapping so long names fit */
.sx-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; position: relative; z-index: 1; }
.sx-copy .sticker-card-text { white-space: normal; text-wrap: balance; line-height: 1.05; }
.sx-long .sx-copy .sticker-card-text { font-size: .98rem; }
.sx-xlong .sx-copy .sticker-card-text { font-size: .86rem; }
.sx-sub {
    font: 600 .62rem/1.2 'Changa', sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sticker-glass, .sticker-chrome, .sticker-neon, .sticker-aurora, .sticker-carbon { max-width: 280px; }

/* ---- Frosted Glass: a pane over a blur of the art ---- */
.sticker-card.sticker-glass {
    padding: 8px;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, #4da44b, #1d6f8c 60%, #2a2f6b);
    box-shadow: 0 8px 22px rgba(0,0,0,.45);
}
.glass-bg { position: absolute; inset: -12px; z-index: 0; }
.sticker-card .glass-bg img { width: 100%; height: 100%; object-fit: cover; filter: blur(14px) saturate(1.6) brightness(.85); }
.glass-pane {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 14px 8px 8px;
    border-radius: 12px;
    background: rgba(255,255,255,.14);
    -webkit-backdrop-filter: blur(6px);
            backdrop-filter: blur(6px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 0 0 1px rgba(255,255,255,.22);
}
.glass-pane .sx-art { width: 54px; height: 54px; }
.glass-pane .sx-art--photo { width: 46px; height: 64px; border-radius: 7px; box-shadow: 0 4px 10px rgba(0,0,0,.4); }
.glass-pane .sx-art--photo img { object-fit: cover; }
.glass-pane .sx-art svg, .glass-pane .sx-art svg * { fill: #fff; }
.sticker-glass .sticker-card-text { --card-text-color: #fff; text-shadow: 0 1px 6px rgba(0,0,0,.35); }
.sticker-glass .sx-sub { color: rgba(255,255,255,.8); }

/* ---- Liquid Chrome: mirror lettering on a black pill ---- */
.sticker-card.sticker-chrome {
    --chrome: linear-gradient(180deg, #fdfdfd 0%, #b9c3cf 38%, #3b4350 50%, #9aa6b4 62%, #f2f5f8 100%);
    padding: 8px 22px 8px 8px;
    gap: 12px;
    border: 2px solid transparent;
    border-radius: 999px;
    background: linear-gradient(#0b0c0f, #16181d) padding-box, var(--chrome) border-box;
    box-shadow: 0 6px 16px rgba(0,0,0,.55);
}
.sticker-chrome .sx-art {
    width: 52px;
    height: 52px;
    padding: 3px;
    border-radius: 50%;
    background: var(--chrome);
    box-shadow: 0 2px 6px rgba(0,0,0,.6);
}
.sticker-chrome .sx-art img, .sticker-chrome .sx-art svg { border-radius: 50%; background: #0b0c0f; }
.sticker-chrome .sx-art--photo img { object-fit: cover; filter: grayscale(.35) contrast(1.15); }
.sticker-chrome .sx-art svg, .sticker-chrome .sx-art svg * { fill: #dfe5ec; }
.sticker-chrome .sticker-card-text {
    background: var(--chrome);
    -webkit-background-clip: text;
            background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 1px 0 rgba(255,255,255,.25)) drop-shadow(0 2px 2px rgba(0,0,0,.8));
    font-size: 1.25rem;
}
.sticker-chrome .sx-sub { color: #8a96a6; }

/* ---- Neon Sign: glowing tubes on a dark panel ---- */
.sticker-card.sticker-neon {
    --tube: #39ff88;
    --tube2: #ff3fb4;
    padding: 12px 20px 12px 12px;
    gap: 12px;
    border-radius: 10px;
    background:
        radial-gradient(ellipse at 50% 40%, rgba(57,255,136,.12), transparent 70%),
        repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 14px),
        #0a0b12;
    box-shadow: 0 0 0 2px #1d1f2b, 0 8px 18px rgba(0,0,0,.6);
}
.sticker-neon .sticker-card-text {
    --card-text-color: #eafff2;
    text-shadow: 0 0 2px #fff, 0 0 6px var(--tube), 0 0 14px var(--tube), 0 0 26px var(--tube);
    font-size: 1.3rem;
}
.sticker-neon .sx-sub { color: var(--tube2); text-shadow: 0 0 6px var(--tube2); }
.sticker-neon .sx-art { width: 54px; height: 54px; filter: drop-shadow(0 0 3px var(--tube2)) drop-shadow(0 0 8px var(--tube2)); }
.sticker-neon .sx-art svg, .sticker-neon .sx-art svg * { fill: none; stroke: #ffd6ef; stroke-width: 1.2px; }
.sticker-neon .sx-art--photo { width: 46px; height: 62px; border-radius: 6px; box-shadow: 0 0 0 2px #ffd6ef, 0 0 10px var(--tube2), inset 0 0 8px var(--tube2); filter: none; }
.sticker-neon .sx-art--photo img { object-fit: cover; filter: saturate(1.4) brightness(.9); }

/* ---- Aurora: soft colour mesh, white type ---- */
.sticker-card.sticker-aurora {
    padding: 10px 20px 10px 10px;
    gap: 12px;
    border-radius: 20px;
    background:
        radial-gradient(circle at 15% 20%, #7b5cff 0, transparent 55%),
        radial-gradient(circle at 85% 15%, #ff7ab6 0, transparent 50%),
        radial-gradient(circle at 70% 90%, #36d1c4 0, transparent 55%),
        radial-gradient(circle at 20% 95%, #4da44b 0, transparent 50%),
        #2b2f77;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 24px rgba(43,47,119,.5);
}
.sticker-aurora .sx-art {
    width: 56px;
    height: 56px;
    padding: 7px;
    border-radius: 14px;
    background: rgba(255,255,255,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 4px 10px rgba(0,0,0,.25);
}
.sticker-aurora .sx-art--photo { padding: 0; overflow: hidden; }
.sticker-aurora .sx-art--photo img { object-fit: cover; }
.sticker-aurora .sx-art svg, .sticker-aurora .sx-art svg * { fill: #fff; }
.sticker-aurora .sticker-card-text { --card-text-color: #fff; text-shadow: 0 2px 8px rgba(20,10,60,.35); }
.sticker-aurora .sx-sub { color: rgba(255,255,255,.85); }

/* ---- Carbon Fiber: weave, brushed steel plate, racing stripe ---- */
.sticker-card.sticker-carbon {
    padding: 0 20px 0 0;
    gap: 14px;
    border-radius: 8px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), transparent 45%),
        repeating-linear-gradient(45deg, #1b1d21 0 3px, #2a2d33 3px 6px),
        repeating-linear-gradient(-45deg, #1b1d21 0 3px, #24272c 3px 6px);
    background-blend-mode: normal, normal, multiply;
    box-shadow: 0 6px 16px rgba(0,0,0,.55);
}
/* racing stripe along the bottom */
.sticker-carbon::before {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 4px;
    background: linear-gradient(90deg, #4da44b 0 70%, #fff 70% 74%, #e53935 74%);
}
.sticker-carbon .sx-art {
    align-self: stretch;
    width: 64px;
    height: auto;
    min-height: 64px;
    padding: 8px;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 1px, transparent 1px 3px),
        linear-gradient(135deg, #e3e6ea, #9aa1aa 50%, #d5d9de);
    box-shadow: inset -2px 0 0 rgba(0,0,0,.35);
}
.sticker-carbon .sx-art--photo { padding: 0; }
.sticker-carbon .sx-art--photo img { object-fit: cover; filter: contrast(1.1) saturate(1.15); }
.sticker-carbon .sx-art svg, .sticker-carbon .sx-art svg * { fill: #1b1d21; }
.sticker-carbon .sx-copy { padding: 10px 0 12px; }
.sticker-carbon .sticker-card-text { --card-text-color: #fff; font-style: italic; letter-spacing: .06em; }
.sticker-carbon .sx-sub { color: #4da44b; }
