/* KambaPlay responsive system — shared by public, member and admin interfaces. */
.kp-mobile-nav{display:none}
html,body{max-width:100%;overflow-x:clip}
img,video,canvas,svg{max-width:100%}
iframe{max-width:100%;border:0}
button,input,select,textarea{max-width:100%}
.table-wrap,.table-responsive{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}

@media (max-width:960px){
  .bb-topbar-inner,.bb-quickbar-inner,.bb-user-layout{width:calc(100% - 20px)!important}
  .bb-brand-wrap{flex:1 1 auto!important;min-width:0!important;overflow:hidden}
  .bb-brand{min-width:0;overflow:hidden}
  .bb-account-actions{flex:0 0 auto;min-width:0!important}
  .bb-user-content,.user-page-container{width:100%;min-width:0}
  .bb-quickbar{max-width:100%;overflow:hidden}
  .bb-chip-row{overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
  .bb-chip{scroll-snap-align:start}
  .footer-grid,.footer-grid-v3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .auth-screen{min-height:auto!important;padding:24px 0 42px!important}
  .auth-card,.compact-auth-card{width:min(100%,520px)!important;margin-inline:auto!important}
  .prediction-layout,.pred-layout,.pred-grid,.predx-grid,.cmarket-grid,.traffic-pred-grid,
  .deposit-body-grid,.withdraw-grid,.checkout-vexi-grid{grid-template-columns:1fr!important}
  .prediction-sidebar,.pred-right-col,.predx-side,.cmarket-side,.traffic-pred-side{position:static!important;width:100%!important;max-width:none!important}
}

@media (max-width:760px){
  html{font-size:15px}
  body{min-width:0!important}
  .page-shell,.bb-public-shell,.user-shell,.admin-main,.content-body{min-width:0!important;max-width:100%!important}
  body.bullsbet-theme .container,.container,.prediction-page.container{width:100%!important;max-width:100%!important;padding-inline:10px!important;margin-inline:auto!important}

  /* Header remains usable at 320–430 px. */
  .bb-topbar-inner{width:calc(100% - 12px)!important;min-height:56px!important;gap:6px!important}
  .bb-brand-wrap{gap:5px!important}
  .bb-brand-image{width:auto!important;max-width:124px!important;height:34px!important}
  .bb-brand-mark{width:32px!important;height:32px!important;flex:0 0 32px}
  .bb-brand-copy strong{max-width:106px!important;font-size:14px!important}
  .bb-icon-btn{width:34px!important;height:34px!important;flex:0 0 34px}
  .bb-account-actions{gap:5px!important}
  .kamba-currency-toggle{display:none!important}
  .kamba-curr-pill{display:none!important;padding:6px 7px!important;font-size:10px!important}
  .kamba-curr-pill.is-active{display:inline-flex!important}
  .bb-login-btn{display:none!important}
  .bb-deposit-btn{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;justify-content:center!important;border-radius:15px!important}
  .bb-deposit-btn span,.bb-deposit-btn small{display:none!important}
  .bb-deposit-btn svg{width:16px!important;height:16px!important}
  .bb-user-menu .user-menu-panel{position:fixed!important;top:60px!important;left:10px!important;right:10px!important;width:auto!important;min-width:0!important;max-height:calc(100dvh - 76px);overflow:auto}

  .bb-quickbar-inner{width:calc(100% - 12px)!important}
  .bb-quick-promo{display:none!important}
  .bb-chip-row{width:100%;padding-block:4px}
  .bb-chip{min-height:34px;padding:6px 9px!important}

  /* Common typography, panels and actions. */
  h1{font-size:clamp(1.25rem,7vw,1.75rem)!important;overflow-wrap:anywhere}
  h2{font-size:clamp(1.05rem,5.5vw,1.4rem)!important;overflow-wrap:anywhere}
  h3{overflow-wrap:anywhere}
  body.bullsbet-theme .panel,.panel,.card,.settings-box,.checkout-vexi-card{padding:14px!important;border-radius:18px!important}
  .panel-head,.section-head,.page-intro,.slots-head,.checkout-head{gap:10px!important;flex-wrap:wrap!important}
  .panel-head>*, .section-head>*{min-width:0}
  .wrap-mobile,.inline-form,.topbar-mini-actions,.checkout-exact-actions{flex-wrap:wrap!important}
  .wrap-mobile>.btn,.inline-form>.btn{flex:1 1 140px}
  .toast[data-toast],.toast{left:10px!important;right:10px!important;top:68px!important;width:auto!important;max-width:none!important}

  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;min-width:0!important;font-size:16px!important}
  .form-grid,.grid-2,.grid-3,.grid.cols-2,.grid.cols-3,.filter-bar,.quick-links,
  .withdrawals-crypto-layout,.deposit-body-grid{grid-template-columns:1fr!important}
  .stats-grid,.compact-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}

  /* Games, predictions and roulette. */
  .slots-layout{width:100%!important;padding-inline:8px!important}
  .slots-hero{min-height:160px!important;padding:20px 16px!important}
  .slots-hero h1{font-size:24px!important}
  .slots-hero-art{display:none!important}
  .slots-category-bar,.casino-provider-rail{scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
  .slots-searchbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:8px!important}
  .slots-searchbar>svg{display:none}
  .slots-searchbar input{grid-column:1}
  .slots-searchbar button{grid-column:2}
  .slots-searchbar select{grid-column:1/-1!important;grid-row:2!important;width:100%!important;order:initial!important}
  .slots-game-grid,.slots-filtered-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .home-slots-grid,.dashboard-live-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  .home-live-slots-block,.home-ranking-panel{max-width:100%;overflow:hidden}
  .prediction-list-row{min-width:0!important}
  .prediction-list-info,.prediction-list-copy,.prediction-list-outcomes{min-width:0!important}
  .roleta-page,.roleta-home-normal-width,.roulette-shell,.roleta-shell{width:100%!important;max-width:100%!important;min-width:0!important}
  .roleta-page-heading{gap:10px!important}
  .roleta-page-heading-copy{min-width:0}

  /* Checkout, wallet and account pages. */
  .checkout-shell{width:100%!important;max-width:100%!important;padding:12px 8px 36px!important}
  .checkout-card,.checkout-exact-modal{width:100%!important;max-width:100%!important;padding:14px!important;border-radius:22px!important}
  .checkout-step-indicator{max-width:100%;overflow-x:auto;justify-content:flex-start!important}
  .checkout-step-indicator>*{flex:0 0 auto}
  .country-pills-grid,.methods-grid,.checkout-exact-grid,.checkout-quick-values{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .checkout-exact-bonus,.checkout-amount-box{align-items:flex-start!important;flex-direction:column!important}
  .checkout-exact-bonus-right{text-align:left!important}
  .checkout-exact-inputwrap{width:100%}
  .checkout-exact-inputwrap input{min-width:0!important;font-size:28px!important}
  .checkout-exact-icons{gap:14px!important;flex-wrap:wrap}
  .qr-preview,.qr-preview-lg,.checkout-exact-qr img,.checkout-qr-img{width:min(240px,100%)!important;height:auto!important}
  .pix-copy-field{word-break:break-all}
  .auth-popup-backdrop,.pwa-install-modal{padding:10px!important}
  .auth-popup-card,.pwa-install-modal-card{width:100%!important;max-width:430px!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important;padding:18px!important}
  .popup-phone-row{grid-template-columns:118px minmax(0,1fr)!important}

  /* Lists and tables scroll inside the viewport, never the body. */
  .table{min-width:600px!important}
  .table-wrap,.table-responsive{margin-inline:0!important;border-radius:16px}
  .ticket-thread,.message-bubble{max-width:100%!important;overflow-wrap:anywhere}
  .aff-user-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #affiliateLink{min-width:0!important}
  .footer-grid,.footer-grid-v3{grid-template-columns:1fr!important;gap:18px!important}
  footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}

  /* Reference-inspired persistent navigation for one-handed use. */
  body.bullsbet-theme{padding-bottom:68px!important}
  .kp-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:85;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:62px;padding:5px 5px max(5px,env(safe-area-inset-bottom));border-top:1px solid #30443a;background:rgba(10,14,12,.97);box-shadow:0 -12px 30px rgba(0,0,0,.45);backdrop-filter:blur(16px)}
  .kp-mobile-nav a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:#94a3b8;text-decoration:none;font-size:8px;font-weight:750;line-height:1.1}
  .kp-mobile-nav a svg{width:18px;height:18px}
  .kp-mobile-nav a.is-active,.kp-mobile-nav a:hover{background:rgba(27,189,86,.18);color:#a3e635}
  .pbx-chat-launcher{bottom:78px!important}
}

@media (max-width:430px){
  .bb-brand-image{max-width:104px!important;height:30px!important}
  .bb-topbar-inner{gap:4px!important}
  .stats-grid,.compact-stats-grid{grid-template-columns:1fr!important}
  .slots-game-grid,.slots-filtered-grid,.home-slots-grid,.dashboard-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .country-pills-grid,.methods-grid,.checkout-exact-grid,.checkout-quick-values,.aff-user-grid{grid-template-columns:1fr!important}
  .popup-phone-row{grid-template-columns:1fr!important}
  .prediction-list-outcomes{grid-template-columns:1fr 1fr!important}
  .auth-card,.compact-auth-card{padding:16px!important}
}

/* Admin mobile containment. */
@media (max-width:900px){
  body.admin-body,.admin-layout,.admin-main{width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:clip!important}
  .admin-sidebar{width:min(300px,88vw)!important;max-width:88vw!important}
  .content-body{width:100%!important;max-width:100%!important;padding:14px 10px 28px!important}
  .topbar{width:100%!important;padding:0 10px!important;gap:6px!important}
  .topbar-left{flex:1 1 auto!important;min-width:0!important;overflow:hidden}
  .topbar-breadcrumbs{min-width:0!important;overflow:hidden!important}
  .topbar-breadcrumbs .current{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-actions-right,.topbar-right{flex:0 0 auto!important;min-width:0!important;gap:5px!important}
  .search-command-btn{width:36px!important;min-width:36px!important;padding:0!important;justify-content:center!important}
  .search-command-btn span{display:none!important}
  .live-status-chip{display:none!important}
  .admin-main .panel,.admin-main .admin-card,.admin-main .settings-box,.admin-main .traffic-admin-box{width:100%!important;max-width:100%!important;min-width:0!important;padding:14px!important}
  .admin-main .grid-2,.admin-main .grid-3,.admin-main .grid.cols-2,.admin-main .grid.cols-3,
  .admin-main .form-grid,.admin-main .filter-bar,.admin-main .toggle-grid,.admin-main .theme-preset-grid{grid-template-columns:1fr!important}
  .admin-main [style*="grid-template-columns: repeat(4"],.admin-main [style*="grid-template-columns:repeat(4"],
  .admin-main [style*="grid-template-columns: repeat(5"],.admin-main [style*="grid-template-columns:repeat(5"],
  .admin-main [style*="grid-template-columns: repeat(6"],.admin-main [style*="grid-template-columns:repeat(6"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-main .panel-head,.admin-main .section-head{flex-wrap:wrap!important;align-items:flex-start!important}
  .admin-main .table{min-width:680px!important}
  .cmd-modal-backdrop{padding:10px!important}
  .cmd-box,.admin-modal-box,[role=dialog]{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow-y:auto!important}
}

@media (max-width:480px){
  .topbar-breadcrumbs>span:not(.current),.topbar-breadcrumbs>svg{display:none!important}
  .admin-main [style*="grid-template-columns: repeat(4"],.admin-main [style*="grid-template-columns:repeat(4"],
  .admin-main [style*="grid-template-columns: repeat(5"],.admin-main [style*="grid-template-columns:repeat(5"],
  .admin-main [style*="grid-template-columns: repeat(6"],.admin-main [style*="grid-template-columns:repeat(6"]{grid-template-columns:1fr!important}
  .quick-actions-grid{grid-template-columns:1fr!important}
}
