/* OpenByShop v6.53 — consolidated mobile layout.
   All rules are limited to <=900px. Desktop styles/assets and application logic are unchanged. */
@media (max-width: 900px) {
  :root { --obs-mobile-gold:#d6c35f; }
  html, body { width:100%; min-width:0 !important; max-width:100%; overflow-x:hidden; }
  body { background:#0a0d10; }
  .page-bg { background-position:center top !important; opacity:.72; }

  /* One fixed row: [OB] [currency + balance centered in the free space] [menu]. */
  .topbar {
    position:sticky !important;
    top:0;
    z-index:900;
    height:auto !important;
    min-height:72px !important;
    margin:0 !important;
    background:rgba(9,12,15,.96) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .topbar .shell,
  .topbar-inner {
    --obs-mobile-logo-size:60px;
    width:100% !important;
    max-width:none !important;
    height:72px !important;
    min-height:72px !important;
    margin:0 !important;
    padding:0 max(6px,env(safe-area-inset-right)) 0 max(6px,env(safe-area-inset-left)) !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:var(--obs-mobile-logo-size) minmax(0,1fr) 42px !important;
    grid-template-rows:1fr !important;
    align-items:center !important;
    gap:6px !important;
    direction:ltr !important;
    overflow:visible !important;
  }
  #brand-home.brand {
    grid-column:1 !important;
    grid-row:1 !important;
    order:initial !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:start !important;
    width:var(--obs-mobile-logo-size) !important;
    height:var(--obs-mobile-logo-size) !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    gap:0 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    text-decoration:none !important;
  }
  #brand-home.brand img {
    width:100% !important;
    height:100% !important;
    flex:0 0 100% !important;
    /* The source is wide: cover removes black side margins, not the OB mark. */
    object-fit:cover !important;
    object-position:center !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    opacity:1 !important;
  }
  #brand-home.brand > span { display:none !important; }
  .top-actions {
    grid-column:2 !important;
    grid-row:1 !important;
    order:initial !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    direction:ltr !important;
  }
  .top-actions #profile-button,
  .top-actions #header-login-button,
  .top-actions #header-logout-button,
  .top-actions #currency-button[hidden],
  .top-actions #header-balance[hidden],
  .top-actions [hidden] { display:none !important; }
  .top-actions #currency-button:not([hidden]) {
    order:1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    width:clamp(74px,22vw,94px) !important;
    min-width:0 !important;
    max-width:none !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 5px !important;
    border:1px solid rgba(214,195,95,.56) !important;
    border-radius:9px !important;
    background:rgba(214,195,95,.035) !important;
    color:#eceff2 !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .top-actions #currency-button::before { content:none !important; display:none !important; }
  .top-actions #currency-button:not([hidden])::after {
    content:"▾";
    margin-left:4px;
    color:#aeb5bb;
    font-size:10px;
  }
  .top-actions #header-balance:not([hidden]) {
    order:2 !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:100% !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 8px !important;
    gap:5px !important;
    border:1px solid rgba(214,195,95,.56) !important;
    border-radius:9px !important;
    background:rgba(214,195,95,.035) !important;
  }
  .top-actions #header-balance::before {
    content:"" !important;
    display:block !important;
    flex:0 0 17px !important;
    width:17px !important;
    height:16px !important;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='16' viewBox='0 0 18 16'%3E%3Cg fill='none' stroke='%23d8b24a' stroke-width='1.25'%3E%3Cellipse cx='7' cy='5' rx='4.6' ry='2.1' fill='%23c99727'/%3E%3Cpath d='M2.4 5v3.1c0 1.16 2.06 2.1 4.6 2.1s4.6-.94 4.6-2.1V5' fill='%23b9841e'/%3E%3Cellipse cx='11.2' cy='8.6' rx='4.4' ry='2' fill='%23e0b64a'/%3E%3Cpath d='M6.8 8.6v2.9c0 1.1 1.97 2 4.4 2s4.4-.9 4.4-2V8.6' fill='%23c99727'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
  }
  .top-actions #header-balance > span { display:none !important; }
  .top-actions #header-balance > b {
    min-width:0 !important;
    margin:0 !important;
    transform:none !important;
    color:#e5c66b !important;
    font-size:clamp(11px,3.1vw,14px) !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    font-variant-numeric:tabular-nums;
  }
  #mobile-menu-button.mobile-menu-button {
    grid-column:3 !important;
    grid-row:1 !important;
    order:initial !important;
    justify-self:end !important;
    position:relative !important;
    inset:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(214,195,95,.56) !important;
    border-radius:9px !important;
    background:rgba(214,195,95,.035) !important;
    color:#e5c66b !important;
    font-size:24px !important;
    line-height:1 !important;
    z-index:1003 !important;
  }

  /* Drawer */
  body.mobile-menu-open::before {
    content:"";
    position:fixed;
    inset:0;
    z-index:991;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .nav {
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    z-index:1002 !important;
    width:min(84vw,350px) !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:calc(18px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom)) !important;
    box-sizing:border-box !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:6px !important;
    background:linear-gradient(180deg,#151a1f 0%,#0e1216 100%) !important;
    border-left:1px solid rgba(255,255,255,.10) !important;
    box-shadow:-18px 0 50px rgba(0,0,0,.45) !important;
    transform:translateX(104%) !important;
    visibility:hidden !important;
    transition:transform .22s ease,visibility 0s linear .22s !important;
  }
  body.mobile-menu-open .nav {
    transform:translateX(0) !important;
    visibility:visible !important;
    transition:transform .22s ease !important;
  }
  .nav .mobile-drawer-head {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin:0 0 8px !important;
    padding:0 0 14px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }
  .mobile-drawer-player {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    min-width:0 !important;
  }
  .mobile-drawer-avatar {
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    border-radius:50% !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }
  .mobile-drawer-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; }
  .mobile-drawer-player-copy { min-width:0 !important; display:flex !important; flex-direction:column !important; gap:2px !important; }
  .mobile-drawer-player-copy strong { color:#f1f3f5 !important; font-size:15px !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
  .mobile-drawer-player-copy small { color:rgba(232,236,240,.48) !important; font-size:11px !important; overflow:hidden !important; text-overflow:ellipsis !important; }
  .mobile-drawer-wallet {
    cursor:pointer !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"label" "balance" !important;
    justify-items:center !important;
    text-align:center !important;
    align-items:center !important;
    gap:2px 10px !important;
    padding:11px 12px !important;
    border:1px solid rgba(214,195,95,.25) !important;
    border-radius:10px !important;
    background:rgba(214,195,95,.055) !important;
  }
  .mobile-drawer-wallet > span { grid-area:label; color:rgba(232,236,240,.56) !important; font-size:11px !important; }
  .mobile-drawer-wallet > strong { grid-area:balance; color:#f1dd69 !important; font-size:18px !important; }
  .mobile-drawer-wallet > small { display:none !important; }
  .nav > button[data-view],
  .nav > a.nav-external-link,
  .nav .more-links-button {
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
    border:1px solid transparent !important;
    border-radius:9px !important;
    background:transparent !important;
    color:#d9dee3 !important;
    text-align:left !important;
    font-size:14px !important;
    text-decoration:none !important;
    box-shadow:none !important;
  }
  .nav [hidden],
  .nav #admin-nav-button[hidden],
  #admin-nav-button[hidden] { display:none !important; }
  .nav > button[data-view].active {
    color:#f0dc69 !important;
    background:rgba(214,195,95,.07) !important;
    border-color:rgba(214,195,95,.22) !important;
    box-shadow:none !important;
  }
  .nav > button[data-view].active::after { display:none !important; }
  .nav-link-icon { width:18px !important; height:18px !important; flex:0 0 18px !important; }
  .more-links-wrap { width:100% !important; }
  .more-links-menu { position:static !important; width:100% !important; margin-top:4px !important; box-shadow:none !important; }
  .mobile-drawer-logout {
    display:flex !important;
    width:100% !important;
    min-height:44px !important;
    margin-top:auto !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:9px !important;
    background:rgba(255,255,255,.035) !important;
    color:#dfe3e7 !important;
  }
  html.obs-mobile-drawer-locked { overflow:hidden !important; }
  body.obs-mobile-drawer-locked {
    position:fixed !important;
    top:var(--obs-mobile-drawer-top,0) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    overflow:hidden !important;
  }

  /* Main / desktop hero adapted for mobile */
  main.main,
  .main {
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 10px 24px !important;
    box-sizing:border-box !important;
  }
  #application-view,
  #shop-view { margin:0 !important; padding:0 !important; }
  /* Text is live HTML over the existing text-free forest image.
     Auto height lets the full subtitle wrap instead of clipping the artwork. */
  #shop-view .hero {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    width:100% !important;
    height:auto !important;
    min-height:clamp(162px,43vw,196px) !important;
    aspect-ratio:auto !important;
    margin:0 !important;
    padding:18px clamp(16px,5vw,28px) !important;
    overflow:hidden !important;
    border:1px solid rgba(214,195,95,.32) !important;
    border-radius:10px !important;
    background-image:linear-gradient(90deg,rgba(4,8,12,.72) 0%,rgba(4,8,12,.2) 68%,rgba(4,8,12,.05) 100%),url('/assets/openbyshop-v11-bg.png') !important;
    background-size:cover !important;
    background-position:center 42% !important;
    background-repeat:no-repeat !important;
    box-shadow:none !important;
    filter:none !important;
  }
  #shop-view .hero::before,
  #shop-view .hero::after,
  #shop-view .hero-logo,
  #shop-view .hero-features { display:none !important; content:none !important; }
  #shop-view .hero-copy {
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  #shop-view .hero-copy > .eyebrow {
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    color:#a7afb6 !important;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important;
    font-size:clamp(10px,2.9vw,13px) !important;
    font-weight:800 !important;
    letter-spacing:.2em !important;
    line-height:1.4 !important;
    text-align:left !important;
    opacity:1 !important;
    text-shadow:0 2px 5px #000 !important;
  }
  #shop-view .hero-copy h1 {
    display:block !important;
    width:auto !important;
    margin:3px 0 7px !important;
    padding:0 !important;
    color:#a4afb8 !important;
    -webkit-text-fill-color:currentColor !important;
    -webkit-text-stroke:0 !important;
    background:none !important;
    font-family:"Arial Black","Segoe UI",system-ui,sans-serif !important;
    font-size:clamp(46px,14vw,64px) !important;
    font-weight:900 !important;
    line-height:1 !important;
    letter-spacing:.025em !important;
    text-align:left !important;
    text-shadow:0 3px 8px rgba(0,0,0,.7) !important;
    filter:none !important;
  }
  #shop-view .hero-copy > p {
    display:block !important;
    width:auto !important;
    max-width:25em !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    color:#b0b9c1 !important;
    font-family:system-ui,-apple-system,"Segoe UI",sans-serif !important;
    font-size:clamp(12px,3.35vw,14px) !important;
    font-weight:400 !important;
    letter-spacing:normal !important;
    line-height:1.4 !important;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    overflow-wrap:break-word !important;
    -webkit-line-clamp:unset !important;
    text-shadow:0 2px 5px #000 !important;
  }

  #shop-view .content-grid {
    display:block !important;
    width:100% !important;
    margin:4px 0 0 !important;
    padding:0 !important;
  }
  #shop-view .catalog-panel {
    width:100% !important;
    margin:0 !important;
    padding:12px 10px 14px !important;
    box-sizing:border-box !important;
    border-radius:10px !important;
    border-top:1px solid rgba(255,255,255,.09) !important;
  }
  #shop-view .sidebar { display:none !important; }
  #shop-view .panel-title { gap:8px !important; align-items:center !important; justify-content:center !important; text-align:center !important; }
  #shop-view .panel-title h2 { width:100% !important; text-align:center !important; font-size:20px !important; line-height:1.15 !important; margin:0 !important; }
  .rate-state { display:none !important; }

  /* Search + horizontal categories */
  .catalog-player-search-wrap { margin:10px 0 9px !important; }
  .catalog-player-search {
    height:42px !important;
    border-radius:8px !important;
    font-size:16px !important;
    background:rgba(5,7,9,.72) !important;
  }
  .category-tabs {
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:6px !important;
    width:calc(100% + 20px) !important;
    margin:0 -10px 10px !important;
    padding:0 10px 5px !important;
    box-sizing:border-box !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x proximity !important;
  }
  .category-tabs::-webkit-scrollbar { display:none !important; }
  .category-tabs button {
    flex:0 0 auto !important;
    min-height:34px !important;
    padding:0 11px !important;
    border-radius:7px !important;
    white-space:nowrap !important;
    font-size:11px !important;
    scroll-snap-align:start !important;
  }

  /* Product cards: two columns */
  #catalog.product-grid {
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  #catalog.product-grid > .product-card {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    overflow:hidden !important;
    border-radius:9px !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .product-image {
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:0 !important;
  }
  .product-image .product-photo,
  .product-photo { width:100% !important; height:100% !important; object-fit:cover !important; }
  .product-body {
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    padding:7px !important;
  }
  #catalog .product-body h3 {
    min-height:2.4em !important;
    margin:0 0 4px !important;
    font-size:clamp(10.5px,3.1vw,12px) !important;
    line-height:1.2 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  .product-body > p {
    min-height:2.7em !important;
    margin:0 0 7px !important;
    font-size:9.5px !important;
    line-height:1.35 !important;
    color:rgba(232,236,240,.64) !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }
  .weapon-gift-badge {
    width:100% !important;
    margin:0 0 6px !important;
    padding:4px 6px !important;
    font-size:9px !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .product-foot {
    margin-top:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
    align-items:stretch !important;
  }
  #catalog .product-price { font-size:clamp(12px,3.5vw,14px) !important; line-height:1.1 !important; white-space:nowrap !important; }
  .product-foot .product-buy,
  .product-foot .gold-button {
    width:100% !important;
    min-height:40px !important;
    padding:0 8px !important;
    border-radius:7px !important;
    font-size:12px !important;
  }

  /* Compact pagination */
  .catalog-pagination {
    display:grid !important;
    grid-template-columns:44px 1fr 44px !important;
    align-items:center !important;
    gap:8px !important;
    margin:12px 0 0 !important;
  }
  .catalog-pagination[hidden] { display:none !important; }
  .catalog-page-nav {
    width:44px !important;
    min-width:44px !important;
    height:40px !important;
    padding:0 !important;
    border-radius:8px !important;
  }
  .catalog-page-numbers {
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:4px !important;
    min-width:0 !important;
  }
  .catalog-page-number {
    width:28px !important;
    min-width:28px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 !important;
    border-radius:7px !important;
    font-size:11px !important;
    line-height:36px !important;
  }
  .catalog-page-dots {
    width:10px !important;
    min-width:10px !important;
    font-size:11px !important;
  }
  .catalog-page-summary { display:none !important; }

  /* Product modal */
  .modal { padding:10px !important; box-sizing:border-box !important; }
  .modal-card {
    width:min(100%,520px) !important;
    max-width:520px !important;
    max-height:calc(100dvh - 20px) !important;
    overflow-y:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    border-radius:12px !important;
  }
  .modal-visual {
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    max-height:46dvh !important;
  }
  .modal-product-photo { width:100% !important; height:100% !important; object-fit:cover !important; }
  .modal-copy { padding:14px !important; }
  .modal-copy h2 { font-size:21px !important; line-height:1.12 !important; margin:4px 0 7px !important; }
  .modal-copy > p { font-size:12px !important; line-height:1.45 !important; }
  .modal-purchase-options { grid-template-columns:1fr !important; gap:8px !important; }
  .modal-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
  .modal-actions .gold-button,
  .modal-actions .ghost-button { width:100% !important; min-height:44px !important; }

  /* Inner pages */
  .page-panel {
    width:100% !important;
    margin:10px 0 0 !important;
    padding:14px 11px !important;
    box-sizing:border-box !important;
    border-radius:11px !important;
  }
  .page-head { gap:10px !important; align-items:flex-start !important; flex-wrap:wrap !important; }
  .page-head h2 { font-size:20px !important; }
  .account-grid,
  .history-grid,
  .admin-grid,
  .admin-dashboard-grid,
  .admin-tool-grid,
  .admin-users-grid,
  .admin-balance-grid,
  .admin-order-grid {
    grid-template-columns:1fr !important;
  }
  .account-box,
  .admin-card,
  .admin-tool-panel { min-width:0 !important; }
  .topup-provider,
  .topup-ticket,
  .topup-ticket-actions,
  .admin-tool-head,
  .history-column-head,
  .system-section-head,
  .system-log-head,
  .admin-editor-actions {
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  .topup-provider-button,
  .topup-ticket-button { width:100% !important; text-align:center !important; }

  /* Admin tables/forms must fit small screens */
  .admin-screen,
  .admin-tool-panel { max-width:100% !important; overflow-x:hidden !important; }
  .admin-input,
  input,
  select,
  textarea { max-width:100% !important; box-sizing:border-box !important; }
  .admin-search-row { display:grid !important; grid-template-columns:1fr !important; gap:7px !important; }
  .admin-search-row .gold-button { width:100% !important; }
  .admin-product-row,
  .admin-order-row,
  .admin-user-row,
  .operation-row,
  .order-row { max-width:100% !important; }

  /* Currency popover */
  .currency-popover {
    z-index:1100 !important;
    max-width:calc(100vw - 24px) !important;
  }

  /* Footer: compact vertical layout */
  .site-footer { margin-top:18px !important; padding:18px 0 calc(18px + env(safe-area-inset-bottom)) !important; }
  .site-footer-inner {
    width:100% !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:12px !important;
    text-align:center !important;
  }
  .footer-brand { justify-content:center !important; }
  .footer-brand img { width:38px !important; height:38px !important; }
  .footer-brand small { font-size:9px !important; }
  .footer-copyright,
  .footer-legal,
  .footer-social { align-items:center !important; justify-content:center !important; text-align:center !important; }
  .footer-features-row {
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:8px !important;
    padding-top:12px !important;
  }
  .footer-trust-row { padding-left:12px !important; padding-right:12px !important; gap:6px !important; }

  /* v6.56 cumulative mobile fixes */
  .nav .mobile-home-nav { display:block !important; }

  /* Every weapon advertises the already-existing two-magazine bonus in the mobile catalog. */
  .weapon-gift-badge {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:22px !important;
    width:100% !important;
    margin:0 0 6px !important;
    padding:3px 6px !important;
    border:1px solid rgba(216,162,61,.34) !important;
    border-radius:6px !important;
    background:rgba(216,162,61,.08) !important;
    color:var(--gold2) !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  #product-modal .modal-weapon-gift:not([hidden]) {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:34px !important;
    margin:2px 0 8px !important;
    padding:7px 10px !important;
    border:1px solid rgba(216,162,61,.38) !important;
    border-radius:7px !important;
    background:rgba(216,162,61,.09) !important;
    color:var(--gold2) !important;
    font-size:11px !important;
    font-weight:850 !important;
    line-height:1.2 !important;
  }

  /* With Save removed, Buy occupies the whole action row. */
  #product-modal .modal-actions { grid-template-columns:1fr !important; }
  #product-modal .modal-actions #modal-buy { width:100% !important; }

  /* Keep real numbered page buttons visible; never fall back to a text summary. */
  .catalog-page-numbers { display:flex !important; visibility:visible !important; opacity:1 !important; }
  .catalog-page-number { display:inline-flex !important; align-items:center !important; justify-content:center !important; }
  .catalog-page-summary { display:none !important; }
}

@media (max-width: 380px) {
  .topbar .shell,
  .topbar-inner {
    --obs-mobile-logo-size:56px;
    gap:4px !important;
  }
  .top-actions { gap:4px !important; }
  .top-actions #currency-button:not([hidden]) { width:74px !important; font-size:11px !important; }
  .top-actions #header-balance:not([hidden]) { padding:0 5px !important; gap:4px !important; }
  .top-actions #header-balance::before { flex-basis:15px !important; width:15px !important; }
}
@media (max-width: 319px) {
  #catalog.product-grid { grid-template-columns:1fr !important; }
}


/* v6.57 — configurable product gift in admin */
.admin-product-gift-text-field.is-disabled { opacity:.58; }
.admin-product-gift-text-field.is-disabled .admin-input { cursor:not-allowed; }
.admin-product-gift-switch { margin-top:16px; }
#account-view #logout-button { width:max-content; max-width:100%; }
@media (max-width:900px) {
  #account-view #logout-button { width:100%; }
  #product-modal .modal-weapon-gift:not([hidden]) { justify-content:center !important; text-align:center !important; }
  #catalog .weapon-gift-badge { justify-content:center !important; text-align:center !important; }
}
