.new-pick-game-block-func{
    position: relative;
    font-family: 'Roboto Mono', sans-serif;
    display: block;
}

/* Rules modal overlay (same as style.css #GameRulesOdds* — scoped here so /baccarat works if global CSS is stale) */
#GameRulesOddsBaccarat {
    position: absolute;
    opacity: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
#GameRulesOddsBaccarat .placeBet-content {
    position: relative;
    width: calc(100% - 32px);
    max-width: 690px;
    max-height: 90vh;
    overflow: auto;
}


.blackjack-small-txt{
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
    text-align: center;
    font-family: "Roboto Mono";
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
}
.v3-blackjack-game-table{
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
#baccaratGameRoot .v3-blackjack-game-table {
    gap: 0;
}
#placeBetBtnBj{
    background: var(--accent-btn-fill-default-sec, #FBE24B);
}
#placeBetBtnBj:disabled .place_bet_text,
#placeBetBtnBj .playing_text,
#placeBetBtnBj:disabled svg{
    display: none;
}
#placeBetBtnBj:disabled .playing_text {
    display: block;
}


/* Action bar: no text selection / tap highlight; suppress global :active “selected” chrome on press.
   Keep .side-bets-btn.active (panel open) so it still picks up normal .pick-select-btn.active styling. */
#game-controls .pick-select-btn {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-tap-highlight-color: transparent;
}

#game-controls .pick-select-btn p {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    pointer-events: none;
}
#game-controls .pick-select-btn.player-btn,
#game-controls .pick-select-btn.tie-btn,
#game-controls .pick-select-btn.banker-btn {
    flex-direction: column;
    gap: 2px;
    line-height: 1.1;
    padding: 4px 2px;
    min-height: 48px;
}
#game-controls .bac-bet-odds {
    display: block;
    font-family: "Roboto Mono", monospace;
    font-size: 0.625rem;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
    user-select: none;
}

/* :active only on main actions — not .side-bets-btn (keeps open-state styling on press) */
#game-controls .pick-select-btn.player-btn:active,
#game-controls .pick-select-btn.tie-btn:active,
#game-controls .pick-select-btn.banker-btn:active {
    border: 1px solid var(--secondary-btn-font-color-default-sec, #0D0C07);
    background: var(--section-mode-background-2, #FFFACD);
    box-shadow: -3px -3px 3px 0px rgba(0, 0, 0, 0.40) inset;
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
}

#game-controls .pick-select-btn.active:not(.side-bets-btn) {
    border: 1px solid var(--secondary-btn-font-color-default-sec, #0D0C07);
    box-shadow: -3px -3px 3px 0px rgba(0, 0, 0, 0.40) inset, 0 0 0 2px var(--foreground, #0D0C07);
    color: #fff;
}

/* Unselected bet choices — muted so selected state reads clearly */
#game-controls .pick-select-btn.player-btn:not(.active),
#game-controls .pick-select-btn.tie-btn:not(.active),
#game-controls .pick-select-btn.banker-btn:not(.active) {
    background: rgba(255, 255, 255, 0.55);
    box-shadow: none;
    opacity: 0.85;
}

#game-controls .pick-select-btn.player-btn.active {
    background: #2E9549;
}
#game-controls .pick-select-btn.banker-btn.active {
    background: #931231;
}
#game-controls .pick-select-btn.tie-btn.active {
    background: var(--accent-btn-fill-default-sec, #FBE24B);
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
    box-shadow: -3px -3px 3px 0 rgba(0, 0, 0, 0.35) inset, 0 0 0 2px var(--foreground, #0D0C07);
}

#game-controls .pick-select-btn.player-btn.active p,
#game-controls .pick-select-btn.banker-btn.active p {
    color: #fff;
}
#game-controls .pick-select-btn.tie-btn.active p {
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
}
#game-controls .pick-select-btn.player-btn.active .bac-bet-odds,
#game-controls .pick-select-btn.banker-btn.active .bac-bet-odds {
    color: rgba(255, 255, 255, 0.9);
}
#game-controls .pick-select-btn.tie-btn.active .bac-bet-odds {
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
}

#game-controls #placeBetBtnBj:active,
#game-controls #placeBetBtnBj.active {
    background: var(--accent-btn-fill-default-sec, #FBE24B);
    box-shadow: -3px -3px 3px 0px rgba(0, 0, 0, 0.40) inset;
    border: 1px solid var(--secondary-btn-font-color-default-sec, #0D0C07);
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
}

#game-controls .pick-select-btn.player-btn:active p,
#game-controls .pick-select-btn.tie-btn:active p,
#game-controls .pick-select-btn.banker-btn:active p,
#game-controls #placeBetBtnBj:active p {
    color: var(--secondary-btn-font-color-default-sec, #0D0C07);
}

#game-controls .pick-select-btn.player-btn:active > svg path,
#game-controls .pick-select-btn.tie-btn:active > svg path,
#game-controls .pick-select-btn.banker-btn:active > svg path,
#game-controls .pick-select-btn.active:not(.side-bets-btn) > svg path,
#game-controls #placeBetBtnBj:active > svg path {
    fill: var(--secondary-btn-font-color-default-sec, #0D0C07);
}

/* Side columns — dark chrome (matches blackjack); shared width via --bac-side-col-w */
#baccaratGameRoot .side-bets-section,
#baccaratGameRoot .bac-funds-column {
    width: 100%;
    min-width: 0;
    max-width: var(--bac-side-col-w, 15.5rem);
    box-sizing: border-box;
    align-self: stretch;
    padding: 0.65rem 1rem;
    background: #2d2d2d url('/img/game-pdp/player-bg-grey.png');
    color: rgba(255, 255, 255, 0.92);
}
#baccaratGameRoot .bac-funds-column {
    display: flex;
    flex-direction: column;
}
#baccaratGameRoot .side-bets-section {
    justify-content: flex-start;
    gap: 0.35rem;
    text-align: center;
}
#baccaratGameRoot .side-bets-section .title {
    color: rgba(255, 255, 255, 0.95);
}
#baccaratGameRoot .side-bets-section .subtitle {
    color: rgba(255, 255, 255, 0.72);
}
#baccaratGameRoot .side-bets-controll,
#baccaratGameRoot .bac-funds-column .funds-container {
    width: 100%;
    box-sizing: border-box;
}
#baccaratGameRoot .side-bets-controll {
    border: 1px solid rgba(255, 255, 255, 0.22);
    gap: 0;
}
#baccaratGameRoot .side-bets-controll .sidebet-amount-selector {
    margin: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(0, 0, 0, 0.28);
    border-top: none;
    border-left: none;
    border-right: none;
}
#baccaratGameRoot .side-bets-controll > .pick-select-btn,
#baccaratGameRoot .side-bets-controll > button.pick-select-btn[data-side] {
    color: rgba(255, 255, 255, 0.92) !important;
    background: rgba(38, 38, 38, 0.96) !important;
    box-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.12) !important;
    border: none !important;
}
#baccaratGameRoot .side-bets-controll > .pick-select-btn:hover,
#baccaratGameRoot .side-bets-controll > button.pick-select-btn[data-side]:hover {
    background: rgba(55, 55, 55, 0.98) !important;
    color: rgba(255, 255, 255, 0.98) !important;
}
#baccaratGameRoot .side-bets-controll > .pick-select-btn:active,
#baccaratGameRoot .side-bets-controll > .pick-select-btn.active,
#baccaratGameRoot .side-bets-controll > button.pick-select-btn[data-side]:active,
#baccaratGameRoot .side-bets-controll > button.pick-select-btn[data-side].active {
    background: rgba(18, 18, 18, 0.98) !important;
    color: #FBE24B !important;
    box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.45) !important;
}
#baccaratGameRoot .side-bets-controll > .pick-select-btn span,
#baccaratGameRoot .side-bets-controll > button.pick-select-btn[data-side] span {
    display: block;
    font-size: 0.5625rem;
    font-weight: 400;
    line-height: 1.2;
    opacity: 0.85;
}
#baccaratGameRoot .side-bets-controll {
    max-height: none;
}
#baccaratGameRoot .side-bets-controll > .pick-select-btn.active span,
#baccaratGameRoot .side-bets-controll > button.pick-select-btn[data-side].active span {
    color: rgba(251, 226, 75, 0.9);
}
.rules-section,
.side-bets-section{
    width: 15.5rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.side-bets-section{
    padding: .35rem .5rem;
    justify-content: flex-start;
    gap: .2rem;
}
.side-bets-section.disabled .header-side-bets{
    opacity: .5;
}
.side-bets-section.disabled button:not(#insuranceBtn){
    pointer-events: none;
}
.side-bets-section.disabled button:not(.active):not(#insuranceBtn){
    opacity: .5;
}

.side-bets-section button.disabled{
    pointer-events: none;
    opacity: .5;
}
.side-bets-section button#insuranceBtn.active{
    opacity: 1;
}

/* Hand felt rows — same grid + inset on banker and player */
.dealer-section,
.player-section > .hand-container{
    --bac-hand-inset-bottom: 8px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    align-content: stretch;
    min-height: 16rem;
    height: 100%;
    padding: .5rem .5rem var(--bac-hand-inset-bottom);
    box-sizing: border-box;
}
.dealer-section,
.player-section{
    flex: 1;
    min-width: 0;
    min-height: 16rem;
    box-sizing: border-box;
}
.player-section{
    padding: 0;
    display: flex;
    flex-direction: column;
    background-color: #2E9549;
    background-image: url('/img/game-pdp/player-bg.png');
    background-repeat: repeat;
    text-align: center;
}
.player-section > .hand-container{
    flex: 1;
    width: 100%;
    min-height: 0;
}
.dealer-cards,
.player-cards{
    flex: 0 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 max(0.75rem, 10%);
    gap: var(--gap, 0px);
    margin: 0 .75rem;
}
.dealer-cards{
    padding: 0 110px;
}
.card {
    box-sizing: border-box;
    flex: 0 0 auto;
    position: relative;
    max-width: 106px;/*88px;*/
    margin-right: var(--m, -7px);
    width: 106px;/*88px;*/
    height: 151px;/*126px;*/
    border-radius: 5px;
    /*overflow: hidden;*/

    --t-back: 200ms;
    --t-front: 400ms;
    --ease-back:  cubic-bezier(.2,.8,.2,1);
    --ease-front: cubic-bezier(.5,0,.2,1);
}
.card:before {
    content: '';
    position: absolute;
    top:0;
    left:0;
    bottom: 0;
    width: 106px;/*88px;*/
    background-image: var(--img);
    background-size: cover;
    z-index: 2;
    transition: transform var(--t-front) var(--ease-front);
    transform: scale(0,1);
}
.card:after {
    content: '';
    position: absolute;
    top:0;
    left:0;
    bottom: 0;
    width: 106px;/*88px;*/
    background-image:url(/img/pocker-card-back.svg);
    background-size: cover;
    z-index: 1;
    transition: transform var(--t-back) var(--ease-back);
    transform: scale(1);
}
.card.face {
    transform: scale(1);
}
.card.face:after {
    transform: scale(0,1);
}
.card.face:before {
    transform: scale(1);
}
.card.hide {
    opacity: 0;
    pointer-events: none;
}
/* Revealed table cards only — flying card in #deck-anim-card keeps flip transition */
#baccaratGameRoot .dealer-cards .card.face:not(.hide):before,
#baccaratGameRoot .dealer-cards .card.face:not(.hide):after,
#baccaratGameRoot .player-cards .card.face:not(.hide):before,
#baccaratGameRoot .player-cards .card.face:not(.hide):after {
    transition: none;
}
.card:last-child {
    margin-right: 0;
}


.hand-container{
    position: relative;
}

/* Active/Inactive hand states during split */
.hand-container.active {
    /*box-shadow: 0 0 0 3px #FBE24B;
    border-radius: 4px;
    animation: pulse-active 1.5s ease-in-out infinite;*/
}

.hand-container.inactive {
    opacity: 0.6;
    filter: brightness(0.8);
}

@keyframes pulse-active {
    0%, 100% {
        box-shadow: 0 0 0 3px #FBE24B;
    }
    50% {
        box-shadow: 0 0 0 6px rgba(251, 226, 75, 0.5);
    }
}

/* Main bet result — only on the user's selected Player/Tie/Banker button */
#game-controls .pick-select-btn.player-btn.win,
#game-controls .pick-select-btn.tie-btn.win,
#game-controls .pick-select-btn.banker-btn.win {
    background: #22c55e !important;
    border-color: #15803d !important;
    box-shadow: -3px -3px 3px 0 rgba(0, 0, 0, 0.35) inset, 0 0 0 2px #15803d !important;
    color: #fff !important;
    opacity: 1 !important;
}
#game-controls .pick-select-btn.player-btn.win p,
#game-controls .pick-select-btn.tie-btn.win p,
#game-controls .pick-select-btn.banker-btn.win p {
    color: #fff !important;
}
#game-controls .pick-select-btn.player-btn.lose,
#game-controls .pick-select-btn.tie-btn.lose,
#game-controls .pick-select-btn.banker-btn.lose {
    background: #ef4444 !important;
    border-color: #b91c1c !important;
    box-shadow: -3px -3px 3px 0 rgba(0, 0, 0, 0.35) inset, 0 0 0 2px #b91c1c !important;
    color: #fff !important;
    opacity: 1 !important;
}
#game-controls .pick-select-btn.player-btn.lose p,
#game-controls .pick-select-btn.tie-btn.lose p,
#game-controls .pick-select-btn.banker-btn.lose p {
    color: #fff !important;
}
#game-controls .pick-select-btn.player-btn.win .bac-bet-odds,
#game-controls .pick-select-btn.tie-btn.win .bac-bet-odds,
#game-controls .pick-select-btn.banker-btn.win .bac-bet-odds,
#game-controls .pick-select-btn.player-btn.lose .bac-bet-odds,
#game-controls .pick-select-btn.tie-btn.lose .bac-bet-odds,
#game-controls .pick-select-btn.banker-btn.lose .bac-bet-odds {
    color: rgba(255, 255, 255, 0.9) !important;
}

@keyframes badge-pop {
    0% {
        transform: translate(-50%, -50%) scale(0.5);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

.hand-result-badge .result-text {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.hand-result-badge .result-payout {
    font-size: 14px;
    color: #ffd700;
    font-family: "Public Pixel";
}

/* Miniature cards when split - make cards smaller */
.player-cards.twohands .card {
    /*was 60px before*/
    max-width: 72px;
    width: 72px;
    height: 103px; /*was 72px*/
}

.player-cards.twohands .card:before,
.player-cards.twohands .card:after {
    /*was 60px before*/
    width: 72px;
}

.player-cards.twohands {
    padding: 0 5%;
}

/* Rules section stays 15.5rem always - removed shrinking to keep dealer/player sections equal width */
.deck-container {
    position: absolute;
    top: 0;
    right: 1rem;
    width: 100px;
    height: 144px;
    transform: translateY(-50%);
    clip-path: inset(50% 0 0 0);
    z-index: 1;
    pointer-events: none;
}
.deck-container img{
    position: absolute;
    display: none;
}
.deck-container .deck-bg{
    width: 95px;
    height: 144px;
    display: block;
}

.top-block{
    margin-bottom: 0;
}
.bottom-block{
    margin-top: 0;
}
@media (min-width: 751px) {
    .v3-blackjack-game-table > .top-block.wrapper,
    .v3-blackjack-game-table > .bottom-block.wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr) var(--bac-side-col-w, 15.5rem);
        gap: .5rem;
        align-items: stretch;
    }
    #baccaratGameRoot .side-bets-section {
        display: flex;
        flex-direction: column;
    }
}
.dealer-section{
    position: relative;
    background-color: #931231;
    background-image: url('/img/game-pdp/dealer-bg.png');
    background-repeat: repeat;
    text-align: center;
    overflow: hidden;
}
#baccaratGameRoot .dealer-cards {
    position: relative;
    z-index: 2;
}
#baccaratGameRoot .dealer-section > .count-display {
    position: relative;
    z-index: 2;
}
.dealer-section > .count-display,
.hand-container > .count-display {
    grid-row: 2;
    align-self: end;
    margin: 0;
    flex-shrink: 0;
    width: 100%;
    box-sizing: border-box;
}
.dealer-cards,
.player-cards{
    grid-row: 1;
    align-self: center;
}
.count-display{
    background: var(--background-main, #FFFFE0);
    border: 1px solid var(--monochrome-00);
    width: 100%;
    margin-top: 0;

    font-family: "Public Pixel";
    font-size: .875rem;
}
.count-display > div{
    padding: .35rem;
}
.count-display .title{
    font-family: "Roboto Mono";
    font-size: .75rem;
    text-transform: uppercase;
    background: var(--accent-20, rgba(244, 211, 24, 0.20));
    border-bottom: 1px solid var(--monochrome-00);
    padding: .25rem;

    min-width: 0;              /* ключ для flex/grid */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.side-bets-section{
    text-align: center;
}
.side-bets-section .title{
    font-family: Public Pixel;
    font-weight: 400;
    font-size: .75rem;
    line-height: 150%;
}
.side-bets-section .subtitle{
    font-size: 0.75rem;
}
.side-bets-controll{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: .2rem;
    width: 100%;
}

.side-bets-controll > .pick-select-btn,
.side-bets-controll > button.pick-select-btn[data-side]{
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    height: auto;
    font-size: .8125rem;
    font-family: "Roboto Mono";
    padding: .425rem;
    line-height: 115%;
    position: relative;
}
.side-bets-controll > .pick-select-btn span,
.side-bets-controll > button.pick-select-btn[data-side] span{
    display: block;
    font-size: 0.6875rem;
    font-weight: 400;
}
.side-bets-controll > .pick-select-btn.win:after,
.side-bets-controll > button.pick-select-btn[data-side].win:after{
    content: '';
    position: absolute;
    width: 35px;
    height: 14px;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    background: url('/img/win-badge.svg') no-repeat center/cover;
}
#baccaratGameRoot .sidebet-amount-selector {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.28);
    border: none;
}
#baccaratGameRoot .sidebet-amount-btn {
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
    padding: 0.35rem 0.15rem !important;
    font-size: 0.5625rem !important;
    font-family: "Roboto Mono", ui-monospace, monospace;
    font-weight: 700;
    line-height: 1.1 !important;
    min-height: 1.75rem !important;
    height: auto !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box;
    background: rgba(32, 32, 32, 0.92);
    color: rgba(255, 255, 255, 0.92);
    cursor: pointer;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.35);
}
#baccaratGameRoot .sidebet-amount-btn:last-child {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35);
}
#baccaratGameRoot .sidebet-amount-btn:hover {
    background: rgba(50, 50, 50, 0.95);
}
#baccaratGameRoot .sidebet-amount-btn.selected {
    background: rgba(18, 18, 18, 0.96);
    box-shadow: inset 0 0 0 1px rgba(251, 226, 75, 0.45), inset -1px 0 0 rgba(255, 255, 255, 0.1);
    color: #FBE24B;
    font-weight: 700;
}
#baccaratGameRoot .sidebet-amount-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Baccarat funds column — dark (matches blackjack .bj-rules-column) */
#baccaratGameRoot .bac-funds-column {
    justify-content: flex-start;
}
#baccaratGameRoot .bac-funds-column .funds-container {
    flex: 0 0 auto;
    margin: 0;
    padding: 0.45rem 0.5rem;
    gap: 0.35rem;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.2);
}
#baccaratGameRoot .bac-funds-column .funds-item {
    padding: 0.65rem 0.5rem;
    font-size: 0.6875rem;
    background: rgba(32, 32, 32, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.88);
}
#baccaratGameRoot .bac-funds-column .funds-item .value {
    font-size: 0.875rem;
    margin-top: 0.35rem;
    color: rgba(255, 250, 220, 0.95);
}
#baccaratGameRoot .funds-label {
    font-family: "Roboto Mono", sans-serif;
    color: rgba(255, 255, 255, 0.72);
}
.funds-container{
    background: #FDF6B8;
    border: 1px solid var(--border-hard, #0D0C07);
    padding: .25rem;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.funds-container .funds-item{
    background: var(--background-main, #FFFFE0);
    border: 1px solid var(--border-light, #BFBFBD);
    padding: 0.35rem .4rem;
    text-align: center;
    font-size: 0.6875rem;
}
.funds-container .funds-item .value{
    font-family: Public Pixel;
    font-weight: 400;
    font-size: 0.75rem;
    margin-top: 0.15rem;
    display: block;
}

#baccaratGameRoot .bac-funds-column .funds-item.win-highlight {
    background-color: rgba(34, 197, 94, 0.32) !important;
    background-image: none !important;
    border: 2px solid #22c55e !important;
    box-shadow: inset 0 0 0 1px rgba(134, 239, 172, 0.35);
}
#baccaratGameRoot .bac-funds-column .funds-item.win-highlight .funds-label,
#baccaratGameRoot .bac-funds-column .funds-item.win-highlight .value {
    color: #bbf7d0 !important;
}
#baccaratGameRoot .bac-funds-column .funds-item.loss-highlight {
    background-color: rgba(239, 68, 68, 0.28) !important;
    background-image: none !important;
    border: 2px solid #ef4444 !important;
    box-shadow: inset 0 0 0 1px rgba(254, 202, 202, 0.25);
}
#baccaratGameRoot .bac-funds-column .funds-item.loss-highlight .funds-label,
#baccaratGameRoot .bac-funds-column .funds-item.loss-highlight .value {
    color: #fecaca !important;
}
#baccaratGameRoot .bac-funds-column .funds-item.push-highlight {
    background-color: rgba(251, 191, 36, 0.22) !important;
    background-image: none !important;
    border: 2px solid #fbbf24 !important;
    box-shadow: inset 0 0 0 1px rgba(253, 224, 71, 0.3);
}
#baccaratGameRoot .bac-funds-column .funds-item.push-highlight .funds-label,
#baccaratGameRoot .bac-funds-column .funds-item.push-highlight .value {
    color: #fde68a !important;
}

/* Game chrome + felt selection frame */
#baccaratGameRoot {
    --bac-side-col-w: 15.5rem;
    --bac-sel-border: rgba(255, 255, 255, 0.85);
    background: #262624;
}
#baccaratGameRoot .v3-blackjack-game-info,
#baccaratGameRoot .v3-blackjack-base-game-card-wrap {
    background: #262624;
}

#baccaratGameRoot .v3-blackjack-game-btns {
    margin-top: 0.75rem;
}

/* View bet replay: breathing room under banker total before player felt */
#baccaratGameRoot.baccarat-viewbet .v3-blackjack-game-table > .top-block.wrapper {
    margin-bottom: 0.5rem;
}
#baccaratGameRoot.baccarat-viewbet #bac-banker-section > .count-display {
    margin-bottom: 0.35rem;
}

/* View bet: single action row; center Player / Tie / Banker labels + odds */
#baccaratGameRoot.baccarat-viewbet #game-controls .action-controls {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    border: 1px solid var(--foreground, #0D0C07);
}
#baccaratGameRoot.baccarat-viewbet #game-controls .action-controls > .pick-select-btn.player-btn,
#baccaratGameRoot.baccarat-viewbet #game-controls .action-controls > .pick-select-btn.tie-btn,
#baccaratGameRoot.baccarat-viewbet #game-controls .action-controls > .pick-select-btn.banker-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    flex: 1 1 0;
    min-width: 0;
    height: auto;
    min-height: 2.75rem;
    padding: 0.35rem 0.25rem;
    box-sizing: border-box;
}
#baccaratGameRoot.baccarat-viewbet #game-controls .pick-select-btn.player-btn p,
#baccaratGameRoot.baccarat-viewbet #game-controls .pick-select-btn.tie-btn p,
#baccaratGameRoot.baccarat-viewbet #game-controls .pick-select-btn.banker-btn p {
    margin: 0;
    line-height: 1.15;
    font-size: 0.8125rem;
}
#baccaratGameRoot.baccarat-viewbet #game-controls .bac-bet-odds {
    margin: 0;
    line-height: 1.1;
}

#baccaratGameRoot.bac-choice-player #bac-banker-section {
    box-shadow:
        inset 0 3px 0 0 var(--bac-sel-border),
        inset 3px 0 0 0 var(--bac-sel-border),
        inset -3px 0 0 0 var(--bac-sel-border),
        inset 0 -3px 0 0 var(--bac-sel-border);
}
#baccaratGameRoot.bac-choice-player #bac-player-section {
    box-shadow:
        inset 0 -3px 0 0 var(--bac-sel-border),
        inset 3px 0 0 0 var(--bac-sel-border),
        inset -3px 0 0 0 var(--bac-sel-border),
        inset 0 0 24px rgba(46, 149, 73, 0.45);
}
#baccaratGameRoot.bac-choice-banker #bac-banker-section {
    box-shadow:
        inset 0 3px 0 0 var(--bac-sel-border),
        inset 3px 0 0 0 var(--bac-sel-border),
        inset -3px 0 0 0 var(--bac-sel-border),
        inset 0 -3px 0 0 var(--bac-sel-border),
        inset 0 0 24px rgba(147, 18, 49, 0.45);
}
#baccaratGameRoot.bac-choice-banker #bac-player-section {
    box-shadow:
        inset 0 -3px 0 0 var(--bac-sel-border),
        inset 3px 0 0 0 var(--bac-sel-border),
        inset -3px 0 0 0 var(--bac-sel-border);
}
#baccaratGameRoot.bac-choice-tie #bac-banker-section {
    box-shadow:
        inset 0 3px 0 0 rgba(251, 226, 75, 0.95),
        inset 3px 0 0 0 rgba(251, 226, 75, 0.95),
        inset -3px 0 0 0 rgba(251, 226, 75, 0.95),
        inset 0 -3px 0 0 rgba(251, 226, 75, 0.95),
        inset 0 0 20px rgba(251, 226, 75, 0.35);
}
#baccaratGameRoot.bac-choice-tie #bac-player-section {
    box-shadow:
        inset 0 -3px 0 0 rgba(251, 226, 75, 0.95),
        inset 3px 0 0 0 rgba(251, 226, 75, 0.95),
        inset -3px 0 0 0 rgba(251, 226, 75, 0.95),
        inset 0 0 20px rgba(251, 226, 75, 0.35);
}
.dealer-section {
    text-align: center;
}

.action-controls {
    display: grid;
    grid-template-columns: 1.46fr .9fr .9fr .9fr .9fr;
    gap: .5rem;
}
.action-controls.mobile-el {
    margin: 0;
}

/* Fused action bar (matches blackjack layout) */
#game-controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
#game-controls .action-controls:not(.mobile-el) {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    gap: 0;
    margin: 0;
    box-sizing: border-box;
    border: 1px solid var(--foreground, #0D0C07);
}
#game-controls .action-controls:not(.mobile-el) > .pick-select-btn,
#game-controls .action-controls.mobile-el > .pick-select-btn {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    margin: 0;
    border-radius: 0;
    border: none;
    box-sizing: border-box;
    box-shadow: inset -1px 0 0 var(--foreground, #0D0C07);
    pointer-events: auto;
}
#game-controls .action-controls:not(.mobile-el) > .pick-select-btn:last-child,
#game-controls .action-controls.mobile-el > .pick-select-btn:last-child {
    box-shadow: none;
}
#game-controls .action-controls:not(.mobile-el) > #placeBetBtnBj {
    flex: 1.46 1 0;
}
#game-controls .action-controls:not(.mobile-el) > .pick-select-btn:not(#placeBetBtnBj) {
    flex: 0.9 1 0;
}
#baccaratGameRoot.is-busy #game-controls .pick-select-btn:not(#placeBetBtnBj) {
    pointer-events: none;
    opacity: 0.65;
}
.v3-blackjack-game-table > div{
    position: relative;
    display: flex;
    gap: .5rem;
}
.mobile-el{
    display: none;
}
#deck-anim-layer{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    pointer-events: none;
}
#deck-anim-card{
    position: absolute;
    display: none;
    z-index: 20;
}
#deck-anim-card .card {
    width: 106px;
    height: 151px;
    max-width: 106px;
    margin: 0;
    flex: none;
}
.sidebet-multiplier {
    background: #4CAF50;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: bold;
    margin-left: 5px;
}

/* ≤1100px: bet box full width of table (same contract as blackjack) */
@media screen and (max-width: 1100px) {
    .new-pick-game-block-wrapper:has(#baccaratGameRoot) {
        gap: 0;
        padding: 0;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) {
        gap: 0;
        align-items: stretch;
        box-shadow: none;
        --bac-panel-pad-x: calc(2px + 0.125rem);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .new-pick-picker {
        gap: 0;
        width: 100%;
        max-width: none;
        min-width: 0;
        flex: 1 1 auto;
        align-self: stretch;
        box-sizing: border-box;
        margin-top: 0;
        padding-top: 0;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .new-pick-picker .new-pick-picker-game.black-0-card {
        padding: 0 var(--bac-panel-pad-x) !important;
        margin-top: 0;
        gap: 0;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        box-shadow: none !important;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .new-pick-picker-game > .new-pick-picker-game-img {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0;
        max-height: 0;
        flex: 0 0 0;
        overflow: hidden;
        border: 0;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) #baseVariationGame {
        margin-top: 0;
        padding-top: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .card-game-base-picks,
    main .new-games-mobile-flex:has(#baccaratGameRoot) .input-picks-wrapper {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .input-picks-wrapper {
        gap: 0;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) #baseVariationGame .manual-bet-card {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) #baseVariationGame .manual-bet-card.card-input-block {
        border: none;
        box-shadow: none;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) #baseVariationGame .manual-bet-place-btn {
        border: 1px solid var(--foreground, #0D0C07);
        border-radius: 0;
        box-sizing: border-box;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) #baseVariationGame .manual-bet-fields-row > .bet-box-mob-border {
        border: 1px solid var(--foreground, #0D0C07);
        border-left-width: 0;
        border-radius: 0;
        box-sizing: border-box;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .new-pick-game-block-right-wrapper {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        align-self: stretch;
        margin: 0;
        padding: 0;
        gap: 0;
        box-shadow: none !important;
    }
    main .new-games-mobile-flex:has(#baccaratGameRoot) .new-pick-game-block-right-content,
    main .new-games-mobile-flex:has(#baccaratGameRoot) .new-quick-pick-game-block {
        gap: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        box-shadow: none !important;
    }
}

@media (width <= 900px), (1100px <= width <= 1280px) {
    .dealer-cards, .player-cards{
        padding: 0;
    }
    .dealer-cards{
        padding: 0 120px 0 .75rem;
        margin: 0;
        justify-content: flex-start;
    }
    #baccaratGameRoot {
        --bac-side-col-w: 13rem;
    }
    #baccaratGameRoot .side-bets-section,
    #baccaratGameRoot .bac-funds-column {
        padding: .5rem;
    }
    .rules-section, .side-bets-section {
        padding: .5rem;
        width: 13rem;
    }
    .funds-container .funds-item .value{
        font-size: 0.8rem;
    }
    .funds-container .funds-item{
        font-size: .75rem;
    }
    .side-bets-section .title{
        font-size: .8rem;
    }
    .side-bets-controll > .pick-select-btn.win:after,
    .side-bets-controll > button.pick-select-btn[data-side].win:after{
        right: .3rem;
    }
}

@media (width <= 750px) {
    .desktop-el{
        display: none;
    }
    .mobile-el{
        display: flex;
    }
    #baccaratGameRoot .player-section > .hand-container {
        flex: 0 0 auto;
    }
    #baccaratGameRoot .v3-blackjack-game-table {
        overflow: visible;
    }
    #baccaratGameRoot .v3-blackjack-base-game-card-wrap,
    #baccaratGameRoot .v3-blackjack-game-info {
        overflow: visible;
    }
    .dealer-section,
    .player-section > .hand-container {
        --bac-hand-inset-bottom: 0.5rem;
        grid-template-rows: auto auto;
        align-content: start;
        height: auto;
        min-height: 0;
        padding: 0.5rem 0.5rem var(--bac-hand-inset-bottom);
        box-sizing: border-box;
    }
    #baccaratGameRoot .dealer-section {
        overflow: hidden;
    }
    .player-section > .hand-container {
        overflow: visible;
    }
    .dealer-section,
    .player-section {
        height: auto;
        min-height: 0;
        padding-bottom: 0;
    }
    .player-section {
        overflow: visible;
    }
    #baccaratGameRoot .dealer-section > .count-display,
    #baccaratGameRoot .hand-container > .count-display {
        align-self: stretch;
        flex-shrink: 0;
    }
    #baccaratGameRoot .dealer-cards,
    #baccaratGameRoot .player-cards {
        align-self: start;
        min-height: 88px;
    }
    .dealer-section:after{
        content: '';
        position: absolute;
        top: 0;
        right: -1rem;
        width: 1rem;
        height: 100%;
        min-height: 100%;
        background: #262624;
        z-index: 15;
    }
    .dealer-cards, .player-cards {
        padding: 0 100px 0 .75rem;
        margin: 0;
        justify-content: flex-start;
    }
    .player-cards.twohands{
        padding: 0 .75rem;
        justify-content: center;
    }
    .top-block{
        margin-bottom: 0;
    }
    #baccaratGameRoot .v3-blackjack-game-table > .top-block.wrapper {
        display: flex !important;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        gap: 0;
    }
    /* Stack player + funds flush — no gap between felt and wager bar */
    #baccaratGameRoot .v3-blackjack-game-table > div.bottom-block{
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .bottom-block .player-section{
        order: 1;
        width: 100%;
        margin-bottom: 0;
        padding-bottom: 0;
        min-height: 0;
        height: auto;
    }
    #baccaratGameRoot .bottom-block .player-section > .hand-container {
        min-height: 0;
        height: auto;
        flex: 0 0 auto;
        --bac-hand-inset-bottom: 0.5rem;
        padding: 0.5rem 0.5rem var(--bac-hand-inset-bottom);
        grid-template-rows: auto auto;
        align-content: start;
    }
    #baccaratGameRoot .bac-funds-column{
        order: 2;
        position: relative;
        width: 100%;
        max-width: 100%;
        margin-top: 0;
        padding: 0.35rem 0.5rem 0.5rem;
        background: #2d2d2d url('/img/game-pdp/player-bg-grey.png');
        align-self: stretch;
    }
    #baccaratGameRoot .bac-funds-column .funds-container{
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: stretch;
        gap: 0.5rem;
        padding: 0.4rem 0.5rem;
        width: 100%;
        box-sizing: border-box;
        background: rgba(0, 0, 0, 0.22);
        border: 1px solid rgba(255, 255, 255, 0.22);
    }
    #baccaratGameRoot .bac-funds-column .funds-item{
        flex: 1 1 50%;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 0.25rem 0.35rem;
        padding: 0.35rem 0.4rem;
        margin: 0;
        font-size: 0.65rem;
        text-align: center;
        background: rgba(32, 32, 32, 0.88);
        border: 1px solid rgba(255, 255, 255, 0.16);
        color: rgba(255, 255, 255, 0.88);
    }
    #baccaratGameRoot .bac-funds-column .funds-item .value{
        display: inline;
        margin-top: 0;
        font-size: 0.72rem;
        color: rgba(255, 250, 220, 0.95);
    }
    #baccaratGameRoot .bac-funds-column .funds-label{
        text-transform: uppercase;
        font-weight: 700;
        font-size: 0.62rem;
        letter-spacing: 0.02em;
        color: rgba(255, 255, 255, 0.72);
    }
    #baccaratGameRoot .bac-funds-column .funds-item.win-highlight {
        background-color: rgba(34, 197, 94, 0.32) !important;
        border: 2px solid #22c55e !important;
    }
    #baccaratGameRoot .bac-funds-column .funds-item.win-highlight .funds-label,
    #baccaratGameRoot .bac-funds-column .funds-item.win-highlight .value {
        color: #bbf7d0 !important;
    }
    #baccaratGameRoot .bac-funds-column .funds-item.loss-highlight {
        background-color: rgba(239, 68, 68, 0.28) !important;
        border: 2px solid #ef4444 !important;
    }
    #baccaratGameRoot .bac-funds-column .funds-item.loss-highlight .funds-label,
    #baccaratGameRoot .bac-funds-column .funds-item.loss-highlight .value {
        color: #fecaca !important;
    }
    #baccaratGameRoot .bac-funds-column .funds-item.push-highlight {
        background-color: rgba(251, 191, 36, 0.22) !important;
        border: 2px solid #fbbf24 !important;
    }
    #baccaratGameRoot .bac-funds-column .funds-item.push-highlight .funds-label,
    #baccaratGameRoot .bac-funds-column .funds-item.push-highlight .value {
        color: #fde68a !important;
    }
    .count-display{
        display: flex;
        font-size: 0.6875rem;
        flex-shrink: 0;
    }
    .count-display > div{
        flex: 1 1 0;
        padding: .25rem;
    }
    .count-display .title{
        font-size: 0.6875rem;
        border: 0;
    }
    .card{
        width: 62px;
        height: 88px;
        max-width: 62px;
    }
    #deck-anim-card .card {
        width: 62px;
        height: 88px;
        max-width: 62px;
    }
    .card:after,.card:before{
        width: 62px;
    }
    .deck-container{
        top: 0;
        right: 0.75rem;
        bottom: auto;
        width: 70px;
        height: 100px;
        transform: translateY(-50%);
        clip-path: inset(50% 0 0 0);
    }
    .deck-container .deck-bg{
        width: 66px;
        height: 100px;
    }
    .blackjack-small-txt{
        font-size: 0.8125rem;
    }
    .side-bets-btn.active .blackjack-small-txt{
        color: var(--accent-btn-fg-selected-acc, #AA9000);
    }
    .side-bets-btn.active svg{
        transform: rotate(180deg);
    }
    .side-bets-btn.active svg path{
        fill: #AA9000;
    }
    .action-controls{
        margin-top: 0;
    }
    #baccaratGameRoot #game-controls .action-controls.mobile-el {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
        max-width: 100%;
        gap: 0;
        margin: 0;
        box-sizing: border-box;
        border: 1px solid var(--foreground, #0D0C07);
        grid-template-columns: none;
    }
    #baccaratGameRoot #game-controls .action-controls.mobile-el > .pick-select-btn {
        flex: 1 1 0;
        min-width: 0;
        width: auto !important;
        max-width: none !important;
    }
    #baccaratGameRoot #game-controls .action-controls + .action-controls {
        border-top: none;
        margin-top: -1px;
    }
    #baccaratGameRoot .side-bets-section {
        position: absolute;
        z-index: 1000;
        width: 15.5rem;
        max-width: calc(100% - 1rem);
        height: auto;
        top: 15.15rem;
        right: 0;
        box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.55);
        border: 1px solid rgba(255, 255, 255, 0.2);
        display: none;
        align-self: auto;
    }
    #baccaratGameRoot .side-bets-section.show {
        display: flex;
        flex-direction: column;
        max-height: min(70vh, 28rem);
        overflow: hidden;
    }
    #baccaratGameRoot .side-bets-section.show .side-bets-controll {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .side-bets-section .subtitle{
        margin-bottom: .5rem;
    }
    .side-bets-controll > .pick-select-btn,
    .side-bets-controll > button.pick-select-btn[data-side]{
        padding: .35rem;
        line-height: 115%;
    }

    .pick-select-btn svg{
        width: 1rem;
        height: 1rem;
    }
    .globalGamesBtns .pick-select-btn{
        height: 2rem;
        user-select: none;
    }
    #baccaratGameRoot #game-controls .pick-select-btn.player-btn,
    #baccaratGameRoot #game-controls .pick-select-btn.tie-btn,
    #baccaratGameRoot #game-controls .pick-select-btn.banker-btn {
        height: auto;
        min-height: 2.25rem;
    }
    .pick-select-btn{
        user-select: none;
        -webkit-user-select: none; /* Safari */
        -moz-user-select: none;    /* Firefox */
        -ms-user-select: none;     /* IE/Edge */
    }
    .side-bets-controll > .pick-select-btn.win:after,
    .side-bets-controll > button.pick-select-btn[data-side].win:after{
        right: .75rem;
    }
}

.side-bets-controll > .pick-select-btn.lose:after,
.side-bets-controll > button.pick-select-btn[data-side].lose:after {
    content: '';
    position: absolute;
    width: 35px;
    height: 14px;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    background: url('/img/lose-badge.svg') no-repeat center/cover;
}

  /* Blackjack Win/Loss Highlights */
  .win-highlight {
      background-color: rgba(34, 197, 94, 0.2) !important;  /* Green with 20% opacity */
      border: 2px solid #22c55e !important;                 /* Solid green border */
      transition: all 0.3s ease;
  }

  .win-highlight * {
      color: #22c55e !important;  /* All child elements green */
  }

  .loss-highlight {
      background-color: rgba(239, 68, 68, 0.2) !important;  /* Red with 20% opacity */
      border: 2px solid #ef4444 !important;                 /* Solid red border */
      transition: all 0.3s ease;
  }

  .loss-highlight * {
      color: #ef4444 !important;  /* All child elements red */
  }

  .push-highlight {
      background-color: rgba(251, 191, 36, 0.2) !important; /* Yellow with 20% opacity */
      border: 2px solid #fbbf24 !important;                 /* Solid yellow border */
      transition: all 0.3s ease;
  }

  .push-highlight * {
      color: #fbbf24 !important;  /* All child elements yellow */
  }
