/* Cashback pass-code popup */

.cashback-gate-backdrop{position:fixed;inset:0;z-index:2147483200;display:grid;place-items:center;padding:20px;background:rgba(12,8,25,.24);backdrop-filter:none}
.cashback-gate-modal{width:min(470px,calc(100vw - 32px));border:1px solid rgba(255,255,255,.18);border-radius:26px;padding:28px;background:linear-gradient(155deg,#fff 0%,#f8f5ff 100%);color:#211735;text-align:center;box-shadow:0 32px 100px rgba(0,0,0,.42)}
.cashback-gate-lock{width:72px;height:72px;margin:0 auto 14px;display:grid;place-items:center;border:1px solid #e5d8ff;border-radius:22px;background:#f4edff;font-size:35px;box-shadow:0 12px 28px rgba(97,64,168,.16)}
.cashback-gate-kicker{display:block;margin-bottom:6px;color:#7d56d6;font-size:10px;font-weight:950;letter-spacing:.16em}
.cashback-gate-modal h3{margin:0;font-size:25px;font-weight:950}
.cashback-gate-modal p{margin:12px 0 0;color:#635c70;line-height:1.55;font-size:14px}
.cashback-gate-modal p b{color:#281b3f}
.cashback-gate-modal label{display:block;margin:19px 0 7px;text-align:left;color:#4b3a68;font-size:11px;font-weight:950;letter-spacing:.08em}
.cashback-gate-modal input{width:100%;height:48px;border:1px solid #d9d2e7;border-radius:13px;background:#fff;padding:0 14px;color:#241936;outline:none;font-weight:800}
.cashback-gate-modal input:focus{border-color:#8d68e5;box-shadow:0 0 0 3px rgba(125,86,214,.13)}
.cashback-gate-error{min-height:19px;margin-top:8px;text-align:left;color:#c7374d;font-size:12px;font-weight:800}
.cashback-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cashback-gate-actions button{min-height:46px;border-radius:13px;font-weight:950;cursor:pointer}
.cashback-gate-cancel{border:1px solid #d8d2e2!important;background:#fff!important;color:#554c61!important}
.cashback-gate-enter{border:0!important;background:linear-gradient(135deg,#8d5ce5,#6943cd)!important;color:#fff!important;box-shadow:0 10px 24px rgba(105,67,205,.25)}
.cashback-gate-enter:disabled{opacity:.65;cursor:wait}



@media(max-width:640px){.cashback-gate-modal{padding:22px 18px}.cashback-gate-actions{grid-template-columns:1fr}}

/* Unified customer wheel list: exactly 2 or 4 columns, compact cards, vertical scroll when needed. */
.dynamic-game-tabs{box-sizing:border-box!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important;align-content:start!important;gap:6px!important;max-width:620px!important;max-height:132px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;-webkit-overflow-scrolling:touch;padding:5px!important}
.dynamic-game-tabs>button{box-sizing:border-box!important;min-width:0!important;min-height:57px!important;height:57px!important;padding:7px 24px 6px 7px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;border:0!important;border-radius:11px!important;background:transparent!important;color:#bdb4cf!important;font-size:10px!important;font-weight:900!important;letter-spacing:.055em!important;line-height:1!important;white-space:normal!important;box-shadow:none!important;position:relative!important;scroll-snap-align:start}
.dynamic-game-tabs>button>span{display:-webkit-box!important;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;text-align:center;line-height:1.12;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.dynamic-game-tabs .game-count-badge{display:inline-flex!important;align-items:center;justify-content:center;min-height:16px;padding:2px 6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.055);color:#8f849e;font-size:6px!important;font-weight:950!important;letter-spacing:.08em!important;line-height:1!important}
.dynamic-game-tabs .game-info-badge{cursor:pointer!important;min-width:0!important;max-width:100%!important;gap:3px!important;padding:2px 7px!important;color:#ffe078!important;border-color:rgba(255,224,120,.22)!important;background:rgba(255,224,120,.07)!important;white-space:nowrap!important;text-transform:none!important;letter-spacing:.035em!important}.dynamic-game-tabs .game-info-badge:hover{background:rgba(255,224,120,.14)!important;border-color:rgba(255,224,120,.38)!important}.dynamic-game-tabs>button.selected .game-info-badge{color:#4c2c17!important;border-color:rgba(55,25,10,.18)!important;background:rgba(255,255,255,.34)!important}
.dynamic-game-tabs>button.selected{color:#25113e!important;background:linear-gradient(135deg,#ffe184,#ffad2d)!important;box-shadow:0 6px 18px #0004!important}
.dynamic-game-tabs>button.selected .game-count-badge{color:#4c2c17!important;border-color:rgba(55,25,10,.16);background:rgba(255,255,255,.32)}
.dynamic-game-tabs>button.wheel-locked{opacity:.82!important;border:0!important;border-style:solid!important}
.dynamic-game-tabs>button.wheel-locked::after,.dynamic-game-tabs>.cashback-tab::after{content:"🔒"!important;display:block!important;position:absolute!important;right:6px!important;top:6px!important;margin:0!important;font-size:8px!important;line-height:1!important}
.dynamic-game-tabs>.cashback-tab{border:0!important;background:transparent!important;color:#bdb4cf!important;font-weight:900!important}
.dynamic-game-tabs>.cashback-tab:hover,.dynamic-game-tabs>button.wheel-locked:hover{background:rgba(255,255,255,.055)!important;color:#ddd3e8!important}
@media(max-width:430px){.dynamic-game-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;max-height:119px!important;padding:4px!important}.dynamic-game-tabs>button{min-height:53px!important;height:53px!important;padding:6px 21px 5px 6px!important;gap:3px!important;font-size:9px!important;letter-spacing:.04em!important}.dynamic-game-tabs .game-count-badge{min-height:15px;padding:2px 5px;font-size:5.5px!important}.dynamic-game-tabs>button.wheel-locked::after,.dynamic-game-tabs>.cashback-tab::after{right:6px!important;top:6px!important;font-size:8px!important}}

/* Supported Games: hidden behind compact ! count badge + viewport-safe list sheet */
.supported-games-sheet-backdrop{position:fixed!important;inset:0!important;z-index:2147482000!important;box-sizing:border-box!important;width:100vw!important;height:100dvh!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:rgba(7,4,13,.74)!important;backdrop-filter:blur(7px);transform:none!important}
.supported-games-sheet{position:relative!important;box-sizing:border-box!important;width:min(560px,calc(100vw - 36px))!important;max-width:100vw!important;max-height:min(760px,88dvh)!important;margin:0!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:25px!important;background:linear-gradient(155deg,#3d245a,#160d27 64%,#0d0917)!important;color:#fff!important;padding:18px!important;box-shadow:0 35px 100px #000c!important;transform:none!important}.sheet-handle{display:none;width:44px;height:4px;margin:0 auto 11px;border-radius:999px;background:rgba(255,255,255,.25)}
.supported-games-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 2px 15px;border-bottom:1px solid rgba(255,255,255,.12)}.supported-games-sheet header>div{min-width:0}.supported-games-sheet header span{color:#ffe078;font-size:8px;font-weight:950;letter-spacing:.15em}.supported-games-sheet header h3{margin:4px 0 2px;font-size:25px}.supported-games-sheet header small{color:#a99ab5;font-size:9px}.supported-games-sheet header>button{flex:none;width:34px;height:34px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:20px;cursor:pointer}
.supported-games-sheet-list{box-sizing:border-box;width:100%;max-height:520px;overflow:auto;overscroll-behavior:contain;display:grid;gap:7px;padding:12px 1px}.supported-games-sheet-list>div{box-sizing:border-box;width:100%;min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.045)}.supported-games-sheet-list i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(82,214,154,.14);color:#74e7b1;font-size:10px;font-style:normal;font-weight:950}.supported-games-sheet-list span{min-width:0;font-size:11px;font-weight:800;overflow-wrap:anywhere}.supported-games-sheet-list small{color:#756a80;font-size:8px;font-weight:900}.supported-games-sheet-close{box-sizing:border-box;width:100%;min-height:42px;margin-top:5px;border:0;border-radius:11px;background:linear-gradient(135deg,#ffe184,#ffad2d);color:#2d173d;font-size:9px;font-weight:950;letter-spacing:.12em;cursor:pointer}
@media(max-width:640px){html,body,#root{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.customer-page{box-sizing:border-box!important;width:100%!important;max-width:100vw!important;overflow-x:hidden!important;padding-left:8px!important;padding-right:8px!important}.unified-spin-experience{box-sizing:border-box!important;width:calc(100% - 4px)!important;max-width:calc(100vw - 16px)!important;margin-left:auto!important;margin-right:auto!important;padding-left:7px!important;padding-right:7px!important}.unified-spin-experience>.spin-shell,.os2-shell{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:4px!important;padding-right:4px!important}.game-tabs,.dynamic-game-tabs{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}.supported-games-sheet-backdrop{align-items:flex-end!important;justify-content:center!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;padding:0!important}.supported-games-sheet{width:100vw!important;max-width:100vw!important;max-height:88dvh!important;margin:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:24px 24px 0 0!important;padding:12px 12px max(14px,env(safe-area-inset-bottom))!important}.sheet-handle{display:block}.supported-games-sheet header h3{font-size:22px}.supported-games-sheet-list{max-height:62dvh}.supported-games-sheet-list>div{padding:9px 10px}.supported-games-sheet-list span{font-size:10px}}
@media(max-width:380px){.supported-games-sheet{padding-left:10px!important;padding-right:10px!important}}

/* Locked Freeplay wheel */
.wheel-lock-modal-backdrop{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;background:rgba(12,18,30,.55);backdrop-filter:blur(6px)}
.wheel-lock-modal{width:min(440px,calc(100vw - 32px));background:#fff;color:#172033;border-radius:24px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.32);text-align:center}
.wheel-lock-modal .lock-icon{width:68px;height:68px;border-radius:22px;margin:0 auto 14px;display:grid;place-items:center;background:#fff3d8;border:1px solid #f6d88b;font-size:34px}.wheel-lock-modal h3{margin:0;font-size:22px}.wheel-lock-modal p{margin:12px 0 0;color:#687184;line-height:1.55}.wheel-lock-modal .support-note{margin-top:16px;padding:13px 14px;border-radius:14px;background:#f6f7fb;color:#394155;font-weight:700}.wheel-lock-modal button{margin-top:20px;min-height:44px;padding:0 24px;border:0;border-radius:12px;background:#5868f2;color:#fff;font-weight:800;cursor:pointer}
.wheel-access-shell{position:relative}.wheel-access-shell.is-locked .wheel-wrap{filter:grayscale(.35) brightness(.78);opacity:.6}.wheel-access-cover{position:absolute;inset:0;z-index:4;display:grid;place-items:center;border-radius:24px;background:rgba(22,28,42,.28);cursor:pointer}.wheel-access-cover span{display:grid;place-items:center;width:86px;height:86px;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 12px 35px rgba(0,0,0,.22);font-size:40px}.spin-button.locked-spin{background:#6f7788!important;cursor:not-allowed!important}

/* Entry layout */
.customer-page.entry-centered{min-height:100svh!important;padding-top:max(36px, calc(58px + env(safe-area-inset-top)))!important;padding-bottom:max(36px, env(safe-area-inset-bottom))!important;place-items:center!important;display:grid!important;overflow:auto!important}.customer-page.entry-centered .spin-shell{margin:auto!important}.bonus-entry,.bonus-entry>div{margin-bottom:0}@media (width<=600px){.customer-page.entry-centered{padding-inline:10px!important;display:grid!important}.customer-page.entry-centered .spin-shell{width:100%!important;max-width:590px!important}}

/* Mobile dynamic centering: customer-facing statuses and text follow the real container width. */
@media(max-width:640px){
  .customer-page :where(.notice,.loading,.choose-wheel-note,.player-line,.spin-counter,.spin-terms-reminder,.bonus-player,.bonus-left,.result-card){
    box-sizing:border-box;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    overflow-wrap:anywhere;
    word-break:normal;
    text-wrap:balance;
  }
  .customer-page :where(.choose-wheel-note,.player-line,.spin-counter,.spin-terms-reminder,.bonus-player,.bonus-left){
    width:fit-content;
  }
  .customer-page :where(.player-line,.spin-counter,.bonus-player){
    justify-content:center!important;
    align-items:center!important;
  }
  .customer-page .spin-counter b{
    flex-basis:100%;
    width:auto!important;
    margin:4px auto 0!important;
    text-align:center!important;
  }
  .customer-page :where(.code-entry,.bonus-entry,.active-offer){
    box-sizing:border-box;
    width:100%!important;
    max-width:620px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  .customer-page :where(.code-entry label,.code-entry>small,.bonus-entry label,.bonus-entry small,.active-offer span,.active-offer h2,.active-offer p){
    display:block;
    width:100%;
    max-width:100%;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }
  .customer-page .cashback-gate-modal label,
  .customer-page .cashback-gate-error{
    text-align:center!important;
  }
  .dynamic-game-tabs>button{
    text-align:center!important;
    white-space:normal!important;
  }
  .dynamic-game-tabs>button>span{
    width:100%;
    max-width:100%;
    margin-inline:auto;
    text-align:center!important;
    line-height:1.15;
    white-space:normal!important;
    overflow:hidden;
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .dynamic-game-tabs .game-count-badge{
    margin-inline:auto;
    text-align:center!important;
  }
  .supported-games-sheet header{
    position:relative;
    justify-content:center!important;
    align-items:center!important;
    padding-left:42px!important;
    padding-right:42px!important;
    text-align:center!important;
  }
  .supported-games-sheet header>div{
    width:100%;
    text-align:center!important;
  }
  .supported-games-sheet header :where(span,h3,small){
    display:block;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center!important;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }
  .supported-games-sheet header>button{
    position:absolute;
    right:0;
    top:2px;
  }
  .supported-games-sheet-list>div{
    grid-template-columns:24px minmax(0,1fr) 28px;
  }
  .supported-games-sheet-list :where(span,small){
    text-align:center!important;
    overflow-wrap:anywhere;
  }
  .result-card :where(strong,small,code,p,.expiry,.fineprint){
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center!important;
    overflow-wrap:anywhere;
  }
}

.win-celebration-viewport{inset:auto!important;box-sizing:border-box;overflow:hidden;max-width:none!important;max-height:none!important;margin:0!important;padding:max(16px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;justify-content:center!important;align-items:center!important;place-items:center!important}
.win-celebration-viewport .win-popup{box-sizing:border-box;width:min(430px,calc(100% - 8px));max-width:430px;margin:auto}
@media(max-width:640px){.win-celebration-viewport .win-popup{width:min(360px,100%);max-width:100%;padding:26px 16px}.win-celebration-viewport .win-popup strong{font-size:clamp(30px,10vw,46px);overflow-wrap:anywhere}.win-celebration-viewport .fireworks{inset:0}}
@media(max-width:380px){.win-celebration-viewport{padding:max(12px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important}.win-celebration-viewport .win-popup{border-radius:20px;padding:22px 13px}.win-celebration-viewport .win-popup span{font-size:8px}.win-celebration-viewport .win-popup small{font-size:12px}}

.win-celebration-viewport{position:fixed!important;inset:0!important;left:0!important;top:0!important;width:100%!important;height:100dvh!important;min-height:100svh;max-width:none!important;max-height:none!important;overflow:hidden!important;box-sizing:border-box;contain:layout paint style;will-change:opacity}
.win-celebration-viewport .fireworks i{animation-iteration-count:1!important;will-change:transform,opacity}
.win-celebration-viewport .win-popup{pointer-events:none;transform:translateZ(0)}
.win-celebration-viewport .win-claim-note{max-width:330px;margin:14px auto 0;color:#ffe8a0;font-size:12px;font-weight:750;line-height:1.45;text-align:center;text-wrap:balance}
@media(max-width:640px){.win-celebration-viewport .win-claim-note{max-width:290px;margin-top:12px;font-size:11px;line-height:1.4}}
@media(max-width:380px){.win-celebration-viewport .win-claim-note{max-width:250px;font-size:10px}}

.supported-games-sheet{
  display:flex!important;
  flex-direction:column!important;
  max-height:min(760px,calc(100dvh - 36px))!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y!important;
  scrollbar-gutter:stable;
}
.supported-games-sheet header{
  flex:0 0 auto;
}
.supported-games-sheet-list{
  flex:0 0 auto!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  touch-action:pan-y!important;
}
.supported-games-sheet-close{
  flex:0 0 auto;
}
@media(max-width:640px){
  .supported-games-sheet{
    max-height:88dvh!important;
    overflow-y:auto!important;
    touch-action:pan-y!important;
  }
  .supported-games-sheet-list{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* Shared locked-wheel rules: previously duplicated/injected by bonus.js. */
.dynamic-bonus-tabs button.wheel-locked{opacity:.78;border-style:dashed}
.dynamic-bonus-tabs button.wheel-locked::after{content:" 🔒"}
.bonus-wheel-wrap.wheel-access-shell{position:relative}
.bonus-wheel-wrap.wheel-access-shell.is-locked .bonus-wheel{filter:grayscale(.35) brightness(.78);opacity:.6}
