/* Store PC shares the desktop header; these rules only handle catalog content. */
.store-route .shop-catalog-title, .store-route .shop-sort-label, .store-route .shop-card-name-suffix, .store-route .shop-card-title-pc-store { display: none; }
.store-route .shop-toolbar-left { display: contents; }

@media (min-width: 1024px) {
  body.store-route { --shop-width: 1600px; --shop-gutter: 80px; --shop-bg: #101014; --shop-text: #f1f1f5; --shop-muted: #a7a7b4; --shop-accent: #22b9ed; --shop-line: #2c2c35; min-width: 0; min-height: 100vh; min-height: 100dvh; color: var(--shop-text); background: var(--shop-bg); }
  .store-route .shop-page { width: min(var(--shop-width), calc(100% - var(--shop-gutter))); min-width: 0; margin: 0 auto; padding: 28px 0 36px; }
  .store-route .shop-page [hidden] { display: none !important; }
  .store-route .shop-search, .store-route .shop-categories { display: none; }
  .store-route :is(a, button, input, select, [tabindex]):focus-visible { outline: 2px solid #87dff8; outline-offset: 3px; }

  .store-route .shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid #2c2c34; }
  .store-route .shop-toolbar-left { display: flex; align-items: center; gap: 24px; min-width: 0; }
  .store-route .shop-catalog-title { display: block; flex: 0 0 auto; margin: 0; color: #f2f2f6; font-size: 22px; font-weight: 650; line-height: 1.35; }
  .store-route .shop-filter-open { min-height: 44px; gap: 8px; padding: 9px 14px; border: 1px solid #4a4a55; border-radius: 6px; background: transparent; color: #e5e5ed; }
  .store-route .shop-filter-open:hover { border-color: #9191a0; background: #22222a; }
  .store-route .shop-filter-open svg { width: 20px; height: 20px; }
  .store-route .shop-filter-dot { background: #51ceef; }
  .store-route .shop-sort { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; min-width: 0; min-height: 44px; margin-left: auto; border: 0; border-radius: 0; background: transparent; color: #ececf2; }
  .store-route .shop-sort-label { display: inline-flex; align-items: center; min-height: 44px; color: #aaaab7; font-size: 14px; line-height: 1.5; white-space: nowrap; }
  .store-route .shop-sort select { flex: 0 0 170px; width: 170px; min-width: 0; min-height: 44px; padding: 10px 36px 10px 15px; border: 1px solid #30303b; border-radius: 6px; background: #1a1a20; color: #ededf3; font-size: 14px; line-height: 1.5; }
  .store-route .shop-sort option { background: #1b1b23; color: #ededf3; }
  .store-route .shop-sort > svg { top: 11px; right: 11px; width: 21px; height: 21px; color: #d2d2dd; }
  .store-route .shop-sort-apply { min-height: 44px; margin: 0 0 0 4px; border-color: #555561; background: #23232c; color: #ededf3; }
  .store-route .shop-sort:has(noscript button) > svg { display: none; }
  .store-route .shop-filter-summary { margin: 0 0 18px; border-color: #41414e; border-radius: 7px; background: #1b1b23; color: #d0d0dc; font-size: 14px; }
  .store-route .shop-filter-summary > a { color: #dceef6; }

  .store-route .shop-catalog { min-width: 0; }
  .store-route .shop-game-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px 18px; align-items: stretch; min-width: 0; margin: 0; padding: 0; }
  .store-route .shop-game-card { position: relative; min-width: 0; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: none; }
  .store-route .shop-game-card:hover, .store-route .shop-game-card:focus-within { border: 0; background: transparent; box-shadow: none; }
  .store-route .shop-card-link { display: flex; flex-direction: column; min-width: 0; height: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; color: inherit; }
  .store-route .shop-card-link:focus-visible { outline: 2px solid #e5f8ff; outline-offset: -2px; }
  .store-route .shop-card-cover { position: relative; flex: 0 0 auto; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border: 0; border-radius: 6px; background: #25252d; }
  .store-route .shop-card-cover > picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
  .store-route .shop-card-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; transition: none; }
  .store-route .shop-card-link:hover .shop-card-cover img { filter: brightness(1.07); transform: none; }
  .store-route .shop-cover-fallback { background: linear-gradient(135deg, #2a2a36, #191920); color: #8e8e9f; }
  .store-route .shop-cover-fallback > svg { width: 32px; height: 32px; }
  .store-route .shop-cover-fallback > span { font-size: 12px; }
  .store-route .shop-card-discount { display: none; }
  .store-route .shop-card-info { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; margin: 0; padding: 9px 0 0; }
  .store-route .shop-card-info h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-width: 0; min-height: 2.8em; max-height: 2.8em; margin: 0; overflow: hidden; color: #ededf3; font-size: 15px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
  .store-route .shop-card-title-pc-store { display: inline; }
  .store-route .shop-card-title-desktop, .store-route .shop-card-title-mobile, .store-route .shop-card-platform { display: none; }
  .store-route .shop-card-name-suffix { display: block; margin: 4px 0 0; color: #aaaab7; font-size: 13px; line-height: 1.5; }
  .store-route .shop-card-meta { display: block; flex: 0 0 auto; min-width: 0; margin-top: 0; padding-top: 6px; }
  .store-route .shop-card-prices { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 3px 8px; min-width: 0; margin: 0; font-variant-numeric: tabular-nums; }
  .store-route .shop-card-price { color: #f1f1f5; font-size: 16px; font-weight: 650; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
  .store-route .shop-card-old-price, .store-route .shop-card-price-label { color: #a7a7b4; font-size: 13px; font-weight: 400; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
  .store-route .shop-card-price.is-free { color: #edf2ee; }
  .store-route .shop-card-price.is-reference { color: #d6d6e0; }
  .store-route .shop-card-price.is-unavailable { color: #a7a7b4; font-size: 14px; font-weight: 400; }

  .store-route .shop-empty { min-height: 220px; margin-top: 0; padding: 32px 24px; border-color: #353540; border-radius: 8px; background: #18181f; }
  .store-route .shop-empty .shop-empty-icon { color: #c9c9d5; }
  .store-route .shop-empty h2 { color: #ededf5; font-size: 22px; }
  .store-route .shop-empty p { color: #b1b1bf; font-size: 15px; }
  .store-route .shop-recovery { border-color: #5bd1f0; border-radius: 6px; background: #22b9ed; color: #0d1820; font-size: 14px; }
  .store-route .shop-recovery:hover { border-color: #a0ebff; background: #65d7f6; }
  .store-route .shop-page .shop-feed-footer { gap: 8px; min-height: 52px; padding: 18px 0 12px; }
  .store-route .shop-feed-status { color: #a8a8b6; font-size: 14px; line-height: 1.6; }
  .store-route .shop-feed-status:empty { display: none; }
  .store-route .shop-feed-status.is-error { color: #f2b8bd; }
  .store-route .shop-feed-spinner { width: 22px; height: 22px; border-color: #3c3c49; border-top-color: #dedee7; }
  .store-route .shop-feed-retry, .store-route .shop-page-next { min-height: 44px; padding: 10px 18px; border-color: #50505e; border-radius: 7px; background: #1b1b23; color: #e5e5ee; font-size: 14px; line-height: 1.5; }
  .store-route .shop-feed-retry:hover, .store-route .shop-page-next:hover { border-color: #a1a1b0; background: #292933; color: #fff; }
  .store-route .shop-feed-retry:disabled { opacity: .5; cursor: default; }

  .store-route .category-filter-sheet { border-color: #454550; border-radius: 12px; background: #18181f; color: #ededf5; }
  .store-route .category-filter-header > button:hover { background: #292932; }
  .store-route .category-filter-fieldset > legend { color: #b8b8c5; }
  .store-route .category-filter-options { scrollbar-color: #5b5b68 #18181f; }
  .store-route .category-filter-option { border-color: #3d3d49; background: #202028; color: #e6e6ee; }
  .store-route .category-filter-option:hover { border-color: #9797a6; }
  .store-route .category-filter-count { border-color: #41414f; background: #2b2b35; color: #bdbdca; }
  .store-route .category-filter-option > input[type="radio"] { border-color: #9292a1; color: #46cfed; }
  .store-route .category-filter-option > input[type="radio"]:checked { border-color: #5ed2f0; }
  .store-route .category-filter-option:has(input:checked) { border-color: #5ed2f0; background: #15313c; color: #f5fbff; }
  .store-route .category-filter-option:has(input:checked):hover { border-color: #a0ebff; }
  .store-route .category-filter-option:has(input:checked) .category-filter-count { border-color: #396373; background: #1c3c48; color: #c4eef7; }
  .store-route .category-filter-actions::before { background: #343440; }
  .store-route .category-filter-actions > button { border-color: #4a4a57; background: #22222b; color: #e0e0ea; }
  .store-route .category-filter-actions > button[type="submit"] { border-color: #59cff0; background: #22b9ed; color: #0d1820; }
  .store-route .category-filter-actions > button[type="submit"]:hover { border-color: #a0ebff; background: #63d6f6; }
  .store-route .category-filter-actions > button[type="button"]:hover:not(:disabled) { border-color: #9999a8; background: #30303a; }
  .store-route .category-filter-actions > button[type="button"]:disabled { border-color: #393945; background: #1a1a22; color: #898998; }
  .store-route .category-filter-sheet :is(button, input):focus-visible { outline-color: #87dff8; }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .store-route .shop-toolbar, .store-route .shop-toolbar-left { gap: 18px; }
  .store-route .shop-sort { gap: 10px; }
  .store-route .shop-game-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
