/* ★ 03.11.2026 Gemeinsame Bausteine fuer die Spiele (TICKET_GAMES_VIDEO_LADEN_UND_WIN_EFFEKT):
   Standbild + "loading", edle Stufen-Einblendung, Fortschrittsbalken, Einsatz-Auswahl.
   Poker hat dieselben Regeln (noch) inline in poker.php. */
.games-root #dealer-video { object-fit: cover; background: #07100c; }
.games-root .video-loading { position:absolute; left:0; right:0; bottom:18%; z-index:3; display:flex; justify-content:center;
  pointer-events:none; opacity:0; transition:opacity .35s ease; }
.games-root .video-loading.show { opacity:1; }
.games-root .video-loading span { font-family:"Cinzel","Times New Roman",serif; font-size:11px; letter-spacing:.32em; text-transform:uppercase;
  color:#e9d9b0; padding:6px 16px; border:1px solid rgba(203,165,90,.35); border-radius:999px; background:rgba(7,12,9,.55);
  backdrop-filter:blur(2px); animation:vlPuls 1.8s ease-in-out infinite; }
@keyframes vlPuls { 0%,100% { opacity:.55 } 50% { opacity:1 } }

.games-root .phase-fx { position:absolute; inset:0; z-index:4; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; pointer-events:none; opacity:0; visibility:hidden;
  background:radial-gradient(ellipse at center, rgba(5,8,6,.72) 0%, rgba(5,8,6,.35) 55%, rgba(5,8,6,0) 80%);
  transition:opacity .6s ease, visibility 0s linear .6s; }
.games-root .phase-fx.show { opacity:1; visibility:visible; transition:opacity .45s ease, visibility 0s; }
.games-root .pfx-line { width:0; height:1px; background:linear-gradient(90deg, transparent, #cba55a, transparent); transition:width .9s ease .15s; }
.games-root .phase-fx.show .pfx-line { width:58%; }
.games-root .pfx-kicker { font-family:"Cinzel","Times New Roman",serif; font-size:12px; letter-spacing:.5em; text-transform:uppercase; color:#cfc2a0; margin-top:8px; }
.games-root .pfx-num { font-family:"Cinzel","Times New Roman",serif; font-size:64px; line-height:1; font-weight:600;
  background:linear-gradient(110deg, #9c7a3a 0%, #e8cf8e 35%, #fff4d2 50%, #e8cf8e 65%, #9c7a3a 100%); background-size:250% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent; transform:scale(.92); transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
  text-shadow:0 0 24px rgba(203,165,90,.25); }
.games-root .phase-fx.show .pfx-num { transform:scale(1); animation:pfxGlanz 1.6s ease .25s 1 both; }
@keyframes pfxGlanz { from { background-position:100% 0 } to { background-position:0 0 } }
.games-root .pfx-sub { font-family:"Cinzel","Times New Roman",serif; font-size:11px; letter-spacing:.42em; text-transform:uppercase; color:#cba55a; margin-bottom:8px; }
.games-root .phase-fx.down .pfx-num { background:none; color:#b9b5aa; animation:none; text-shadow:none; font-size:44px; }
.games-root .phase-fx.down .pfx-sub { color:#8f8a7d; letter-spacing:.2em; text-transform:none; font-family:inherit; font-size:12px; }
.games-root .phase-fx.down .pfx-line { background:linear-gradient(90deg, transparent, rgba(185,181,170,.5), transparent); }
.games-root .phase-pulse { animation:pvPuls 1.6s ease 1; display:inline-block; }
@keyframes pvPuls { 0% { color:inherit; text-shadow:none } 30% { color:#f1d993; text-shadow:0 0 12px rgba(241,217,147,.8) } 100% { color:inherit; text-shadow:none } }

.games-root .phase-progress { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.games-root .pp-track { height:4px; border-radius:2px; background:rgba(203,165,90,.16); overflow:hidden; }
.games-root .pp-fill { height:100%; width:0; background:linear-gradient(90deg,#9c7a3a,#e8cf8e); transition:width .9s cubic-bezier(.4,0,.2,1); }
.games-root .pp-text { font-family:"Cinzel","Times New Roman",serif; font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:#b9ad8c; }

.games-root .bet-amt { cursor:pointer; text-align:center; text-align-last:center; appearance:none; -webkit-appearance:none; }
.games-root .bet-amt option { background:#0b120e; color:#ddd5c4; }
.blackjack-page .action-bar { grid-template-columns: repeat(6,minmax(0,1fr)); }
@media (max-width: 620px) { .blackjack-page .action-bar { grid-template-columns: repeat(3,1fr); } }
/* ★ 03.11.2026 Gastgrenze: 'Phase 4 / Free members only' */
.games-root .phase-fx.locked .pfx-num { background:none; color:#cfc2a0; opacity:.6; animation:none; text-shadow:none; }
.games-root .phase-fx.locked .pfx-sub { color:#e8cf8e; letter-spacing:.32em; }
@media (prefers-reduced-motion: reduce) { .games-root .pfx-num, .games-root .video-loading span { animation:none !important; } }
