/* ============================================================
   RepackGames Child — overrides.css
   Aggressive overrides for: GP parent, Gutenberg colors,
   legacy inline styles from old mu-plugins. Load AFTER theme.css.
   ============================================================ */

/* ---- Gutenberg color leakage reset ---- */
.rg-theme .has-luminous-vivid-orange-color,
.rg-theme .has-luminous-vivid-amber-color,
.rg-theme .has-light-green-cyan-color,
.rg-theme .has-vivid-green-cyan-color,
.rg-theme .has-pale-cyan-blue-color,
.rg-theme .has-vivid-cyan-blue-color,
.rg-theme .has-vivid-purple-color,
.rg-theme .has-pale-pink-color,
.rg-theme .has-vivid-red-color,
.rg-theme .has-cyan-bluish-gray-color { color: var(--rg-text) !important; }

.rg-theme .has-background:not([class*="has-rg-"]) { background-color: transparent !important; }
.rg-theme .has-text-color:not([style*="--rg"]) { color: inherit !important; }

/* ---- Force dark-mode contract on legacy inline-styled blocks ---- */
.rg-theme .ce-enrichment,
.rg-theme .rg-seo-block,
.rg-theme .rg-bot-screens,
.rg-theme [class*="related-trainers"] {
    background: var(--rg-card) !important;
    border-color: var(--rg-border) !important;
    color: var(--rg-text) !important;
    border-radius: var(--rg-radius) !important;
}
.rg-theme .ce-enrichment *,
.rg-theme .rg-seo-block *,
.rg-theme [class*="related-trainers"] * {
    color: inherit !important;
}
.rg-theme .ce-enrichment a,
.rg-theme .rg-seo-block a,
.rg-theme [class*="related-trainers"] a { color: var(--rg-accent) !important; }
.rg-theme .ce-enrichment h2,
.rg-theme .rg-seo-block h2,
.rg-theme .ce-enrichment h3,
.rg-theme .rg-seo-block h3 { color: var(--rg-primary) !important; }

/* ---- Strip GP defaults that conflict with child layout ---- */
.rg-theme.post-image-above-header .featured-image,
.rg-theme.post-image-aligned-center .featured-image { display: none; }   /* we render hero ourselves */

.rg-theme.right-sidebar .site-content,
.rg-theme.right-sidebar .content-area { background: transparent !important; }

.rg-theme.both-sticky-menu #masthead { display: none !important; }       /* hide GP header — we use rg-site-header */
.rg-theme #site-navigation,
.rg-theme #mobile-header,
.rg-theme #generate-slideout-menu { display: none !important; }
.rg-theme #site-footer .site-info,
.rg-theme #site-footer .footer-widgets,
.rg-theme #footer-widgets,
.rg-theme footer.site-footer { display: none !important; }                /* we render rg-site-footer */

/* GP container reset so our rg-main owns layout */
.rg-theme .grid-container { max-width: var(--rg-max-w); padding: 0 16px; }

/* ---- Force figures, blockquotes, tables to dark theme ---- */
.rg-theme figure { background: transparent !important; }
.rg-theme blockquote {
    border-left: 4px solid var(--rg-primary) !important;
    background: var(--rg-bg-alt) !important;
    color: var(--rg-text) !important;
    padding: 12px 18px !important; margin: 16px 0 !important;
}
.rg-theme table { background: var(--rg-card) !important; color: var(--rg-text) !important; }
.rg-theme th, .rg-theme td { border-color: var(--rg-border) !important; padding: 8px 12px; }
.rg-theme th { background: var(--rg-bg-alt) !important; color: var(--rg-primary) !important; }

/* ---- Code / pre dark ---- */
.rg-theme pre, .rg-theme code { background: #0a0a0a !important; color: var(--rg-accent) !important; padding: 2px 6px; border-radius: 3px; }

/* ---- Cleanup random inline backgrounds from old plugins ---- */
.rg-theme [style*="background:#fafafa"],
.rg-theme [style*="background:#fafbfc"],
.rg-theme [style*="background: #fafafa"],
.rg-theme [style*="background: #fafbfc"],
.rg-theme [style*="background:#f6f8fa"] {
    background: var(--rg-bg-alt) !important;
}
.rg-theme [style*="color:#586069"],
.rg-theme [style*="color: #586069"],
.rg-theme [style*="color:#1f2937"],
.rg-theme [style*="color: #1f2937"],
.rg-theme [style*="color:#666"],
.rg-theme [style*="color: #666"] {
    color: var(--rg-text-muted) !important;
}
.rg-theme [style*="border:1px solid #e1e1e1"],
.rg-theme [style*="border: 1px solid #e1e1e1"],
.rg-theme [style*="border:1px solid #e1e4e8"],
.rg-theme [style*="border: 1px solid #e1e4e8"] {
    border-color: var(--rg-border) !important;
}

/* ---- Content area typography uniformization ---- */
.rg-theme .rg-content .ce-enrichment h2,
.rg-theme .rg-content .rg-seo-block h2 {
    font-size: 20px !important;
    margin-top: 0 !important;
    border-bottom: 2px solid var(--rg-primary) !important;
    padding-bottom: 6px;
}
.rg-theme .rg-content .ce-enrichment ul,
.rg-theme .rg-content .rg-seo-block ul,
.rg-theme .rg-content .ce-enrichment ol,
.rg-theme .rg-content .rg-seo-block ol {
    padding-left: 1.4em;
}

/* ---- Hide GP-rendered top navigation if leaking ---- */
.rg-theme .main-navigation,
.rg-theme .secondary-navigation,
.rg-theme .nav-aligned-left .menu-bar-items { display: none !important; }

/* ============================================================
   GP sidebar wrapper reset — when single.php calls get_sidebar(),
   GeneratePress emits .widget-area.sidebar + .inside-right-sidebar
   with its own padding/background. Reset to transparent so our
   custom .rg-side-box / .container-widget styling takes over.
   ============================================================ */
.rg-theme .rg-sidebar .widget-area.sidebar,
.rg-theme .rg-sidebar .inside-right-sidebar,
.rg-theme .rg-sidebar #right-sidebar {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Outer GenerateBlocks element wrapping the recent-posts widget */
.rg-theme .rg-sidebar .gb-element-49a744d4 {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* ============================================================
   GenerateBlocks "Recent Posts" widget (gb-element-51fcbaea container-widget)
   ============================================================ */
.rg-theme .gb-element-51fcbaea.container-widget,
.rg-theme .container-widget {
    width: 100% !important;
    max-width: 100% !important;
    background: var(--rg-card) !important;
    border: 1px solid var(--rg-border) !important;
    border-radius: var(--rg-radius) !important;
    padding: 16px 18px !important;
    margin: 0 0 18px !important;
    box-sizing: border-box;
}

/* H2 inside widget — match sidebar section heading style */
.rg-theme .container-widget > h2,
.rg-theme .container-widget .gb-text {
    color: var(--rg-text) !important;
    font-family: var(--rg-font-head) !important;
}
.rg-theme .container-widget > h2 {
    font-size: 16px !important;
    margin: 0 0 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid var(--rg-primary) !important;
    color: var(--rg-text) !important;
}

/* Loop wrapper */
.rg-theme .gb-looper-054422a1 {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Each loop item — full width row, thumb left + title right */
.rg-theme .gb-loop-item,
.rg-theme .gb-loop-item-228470c2 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
.rg-theme .gb-loop-item .gb-element-238608d4 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    border-bottom: 1px dashed var(--rg-border) !important;
    background: transparent !important;
    min-height: 64px !important;
}
.rg-theme .gb-loop-item:last-child .gb-element-238608d4 {
    border-bottom: 0 !important;
}

/* Posts without thumbnail (no <img>) — adopt left-aligned title only, no missing-image gap */
.rg-theme .gb-loop-item:not(.has-post-thumbnail) .gb-element-238608d4 {
    padding-left: 0 !important;
}
.rg-theme .gb-loop-item:not(.has-post-thumbnail) .gb-element-238608d4::before {
    content: '';
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--rg-bg-alt) 0%, var(--rg-card) 100%);
    border-radius: 4px;
    background-image:
        linear-gradient(135deg, var(--rg-bg-alt) 0%, var(--rg-card) 100%),
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23e85d04"><path d="M21 16V8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/></svg>');
    background-size: cover, 28px 28px;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    display: inline-block;
}

/* Thumbnail — force 64x64 regardless of html attrs (HTML has width="150" height="150") */
.rg-theme .gb-loop-item img,
.rg-theme .gb-media-1a35c3cc,
.rg-theme .gb-loop-item .gb-element-238608d4 > img {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    flex-shrink: 0 !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--rg-bg-alt) !important;
    display: block !important;
}

/* Lazy-load placeholder GIF — fill bg so 1px GIF doesn't stretch ugly */
.rg-theme .gb-loop-item img[src^="data:image/gif"],
.rg-theme img[data-lazyloaded="1"][src^="data:image/gif"] {
    background: linear-gradient(135deg, var(--rg-bg-alt) 0%, var(--rg-card) 100%) !important;
}

/* Title link */
.rg-theme .gb-loop-item p,
.rg-theme .gb-loop-item .gb-text {
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font: 500 13px/1.35 var(--rg-font-body) !important;
    color: var(--rg-text) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.rg-theme .gb-loop-item a {
    color: var(--rg-text) !important;
    text-decoration: none !important;
    transition: color .15s ease;
}
.rg-theme .gb-loop-item a:hover {
    color: var(--rg-primary) !important;
}

/* GenerateBlocks generic class shield — any other gb-element loaded in sidebar should follow dark theme */
.rg-theme [class*="gb-element-"] {
    box-sizing: border-box;
}
.rg-theme [class*="gb-element-"] a {
    color: var(--rg-text);
}
.rg-theme [class*="gb-element-"] a:hover {
    color: var(--rg-primary);
}

/* Container-widget rendered outside .rg-sidebar should also conform */
.rg-theme .rg-main > .container-widget,
.rg-theme .rg-main .container-widget {
    background: var(--rg-card) !important;
}

/* ============================================================
   Related Games widget (rendered by related-trainers-sidebar.php).
   Mirrors the visual contract of the Recent Posts widget.
   ============================================================ */
.rg-theme .rg-related-widget {
    width: 100% !important;
    max-width: 100% !important;
    background: var(--rg-card) !important;
    border: 1px solid var(--rg-border) !important;
    border-radius: var(--rg-radius) !important;
    padding: 16px 18px !important;
    margin: 0 0 18px !important;
    box-sizing: border-box;
}
.rg-theme .rg-related-title {
    font: 700 16px/1.2 var(--rg-font-head) !important;
    color: var(--rg-text) !important;
    margin: 0 0 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 2px solid var(--rg-primary) !important;
}
.rg-theme .rg-related-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.rg-theme .rg-related-item {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px dashed var(--rg-border);
}
.rg-theme .rg-related-item:last-child {
    border-bottom: 0;
}
.rg-theme .rg-related-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 0 !important;
    text-decoration: none !important;
    color: var(--rg-text) !important;
    transition: color .15s ease;
    min-height: 64px;
}
.rg-theme .rg-related-link:hover {
    color: var(--rg-primary) !important;
}
.rg-theme .rg-related-thumb {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    flex-shrink: 0 !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    background: var(--rg-bg-alt) !important;
    display: block !important;
    margin: 0 !important;
}
.rg-theme .rg-related-thumb-empty {
    background:
        linear-gradient(135deg, var(--rg-bg-alt) 0%, var(--rg-card) 100%),
        url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23e85d04"><path d="M21 16V8a2 2 0 0 0-1-1.7l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.7l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/></svg>') !important;
    background-size: cover, 28px 28px !important;
    background-position: center, center !important;
    background-repeat: no-repeat, no-repeat !important;
}
.rg-theme .rg-related-title-text {
    flex: 1 !important;
    min-width: 0 !important;
    font: 500 13px/1.35 var(--rg-font-body) !important;
    color: inherit !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* ============================================================
   Homepage editorial intro + Archive description blocks
   ============================================================ */
.rg-theme .rg-intro-section {
    background: var(--rg-card);
    border-left: 4px solid var(--rg-primary);
    border-radius: var(--rg-radius);
    padding: 22px 26px;
    margin: 0 0 28px;
}
.rg-theme .rg-intro-section h2 {
    font-size: 22px;
    color: var(--rg-primary);
    margin: 0 0 12px;
}
.rg-theme .rg-intro-section p {
    font-size: 14.5px;
    line-height: 1.65;
    margin: 0 0 12px;
    color: var(--rg-text);
}
.rg-theme .rg-intro-section a {
    color: var(--rg-accent);
    text-decoration: underline;
    text-decoration-color: rgba(34,211,238,.35);
    text-underline-offset: 2px;
}
.rg-theme .rg-intro-section a:hover { color: var(--rg-primary); }

.rg-theme .rg-archive-desc {
    background: var(--rg-card);
    border-left: 4px solid var(--rg-accent);
    border-radius: var(--rg-radius);
    padding: 18px 22px;
    margin: 0 0 22px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--rg-text-muted);
}
.rg-theme .rg-archive-desc p { margin: 0 0 10px; }
.rg-theme .rg-archive-desc p:last-child { margin-bottom: 0; }

/* ============================================================
   Author byline + download-top CTA section
   ============================================================ */
.rg-theme .rg-author-byline {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 12px 0 18px;
    font: 500 13px/1.4 var(--rg-font-body);
    color: var(--rg-text-muted);
}
.rg-theme .rg-byline-author {
    color: var(--rg-primary) !important;
    text-decoration: none !important;
    font-weight: 600;
}
.rg-theme .rg-byline-author:hover { color: var(--rg-primary-hov) !important; }
.rg-theme .rg-byline-sep { opacity: 0.6; }
.rg-theme .rg-meta-updated { color: var(--rg-accent); }

.rg-theme .rg-download-top {
    background: linear-gradient(135deg, rgba(232,93,4,.08), rgba(34,211,238,.04)) !important;
    border: 1px solid var(--rg-primary) !important;
}
.rg-theme .rg-download-top h2 {
    color: var(--rg-primary) !important;
    font-size: 22px !important;
}
.rg-theme .rg-download-note {
    margin: 12px 0 0;
    padding: 10px 14px;
    background: var(--rg-bg-alt);
    border-radius: var(--rg-radius-sm);
    font: 500 13px/1.5 var(--rg-font-body);
    color: var(--rg-text-muted);
}
.rg-theme .rg-download-note strong { color: var(--rg-text); }

/* Mobile compact spacing */
@media (max-width: 768px) {
    .rg-theme .container-widget,
    .rg-theme .rg-related-widget,
    .rg-theme .rg-side-box {
        padding: 14px 16px !important;
        margin-bottom: 14px !important;
    }
    .rg-theme .gb-loop-item img,
    .rg-theme .gb-media-1a35c3cc,
    .rg-theme .rg-related-thumb {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        max-width: 56px !important;
    }
    .rg-theme .gb-loop-item .gb-element-238608d4::before {
        width: 56px !important;
        height: 56px !important;
    }
    .rg-theme .gb-loop-item .gb-element-238608d4,
    .rg-theme .rg-related-link {
        min-height: 56px !important;
    }
}
