/* Shared navigation and contrast corrections for every page. */
html { min-height: 100%; scroll-padding-top: 96px; }
body { min-height: 100vh; padding: 0 !important; display: flex; flex-direction: column; }
body > header, body > section, body > main, body > footer { flex-shrink: 0; }
.gfs-site-header { background: #103932; border-bottom: 1px solid #376259; z-index: 1030; }
.gfs-site-header .navbar { background: transparent; }
.gfs-site-header .navbar-brand { font-size: 1.2rem; }
.gfs-site-header .nav-link { color: #d4e5e0; font-size: .85rem; border-radius: 8px; }
.gfs-site-header .nav-link:is(:hover, :focus-visible, .active) { color: #fff; background: #27584d; }
.gfs-site-header .gfs-header-chat { background: #5ed27c; color: #103932; padding: 10px 16px; font-size: .85rem; }
.gfs-site-header .gfs-header-chat:hover { background: #94e6a8; }
.gfs-site-header .gfs-nav-toggle { border: 1px solid #6d968c; color: #fff; }
.gfs-footer { margin-top: auto; }
.gfs-footer-brand { color: #fff; }
.gfs-footer-brand .gfs-footer__logo-text { font-size: 1.5rem; }
.gfs-footer-brand:hover { color: #a9edba; }

/* Dark surfaces use an opaque, light label with a dark foreground. */
:is(.ywj-section-dark, .ywj-on-dark, .ywj-section-brand) .ywj-badge {
    background: #ddf5e6; color: #103932; border: 1px solid #c2e5ce;
}
.gfs-hero-block .badge.text-success { color: #c4f8d2 !important; background-color: #164b37 !important; border-color: #6db88b !important; }
:is(.gfs-hero-block, .gfs-article-hero) .text-white-50 { color: #c6dcd5 !important; }
:is(.gfs-hero-block, .gfs-article-hero) .gfs-hero-glass-card {
    background: #123f37; border-color: #4e786a; color: #fff;
}
.gfs-hero-block .ywj-badge .text-accent { color: #1b6155; }
.gfs-footer .ywj-badge { background: #ddf5e6; color: #103932; }
.ywj-section-dark .ywj-card:not(.gfs-hero-glass-card) .ywj-btn-alt {
    color: #1b6155; border-color: #1b6155; background: transparent;
}
.ywj-section-dark .ywj-card:not(.gfs-hero-glass-card) .ywj-btn-alt:hover {
    color: #fff; background: #1b6155;
}
.ywj-section-dark .ywj-card:not(.gfs-hero-glass-card) .text-muted { color: #556d69 !important; }
.ywj-section-dark .ywj-card:not(.gfs-hero-glass-card) .ywj-title { color: #14201e; }

/* Center the title and the titles inside the editor's selection. */
.ywj-editors-choice__header .ywj-title { text-align: center; padding-left: 0; }
.ywj-editors-choice__header .ywj-title::before { display: none; }
.ywj-editors-choice__item-title { text-align: center; }
.ywj-editors-choice__header .ywj-eyebrow { text-align: center; }

.about-page-wrapper .about-tab-nav { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); border-radius: 18px; max-width: 900px; }
.about-page-wrapper .about-tab-btn { min-height: 48px; border-radius: 12px; padding: 10px 16px; white-space: normal; }
.about-page-wrapper .about-cta-card .ywj-btn-alt { color: #1b6155; border-color: #1b6155; }
.catalog-game-title a { color: #14201e; }
.catalog-game-title a:hover { color: #1b6155; }
.catalog-card-media { margin-bottom: 0; }
.catalog-card-badge { pointer-events: none; }
.catalog-filter-bar { flex-wrap: wrap !important; overflow: visible; }
.js-catalog-search { scroll-margin-top: 110px; }

/* A single article hero structure, with each article's own cover image. */
.gfs-article-hero { background: linear-gradient(118deg, #103932, #165046); }
.gfs-article-hero-title { font-size: clamp(1.8rem, 3.2vw, 3rem); font-weight: 400; line-height: 1.35; color: #fff; }
.gfs-article-hero-desc { color: #c6dcd5; font-size: 1.05rem; line-height: 1.8; }
.gfs-article-cover { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 24px; border: 1px solid #729487; box-shadow: 0 20px 45px #06261c66; }
.gfs-article-hero .breadcrumb a { color: #d8eee5; text-decoration: none; }
.gfs-article-hero .breadcrumb .active { color: #c0dbd0; }
.gfs-article-hero .breadcrumb-item + .breadcrumb-item::before { color: #a2c2b7; }
.gfs-article-hero .gfs-hero-meta-row { color: #e3f5ea; font-size: .9rem; }
.gfs-related-action { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }
.gfs-related-action:hover { text-decoration: underline !important; }
.gfs-sidebar-wrapper.sticky-lg-top { top: 110px; z-index: 1; }

/* Keep the game surface free of overlays and moving/composited ancestors. */
.gfs-gameplay-section .gfs-game-wrapper,
.gfs-gameplay-section .gfs-game-wrapper:hover {
    transform: none; transition: none; backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff;
}
.gfs-gameplay-section .gfs-iframe-holder { position: relative; isolation: isolate; padding: 0; touch-action: auto; }
.gfs-gameplay-section .gfs-game-iframe { position: relative; z-index: 1; pointer-events: auto; touch-action: auto; }
.gfs-gameplay-section .gfs-iframe-holder::before,
.gfs-gameplay-section .gfs-iframe-holder::after { content: none; pointer-events: none; }
.gfs-gameplay-section .gfs-control-btn { min-height: 44px; min-width: 44px; }
.gfs-hero-video-wrap, .gfs-hero-overlay, .all-game-tag, .ywj-editors-choice__badge { pointer-events: none; }

a:focus-visible, button:focus-visible { outline: 3px solid #efbf44; outline-offset: 3px; }
@media (max-width: 767.98px) {
    html { scroll-padding-top: 82px; }
    .gfs-site-header .navbar { padding-top: 10px !important; padding-bottom: 10px !important; }
    .gfs-site-header .navbar-brand { font-size: 1.05rem; }
    .gfs-site-header .navbar-brand img { width: 36px; height: 36px; }
    .gfs-site-header .nav-link { padding: 10px 12px !important; }
    .about-page-wrapper .about-tab-nav { grid-template-columns: 1fr; }
    .about-page-wrapper .about-tab-btn { width: 100%; }
    .gfs-article-hero .gfs-hero-meta-row { gap: 10px !important; }
    .gfs-gameplay-section .gfs-iframe-holder { height: clamp(380px, 68svh, 620px); }
    .gfs-hero-block .min-vh-75 { min-height: auto; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .ywj-card, .ywj-btn, .ywj-btn-alt { transition: none; }
}
