/* Palette overrides only. Header, bottom navigation and all catalog geometry live elsewhere. */
@media (forced-colors: none) {
  body.storefront-theme .category-filter-sheet { border-color: #454550; background: #18181c; color: #f1f1f5; }
  body.storefront-theme .category-filter-handle { background: #686875; }
  body.storefront-theme .category-filter-header h2 { color: #f1f1f5; }
  body.storefront-theme .category-filter-header > button { color: #d2d2dd; }
  body.storefront-theme .category-filter-header > button:hover { background: #292932; color: #fff; }
  body.storefront-theme .category-filter-fieldset > legend { color: #b8b8c5; }
  body.storefront-theme .category-filter-options { scrollbar-color: #5b5b68 #18181c; }
  body.storefront-theme .category-filter-option { border-color: #3d3d49; background: #202028; color: #e6e6ee; }
  body.storefront-theme .category-filter-option:hover { border-color: #9797a6; }
  body.storefront-theme .category-filter-count { border-color: #41414f; background: #2b2b35; color: #bdbdca; }
  body.storefront-theme .category-filter-option > input[type="radio"] { border-color: #9292a1; color: #46cfed; }
  body.storefront-theme .category-filter-option > input[type="radio"]:checked { border-color: #5ed2f0; }
  body.storefront-theme .category-filter-option:has(input:checked) { border-color: #5ed2f0; background: #15313c; color: #f5fbff; }
  body.storefront-theme .category-filter-option:has(input:checked):hover { border-color: #a0ebff; }
  body.storefront-theme .category-filter-option:has(input:checked) .category-filter-count { border-color: #396373; background: #1c3c48; color: #c4eef7; }
  body.storefront-theme .category-filter-actions::before { background: #343440; }
  body.storefront-theme .category-filter-actions > button { border-color: #4a4a57; background: #22222b; color: #e0e0ea; }
  body.storefront-theme .category-filter-actions > button[type="submit"] { border-color: #59cff0; background: #22b9ed; color: #0d1820; }
  body.storefront-theme .category-filter-actions > button[type="submit"]:hover { border-color: #a0ebff; background: #63d6f6; }
  body.storefront-theme .category-filter-actions > button[type="button"]:hover:not(:disabled) { border-color: #9999a8; background: #30303a; }
  body.storefront-theme .category-filter-actions > button[type="button"]:disabled { border-color: #393945; background: #1a1a22; color: #898998; }
  body.storefront-theme .category-filter-sheet :is(button, input):focus-visible { outline-color: #8ee1fc; }
}

@media (max-width: 1023px) and (forced-colors: none) {
  body.storefront-theme.home-route {
    --mobile-bg: #101014;
    --mobile-surface: #18181c;
    --mobile-text: #f1f1f5;
    --mobile-muted: #b1b1bd;
    --mobile-accent: #22b9ed;
    --mobile-line: #34343d;
  }
  body.storefront-theme.store-route {
    --shop-bg: #101014;
    --shop-text: #f1f1f5;
    --shop-muted: #b1b1bd;
    --shop-accent: #22b9ed;
    --shop-line: #34343d;
  }
  body.storefront-theme.game-detail-route {
    --game-bg: #101014;
    --game-surface: #18181c;
    --game-border: #34343d;
    --game-text: #f1f1f5;
    --game-muted: #b1b1bd;
    --game-accent: #22b9ed;
    --shop-bg: #101014;
    --shop-text: #f1f1f5;
    --shop-muted: #b1b1bd;
    --shop-accent: #22b9ed;
    --shop-line: #34343d;
  }
  body.storefront-theme:is(.home-route, .store-route, .game-detail-route) main :is(a, button, input, select, summary, [tabindex]):focus-visible { outline-color: #8ee1fc; }

  /* Homepage: shared mobile/tablet content and catalog controls. */
  body.storefront-theme.home-route .mobile-home-search { border-color: #444450; background: #18181c; }
  body.storefront-theme.home-route .mobile-home-search:focus-within { border-color: #22b9ed; }
  body.storefront-theme.home-route .mobile-home-search input { color: #f1f1f5; }
  body.storefront-theme.home-route .mobile-home-search input::placeholder { color: #a1a1af; }
  body.storefront-theme.home-route :is(.mobile-favorite-art, .home-game-artwork, .mobile-spotlight-slide) { background: #24242d; }
  body.storefront-theme.home-route :is(.mobile-favorite, .home-game-card, .home-games-empty, .mobile-empty, .mobile-home-offer) { border-color: #34343d; background: #18181c; }
  body.storefront-theme.home-route :is(.mobile-favorite:hover, .home-game-card:hover) { border-color: #627582; background: #202027; }
  body.storefront-theme.home-route .home-game-card:focus-within { border-color: #8ee1fc; }
  body.storefront-theme.home-route :is(.home-game-fallback, .mobile-art-fallback) { background: #24242d; color: #8e8e9f; }
  body.storefront-theme.home-route :is(.mobile-product-price strong, .all-games-section .home-game-price strong) { color: #f1f1f5; }
  body.storefront-theme.home-route :is(.mobile-product-price .is-free, .all-games-section .home-game-price .is-free) { color: #a2dfbd; }
  body.storefront-theme.home-route :is(.mobile-product-price .is-reference, .all-games-section .home-game-price .is-reference) { color: #d6d6e0; }
  body.storefront-theme.home-route .all-games-section .home-game-price .is-unavailable { color: #b1b1bd; }
  body.storefront-theme.home-route :is(.home-game-discount, .mobile-home-filter:not(.category-filter-sheet) button[type="submit"], .home-spotlight-cta, .home-retry) { border-color: #43c7f1; background: #22b9ed; color: #10151b; box-shadow: none; }
  body.storefront-theme.home-route :is(.mobile-spotlight-slide:hover .home-spotlight-cta, .home-retry:hover) { border-color: #9ce5ff; background: #69d3f7; color: #10151b; box-shadow: none; }
  body.storefront-theme.home-route .mobile-spotlight-pages span { background: #474752; }
  body.storefront-theme.home-route .mobile-spotlight-pages button[aria-current="true"] span { background: #22b9ed; }
  body.storefront-theme.home-route .mobile-category.is-selected::after { background: #22b9ed; }
  body.storefront-theme.home-route :is(.mobile-category:hover, .mobile-section-heading > a:hover, .mobile-empty a, .home-games-empty a, .home-view-all) { color: #81dbf9; }
  body.storefront-theme.home-route .home-view-all:hover { color: #b7edff; }
  body.storefront-theme.home-route .mobile-home-offer > svg { fill: #22b9ed; stroke: #22b9ed; }
  body.storefront-theme.home-route .mobile-home-offer > svg circle { fill: #18181c; }
  body.storefront-theme.home-route .mobile-home-offer:hover { border-color: #627582; background: #202027; }
  body.storefront-theme.home-route :is(.mobile-filter-toggle, .mobile-filter-summary, .home-carousel-arrow, .shop-feed-retry) { border-color: #4a4a56; background: #18181c; color: #dedee7; }
  body.storefront-theme.home-route :is(.mobile-filter-toggle:hover, .home-carousel-arrow:hover:not(:disabled), .shop-feed-retry:hover) { border-color: #81dbf9; background: #24242d; color: #b7edff; }
  body.storefront-theme.home-route .home-carousel-page[aria-current="true"]::before { background: #22b9ed; }
  body.storefront-theme.home-route .home-carousel-page:hover::before { background: #81dbf9; }
  body.storefront-theme.home-route .home-load-failure { border-color: #34343d; background: #18181c; }
  body.storefront-theme.home-route .shop-feed-status:not(.is-error) { color: #b1b1bd; }
  body.storefront-theme.home-route .mobile-home-filter:not(.category-filter-sheet) { border-color: #454550; background: #18181c; color: #f1f1f5; }
  body.storefront-theme.home-route .mobile-home-filter:not(.category-filter-sheet) select { border-color: #4a4a56; background: #101014; color: #f1f1f5; }

  /* Store controls and cards keep their existing responsive grid and image ratios. */
  body.storefront-theme.store-route :is(.shop-search, .shop-filter-open, .shop-sort, .shop-filter-summary, .shop-empty, .shop-game-card) { border-color: #34343d; background: #18181c; }
  body.storefront-theme.store-route :is(.shop-search:focus-within, .shop-page.is-loading .shop-search) { border-color: #22b9ed; }
  body.storefront-theme.store-route .shop-search input::placeholder { color: #a1a1af; }
  body.storefront-theme.store-route :is(.shop-search-submit:hover, .shop-search-clear:hover, .shop-filter-open:hover) { border-color: #627582; background: #24242d; color: #f1f1f5; }
  body.storefront-theme.store-route .shop-sort option { background: #18181c; color: #f1f1f5; }
  body.storefront-theme.store-route :is(.shop-game-card:hover, .shop-game-card:focus-within) { border-color: #627582; background: #202027; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-card-cover { background: #24242d; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-cover-fallback { background: linear-gradient(135deg, #2a2a36, #191920); color: #8e8e9f; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-card-discount { border-color: #3b6a7b; background: #14313c; color: #bcefff; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-card-price { color: #f1f1f5; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-card-price.is-free { color: #a2dfbd; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-card-price.is-reference { color: #d6d6e0; }
  body.storefront-theme:is(.store-route, .game-detail-route) .shop-card-price.is-unavailable { color: #b1b1bd; }
  body.storefront-theme.store-route :is(.shop-recovery, .shop-filter-dialog:not(.category-filter-sheet) .shop-filter-actions > button) { border-color: #43c7f1; background: #22b9ed; color: #10151b; }
  body.storefront-theme.store-route .shop-recovery:hover { border-color: #9ce5ff; background: #69d3f7; color: #10151b; }
  body.storefront-theme.store-route :is(.shop-feed-retry, .shop-page-next, .shop-sort-apply, .shop-filter-fallback button) { border-color: #50505d; background: #24242b; color: #f1f1f5; }
  body.storefront-theme.store-route :is(.shop-feed-retry:hover, .shop-page-next:hover) { border-color: #91919e; background: #30303a; color: #fff; }
  body.storefront-theme.store-route .shop-feed-status:not(.is-error) { color: #b1b1bd; }
  body.storefront-theme.store-route .shop-feed-spinner { border-color: #3c3c49; border-top-color: #dedee7; }
  body.storefront-theme.store-route :is(.shop-filter-dialog:not(.category-filter-sheet), .shop-filter-fallback) { border-color: #454550; background: #18181c; color: #f1f1f5; }
  body.storefront-theme.store-route :is(.shop-filter-dialog:not(.category-filter-sheet) select, .shop-filter-fallback select) { border-color: #4a4a56; background: #101014; color: #f1f1f5; }

  /* Game detail: preserve the cinematic layout, native media and purchase/status behavior. */
  body.storefront-theme.game-detail-route .game-cinematic-hero { background: radial-gradient(ellipse at 70% 20%, #2b323a, #101014 76%); }
  body.storefront-theme.game-detail-route .game-cinematic-hero::after { background: linear-gradient(180deg, #04070b75, transparent 32%), linear-gradient(90deg, #05080b78, transparent 76%), linear-gradient(0deg, #101014 0%, #101014eb 10%, #10101478 32%, transparent 72%); }
  body.storefront-theme.game-detail-route .game-product-price > span { border-color: #3b6a7b; background: #14313c; color: #bcefff; }
  body.storefront-theme.game-detail-route .game-product-sale-note { color: #b5dce9; }
  body.storefront-theme.game-detail-route .game-edition-trigger { border-color: #4b4b58; background: #202027; color: #f1f1f5; }
  body.storefront-theme.game-detail-route :is(.game-edition-trigger:hover, .game-edition-trigger[aria-expanded="true"]) { border-color: #8ee1fc; background: #272730; }
  body.storefront-theme.game-detail-route .game-edition-trigger:disabled { border-color: #4b4b58; background: #202027; }
  body.storefront-theme.game-detail-route :is(.game-edition-fallback select, .game-edition-fallback button) { border-color: #4b4b58; background: #202027; color: #f1f1f5; }
  body.storefront-theme.game-detail-route :is(.game-edition-fallback + p a, .game-cinematic-support a, .game-product-unavailable a, .game-product-content-nav > a:hover, .game-steam-source, .game-designed-content a) { color: #81dbf9; }
  body.storefront-theme.game-detail-route :is(.game-edition-dialog, .game-gallery-dialog, .game-dialog-heading) { border-color: #454550; background: #18181c; color: #f1f1f5; }
  body.storefront-theme.game-detail-route .game-dialog-heading button { border-color: #50505d; background: #24242d; color: #f1f1f5; }
  body.storefront-theme.game-detail-route :is(.game-product-expand:hover, .game-product-gallery-nav:hover) { border-color: #8ee1fc; background: #25252e; }
  body.storefront-theme.game-detail-route .game-product-thumbnails { scrollbar-color: #565663 #18181c; }
  body.storefront-theme.game-detail-route .game-product-thumbnails button { border-color: #41414c; background: #24242d; }
  body.storefront-theme.game-detail-route .game-product-thumbnails :is(button.is-active, button[aria-pressed="true"]) { border-color: #22b9ed; }
  body.storefront-theme.game-detail-route .game-product-thumbnail-video::before { border-color: #d5d5e0; background: #101014e0; color: #fff; }
  body.storefront-theme.game-detail-route .game-product-edition { border-color: #43434f; background: #202028; color: #d5d5df; }
  body.storefront-theme.game-detail-route :is(.game-product-edition.is-selected, .game-product-edition:has(input:checked)) { border-color: #52c9f0; background: #14313c; }
  body.storefront-theme.game-detail-route .game-product-edition:focus-within { outline-color: #8ee1fc; }
  body.storefront-theme.game-detail-route .game-product-edition > input { accent-color: #22b9ed; }
  body.storefront-theme.game-detail-route .game-product-edition > b { background: #1c3c48; color: #c4eef7; }
  body.storefront-theme.game-detail-route .game-designed-content blockquote { border-color: #22b9ed; background: #16313b; color: #d1eaf3; }
  body.storefront-theme.game-detail-route .game-product-empty > span { border-color: #3b6a7b; background: #14313c; color: #bcefff; }
  body.storefront-theme.game-detail-route .game-product-buy { border-color: #43c7f1; background: #22b9ed; color: #10151b; }
  body.storefront-theme.game-detail-route .game-product-buy:hover { border-color: #9ce5ff; background: #69d3f7; color: #10151b; }
  body.storefront-theme.game-detail-route .game-product-add { border-color: #555561; background: #24242b; color: #f1f1f5; }
  body.storefront-theme.game-detail-route .game-product-add:hover { border-color: #a4a4b1; background: #30303a; }
  body.storefront-theme.game-detail-route .game-cinematic-buybar { border-color: #34343d; background: #18181cf5; }
  body.storefront-theme.game-detail-route .game-product-action-status.is-error { color: #ffb2b7; }
  body.storefront-theme.game-detail-route .game-product-action-status.is-success { color: #a2dfbd; }
}

@media (max-width: 767px) and (forced-colors: none) {
  body.storefront-theme.home-route .all-games-section .home-game-card { background: transparent; }
  body.storefront-theme.game-detail-route .game-cinematic-hero::after { background: linear-gradient(180deg, #04070b58, transparent 32%), linear-gradient(90deg, #06090d20, transparent 75%), linear-gradient(0deg, #101014 0%, #101014f0 12%, #10101475 39%, transparent 76%); }
}
