/* blackjack-game.css — HotelsCasa */

.bj-wrapper { display:inline-block; }

.bj-open-btn {
    background: linear-gradient(135deg,#7b1c1c 0%,#b22222 100%);
    color:#fff; border:none; border-radius:10px; padding:12px 28px;
    font-size:1rem; font-weight:600; cursor:pointer;
    box-shadow:0 4px 14px rgba(0,0,0,.25); transition:transform .15s,box-shadow .15s;
}
.bj-open-btn:hover { transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.3); }

.bj-modal {
    display:flex; position:fixed; inset:0; z-index:99999;
    background:rgba(0,0,0,.72); align-items:center; justify-content:center; padding:12px;
}
.bj-modal-inner {
    background:#1a1a2e; border-radius:16px; width:100%; max-width:460px;
    max-height:95dvh; overflow-y:auto; padding:20px; color:#e8e8f0; position:relative;
    box-shadow:0 20px 60px rgba(0,0,0,.6);
}

/* Шапка */
.bj-prize-title { text-align:center; font-size:.8rem; font-weight:700; letter-spacing:.12em; color:#f4c430; text-transform:uppercase; margin-bottom:6px; }
.bj-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.bj-logo { font-size:1.1rem; font-weight:800; color:#fff; }
.bj-logo span { color:#f4c430; }
.bj-close { background:none; border:none; color:#aaa; font-size:1.3rem; cursor:pointer; padding:4px 8px; border-radius:6px; }
.bj-close:hover { background:rgba(255,255,255,.08); }

/* Монетки */
.bj-coins-bar { background:rgba(255,255,255,.04); border-radius:12px; padding:12px 14px; margin-bottom:12px; position:relative; }
.bj-coins-label { font-size:.75rem; color:#888; margin-bottom:8px; text-transform:uppercase; letter-spacing:.08em; }
.bj-coins-row { display:flex; flex-wrap:wrap; gap:4px; }
.bj-coin-slot { width:calc(5% - 4px); min-width:20px; aspect-ratio:1; }
.bj-coin { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:.85rem; border-radius:50%; transition:transform .3s; }
.bj-coin--empty { opacity:.25; }
.bj-coin--filled { opacity:1; animation:bj-pop .4s cubic-bezier(.17,.67,.47,1.4); }
@keyframes bj-pop { 0%{transform:scale(0)} 60%{transform:scale(1.3)} 100%{transform:scale(1)} }
.bj-info-btn { position:absolute; top:10px; right:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); color:#ccc; border-radius:50%; width:24px; height:24px; font-size:.8rem; cursor:pointer; }

/* Инфо-попап */
.bj-info-popup { display:flex; position:absolute; inset:0; background:rgba(0,0,0,.8); z-index:10; align-items:center; justify-content:center; border-radius:16px; padding:20px; }
.bj-info-inner { background:#16213e; border-radius:12px; padding:24px; max-width:340px; width:100%; position:relative; max-height:80vh; overflow-y:auto; }
.bj-info-inner h3 { color:#f4c430; margin-bottom:14px; }
.bj-info-inner ul { padding-left:1.2em; line-height:1.9; }
.bj-info-inner li { font-size:.9rem; color:#d0d0e0; }
.bj-info-note { font-size:.78rem; color:#888; margin-top:12px; }
.bj-info-close { position:absolute; top:10px; right:12px; background:none; border:none; color:#aaa; font-size:1.2rem; cursor:pointer; }

/* Статус */
.bj-player-status { display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.04); border-radius:10px; padding:8px 14px; margin-bottom:14px; }
.bj-rank-badge { display:flex; align-items:center; gap:6px; font-size:.9rem; font-weight:600; }
.bj-rank-icon { font-size:1.1rem; }
.bj-rank-name { color:#d0d0e0; }
.bj-stats { display:flex; gap:14px; font-size:.78rem; color:#888; }
.bj-stat-val { color:#f4c430; font-weight:700; }

/* Режимы */
.bj-screen--mode h2 { text-align:center; font-size:1rem; color:#d0d0e0; margin-bottom:16px; }
.bj-mode-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px; }
.bj-mode-card { background:rgba(255,255,255,.05); border:1.5px solid rgba(255,255,255,.08); border-radius:12px; padding:18px 12px; text-align:center; position:relative; }
.bj-mode-card--prize { border-color:rgba(244,196,48,.25); }
.bj-mode-card--prize:hover { border-color:#f4c430; background:rgba(244,196,48,.06); }
.bj-mode-card--locked { opacity:.75; }
.bj-mode-badge { position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:#f4c430; color:#1a1a2e; font-size:.65rem; font-weight:800; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.bj-mode-icon { font-size:2rem; margin-bottom:8px; }
.bj-mode-title { font-size:.95rem; font-weight:700; margin-bottom:6px; }
.bj-mode-desc { font-size:.78rem; color:#888; line-height:1.5; margin-bottom:12px; }
.bj-mode-btn { background:rgba(255,255,255,.1); border:none; color:#e8e8f0; border-radius:8px; padding:8px 16px; font-size:.85rem; font-weight:600; cursor:pointer; width:100%; }
.bj-mode-btn--prize { background:linear-gradient(135deg,#f4c430,#e0a800); color:#1a1a2e; }

/* Popup регистрации */
.bj-register-popup { display:flex; position:absolute; inset:0; background:rgba(0,0,0,.8); z-index:10; align-items:center; justify-content:center; border-radius:16px; padding:20px; }
.bj-register-inner { background:#16213e; border-radius:12px; padding:28px 24px; max-width:300px; width:100%; text-align:center; position:relative; }
.bj-register-inner h3 { color:#f4c430; margin-bottom:10px; }
.bj-register-inner p { font-size:.88rem; color:#ccc; margin-bottom:16px; }
.bj-register-close { position:absolute; top:10px; right:12px; background:none; border:none; color:#aaa; font-size:1.1rem; cursor:pointer; }
.bj-register-btn { display:inline-block; background:linear-gradient(135deg,#f4c430,#e0a800); color:#1a1a2e; text-decoration:none; border-radius:8px; padding:10px 28px; font-weight:700; }

/* ── Игровой стол ─────────────────────────────────── */
.bj-screen--game { padding:8px 0; }

.bj-area { margin-bottom:14px; }
.bj-area-label { font-size:.78rem; color:#888; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; display:flex; align-items:center; gap:8px; }
.bj-dealer-score, .bj-player-score { background:rgba(255,255,255,.1); border-radius:6px; padding:2px 8px; font-size:.88rem; color:#f4c430; font-weight:700; }

.bj-cards { display:flex; flex-wrap:wrap; gap:6px; min-height:80px; }

/* Карта */
.bj-card {
    width: 52px; height: 74px;
    background: #fff; border-radius: 8px;
    display: flex; flex-direction: column;
    align-items: flex-start; justify-content: space-between;
    padding: 4px 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,.4);
    font-size: .85rem; font-weight: 700; color: #111;
    animation: bj-deal .25s ease;
    position: relative;
}
@keyframes bj-deal { from{transform:translateY(-16px) scale(.9);opacity:0} to{transform:none;opacity:1} }
.bj-card--back { background: linear-gradient(135deg,#1a472a,#2d6a4f); align-items:center; justify-content:center; }
.bj-card--back span { font-size:2rem; }
.bj-card--red { color: #c0392b; }
.bj-card-rank { font-size:.9rem; line-height:1; }
.bj-card-suit { font-size:1.1rem; align-self:flex-end; line-height:1; }

/* Баннер результата */
.bj-result-banner {
    text-align:center; font-size:1.2rem; font-weight:800;
    padding:10px 16px; border-radius:10px; margin:10px 0;
    animation: bj-banner .4s ease;
}
@keyframes bj-banner { from{transform:scale(.8);opacity:0} to{transform:none;opacity:1} }
.bj-result--win    { background:rgba(45,106,79,.3);  color:#52b788; border:1px solid rgba(82,183,136,.3); }
.bj-result--bj     { background:rgba(244,196,48,.15); color:#f4c430; border:1px solid rgba(244,196,48,.4); }
.bj-result--bust   { background:rgba(192,57,43,.2);  color:#e74c3c; border:1px solid rgba(231,76,60,.3); }
.bj-result--lose   { background:rgba(192,57,43,.15); color:#c0392b; border:1px solid rgba(192,57,43,.3); }
.bj-result--push   { background:rgba(255,255,255,.05); color:#aaa;  border:1px solid rgba(255,255,255,.1); }

/* Кнопки действий */
.bj-actions { display:flex; gap:8px; justify-content:center; margin-top:12px; }
.bj-btn {
    border:none; border-radius:10px; padding:11px 20px;
    font-size:.9rem; font-weight:700; cursor:pointer; transition:background .15s,opacity .15s;
}
.bj-btn--hit    { background:#2d6a4f; color:#fff; }
.bj-btn--stand  { background:#7b1c1c; color:#fff; }
.bj-btn--double { background:#4a3728; color:#f4c430; border:1px solid #f4c430; }
.bj-btn--hit:hover    { background:#3a8a64; }
.bj-btn--stand:hover  { background:#a02020; }
.bj-btn--double:hover { background:#5e4733; }
.bj-btn[disabled] { cursor:default; }

.bj-next-actions { display:flex; gap:10px; justify-content:center; margin-top:12px; }
.bj-btn--new  { background:linear-gradient(135deg,#2d6a4f,#1a472a); color:#fff; }
.bj-btn--menu { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:#ccc; }

/* Чемпион */
.bj-screen--champion { text-align:center; padding:20px 0; }
.bj-champion-title { font-size:2rem; font-weight:900; color:#f4c430; text-shadow:0 0 20px rgba(244,196,48,.5); margin-bottom:12px; }
.bj-champion-content p { font-size:.92rem; color:#ccc; margin-bottom:8px; }
.bj-champion-btn { display:inline-block; background:linear-gradient(135deg,#f4c430,#e0a800); color:#1a1a2e; text-decoration:none; border-radius:10px; padding:12px 28px; font-weight:800; margin:8px 0 12px; }
.bj-champion-play-btn { background:none; border:1px solid rgba(255,255,255,.15); color:#888; border-radius:8px; padding:8px 20px; font-size:.85rem; cursor:pointer; display:block; margin:0 auto; }

/* Скроллбар */
.bj-modal-inner::-webkit-scrollbar { width:4px; }
.bj-modal-inner::-webkit-scrollbar-thumb { background:rgba(255,255,255,.15); border-radius:2px; }

/* Адаптив */
@media (max-width:420px) {
    .bj-modal-inner { padding:14px; }
    .bj-mode-cards { gap:8px; }
    .bj-card { width:44px; height:62px; padding:3px 5px; font-size:.75rem; }
    .bj-actions { gap:6px; }
    .bj-btn { padding:10px 14px; font-size:.82rem; }
    .bj-coin-slot { min-width:16px; }
}

/* v2: призовая карточка вырезана — единственная карточка по центру
   (сетка была на 2 колонки, и карточка прижималась влево) */
.bj-mode-cards { display: flex !important; justify-content: center; grid-template-columns: none; }
.bj-mode-cards .bj-mode-card { width: 100%; max-width: 300px; }
