/* MasterBinder 0.0.13 — Reverse per era + Master/Grand visual engine */

/*
 * Le Reverse standard possono avere una scansione marketplace specifica.
 * Quando la sorgente remota non è disponibile, il medesimo scan TCGdex viene
 * comunque reso distinguibile con il foil dell'era. Le parallel speciali
 * (Poké Ball/Master Ball/etc.) non ricevono questi overlay.
 */
.binder-card-image-shell[data-foil-style],
.preview-image-shell[data-foil-style],
.card-zoom-image-stage,
.catalog-zoom-image-stage {
    position: relative !important;
    isolation: isolate;
}

.binder-card-image-shell[data-foil-style] > img,
.preview-image-shell[data-foil-style] > img,
.card-zoom-image-stage > img,
.catalog-zoom-image-stage > img {
    position: relative;
    z-index: 1;
}

.binder-card-image-shell[data-foil-style]::after,
.preview-image-shell[data-foil-style]::after,
.card-zoom-dialog[data-foil-style] .card-zoom-image-stage::after,
.card-zoom-dialog[data-foil-style] .catalog-zoom-image-stage::after {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
    border-radius: 10px;
    mix-blend-mode: screen;
}

/* Dentro le tasche l'overlay resta nella stessa zona utile della carta. */
.binder-card-image-shell[data-foil-style]::after {
    inset: 5px 7px;
}

.preview-image-shell[data-foil-style]::after {
    inset: 0;
}

.card-zoom-dialog[data-foil-style] .card-zoom-image-stage,
.card-zoom-dialog[data-foil-style] .catalog-zoom-image-stage {
    width: min(100%, 64vh);
    max-height: 100%;
    aspect-ratio: 63 / 88;
    display: grid;
    place-items: center;
    margin: 0 auto;
}

.card-zoom-dialog[data-foil-style] .card-zoom-image-stage > img,
.card-zoom-dialog[data-foil-style] .catalog-zoom-image-stage > img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.card-zoom-dialog[data-foil-style] .card-zoom-image-stage::after,
.card-zoom-dialog[data-foil-style] .catalog-zoom-image-stage::after {
    inset: 0;
}

/* Spada e Scudo: diagonali fitte + riflesso a bande, più vicino al reverse SWSH. */
.binder-card-image-shell[data-foil-style="reverse-swsh"]::after,
.preview-image-shell[data-foil-style="reverse-swsh"]::after,
.card-zoom-dialog[data-foil-style="reverse-swsh"] .card-zoom-image-stage::after,
.card-zoom-dialog[data-foil-style="reverse-swsh"] .catalog-zoom-image-stage::after {
    opacity: .34;
    background:
        repeating-linear-gradient(118deg,
            rgba(135,205,255,.00) 0 8px,
            rgba(135,205,255,.35) 9px 11px,
            rgba(255,255,255,.10) 12px 14px,
            rgba(172,120,255,.18) 15px 20px),
        linear-gradient(100deg,
            rgba(70,180,255,.10),
            rgba(255,255,255,.28) 43%,
            rgba(180,100,255,.14) 62%,
            rgba(70,180,255,.05));
    background-size: 42px 42px, 100% 100%;
}

/* Scarlatto e Violetto: trama cristallina/verticale più netta, distinta da SWSH. */
.binder-card-image-shell[data-foil-style="reverse-sv"]::after,
.preview-image-shell[data-foil-style="reverse-sv"]::after,
.card-zoom-dialog[data-foil-style="reverse-sv"] .card-zoom-image-stage::after,
.card-zoom-dialog[data-foil-style="reverse-sv"] .catalog-zoom-image-stage::after {
    opacity: .38;
    background:
        repeating-linear-gradient(90deg,
            rgba(255,255,255,.00) 0 9px,
            rgba(255,255,255,.24) 10px 11px,
            rgba(100,220,255,.08) 12px 18px),
        repeating-linear-gradient(135deg,
            rgba(255,90,150,.00) 0 17px,
            rgba(255,90,150,.18) 18px 20px,
            rgba(120,220,255,.20) 21px 23px,
            rgba(255,255,255,.00) 24px 34px),
        radial-gradient(circle at 32% 28%, rgba(255,255,255,.30) 0 1.2%, transparent 2.5%),
        radial-gradient(circle at 72% 68%, rgba(130,220,255,.28) 0 1%, transparent 2.2%);
    background-size: 34px 100%, 54px 54px, 62px 62px, 76px 76px;
}

/* Era precedente/non classificata: reverse leggibile ma neutra. */
.binder-card-image-shell[data-foil-style="reverse-classic"]::after,
.preview-image-shell[data-foil-style="reverse-classic"]::after,
.card-zoom-dialog[data-foil-style="reverse-classic"] .card-zoom-image-stage::after,
.card-zoom-dialog[data-foil-style="reverse-classic"] .catalog-zoom-image-stage::after {
    opacity: .28;
    background:
        repeating-linear-gradient(125deg,
            rgba(255,255,255,.00) 0 10px,
            rgba(205,225,255,.26) 11px 13px,
            rgba(255,255,255,.00) 14px 23px),
        linear-gradient(110deg, rgba(140,190,255,.08), rgba(255,255,255,.22), rgba(180,140,255,.10));
}

/* Le carte non possedute restano realmente B/N, foil compreso. */
.binder-slot.missing .binder-card-image-shell[data-foil-style]::after,
.card-zoom-dialog.zoom-missing[data-foil-style] .card-zoom-image-stage::after {
    filter: grayscale(1) brightness(.72);
    opacity: .12;
}

/* Zoom del catalogo Espansioni: il wrapper nuovo deve occupare l'area disponibile. */
.catalog-zoom-image-stage {
    flex: 1 1 auto;
    min-height: 0;
}

/* Etichetta discreta: rende chiaro che la variante selezionata è Reverse. */
.preview-image-shell[data-foil-style^="reverse-"]::before {
    content: "REVERSE";
    position: absolute;
    z-index: 3;
    right: 8px;
    bottom: 8px;
    padding: 3px 6px;
    border-radius: 5px;
    background: rgba(9,15,26,.78);
    color: rgba(240,247,255,.92);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    pointer-events: none;
}
