/* ═══════════════════════════════════════════════════════════════════════════
   DEVINE LE PARTI — DECK DE CARTES (stack pré-chargé)
   ───────────────────────────────────────────────────────────────────────────
   Remplace l'ancienne mécanique « carte + shadow card ». On empile K cartes
   pré-chargées DERRIÈRE la carte active. La carte active reste #deputy-card
   (couplage swipe / mesure hémicycle / tampon verdict / bumper INCHANGÉ).

   Les cartes « dessous » (.deck-under-card) sont en position:absolute → elles
   n'agrandissent JAMAIS le rect de .card-stack (les transforms d'enfants
   n'affectent pas le layout du parent) : sizeHemicycle continue de mesurer la
   seule carte active. Géométrie pilotée par JS (js/card-deck.js) via transform.

   Deux variantes A/B (essais), togglées par classe sur #card-deck :
   · A (deck-variant-a) : cartes dessous rapetissées + centrées → invisibles au
     repos, on voit seulement la suivante GRANDIR quand l'active part.
   · B (deck-variant-b) : cartes dessous à taille pleine, légèrement décalées +
     tournées → elles dépassent (effet paquet) ; la nouvelle carte du fond
     apparaît en fondu (géré JS) pour éviter tout « jump ».
   ═══════════════════════════════════════════════════════════════════════════ */

/* Wrapper géométrique : sa hauteur = la carte active (#deputy-card en flux).
   Borné/centré comme la carte legacy (340px max, cf. game-v3.css). */
#card-deck {
  position: relative;
  width: 100%;
  max-width: 340px;
  margin-inline: auto;
}

/* Empilement : active au-dessus, ombre legacy morte tout en bas, cartes dessous
   entre les deux (z-index posé par JS = 10 − rang). */
#card-deck > #deputy-card        { z-index: 20 !important; }
#card-deck > #deputy-card-shadow { z-index: 0  !important; }

/* Carte « dessous » : calée EXACTEMENT sur la boîte de la carte active
   (top/left/right:0 → largeur = #card-deck, hauteur = contenu SVG = active).
   Non interactive ; n'intercepte aucun clic destiné à l'hémicycle. */
.deck-under-card {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform-origin: center center;
  transition: transform 460ms cubic-bezier(.22, .61, .36, 1),
              opacity   300ms ease;
  pointer-events: none;
  will-change: transform, opacity;
}
.deck-under-card .dlp-card-host { width: 100%; }
.deck-under-card .dlp-card-host .card,
.deck-under-card .dlp-card-host .card .card-svg { width: 100%; height: auto; display: block; }

/* Accessibilité mouvement : pas de morphing animé (le JS pose les transforms
   instantanément, le rendu reste correct). */
.reduce-motion .deck-under-card,
html.anim-reduced .deck-under-card { transition: none !important; }
