/*
Theme Name: VGNW Oyunmarkt
Theme URI: https://oyunmarkt.com
Author: VIDEO GAMES NETWORK
Description: Açık tema, isteğe bağlı koyu mod ve oyun odaklı WooCommerce mağazası.
Version: 0.11.9
Requires at least: 7.0
Requires PHP: 8.5
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vgnw-oyunmarkt
*/

@font-face {
    font-family: "DM Sans";
    src: url(assets/fonts/DMSans-Regular.ttf) format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "DM Sans";
    src: url(assets/fonts/DMSans-Bold.ttf) format("truetype");
    font-style: normal;
    font-weight: 600 800;
    font-display: swap;
}

/* All UI surfaces share these tokens, including WooCommerce and plugin pages. */
:root {
    color-scheme: light;
    --om-bg: #f7f7f7;
    --om-surface: #fff;
    --om-raised: #f0f0f0;
    --om-text: #171717;
    --om-muted: #6b6b6b;
    --om-border: #e5e5e5;
    --om-accent: #171717;
    --om-accent-hover: #383838;
    --om-soft: #eeeeee;
    --om-shadow: 0 8px 24px #1717170b;
    --om-font: "DM Sans", sans-serif;
    --om-page-width: 1360px;
    --om-page-gutter: 32px;
    --wp--preset--color--base: var(--om-bg);
    --wp--preset--color--surface: var(--om-surface);
    --wp--preset--color--contrast: var(--om-text);
    --wp--preset--color--muted: var(--om-muted);
    --wp--preset--color--line: var(--om-border);
    --wp--preset--color--accent: var(--om-accent);
    --wp--preset--color--accent-strong: var(--om-accent-hover);
    --wp--preset--color--accent-soft: var(--om-soft);
    --vgnw-accent-soft: var(--om-soft);
}
html[data-om-theme="dark"] {
    color-scheme: dark;
    --om-bg: #101010;
    --om-surface: #191919;
    --om-raised: #242424;
    --om-text: #f2f2f2;
    --om-muted: #ababab;
    --om-border: #333333;
    --om-accent: #eeeeee;
    --om-accent-hover: #ffffff;
    --om-soft: #252525;
    --om-shadow: 0 8px 24px #0002;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--om-bg); color: var(--om-text); font: 14px/1.6 var(--om-font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--om-accent); }
img { max-width: 100%; height: auto; vertical-align: middle; }
button, input, select, textarea { font: inherit; }
button, summary { cursor: pointer; }
button { color: inherit; }
button:disabled { opacity: .6; cursor: not-allowed; }
input, select, textarea { background: var(--om-surface); color: var(--om-text); border: 1px solid var(--om-border); border-radius: 6px; padding: 10px 12px; max-width: 100%; }
input::placeholder, textarea::placeholder { color: var(--om-muted); }
input:focus, select:focus, textarea:focus { border-color: var(--om-accent); }
:focus-visible { outline: 2px solid var(--om-accent); outline-offset: 4px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-family: var(--om-font); font-weight: 700; line-height: 1.3; letter-spacing: -.025em; color: var(--om-text); }
h1 { font-size: clamp(27px, 3vw, 38px); }
h2 { font-size: 23px; }
h3 { font-size: 17px; }
p { color: var(--om-muted); }
hr { border: 0; border-top: 1px solid var(--om-border); }
.wp-site-blocks, .wp-site-blocks > *, .wp-block-template-part { margin-block-start: 0; }
.vgnw-site-header > * { margin-block-start: 0 !important; }
/* Keep the current content visible until the router has prepared the next page's CSS and data. */
html::before { content: ""; position: fixed; inset: 0 0 auto; height: 3px; z-index: 100000; background: var(--om-text); transform: scaleX(0); transform-origin: left; pointer-events: none; }
html[data-om-navigation="loading"]::before { animation: om-navigation-progress 8s ease-out forwards; }
html[data-om-navigation="complete"]::before { transform: scaleX(1); }
html[data-om-navigation="loading"] main { cursor: progress; }
@keyframes om-navigation-progress { from { transform: scaleX(.08); } to { transform: scaleX(.9); } }
@media (prefers-reduced-motion: reduce) { html[data-om-navigation="loading"]::before { animation: none; transform: scaleX(.65); } }
/* Every page uses the same outer grid as the header and footer. */
.om-container, .om-content-shell, .om-product-shell, .vgnw-main.is-layout-constrained,
body .vgnw-om-marketplace, body .vgnw-om-streamer-profile, body .vgnw-om-streamer-donation {
    width: min(var(--om-page-width), calc(100% - 2 * var(--om-page-gutter)));
    max-width: var(--om-page-width);
    margin-inline: auto;
}
.vgnw-main.is-layout-constrained { padding-inline: 0 !important; }
.vgnw-main.is-layout-constrained > :where(.wp-block-post-title, .wp-block-post-date, .wp-block-post-featured-image, .wp-block-post-content, .wp-block-query-title, .wp-block-query, .wp-block-search) { max-width: none; margin-inline: 0; }
.om-icon { display: inline-block; width: 21px; height: 21px; fill: currentColor; flex: 0 0 auto; vertical-align: middle; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; margin: -1px; padding: 0; border: 0; }
.vgnw-skip-link { position: fixed; top: -100px; left: 12px; z-index: 999999; padding: 12px 18px; background: var(--om-accent); color: #fff; }
.vgnw-skip-link:focus { top: 12px; }
.om-button, .wp-element-button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
    display: inline-flex; justify-content: center; align-items: center; gap: 10px; padding: 11px 18px;
    border: 1px solid transparent; border-radius: 6px; background: var(--om-accent); color: #fff;
    font-size: 13px; font-weight: 700; line-height: 1.5; text-decoration: none;
}
.om-button:hover, .wp-element-button:hover, .wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--om-accent-hover); color: #fff; }
html[data-om-theme="dark"] :is(.om-button, .wp-element-button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button) { color: #121212; }
.om-text-link { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; }
.om-text-link .om-icon { width: 16px; height: 16px; }
.om-eyebrow { font-size: 11px; color: var(--om-muted); letter-spacing: .08em; margin-bottom: 8px; }

/* Compact store navigation. The preference control is available on every page. */
.vgnw-site-header, .om-header-main, .om-nav-border { background: var(--om-surface); }
.om-topbar { background: var(--om-raised); font-size: 11px; color: var(--om-muted); }
.om-topbar .om-container { display: flex; align-items: center; justify-content: space-between; min-height: 31px; }
.om-topbar nav { display: flex; align-items: center; gap: 23px; }
.om-topbar nav span { border-left: 1px solid var(--om-border); padding-left: 20px; }
.om-header-main { display: flex; align-items: center; gap: 36px; min-height: 91px; }
.om-brand { display: inline-flex; align-items: baseline; font-family: var(--om-font); font-size: 31px; line-height: 1; font-weight: 800; letter-spacing: -1.7px; color: var(--om-text); flex: 0 0 auto; }
.om-brand:hover { color: var(--om-text); }
.om-brand > span { color: var(--om-accent); }
.om-brand > i { width: 6px; height: 6px; margin-left: 2px; background: var(--om-accent); }
.om-search { display: flex; align-items: center; gap: 11px; flex: 1; min-width: 0; border: 1px solid var(--om-border); border-radius: 7px; background: var(--om-bg); padding-left: 15px; }
.om-search > .om-icon { color: var(--om-muted); width: 19px; height: 19px; }
.om-search input { width: 100%; min-width: 0; height: 45px; border: 0; background: transparent; padding: 0; font-size: 13px; }
.om-search button { border: 0; background: transparent; color: var(--om-muted); height: 45px; width: 45px; flex-shrink: 0; }
.om-search button:hover { color: var(--om-accent); }
.om-header-actions { display: flex; align-items: center; gap: 19px; flex-shrink: 0; }
.om-account, .om-cart { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; min-width: 32px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.om-cart { padding-left: 19px; border-left: 1px solid var(--om-border); }
.om-mode-toggle { display: none; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--om-border); border-radius: 50%; background: var(--om-surface); }
html[data-om-theme] .om-mode-toggle { display: grid; }
.om-mode-toggle:hover { background: var(--om-raised); }
.om-mode-filled { display: none; }
html[data-om-theme="dark"] .om-mode-filled { display: flex; }
html[data-om-theme="dark"] .om-mode-outline { display: none; }
.om-nav-border { border-block: 1px solid var(--om-border); }
.om-nav-row { position: relative; display: flex; align-items: center; gap: 28px; min-height: 49px; }
.om-game-menu { flex-shrink: 0; }
.om-game-menu summary { display: flex; align-items: center; gap: 9px; min-height: 49px; padding-right: 25px; font-size: 12px; font-weight: 700; border-right: 1px solid var(--om-border); list-style: none; }
summary::-webkit-details-marker { display: none; }
.om-game-menu summary > .om-icon:first-child { color: var(--om-accent); width: 18px; height: 18px; }
.om-game-menu summary > .om-icon:last-child { width: 13px; height: 13px; margin-left: 12px; }
.vgnw-mobile-navigation nav { position: absolute; top: 100%; left: 0; z-index: 50; width: 250px; padding: 8px; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 0 0 8px 8px; box-shadow: var(--om-shadow); }
.vgnw-mobile-navigation nav a { display: flex; justify-content: space-between; align-items: center; padding: 9px 11px; border-radius: 4px; font-size: 13px; }
.vgnw-mobile-navigation nav a:hover { background: var(--om-raised); }
.om-primary { display: flex; gap: 31px; align-items: center; }
.om-primary a { font-size: 12px; font-weight: 700; padding-block: 14px; }
.om-order-link { margin-left: auto; display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--om-muted); }
.om-order-link .om-icon { width: 17px; height: 17px; }
.vgnw-mobile-navigation { display: none; position: relative; }

/* One game takes the stage; named controls make the remaining slides discoverable. */
.om-spotlight { margin: 25px 0 31px; overflow: hidden; border: 1px solid var(--om-border); border-radius: 11px; background: var(--om-surface); }
.om-spotlight-stage { position: relative; height: 390px; touch-action: pan-y; }
.om-spotlight-slide { position: relative; height: 100%; background: #111; isolation: isolate; overflow: hidden; }
.om-spotlight[data-om-carousel-ready] .om-spotlight-slide:not([hidden]) { animation: om-spotlight-reveal .22s ease-out; }
@keyframes om-spotlight-reveal { from { opacity: .55; } to { opacity: 1; } }
.om-spotlight-slide[hidden] { display: none; }
.om-spotlight-slide > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 67% center; }
.om-spotlight-slide::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#111 0%,#111111e8 21%,#111111a1 40%,#11111100 74%); }
.om-spotlight-slide--league-of-legends > img { object-position: 75% 40%; }
.om-spotlight-slide--minecraft > img { object-position: 68% 45%; }
.om-spotlight-copy { padding: 43px 51px 46px; width: 55%; }
.om-spotlight-tag { display: inline-block; padding-left: 11px; border-left: 3px solid #eeeeee; color: #e6e6e6; font-size: 10px; letter-spacing: .1em; font-weight: 700; }
.om-spotlight-copy h2 { margin: 19px 0 15px; color: #fff; font-size: clamp(35px,4.4vw,61px); letter-spacing: -.045em; line-height: 1.02; }
.om-spotlight-copy p { max-width: 295px; margin: 0 0 27px; color: #cecece; font-size: 13px; line-height: 1.65; }
.om-spotlight-cta { display: inline-flex; align-items: center; gap: 25px; background: #fff; color: #111; padding: 12px 16px; border-radius: 5px; font-size: 12px; font-weight: 700; }
.om-spotlight-cta:hover { background: #ededed; color: #111; }
.om-spotlight-cta .om-icon { width: 18px; height: 18px; }
.om-spotlight-edition { position: absolute; right: 25px; bottom: 23px; color: #fff9; font-size: 9px; letter-spacing: .16em; }
.om-spotlight-controls { display: none; align-items: stretch; justify-content: space-between; border-top: 1px solid var(--om-border); }
.om-spotlight[data-om-carousel-ready] .om-spotlight-controls { display: flex; }
.om-spotlight-picks { display: flex; flex: 1; min-width: 0; }
.om-spotlight-pick { position: relative; display: flex; align-items: center; gap: 12px; padding: 15px 22px; min-width: 0; border: 0; border-right: 1px solid var(--om-border); background: transparent; text-align: left; flex: 1; }
.om-spotlight-pick::before { content: ""; position: absolute; inset: -1px 0 auto; height: 3px; background: transparent; }
.om-spotlight-pick[aria-pressed="true"]::before { background: var(--om-accent); }
.om-spotlight-pick[aria-pressed="true"], .om-spotlight-pick:hover { background: var(--om-bg); }
.om-spotlight-pick:focus-visible { outline-offset: -4px; }
.om-spotlight-pick .om-game-visual { width: 43px; height: 43px; border-radius: 5px; flex-shrink: 0; opacity: .6; }
.om-spotlight-pick[aria-pressed="true"] .om-game-visual { opacity: 1; }
.om-spotlight-pick strong { display: block; font-size: 12px; line-height: 1.4; }
.om-spotlight-pick small { display: block; color: var(--om-muted); font-size: 10px; margin-top: 3px; }
.om-spotlight-arrows { display: flex; align-items: center; gap: 8px; padding: 15px 22px; }
.om-spotlight-arrows > span { color: var(--om-muted); font-size: 11px; margin-right: 13px; font-variant-numeric: tabular-nums; }
.om-spotlight-arrows button { display: grid; place-items: center; width: 35px; height: 35px; padding: 0; border: 1px solid var(--om-border); border-radius: 50%; background: var(--om-surface); }
.om-spotlight-arrows button:hover { background: var(--om-raised); }
.om-spotlight-arrows .om-icon { width: 17px; height: 17px; }
.om-arrow-back .om-icon { transform: rotate(180deg); }

/* Familiar store shelves remain immediately below the game spotlight. */
.om-home { padding-bottom: 45px; }
.om-section { margin-top: 29px; }
.om-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 17px; }
.om-section-heading h2 { margin: 0; font-size: 20px; }
.om-games-section { margin-top: 13px; }
.om-games-section .om-section-heading h2 { font-size: 13px; font-weight: 400; color: var(--om-muted); letter-spacing: 0; }
.om-game-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 15px; }
.om-game-card { display: block; min-width: 0; text-align: center; }
.om-game-card > strong { display: block; margin-top: 10px; font-size: 11px; white-space: nowrap; font-weight: 700; }
.om-game-card > span:last-child { display: block; margin-top: 1px; font-size: 10px; color: var(--om-muted); }
.om-game-visual { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--game-color); isolation: isolate; }
.om-game-card .om-game-visual { aspect-ratio: 1/1.05; border-radius: 8px; box-shadow: 0 2px 4px #161b2510; transition: transform .18s ease, box-shadow .18s ease; }
.om-game-card:hover .om-game-visual { transform: translateY(-3px); box-shadow: 0 6px 15px #161b2522; }
.om-game-visual > img { width: 100%; height: 100%; object-fit: cover; }
.om-game-visual--valorant > img { object-position: 59% center; }
.om-game-visual--league-of-legends > img { object-position: 60% center; }
.om-game-visual--minecraft > img { object-position: 56% center; }
.om-game-visual--brand > img { width: 53%; height: 53%; object-fit: contain; filter: brightness(0) invert(1); }
.om-game-visual--razer-gold > img { filter: invert(80%) sepia(85%) saturate(612%) hue-rotate(44deg); }
.om-card-brand-name { position: absolute; left: 17px; bottom: 17px; color: #fff; font-size: 15px; font-weight: 700; }
.om-card-denomination { position: absolute; right: 12px; bottom: 12px; padding: 5px 10px; border: 1px solid #ffffff50; border-radius: 5px; color: #fff; background: #111111d9; font-size: 18px; font-weight: 700; line-height: 1.3; }
.om-product-shortcuts { display: flex; gap: 27px; border-bottom: 1px solid var(--om-border); margin-bottom: 20px; overflow: auto; scrollbar-width: thin; }
.om-product-shortcuts a { display: block; padding: 0 0 12px; white-space: nowrap; font-size: 12px; color: var(--om-muted); }
.om-product-shortcuts a.is-current { color: var(--om-accent); border-bottom: 2px solid var(--om-accent); font-weight: 700; }
.om-game-grid, .om-product-shortcuts { scrollbar-width: none; }
.om-game-grid::-webkit-scrollbar, .om-product-shortcuts::-webkit-scrollbar { display: none; }
.om-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }
.om-product-card { min-width: 0; overflow: hidden; border: 1px solid var(--om-border); border-radius: 8px; background: var(--om-surface); transition: box-shadow .18s; }
.om-product-card:hover { box-shadow: var(--om-shadow); }
.om-product-image { display: block; aspect-ratio: 1.85; overflow: hidden; background: var(--om-raised); margin: 10px 10px 0; border-radius: 5px; }
.om-product-image > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.om-product-image .om-game-visual { width: 100%; height: 100%; }
.om-product-image .om-game-visual--brand > img { width: 28%; height: 55%; margin-bottom: 15px; }
.om-product-info { padding: 15px; }
.om-product-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--om-muted); font-size: 9px; margin-bottom: 9px; }
.om-product-meta > span:last-child { border: 1px solid var(--om-border); border-radius: 3px; padding: 1px 4px; }
.om-product-info h3 { font-size: 14px; min-height: 37px; margin: 0 0 18px; line-height: 1.4; letter-spacing: -.015em; }
.om-product-bottom { display: flex; align-items: center; justify-content: space-between; gap: 7px; border-top: 1px solid var(--om-border); padding-top: 13px; }
.om-product-bottom small { display: block; color: var(--om-muted); font-size: 9px; margin-top: 2px; }
.om-product-bottom .price { color: var(--om-text); font-size: 19px; font-weight: 700; }
.om-product-bottom .price del { font-size: 12px; color: var(--om-muted); margin-right: 5px; }
.om-product-bottom .price ins { text-decoration: none; }
.om-price-pending { font-size: 12px; color: var(--om-muted); }
.om-product-go { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; background: var(--om-raised); border: 1px solid var(--om-border); border-radius: 5px; }
.om-product-go .om-icon { width: 15px; height: 15px; }
.om-product-go:hover { background: var(--om-soft); border-color: var(--om-accent); }
.om-service-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--om-border); background: var(--om-surface); border-radius: 8px; margin-top: 33px; }
.om-service-links > a { display: flex; align-items: center; gap: 16px; padding: 21px 24px; }
.om-service-links > a + a { border-left: 1px solid var(--om-border); }
.om-service-links > a > .om-icon:first-child { color: var(--om-accent); width: 25px; height: 25px; }
.om-service-links > a > .om-icon:last-child { margin-left: auto; width: 16px; height: 16px; color: var(--om-muted); }
.om-service-links strong { display: block; font-size: 12px; }
.om-service-links small { display: block; font-size: 10px; color: var(--om-muted); }

/* Catalog filters use WooCommerce's existing sorting, query and pagination. */
.om-catalog { padding-top: 30px; padding-bottom: 55px; }
.om-catalog-heading { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px 32px; padding-bottom: 24px; border-bottom: 1px solid var(--om-border); margin-bottom: 26px; }
.om-catalog-intro { min-width: 0; }
.om-catalog-heading h1 { font-size: 28px; margin-bottom: 8px; }
.om-catalog-intro > p:last-child { margin-bottom: 0; font-size: 12px; }
.om-catalog-layout { display: grid; grid-template-columns: 225px minmax(0,1fr); gap: 26px; }
.om-catalog-sidebar > form { padding: 19px; border: 1px solid var(--om-border); border-radius: 8px; background: var(--om-surface); }
.om-catalog-sidebar h2 { font-size: 15px; margin-bottom: 20px; }
.om-catalog-sidebar label { display: block; margin: 17px 0 7px; font-size: 11px; font-weight: 700; }
.om-catalog-sidebar :is(input,select) { display: block; width: 100%; font-size: 12px; padding: 10px; }
.om-catalog-sidebar .om-button { display: flex; width: 100%; margin-top: 23px; font-size: 11px; padding-inline: 7px; }
.om-clear-filters { display: block; text-align: center; font-size: 10px; color: var(--om-muted); margin-top: 12px; }
.om-help-card { margin-top: 18px; padding: 20px; border: 1px solid var(--om-border); background: var(--om-surface); border-radius: 8px; }
.om-help-card > .om-icon { color: var(--om-accent); display: block; margin-bottom: 13px; }
.om-help-card strong { display: block; font-size: 14px; }
.om-help-card p { font-size: 11px; margin: 9px 0; }
.om-help-card a { font-size: 11px; color: var(--om-accent); }
.om-catalog-toolbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 20px; margin-left: auto; font-size: 11px; }
.om-catalog-toolbar p, .om-catalog-toolbar form { margin: 0 !important; }
.om-catalog-toolbar select { font-size: 11px; padding: 8px 10px; max-width: 215px; }
.om-catalog-results .om-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.om-empty { background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 8px; padding: 40px 23px; text-align: center; }
.om-empty h2 { font-size: 21px; }
.woocommerce nav.woocommerce-pagination { margin-top: 25px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 7px; }
.woocommerce nav.woocommerce-pagination ul li { border: 1px solid var(--om-border); border-radius: 5px; overflow: hidden; }
.woocommerce nav.woocommerce-pagination ul li :is(a,span) { padding: 10px 13px; background: var(--om-surface); color: var(--om-text); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--om-accent); color: #fff; }

/* Native product, cart, account and business information surfaces. */
.om-content-shell { margin-block: 35px 60px !important; }
.om-content-shell > .wp-block-post-content > .om-legal-content { max-width: none; margin-inline: 0; }
.om-product-shell { margin-block: 30px 60px !important; }
.om-product-shell .wp-block-columns { gap: 40px; }
.om-product-shell .wp-block-post-title { font-size: 32px; margin: 12px 0 18px; }
.om-product-shell .wp-block-post-excerpt { font-size: 14px; line-height: 1.8; }
.om-product-shell .wp-block-post-terms { color: var(--om-muted); font-size: 11px; }
.om-product-shell .wp-block-woocommerce-product-price { font-size: 27px; color: var(--om-text); }
.om-product-shell .wp-block-woocommerce-product-details { margin-top: 35px; }
.om-product-shell .wp-block-woocommerce-product-image-gallery { padding: 22px; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 9px; }
.om-product-display { padding: 18px; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 9px; }
.om-product-display .om-game-visual { aspect-ratio: 1.05; width: 100%; border-radius: 6px; }
.om-product-display .om-card-denomination { font-size: 35px; bottom: 23px; right: 23px; padding: 8px 15px; }
.om-product-display .om-card-brand-name { font-size: 22px; left: 23px; bottom: 29px; }
.om-product-display .om-game-visual--brand > img { width: 40%; height: 40%; }
.om-product-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-block: 1px solid var(--om-border); padding-block: 17px; margin-block: 20px; }
.om-product-facts span { display: block; color: var(--om-muted); font-size: 11px; margin-bottom: 3px; }
.om-product-facts strong { font-size: 13px; }
.om-product-availability { background: var(--om-raised); border: 1px solid var(--om-border); padding: 17px; border-radius: 6px; }
.om-product-availability strong { font-size: 13px; }
.om-product-availability p { margin: 7px 0 0; font-size: 12px; }
.om-product-help { display: flex; align-items: center; gap: 9px; margin-top: 18px; font-size: 11px; }
.om-product-help .om-icon { color: var(--om-accent); }
.woocommerce-breadcrumb { color: var(--om-muted) !important; font-size: 11px !important; }
.woocommerce-breadcrumb a { color: var(--om-text) !important; }
.woocommerce div.product :is(p.price, span.price) { color: var(--om-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--om-raised); border-color: var(--om-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--om-surface); color: var(--om-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--om-text); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { padding: 25px; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 8px; }
.woocommerce :is(ul.products li.product, table.shop_table, form.login, form.register), .wc-block-grid__product { background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 8px; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--om-border); padding: 14px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; border: 1px solid var(--om-border); background: var(--om-surface); border-radius: 8px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 11px 12px; border-radius: 4px; font-size: 13px; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--om-soft); color: var(--om-accent); font-weight: 700; }
.woocommerce-MyAccount-content { padding: 25px; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 8px; overflow-wrap: anywhere; }
.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner { background: var(--om-surface) !important; color: var(--om-text) !important; border: 1px solid var(--om-border) !important; border-left: 3px solid var(--om-accent) !important; border-radius: 6px; }
.woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before { color: var(--om-accent); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single, .select2-dropdown, .select2-results__option { background: var(--om-surface); color: var(--om-text); border-color: var(--om-border); }
.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-form input { background: var(--om-surface) !important; color: var(--om-text) !important; border-color: var(--om-border) !important; }
.wc-block-components-text-input label, .wc-block-components-form label { color: var(--om-muted) !important; }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--om-text); }
.wc-block-components-order-summary, .wc-block-cart-items, .wc-block-components-sidebar { border-color: var(--om-border) !important; }
.om-cart-empty { text-align: center; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 9px; padding: 60px 24px; }
.om-cart-empty > .om-icon { color: var(--om-accent); width: 45px; height: 45px; margin-bottom: 22px; }
.om-cart-empty h2 { font-size: 27px; }
.om-cart-empty p { font-size: 13px; }
.om-sso-login { padding: 27px; border: 1px solid var(--om-border); background: var(--om-surface); border-radius: 8px; margin-bottom: 25px; }
.om-sso-login h2 { font-size: 23px; }
.vgnw-om-marketplace, .vgnw-om-listing, .vgnw-om-account, .vgnw-om-streamer-application { color: var(--om-text); }
.vgnw-om-marketplace__filters { background: var(--om-surface); border-color: var(--om-border); }
.vgnw-om-marketplace__filters label { display: flex; flex-direction: column; gap: 7px; min-width: 140px; flex: 1; }
.vgnw-om-marketplace article, .vgnw-om-listing article, .vgnw-om-account section { background: var(--om-surface) !important; border-color: var(--om-border) !important; color: var(--om-text) !important; }
.vgnw-om-account table { display: block; overflow-x: auto; width: 100%; }
.vgnw-om-account button, .vgnw-om-streamer-application button { border: 0; background: var(--om-accent); color: #fff; padding: 11px 18px; border-radius: 6px; }
.om-legal-content { max-width: 830px; margin-inline: auto; line-height: 1.9; }
.om-legal-content h2 { font-size: 21px; margin: 28px 0 13px; }
.om-legal-content p, .om-legal-content li { color: var(--om-muted); font-size: 14px; }
.om-legal-content a { color: var(--om-accent); text-decoration: underline; text-underline-offset: 3px; }
.om-preparation-note { background: var(--om-raised); border: 1px solid var(--om-border); border-left: 3px solid var(--om-accent); padding: 17px 20px; border-radius: 6px; }
.om-merchant-details { display: grid; grid-template-columns: 180px 1fr; padding: 20px; border: 1px solid var(--om-border); border-radius: 8px; background: var(--om-surface); gap: 10px; }
.om-merchant-details dt { color: var(--om-muted); }
.om-merchant-details dd { margin: 0; overflow-wrap: anywhere; }
.om-faq details { padding: 18px; border: 1px solid var(--om-border); border-radius: 7px; background: var(--om-surface); margin-bottom: 10px; }
.om-faq summary { font-weight: 700; }
.om-faq details p { margin: 12px 0 0; }
.om-page-shell { padding-block: 30px 55px; }
.om-search-result { border-bottom: 1px solid var(--om-border); padding-block: 20px; }
.wp-block-woocommerce-coming-soon { background: var(--om-bg) !important; color: var(--om-text) !important; font-family: var(--wp--preset--font-family--sans) !important; }

.vgnw-footer-heading { color: var(--om-text); font-size: 12px; font-weight: 700; margin-bottom: 14px; }

@media (max-width: 1150px) {
    .om-header-main { gap: 24px; }
    .om-header-actions { gap: 13px; }
    .om-account span, .om-cart span { display: none; }
    .om-cart { padding-left: 14px; }
    .om-primary { gap: 21px; }
    .om-nav-row { gap: 23px; }
    .om-game-grid { gap: 11px; }
    .om-game-card > strong { font-size: 10px; }
    .om-game-card > span:last-child { font-size: 9px; }
    .om-product-grid { gap: 14px; }
    .om-product-meta { flex-wrap: wrap; gap: 4px; }
    .om-service-links > a { padding: 19px; gap: 11px; }
    .om-catalog-layout { grid-template-columns: 200px minmax(0,1fr); gap: 20px; }
    .om-catalog-results .om-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    :root { --om-page-gutter: 20px; }
    .om-primary { gap: 19px; }
    .om-primary a { font-size: 11px; }
    .om-order-link { display: none; }
    .om-game-menu summary { padding-right: 20px; font-size: 11px; }
    .om-game-grid { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 97px; gap: 13px; overflow-x: auto; padding-block: 3px 10px; }
    .om-game-card > strong { font-size: 10px; }
    .om-game-card > span:last-child { font-size: 9px; }
    .om-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .om-service-links { grid-template-columns: 1fr; }
    .om-service-links > a { padding: 18px 22px; }
    .om-service-links > a + a { border-left: 0; border-top: 1px solid var(--om-border); }
    .om-product-shell .wp-block-columns { gap: 25px; }
    .om-product-shell .wp-block-post-title { font-size: 27px; }
}
@media (max-width: 650px) {
    :root { --om-page-gutter: 15px; }
    .om-topbar .om-container { min-height: 27px; font-size: 9px; }
    .om-topbar nav { gap: 11px; }
    .om-topbar nav a:first-child, .om-topbar nav span { display: none; }
    .om-header-main { min-height: 0; padding-block: 19px 14px; flex-wrap: wrap; justify-content: space-between; gap: 16px; }
    .om-brand { font-size: 28px; }
    .om-brand > i { width: 5px; height: 5px; }
    .om-header-actions { gap: 8px; }
    .om-header-actions .om-icon { width: 20px; height: 20px; }
    .om-mode-toggle { width: 32px; height: 32px; }
    .om-account, .om-cart { min-height: 34px; }
    .om-cart { padding-left: 0; border: 0; }
    .om-search { flex: 0 0 100%; order: 3; }
    .om-search input, .om-search button { height: 42px; }
    .om-search input { font-size: 12px; }
    .om-nav-row { min-height: 44px; justify-content: space-between; }
    .om-game-menu summary { min-height: 44px; border-right: 0; font-size: 11px; padding-right: 0; }
    .om-primary { display: none; }
    .vgnw-mobile-navigation { display: block; }
    .vgnw-mobile-navigation summary { list-style: none; display: flex; align-items: center; gap: 6px; font-size: 11px; min-height: 44px; }
    .vgnw-mobile-navigation summary .om-icon { width: 18px; height: 18px; }
    .vgnw-mobile-navigation nav { left: auto; right: 0; }
    .om-games-section .om-section-heading { margin-bottom: 11px; }
    .om-section-heading h2 { font-size: 18px; }
    .om-text-link { font-size: 10px; }
    .om-game-grid { grid-auto-columns: 87px; gap: 12px; margin-right: -15px; padding-right: 15px; }
    .om-products-section { margin-top: 20px; }
    .om-product-shortcuts { gap: 21px; margin-bottom: 14px; }
    .om-product-shortcuts a { font-size: 11px; padding-bottom: 10px; }
    .om-product-grid, .om-catalog-results .om-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .om-product-image { margin: 7px 7px 0; aspect-ratio: 1.3; }
    .om-product-image .om-card-brand-name { font-size: 10px; bottom: 10px; left: 9px; }
    .om-card-denomination { font-size: 13px; padding: 4px 6px; bottom: 8px; right: 8px; }
    .om-product-info { padding: 11px; }
    .om-product-info h3 { font-size: 12px; min-height: 35px; margin-bottom: 10px; }
    .om-product-meta { font-size: 8px; gap: 4px; margin-bottom: 8px; }
    .om-product-bottom { padding-top: 10px; }
    .om-price-pending { font-size: 10px; }
    .om-product-bottom small { font-size: 8px; line-height: 1.4; }
    .om-product-bottom .price { font-size: 15px; }
    .om-product-go { width: 26px; height: 29px; }
    .om-product-go .om-icon { width: 13px; height: 13px; }
    .om-home { padding-bottom: 28px; }
    .om-service-links { margin-top: 22px; }
    .om-catalog { padding-top: 22px; }
    .om-catalog-heading { margin-bottom: 18px; padding-bottom: 17px; }
    .om-catalog-heading h1 { font-size: 23px; }
    .om-catalog-intro > p:last-child { font-size: 11px; }
    .om-catalog-layout { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .om-catalog-sidebar > form { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; padding: 15px; }
    .om-catalog-sidebar h2 { grid-column: 1/-1; font-size: 14px; margin-bottom: 2px; }
    .om-catalog-sidebar label { font-size: 10px; margin: 7px 0 0; }
    .om-catalog-sidebar label[for="om-filter-search"], .om-catalog-sidebar #om-filter-search { grid-column: 1/-1; }
    .om-catalog-sidebar label[for="om-filter-game"] { grid-column: 1; grid-row: 4; }
    .om-catalog-sidebar label[for="om-filter-type"] { grid-column: 2; grid-row: 4; }
    .om-catalog-sidebar #om-filter-game { grid-column: 1; grid-row: 5; }
    .om-catalog-sidebar #om-filter-type { grid-column: 2; grid-row: 5; }
    .om-catalog-sidebar .om-button { margin-top: 5px; grid-column: 1; }
    .om-clear-filters { align-self: center; margin-top: 5px; }
    .om-help-card { display: none; }
    .om-catalog-toolbar { width: 100%; justify-content: space-between; gap: 10px; font-size: 10px; }
    .om-catalog-toolbar select { max-width: 165px; font-size: 10px; }
    .om-content-shell, .om-product-shell { margin-top: 23px !important; }
    .om-product-display { padding: 11px; }
    .om-product-display .om-game-visual { aspect-ratio: 1.3; }
    .om-product-display .om-card-denomination { font-size: 28px; bottom: 15px; right: 15px; }
    .om-product-shell .wp-block-post-title { font-size: 25px; }
    .om-merchant-details { grid-template-columns: 1fr; gap: 5px; }
    .om-merchant-details dd { margin-bottom: 12px; }
    .om-cart-empty { padding: 40px 17px; }
    .om-cart-empty h2 { font-size: 23px; }
    .woocommerce-MyAccount-content { padding: 18px; margin-top: 20px; }
}
@media (max-width: 1000px) {
    .om-spotlight-copy { width: 63%; padding: 39px 32px; }
    .om-spotlight-stage { height: 350px; }
    .om-spotlight-pick { gap: 9px; padding: 13px; }
    .om-spotlight-pick .om-game-visual { width: 35px; height: 35px; }
    .om-spotlight-pick strong { font-size: 10px; }
    .om-spotlight-pick small { font-size: 9px; }
    .om-spotlight-arrows { padding: 12px; }
    .om-spotlight-arrows > span { display: none; }
}
@media (max-width: 650px) {
    .om-spotlight { margin: 16px 0 25px; border-radius: 8px; }
    .om-spotlight-stage { height: 380px; }
    .om-spotlight-slide > img { object-position: 59% top; height: 76%; }
    .om-spotlight-slide--league-of-legends > img { object-position: 63% top; }
    .om-spotlight-slide--minecraft > img { object-position: 60% top; }
    .om-spotlight-slide::after { background: linear-gradient(0deg,#111 4%,#111111eb 20%,#111111b3 43%,#11111100 86%); }
    .om-spotlight-copy { width: 100%; padding: 119px 23px 26px; }
    .om-spotlight-tag { font-size: 8px; letter-spacing: .06em; }
    .om-spotlight-copy h2 { font-size: clamp(30px,8.6vw,37px); margin: 14px 0 11px; }
    .om-spotlight-copy p { max-width: 230px; font-size: 11px; margin-bottom: 19px; }
    .om-spotlight-cta { padding: 11px 13px; font-size: 11px; gap: 19px; }
    .om-spotlight-edition { display: none; }
    .om-spotlight-controls { flex-wrap: wrap; }
    .om-spotlight-picks { flex: 0 0 100%; }
    .om-spotlight-pick { flex-direction: column; justify-content: flex-start; gap: 7px; text-align: center; padding: 13px 6px 10px; }
    .om-spotlight-pick:last-child { border-right: 0; }
    .om-spotlight-pick .om-game-visual { width: 31px; height: 31px; }
    .om-spotlight-pick strong { font-size: 9px; }
    .om-spotlight-pick small { display: none; }
    .om-spotlight-arrows { width: 100%; padding: 8px 13px; border-top: 1px solid var(--om-border); justify-content: flex-end; }
    .om-spotlight-arrows > span { display: block; margin-right: auto; font-size: 10px; }
    .om-spotlight-arrows button { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Header controls follow the VGNW icon-only treatment. */
.om-header-actions { gap: 4px; }
.om-header-actions :is(.om-account,.om-cart,.om-mode-toggle,.wc-block-mini-cart__button) { width: 40px; height: 40px; min-width: 40px; min-height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--om-text); display: inline-flex; justify-content: center; align-items: center; }
.om-header-actions :is(.om-account,.om-cart,.om-mode-toggle,.wc-block-mini-cart__button):hover { background: var(--om-raised); opacity: 1; }
.om-header-actions :is(.om-account,.om-cart,.om-mode-toggle) .om-icon { width: 24px; height: 24px; }
.om-header-actions .om-account-avatar { display: block; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 50%; object-fit: cover; background: var(--om-raised); box-shadow: 0 0 0 1px var(--om-border); }
.om-header-actions .om-mode-toggle .om-icon { width: 18px; height: 18px; }
.om-mode-toggle > span { align-items: center; justify-content: center; line-height: 1; }
.om-mode-outline { display: flex; }
.om-header-actions .om-mode-toggle { display: none; }
html[data-om-theme] .om-header-actions .om-mode-toggle { display: inline-flex; }
.om-header-actions .wc-block-mini-cart__quantity-badge .wc-block-mini-cart__icon { width: 24px; height: 24px; padding: 0; }
.om-header-actions .wc-block-mini-cart__badge { min-width: 16px; height: 16px; padding: 0 3px; top: -2px; right: -6px; font: 700 10px/16px var(--om-font); background: var(--om-text); color: var(--om-surface); border: 0; }
.om-cart-control { display: flex; align-items: center; }
.om-mini-cart { line-height: 1; }
.wc-block-components-drawer { color: var(--om-text); background: var(--om-surface); }
.wc-block-mini-cart__drawer .wc-block-components-drawer__content { background: var(--om-surface); color: var(--om-text); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents { background-color: var(--om-surface) !important; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { color: var(--om-text) !important; background: transparent !important; border: 0 !important; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector { background: var(--om-bg); border-color: var(--om-border); color: var(--om-text); }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector__input { color: var(--om-text); }
.wc-block-mini-cart__drawer :is(.wc-block-mini-cart__title,.wc-block-components-product-name,.wc-block-components-product-price,.wc-block-components-totals-item) { color: var(--om-text); }
.wc-block-mini-cart__drawer .wc-block-components-button { border-radius: 6px; background: var(--om-text); color: var(--om-surface); border: 1px solid var(--om-text); font-weight: 700; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart { background: transparent; color: var(--om-text); border-color: var(--om-border); }
html[data-om-theme] .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart.wp-element-button { color: var(--om-text); }
html[data-om-theme="dark"] :is(.vgnw-skip-link, .vgnw-om-account button, .vgnw-om-streamer-application button, .woocommerce input.button) { color: var(--om-surface); }
.wc-block-mini-cart__drawer .wc-block-components-product-metadata { color: var(--om-muted); }
.om-mini-cart-empty { padding: 42px 20px 8px; text-align: center; }
.om-mini-cart-empty h2 { font-size: 26px; }
.om-mini-cart-empty p { max-width: 280px; margin-inline: auto; }

/* Compact category directory: one real catalog, filterable without navigating. */
.om-game-menu[open] > summary > .om-icon:last-child { transform: rotate(180deg); }
.om-category-panel { position: absolute; inset: 100% 0 auto; z-index: 70; max-height: calc(100dvh - 185px); overflow-y: auto; overscroll-behavior: contain; background: var(--om-surface); border: 1px solid var(--om-border); border-radius: 0 0 10px 10px; box-shadow: 0 18px 38px #0002; }
.om-category-heading { display: flex; align-items: center; gap: 20px; padding: 22px 26px; border-bottom: 1px solid var(--om-border); }
.om-category-heading > div { flex: 1; }
.om-category-heading strong { display: block; font-size: 19px; }
.om-category-heading > div > span { display: block; color: var(--om-muted); font-size: 12px; margin-top: 3px; }
.om-category-search { display: none; align-items: center; gap: 10px; width: min(330px,44%); padding-left: 12px; border: 1px solid var(--om-border); border-radius: 6px; background: var(--om-bg); }
.om-category-search input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 9px 10px 9px 0; font-size: 13px; }
.om-category-close { display: none; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border: 0; border-radius: 50%; padding: 0; background: transparent; }
.om-category-close:hover { background: var(--om-raised); }
html[data-om-discovery] .om-category-search { display: flex; }
html[data-om-discovery] .om-category-close { display: grid; }
.om-category-body { display: grid; grid-template-columns: 220px minmax(0,1fr); }
.om-category-sidebar { padding: 20px 12px; background: var(--om-bg); border-right: 1px solid var(--om-border); display: flex; flex-direction: column; }
.om-category-filters { display: none; }
html[data-om-discovery] .om-category-filters { display: grid; gap: 5px; }
.om-category-filters button { display: flex; align-items: center; gap: 10px; text-align: left; width: 100%; border: 0; border-radius: 6px; background: transparent; padding: 12px 10px; font-size: 13px; line-height: 1.4; }
.om-category-filters button[aria-pressed="true"] { background: var(--om-surface); font-weight: 700; box-shadow: 0 1px 3px #0001; }
.om-category-filters button:hover { background: var(--om-surface); }
.om-category-filters .om-icon { width: 18px; height: 18px; }
.om-category-filters .om-icon:last-child { margin-left: auto; width: 13px; transform: rotate(-90deg); }
.om-category-all { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 20px 10px 4px; margin-top: auto; font-size: 12px; }
.om-category-all .om-icon { width: 16px; }
.om-category-results { padding: 22px 24px; min-width: 0; }
.om-category-result-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.om-category-result-heading strong { font-size: 13px; }
.om-category-result-heading > span { font-size: 12px; color: var(--om-muted); }
.om-category-cards { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.om-category-item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 11px; min-width: 0; padding: 15px 6px; border: 1px solid transparent; border-radius: 7px; }
.om-category-item:hover { border-color: var(--om-border); background: var(--om-bg); }
.om-category-item .om-game-visual { flex: 0 0 62px; width: 62px; height: 62px; border-radius: 9px; }
.om-category-item strong { display: block; font-size: 12px; line-height: 1.45; }
.om-category-item small { display: block; color: var(--om-muted); font-size: 11px; margin-top: 3px; }
.om-category-empty { padding: 50px 20px; text-align: center; font-size: 14px; }
.om-category-footer { display: flex; align-items: center; gap: 30px; border-top: 1px solid var(--om-border); padding: 15px 26px; font-size: 12px; }
.om-category-footer a { display: inline-flex; align-items: center; gap: 8px; }
.om-category-footer a:last-child { margin-left: auto; }
.om-category-footer .om-icon { width: 17px; height: 17px; }
.om-category-item[hidden], .om-category-empty[hidden] { display: none; }

/* Editorial content uses actual WordPress posts and featured media. */
.om-journal { padding-top: 10px; }
.om-journal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.om-article-image { display: block; overflow: hidden; aspect-ratio: 1.9; border-radius: 8px; background: var(--om-raised); }
.om-article-image > img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.om-article-card:hover .om-article-image > img { transform: scale(1.025); }
.om-article-meta { display: flex; gap: 12px; align-items: center; margin: 18px 0 9px; font-size: 12px; color: var(--om-muted); }
.om-article-meta > span { color: var(--om-text); font-weight: 700; }
.om-article-card h3 { font-size: 21px; margin-bottom: 10px; line-height: 1.4; }
.om-article-card > p { font-size: 14px; line-height: 1.7; margin-bottom: 13px; }
.om-article-placeholder { display: grid; align-content: center; height: 100%; padding: 30px; font-size: 32px; font-weight: 700; letter-spacing: -.05em; }
.om-article-placeholder > span { font-size: 13px; letter-spacing: normal; color: var(--om-muted); }
.om-journal-archive { padding-block: 45px 70px; }
.om-journal-archive .om-journal-grid { row-gap: 45px; }
.om-page-intro { max-width: 650px; margin-bottom: 32px; }
.om-page-intro h1 { margin: 6px 0 14px; }

/* The footer is a full directory, with corporate data coming only from Core. */
.om-footer { background: var(--om-surface); border-top: 1px solid var(--om-border); }
.om-footer-lead { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-block: 45px 37px; border-bottom: 1px solid var(--om-border); }
.om-footer-socials { display: flex; gap: 7px; margin-top: 17px; }
.om-footer-socials a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--om-muted); }
.om-footer-socials a:hover { background: var(--om-raised); }
.om-footer-socials .om-icon { width: 20px; height: 20px; }
.om-footer-support { display: flex; align-items: center; gap: 17px; padding: 20px 24px; border: 1px solid var(--om-border); border-radius: 8px; }
.om-footer-support > .om-icon:first-child { width: 29px; height: 29px; }
.om-footer-support strong { display: block; font-size: 17px; }
.om-footer-support small { display: block; color: var(--om-muted); font-size: 13px; }
.om-footer-support > .om-icon:last-child { margin-left: 15px; }
.om-footer-directory { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 28px; padding-block: 32px; }
.om-footer h2 { font-size: 14px; margin: 0 0 18px; letter-spacing: 0; }
.om-footer-directory nav { min-width: 0; }
.om-footer-directory nav a { display: flex; align-items: center; min-height: 34px; width: 100%; color: var(--om-muted); font-size: 12px; line-height: 1.5; padding-block: 6px; }
.om-footer a:hover { color: var(--om-text); text-decoration: underline; text-underline-offset: 4px; }
.om-footer-games { display: flex; gap: 30px; padding-block: 25px; border-block: 1px solid var(--om-border); }
.om-footer-games strong { flex-shrink: 0; font-size: 13px; }
.om-footer-games > div { display: flex; flex-wrap: wrap; gap: 9px 23px; font-size: 13px; color: var(--om-muted); }
.om-footer-company { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 28px; }
.om-footer-company strong { font-size: 11px; font-weight: 600; }
.om-footer-company p { font-size: 11px; line-height: 1.8; margin: 6px 0; }
.om-footer-company a { font-size: 11px; }
.om-footer-company .om-icon { width: 15px; height: 15px; margin-left: 5px; }
.om-footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--om-border); padding-block: 22px; font-size: 12px; color: var(--om-muted); }

/* Public application preview; authenticated form behavior remains plugin-owned. */

@media (max-width: 1050px) {
    .om-category-body { grid-template-columns: 190px minmax(0,1fr); }
    .om-category-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .om-category-filters button { font-size: 12px; }
    .om-category-results { padding: 20px 16px; }
    .om-footer-directory { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 25px; }
    .om-footer-games { flex-direction: column; gap: 14px; }
}
@media (max-width: 650px) {
    .om-header-actions { gap: 0; }
    .om-category-panel { max-height: calc(100dvh - 208px); }
    .om-category-heading { flex-wrap: wrap; padding: 16px; gap: 12px; }
    .om-category-heading strong { font-size: 17px; }
    .om-category-search { width: 100%; order: 3; }
    .om-category-body { display: block; }
    .om-category-sidebar { padding: 12px; border-right: 0; border-bottom: 1px solid var(--om-border); }
    html[data-om-discovery] .om-category-filters { display: flex; overflow-x: auto; scrollbar-width: none; }
    .om-category-filters button { width: auto; flex-shrink: 0; padding: 9px 11px; font-size: 12px; }
    .om-category-filters button > .om-icon { display: none; }
    .om-category-all { display: none; }
    .om-category-cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
    .om-category-item { flex-direction: row; text-align: left; gap: 10px; padding: 10px 4px; }
    .om-category-item .om-game-visual { flex-basis: 43px; width: 43px; height: 43px; border-radius: 6px; }
    .om-category-item strong { font-size: 11px; }
    .om-category-item small { font-size: 10px; }
    .om-category-results { padding: 16px 12px; }
    .om-category-result-heading { margin-bottom: 10px; }
    .om-category-footer { gap: 14px; padding: 14px 16px; flex-wrap: wrap; font-size: 11px; }
    .om-category-footer a:last-child { margin-left: 0; }
    .om-journal-grid { grid-template-columns: 1fr; gap: 30px; }
    .om-article-card h3 { font-size: 21px; }
    .om-article-card .om-text-link { font-size: 12px; }
    .om-journal-archive { padding-block: 30px 40px; }
    .om-footer-lead { align-items: stretch; flex-direction: column; padding-block: 32px; gap: 25px; }
    .om-footer-support { padding: 17px; }
    .om-footer-support small { font-size: 12px; }
    .om-footer-directory { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px 18px; padding-block: 30px; }
    .om-footer-directory nav:last-child { grid-column: 1/-1; }
    .om-footer-directory nav:last-child { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
    .om-footer-directory nav:last-child h2 { grid-column: 1/-1; }
    .om-footer-company { align-items: flex-start; flex-direction: column; gap: 20px; }
    .om-footer-bottom { flex-wrap: wrap; gap: 13px; font-size: 11px; }
}

/* Keep the copyright on the final row, aligned with the page container. */
.om-footer-trademarks { margin: 0 0 18px; color: var(--om-muted); font-size: 11px; line-height: 1.6; }
.om-footer-bottom { flex-wrap: nowrap; align-items: flex-end; }
.om-footer-copyright { flex: 1; min-width: 0; }
.om-footer-bottom > :last-child { flex-shrink: 0; white-space: nowrap; }
