/* ---------- Illustrations pleine carte (v8) ----------
   Personnages cartoon originaux et génériques (aucune personne réelle). Image pleine carte derrière
   les pastilles coût/rendement, dégradé en bas pour garder le nom lisible. Aucun filtre animé sur l'image. */
.hc .art .pic, .mc .pic, .big .ar .pic { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; -webkit-user-drag: none; user-select: none; pointer-events: none; }

/* main / collection / boutique / sacs */
.hc .in { position: relative; display: block; background: #1d1416; }
.hc .art { position: absolute; inset: 0; background: #2a1a1e; }
.hc .art::before { z-index: 1; top: auto; height: 58%; background: linear-gradient(180deg, transparent, rgba(29,12,17,.55) 38%, rgba(22,8,12,.93) 78%, #16080c); }
.hc .art .ini { padding-bottom: 26px; }
.hc .band { position: absolute; top: 2px; left: 50%; transform: translateX(-50%); z-index: 2; height: 15px; min-width: 18px; padding: 0 3px; border-radius: 0 0 7px 7px; line-height: 14px; background: var(--c); box-shadow: 0 1px 3px rgba(0,0,0,.45); }
.hc .nm { position: absolute; left: 0; right: 0; bottom: 11px; z-index: 2; height: auto; padding: 0 2px; display: block; overflow: visible; }
.hc .nm span, .big .nm2 span { display: inline-block; font-family: var(--serif); font-weight: 900; text-transform: uppercase; font-style: italic; transform: skewX(-6deg); color: #fff4d4; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
  text-shadow: -1px -1px 0 #2b0b13, 1px -1px 0 #2b0b13, -1px 1px 0 #2b0b13, 1px 1px 0 #2b0b13, 0 2px 0 var(--c), 0 3px 4px rgba(0,0,0,.6); }
.hc .nm span { font-size: 9.6px; letter-spacing: .2px; line-height: 1.1; }
.hc .nm span.lg { font-size: 8.2px; letter-spacing: -.1px; }
.hc .nm span.xl { font-size: 7.2px; letter-spacing: -.2px; }
.hc .ty { position: absolute; left: 0; right: 0; bottom: 1px; z-index: 2; color: #f2cc63; font-size: 6.3px; letter-spacing: .2px; padding: 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 1px #000; }
.hc.f1 .nm span, .hc.f4 .nm span { color: #ffe9a3; }
.hc.f2 .art::after, .hc.f3 .art::after { opacity: .32; z-index: 1; }
.hc.f4 .art::before { opacity: 1; background: linear-gradient(180deg, transparent, rgba(60,44,12,.5) 40%, rgba(40,28,6,.92) 80%, #281c06); }
.hc.f4 .art .pic { box-shadow: inset 0 0 0 2px rgba(255,255,255,.6); }
.hc.locked .pic { opacity: .5; }
.hc .laurel { z-index: 3; bottom: 18px; }
@media (max-height: 700px) { .hc .nm span { font-size: 9px; } .hc .nm span.lg { font-size: 7.6px; } .hc .nm span.xl { font-size: 6.8px; } }

/* plateau */
.mc { overflow: visible; }
.mc .pic { border-radius: 6px; }
.mc .ini { inset: 0; border-radius: 6px; padding-bottom: 10px; }
.mc .bar { z-index: 2; left: 50%; right: auto; transform: translateX(-50%); width: auto; padding: 0 3px; height: 13px; line-height: 13px; border-radius: 0 0 6px 6px; font-size: 9px; box-shadow: 0 1px 2px rgba(0,0,0,.4); }
.mc:not(.back):not(.frozen):not(.tok)::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 48%; border-radius: 0 0 6px 6px; z-index: 1; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(22,8,12,.88) 70%, #16080c); }
.mc .n { z-index: 2; color: #fff4d4; font-family: var(--serif); font-weight: 900; font-style: italic; text-transform: uppercase; font-size: 8.6px; letter-spacing: .1px; text-shadow: -1px 0 0 #2b0b13, 1px 0 0 #2b0b13, 0 1px 0 #2b0b13, 0 -1px 0 #2b0b13, 0 2px 2px rgba(0,0,0,.6); }
.mc.tok .n, .mc.frozen .n { color: #3a1018; text-shadow: none; }

/* fiche carte (grande) */
.big { height: 392px; }
.big .fr { position: relative; }
.big .ar.pic { height: 212px; flex: none; background: #2a1a1e; }
.big .ar.pic::before { z-index: 1; bottom: 0; height: 50%; background: linear-gradient(180deg, transparent, rgba(29,12,17,.6) 40%, rgba(22,8,12,.95) 85%); }
.big .ar.pic::after { display: none; }
.big .ar.pic .sun, .big .ar.pic .dm, .big .ar.pic .hs { display: none; }
.big .ar.pic .ii { right: auto; left: 50%; transform: translateX(-50%); bottom: 70px; }
.big .tp { position: absolute; left: 50%; top: 6px; transform: translateX(-50%); z-index: 3; height: 24px; padding: 0 12px; border-radius: 12px; font-size: 11px; box-shadow: 0 2px 6px rgba(0,0,0,.45); white-space: nowrap; }
.big .ar .nm2 { position: absolute; left: 0; right: 0; bottom: 6px; z-index: 2; padding: 0 8px; }
.big .ar:not(.pic) .nm2 span { color: #3a1018; text-shadow: none; }
.big .nm2 span { font-size: 23px; letter-spacing: .5px; line-height: 1.15; text-shadow: -2px -2px 0 #2b0b13, 2px -2px 0 #2b0b13, -2px 2px 0 #2b0b13, 2px 2px 0 #2b0b13, 0 3px 0 var(--c), 0 5px 8px rgba(0,0,0,.6); }
.big.f1 .nm2 span, .big.f4 .nm2 span { color: #ffe9a3; }
.big .sb { padding-top: 5px; }
.big .ab { padding: 5px 8px; }
.big .ab .tx { font-size: 13.5px; }
.big .fl { font-size: 11.5px; padding: 4px 10px 6px; }
.big .laurel { z-index: 3; bottom: 40px; }

/* le reflet holo de la fiche reste discret sur l'illustration */
.big.r-epic .holo, .big.r-leg .holo { opacity: .2; }
.big.r-rare .holo { opacity: .25; }

/* Légendaire : cadre d'or orné (coins en filigrane, rayons, halo) — statique sauf un éclat lent */
.legfx { position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit;
  box-shadow: inset 0 0 0 1.5px rgba(255,236,170,.95), inset 0 0 14px rgba(255,200,80,.55);
  background: radial-gradient(ellipse at 50% 26%, rgba(255,220,120,.28), transparent 55%); }
.legfx b { position: absolute; width: 16px; height: 16px; border: 2px solid #f6d77a; filter: drop-shadow(0 0 2px rgba(255,200,80,.9)); }
.legfx b:first-child { left: 3px; bottom: 3px; border-right: 0; border-top: 0; border-radius: 0 0 0 7px; }
.legfx b:last-child { right: 3px; bottom: 3px; border-left: 0; border-top: 0; border-radius: 0 0 7px 0; }
.hc .legfx { border-radius: 5px; }
.hc .legfx b { width: 10px; height: 10px; border-width: 1.5px; }
.big .ar .legfx { box-shadow: inset 0 0 0 2px rgba(255,236,170,.95), inset 0 0 26px rgba(255,200,80,.6); }
.big .ar .legfx b { width: 24px; height: 24px; border-width: 3px; }
.hc.r-leg .nm span, .big.r-leg .nm2 span { color: #ffe27a; text-shadow: -1px -1px 0 #3d2a00, 1px -1px 0 #3d2a00, -1px 1px 0 #3d2a00, 1px 1px 0 #3d2a00, 0 2px 0 #a67c00, 0 0 8px rgba(255,211,107,.9); }
.big.r-leg .nm2 span { text-shadow: -2px -2px 0 #3d2a00, 2px -2px 0 #3d2a00, -2px 2px 0 #3d2a00, 2px 2px 0 #3d2a00, 0 3px 0 #a67c00, 0 0 14px rgba(255,211,107,.95); }
.hc.r-leg .nm::before, .big.r-leg .ar .nm2::before { content: "✦ LÉGENDAIRE ✦"; display: block; white-space: nowrap; font: 900 5.2px/1 var(--serif); letter-spacing: .3px; color: #ffe9a3; text-shadow: 0 0 4px rgba(255,200,80,.9); margin-bottom: 1px; }
.big.r-leg .ar .nm2::before { font-size: 10px; letter-spacing: 3px; margin-bottom: 3px; }
.mc.r-leg::after { content: "✦"; position: absolute; left: 3px; top: 1px; z-index: 3; color: #ffe27a; font-size: 10px; text-shadow: 0 0 4px #d4af37; }
