/* Style de boîte « PS2 » : boîtier DVD en plastique bleu translucide, jaquette sous film.
   S'ajoute à css/gamebox.css (style « classic » conservé). Sans logos officiels. */
.gbox--ps2 {
  --case: #2D3F9A; --case-dark: #1A2566; --case-light: #5A6CC8;
  --sleeve: #0F0F14; /* bandeau noir en haut de la jaquette */
  --depth: 12cqw;    /* un peu plus épais que le style classic, pour bien voir le côté ouvrant */
}

/* Plastique bleu : dégradé, reflets et épaisseur. */
.gbox--ps2 .gbox-front,
.gbox--ps2 .gbox-back,
.gbox--ps2 .gbox-right,
.gbox--ps2 .gbox-cap {
  background:
    linear-gradient(100deg, rgba(255, 255, 255, .18), transparent 25% 70%, rgba(255, 255, 255, .1)),
    linear-gradient(180deg, var(--case-light), var(--case) 20%, var(--case-dark));
}
.gbox--ps2 .gbox-face { border-radius: 2.2cqw; }

/* Façade : la jaquette est glissée sous le film, entourée du plastique bleu. */
.gbox--ps2 .gbox-front { padding: 2.6cqw 2.4cqw 2.6cqw 4.4cqw; box-shadow: inset 0 0 0 .5cqw var(--case-dark), inset 0 0 5cqw rgba(10, 15, 50, .45); }
.gbox--ps2 .gbox-front::before { /* rainure verticale le long de la charnière */
  width: 1cqw; left: 1.5cqw; top: 2cqw; bottom: 2cqw; border-radius: 1cqw;
  background: linear-gradient(90deg, rgba(0, 0, 0, .35), rgba(255, 255, 255, .25)); box-shadow: none; }

/* Bandeau noir en haut, comme sur les jaquettes de l'époque. */
.gbox--ps2 .gb-band { background: var(--sleeve); color: #F4F4F8; border-bottom: 0; border-radius: 1.2cqw 1.2cqw 0 0; padding: 2cqw 2.6cqw; }
.gbox--ps2 .gb-platform { background: none; color: #fff; padding: 0; font-size: 4.6cqw; font-style: italic; letter-spacing: .02em; }
.gbox--ps2 .gb-rarity { color: #CFCFE0; font-size: 3.2cqw; }
.gbox--ps2 .gb-band .pips i { box-shadow: inset 0 0 0 .5cqw #F4F4F8; }
.gbox--ps2 .gb-band .pips i.on { background: #F4F4F8; }
/* Raretés hautes : bandeau argenté, doré ou holographique (façon éditions « Platinum »). */
.gbox--ps2[data-rarity="epique"] .gb-band { background: linear-gradient(90deg, #C9CBD6, #F2F3F8 45%, #A9ADBD); }
.gbox--ps2[data-rarity="legendaire"] .gb-band { background: linear-gradient(90deg, #C9A640, #F7E7A6 45%, #B58C22); }
.gbox--ps2[data-rarity="mythique"] .gb-band { background: linear-gradient(90deg, #F5B8D2, #FFF0A8 25%, #B8F0D6 50%, #B8D6FF 75%, #DCC2FF); }
.gbox--ps2:is([data-rarity="epique"], [data-rarity="legendaire"], [data-rarity="mythique"]) .gb-band { color: var(--ink); }
.gbox--ps2:is([data-rarity="epique"], [data-rarity="legendaire"], [data-rarity="mythique"]) :is(.gb-platform, .gb-rarity) { color: var(--ink); }
.gbox--ps2:is([data-rarity="epique"], [data-rarity="legendaire"], [data-rarity="mythique"]) .gb-band .pips i { box-shadow: inset 0 0 0 .5cqw var(--ink); }
.gbox--ps2:is([data-rarity="epique"], [data-rarity="legendaire"], [data-rarity="mythique"]) .gb-band .pips i.on { background: var(--ink); }
.gbox--ps2[data-rarity="mythique"] .gbox-front { background:
    linear-gradient(100deg, rgba(255, 255, 255, .18), transparent 25% 70%, rgba(255, 255, 255, .1)),
    linear-gradient(180deg, var(--case-light), var(--case) 20%, var(--case-dark)); }

/* Illustration pleine hauteur, titre posé en bas sur un dégradé sombre. */
.gbox--ps2 .gb-art { border-radius: 0 0 1.2cqw 1.2cqw; overflow: hidden; }
.gbox--ps2 .gb-art img { filter: saturate(.92) contrast(1.02); }
.gbox--ps2 .gb-sticker { display: none; }
.gbox--ps2 .gb-plate {
  position: absolute; left: 4.4cqw; right: 2.4cqw; bottom: 2.6cqw; border: 0; border-radius: 0 0 1.2cqw 1.2cqw;
  padding: 10cqw 2.6cqw 2.4cqw; background: linear-gradient(180deg, transparent, rgba(8, 8, 16, .88) 45%);
  display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 2.4cqw; align-items: end;
}
.gbox--ps2 .gb-title { grid-column: 2; color: #fff; text-shadow: 0 .4cqw 1cqw rgba(0, 0, 0, .6); font-size: 6.2cqw; }
.gbox--ps2 .gb-meta { grid-column: 2; color: #D8D8E6; padding-right: 0; }
.gbox--ps2 .gb-num { position: static; grid-column: 2; color: #A9A9C0; font-size: 2.8cqw; margin-top: .4cqw; }
/* Encart de note, blanc et carré comme un pictogramme d'âge. */
.gbox--ps2 .gb-rating { display: flex; flex-direction: column; align-items: center; justify-content: center; grid-row: 1 / span 3; align-self: end;
  width: 12cqw; height: 14cqw; background: #fff; color: #111; border-radius: 1cqw; box-shadow: inset 0 0 0 .5cqw #111; line-height: 1; }
.gbox--ps2 .gb-rating strong { font-family: var(--font-display); font-weight: 400; font-size: 5.6cqw; }
.gbox--ps2 .gb-rating span { font-size: 2.1cqw; font-weight: 800; margin-top: .6cqw; }
/* Mythique : la plaque garde le dégradé sombre (le style classic la rend transparente). */
.gbox--ps2[data-rarity="mythique"] .gb-plate { background: linear-gradient(180deg, transparent, rgba(8, 8, 16, .88) 45%); }

/* Film plastique brillant. */
.gbox--ps2 .gb-gloss { mix-blend-mode: screen; opacity: .55;
  background:
    radial-gradient(circle at var(--mx, 25%) var(--my, 15%), rgba(255, 255, 255, .45), transparent 35%),
    linear-gradient(115deg, rgba(255, 255, 255, .25) 0 8%, transparent 22% 64%, rgba(255, 255, 255, .12) 72%, transparent 80%); }
.gbox--ps2[data-rarity="mythique"] .gb-gloss { mix-blend-mode: overlay; opacity: .9; }

/* Dos : jaquette arrière noire, fausses captures d'écran et code-barres. */
.gbox--ps2 .gbox-back { padding: 2.6cqw 4.4cqw 2.6cqw 2.4cqw; box-shadow: inset 0 0 0 .5cqw var(--case-dark); justify-content: flex-start; gap: 5cqw; }
.gbox--ps2 .gbox-back::before { content: ''; position: absolute; inset: 2.6cqw 4.4cqw 2.6cqw 2.4cqw; border-radius: 1.2cqw;
  background: repeating-linear-gradient(90deg, transparent 0 22cqw, rgba(255, 255, 255, .06) 22cqw 23cqw), #17161F; }
.gbox--ps2 .gbox-back > * { position: relative; }
.gbox--ps2 .gb-back-lines i { background: rgba(255, 255, 255, .22); }
.gbox--ps2 .gb-back-lines::before { content: ''; display: block; height: 26cqw; margin-bottom: 3cqw; border-radius: 1cqw;
  background: linear-gradient(90deg, var(--sky) 0 31%, transparent 31% 34.5%, var(--peach) 34.5% 65.5%, transparent 65.5% 69%, var(--mint) 69%); opacity: .75; }
.gbox--ps2 .gb-barcode { margin-top: auto; margin-bottom: 4cqw; margin-right: 3cqw; }

/* Tranche : fond noir, titre blanc à la verticale, bords bleus. */
.gbox--ps2 .gbox-spine { background: var(--sleeve); box-shadow: inset 0 0 0 .9cqw var(--case), inset 0 12cqw 0 var(--case-dark); }
.gbox--ps2 .gbox-spine span { color: #fff; }
.gbox--ps2:is([data-rarity="legendaire"], [data-rarity="mythique"]) .gbox-spine { background: linear-gradient(180deg, #C9A640, #F7E7A6 50%, #B58C22); }
.gbox--ps2:is([data-rarity="legendaire"], [data-rarity="mythique"]) .gbox-spine span { color: var(--ink); }

/* Côté ouvrant : plastique bleu, jointure centrale, encoche et bords de la jaquette visibles. */
.gbox--ps2 .gbox-right { box-shadow: inset 0 0 0 .4cqw var(--case-dark); }
.gbox--ps2 .gbox-right::before, .gbox--ps2 .gbox-right::after { content: ''; position: absolute; top: 2cqw; bottom: 2cqw; width: .5cqw; background: rgba(240, 240, 250, .75); }
.gbox--ps2 .gbox-right::before { left: 1.2cqw; }  /* tranche de la jaquette avant */
.gbox--ps2 .gbox-right::after { right: 1.2cqw; }  /* tranche de la jaquette arrière */
.gbox--ps2 .gb-seam { background: rgba(5, 8, 30, .65); }
.gbox--ps2 .gb-notch { background: radial-gradient(ellipse at 40% 50%, rgba(5, 8, 30, .7), rgba(5, 8, 30, .25) 70%); }
.gbox--ps2 .gbox-cap { box-shadow: inset 0 0 0 .4cqw var(--case-dark); }
