/* Shared controls and pagination; mobile rules follow the legacy storefront CSS. */
.mobile-bottom-nav,.transaction-cards,.deposit-cards{display:none}
.account-menu{position:relative}
.account-menu .dropdown{max-height:min(70vh,650px);overflow-y:auto;overscroll-behavior:contain}
.account-menu summary,.dropdown a,.dropdown .text-button{min-height:44px}
.contact-strip a{display:inline-flex;align-items:center;color:inherit;text-decoration:underline;text-underline-offset:3px}
.pagination-summary{margin:20px 0 12px;color:#b7d3e8;font-size:13px}
.pagination{display:grid;gap:12px;justify-items:center;margin:16px 0 8px}
.pagination-directions{display:flex;justify-content:center;gap:12px;width:100%;flex-wrap:wrap}
.pagination [aria-disabled=true]{opacity:.45;cursor:default}
.pagination-numbers{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.pagination-numbers>a,.pagination-numbers>[aria-current]{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #628eaf;border-radius:7px}
.pagination-numbers>[aria-current]{background:#9de6ff;color:#123653;font-weight:700}
.pagination small{color:#b7d3e8}
#catalog-results,#transaction-history,#deposit-history{scroll-margin-top:16px}
.feature-unavailable{padding:24px;border:1px solid #547b9c;border-radius:9px;background:#1a3657;line-height:1.7}
.feature-unavailable h2{margin-top:0}
.feature-unavailable p{color:#b7d3e8}
.catalog-search .search-input input{width:100%;flex:1;border:0;background:transparent;box-shadow:none}
.member-panel,.auth-card,.game-detail-panel{overflow-wrap:anywhere}
.announcement img,.help-list img{max-width:100%;height:auto}
.game-caption,.launch-title-form{min-width:0}
.game-title,.game-caption>a{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.4}
.favorite{min-width:44px;min-height:44px}
.stack-form input:not([type=submit]),.stack-form select,.transaction-filters select,.catalog-search input,.catalog-search select{font-size:16px}
:where(a,button,input,select,summary):focus-visible{outline:3px solid #b5eeff;outline-offset:3px}
@media(max-width:650px){
  body{font-size:16px}
  .has-mobile-navigation{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .contact-strip{min-height:32px;gap:20px;white-space:normal;overflow:visible;font-size:11px;padding:0 12px}
  .contact-strip a{min-height:32px}
  .demo-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;font-size:10px;padding:5px 10px;letter-spacing:.6px}
  .demo-strip>span:last-child{display:inline;margin:0;font-size:11px;letter-spacing:0}
  .site-header{min-height:64px;padding:10px 12px 0;gap:10px;flex-wrap:wrap;overflow:visible;position:relative;z-index:10}
  .logo{flex-shrink:0}
  .logo img{width:96px}
  .mobile-menu{display:none}
  .header-actions{display:flex;align-items:center;gap:10px;margin-left:auto;min-width:0}
  .header-balance{display:grid;gap:2px;min-height:44px;align-content:center;max-width:125px;overflow-wrap:anywhere}
  .header-balance small{font-size:11px}
  .header-balance strong{font-size:13px;line-height:1.4}
  .account-menu summary{display:flex;align-items:center;gap:4px;padding:0 3px;min-width:44px}
  .account-menu summary>span:nth-child(2){display:none}
  .account-menu .dropdown{position:absolute;right:0;top:calc(100% + 10px);width:270px;max-width:calc(100vw - 24px);max-height:60vh;z-index:30;background:#163657;box-shadow:0 10px 25px #03112499}
  .dropdown a,.dropdown .text-button{display:flex;align-items:center;width:100%;padding:10px 16px;font-size:14px}
  .register-link{display:flex;align-items:center;min-height:44px;font-size:14px}
  .category-nav{display:flex!important;order:4;flex:0 0 100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;gap:4px;align-self:auto;padding:2px 0 6px;scrollbar-width:thin;overscroll-behavior-x:contain}
  .category-nav>a{flex:0 0 auto;min-height:44px;padding:0 12px;font-size:14px;white-space:nowrap}
  .category-nav .active:after{bottom:0}
  .mobile-bottom-nav{position:fixed;z-index:40;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px max(8px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid #477598;background:#102d4ff5;box-shadow:0 -4px 16px #00182b50}
  .mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;min-width:0;font-size:11px;line-height:1.3;color:#b3d0e8;border-radius:8px}
  .mobile-bottom-nav a>span{font-size:23px;line-height:1}
  .mobile-bottom-nav a[aria-current]{background:#28557b;color:#c7f2ff;font-weight:700}
  .hero{padding-bottom:44px}
  .hero-track{aspect-ratio:1920/425;overflow:visible}
  .hero-slide img{object-fit:contain}
  .hero-track:after{display:none}
  .hero-dots{bottom:-44px;height:44px;gap:0;align-items:center;background:#0b2a4e}
  .hero-dots button,.hero-dots button.active{width:40px;height:44px;border-radius:0;background:transparent;display:grid;place-items:center}
  .hero-dots button:after{content:'';display:block;width:14px;height:4px;border-radius:4px;background:#7e9ebd}
  .hero-dots button.active:after{width:28px;background:#b7f0ff}
  .catalog-section{padding:24px 12px 16px}
  .home-rail .section-heading{padding:0;margin-bottom:14px}
  .home-rail .section-heading h1{font-size:20px}
  .home-rail .game-grid{gap:14px}
  .home-rail .game-card{flex:0 0 160px}
  .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .game-card{position:relative}
  .game-caption{font-size:14px;line-height:1.4;margin-top:10px}
  .game-title,.game-caption>a{font-size:14px;white-space:normal;display:block;-webkit-line-clamp:unset;overflow:visible;line-height:1.4;min-height:44px}
  .game-caption>.button_to{position:absolute;top:7px;right:7px}
  .favorite{border-radius:50%;background:#0b2949eb;border:1px solid #8fb8d1;color:#deefff;font-size:24px;line-height:1}
  .favorite.selected{color:#ffb8d0}
  .catalog-search{gap:10px}
  .catalog-search .search-input{padding:0 12px;min-height:48px}
  .catalog-search select{flex:1;max-width:calc(100% - 80px)}
  .catalog-search .button{min-width:70px}
  .provider-tabs{gap:8px;scrollbar-width:thin}
  .provider-tabs a{display:flex;align-items:center;min-height:44px;padding:8px 14px;font-size:13px}
  .member-shell{margin:18px auto;padding:0 12px;gap:16px}
  .member-sidebar{min-width:0}
  .member-sidebar nav{scrollbar-width:thin;overscroll-behavior-x:contain}
  .member-sidebar nav>a{min-height:48px;padding:12px 16px;font-size:13px}
  .member-panel{min-width:0;width:100%;padding:20px 16px;min-height:300px}
  .panel-heading{align-items:flex-start;gap:12px;margin-bottom:24px}
  .panel-heading h1{font-size:23px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
  .subtle-badge{font-size:9px}
  .member-panel h2{font-size:20px;line-height:1.4;overflow-wrap:anywhere}
  .member-panel p,.game-detail-panel p{line-height:1.7}
  input:not([type=submit]),select{font-size:16px;min-height:48px;min-width:0;width:100%;line-height:1.4}
  .stack-form label,.transaction-filters label{font-size:14px}
  input[type=submit],.button{min-height:46px;line-height:1.4;white-space:normal;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:14px}
  button,summary{touch-action:manipulation}
  .amount-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .amount-presets button{min-width:0;min-height:44px;font-size:14px;padding:8px}
  .transaction-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .transaction-filters label{min-width:0}
  .transaction-filters>.button{grid-column:1/-1}
  .transaction-table-wrap,.deposit-table-wrap{display:none}
  .transaction-cards,.deposit-cards{display:grid;gap:14px}
  .transaction-card{background:#1b3958;border:1px solid #557590;border-radius:10px;padding:16px;min-width:0}
  .transaction-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:#d5e8fa}
  .transaction-card-heading strong{font-size:18px}
  .status-pill{font-size:11px;line-height:1.5;white-space:normal}
  .transaction-card dl{display:grid;gap:12px;margin:16px 0 0;font-size:14px}
  .transaction-card dl>div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px}
  .transaction-card dt{color:#a8c9e2}
  .transaction-card dd{margin:0;overflow-wrap:anywhere;line-height:1.5}
  .transaction-card .transaction-amount{padding-top:12px;border-top:1px solid #41627d}
  .transaction-amount dd{font-size:18px;font-weight:700}
  .deposit-cards .button{width:100%;margin-top:18px}
  .pagination-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pagination-directions .button{padding:10px 6px;font-size:13px}
  .pagination-summary{font-size:13px;line-height:1.5}
  .balance-card{padding:18px;gap:16px}
  .balance-card .icon-button{min-width:44px;min-height:44px}
  .balance-links{gap:10px}
  .section-heading{flex-wrap:wrap;gap:10px}
  .section-heading>a{display:flex;align-items:center;min-height:44px;font-size:13px}
  .info-note{font-size:14px;padding:14px;line-height:1.7;overflow-wrap:anywhere}
  .muted{line-height:1.6}
  .add-account>summary{min-height:48px;font-size:14px;cursor:pointer}
  .profile-summary{align-items:flex-start;min-width:0}
  .profile-summary>div{min-width:0}
  .profile-summary h2{overflow-wrap:anywhere}
  .auth-scene{padding:24px 12px;min-height:0}
  .auth-card{padding:24px 20px}
  .auth-card h1{font-size:23px;line-height:1.4}
  .auth-card>.muted{font-size:14px}
  .auth-tabs>a{min-height:44px;display:grid;place-items:center}
  .qris-checkout{margin:18px 12px;width:auto;padding:20px 16px}
  .qris-checkout .panel-heading{flex-wrap:wrap}
  .qris-checkout .button{width:100%}
  .qris-image{margin:20px 0}
  .game-detail-panel .button{width:100%;margin-top:12px}
  .game-detail-panel .info-note{text-align:left}
  .feature-unavailable{padding:20px 16px}
  .help-list summary{font-size:16px;min-height:44px;line-height:1.5;cursor:pointer}
  .help-list p{font-size:14px;line-height:1.7}
  .promotion-card p,.general-deposit p{font-size:14px;line-height:1.6}
  .promotion-card dl{font-size:13px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .promotion-card dd{text-align:right;overflow-wrap:anywhere}
  .pending-deposit p{overflow-wrap:anywhere}
  .site-footer{font-size:13px;line-height:1.6;padding:24px 16px 0}
  .footer-links{flex-wrap:wrap;gap:4px 16px}
  .footer-links a{display:flex;align-items:center;min-height:44px}
  .footer-bottom{font-size:11px;flex-wrap:wrap}
  .flash{margin:12px;padding:14px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
}
