/*
Theme Name: Astra Child - Eroids
Description: Child theme for Astra to match eroids.com design
Template: astra
Version: 2.1.33
*/

/* =====================
    HEADER SPACING REMOVAL v1.3 - ENHANCED
    ===================== */

/* Remove ALL spacing above header and content */
* { box-sizing: border-box; }
html { margin: 0 !important; padding: 0 !important; }
body { margin: 0 !important; padding: 0 !important; position: relative; }
body.admin-bar { padding-top: 32px !important; }
@media screen and (max-width: 782px) {
    body.admin-bar { padding-top: 46px !important; }
}

/* Remove default browser spacing */
html:before, html:after, body:before, body:after { display: none !important; }

/* Force no spacing on critical elements */
.site, .site-header, .main-header, .header, .ast-header, 
.site-content, .ast-container, .site-main, #primary, #main,
.ast-separate-container .ast-article-post, 
.ast-separate-container .ast-article-single,
.entry-content, .page-content, .post-content,
.ast-page-builder-template, .elementor, .vc_row,
.ast-main-header-bar, .main-header-bar, .ast-primary-header,
#page, .site-wrapper { 
    margin: 0 !important; 
    padding-top: 0 !important; 
    border-top: none !important;
    top: 0 !important;
}

/* Force first child elements to have no spacing */
body > *:first-child,
#page > *:first-child,
.site > *:first-child { 
    margin-top: 0 !important; 
    padding-top: 0 !important; 
    border-top: none !important;
}

/* Specific browser resets */
body { line-height: 1; }
html, body { overflow-x: hidden; }

/* =====================
   Mobile Header Layout - MuscleGurus Style Design
   ===================== */

@media (max-width: 768px) {
    /* Dark mobile header container */
    .site-header,
    .ast-main-header-bar,
    .main-header-bar {
        background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%) !important;
        border-bottom: none !important;
        padding: 0 !important;
        min-height: 80px !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    }
    
    /* Mobile header content layout - two rows */
    .ast-main-header-bar .ast-container,
    .main-header-container {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 20px !important;
        margin: 0 !important;
        gap: 16px !important;
    }
    
    /* Top row: Hamburger + Logo */
    .header-top-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }
    
    /* Left: Hamburger Menu Button */
    .mobile-menu-button {
        order: 1 !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-radius: 8px !important;
        padding: 12px !important;
        margin: 0 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        position: relative !important;
        transition: all 0.3s ease !important;
    }
    
    .mobile-menu-button:hover {
        background: rgba(255, 255, 255, 0.15) !important;
        border-color: rgba(255, 255, 255, 0.3) !important;
    }
    
    /* Hamburger icon - 3 clean white lines */
    .mobile-menu-button .hamburger-line {
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        background: #ffffff !important;
        margin: 3px 0 !important;
        transition: all 0.3s ease !important;
        border-radius: 2px !important;
    }
    
    /* Hamburger animation when active */
    .mobile-menu-button.active .hamburger-line:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px) !important;
    }
    
    .mobile-menu-button.active .hamburger-line:nth-child(2) {
        opacity: 0 !important;
    }
    
    .mobile-menu-button.active .hamburger-line:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -6px) !important;
    }
    
    /* Center: Logo/Brand Name */
    .site-branding,
    .ast-site-identity {
        order: 2 !important;
        flex: 1 !important;
        text-align: center !important;
        margin: 0 20px !important;
    }
    
    .site-branding .site-title {
        margin: 0 !important;
        font-size: 20px !important;
        font-weight: 800 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
    }
    
    .site-branding .site-title a {
        color: #ffffff !important;
        text-decoration: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
    }
    
    /* Custom logo styling */
    .site-branding .custom-logo {
        max-height: 36px !important;
        width: auto !important;
        /* Keep original logo colors - no filter applied */
    }
    
    /* Right side spacer for balance */
    .header-spacer {
        order: 3 !important;
        width: 44px !important;
        height: 44px !important;
        flex-shrink: 0 !important;
    }
    
    /* Bottom row: Search Bar (full width) */
    .header-search-row {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
    
    .header-search-full {
        flex: 1 !important;
        position: relative !important;
    }
    
    .header-search-full input[type="search"] {
        width: 100% !important;
        padding: 12px 50px 12px 16px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        border: 1px solid rgba(255, 255, 255, 0.2) !important;
        border-radius: 12px !important;
        color: #ffffff !important;
        font-size: 14px !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        transition: all 0.3s ease !important;
    }
    
    .header-search-full input[type="search"]:focus {
        outline: none !important;
        background: rgba(255, 255, 255, 0.15) !important;
        border-color: rgba(255, 255, 255, 0.4) !important;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1) !important;
    }
    
    .header-search-full input[type="search"]::placeholder {
        color: rgba(255, 255, 255, 0.7) !important;
        font-style: italic !important;
    }
    
    .header-search-full button {
        position: absolute !important;
        right: 8px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        background: rgba(255, 255, 255, 0.2) !important;
        border: none !important;
        border-radius: 8px !important;
        width: 32px !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }
    
    .header-search-full button:hover {
        background: rgba(255, 255, 255, 0.3) !important;
    }
    
    .header-search-full button::before {
        content: '🔍' !important;
        font-size: 14px !important;
    }
    
    /* Hide desktop navigation completely */
    .main-header-menu,
    .ast-desktop-menu,
    .ast-main-header-nav,
    .primary-header .site-navigation,
    .ast-header-navigation,
    .ast-desktop-header,
    .main-navigation,
    .site-navigation,
    .ast-masthead-custom-menu-items,
    .ast-above-header,
    .ast-below-header {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* Hide old search elements */
    .header-search,
    .ast-search-box,
    .ast-search-menu-icon,
    .header-actions {
        display: none !important;
    }
}

/* Strengthen mobile header for landscape phones and wider small devices */
@media (max-width: 1024px) and (orientation: landscape) {
    /* Hide ALL desktop navigation elements when in mobile landscape */
    .main-header-menu,
    .ast-desktop-menu,
    .ast-main-header-nav,
    .primary-header .site-navigation,
    .ast-header-navigation,
    .ast-desktop-header,
    .ast-main-header-bar .ast-search-menu-icon,
    .main-navigation,
    .site-navigation,
    .ast-header-navigation-arrow,
    .ast-main-header-bar-alignment,
    .ast-flex,
    .ast-justify-content-flex-end,
    .ast-masthead-custom-menu-items {
        display: none !important;
        visibility: hidden !important;
    }
    /* Ensure mobile trigger stays visible */
    .ast-mobile-menu-buttons,
    .ast-mobile-menu-trigger,
    .menu-toggle {
        display: flex !important;
        visibility: visible !important;
    }

    /* Removed: .eroids-forum-item display override; template handles responsive grid */
}

/* Also prefer mobile nav up to 1024px regardless of orientation (covers many phones in landscape) */
@media (max-width: 1024px) {
    .ast-desktop-menu,
    .ast-desktop-header,
    .main-header-menu,
    .primary-header .site-navigation,
    .ast-header-navigation { display: none !important; }
    .ast-mobile-menu-buttons,
    .ast-mobile-menu-trigger,
    .menu-toggle { display: flex !important; }

    /* Removed: .eroids-forum-item display override; template handles responsive grid */
}

/* Force mobile menu visibility at all breakpoints up to desktop */
@media (max-width: 1199px) {
    /* Hide desktop nav completely with maximum specificity */
    .ast-desktop-menu,
    .ast-desktop-header,
    .main-header-menu,
    .primary-header .site-navigation,
    .ast-header-navigation,
    .ast-main-header-nav,
    .ast-masthead-custom-menu-items,
    .main-navigation,
    .site-navigation,
    .ast-above-header,
    .ast-below-header,
    .ast-main-header-bar .ast-container .site-header-focus-item,
    .ast-main-header-bar nav,
    .ast-masthead .main-header-bar-navigation,
    .ast-masthead .ast-masthead-custom-menu-items { 
        display: none !important; 
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    /* Show mobile menu with maximum specificity */
    .ast-mobile-menu-buttons,
    .ast-mobile-menu-trigger,
    .menu-toggle,
    .ast-mobile-header-content { 
        display: flex !important; 
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* =====================
   Source listings responsive tweaks
   ===================== */
/* Collapse Source Talk listing grid to single column on mobile */
@media (max-width: 1024px) {
    .eroids-talk-layout { grid-template-columns: 1fr !important; }
}

/* Hide sidebar on Source Reviews listing page in mobile and make grid 1 column */
@media (max-width: 1024px) {
    /* Hide the right sidebar panel */
    .eroids-source-reviews-page .latest-reviews { display: none !important; }
    /* Override inline grid definition on the immediate grid container */
    .eroids-source-reviews-page > div[style*="grid-template-columns:1fr 250px"] { grid-template-columns: 1fr !important; }
}

/* Hide sidebar on Sources page template (sources-page.php) in mobile */
@media (max-width: 1024px) {
    .eroids-sources-page .eroids-sidebar { display: none !important; }
    .eroids-sources-page .eroids-content-grid { grid-template-columns: 1fr !important; }
}

/* Hide sidebar on ALL steroid and source listing pages in mobile */
@media (max-width: 1024px) {
    /* Hide ALL sidebars on listing pages */
    .eroids-steroid-reviews-page > div[style*="grid-template-columns:1fr 250px"],
    .eroids-source-reviews-page > div[style*="grid-template-columns:1fr 250px"],
    .eroids-steroid-reviews-page > div[style*="display:grid"],
    .eroids-source-reviews-page > div[style*="display:grid"] { 
        grid-template-columns: 1fr !important; 
        display: block !important;
    }
    
    /* Force single column on ALL steroid/source listing pages */
    .eroids-steroid-reviews-page,
    .eroids-source-reviews-page {
        max-width: 100% !important;
    }
    
    .eroids-steroid-reviews-page > div,
    .eroids-source-reviews-page > div {
        display: block !important;
        grid-template-columns: 1fr !important;
    }
    
    /* Hide specific sidebar content areas */
    .eroids-steroid-reviews-page .latest-reviews,
    .eroids-source-reviews-page .latest-reviews,
    .latest-reviews,
    .sidebar-content,
    .right-sidebar,
    .secondary-sidebar {
        display: none !important;
    }
}

/* =====================
   Navigation Menu Styles
   ===================== */

/* User menu styling */
.user-menu-item .user-profile-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
}

.user-menu-item .user-avatar {
    border-radius: 50% !important;
    overflow: hidden !important;
    width: 24px !important;
    height: 24px !important;
}

.user-menu-item .user-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.user-menu-item .user-name {
    font-weight: 500 !important;
    color: #fff !important;
}

/* Dropdown menu for user */
.user-menu-item .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    min-width: 150px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) !important;
    transition: all 0.3s ease !important;
    z-index: 999 !important;
}

.user-menu-item:hover .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.user-menu-item .sub-menu li {
    list-style: none !important;
    margin: 0 !important;
}

.user-menu-item .sub-menu a {
    display: block !important;
    padding: 10px 15px !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    transition: background-color 0.2s ease !important;
}

.user-menu-item .sub-menu a:hover {
    background-color: #922b1a !important;
    color: #fff !important;
}

.user-menu-item .sub-menu li:last-child a {
    border-bottom: none !important;
}

/* Login/Register buttons styling */
.login-menu-item .login-link,
.register-menu-item .register-link {
    padding: 8px 15px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
}

.login-menu-item .login-link {
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}

.login-menu-item .login-link:hover {
    background: rgba(255,255,255,0.2) !important;
    color: #fff !important;
}

.register-menu-item .register-link {
    background: #007cba !important;
    color: #fff !important;
    border: 1px solid #007cba !important;
}

.register-menu-item .register-link:hover {
    background: #005a87 !important;
    border-color: #005a87 !important;
    color: #fff !important;
}

/* Mobile menu adjustments */
@media (max-width: 768px) {
    .user-menu-item .sub-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        box-shadow: none !important;
        border: none !important;
        background: #f8f9fa !important;
        margin-top: 5px !important;
    }
    
    .user-menu-item .user-profile-link {
        color: #333 !important;
    }
    
  
}

/* Desktop header styles */
.site-header .header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.site-header .header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
}

.site-branding {
    flex: 0 0 auto;
}

.header-search {
    flex: 1 1 auto;
    max-width: 400px;
    margin: 0 1rem;
}

.header-search form {
    display: flex;
    gap: 0.5rem;
}

.header-search input[type="search"] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 0.875rem;
}

.header-search button {
    padding: 0.5rem 0.75rem;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
}

.main-navigation {
    flex: 0 0 auto;
}

.main-navigation .nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 1rem;
}

.main-navigation .nav-menu li a {
    text-decoration: none;
    padding: 0.5rem 0.75rem;
    border-radius: 0.25rem;
    transition: background-color 0.2s;
}

/* Desktop: show desktop nav, hide mobile overlay */
@media (min-width: 801px) {
    .desktop-nav { display: block !important; }
    .mobile-nav-toggle { display: none !important; }
    .mobile-overlay-nav { display: none !important; }
}

@media (max-width: 800px) {
  /* Hide desktop navigation styles on mobile */
    .desktop-nav .nav-menu {
    display: none;
  }
  
  .mobile-nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    width: 2.5rem;
    height: 2.5rem;
    color: #fff;
    padding: 0.25rem;
    z-index: 10000;
    position: relative;
  }

  .site-header .header-container {
    padding: 0.5rem !important;
    position: relative;
    z-index: 1000;
  }

  .site-header .header-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    padding: 0;
  }
  
  /* Mobile header top row */
  .mobile-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
    z-index: 10001;
  }
  
  .site-branding {
    flex: 1;
    text-align: center;
  }
  
  .site-branding .site-title {
    font-size: 1.5rem !important;
    margin: 0;
  }
  
  .header-search {
    width: 100%;
    max-width: none;
    margin: 0;
    order: 2;
  }
  
  .header-search form {
    position: relative;
    width: 100%;
    display: flex;
    gap: 0;
  }
  
  .header-search input[type="search"] {
    width: 100%;
    padding: 0.75rem 3rem 0.75rem 1rem;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 0.75rem;
    background: rgba(255,255,255,0.1);
    color: #fff;
    font-size: 1rem;
    backdrop-filter: blur(10px);
  }
  
  .header-search input[type="search"]::placeholder {
    color: rgba(255,255,255,0.7);
  }
  
  .header-search button {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.2);
    border: none;
    padding: 0.5rem;
    border-radius: 0.5rem;
    color: #fff;
    cursor: pointer;
    font-size: 1.1rem;
  }
  
    /* Mobile overlay specific container */
        .mobile-overlay-nav {
            display: flex;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #1a1a1a !important;
    z-index: 9999 !important;
    margin: 0;
    order: 3;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateX(-100%);
    transition: all 0.3s ease;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2rem 2rem 2rem 2rem;
  }
  
        /* Closed state (mobile) */
        .mobile-overlay-nav {
            display: none;
        }

        /* Open state (mobile) */
        body.mobile-menu-open .mobile-overlay-nav {
            display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateX(0) !important;
  }
  
  /* Override desktop nav-menu hiding for mobile menu */
    body.mobile-menu-open .mobile-overlay-nav .nav-menu {
    display: flex !important;
    flex-direction: column;
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: left;
    width: 100%;
    max-width: none;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
  }
  
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li {
    width: 100%;
    margin-bottom: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
  }
  
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Staggered animation for mobile menu items */
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:nth-child(1) { 
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s; 
  }
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:nth-child(2) { 
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.15s; 
  }
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:nth-child(3) { 
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s; 
  }
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:nth-child(4) { 
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.25s; 
  }
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:nth-child(5) { 
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s; 
  }
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:nth-child(6) { 
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.35s; 
  }
  
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li:last-child {
    margin-bottom: 0;
  }
  
    body.mobile-menu-open .mobile-overlay-nav .nav-menu li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.2rem 0;
    color: #fff !important;
    text-decoration: none !important;
    transition: all 0.2s ease;
    font-size: 1.1rem;
    font-weight: 400;
    position: relative;
    border: none !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
  }
  
  /* Hover effect for expanded items */
    body.mobile-menu-open .mobile-overlay-nav .menu-item-has-children.expanded > a:hover:after {
    transform: rotate(90deg) translateY(-3px);
  }

  .mobile-nav-toggle .hamburger {
    width: 24px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    position: relative;
    display: block;
    transition: all 0.3s;
  }
  
  .mobile-nav-toggle .hamburger:before,
  .mobile-nav-toggle .hamburger:after {
    content: '';
    position: absolute;
    left: 0;
    width: 24px;
    height: 3px;
    background: #fff;
    border-radius: 2px;
    transition: all 0.3s;
  }
  
  .mobile-nav-toggle .hamburger:before {
    top: -8px;
  }
  
  .mobile-nav-toggle .hamburger:after {
    top: 8px;
  }
  
  /* Hamburger animation when menu is open */
  body.mobile-menu-open .mobile-nav-toggle .hamburger {
    background: transparent;
  }
  
  body.mobile-menu-open .mobile-nav-toggle .hamburger:before {
    transform: rotate(45deg);
    top: 0;
  }
  
  body.mobile-menu-open .mobile-nav-toggle .hamburger:after {
    transform: rotate(-45deg);
    top: 0;
  }

/* =====================
    Eroids Forum Layouts (Enhanced + Generic)
    Moved from inline template styles for maintainability
    ===================== */

/* Enhanced source/steroid discussion layout */
.eroids-source-talk-layout{display:grid!important;grid-template-columns:1fr 300px!important;gap:20px;max-width:1280px;margin:0 auto;padding:20px}
.eroids-source-talk-layout *{box-sizing:border-box}
.eroids-source-talk-layout ul,.eroids-source-talk-layout ol{margin:0;padding:0;list-style:none}
.eroids-source-talk-layout a{color:#2c5aa0;text-decoration:none}
.eroids-source-talk-layout a:hover{text-decoration:underline;color:#1e4080}
.sidebar-widget,.discussion-column{background:#fff;border:1px solid #ddd;border-radius:8px}
.source-header{background:#007cba;color:#fff;padding:8px;text-align:center;font-weight:700}
.source-title{margin:12px 0 8px;padding:0 12px;font-size:14px}
.source-screenshot{padding:0 12px 12px}
.source-stats{text-align:center;color:#666;padding:8px 12px;font-size:12px}
.source-actions{padding:12px;border-top:1px solid #eee}
.btn-review,.btn-visit{display:block;text-align:center;background:#007cba;color:#fff;padding:8px 12px;border-radius:4px;text-decoration:none;margin-bottom:8px;font-size:11px}
.btn-visit{background:#28a745}
.topic-header{background:#f8f9fa;border-bottom:1px solid #ddd;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}
.topic-actions a{display:inline-block;background:#007cba;color:#fff;padding:6px 12px;border-radius:4px;text-decoration:none;margin-left:8px;font-size:11px}
.info-section{border-bottom:1px solid #eee}
.info-header{background:#e9ecef;padding:8px 16px;font-weight:700;font-size:12px}
.info-content{padding:12px;font-size:12px}
.info-section.accordion .info-content{display:none}
.info-section.accordion.is-open .info-content{display:block}
.promo-section{padding:16px;text-align:center;border-bottom:1px solid #eee}
.go-to-reviews{display:inline-block;background:#28a745;color:#fff;padding:8px 14px;border-radius:4px;text-decoration:none}
.promo-banner{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;padding:14px;margin:16px;border-left:4px solid #28a745}
.promo-banner .promo-text{font-weight:700;color:#155724;margin-bottom:8px}
.sidebar-widget .widget-title{background:#6c757d;color:#fff;padding:10px 12px;border-top-left-radius:8px;border-top-right-radius:8px}
.review-item{display:flex;gap:8px;padding:12px;border-bottom:1px solid #eee}
.review-item:last-child{border-bottom:none}
.replies-section{padding:16px}
.eroids-replies .reply-item{border-top:1px solid #eee;padding:15px 0}
.eroids-replies .reply-item:first-child{border-top:none}
.eroids-replies .reply-item.depth-1{margin-left:30px;border-left:3px solid #f0f0f0;padding-left:12px}
.eroids-replies .reply-item.depth-2{margin-left:60px;border-left:3px solid #eef2f7;padding-left:12px}
.eroids-replies .reply-item.depth-3{margin-left:90px;border-left:3px solid #eef2f7;padding-left:12px}
.eroids-replies .reply-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;background:#fff9cc;border:1px solid #f0e08a;padding:6px 8px;border-radius:3px}
.eroids-replies .reply-author{display:flex;gap:10px;align-items:flex-start}
.eroids-replies .reply-author .avatar img{border-radius:4px}
.eroids-replies .reply-author-info .name{font-weight:700}
.eroids-replies .reply-author-info .time{font-size:11px;color:#666}
.eroids-replies .reply-author-info .in-reply-to{font-size:11px;color:#5b7083;margin-top:2px}
.eroids-replies .reply-author-info .reply-badge{display:inline-block;background:#2c5aa0;color:#fff;border-radius:3px;font-size:10px;padding:2px 6px;margin-right:6px}
.eroids-replies .reply-actions a{font-size:12px;margin-left:10px;color:#007cba}
.eroids-replies .reply-content{padding-left:58px}
.eroids-replies .reply-content-box{background:#f9fbff;border:1px solid #e3ecff;border-radius:4px;padding:10px}
.eroids-replies .reply-content-box .parent-snippet{background:#eef5ff;border:1px solid #d7e6ff;border-radius:3px;padding:6px 8px;margin-bottom:8px;color:#3a4b5c;font-size:12px}
.eroids-replies .reply-content-box .parent-snippet a{color:#2c5aa0}
.reply-attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.reply-attachments img{max-width:140px;height:auto;border:1px solid #eee;border-radius:4px}
.sidebar-widget .eroids-ad img{display:block;width:100%;height:auto;border-radius:6px}
.promo-banner{display:none!important}
.eroids-replies-container.is-threaded ul.bbp-replies-list{list-style:none;margin:0;padding:0}
.eroids-replies-container.is-threaded ul.bbp-replies-list li{list-style:none}
.eroids-replies-container.is-threaded .bbp-reply-content{padding-left:0}
.eroids-replies-container.is-threaded .bbp-reply-author img.avatar{border-radius:4px}
.eroids-replies-container.is-threaded .bbp-reply-header{display:none}
.eroids-replies-container.is-threaded li.bbp-reply, .eroids-replies-container.is-threaded div.bbp-reply{border-top:1px solid #eee;padding:15px 0}
.eroids-replies-container.is-threaded li.bbp-reply:first-child{border-top:none}
.eroids-replies-container.is-threaded .bbp-replies-list > li{margin:0}
.eroids-replies-container.is-threaded .children{margin-left:40px;border-left:3px solid #e8eef7;padding-left:14px}
.eroids-replies-container.is-threaded .children .children{margin-left:40px;border-left-color:#e1e9f6}
.eroids-replies-container.is-threaded .bbp-reply-content .bbp-reply-revision-log{border-top:0;color:#aaa;font-size:11px;padding-top:6px}
.eroids-replies-container.is-threaded .bbp-reply-wrap{padding:10px 10px 10px 0;border-radius:4px}
.eroids-replies-container.is-threaded .bbp-reply-wrap.depth-1{background:#fbfdff}
.eroids-replies-container.is-threaded .bbp-reply-wrap.depth-2{background:#f8fbff}
.eroids-replies-container.is-threaded .bbp-reply-wrap.depth-3{background:#f6faff}
.eroids-replies-container.is-threaded .bbp-reply-meta .in-reply-to{display:inline-block;background:#eef5ff;border:1px solid #d7e6ff;padding:2px 6px;border-radius:3px;margin-left:8px}
.eroids-replies-container.is-threaded .reply-content-box{background:#f9fbff;border:1px solid #e3ecff;border-radius:4px;padding:10px}
.eroids-replies-container.is-threaded .reply-content-box .parent-snippet{background:#eef5ff;border:1px solid #d7e6ff;border-radius:3px;padding:6px 8px;margin-bottom:8px;color:#3a4b5c;font-size:12px}
.steroid-specs-layout{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:start}
.steroid-image{border:1px solid #ddd;background:#f9f9f9;padding:6px;text-align:center;border-radius:4px}
.steroid-image img{max-width:100%;height:auto;max-height:70px}
.no-image{color:#999;font-size:10px;padding:15px 0}
.compact-specs-table{width:100%;border-collapse:collapse;font-size:11px}
.compact-specs-table td{padding:2px 6px;border-bottom:1px solid #f5f5f5;vertical-align:top}
.compact-specs-table td:first-child{width:100px;color:#666;font-weight:400}
.compact-specs-table td:last-child{color:#333}
.compact-specs-table a{color:#2c5aa0;text-decoration:none}
.compact-specs-table a:hover{text-decoration:underline}
@media(max-width:768px){.steroid-specs-layout{grid-template-columns:1fr;gap:8px}}
@media(max-width:1024px){.eroids-source-talk-layout{grid-template-columns:1fr}.sidebar-column{order:2}.discussion-column{order:1}}

/* Generic topic layout */
.eroids-generic-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px;grid-auto-rows:minmax(min-content,max-content);gap:20px;max-width:1200px;margin:0 auto;padding:16px;box-sizing:border-box}
.eroids-generic-layout > *{min-width:0}
.eroids-generic-topic{max-width:100%;margin:0;padding:0}
.generic-sidebar .sidebar-widget{background:#fff;border:1px solid #ddd;border-radius:8px}
.generic-sidebar .widget-title{background:#6c757d;color:#fff;padding:10px 12px;border-top-left-radius:8px;border-top-right-radius:8px}
.generic-sidebar .widget-body{padding:10px 12px}
.generic-related .item{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #eee}
.generic-related .item:last-child{border-bottom:none}
.generic-related .title{font-size:13px;color:#2c5aa0}
.generic-related .fresh{font-size:11px;color:#666}
.generic-actions{display:flex;gap:6px;align-items:center;margin:6px 0 10px}
/* Compact inline links like reference: text-only with middle dot */
.generic-actions .btn,
.generic-actions .btn.secondary{
    background:none !important;
    border:none !important;
    padding:0 !important;
    color:#2c5aa0 !important;
    text-decoration:underline;
    font-size:12px;
    font-weight:600;
}
.generic-actions a + a::before{content:" \2022 "; color:#666; margin:0 6px}
.generic-actions .spacer{flex:1}
.eroids-generic-topic *{box-sizing:border-box}
.generic-header{background:#f8f9fa;border:1px solid #ddd;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.generic-title{margin:0 0 6px;font-size:24px;line-height:1.25;font-weight:700;color:#2c5aa0}
.generic-meta{font-size:12px;color:#666;display:flex;gap:8px;align-items:center}
.generic-meta .by a{color:#2c5aa0;text-decoration:none}
.generic-meta .by a:hover{text-decoration:underline}
.generic-lead{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;margin-bottom:16px}
.generic-replies{background:#fff;border:1px solid #ddd;border-radius:8px;padding:6px 10px}
.generic-section-title{font-size:12px;text-transform:uppercase;color:#555;font-weight:700;margin:8px 0 10px}
.generic-login{margin:8px 0 12px}
/* Remove bullets inside generic replies */
.generic-replies ul, .generic-replies ol{list-style:none;margin:0;padding:0}

/* bbPress fallback styling: make default replies look like compact cards even if our template isn't used */
.bbp-replies, .bbp-replies-container{background:#fff;border:1px solid #ddd;border-radius:8px}
.bbp-replies .bbp-header, .bbp-replies .bbp-footer{display:none}
.bbp-replies .bbp-body > li,
.bbp-replies .bbp-body > div,
.bbp-replies-container .bbp-body > li,
.bbp-replies-container .bbp-body > div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px;border-bottom:1px solid #f0f0f0;background:#fff}
.bbp-replies .bbp-body > li:last-child,
.bbp-replies .bbp-body > div:last-child,
.bbp-replies-container .bbp-body > li:last-child,
.bbp-replies-container .bbp-body > div:last-child{border-bottom:none}
.bbp-reply-author{text-align:center}
.bbp-reply-author img.avatar{width:48px;height:48px;border-radius:8px}
.bbp-reply-content{position:relative}
.bbp-reply-content .bbp-admin-links{display:none}
.bbp-reply-content:hover .bbp-admin-links{display:inline-block}
.bbp-reply-content p{margin-bottom:12px}
.bbp-reply-content p:last-child{margin-bottom:0}

/* Also style classic bbPress list items to match card grid */
#bbpress-forums li.bbp-reply, #bbpress-forums div.bbp-reply{display:grid !important;grid-template-columns:90px 1fr !important;gap:12px !important;padding:12px !important;border-bottom:1px solid #f0f0f0 !important;background:#fff !important}
#bbpress-forums li.bbp-reply:last-child{border-bottom:none !important}
#bbpress-forums .bbp-replies .bbp-body, #bbpress-forums .bbp-replies{background:#fff !important;border:none !important}
#bbpress-forums .bbp-replies .bbp-header, #bbpress-forums .bbp-replies .bbp-footer{display:none !important}
#bbpress-forums div.bbp-reply-header{display:none !important}
#bbpress-forums div.bbp-reply-author{text-align:center !important; float:none !important; width:auto !important}
#bbpress-forums div.bbp-reply-author img.avatar{width:48px !important;height:48px !important;border-radius:8px !important}
#bbpress-forums .bbp-reply-content{position:relative !important; float:none !important; width:auto !important}
#bbpress-forums .bbp-reply-content .bbp-admin-links{opacity:.2;transition:opacity .15s}
#bbpress-forums li.bbp-reply:hover .bbp-admin-links{opacity:1}
#bbpress-forums .bbp-reply-content .bbp-admin-links a{background:#f0f0f0;padding:2px 6px;border-radius:3px;color:#2c5aa0;text-decoration:none;margin-right:6px}
#bbpress-forums .bbp-reply-content .bbp-admin-links a:hover{background:#e0e0e0}
#bbpress-forums a.bbp-reply-to-link, #bbpress-forums a.bbp-quote-link{color:#2c5aa0 !important;background:#f0f0f0 !important;padding:4px 8px;border-radius:3px;text-decoration:none;margin-right:6px;font-size:12px}
#bbpress-forums a.bbp-reply-to-link:hover, #bbpress-forums a.bbp-quote-link:hover{background:#e0e0e0 !important}
#bbpress-forums .bbp-submit-wrapper{display:flex !important;justify-content:center !important}
/* Hide verbose admin links list to reduce clutter */
#bbpress-forums .bbp-admin-links, .bbpress .bbp-admin-links{display:none !important}

/* Neutralize theme overrides that give pink backgrounds or huge paddings on bbPress screens */
.bbpress .site-main, .bbpress #primary, .bbpress .content-area, .bbpress .site-content{background:#f8f9fb !important}
.single-topic .site-main, .single-topic #primary, .single-topic .content-area, .single-topic .site-content{background:#f8f9fb !important}
body.bbpress .site-content, body.bbpress #content{background:#f8f9fb !important}
.bbpress .site-main{padding:12px 0 !important}
.single-topic .site-main{padding:12px 0 !important}
.bbpress .bbp-template-notice{background:#fff !important;color:#333 !important;border:1px solid #ddd !important;border-left:4px solid #2c5aa0 !important}

/* Ensure bbPress pages use full-width content area (avoid theme sidebar layout pushing content to the right) */
.bbpress #primary, .bbpress .content-area{float:none !important; width:100% !important;}
.bbpress #secondary, .bbpress .secondary{display:none !important}
.bbpress .site-content .ast-container{display:block !important; max-width:1200px; margin-left:auto; margin-right:auto; padding-left:16px; padding-right:16px;}
.bbpress .ast-container, .bbpress .site-content .container{max-width:1200px; margin-left:auto; margin-right:auto;}

/* Generic layout responsive behavior and centering */
.eroids-generic-layout{width:100%;}
@media(max-width:1024px){
    .eroids-generic-layout{grid-template-columns:1fr;}
    .generic-sidebar{order:2}
    .eroids-generic-topic{order:1}
}

/* Hide IMAGE tab (optional, matches screenshot). Remove this block to re-enable. */
.eroids-reply-form .form-tabs .tab-button[data-tab="image"]{display:none}
.bbpress .bbp-template-notice p{margin:6px 8px !important;font-size:12px !important}
.bbpress .bbp-topic-form, .bbpress .bbp-replies, .bbpress .bbp-form, .bbpress .bbp-reply-form{background:#fff !important;border:1px solid #e5e7eb !important;border-radius:8px !important}
.bbpress .bbp-topic-form, .bbpress .bbp-form{padding:10px 12px !important;margin-bottom:12px !important}
.bbpress .bbp-topic-form legend{font-size:14px !important;margin-bottom:8px !important}

/* Compact the default topic title block and meta list */
.bbpress .bbp-topic-title, .bbpress .bbp-topic-description, .single-topic .entry-title{margin:0 0 8px !important}
.bbpress .bbp-meta, .bbpress .bbp-breadcrumb{margin:0 0 8px !important}
.bbp-topic-permalink{font-size:22px !important;font-weight:700 !important;color:#2c5aa0 !important}

/* Hide verbose inline admin links until hover for a calmer UI */
.bbpress .bbp-reply-content .bbp-admin-links{opacity:0.2;transition:opacity .15s}
.bbpress .bbp-reply-content:hover .bbp-admin-links{opacity:1}

/* Ensure two-column grid collapses nicely on smaller screens */
@media(max-width:1024px){
    .eroids-generic-layout{grid-template-columns:1fr}
    .generic-sidebar{order:2}
    .eroids-generic-topic{order:1}
}

/* Floating action buttons (Reply / Latest) */
.eroids-fab{position:fixed;right:20px;bottom:20px;display:flex;gap:8px;z-index:9990;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s ease, transform .2s ease, visibility .2s ease}
.eroids-fab.show{opacity:1;visibility:visible;transform:translateY(0)}
.eroids-fab .btn{display:inline-block;background:#2c5aa0;color:#fff;padding:8px 12px;border-radius:20px;font-size:13px;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.eroids-fab .btn.secondary{background:#6c757d}
@media(max-width:768px){.eroids-fab{right:12px;bottom:12px}.eroids-fab .btn{padding:8px 10px;font-size:12px}}

/* Reply items (tightened spacing, 48px avatar) */
.eroids-reply-item{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px;border-bottom:1px solid #f0f0f0;background:#fff}
.eroids-reply-item:hover{background:#f9f9f9}
.reply-author-info{text-align:center}
.reply-author-avatar{width:48px;height:48px;border-radius:8px;overflow:hidden;margin:0 auto 8px}
.reply-author-avatar img{width:100%;height:100%;object-fit:cover}
.reply-author-name{font-size:14px;font-weight:600;color:#2c5aa0;margin-bottom:4px}
.reply-author-title{font-size:10px;color:#666;text-transform:uppercase;margin-bottom:6px}
.reply-author-stats{font-size:10px;color:#888;line-height:1.4}
.reply-content-area{position:relative}
.reply-meta-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;color:#666}
.reply-date{color:#888}
.reply-content-main{line-height:1.6;color:#333;margin-bottom:6px}
.reply-content-main p{margin-bottom:12px}
.reply-content-main p:last-child{margin-bottom:0}
.reply-actions{display:flex;gap:8px;font-size:12px;align-items:center}
.reply-actions a{color:#2c5aa0;text-decoration:none;padding:4px 8px;border-radius:3px;background:#f0f0f0}
.reply-actions a:hover{background:#e0e0e0}
.reply-actions .more-wrap{position:relative}
.reply-actions .more-btn{background:#eee;color:#333}
.reply-actions .admin-menu{display:none;position:absolute;right:0;top:26px;background:#fff;border:1px solid #ddd;border-radius:4px;min-width:160px;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:6px}
.reply-actions .admin-menu a{display:block;background:transparent;padding:6px 8px;margin:0;color:#2c5aa0}
.reply-actions .admin-menu a:hover{background:#f3f4f6}
.reply-actions .more-wrap.open .admin-menu{display:block}
.parent-quote{background:#f8f9fa;border-left:3px solid #2c5aa0;padding:8px 12px;margin-bottom:10px;font-size:13px;color:#666;font-style:italic}
.parent-quote-author{font-weight:600;color:#2c5aa0;margin-bottom:4px}
.user-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:9px;text-transform:uppercase;font-weight:600;margin-bottom:4px}
.badge-admin{background:#dc3545;color:#fff}
.badge-mod{background:#28a745;color:#fff}
.badge-vip{background:#ffc107;color:#000}
.badge-member{background:#6c757d;color:#fff}
.badge-op{background:#2c5aa0;color:#fff}

/* Page background for bbPress */
.bbpress .site-main, .single-topic .site-main{background:#fff}
  
  /* Prevent body scroll when mobile menu is open */
  body.mobile-menu-open {
    overflow: hidden;
  }
  
  /* Mobile menu header */
  .mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 3rem;
    padding-bottom: 0;
  }
  
  .mobile-menu-title {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0;
  }
  
  /* Close button for mobile menu */
  .mobile-menu-close {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 1.5rem;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    opacity: 0.7;
  }
  
  .mobile-menu-close:hover {
    opacity: 1;
    transform: rotate(90deg);
  }
  
    /* Mobile submenu styles - AGGRESSIVE OVERRIDES */
    .mobile-menu-custom .menu-item-has-children .sub-menu,
    .mobile-menu-custom .sub-menu,
    .mobile-menu-custom ul.sub-menu {
    position: static !important;
    display: block !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: none !important;
    box-shadow: none !important;
    margin: 5px 0 10px 0 !important;
    padding: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease !important;
    border-radius: 8px !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: auto !important;
  }
  
  /* Show submenu when parent is expanded - AGGRESSIVE OVERRIDES */
    .mobile-menu-custom .menu-item-has-children.expanded .sub-menu,
    .mobile-menu-custom .expanded .sub-menu,
    .mobile-menu-custom .expanded ul.sub-menu {
    max-height: 500px !important;
    padding: 10px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
    .mobile-menu-custom .menu-item-has-children .sub-menu li {
    margin-bottom: 0 !important;
    border-bottom: none !important;
  }
  
    .mobile-menu-custom .menu-item-has-children .sub-menu li a {
    font-size: 16px !important;
    padding: 10px 15px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    font-weight: 400 !important;
    position: relative !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  
  /* Nested submenu arrows */
    .mobile-menu-custom .menu-item-has-children .sub-menu .menu-item-has-children > a::after {
    content: "▶" !important;
    font-size: 12px !important;
    opacity: 0.6 !important;
  }
  
    .mobile-menu-custom .menu-item-has-children .sub-menu li a:hover {
    color: #c0392b !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 4px !important;
  }
}

/* ===== SEARCH RESULTS STYLING ===== */
.search-results-header {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #e5e7eb;
    text-align: center;
}

.search-results-header h1 {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: #1f2937;
}

.search-results-header span {
    color: #dc2626;
    font-weight: 600;
}

.search-results-count {
    color: #6b7280;
    font-size: 0.875rem;
    margin: 0;
}

.search-results-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.search-result-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
}

.search-result-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: #dc2626;
}

.search-result-link {
    display: block;
    text-decoration: none;
    color: inherit;
    height: 100%;
}

.search-result-header {
    padding: 1rem;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-bottom: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-result-type {
    flex: 1;
}

.post-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
}

.badge-icon {
    font-size: 1rem;
}

.badge-text {
    font-size: 0.7rem;
    font-weight: 700;
}

.post-type-badge.eroids_steroid {
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    color: #1e40af;
    border: 1px solid #93c5fd;
}

.post-type-badge.eroids_source {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
    color: #166534;
    border: 1px solid #86efac;
}

.post-type-badge.topic {
    background: linear-gradient(135deg, #fef3c7 0%, #fed7aa 100%);
    color: #92400e;
    border: 1px solid #fbbf24;
}

.post-type-badge.reply {
    background: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);
    color: #3730a3;
    border: 1px solid #a5b4fc;
}

.post-type-badge.post {
    background: linear-gradient(135deg, #f3e8ff 0%, #e9d5ff 100%);
    color: #6b21a8;
    border: 1px solid #c084fc;
}

.post-type-badge.source_review,
.post-type-badge.product_review {
    background: linear-gradient(135deg, #fef7cd 0%, #fef3c7 100%);
    color: #a16207;
    border: 1px solid #facc15;
}

.post-type-badge.page {
    background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
    color: #475569;
    border: 1px solid #94a3b8;
}

.search-result-thumbnail {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.search-result-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.search-result-body {
    padding: 1.25rem;
}

.search-result-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    line-height: 1.4;
    color: #1f2937;
    transition: color 0.2s ease;
}

.search-result-card:hover .search-result-title {
    color: #dc2626;
}

.content-meta {
    margin-bottom: 1rem;
    padding: 0.75rem;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 3px solid #e5e7eb;
}

.search-result-card.eroids_steroid .content-meta {
    border-left-color: #3b82f6;
}

.search-result-card.eroids_source .content-meta {
    border-left-color: #10b981;
}

.search-result-card.topic .content-meta {
    border-left-color: #f59e0b;
}

.meta-grid {
    display: grid;
    gap: 0.5rem;
}

.meta-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
}

.meta-label {
    font-weight: 600;
    color: #6b7280;
    flex-shrink: 0;
}

.meta-value {
    color: #374151;
    font-weight: 500;
    text-align: right;
    word-break: break-word;
}

.search-result-excerpt {
    margin-bottom: 1rem;
    color: #4b5563;
    line-height: 1.6;
    font-size: 0.9rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.search-result-footer {
    padding: 1rem 1.25rem;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-result-meta {
    display: flex;
    gap: 1rem;
    font-size: 0.75rem;
    color: #6b7280;
}

.meta-date,
.meta-author {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.view-more {
    font-size: 0.8rem;
    color: #dc2626;
    font-weight: 600;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.search-result-card:hover .view-more {
    opacity: 1;
}

.view-arrow {
    transition: transform 0.2s ease;
}

.search-result-card:hover .view-arrow {
    transform: translateX(4px);
}

.no-search-results {
    text-align: center;
    padding: 4rem 2rem;
    background: #f9fafb;
    border-radius: 12px;
    margin: 2rem 0;
}

.no-search-results h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: #1f2937;
}

.search-suggestions {
    margin: 2rem 0;
    text-align: left;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-suggestions h3 {
    margin-bottom: 1.5rem;
    color: #1f2937;
    font-size: 1.2rem;
    text-align: center;
}

.suggestions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;
}

.suggestion-category {
    background: #f8fafc;
    padding: 1rem;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
}

.suggestion-category h4 {
    margin-bottom: 0.75rem;
    color: #374151;
    font-size: 1rem;
    font-weight: 600;
}

.suggestion-category ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.suggestion-category li {
    margin-bottom: 0.5rem;
}

.suggestion-category li a {
    color: #dc2626;
    text-decoration: none;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    transition: all 0.2s ease;
    display: inline-block;
}

.suggestion-category li a:hover {
    background: #dc2626;
    color: #fff;
}

.search-form-wrapper {
    margin-top: 2rem;
    background: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-form-wrapper h3 {
    margin-bottom: 1rem;
    color: #1f2937;
    font-size: 1.2rem;
}

.new-search-form {
    display: flex;
    gap: 0.5rem;
    max-width: 400px;
    margin: 0 auto;
}

.new-search-form input {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 1rem;
}

.new-search-form button {
    padding: 0.75rem 1.5rem;
    background: #dc2626;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease;
}

.new-search-form button:hover {
    background: #b91c1c;
}

@media (max-width: 768px) {
    .suggestions-grid {
        grid-template-columns: 1fr;
    }
    
    .new-search-form {
        flex-direction: column;
    }
}

/* Responsive adjustments for search results */
@media (max-width: 768px) {
    .search-results-container {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .search-result-header {
        flex-direction: column;
        gap: 0.75rem;
        align-items: flex-start;
    }
    
    .search-result-thumbnail {
        width: 80px;
        height: 80px;
        align-self: center;
    }
    
    .search-results-header h1 {
        font-size: 1.5rem;
    }
    
    .content-meta {
        padding: 0.5rem;
    }
    
    .meta-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
    
    .meta-value {
        text-align: left;
    }
    
    .search-result-footer {
        flex-direction: column;
        gap: 0.5rem;
        align-items: flex-start;
    }
    
    .search-result-meta {
        flex-direction: column;
        gap: 0.5rem;
    }
}

@media (max-width: 480px) {
    .search-results-container {
        margin: 0 -0.5rem;
    }
    
    .search-result-card {
        border-radius: 8px;
        margin: 0 0.5rem;
    }
    
    .post-type-badge {
        padding: 0.4rem 0.8rem;
        gap: 0.3rem;
    }
}
/* ===== END SEARCH RESULTS STYLING ===== */

/* ===== FORUM REPLY PAGE STYLING ===== */
.bbpress-reply-page {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1rem;
}

.reply-single {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 2rem;
}

.reply-header {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    padding: 1.5rem;
    border-bottom: 1px solid #e5e7eb;
}

.breadcrumb-wrapper {
    margin-bottom: 1rem;
}

.breadcrumb-wrapper .bbp-breadcrumb {
    font-size: 0.875rem;
    color: #6b7280;
}

.breadcrumb-wrapper .bbp-breadcrumb a {
    color: #dc2626;
    text-decoration: none;
}

.breadcrumb-wrapper .bbp-breadcrumb a:hover {
    text-decoration: underline;
}

.reply-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    line-height: 1.4;
}

.reply-content-wrapper {
    display: flex;
    gap: 1.5rem;
    padding: 1.5rem;
}

.reply-meta {
    flex-shrink: 0;
    width: 200px;
}

.author-info {
    background: #f9fafb;
    border-radius: 8px;
    padding: 1rem;
    border: 1px solid #e5e7eb;
}

.author-avatar {
    text-align: center;
    margin-bottom: 1rem;
}

.author-avatar img {
    border-radius: 50%;
    width: 60px;
    height: 60px;
}

.author-name {
    font-size: 1rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 0.5rem 0;
    text-align: center;
}

.reply-date {
    font-size: 0.875rem;
    color: #6b7280;
    text-align: center;
    margin-bottom: 0.5rem;
}

.user-role {
    font-size: 0.75rem;
    color: #dc2626;
    text-align: center;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.reply-content {
    flex: 1;
}

.content-body {
    background: #fff;
    padding: 1rem;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    margin-bottom: 1rem;
    line-height: 1.6;
    color: #374151;
}

.content-body p {
    margin-bottom: 1rem;
}

.content-body p:last-child {
    margin-bottom: 0;
}

.reply-actions {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.back-to-topic,
.edit-reply {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.back-to-topic {
    background: #f3f4f6;
    color: #374151;
    border: 1px solid #d1d5db;
}

.back-to-topic:hover {
    background: #e5e7eb;
    color: #1f2937;
}

.edit-reply {
    background: #dc2626;
    color: #fff;
    border: 1px solid #dc2626;
}

.edit-reply:hover {
    background: #b91c1c;
    border-color: #b91c1c;
}

.no-content {
    text-align: center;
    padding: 3rem 1rem;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.no-content h1 {
    font-size: 1.5rem;
    color: #1f2937;
    margin-bottom: 1rem;
}

.no-content p {
    color: #6b7280;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .reply-content-wrapper {
        flex-direction: column;
        gap: 1rem;
    }
    
    .reply-meta {
        width: 100%;
    }
    
    .author-info {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1rem;
    }
    
    .author-avatar {
        margin-bottom: 0;
        flex-shrink: 0;
    }
    
    .author-details {
        flex: 1;
    }
    
    .author-name,
    .reply-date,
    .user-role {
        text-align: left;
    }
    
    .reply-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .back-to-topic,
    .edit-reply {
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .bbpress-reply-page {
        padding: 0 0.5rem;
    }
    
    .reply-header,
    .reply-content-wrapper {
        padding: 1rem;
    }
    
    .reply-title {
        font-size: 1.25rem;
    }
    
    .author-info {
        flex-direction: column;
        text-align: center;
    }
    
    .author-name,
    .reply-date,
    .user-role {
        text-align: center;
    }
}
/* ===== END FORUM REPLY PAGE STYLING ===== */

/* Footer Mobile Fixes */
@media (max-width: 560px) {
  .site-footer {
    padding: 1.5rem 0.75rem !important;
  }
  
  .footer-content {
    padding: 0 !important;
  }
  
    .footer-columns-wrapper { 
        gap: 1rem !important; 
        grid-template-columns: repeat(2, 1fr) !important; /* Ensure 2 columns */
    }
  
    .footer-column { 
        margin: 0 !important; 
        padding: 0.75rem 0.5rem !important; 
        text-align: left !important; /* Left align for better mobile layout */
    }
  
  .footer-column h4 {
    font-size: 1.1rem !important;
    margin-bottom: 0.75rem !important;
    color: #374151 !important;
    font-weight: 600 !important;
  }
  
  .footer-column ul {
    padding-left: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }
  
  .footer-column ul li {
    margin-bottom: 0 !important;
  }
  
  .footer-column ul li a {
    font-size: 0.9rem !important;
    padding: 0.5rem 0 !important;
    display: block !important;
    color: #6b7280 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    line-height: 1.4 !important;
  }
  
  .footer-column ul li a:hover {
    color: #374151 !important;
  }
  
  /* Adjust logo/description column for mobile 2-column layout */
  .footer-column:first-child {
    grid-column: 1 / -1 !important; /* Span full width for logo */
    text-align: center !important;
    margin-bottom: 1rem !important;
    border-bottom: 1px solid #e5e7eb !important;
    padding-bottom: 1rem !important;
  }
  
  .footer-column:first-child .footer-desc {
    font-size: 0.9rem !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    line-height: 1.4 !important;
  }
}
/* --- */

/* Parent theme CSS is enqueued via functions.php; no @import here to avoid double-loading */

/* Force footer to be 4-column grid on desktop */
.site-footer .footer-columns-wrapper {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px !important;
    width: 100% !important;
}

/* Responsive footer columns */
@media (max-width: 992px) {
    .site-footer .footer-columns-wrapper {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 560px) {
    .site-footer .footer-columns-wrapper {
        grid-template-columns: repeat(2, 1fr) !important; /* Keep 2 columns on mobile */
        gap: 15px !important; /* Reduce gap for mobile */
    }
}

/* ===========================================
   EROIDS.COM EXACT REPLICA CSS - PROPER COLORS
   =========================================== */

/* Global Typography Improvements */
body {
    background: rgb(248, 250, 252) !important;
    color: #1f2937 !important;
    font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ----------------------------
   Final overrides to match forum-design-custom.html
   - Removes debug outlines
   - Prevents overlap of topics/stats with Latest Pictures
   - Makes Latest Pictures use 4:3 and smaller height
   - Force-hide review thumbnails and add bottom spacing
   - Keep only top 10 sources visible (visual-only)
----------------------------- */

/* Remove debug visual outlines (cleanup) */
.hot-topics, .stats-sidebar-container, .stats-sidebar-container > .sidebar-ad-section, .latest-pictures-section, .topics-stats-section {
    outline: none !important;
}

/* Avoid forcing a huge min-height that causes vertical overlap in some viewports */
.main-content-section { min-height: auto !important; }

/* Latest Pictures: match reference aspect (4:3) and reduce visual height */
.latest-pictures-section .picture-item,
.pictures-strip .picture-item {
    aspect-ratio: 4/3 !important; /* reference uses 4:3 tiles */
    max-height: 110px !important; /* limit height so pictures remain small */
}
.latest-pictures-section .picture-item img,
.pictures-strip .picture-item img {
    height: 100% !important;
    object-fit: cover !important;
}

/* Strongly hide thumbnails inside Latest Reviews cards and ensure spacing below cards */
.reviews-grid .review-card .review-thumbnail,
.reviews-grid .review-card .rev-thumbnail,
.review-card .review-thumbnail img,
.review-card .rev-thumbnail img {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.reviews-grid .review-card {
    padding-bottom: 18px !important; /* ensure a little breathing room */
}

/* Quick Stats + Ad column: ensure the stats box and ad stack and don't overlap the pictures section */
.section-inner.two-col,
.topics-stats-grid,
.section-inner.two-col { align-items: start !important; }
.stats-sidebar-container { display:flex !important; flex-direction:column !important; gap:18px !important; align-items: stretch !important; }
.stats-sidebar-container > aside.quick-stats { flex: 0 0 auto !important; max-height: 280px !important; overflow: hidden !important; }
.stats-sidebar-container > .sidebar-ad-section { flex: 1 1 auto !important; }

/* Prevent the right-column from overlapping the pictures by adding a small bottom margin on the topics/stats section */
.topics-stats-section { margin-bottom: 12px !important; }

/* Limit Top Sources visually to top-10 (presentation only) */
.top-sources-section .top-sources-cards .ranked-source-card:nth-child(n+11) { display: none !important; }

/* Top 10 Sources Widget Styles */
.top-sources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

.source-card {
    position: relative;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.source-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}

.source-rank {
    position: absolute;
    top: -8px;
    left: -8px;
    background: #3b82f6;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: bold;
    z-index: 10;
}

.source-logo {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: contain;
    background: #f8fafc;
    border-radius: 0.5rem;
    margin-bottom: 0.75rem;
}

.source-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.source-score {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin-bottom: 0.75rem;
}

.source-score-value {
    font-size: 0.75rem;
    font-weight: 600;
    color: #059669;
}

.source-stars {
    color: #fbbf24;
    font-size: 0.75rem;
}

.source-actions {
    display: flex;
    gap: 0.25rem;
}

.source-btn {
    flex: 1;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    text-align: center;
    border-radius: 0.25rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.source-btn-review {
    background: #dbeafe;
    color: #2563eb;
}

.source-btn-review:hover {
    background: #bfdbfe;
}

.source-btn-visit {
    background: #dcfce7;
    color: #16a34a;
}

.source-btn-visit:hover {
    background: #bbf7d0;
}

@media (max-width: 640px) {
    .top-sources-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }
    
    .source-card {
        padding: 0.75rem;
    }
    
    .source-title {
        font-size: 0.8125rem;
    }
}

/* Small responsive tweak: ensure pictures stay small on narrow screens */
@media (max-width: 768px) {
    .latest-pictures-section .picture-item, .pictures-strip .picture-item { max-height: 90px !important; }
}

html, body { overflow-x: hidden; }

/* Global links: modern red theme */
a, a:visited { 
    transition: color 0.3s ease;
}
a:hover, a:focus { 
    color: #922b1a; 
    text-decoration: none;
}

/* Improved headings */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 0.5em;
    color: #1f2937;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }

/* Force FULL WIDTH on ALL containers */
html, body, #page, .site, .ast-container, #content, #primary, .site-content, .content-area, 
.ast-single-post, .entry-content, .site-main, .ast-separate-container, 
.ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.article-single{
    padding:10px;
}
/* Header styling - Red theme */
/* Header dark variant matching mockup */
.site-header.site-header--dark {
    background: rgba(15, 23, 42, 0.9) !important; /* slate-900/90 */
    backdrop-filter: saturate(140%) blur(6px);
    border-bottom: 1px solid rgba(148, 163, 184, 0.25);
    color: #ffffff !important;
    padding: 16px 0;
    position: sticky;
    top: 0;
    z-index: 50;
}
.site-header.site-header--dark .site-title a { color: #fff !important; }
.site-header.site-header--dark .nav-menu a:hover { color: #ffffff !important; }

/* Fix header layout without search box */
.main-header-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
}

.main-header-bar-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
}

.site-header .ast-search-box {
    display: none !important;
}

.main-header-menu {
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

.ast-header-search {
    display: flex;
}

/* Hide bbPress search form */
.bbp-search-form {
    display: none !important;
    flex: 1;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 10px;
    background: rgba(255,255,255,0.08);
    color: #fff;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

/* Logo styling */
.site-branding .site-title {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
}

.site-branding .site-title a {
    color: #ffffff !important;
    text-decoration: none;
}

/* Custom Logo Styling */
.site-branding .custom-logo {
    max-height: 50px;
    width: auto;
}

.site-branding .custom-logo img {
    max-height: 50px;
    width: auto;
    height: auto;
}

/* Site Description/Tagline */
.site-branding .site-description {
    margin: 0;
    font-size: 12px;
    color: #cccccc;
    font-style: italic;
}

/* Search bar styling */
.header-search {
    flex: 1;
    max-width: 400px;
}

.header-search form {
    display: flex;
    align-items: center;
}

.header-search input[type="search"] {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #cccccc;
    border-radius: 3px 0 0 3px;
    font-size: 12px;
}

.header-search button {
    padding: 8px 12px;
    background: #c0392b;
    border: 1px solid #c0392b;
    border-radius: 0 3px 3px 0;
    color: #ffffff;
    cursor: pointer;
}

/* Dark header search variants (non-destructive) */
.site-header--dark .header-search input[type="search"] {
    border: 1px solid rgba(255,255,255,0.25);
    background: rgba(255,255,255,0.08);
    color: #fff;
    border-radius: 10px;
}
.site-header--dark .header-search input[type="search"]::placeholder { color: rgba(255,255,255,0.7); }
.site-header--dark .header-search button { background: #ffffff; color: #111827; border: none; border-radius: 10px; }

/* Navigation styling */
.main-navigation .nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.main-navigation .nav-menu li {
    position: relative;
    margin-left: 20px;
}

.main-navigation .nav-menu li ul li{
    margin-left: 0px;
}

.main-navigation .nav-menu a {
    text-decoration: none;
    padding: 8px 12px;
    display: block;
    font-size: 12px;
    font-weight: 500;
}

/* --- Navigation Overrides (dynamic WP menu & fallback) --- */
.site-header .main-navigation .nav-menu > li > a {
    background: transparent !important; /* ensure no inherited white background */
    color: #fff !important;
    line-height: 1.3;
}
.site-header .main-navigation .nav-menu > li:hover > a,
.site-header .main-navigation .nav-menu > li.focus > a,
.site-header .main-navigation .nav-menu > li.current-menu-item > a,
.site-header .main-navigation .nav-menu > li.current_page_item > a {
    background: #922b1a !important;
    color: #fff !important;
    border-radius: 3px;
}
/* Fallback menu (wp_list_pages) styling */
.fallback-menu > li > a { background: transparent !important; color:#fff !important; }
.fallback-menu > li > a:hover { background:#922b1a !important; color:#fff !important; }
/* Dropdown arrow spacing when WP adds sub-menu toggle classes (Astra compatibility) */
.main-navigation .menu-item-has-children > a { padding-right: 18px; position: relative; }
.main-navigation .menu-item-has-children > a:after { content:"\25BE"; font-size:10px; position:absolute; right:6px; top:50%; transform:translateY(-50%); opacity:.75; }
.main-navigation .menu-item-has-children:hover > a:after { opacity:1; }
/* Keyboard focus */
.main-navigation .nav-menu a:focus { outline:2px solid #fff; outline-offset:2px; }

.main-navigation .nav-menu a:hover {
    background: #922b1a; /* switched to red theme */
    border-radius: 3px;
}

/* ensure WP menu states also match red theme */
.site-header .main-navigation .nav-menu > li:hover > a,
.site-header .main-navigation .nav-menu > li.focus > a,
.site-header .main-navigation .nav-menu > li.current-menu-item > a,
.site-header .main-navigation .nav-menu > li.current_page_item > a {
    background: #922b1a !important;
    color: #fff !important;
    border-radius: 3px;
}

/* ===========================================
     bbPress Forum Styling Enhancements
     =========================================== */
.eroids-bbp-wrap { max-width:1220px; margin:0 auto; padding:18px 22px 50px; background:#fff; box-shadow:0 2px 4px rgba(0,0,0,0.05); border:1px solid #d6dee8; border-radius:6px; }
body.bbpress .site-content, body.bbpress #content { background: #f8f9fb !important; }
.eroids-bbp-wrap {
    border: 1px solid #f3b0b5 !important;
    box-shadow: 0 2px 6px rgba(192,57,43,0.06) !important;
}
.eroids-forum-actions .add-topic-btn,
.add-topic-btn {
    background: #c0392b !important;
    color: #fff !important;
    border: none !important;
}
.eroids-forum-actions .add-topic-btn:hover,
.add-topic-btn:hover {
    background: #922b1a !important;
}
/* Forum list/table headers */
#bbpress-forums li.bbp-header,
#bbpress-forums li.bbp-footer {
    background: #ffe8e7 !important;
    color: #7a1a1a !important;
    border-color: #f7c6c5 !important;
}
/* Forum/topic rows and dividers */
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics {
    border: 1px solid #f3b0b5 !important;
}
#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic {
    border-top: 1px solid #fde2e1 !important;
}
#bbpress-forums li.bbp-body ul.forum:hover,
#bbpress-forums li.bbp-body ul.topic:hover {
    background: #f8f9fb !important;
}
/* Links in forum/topic rows */
#bbpress-forums li.bbp-body ul.forum a,
#bbpress-forums li.bbp-body ul.topic a,
.bbp-topic-title a,
.bbp-forum-title {
    color: #c0392b !important;
    text-decoration: none !important;
}
#bbpress-forums li.bbp-body ul.forum a:hover,
#bbpress-forums li.bbp-body ul.topic a:hover,
.bbp-topic-title a:hover {
    color: #922b1a !important;
    text-decoration: underline !important;
}
/* Breadcrumb */
.bbp-breadcrumb,
.bbp-breadcrumb a { color: #c0392b !important; }
.bbp-breadcrumb a:hover { color: #922b1a !important; }

/* bbPress submit buttons override to green */
#bbp_reply_submit, #bbp_topic_submit{background:#4CAF50 !important;color:#fff !important;border:none !important;border-radius:6px !important;padding:10px 18px !important;font-weight:700}

.eroids-forum-login-message {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border: 1px solid #e5e7eb !important;
}
/* Generic links inside forum content */
.bbp-reply-content a,
.bbp-topic-content a {
    color: #c0392b !important;
}
.bbp-reply-content a:hover,
.bbp-topic-content a:hover {
    color: #922b1a !important;
    text-decoration: underline !important;
}
.eroids-forum-actions { display:flex; justify-content:flex-end; margin:0 0 8px; }
.eroids-forum-login-message { font-size:12px; background:#fff3cd; color:#7a5900; padding:6px 12px; border:1px solid #ffe08a; border-radius:4px; }
.add-topic-btn { display:inline-block; background:#c0392b; color:#fff!important; padding:6px 14px; font-size:12px; border-radius:4px; text-decoration:none; font-weight:600; }
.add-topic-btn:hover { background:#922b1a; }
/* Forum index list mimic table look */
#bbpress-forums { font-size:12px; }
#bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-topics { border:1px solid #d6dee8; border-radius:4px; overflow:hidden; }
#bbpress-forums li.bbp-header, #bbpress-forums li.bbp-footer { background:#e9f2fb; font-weight:700; padding:8px 10px; }
#bbpress-forums li.bbp-body ul.forum, #bbpress-forums li.bbp-body ul.topic { display:grid; grid-template-columns:1fr 110px 120px 90px; gap:10px; align-items:center; padding:10px 14px; border-top:1px solid #eef2f6; transition:background .15s; }
#bbpress-forums li.bbp-body ul.forum:hover, #bbpress-forums li.bbp-body ul.topic:hover { background:#f3f8fc; }
#bbpress-forums li.bbp-body ul.forum:nth-child(odd), #bbpress-forums li.bbp-body ul.topic:nth-child(odd){ background:#fafbfd; }
#bbpress-forums li.bbp-body ul.forum a, #bbpress-forums li.bbp-body ul.topic a { color:#c0392b; text-decoration:none; }
#bbpress-forums li.bbp-body ul.forum a:hover, #bbpress-forums li.bbp-body ul.topic a:hover { color:#922b1a; text-decoration:underline; }
/* Topic meta counts */
#bbpress-forums .bbp-topic-voice-count, #bbpress-forums .bbp-topic-reply-count, #bbpress-forums .bbp-forum-topic-count, #bbpress-forums .bbp-forum-reply-count { text-align:center; font-size:11px; color:#444; }
/* Last post / freshness */
#bbpress-forums .bbp-topic-freshness, #bbpress-forums .bbp-forum-freshness { font-size:11px; color:#666; text-align:right; }
/* Breadcrumbs spacing */
.bbp-breadcrumb { font-size:11px; margin:0 0 8px; }
/* Single topic spacing */
body.bbpress .bbp-topic-title { font-size:16px; font-weight:700; }
.bbp-replies .bbp-body .reply { padding:14px 16px; border-bottom:1px solid #e3e9f0; }
.bbp-author-name { font-weight:700; font-size:12px; }
.bbp-reply-content { font-size:12px; line-height:1.45; }
.bbp-pagination { font-size:11px; }
@media (max-width:800px){
    #bbpress-forums li.bbp-body ul.forum, #bbpress-forums li.bbp-body ul.topic { grid-template-columns:1fr 60px 60px; }
    #bbpress-forums .bbp-topic-freshness, #bbpress-forums .bbp-forum-freshness { display:none; }
}

/* bbPress mobile layout hardening (prevent stacked letters in titles) */
@media (max-width: 768px) {
    /* EMERGENCY FIX: Force normal text flow */
    #bbpress-forums * {
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }
    
    /* Nuclear: completely override mobile layout with highest specificity */
    body.single-forum #bbpress-forums li.bbp-header,
    body.bbpress #bbpress-forums li.bbp-header,
    #bbpress-forums li.bbp-header { display: none !important; }
    
    /* Make forum/topic rows into proper cards */
    body.single-forum #bbpress-forums li.bbp-body ul.topic,
    body.bbpress #bbpress-forums li.bbp-body ul.forum,
    body.bbpress #bbpress-forums li.bbp-body ul.topic,
    #bbpress-forums li.bbp-body ul.forum,
    #bbpress-forums li.bbp-body ul.topic,
    #bbpress-forums ul.bbp-topics li,
    #bbpress-forums ul.bbp-forums li { 
        display: block !important; 
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        grid-template-columns: none !important; 
        grid-template-rows: none !important;
        flex-direction: column !important;
        padding: 15px !important;
        border: 1px solid #ddd !important;
        margin: 0 0 10px !important;
        background: #fff !important;
        border-radius: 6px !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    }
    
    /* Reset any inner li elements that might be causing issues */
    #bbpress-forums li.bbp-body ul.forum li,
    #bbpress-forums li.bbp-body ul.topic li,
    #bbpress-forums ul.bbp-topics li li,
    #bbpress-forums ul.bbp-forums li li {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }
    
    /* Force titles to display normally with maximum specificity */
    body.single-forum #bbpress-forums .bbp-topic-title,
    body.bbpress #bbpress-forums .bbp-topic-title, 
    body.bbpress #bbpress-forums .bbp-forum-title,
    body.single-forum #bbpress-forums .bbp-forum-title,
    #bbpress-forums .bbp-topic-title,
    #bbpress-forums .bbp-forum-title,
    #bbpress-forums .bbp-forum-info { 
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important; 
        word-break: normal !important; 
        overflow-wrap: normal !important; 
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        font-size: 16px !important;
        font-weight: bold !important;
        margin: 0 0 8px !important;
        line-height: 1.4 !important;
        color: #2c5aa0 !important;
    }
    
    /* Ensure links within titles are inline */
    body.single-forum #bbpress-forums .bbp-topic-title a,
    body.bbpress #bbpress-forums .bbp-topic-title a, 
    body.bbpress #bbpress-forums .bbp-forum-title a,
    body.single-forum #bbpress-forums .bbp-forum-title a,
    #bbpress-forums .bbp-topic-title a,
    #bbpress-forums .bbp-forum-title a { 
        display: inline !important; 
        white-space: normal !important;
        word-break: normal !important;
        writing-mode: horizontal-tb !important;
        color: #2c5aa0 !important;
        text-decoration: none !important;
    }
    
    /* Show counts inline under title */
    #bbpress-forums .bbp-topic-voice-count,
    #bbpress-forums .bbp-topic-reply-count,
    #bbpress-forums .bbp-forum-topic-count,
    #bbpress-forums .bbp-forum-reply-count {
        display: inline-block !important;
        margin: 5px 15px 0 0 !important;
        font-size: 12px !important;
        color: #666 !important;
        background: #f0f0f0 !important;
        padding: 2px 8px !important;
        border-radius: 3px !important;
    }
    
    /* Hide freshness completely on mobile */
    #bbpress-forums .bbp-topic-freshness,
    #bbpress-forums .bbp-forum-freshness {
        display: none !important;
    }
}

/* Extra-small: stack rows for clarity (title on top, counts below) */
@media (max-width: 600px) {
    #bbpress-forums li.bbp-body ul.forum,
    #bbpress-forums li.bbp-body ul.topic {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
    }
    /* Title first */
    #bbpress-forums .bbp-topic-title,
    #bbpress-forums .bbp-forum-info { order: 1 !important; }
    /* Hide freshness to prevent squeeze */
    #bbpress-forums .bbp-topic-freshness,
    #bbpress-forums .bbp-forum-freshness { display: none !important; }
    /* Compact counts row */
    #bbpress-forums .bbp-topic-voice-count,
    #bbpress-forums .bbp-topic-reply-count,
    #bbpress-forums .bbp-forum-topic-count,
    #bbpress-forums .bbp-forum-reply-count {
        order: 2 !important;
        display: inline-flex !important;
        gap: 10px !important;
        align-items: center !important;
        font-size: 11px !important;
        color: #666 !important;
    }
}

/* Dropdown menus */
.menu-item-has-children .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    border: 1px solid #cccccc;
    border-radius: 3px;
    min-width: 180px;
    display: none;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.menu-item-has-children:hover .sub-menu {
    display: block;
}

.sub-menu li {
    margin: 0;
}

.sub-menu a {
    color: #333333 !important;
    padding: 8px 15px;
    border-bottom: 1px solid #f0f0f0;
}

.sub-menu a:hover {
    background: #922b1a;
    color: #ffffff !important;
}

/* Login button styling */
.login-button a {
    background: #1e4080 !important;
    border-radius: 3px !important;
    font-weight: bold !important;
}

.login-button a:hover {
    background: #0f2040 !important;
}

/* Header container and responsive fixes (clean) */
.header-container { 
    max-width: 1320px; 
    margin: 0 auto; 
    padding: 0 20px; 
}

/* Mobile-first header approach */
@media (max-width: 1200px) {
    .main-header-bar { 
        flex-wrap: nowrap !important; 
        justify-content: space-between !important;
    }
    .main-header-menu .menu-item { 
        margin: 0 8px !important; 
    }
}

@media (max-width: 992px) {
    /* Start transitioning to mobile layout */
    .main-header-menu { 
        display: none !important; 
    }
    .ast-mobile-menu-trigger-fill {
        display: block !important;
    }
}

/* Portrait mobile (most phones) */
@media (max-width: 768px) and (orientation: portrait) {
    .site-header {
        padding: 0 !important;
    }
    
    .main-header-bar {
        flex-direction: column !important;
        align-items: center !important;
        padding: 10px 15px !important;
        gap: 10px !important;
    }
    
    .site-branding img {
        max-height: 40px !important;
    }
    
    .header-search {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .header-search input {
        width: 100% !important;
        padding: 10px 15px !important;
        font-size: 16px !important; /* Prevents zoom on iOS */
        border-radius: 25px !important;
    }
    
    /* Mobile menu button styling */
    .ast-mobile-menu-trigger-fill,
    .menu-toggle,
    .ast-mobile-menu-trigger {
        display: block !important;
        position: relative !important;
        z-index: 9999 !important;
        cursor: pointer !important;
        background: transparent !important;
        border: none !important;
        padding: 8px !important;
        order: 3 !important;
    }
    
    /* Force mobile menu to show when toggled */
    body.ast-mobile-menu-open .ast-mobile-header-content,
    body.ast-mobile-menu-open .ast-mobile-menu-buttons,
    .ast-mobile-header-content.mobile-menu-open,
    .ast-mobile-menu-buttons.mobile-menu-open {
        display: block !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: #fff !important;
        border: 1px solid #ddd !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
        z-index: 9998 !important;
        width: 100% !important;
    }
    
    /* Mobile menu items styling */
    .ast-mobile-header-content .menu,
    .ast-mobile-menu-buttons .menu {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .ast-mobile-header-content .menu-item,
    .ast-mobile-menu-buttons .menu-item {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid #eee !important;
        margin: 0 !important;
    }
    
    .ast-mobile-header-content .menu-item a,
    .ast-mobile-menu-buttons .menu-item a {
        display: block !important;
        padding: 15px 20px !important;
        color: #333 !important;
        text-decoration: none !important;
        font-size: 16px !important;
    }
    
    .ast-mobile-header-content .menu-item a:hover,
    .ast-mobile-menu-buttons .menu-item a:hover {
        background: #f5f5f5 !important;
        color: #c0392b !important;
    }
}

/* Mobile header responsive */
@media (max-width: 768px) {
    /* Force mobile header layout */
    .main-header-bar {
        flex-direction: column !important;
        align-items: center !important;
        padding: 8px 15px !important;
        min-height: auto !important;
    }
    
    /* Logo/branding on top */
    .site-branding {
        order: 1 !important;
        flex-shrink: 0 !important;
        margin-bottom: 8px !important;
    }
    
    /* Search bar below logo */
    .header-search {
        order: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 8px !important;
    }
    
    .header-search input {
        width: 100% !important;
        padding: 8px 12px !important;
        font-size: 14px !important;
    }
    
    /* Mobile menu button */
    .ast-mobile-menu-trigger-fill {
        order: 3 !important;
        margin: 0 !important;
    }
    
    /* Hide desktop navigation completely */
    .main-navigation,
    .main-header-menu {
        display: none !important;
    }
    
    /* Mobile menu improvements */
    .ast-mobile-header-stack .main-header-bar {
        gap: 8px !important;
    }
}

/* Mobile landscape specific fixes */
@media (max-width: 1024px) and (orientation: landscape) {
    .main-header-bar {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 6px 15px !important;
    }
    
    .site-branding {
        order: 1 !important;
        flex-shrink: 0 !important;
        margin: 0 !important;
    }
    
    .header-search {
        order: 2 !important;
        flex: 1 !important;
        max-width: 300px !important;
        margin: 0 15px !important;
    }
    
    .ast-mobile-menu-trigger-fill {
        order: 3 !important;
        margin: 0 !important;
    }
    
    /* Still hide desktop nav in landscape */
    .main-navigation,
    .main-header-menu {
        display: none !important;
    }
}

/* Hide Astra theme elements that conflict */
.ast-container, .site-content, .content-area, #primary, #content, .ast-container, .ast-single-post {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Force full width on all Astra containers */
body, html, #page, .site, .site-content, .ast-container, .content-area, #primary {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =============================
   REVIEWS PAGE (Product & Sources)
   ============================= */
.eroids-reviews-page {
    max-width: 1220px;
    margin: 0 auto;
    padding: 25px 15px 50px;
    font-size: 12px;
}
.eroids-main-title {
    font-size: 22px;
    font-weight: 700;
    color: #2c5aa0;
    margin: 0 0 18px;
}
.eroids-main-title .eroids-subtitle {
    font-size: 12px;
    font-weight: 400;
    color: #555;
    margin-top: 4px;
}
.eroids-content-grid {
    display: grid;
    grid-template-columns: 1fr 290px;
    gap: 22px;
    align-items: start;
}
@media (max-width: 1024px) {
    .eroids-content-grid { grid-template-columns: 1fr; }
    .eroids-sidebar { order: 2; }
    .eroids-reviews-page .main-content { order: 1; }
}
.content-box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-radius: 12px;
    margin-bottom: 24px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.content-box:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.content-box-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    font-weight: 700;
    padding: 16px 20px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    letter-spacing: 0.025em;
}

.content-box-body {
    padding: 20px 24px 24px;
    background: #ffffff;
}
.review-list-item {
    border-top: 1px solid #edf1f7;
    padding: 12px 0 14px;
    font-size: 12px;
}
.review-list-item:first-child { border-top: none; }
.review-item-title {
    font-weight: 700;
    color: #c0392b;
    text-decoration: none;
    font-size: 13px;
}
.review-item-title:hover { text-decoration: underline; }
.review-item-meta { margin-top: 4px; color: #666; font-size: 11px; }
.review-item-rating { background:#c0392b; color:#fff; padding:2px 6px; border-radius:3px; font-size:11px; font-weight:600; margin-right:6px; }
.review-item-excerpt { margin-top:6px; line-height:1.45; color:#333; }

/* Submission form */
.review-submit-form .form-row { margin-bottom:14px; }
.review-submit-form label { display:block; font-weight:600; font-size:11px; color:#1f3e7a; margin:0 0 4px; letter-spacing:.3px; }
.review-submit-form input[type=text],
.review-submit-form select,
.review-submit-form textarea { width:100%; border:1px solid #c9d6e5; border-radius:3px; padding:8px 10px; font-size:12px; font-family:inherit; }
.review-submit-form textarea { resize:vertical; }
.review-submit-form input:focus,
.review-submit-form select:focus,
.review-submit-form textarea:focus { outline:none; border-color:#c0392b; box-shadow:0 0 0 1px rgba(192,57,43,.25); }
.review-submit-form .req { color:#d22; }
.review-submit-form .submit-row { text-align:right; margin:4px 0 0; }
.review-submit-form button { background:#c0392b; border:none; color:#fff; padding:8px 16px; border-radius:3px; font-size:12px; font-weight:600; cursor:pointer; }
.review-submit-form button:hover { background:#922b1a; }

/* Status boxes */
.success-box .content-box-header { background:#e6f6e9; color:#1b5e20; border-color:#c4e8cb; }
.error-box .content-box-header { background:#ffecec; color:#8a1f11; border-color:#f5c2c0; }
.success-box .content-box-body { background:#f6fdf7; }
.error-box .content-box-body { background:#fff8f8; }

/* Sidebar stats */
.eroids-sidebar p { margin:0 0 8px; font-size:12px; }
.eroids-sidebar strong { color:#1f3e7a; }

/* Utility */
.d-flex{display:flex;}
.justify-content-between{justify-content:space-between;}
.btn.btn-primary, a.btn.btn-primary { background:#c0392b; color:#fff; text-decoration:none; padding:6px 12px; font-size:12px; font-weight:600; border-radius:3px; display:inline-block; }
.btn.btn-primary:hover { background:#922b1a; }


/* Main Homepage Container - FULL WIDTH */
.eroids-homepage {
    background: #ffffff;
    color: #333333;
    font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif;
    font-size: 11px;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* Inner content wrapper for proper spacing */
.eroids-homepage > * {
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Full-bleed sections: promo banner and Top Sources strip */

/* Top Sources Section - MODERN DESIGN */
.top-sources-section {
    background: #f6f7f8; /* Light grey background */
    padding: 40px 0;
    border-bottom: 1px solid #e5e7eb;
    position: relative;
}

.top-sources-section .section-content {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

.top-sources-cards {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* Force 5 columns for 10 sources (2 rows) */
    gap: 20px;
    max-width: 100%;
}

@media (max-width: 1200px) {
    .top-sources-cards {
        grid-template-columns: repeat(4, 1fr); /* 4 columns for medium screens */
    }
}

@media (max-width: 900px) {
    .top-sources-cards {
        grid-template-columns: repeat(3, 1fr); /* 3 columns for smaller screens */
    }
}

@media (max-width: 768px) {
    .top-sources-cards {
        grid-template-columns: repeat(2, 1fr); /* 2 columns for mobile */
        gap: 16px;
    }
    
    .ranked-source-card {
        padding: 16px;
    }
    
    .latest-pictures-section {
        padding: 40px 0;
    }
    
    .pictures-strip {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 16px;
    }
    
    .promo-banner-content {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
    
    .promo-highlight {
        font-size: 18px;
    }
    
    .main-content-section .content-container {
        padding: 0 15px;
        gap: 20px;
    }
    
    .content-box {
        margin-bottom: 20px;
    }
    
    .content-box-header {
        padding: 14px 18px;
        font-size: 13px;
    }
    
    .content-box-body {
        padding: 18px 20px 20px;
    }
    
    .standard-row {
        padding: 14px;
    }
    
    .standard-row.has-rank {
        padding-left: 44px;
    }
    
    .standard-row .std-rank {
        width: 20px;
        height: 20px;
        font-size: 11px;
        left: 14px;
    }
    
    .sidebar-ad-section {
        margin-bottom: 20px;
    }
}

/* Hero section layout */
.eroids-hero-section {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
    color: #ffffff;
    padding: 60px 0 !important;
    position: relative;
    overflow: hidden;
}

.eroids-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="%23ffffff" stroke-width="0.1" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>') repeat;
    z-index: 1;
}

.eroids-hero-section .hero-content {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.eroids-hero-section .hero-content.hero-with-ad {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 40px;
    align-items: center;
}

.eroids-hero-section .hero-left .hero-text h1 { 
    margin: 0 0 20px; 
    color: #ffffff; 
    font-size: 42px !important; 
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.eroids-hero-section .hero-left .hero-text p {
    margin: 0 0 30px;
    color: #e2e8f0;
    font-size: 18px;
    line-height: 1.6;
}

.hero-cta-wrap { margin-top: 0; }
.hero-cta { 
    display: inline-block; 
    background: #3b82f6; 
    color: #fff !important; 
    border-radius: 8px; 
    padding: 14px 28px; 
    font-weight: 700; 
    font-size: 16px;
    text-decoration: none; 
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
    transition: all 0.3s ease;
}
.hero-cta:hover { 
    background: #2563eb; 
    color: #fff !important; 
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
}

.hero-right .hero-advertisement { 
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px; 
    min-height: 250px; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.hero-right .hero-advertisement:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
}

.hero-right .hero-advertisement .hero-ad-image { 
    max-width: 100%; 
    height: auto; 
    border-radius: 8px; 
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.hero-right .ad-placeholder { 
    color: #cbd5e0; 
    font-size: 14px; 
    text-align: center;
    padding: 20px;
}

@media (max-width: 992px) {
    .eroids-hero-section .hero-content.hero-with-ad {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    
    .eroids-hero-section .hero-left .hero-text h1 {
        font-size: 32px !important;
    }
    
    .eroids-hero-section .hero-left .hero-text p {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .eroids-hero-section {
        padding: 40px 0 !important;
    }
    
    .eroids-hero-section .hero-left .hero-text h1 {
        font-size: 28px !important;
    }
}
/* Hot Topics + Quick Stats Section - MODERN DESIGN */
.topics-stats-section {
    background: #ffffff;
    padding: 50px 0;
    border-bottom: 1px solid #e5e7eb;
}

.hot-topics .section-title,
.quick-stats .section-title {
    font-size: 28px;
    font-weight: 800;
    color: #1f2937;
    margin-bottom: 24px;
    position: relative;
    padding-bottom: 12px;
}

.hot-topics .section-title::after,
.quick-stats .section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    width: 40px;
    height: 4px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 2px;
}

.topics-grid {
    display: grid;
    gap: 16px;
}

.topic-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: start;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.topic-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: #c0392b;
    text-decoration: none;
}

.topic-icon {
    font-size: 24px;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.topic-title {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.4;
    margin-bottom: 8px;
    display: block;
}

.topic-meta {
    font-size: 13px;
    color: #6b7280;
    display: block;
}

/* Stats Sidebar Container */
.stats-sidebar-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}

.quick-stats-box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    flex: 1;
}

.quick-stats .section-title {
    font-size: 20px !important;
    margin-bottom: 16px !important;
}

.advertisement-box {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    flex: 1;
}

.advertisement-box h3 {
    font-size: 16px;
    color: #475569;
    margin-bottom: 8px;
    font-weight: 600;
}

.advertisement-box p {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

.topics-stats-section .section-inner.two-col {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    align-items: start;
}

.stats-sidebar-container {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
}

.quick-stats {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 20px; /* Reduced padding */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    flex: 1;
}

.stats-list {
    display: grid;
    gap: 8px; /* Even smaller gaps */
    margin-bottom: 16px; /* Reduced margin */
}

.stat-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0; /* Reduced padding */
    border-bottom: 1px solid #f3f4f6;
}

.stat-row:last-child {
    border-bottom: none;
}

.stat-num {
    font-size: 18px; /* Further reduced */
    font-weight: 800;
    color: #1f2937;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.stat-label {
    font-size: 11px; /* Further reduced */
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.submit-content-btn {
    display: block;
    width: 100%;
    background: linear-gradient(135deg, #c0392b 0%, #922b1a 100%);
    color: #ffffff;
    text-decoration: none;
    padding: 10px 16px; /* Further reduced */
    border-radius: 12px;
    font-weight: 700;
    font-size: 13px; /* Further reduced */
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(192, 57, 43, 0.3);
}

.submit-content-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(192, 57, 43, 0.4);
    color: #ffffff;
    text-decoration: none;
}

/* Advertisement section below Quick Stats */
.sidebar-ad-section {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    text-align: center;
    flex: 1; /* Takes remaining space */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sidebar-ad-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    font-weight: 700;
    padding: 10px 14px;
    font-size: 11px;
    margin: -20px -20px 16px -20px;
    border-radius: 16px 16px 0 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sidebar-ad-placeholder {
    color: #9ca3af;
    font-size: 13px;
    padding: 40px 20px;
    background: #f9fafb;
    border: 2px dashed #e5e7eb;
    border-radius: 8px;
    width: 100%;
}

@media (max-width: 992px) {
    .topics-stats-section .section-inner.two-col {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .quick-stats {
        order: -1;
        margin-bottom: 20px;
    }
    
    .sidebar-ad-section {
        order: 0;
    }
}

@media (max-width: 768px) {
    .topics-stats-section {
        padding: 40px 0;
    }
    
    .hot-topics .section-title,
    .quick-stats .section-title {
        font-size: 24px;
        margin-bottom: 20px;
    }
    
    .topic-card {
        padding: 16px;
        gap: 12px;
    }
    
    .topic-icon {
        width: 32px;
        height: 32px;
        font-size: 20px;
    }
    
    .quick-stats {
        padding: 24px;
    }
}

/* =============================
   Main content grid after hero - MODERN STYLING
   ============================= */
.main-content-section { 
    background: #f8f9fb; 
    padding: 40px 0 60px; 
    min-height: calc(100vh - 400px);
}

.main-content-section .content-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 300px 1fr 340px;
    gap: 30px;
    align-items: start;
}

@media (max-width: 1200px){ 
    .main-content-section .content-container { 
        grid-template-columns: 280px 1fr 320px; 
        gap: 25px;
    } 
}

@media (max-width: 992px){ 
    .main-content-section .content-container { 
        grid-template-columns: 1fr; 
        gap: 25px;
        padding: 0 15px;
    } 
    .content-column.center-column{ order:1; }
    .content-column.left-column{ order:2; }
    .content-column.right-column{ order:3; }
}

/* Latest Reviews Section - MODERN DESIGN */
.latest-reviews-section {
    background: #f8f9fb;
    padding: 50px 0 70px 0; /* Added bottom padding for spacing */
    border-bottom: 1px solid #e5e7eb;
}

.latest-reviews-section .section-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

.section-title {
    font-size: 32px;
    font-weight: 800;
    color: #1f2937;
    margin-bottom: 32px;
    text-align: center;
    position: relative;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 2px;
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 30px; /* Added margin bottom */
}

.review-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}

.review-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
    border-color: #c0392b;
}

.rev-thumbnail {
    display: none; /* Hide thumbnails */
}

.rev-thumbnail img {
    display: none; /* Hide thumbnail images */
}

.rev-content {
    overflow: hidden;
    width: 100%; /* Full width since no thumbnail */
}

.rev-title {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.rev-title a {
    color: #1f2937;
    text-decoration: none;
    transition: color 0.3s ease;
}

.rev-title a:hover {
    color: #c0392b;
}

.rev-stars {
    font-size: 18px;
    margin-bottom: 12px;
    color: #fbbf24;
    line-height: 1;
}

.rev-excerpt {
    color: #6b7280;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.rev-more {
    color: #c0392b;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.3s ease;
}

.rev-more:hover {
    color: #922b1a;
    gap: 8px;
}

.rev-more::after {
    content: '→';
    transition: transform 0.3s ease;
}

.rev-more:hover::after {
    transform: translateX(2px);
}

.no-content {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px;
    color: #6b7280;
    font-size: 16px;
}

@media (max-width: 768px) {
    .latest-reviews-section {
        padding: 40px 0;
    }
    
    .section-title {
        font-size: 28px;
        margin-bottom: 24px;
    }
    
    .reviews-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    
    .review-card {
        padding: 20px;
    }
}

/* Latest Pictures Section - MODERN DESIGN */
.latest-pictures-section {
    background: #f8f9fb;
    padding: 50px 0;
    border-bottom: 1px solid #e5e7eb;
}

.latest-pictures-section .section-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

.pictures-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

.picture-item {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 16/9; /* Changed from 16/10 to make it shorter */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    display: block;
}

.picture-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}

.picture-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.picture-item:hover img {
    transform: scale(1.05);
}

.picture-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.picture-item:hover::after {
    opacity: 1;
}

/* Promotional Banner - MODERN DESIGN */
.promo-banner {
    background: linear-gradient(135deg, #c0392b 0%, #922b1a 100%);
    color: #ffffff;
    padding: 24px 0;
    position: relative;
    overflow: hidden;
}

.promo-banner::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="20" height="20" patternUnits="userSpaceOnUse"><path d="M 20 0 L 0 0 0 20" fill="none" stroke="%23ffffff" stroke-width="0.5" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>') repeat;
    z-index: 1;
}

.promo-banner-content {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.promo-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.promo-highlight {
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.promo-tagline {
    font-size: 14px;
    opacity: 0.9;
}

.promo-logo {
    font-size: 32px;
    opacity: 0.8;
}

/* Lists inside content boxes - MODERN STYLING */
.standard-list {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}

.standard-row {
    padding: 16px;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.standard-row:hover {
    border-color: #c0392b;
    box-shadow: 0 2px 8px rgba(192, 57, 43, 0.1);
}

.standard-row.has-rank {
    position: relative;
    padding-left: 50px;
}

.standard-row .std-rank {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
}

.standard-row .std-title {
    display: block;
    color: #1f2937;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 4px;
    transition: color 0.3s ease;
}

.standard-row .std-title:hover {
    color: #c0392b;
}

.standard-row .std-meta {
    display: block;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.4;
}

.standard-row .std-excerpt {
    display: block;
    color: #4b5563;
    font-size: 12px;
    margin-top: 8px;
    line-height: 1.5;
}

/* Review rows - MODERN STYLING */
.standard-review-list {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 16px;
}

.standard-review-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    background: #ffffff;
    transition: all 0.3s ease;
}

.standard-review-row:hover {
    border-color: #c0392b;
    box-shadow: 0 2px 8px rgba(192, 57, 43, 0.1);
}

.standard-review-row .rev-title {
    color: #1f2937;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    transition: color 0.3s ease;
}

.standard-review-row .rev-title:hover {
    color: #c0392b;
}

.standard-review-row .rev-stars {
    color: #fbbf24;
    font-size: 14px;
}

.standard-review-row .rev-meta {
    color: #6b7280;
    font-size: 12px;
    margin-left: auto;
}

/* Content Column Styling - MODERN DESIGN */
.content-column {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Poll Section Styling */
.poll-container {
    text-align: center;
    padding: 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    border: 1px solid #e5e7eb;
}

.poll-question {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.poll-question a {
    color: #1f2937;
    text-decoration: none;
    transition: color 0.3s ease;
}

.poll-question a:hover {
    color: #c0392b;
}

.poll-meta {
    font-size: 14px;
    color: #6b7280;
}

.poll-meta a {
    color: #c0392b;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
}

.poll-meta a:hover {
    color: #922b1a;
    text-decoration: underline;
}

.poll-closed-list {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.poll-closed-list h4 {
    margin: 0 0 16px 0;
    font-size: 14px;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.poll-result-mini {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f3f4f6;
}

.poll-result-mini:last-child {
    border-bottom: none;
}

.poll-mini-title {
    color: #1f2937;
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    transition: color 0.3s ease;
    flex: 1;
    text-align: left;
}

.poll-mini-title:hover {
    color: #c0392b;
}

.poll-mini-votes {
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
}

.no-poll {
    text-align: center;
    padding: 40px 20px;
    color: #6b7280;
}

.no-poll a {
    color: #c0392b;
    text-decoration: none;
    font-weight: 600;
}

.no-poll a:hover {
    color: #922b1a;
    text-decoration: underline;
}

/* View All Links */
.view-all {
    color: #6b7280;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.3s ease;
}

.view-all:hover {
    color: #c0392b;
}

/* No Content Messages */
.no-content {
    text-align: center;
    padding: 40px 20px;
    color: #6b7280;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

.no-content p {
    margin: 0;
    font-size: 14px;
}

@media (max-width: 768px) {
    .latest-pictures-section {
        padding: 40px 0;
    }
    
    .pictures-strip {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 16px;
    }
    
    .promo-banner-content {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
    
    .promo-highlight {
        font-size: 18px;
    }
    
    .main-content-section .content-container {
        padding: 0 15px;
        gap: 20px;
    }
    
    .content-box {
        margin-bottom: 20px;
    }
    
    .content-box-header {
        padding: 14px 18px;
        font-size: 13px;
    }
    
    .content-box-body {
        padding: 18px 20px 20px;
    }
    
    .standard-row {
        padding: 14px;
    }
    
    .standard-row.has-rank {
        padding-left: 44px;
    }
    
    .standard-row .std-rank {
        width: 20px;
        height: 20px;
        font-size: 11px;
        left: 14px;
    }
}

/* Additional improvements for better visual hierarchy */
.eroids-homepage {
    background: #ffffff;
    color: #1f2937;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-size: 14px;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box;
}

/* Smooth transitions for all interactive elements */
* {
    transition: all 0.3s ease;
}

/* Better focus states for accessibility */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #c0392b;
    outline-offset: 2px;
}

/* Loading states and animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.content-box,
.review-card,
.ranked-source-card,
.topic-card {
    animation: fadeInUp 0.6s ease-out;
}

/* Stagger animations for lists */
.ranked-source-card:nth-child(1) { animation-delay: 0.1s; }
.ranked-source-card:nth-child(2) { animation-delay: 0.2s; }
.ranked-source-card:nth-child(3) { animation-delay: 0.3s; }
.ranked-source-card:nth-child(4) { animation-delay: 0.4s; }

.review-card:nth-child(1) { animation-delay: 0.1s; }
.review-card:nth-child(2) { animation-delay: 0.2s; }
.review-card:nth-child(3) { animation-delay: 0.3s; }
.review-card:nth-child(4) { animation-delay: 0.4s; }

/* Source Card Styling */
.ranked-source-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.ranked-source-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border-color: #c0392b;
}

.screenshot-wrap {
    position: relative;
    margin-bottom: 16px;
}

.rank-badge {
    position: absolute;
    top: -8px;
    left: -8px;
    background: linear-gradient(135deg, #ff6b6b 0%, #c0392b 100%);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 12px;
    box-shadow: 0 4px 12px rgba(192, 57, 43, 0.3);
    border: 2px solid white;
}

.card-title {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
    text-decoration: none;
    margin-bottom: 8px;
    line-height: 1.3;
}

.card-title:hover {
    color: #c0392b;
}

.card-score {
    font-size: 14px;
    color: #6b7280;
    font-weight: 600;
}

.no-sources-message {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px;
    color: #6b7280;
    font-size: 16px;
}

/* Eroids Forum Layout - Exact Match */
.eroids-source-talk-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 20px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px;
}

/* Prevent theme defaults from breaking the grid */
.eroids-source-talk-layout * {
    box-sizing: border-box;
}
.eroids-source-talk-layout ul,
.eroids-source-talk-layout ol {
    margin: 0;
    padding: 0;
    list-style: none;
}
.eroids-source-talk-layout img { max-width: 100%; height: auto; }
.eroids-source-talk-layout a { color: #c0392b; text-decoration: none; }
.eroids-source-talk-layout a:visited { color: #c0392b; }
.eroids-source-talk-layout a:hover { color: #922b1a; text-decoration: underline; }

/* Source Column (Left) */
.source-column { display:none; }

.source-card {
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.source-header {
  background: #007cba;
  color: white;
  text-align: center;
  padding: 8px;
  font-weight: bold;
  font-size: 14px;
}

.source-title {
  margin: 15px 0 10px 0;
  padding: 0 15px;
  font-size: 16px;
  line-height: 1.3;
}

.source-title a {
  color: #0073aa;
  text-decoration: none;
}

.source-title a:hover {
  text-decoration: underline;
}

.source-screenshot {
  padding: 0 15px;
  text-align: center;
}

.source-screenshot img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid #ddd;
  border-radius: 8px;
}
/* Ensure any overlay text on the left screenshot remains readable */
.source-screenshot { position: relative; }
.source-screenshot .caption, .source-screenshot .overlay-text {
    position: absolute; left: 12px; right: 12px; bottom: 10px;
    color: #fff; font-weight: 700; text-shadow: 0 1px 2px rgba(0,0,0,.6);
}
.source-screenshot:after {
    content: '';
    position: absolute; left: 15px; right: 15px; bottom: 0; height: 36px;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.45) 100%);
    border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; pointer-events: none;
}

.no-image {
  padding: 40px 0;
  background: #f5f5f5;
  color: #666;
  font-size: 13px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.source-stats {
  text-align: center;
  padding: 10px 15px;
  font-size: 14px;
  color: #666;
}

.source-actions {
  padding: 15px;
  border-top: 1px solid #eee;
}

.btn-review, .btn-visit {
  display: block;
  background: #007cba;
  color: white;
  text-align: center;
  padding: 8px 12px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 13px;
  margin-bottom: 8px;
}

.btn-review:hover, .btn-visit:hover {
  background: #005a87;
  color: white;
}

.btn-visit {
  background: #28a745;
}

.btn-visit:hover {
  background: #218838;
}

/* Discussion Column (Center) */
.discussion-column {
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}

.topic-header {
  background: #f8f9fa;
  border-bottom: 1px solid #ddd;
  padding: 15px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.topic-meta span {
  color: #666;
  font-size: 13px;
}

.topic-meta h2 {
  margin: 5px 0 0 0;
  font-size: 18px;
}

.topic-meta h2 a { color: #c0392b; text-decoration: none; }

.topic-actions {
  display: flex;
  gap: 10px;
}

.btn-post-review, .btn-view-page {
    background: #c0392b;
  color: white;
  padding: 6px 12px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 12px;
  white-space: nowrap;
}

.btn-post-review:hover, .btn-view-page:hover {
    background: #922b1a;
  color: white;
}

.btn-view-page {
  background: #6c757d;
}

.btn-view-page:hover {
  background: #545b62;
}

/* Info Sections */
.info-section {
  border-bottom: 1px solid #eee;
}

.info-header {
    background: #e9ecef;
  padding: 12px 20px;
  font-weight: bold;
  font-size: 14px;
  color: #333;
}

.info-content {
  padding: 20px;
}

.no-info {
  color: #666;
  font-style: italic;
  margin: 0;
}

.info-item {
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.5;
}

.info-item:last-child {
  margin-bottom: 0;
}

.info-item .label {
  font-weight: bold;
  color: #333;
}

/* Eroids label/value rows */
.info-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 12px;
    align-items: start;
    padding: 6px 0;
}
.info-row .label {
    color: #1f3e7a;
    font-weight: 700;
}
.info-row .value {
    color: #333;
    line-height: 1.6;
}

.supplier-text {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

/* Promo Section */
.promo-section {
  padding: 20px;
  text-align: center;
  border-bottom: 1px solid #eee;
}

.go-to-reviews {
  background: #28a745;
  color: white;
  padding: 10px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
}
.promo-banner .promo-text {
    color: #155724;
    font-weight: 700;
    margin-bottom: 8px;
}

/* Accordion behavior for info sections */
.info-section.accordion .info-header { cursor: pointer; user-select: none; }
.info-section.accordion .info-content { display: none; }
.info-section.accordion.is-open .info-content { display: block; }
.info-section.accordion .info-header:after {
    content: '\25BC'; /* down arrow */
    float: right;
    color: #666;
    font-weight: normal;
}
.info-section.accordion.is-open .info-header:after {
    content: '\25B2'; /* up arrow */
}

/* Replies Section */
.replies-section {
  padding: 20px;
}

.no-replies {
  color: #666;
  font-style: italic;
  text-align: center;
  padding: 20px 0;
}

/* Replies (eroids-like) */
.eroids-replies .reply-item {
    border-top: 1px solid #eee;
    padding: 15px 0;
}
.eroids-replies .reply-item:first-child {
    border-top: none;
}
.eroids-replies .reply-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    background: #fff9cc; /* soft yellow like eroids */
    border: 1px solid #f0e08a;
    padding: 6px 8px;
    border-radius: 3px;
}
.eroids-replies .reply-author {
    display: flex;
    gap: 10px;
    align-items: center;
}
.eroids-replies .reply-author-info .name {
    font-weight: bold;
    font-size: 13px;
}
.eroids-replies .reply-author-info .time {
    font-size: 11px;
    color: #666;
}
.eroids-replies .reply-content {
    font-size: 13px;
    line-height: 1.6;
}
/* Remove duplicate Reply inside admin links (we render our own) */
.bbp-reply-admin-links .bbp-reply-to-link { display: none !important; }

/* Right Sidebar */
.sidebar-column {
  background: #f8f9fa;
  border-radius: 8px;
  overflow: hidden;
}

.sidebar-widget {
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.widget-title {
  background: #6c757d;
  color: white;
  border-bottom: none;
}

.review-item img {
  border-radius: 2px;
  flex-shrink: 0;
}

.review-details {
  flex: 1;
  min-width: 0;
}

.reviewer-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.reviewer-name {
  font-weight: bold;
  font-size: 12px;
  color: #333;
}

.review-date {
  font-size: 11px;
  color: #666;
}

.review-link {
  color: #0073aa;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.3;
  display: block;
}

.review-link:hover {
  text-decoration: underline;
}

.no-reviews {
  padding: 20px 15px;
  color: #666;
  font-style: italic;
  text-align: center;
  font-size: 13px;
}

/* Ensure login prompt link stays visible on white background */
.login-to-reply a {
  color: #0073aa !important;
}
.login-to-reply a:hover {
  color: #005a87 !important;
}

/* Reply form styling */
.reply-form-wrapper {
  margin-top: 20px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.eroids-reply-form {
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}

.form-tabs {
  display: flex;
  background: #f8f9fa;
  border-bottom: 1px solid #ddd;
}

.tab-button {
  flex: 1;
  padding: 12px 20px;
  text-align: center;
  background: #f8f9fa;
  color: #666;
  cursor: pointer;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.5px;
  border-right: 1px solid #ddd;
  transition: all 0.3s ease;
}

.tab-button:last-child {
  border-right: none;
}

.tab-button.active {
  background: white;
  color: #333;
  border-bottom: 1px solid white;
  margin-bottom: -1px;
}

.tab-button:hover {
  background: #e9ecef;
  color: #333;
}

.tab-content {
  display: none;
  padding: 20px;
}

.tab-content.active {
  display: block;
}

.tab-content textarea {
  width: 100%;
  min-height: 120px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-family: inherit;
  font-size: 14px;
  resize: vertical;
  outline: none;
}

.tab-content textarea:focus {
  border-color: #4CAF50;
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.1);
}

.image-upload-area {
  position: relative;
  text-align: center;
}

.image-upload-area input[type="file"] {
  display: none;
}

.upload-label {
  display: block;
  padding: 40px 20px;
  border: 2px dashed #ddd;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.upload-label:hover {
  border-color: #4CAF50;
  background: #f8fff8;
}

.upload-label span {
  display: block;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin-bottom: 5px;
}

.upload-label small {
  color: #666;
  font-size: 12px;
}

.image-preview {
  margin-top: 15px;
}

.image-preview img {
  max-width: 200px;
  max-height: 150px;
  border-radius: 4px;
  border: 1px solid #ddd;
}

.form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  background: #f8f9fa;
  border-top: 1px solid #ddd;
}

.notify-checkbox {
  display: flex;
  align-items: center;
  font-size: 12px;
  font-weight: bold;
  color: #666;
  letter-spacing: 0.5px;
}

.notify-checkbox input {
  margin-right: 8px;
  transform: scale(1.1);
}

.comment-submit {
  background: #4CAF50;
  color: white;
  border: none;
  padding: 10px 25px;
  border-radius: 5px;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.comment-submit:hover {
  background: #45a049;
}

.reply-form-wrapper .bbp-reply-form {
  margin: 0;
}

/* Uploaded images in replies */
.bbp-reply-content img {
  max-width: 100%;
  height: auto;
  margin: 10px 0;
  border: 1px solid #ddd;
  border-radius: 4px;
}/* Topic content styling */
.eroids-topic-header { 
    background: #f9fafb; 
    border-bottom: 1px solid #e5e7eb; 
    padding: 10px 12px; 
    margin: 0;
}

.eroids-topic-info { 
    margin: 0;
    padding: 12px;
}

.eroids-topic-section { 
    border: 1px solid #dfe7f1; 
    background: #f4f9ff; 
    margin-bottom: 8px; 
}

.eroids-topic-section .section-title { 
    background: #e8f1ff; 
    color: #1f3e7a; 
    padding: 6px 12px; 
    font-weight: bold; 
    border-bottom: 1px solid #dfe7f1; 
    font-size: 12px;
    margin: 0;
}

.eroids-topic-section .section-body { 
    padding: 10px 12px; 
    background: #fff; 
}

.eroids-topic-section .info-row { 
    display: flex; 
    gap: 8px; 
    padding: 3px 0; 
    font-size: 11px;
}

.eroids-topic-section .info-row .label { 
    width: 120px; 
    min-width: 120px; 
    color: #1f3e7a; 
    font-weight: bold; 
}

.eroids-topic-section .info-row .value { 
    flex: 1; 
    color: #333; 
}

.eroids-topic-section .text-block { 
    white-space: pre-wrap; 
    font-size: 11px;
    line-height: 1.4;
    color: #333;
}

.eroids-topic-info .muted { 
    color: #999; 
    font-size: 11px;
}

.eroids-topic-promo { 
    background: #d4edda; 
    border: 1px solid #c3e6cb; 
    padding: 10px 12px; 
    text-align: center; 
    border-radius: 4px; 
    margin: 12px;
}

.eroids-topic-promo .promo-btn { 
    display: inline-block; 
    background: #0066cc; 
    color: #fff; 
    padding: 6px 12px; 
    border-radius: 3px; 
    text-decoration: none; 
    font-weight: bold; 
    font-size: 11px;
}

.eroids-topic-promo .promo-btn:hover { 
    background: #0052a3; 
}

/* Responsive */
@media (max-width: 1024px) {
    .eroids-source-talk-layout { grid-template-columns: 1fr; gap: 15px; }
    .sidebar-column { order: 2; }
    .discussion-column { order: 1; }
}

@media (max-width: 768px) {
  .topic-header {
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
  }
  
  .topic-actions {
    width: 100%;
    justify-content: flex-start;
  }
}/* Except for elements that should be full width */
.promo-banner {
    /* full-bleed, image-style banner */
    width: 100vw !important;
    position: relative; left: 50%; right: 50%; margin-left: -50vw !important; margin-right: -50vw !important;
    padding: 20px 0 !important;
}

/* Intro title block - Red theme */
.eroids-main-title {
    background: #fff5f4;
    color: #c0392b;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 20px;
    margin-bottom: 20px;
    border: 2px solid #f3b0b5;
    border-radius: 5px;
}

.eroids-subtitle {
    font-size: 12px;
    font-weight: normal;
    color: #666666;
    margin-top: 8px;
}

/* Country Filter Tabs - Blue tabs like eroids.com */
.eroids-header-section {
    display: flex;
    gap: 20px;
    margin-bottom: 25px;
}

.sources-section {
    flex: 2;
}

/* Latest Reviews section */
.latest-reviews-section { background:#ffffff; padding: 40px 0; }
.latest-reviews-section .section-inner { max-width: 1320px; margin: 0 auto; padding: 0 20px; }
.section-title { font-size: 32px; font-weight: 800; color:#1f2937; margin: 0 0 30px; letter-spacing: -0.5px; }
.reviews-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.review-card { background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.06); display:flex; flex-direction:column; transition: all 0.3s ease; }
.review-card:hover { transform: translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.1); }
.review-card .review-thumbnail { width:100%; height:140px; overflow:hidden; background:#f8fafc; display:flex; align-items:center; justify-content:center; }
.review-card .review-thumbnail img { width:100%; height:100%; object-fit:cover; }
.review-card .placeholder-thumb { font-size: 48px; color: #9ca3af; }
.review-card .review-content { padding:20px; flex:1; display:flex; flex-direction:column; }

/* =====================
   MOBILE MENU CSS - COMPREHENSIVE
   ===================== */

/* Mobile menu custom dropdown - positioned absolutely */
.mobile-menu-custom {
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    width: 100vw !important;
    height: calc(100vh - 60px) !important;
    background: #000000 !important;
    z-index: 99999 !important;
    display: none !important;
    flex-direction: column !important;
    padding: 40px 20px !important;
    overflow-y: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 0 !important;
    transform: translateY(-20px) !important;
    transition: all 0.3s ease !important;
}

/* Show mobile menu when active */
.mobile-menu-custom.active {
    display: flex !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Mobile menu items */
.mobile-menu-custom .mobile-nav-items {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.mobile-menu-custom .mobile-nav-items li {
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
}

.mobile-menu-custom .mobile-nav-items li:last-child {
    border-bottom: none !important;
}

.mobile-menu-custom .mobile-nav-items a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 15px 0 !important;
    transition: all 0.3s ease !important;
    border: none !important;
    background: none !important;
    opacity: 0 !important;
    transform: translateY(20px) !important;
}

/* Add arrows for parent menu items - handled via JavaScript */
/* Arrow styling removed - now handled dynamically via JavaScript */

/* Rotate arrow when expanded - handled via JavaScript */
/* Arrow rotation removed - now handled dynamically via JavaScript */

/* Animate menu items in */
.mobile-menu-custom.active .mobile-nav-items a {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Staggered animation delays */
.mobile-menu-custom.active .mobile-nav-items li:nth-child(1) a {
    transition-delay: 0.1s !important;
}

.mobile-menu-custom.active .mobile-nav-items li:nth-child(2) a {
    transition-delay: 0.2s !important;
}

.mobile-menu-custom.active .mobile-nav-items li:nth-child(3) a {
    transition-delay: 0.3s !important;
}

.mobile-menu-custom.active .mobile-nav-items li:nth-child(4) a {
    transition-delay: 0.4s !important;
}

.mobile-menu-custom.active .mobile-nav-items li:nth-child(5) a {
    transition-delay: 0.5s !important;
}

.mobile-menu-custom.active .mobile-nav-items li:nth-child(6) a {
    transition-delay: 0.6s !important;
}

.mobile-menu-custom .mobile-nav-items a:hover {
    color: #c0392b !important;
    transform: translateX(10px) !important;
}

/* Mobile menu close button */
.mobile-menu-custom .mobile-menu-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    background: none !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    padding: 10px !important;
    z-index: 100000 !important;
}

/* =====================
   MOBILE SUBMENU STYLING - CLEAN VERSION
   ===================== */

/* Remove those ugly blue boxes and style arrows properly */
.mobile-menu-custom .mobile-arrow-toggle {
    margin-left: 12px !important;
    min-width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    text-align: center !important;
    border: none !important;
    background: none !important;
    color: #fff !important;
    opacity: 0.7 !important;
    transition: transform 0.3s ease, opacity 0.2s ease !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    display: inline-block !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.mobile-menu-custom .mobile-arrow-toggle:hover {
    opacity: 1 !important;
    background: none !important;
    color: #c0392b !important;
}

/* Submenu container - clean accordion style */
.mobile-menu-custom ul.sub-menu {
    max-height: 0px !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    list-style: none !important;
}

.mobile-menu-custom .expanded ul.sub-menu {
    max-height: 500px !important;
    margin-top: 8px !important;
    padding-left: 20px !important;
    border-left: 2px solid rgba(192, 57, 43, 0.3) !important;
}

/* Submenu items - clean styling */
.mobile-menu-custom ul.sub-menu li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.mobile-menu-custom ul.sub-menu li a {
    padding: 10px 0 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    background: none !important;
    border: none !important;
    opacity: 0.8 !important;
}

.mobile-menu-custom ul.sub-menu li a:hover {
    color: #c0392b !important;
    opacity: 1 !important;
    background: none !important;
    transform: translateX(10px) !important;
}

/* Remove all WordPress default dropdown styling in mobile menu */
.mobile-menu-custom * {
    box-shadow: none !important;
    border-radius: 0 !important;
}

.mobile-menu-custom .menu-item-has-children {
    position: relative !important;
}

/* Force clean styling on all submenu elements */
.mobile-menu-custom .menu-item-has-children .sub-menu * {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Clean up any remaining WordPress classes */
.mobile-menu-custom [class*="dropdown"],
.mobile-menu-custom [class*="toggle"],
.mobile-menu-custom [class*="menu-toggle"] {
    display: none !important;
}

/* HIDE THOSE UGLY BLUE DROPDOWN BOXES SPECIFICALLY */
.mobile-menu-custom .ast-menu-toggle,
.mobile-menu-custom .menu-toggle,
.mobile-menu-custom [data-toggle],
.mobile-menu-custom [class*="dropdown-toggle"],
.mobile-menu-custom .dropdown-menu,
.mobile-menu-custom .dropdown,
.mobile-menu-custom .ast-builder-menu-toggle,
.mobile-menu-custom .ast-dropdown-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
}

/* Ensure our custom arrow buttons are visible and properly positioned */
.mobile-menu-custom .mobile-arrow-toggle {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 0.7 !important;
    position: static !important;
    margin-left: auto !important;
}

/* Hide embedded forms/popups inside mobile menu to avoid white cards */
.mobile-menu-custom form,
.mobile-menu-custom .login-form,
.mobile-menu-custom .woocommerce-form,
.mobile-menu-custom .elementor-widget-form,
.mobile-menu-custom .popup,
.mobile-menu-custom .modal,
.mobile-menu-custom .dropdown-menu {
    display: none !important;
}

/* TARGETED WHITE BOX KILLER - Kill popups but KEEP login/register forms */
body.mobile-menu-open .modal:not(.login-modal):not(.register-modal),
body.mobile-menu-open .popup:not(.login-popup):not(.register-popup),
body.mobile-menu-open .dropdown-menu:not([class*="login"]):not([class*="register"]),
body.mobile-menu-open [role="dialog"]:not([class*="login"]):not([class*="register"]),
body.mobile-menu-open .elementor-popup-modal:not([class*="login"]):not([class*="register"]),
body.mobile-menu-open .ast-dropdown-active:not([class*="login"]):not([class*="register"]),
body.mobile-menu-open .show.dropdown-menu:not([class*="login"]):not([class*="register"]),
body.mobile-menu-open div[style*="background: white"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background:white"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background-color: white"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background-color:white"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background: #fff"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background:#fff"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background-color: #fff"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]),
body.mobile-menu-open div[style*="background-color:#fff"]:not([class*="login"]):not([class*="register"]):not([id*="login"]):not([id*="register"]) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: -999999 !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
}

/* Kill any overlays/backdrops that could show white */
body.mobile-menu-open .modal-backdrop,
body.mobile-menu-open .overlay,
body.mobile-menu-open .backdrop {
    display: none !important;
}

/* Keep our overlay on top of everything with maximum z-index */
body.mobile-menu-open .mobile-menu-custom { 
    z-index: 2147483647 !important; 
    position: fixed !important;
}

/* Ensure submenus render inline and dark */
.mobile-menu-custom ul,
.mobile-menu-custom .sub-menu {
   
    border-radius: 6px !important;
}

/* Prevent native selects / dropdowns inside mobile menu from overlaying */
.mobile-menu-custom select,
.mobile-menu-custom .dropdown-menu,
.mobile-menu-custom .ast-above-header-navigation .sub-menu,
.mobile-menu-custom .ast-below-header-navigation .sub-menu {
    position: static !important;
    display: block !important;
    max-height: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Arrow toggle button styling */
.mobile-menu-custom .mobile-arrow-toggle {
    font-size: 14px !important;
}


.mobile-menu-custom .mobile-menu-close:hover {
    opacity: 1 !important;
    transform: rotate(90deg) !important;
}

/* Prevent body scroll when mobile menu is open */
body.mobile-menu-open {
    overflow: hidden !important;
}

/* Mobile hamburger button CSS */
.mobile-menu-button {
    display: none !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 8px !important;
    position: relative !important;
    z-index: 100001 !important;
}

/* Show hamburger on mobile */
@media (max-width: 768px) {
    .mobile-menu-button {
        display: block !important;
    }
}

/* Hamburger icon lines */
.mobile-menu-button .hamburger-line {
    display: block !important;
    width: 25px !important;
    height: 3px !important;
    background: #ffffff !important;
    margin: 5px 0 !important;
    transition: all 0.3s ease !important;
    border-radius: 2px !important;
}

/* Hamburger animation when open */
.mobile-menu-button.active .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px) !important;
}

.mobile-menu-button.active .hamburger-line:nth-child(2) {
    opacity: 0 !important;
}

.mobile-menu-button.active .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px) !important;
}

/* Ensure mobile menu works on all mobile devices */
@media (max-width: 768px) {
    /* Hide all desktop navigation completely */
    .main-navigation,
    .main-header-menu,
    .ast-desktop-menu,
    .nav-menu {
        display: none !important;
    }
    
    /* Show mobile menu button */
    .mobile-menu-button {
        display: block !important;
    }
    
    /* Ensure mobile menu overlay is properly positioned */
    .mobile-menu-custom {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        z-index: 99999 !important;
        
    }
}

/* Additional mobile menu positioning fixes */
.mobile-menu-custom {
    box-sizing: border-box !important;
}

.mobile-menu-custom * {
    box-sizing: border-box !important;
}

/* Ensure menu appears above everything */
.mobile-menu-custom {
    z-index: 999999 !important;
}

/* Mobile menu header area */
.mobile-menu-custom .mobile-menu-header {
    text-align: center !important;
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.mobile-menu-custom .mobile-menu-title {
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: bold !important;
    margin: 0 !important;
}

/* Enhanced mobile menu visibility */
.mobile-menu-custom.show,
.mobile-menu-custom.visible,
.mobile-menu-custom.open {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}
.review-card .review-source-name { font-size:16px; font-weight: 700; margin:0 0 8px; color:#1f2937; }
.review-card .review-stars { color:#f59e0b; font-size:16px; letter-spacing:1px; margin-bottom:8px; display:block; }
.review-card .review-date { color:#6b7280; font-size:13px; margin-bottom:8px; }
.review-card .review-excerpt { color:#4b5563; font-size:13px; margin-bottom:12px; line-height: 1.4; flex:1; }
.review-card .review-read-more { color:#2563eb; font-weight:600; font-size:13px; text-decoration:none; margin-top:auto; display: inline-block; }
.review-card .review-read-more:hover { text-decoration:underline; }
@media (max-width: 992px){ .reviews-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 520px){ .reviews-grid{ grid-template-columns: 1fr;} }

/* Hot Topics + Quick Stats section (match actual template classes) */
.topics-stats-section, .hot-topics-stats-section { background:#f8fafc; padding: 40px 0; }
.topics-stats-section { margin-top: 12px; }
.topics-stats-section .section-inner, .hot-topics-stats-section .section-inner, .section-inner.two-col { max-width:1320px; margin:0 auto; padding:0 20px; }
.section-inner.two-col { display:grid; grid-template-columns: 2fr 1fr; gap:40px; align-items:stretch; }
.topics-stats-grid, .section-inner.two-col { display: grid; }
.topics-stats-grid { grid-template-columns: 2fr 1fr; gap:40px; align-items:stretch; }
.hot-topics .topics-grid, .hot-topics .topics-list { display:grid; grid-template-columns: 1fr; gap:12px; }

/* Right column: stats + advertisement container */
.stats-sidebar-container { display:flex; flex-direction:column; gap:18px; height:100%; }
.stats-sidebar-container > aside.quick-stats { height:200px; overflow:visible; background:#ffffff; border:1px solid #e5e7eb; border-radius:10px; padding:8px 10px; box-shadow:0 2px 8px rgba(0,0,0,.04); flex: 0 0 auto; }
.stats-sidebar-container > aside.quick-stats .section-title { font-size:15px; margin-bottom:6px; }
.stats-sidebar-container > .sidebar-ad-section { flex:1 1 auto; display:flex; align-items:center; justify-content:center; background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); border:1px solid #e5e7eb; border-radius:12px; padding:16px; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.stats-sidebar-container > .sidebar-ad-section .sidebar-ad-header { display:none; }
.topic-card { display:flex; background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:16px; text-decoration:none; color:#1f2937; box-shadow:0 2px 8px rgba(0,0,0,.04); transition: all 0.3s ease; align-items: center; }
.topic-card:hover { border-color:#c7cdd6; box-shadow:0 8px 24px rgba(0,0,0,.08); transform: translateY(-1px); }
.topic-icon { display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center; background:#dbeafe; color:#2563eb; border-radius:8px; margin-right:12px; font-size: 16px; flex-shrink: 0; }
.topic-details { flex: 1; }
.topic-title { display:block; font-weight:700; margin:0 0 4px; font-size:14px; color:#1f2937; line-height: 1.3; }
.topic-meta { display:block; font-size:12px; color:#6b7280; }

.quick-stats { background:#ffffff; border:1px solid #e5e7eb; border-radius:12px; padding:24px; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.quick-stats .section-title { margin-bottom: 20px; }
.stats-list { margin:0 0 20px; }
.stat-row { display:flex; align-items:center; justify-content:space-between; padding:4px 0; border-bottom:1px solid #f1f5f9; }
.stat-row:last-child { border-bottom:none; }
.stat-num { font-size:17px; font-weight:800; color:#1f2937; line-height:1; }
.stat-label { color:#6b7280; font-size:11px; margin-left:6px; }
.submit-content-btn { display:block; width:100%; text-align:center; background:#2563eb; color:#ffffff !important; padding:4px 8px; border-radius:8px; text-decoration:none; font-weight:700; font-size: 12px; transition: background 0.3s ease; }
.submit-content-btn:hover { background:#1d4ed8; color:#ffffff !important; }
@media (max-width: 992px){ .topics-stats-grid{ grid-template-columns: 1fr; } .hot-topics .topics-list{ grid-template-columns: 1fr; } }

/* Latest Pictures strip */
.latest-pictures-section { background:#ffffff; padding: 40px 0; margin-top: 30px; }
.latest-pictures-section .section-inner { max-width:1320px; margin:0 auto; padding:0 20px; }
.pictures-strip { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:20px; }
.picture-item { display:block; border-radius:12px; overflow:hidden; aspect-ratio:16/9; background: #f8fafc; position: relative; transition: all 0.3s ease; max-height:120px; }
.picture-item:hover { transform: scale(1.02); }
.picture-item img { display:block; width:100%; height:100%; object-fit:cover; }
.picture-item.placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f1f5f9; }
.placeholder-img { font-size: 48px; margin-bottom: 8px; }
.picture-caption { font-size: 12px; color: #6b7280; text-align: center; padding: 8px; }

/* Ensure Hot Topics / Quick Stats section does not overlap the next section */
.hot-topics-stats-section { position: relative; z-index: 1; }
.topics-stats-grid { margin-bottom: 18px; }
.latest-pictures-section { margin-top: 18px; }

/* Prevent overlapping due to negative margins or absolute positioning from other styles */
.hot-topics, .quick-stats { position: relative; z-index: 2; }
.topics-stats-section .hot-topics, .topics-stats-section .quick-stats { margin-bottom: 6px; }

/* Debug outlines to visualize layout boxes (temporary) */
.hot-topics { outline: 2px dashed rgba(99,102,241,0.14); }
.stats-sidebar-container { outline: 2px dashed rgba(236,72,153,0.10); }
.stats-sidebar-container > .sidebar-ad-section { outline: 2px dashed rgba(34,197,94,0.08); }
.latest-pictures-section { outline: 2px dashed rgba(16,185,129,0.06); }
.topics-stats-section { outline: 1px solid rgba(99,102,241,0.04); }

/* Hide various back-to-top / go-to-top elements if present */
#toTop, #to-top, .to-top, .back-to-top, .back_to_top, .scroll-to-top, .go-to-top, .goto-top, #ast-scroll-top, .ast-scroll-to-top, .site-scroll-to-top, .site-scroll-top, .scroll-top, .back-to-top-wrap { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Small safety: ensure latest pictures grid clears floats */
.latest-pictures-section::before { content: ""; display: table; clear: both; }
@media (max-width: 992px){ .pictures-strip{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 520px){ .pictures-strip{ grid-template-columns: 1fr;} }

/* Top Sources Header with Location Filters - Red theme */
.top-sources-header {
    background: #c0392b;
    color: #ffffff;
    padding: 8px 15px;
    font-size: 12px;
    font-weight: bold;
    border: 1px solid #922b1a;
    border-radius: 5px 5px 0 0;
}

.location-filter {
    color: #ffffff;
    text-decoration: none;
    margin-right: 12px;
    padding: 4px 8px;
    font-size: 11px;
    border-radius: 3px;
    transition: background-color 0.3s;
}

.location-filter:hover,
.location-filter.active {
    background: #922b1a;
    color: #ffffff;
    text-decoration: none;
}

.apply-text {
    float: right;
    color: #ccccff;
    font-size: 10px;
}

/* Top Sources List - White background with borders */
/* Horizontal ranked cards like eroids */
.top-sources-cards {
    background: #ffffff;
    border-top: none;
    padding: 14px 0 10px; /* no horizontal padding: use outer margins instead */
    border-radius: 0 0 6px 6px;
    margin-top:5px;
        display: grid;
        grid-template-columns: repeat(10, 1fr);
    gap: 12px;
}

/* keep cards off the hard edges on very wide screens - only in the full-bleed home section */
.top-sources-section .top-sources-cards { margin-left: 16px; margin-right: 16px; }
@media (max-width: 768px) { .top-sources-section .top-sources-cards { margin-left: 12px; margin-right: 12px; } }
@media (max-width: 420px) { .top-sources-section .top-sources-cards { margin-left: 10px; margin-right: 10px; } }

@media (max-width: 1400px) {
    .top-sources-cards { grid-template-columns: repeat(8, 1fr); }
}
@media (max-width: 1200px) {
    .top-sources-cards { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 992px) {
    .top-sources-cards { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
    .top-sources-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
    .top-sources-cards { grid-template-columns: 1fr; }
}

.ranked-source-card {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .16s ease, transform .16s ease;
}
.ranked-source-card:hover { box-shadow: 0 10px 22px rgba(0,0,0,.12); transform: translateY(-2px); }

.screenshot-wrap { position: relative; background: #f7f9fc; height: 110px; display: flex; align-items: center; justify-content: center; }
.source-screenshot { width: 100%; height: 110px; object-fit: cover; display: block; }
.screenshot-placeholder { width: 100%; height: 110px; display:flex; align-items:center; justify-content:center; color:#9aa6b2; font-size:26px; font-weight:700; background:#f1f3f5; }
.rank-badge { position: absolute; bottom: -12px; left: 10px; background: #c0392b; color: #fff; width: 26px; height: 26px; border-radius: 999px; display:flex; align-items:center; justify-content:center; font-weight: 700; font-size: 12px; box-shadow: 0 2px 6px rgba(0,0,0,.15); }

.card-title { margin: 16px 10px 2px; color: #c0392b; text-decoration: none; font-weight: 700; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-title:hover { color:#922b1a; text-decoration: underline; }
.card-score { margin: 0 10px 12px; color: #94a3b8; font-size: 10px; letter-spacing: .6px; text-transform: uppercase; font-weight: 500; }

.source-item {
    padding: 8px 12px;
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #f0f0f0;
}

.source-item:last-child {
    border-bottom: none;
}

.source-rank {
    color: #ff6600;
    font-weight: bold;
    margin-right: 6px;
    min-width: 16px;
    text-align: right;
}

.source-name {
    color: #c0392b;
    text-decoration: none;
    flex: 1;
    font-weight: 500;
    line-height: 1.3;
}

.source-name:hover {
    color: #922b1a;
    text-decoration: underline;
}

.source-score { color: #888; font-size: 10px; }
.source-item:hover { background: #fff6f5; }
.source-name:hover { color: #922b1a; text-decoration: underline; }

.no-sources-message {
    color: #999999;
    text-align: center;
    padding: 25px;
    font-style: italic;
}

.no-sources-message a { color: #c0392b; }

/* Header Advertisement - Clean white box */
.header-advertisement {
    background: #ffffff;
    border: 1px solid #cccccc;
    padding: 15px;
    text-align: center;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.ad-banner {
    max-width: 100%;
    max-height: 180px;
}

.ad-placeholder {
    color: #999999;
    text-align: center;
    font-size: 12px;
}

/* Red promotional banners - Keep red but adjust */
.promo-banner {
    background: linear-gradient(135deg, #dc2626, #991b1b);
    border: 2px solid #dc2626;
    margin: 0 0px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.promo-banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 25px;
}

.promo-text {
    color: #ffffff;
    font-weight: bold;
}

.promo-highlight {
    font-size: 18px;
    color: #fbbf24;
    display: block;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.promo-tagline {
    font-size: 14px;
    color: #ffffff;
    opacity: 0.9;
}

.promo-logo {
    font-size: 28px;
    color: #fbbf24;
}

/* Footer */
.site-footer {
    background: #ffffff !important;
    color: #0f172a !important; /* slate-900 */
    padding: 50px 0 30px 0 !important;
    border-top: 1px solid #e2e8f0 !important; /* slate-200 */
}
.site-footer .footer-content{ max-width:1320px; margin:0 auto; padding:0 16px; }
.site-footer .footer-columns-wrapper{
    display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:22px;
}
/* Make footer logo small */
.site-footer .footer-logo img,
.site-footer .footer-logo svg {
    max-height: 38px;
    width: auto;
    height: auto;
}
.site-footer .footer-logo .custom-logo-link { display: inline-flex; align-items: center; }
.site-footer .footer-logo .site-title { font-size: 18px; font-weight: 700; color: #0f172a; text-decoration: none; }
@media (max-width: 992px){ .site-footer .footer-columns-wrapper{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .site-footer .footer-columns-wrapper{ grid-template-columns: 1fr; } }
.footer-column h4{ margin:0 0 10px; font-size:14px; }
.footer-column ul{ list-style:none; margin:0; padding:0; }
.footer-column ul li{ margin:6px 0; }
.footer-column h4 { color: #0f172a !important; }
.footer-column ul li a { color: #334155 !important; /* slate-700 */ }
.footer-column ul li a:hover { color: #0f172a !important; /* slate-900 */ }
.footer-bottom {
    border-top: 1px solid #e2e8f0 !important; /* slate-200 */
    color: #64748b !important; /* slate-500 */
    max-width:1320px; margin:18px auto 0; padding:12px 16px 0; text-align:center;
}

/* Promotional/CTA buttons */
.go-to-reviews,
.btn-review,
.btn-post-review,
.btn-view-page,
.eroids-topic-promo .promo-btn {
    background: #c0392b !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(192,57,43,0.08) !important;
}
.go-to-reviews:hover,
.btn-review:hover,
.btn-post-review:hover,
.btn-view-page:hover,
.eroids-topic-promo .promo-btn:hover {
    background: #922b1a !important;
}

/* Promotional text accents */
.promo-text, .promo-title { color: #ffffff !important; }
.promo-highlight { color: #ffd7d4 !important; }
.promo-meta { color: #ffe4e2 !important; }

/* --- bbPress layout improvements --- */
.bbpress-wrapper, #bbpress-forums{max-width:1100px;margin:0 auto;padding:0 16px}
.bbp-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}
.bbp-form legend{font-weight:700;font-size:14px;margin-bottom:8px}
.bbp-form .bbp-the-content-wrapper, .bbp-form textarea{width:100%}
.bbp-form textarea{min-height:160px}
.bbp-form input[type="text"], .bbp-form input[type="email"], .bbp-form select{width:100%;max-width:600px}
.bbp-submit-wrapper{display:flex;justify-content:flex-end;margin-top:10px}
.bbp-submit-wrapper{justify-content:center}
#bbp_topic_submit,#bbp_reply_submit{background:#4CAF50;color:#fff;border:none;border-radius:4px;padding:10px 18px;cursor:pointer;font-weight:700}
#bbp_topic_submit:hover,#bbp_reply_submit:hover{background:#45a049}
/* Center submit wrapper on bbPress forms */
.bbp-submit-wrapper{display:flex!important;justify-content:center!important}
.bbp-template-notice{background:#fff8e1;border:1px solid #ffe0b2;border-radius:6px;padding:8px 12px}
@media (max-width:768px){.bbp-form input[type="text"], .bbp-form input[type="email"], .bbp-form select{max-width:100%}}

/* Sticky header offset for forum/topic pages */
:root{--eroids-header-h:72px}
.single-topic .site-main{padding-top:calc(var(--eroids-header-h,72px) + 8px) !important}
.bbpress .site-main{padding-top:calc(var(--eroids-header-h,72px) + 8px) !important}
/* Ensure in-page anchors are visible below the sticky header */
#bbpress-forums [id^="post-"], #latest-reply, #new-post, .eroids-reply-item{scroll-margin-top:calc(var(--eroids-header-h,72px) + 10px) !important}

/* Reply to Topic Button Styling - Red Button Style */
#toggle-reply-form {
    background: #dc3545 !important; /* Red background instead of green */
    color: #fff !important;
    border: none !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important; /* Make it a button, not full width */
    max-width: 200px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 4px rgba(220, 53, 69, 0.2) !important;
}

#toggle-reply-form:hover {
    background: #c82333 !important; /* Darker red on hover */
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3) !important;
}

#toggle-reply-form:active {
    transform: translateY(0) !important;
}

/* Quick Reply Accordion Container */
.quick-reply-accordion {
    margin-bottom: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

/* Reply Form Container */
#reply-form-container {
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-top: 10px !important;
    width: 100% !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* =====================
   Normal Page Layout Fix
   ===================== */

/* Override the full-width forcing for normal pages (non-forum, non-front-page) */
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .site-content,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .ast-container,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) #primary,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .content-area {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: auto !important;
}

/* Normal page content styling */
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .site-main {
    background: #fff !important;
    padding: 40px !important;
    margin: 20px 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Page title styling */
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-header {
    margin-bottom: 30px !important;
    padding-bottom: 20px !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-title {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #2c5aa0 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

/* Page content styling */
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #333 !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content h1,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content h2,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content h3,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content h4 {
    color: #2c5aa0 !important;
    margin-top: 2rem !important;
    margin-bottom: 1rem !important;
    font-weight: 600 !important;
}

.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content p {
    margin-bottom: 1.5rem !important;
}

.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content ul,
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content ol {
    margin: 1.5rem 0 !important;
    padding-left: 2rem !important;
}

.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-content li {
    margin-bottom: 0.5rem !important;
}

/* Page background */
.page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) body {
    background: #f8f9fa !important;
}

/* Responsive adjustments for normal pages */
@media (max-width: 768px) {
    .page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .site-content,
    .page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .ast-container {
        padding: 0 15px !important;
    }
    
    .page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .site-main {
        padding: 20px !important;
        margin: 10px 0 !important;
    }
    
    .page:not(.page-template-front-page):not(.bbpress):not(.single-topic):not(.single-forum_topic) .entry-title {
        font-size: 2rem !important;
    }
}

/* Mobile Header Search Fix */
@media (max-width: 768px) {
    /* Ensure header search is visible and properly positioned */
    .header-search {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        margin: 8px 0 0 0 !important;
        order: 3 !important;
    }
    
    .header-search form {
        display: flex !important;
        width: 100% !important;
        gap: 8px !important;
        align-items: center !important;
    }
    
    .header-search input[type="search"] {
        flex: 1 !important;
        width: auto !important;
        padding: 12px 16px !important;
        border: 1px solid rgba(255,255,255,0.3) !important;
        border-radius: 8px !important;
        background: rgba(255,255,255,0.15) !important;
        color: #fff !important;
        font-size: 16px !important;
        backdrop-filter: blur(10px) !important;
    }
    
    .header-search input[type="search"]::placeholder {
        color: rgba(255,255,255,0.7) !important;
    }
    
    .header-search button {
        position: static !important;
        transform: none !important;
        background: rgba(255,255,255,0.2) !important;
        border: 1px solid rgba(255,255,255,0.3) !important;
        padding: 12px 16px !important;
        border-radius: 8px !important;
        color: #fff !important;
        cursor: pointer !important;
        font-size: 16px !important;
        flex: 0 0 auto !important;
        backdrop-filter: blur(10px) !important;
    }
    
    .header-search button:hover {
        background: rgba(255,255,255,0.3) !important;
    }
    
    /* Make sure header content flows properly */
    .site-header .header-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 0 !important;
    }
    
    .mobile-header-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        order: 1 !important;
    }
}

/* Source Reviews Table Mobile Responsiveness */
@media (max-width: 768px) {
    .eroids-source-reviews-page {
        padding: 10px !important;
        font-size: 11px !important;
    }
    
    /* Mobile filter bar */
    .sources-list form[method="get"] > div {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: stretch !important;
    }
    
    .sources-list form[method="get"] input,
    .sources-list form[method="get"] select,
    .sources-list form[method="get"] button {
        width: 100% !important;
        padding: 8px !important;
        font-size: 12px !important;
    }
    
    /* Mobile table - simplified 3 columns only */
    .sources-table {
        overflow-x: visible !important;
    }
    
    .table-header {
        grid-template-columns: 60px 1fr 120px !important;
        min-width: auto !important;
        font-size: 11px !important;
        padding: 8px 10px !important;
        gap: 10px !important;
    }
    
    /* Hide extra columns in header */
    .table-header > div:nth-child(4),
    .table-header > div:nth-child(5),
    .table-header > div:nth-child(6),
    .table-header > div:nth-child(7),
    .table-header > div:nth-child(8) {
        display: none !important;
    }
    
    /* Mobile table rows - only 3 columns */
    .source-row {
        grid-template-columns: 60px 1fr 120px !important;
        min-width: auto !important;
        padding: 8px 10px !important;
        gap: 10px !important;
        font-size: 11px !important;
    }
    
    /* Hide extra columns in rows */
    .source-row > div:nth-child(4),
    .source-row > div:nth-child(5),
    .source-row > div:nth-child(6),
    .source-row > div:nth-child(7),
    .source-row > div:nth-child(8) {
        display: none !important;
    }
    
    /* Adjust remaining columns for mobile */
    .source-row .score {
        font-size: 13px !important;
        font-weight: bold !important;
    }
    
    .source-row .source-name {
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: initial !important;
    }
    
    .source-row .source-name a {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
    
    .source-row .website {
        font-size: 10px !important;
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: initial !important;
        word-break: break-word !important;
    }
}

/* Steroid Reviews Table Mobile Responsiveness */
@media (max-width: 768px) {
    .eroids-steroid-reviews-page {
        padding: 10px !important;
        font-size: 11px !important;
    }
    
    /* Mobile steroid table - 3 columns only */
    .steroids-table {
        overflow-x: visible !important;
    }
    
    .steroids-table .table-header {
        grid-template-columns: 60px 1fr 120px !important;
        min-width: auto !important;
        font-size: 11px !important;
        padding: 8px 10px !important;
        gap: 10px !important;
    }
    
    /* Hide extra columns in steroid header */
    .steroids-table .table-header > div:nth-child(4),
    .steroids-table .table-header > div:nth-child(5),
    .steroids-table .table-header > div:nth-child(6),
    .steroids-table .table-header > div:nth-child(7) {
        display: none !important;
    }
    
    /* Mobile steroid rows - only 3 columns */
    .steroid-row {
        grid-template-columns: 60px 1fr 120px !important;
        min-width: auto !important;
        padding: 8px 10px !important;
        gap: 10px !important;
        font-size: 11px !important;
    }
    
    /* Hide extra columns in steroid rows */
    .steroid-row > div:nth-child(4),
    .steroid-row > div:nth-child(5),
    .steroid-row > div:nth-child(6),
    .steroid-row > div:nth-child(7) {
        display: none !important;
    }
    
    /* Adjust steroid row content */
    .steroid-row .score {
        font-size: 13px !important;
        font-weight: bold !important;
    }
    
    .steroid-row .steroid-name {
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: initial !important;
    }
    
    .steroid-row .steroid-name a {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
    
    .steroid-row .manufacturer {
        font-size: 10px !important;
        overflow: visible !important;
        white-space: normal !important;
        text-overflow: initial !important;
        word-break: break-word !important;
    }
}

@media (max-width: 480px) {
    .eroids-source-reviews-page {
        padding: 8px !important;
        max-width: 100% !important;
    }
    
    /* Extra small mobile - even more compact */
    .table-header {
        grid-template-columns: 45px 120px 80px 40px 40px 40px 40px 30px !important;
        min-width: 435px !important;
        font-size: 9px !important;
        padding: 5px 6px !important;
        gap: 4px !important;
    }
    
    .source-row {
        grid-template-columns: 45px 120px 80px 40px 40px 40px 40px 30px !important;
        min-width: 435px !important;
        padding: 5px 6px !important;
        gap: 4px !important;
        font-size: 9px !important;
    }
    
    .source-row .score {
        font-size: 10px !important;
    }
    
    .source-row .source-name a {
        font-size: 9px !important;
    }
    
    .source-row .website {
        font-size: 8px !important;
    }
    
    /* Page title smaller */
    .page-header h1 {
        font-size: 16px !important;
        margin-bottom: 15px !important;
    }
}

/* Single Steroid/Source Review Page Mobile Fix - Enhanced */
@media (max-width: 768px) {
    /* Main container fixes */
    .single-eroids_steroid .eroids-forum-main,
    .single-eroids_source .eroids-forum-main {
        max-width: 100% !important;
        padding: 0 8px !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
    }
    
    /* Header styling fixes */
    .single-eroids_steroid .eroids-header,
    .single-eroids_source .eroids-header {
        margin: 8px 0 16px !important;
        padding: 12px !important;
        border-radius: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Grid layout for mobile - stack vertically */
    .single-eroids_steroid .eroids-header-grid,
    .single-eroids_source .eroids-header-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas: 
            "title"
            "image" 
            "table" 
            "metrics" !important;
        gap: 12px !important;
        margin: 0 !important;
    }
    
    /* Title and subtitle */
    .single-eroids_steroid .eroids-header-title,
    .single-eroids_source .eroids-header-title {
        grid-area: title !important;
        font-size: 18px !important;
        margin: 0 0 8px !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }
    
    .single-eroids_steroid .eroids-header-sub,
    .single-eroids_source .eroids-header-sub {
        font-size: 12px !important;
        margin: 0 0 12px !important;
        text-align: center !important;
    }
    
    /* Product image */
    .single-eroids_steroid .eroids-header-image,
    .single-eroids_source .eroids-header-image {
        grid-area: image !important;
        width: 120px !important;
        height: 120px !important;
        margin: 0 auto !important;
        justify-self: center !important;
    }
    
    /* Rating table - make it full width and scrollable */
    .single-eroids_steroid .rating-breakdown,
    .single-eroids_source .rating-breakdown {
        grid-area: table !important;
        font-size: 11px !important;
        margin: 0 !important;
        overflow-x: auto !important;
        width: 100% !important;
        display: block !important;
        white-space: nowrap !important;
    }
    
    .single-eroids_steroid .rating-breakdown th,
    .single-eroids_source .rating-breakdown th {
        font-size: 10px !important;
        padding: 6px 8px !important;
        white-space: nowrap !important;
    }
    
    .single-eroids_steroid .rating-breakdown td,
    .single-eroids_source .rating-breakdown td {
        font-size: 11px !important;
        padding: 6px 8px !important;
        white-space: nowrap !important;
    }
    
    /* Metrics - stack horizontally */
    .single-eroids_steroid .eroids-header-metrics,
    .single-eroids_source .eroids-header-metrics {
        grid-area: metrics !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        justify-content: center !important;
        margin: 12px 0 0 !important;
    }
    
    .single-eroids_steroid .metric-block,
    .single-eroids_source .metric-block {
        flex: 1 !important;
        min-width: 80px !important;
        font-size: 11px !important;
        text-align: center !important;
    }
    
    /* Layout fixes */
    .single-eroids_steroid .eroids-layout,
    .single-eroids_source .eroids-layout {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        margin-top: 16px !important;
    }
    
    /* Content sections */
    .single-eroids_steroid .eroids-content-section,
    .single-eroids_source .eroids-content-section {
        margin: 0 0 16px !important;
        padding: 12px !important;
        border-radius: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Product specifications */
    .single-eroids_steroid .product-specifications-section,
    .single-eroids_source .product-specifications-section {
        margin: 16px 0 !important;
        width: 100% !important;
    }
    
    .single-eroids_steroid .specs-layout,
    .single-eroids_source .specs-layout {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    
    /* Review items */
    .single-eroids_steroid .review-item,
    .single-eroids_source .review-item,
    .single-eroids_steroid .eroids-review-card,
    .single-eroids_source .eroids-review-card {
        padding: 12px !important;
        margin-bottom: 12px !important;
        border-radius: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Fix any wide elements */
    .single-eroids_steroid table,
    .single-eroids_source table,
    .single-eroids_steroid .eroid-row,
    .single-eroids_source .eroid-row {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        box-sizing: border-box !important;
    }
    
    /* Container and wrapper fixes */
    .single-eroids_steroid .container,
    .single-eroids_source .container,
    .single-eroids_steroid .ast-container,
    .single-eroids_source .ast-container {
        max-width: 100% !important;
        padding: 0 8px !important;
        margin: 0 !important;
        width: 100% !important;
    }
    
    /* Body and html overflow fixes */
    .single-eroids_steroid,
    .single-eroids_source {
        overflow-x: hidden !important;
    }
    
    /* Form elements mobile fix */
    .single-eroids_steroid .review-form,
    .single-eroids_source .review-form {
        padding: 12px !important;
        margin: 0 0 16px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .single-eroids_steroid .eroid-row textarea,
    .single-eroids_source .eroid-row textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    .single-eroids_steroid .eroids-header-title,
    .single-eroids_source .eroids-header-title {
        font-size: 16px !important;
    }
    
    .single-eroids_steroid .eroids-header,
    .single-eroids_source .eroids-header {
        padding: 8px !important;
    }
    
    .single-eroids_steroid .eroids-forum-main,
    .single-eroids_source .eroids-forum-main {
        padding: 0 4px !important;
    }
}

/* Global mobile overrides for all content breaking issues */
@media (max-width: 768px) {
    /* Force all wide elements to respect mobile width */
    * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Specific fixes for elements that commonly break layout */
    .eroids-header-grid,
    .specs-layout,
    .eroids-layout,
    .review-form,
    .eroid-row {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Fix viewport and scrolling */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Container fixes */
    .ast-container,
    .container,
    .site-content,
    .entry-content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Text areas and form elements */
    textarea,
    input[type="text"],
    input[type="email"],
    select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Tables */
    table {
        width: 100% !important;
        table-layout: auto !important;
        word-wrap: break-word !important;
    }
    
    /* Images */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Force override inline grid styles */
    .eroids-header-grid[style] {
        grid-template-columns: 1fr !important;
        grid-template-areas: 
            "title"
            "image" 
            "table" 
            "metrics" !important;
    }
    
    /* Inline style overrides for mobile */
    .single-eroids_steroid .eroids-header-grid[style*="grid-template-columns"],
    .single-eroids_source .eroids-header-grid[style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }
    
    /* Layout structure override */
    .single-eroids_steroid .eroids-layout[style],
    .single-eroids_source .eroids-layout[style] {
        grid-template-columns: 1fr !important;
    }
    
    /* Final mobile layout fixes */
    .single-eroids_steroid .site,
    .single-eroids_source .site,
    .single-eroids_steroid .ast-single-post,
    .single-eroids_source .ast-single-post {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Fix header actions on mobile */
    .single-eroids_steroid .eroids-header-actions,
    .single-eroids_source .eroids-header-actions {
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
    }
    
    /* Buttons and form elements */
    .single-eroids_steroid .eroids-buttons,
    .single-eroids_source .eroids-buttons {
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
    }
    
    .single-eroids_steroid .eroids-btn,
    .single-eroids_source .eroids-btn {
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
}

/* ===============================
   MOBILE FIXES FOR SINGLE PAGES - REVIEW FORM & LAYOUT
   =============================== */
@media (max-width: 768px) {
    /* 1) Fix "Write a Review" section getting cut off */
    .single-eroids_steroid .eroids-reviews-section,
    .single-eroids_source .eroids-reviews-section,
    .single-eroids_steroid .review-form,
    .single-eroids_source .review-form,
    .single-eroids_steroid .eroid-accordion,
    .single-eroids_source .eroid-accordion,
    .single-eroids_steroid .eroid-accordion-item,
    .single-eroids_source .eroid-accordion-item,
    .single-eroids_steroid .eroid-accordion-panel,
    .single-eroids_source .eroid-accordion-panel {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .single-eroids_steroid .eroid-row,
    .single-eroids_source .eroid-row {
        flex-direction: column !important;
        width: 100% !important;
        gap: 8px !important;
    }
    
    .single-eroids_steroid .eroid-row > div,
    .single-eroids_source .eroid-row > div {
        width: 100% !important;
        margin-bottom: 12px !important;
        flex: none !important;
    }
    
    /* Fix star rating wrapping */
    .single-eroids_steroid .star-rating,
    .single-eroids_source .star-rating { 
        flex-wrap: wrap !important; 
        justify-content: flex-start !important;
    }
    
    /* Ensure textareas and form elements are responsive */
    .single-eroids_steroid .eroid-row textarea,
    .single-eroids_source .eroid-row textarea,
    .single-eroids_steroid .review-form input,
    .single-eroids_source .review-form input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        resize: vertical !important;
    }
    
    /* 2) Fix review layout order: profile/meta ? title ? stars ? text */
    .single-eroids_steroid .review-item,
    .single-eroids_source .review-item {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        padding: 12px !important;
        border-radius: 6px !important;
    }
    
    /* Profile meta comes first */
    .single-eroids_steroid .review-item .review-meta,
    .single-eroids_source .review-item .review-meta {
        order: 1 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-size: 12px !important;
        margin-bottom: 8px !important;
        color: #666 !important;
        flex-wrap: wrap !important;
    }
    
    /* Title comes second */
    .single-eroids_steroid .review-item .review-title,
    .single-eroids_source .review-item .review-title {
        order: 2 !important;
        font-weight: 600 !important;
        margin-bottom: 6px !important;
        font-size: 14px !important;
    }
    
    /* Overall stars come third */
    .single-eroids_steroid .review-item .review-overall-rating,
    .single-eroids_source .review-item .review-overall-rating {
        order: 3 !important;
        margin-bottom: 8px !important;
    }
    
    /* Review sections with text come fourth */
    .single-eroids_steroid .review-item .eroids-review-section,
    .single-eroids_source .review-item .eroids-review-section {
        order: 4 !important;
        margin-bottom: 6px !important;
    }
    
    /* Section titles and stars on mobile */
    .single-eroids_steroid .review-item .eroids-review-section-title,
    .single-eroids_source .review-item .eroids-review-section-title,
    .single-eroids_steroid .review-item .eroids-review-section .star-bar,
    .single-eroids_source .review-item .eroids-review-section .star-bar {
        font-size: 11px !important;
    }
    
    .single-eroids_steroid .review-item .eroids-review-text,
    .single-eroids_source .review-item .eroids-review-text {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }
    
    /* Voting buttons come last */
    .single-eroids_steroid .review-item .review-voting,
    .single-eroids_source .review-item .review-voting {
        order: 5 !important;
        margin-top: 8px !important;
    }
    
    /* 3) Fix rank section blank space by compressing ad-block */
    .single-eroids_steroid .ad-block,
    .single-eroids_source .ad-block {
        min-height: 0 !important; /* override any inline 300px */
        height: auto !important;
        padding: 8px !important; /* reduce padding */
        margin: 8px 0 !important; /* reduce margin */
        max-height: 120px !important; /* limit height on mobile */
    }
    
    .single-eroids_steroid .ad-block .ad-placeholder,
    .single-eroids_source .ad-block .ad-placeholder {
        min-height: 100px !important; /* much smaller ad space on mobile */
        height: 100px !important;
        padding: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 12px !important;
        background: #f5f5f5 !important;
        color: #888 !important;
    }
    
    /* Fix metrics spacing around rank */
    .single-eroids_steroid .eroids-header-metrics,
    .single-eroids_source .eroids-header-metrics {
        margin: 8px 0 !important;
        gap: 8px !important;
    }
    
    .single-eroids_steroid .metric-block,
    .single-eroids_source .metric-block {
        padding: 8px !important;
        margin: 0 !important;
    }
    
    /* Ensure accordions work properly on mobile */
    .single-eroids_steroid .eroid-accordion-toggle,
    .single-eroids_source .eroid-accordion-toggle {
        width: 100% !important;
        text-align: left !important;
        padding: 12px !important;
        box-sizing: border-box !important;
    }
    
    .single-eroids_steroid .eroid-accordion-panel,
    .single-eroids_source .eroid-accordion-panel {
        padding: 12px !important;
        box-sizing: border-box !important;
    }
}

/* Source Talk Page Mobile Responsive Fixes */
@media (max-width: 768px) {
    /* Main container responsive */
    .eroids-talk-page.eroids-source-talk {
        padding: 8px 6px !important;
        max-width: 100% !important;
        font-size: 11px !important;
    }
    
    /* Header responsive */
    .eroids-talk-page h1 {
        font-size: 18px !important;
        margin: 8px 0 12px !important;
        text-align: center !important;
    }
    
    /* Results container responsive */
    .eroids-talk-page .eroids-results {
        border-radius: 2px !important;
        overflow: hidden !important;
    }
    
    /* Results header responsive */
    .eroids-talk-page .eroids-results-head {
        padding: 6px 8px !important;
        font-size: 11px !important;
        text-align: center !important;
    }
    
    /* Topic items - override inline grid with mobile-friendly layout */
    .eroids-talk-page .eroids-results ul li {
        display: block !important;
        grid-template-columns: none !important;
        padding: 8px 10px !important;
        gap: 0 !important;
    }
    
    /* Topic content stacking */
    .eroids-talk-page .eroids-results ul li > div:first-child {
        margin-bottom: 6px !important;
    }
    
    /* Topic title responsive */
    .eroids-talk-page .eroids-results ul li a {
        font-size: 12px !important;
        line-height: 1.3 !important;
        display: block !important;
        margin-bottom: 3px !important;
    }
    
    /* Source info responsive */
    .eroids-talk-page .eroids-results ul li > div:first-child > div {
        font-size: 10px !important;
        margin-top: 2px !important;
    }
    
    /* Stats container */
    .eroids-talk-page .eroids-results ul li > div:nth-child(2),
    .eroids-talk-page .eroids-results ul li > div:nth-child(3) {
        display: inline-block !important;
        margin-right: 12px !important;
        font-size: 10px !important;
    }
    
    /* Pagination responsive */
    .eroids-talk-page > div:last-child {
        margin: 12px 0 !important;
        justify-content: center !important;
        gap: 4px !important;
    }
    
    .eroids-talk-page > div:last-child a {
        padding: 3px 6px !important;
        font-size: 10px !important;
        border-radius: 2px !important;
    }
    
    /* Empty state responsive */
    .eroids-talk-page .eroids-results > div:last-child {
        padding: 15px !important;
        font-size: 11px !important;
    }
}

/* Extra small mobile devices */
@media (max-width: 480px) {
    .eroids-talk-page.eroids-source-talk {
        padding: 6px 4px !important;
        font-size: 10px !important;
    }
    
    .eroids-talk-page h1 {
        font-size: 16px !important;
        margin: 6px 0 10px !important;
    }
    
    .eroids-talk-page .eroids-results ul li {
        padding: 6px 8px !important;
    }
    
    .eroids-talk-page .eroids-results ul li a {
        font-size: 11px !important;
    }
    
    /* Stack stats vertically on very small screens */
    .eroids-talk-page .eroids-results ul li > div:nth-child(2),
    .eroids-talk-page .eroids-results ul li > div:nth-child(3) {
        display: block !important;
        margin-right: 0 !important;
        margin-top: 2px !important;
    }
}

/* Single Topic Page Mobile Responsive Fixes */
@media (max-width: 768px) {
    /* Main layout container */
    .eroids-generic-layout {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 8px 6px !important;
        max-width: 100% !important;
    }
    
    /* Topic content container */
    .eroids-generic-topic {
        order: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Sidebar stacking */
    .generic-sidebar {
        order: 2 !important;
        margin-top: 12px !important;
    }
    
    /* Breadcrumb responsive */
    .eroids-breadcrumb {
        padding: 6px 8px !important;
        font-size: 11px !important;
        margin-bottom: 12px !important;
        border-radius: 4px !important;
    }
    
    /* Topic header responsive */
    .generic-header .generic-title {
        font-size: 18px !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }
    
    .generic-header .generic-meta {
        font-size: 11px !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        margin-bottom: 10px !important;
    }
    
    .generic-header .generic-meta .avatar {
        width: 16px !important;
        height: 16px !important;
    }
    
    /* Quick reply form responsive */
    .quick-reply-accordion {
        margin-bottom: 16px !important;
    }
    
    .quick-reply-accordion button {
        padding: 10px 12px !important;
        font-size: 13px !important;
        border-radius: 4px !important;
    }
    
    #reply-form-container {
        padding: 12px !important;
        border-radius: 0 0 4px 4px !important;
    }
    
    /* Topic lead content */
    .generic-lead {
        padding: 12px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        margin-bottom: 14px !important;
        border-radius: 6px !important;
    }
    
    /* Actions responsive */
    .generic-actions {
        margin-bottom: 12px !important;
        gap: 4px !important;
        font-size: 11px !important;
    }
    
    /* Replies section */
    .generic-replies {
        padding: 4px 6px !important;
        border-radius: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .generic-section-title {
        font-size: 13px !important;
        padding: 8px 6px !important;
        margin-bottom: 8px !important;
    }
    
    /* Ensure bbpress forums container is full width */
    #bbpress-forums,
    .bbpress-wrapper,
    .bbp-replies {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Reply cards responsive */
    .eroids-reply-card {
        padding: 10px !important;
        margin-bottom: 10px !important;
        border-radius: 6px !important;
    }
    
    /* Override grid layout for reply items on mobile - make them full width */
    .eroids-reply-item,
    #bbpress-forums li.bbp-reply,
    #bbpress-forums div.bbp-reply,
    .bbp-replies-container .bbp-body > div {
        display: block !important;
        grid-template-columns: none !important;
        padding: 12px !important;
        margin-bottom: 12px !important;
        border-radius: 6px !important;
        border: 1px solid #e5e7eb !important;
        background: #fff !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Author info should be inline on mobile, not separate column */
    .reply-author-info {
        text-align: left !important;
        margin-bottom: 8px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    
    /* Avatar styling for mobile */
    .reply-author-avatar,
    .reply-author-info .avatar {
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        overflow: hidden !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }
    
    .reply-author-avatar img,
    .reply-author-info .avatar img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    /* Author name and meta info */
    .reply-author-info .name,
    .reply-author-info .reply-author-name {
        font-weight: 600 !important;
        font-size: 13px !important;
        margin-right: 6px !important;
    }
    
    .reply-author-info .time,
    .reply-author-info .reply-date {
        font-size: 11px !important;
        color: #6b7280 !important;
    }
    
    /* Reply content should be full width below author */
    .reply-content,
    .bbp-reply-content,
    .eroids-reply-card .reply-content {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    .eroids-reply-card .reply-meta {
        font-size: 11px !important;
        margin-bottom: 8px !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .eroids-reply-card .reply-meta .avatar {
        width: 32px !important;
        height: 32px !important;
        border-radius: 50% !important;
        margin-right: 8px !important;
    }
    
    .eroids-reply-card .reply-content {
        font-size: 14px !important;
        line-height: 1.6 !important;
        margin-bottom: 8px !important;
        width: 100% !important;
    }
    
    .eroids-reply-card .reply-actions {
        font-size: 11px !important;
        gap: 6px !important;
        margin-top: 8px !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }
    
    /* Ensure all reply action buttons stay in one line */
    .reply-actions,
    .eroids-reply-card .reply-actions,
    #bbpress-forums .reply-actions {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        align-items: center !important;
        margin-top: 8px !important;
        flex-direction: inherit;
    }
    
    /* Style individual action buttons for mobile */
    .reply-actions a,
    .eroids-reply-card .reply-actions a {
        font-size: 11px !important;
        padding: 4px 6px !important;
        border-radius: 3px !important;
        background: #f0f0f0 !important;
        color: #2c5aa0 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
    
    .reply-actions a:hover,
    .eroids-reply-card .reply-actions a:hover {
        background: #e0e0e0 !important;
    }
    
    /* Threaded replies - reduce nesting margin on mobile */
    .eroids-reply-card[style*="margin-left"] {
        margin-left: 12px !important;
    }
    
    /* In reply to section */
    .eroids-reply-card .in-reply-to {
        font-size: 10px !important;
        margin-bottom: 6px !important;
        gap: 4px !important;
        display: flex !important;
        align-items: center !important;
        color: #6b7280 !important;
    }
    
    /* Sidebar widgets responsive */
    .sidebar-widget {
        margin-bottom: 12px !important;
        border-radius: 6px !important;
    }
    
    .sidebar-widget .widget-title {
        font-size: 12px !important;
        padding: 8px 10px !important;
    }
    
    .sidebar-widget .widget-body {
        font-size: 12px !important;
        padding: 8px 10px !important;
        line-height: 1.4 !important;
    }
    
    .sidebar-widget .widget-body .item {
        margin-bottom: 6px !important;
    }
    
    .sidebar-widget .widget-body a {
        font-size: 12px !important;
        line-height: 1.3 !important;
        margin-bottom: 6px !important;
    }
    
    /* BBPress form elements */
    .bbp-form input[type="text"],
    .bbp-form input[type="email"],
    .bbp-form select,
    .bbp-form textarea {
        max-width: 100% !important;
        width: 100% !important;
        font-size: 14px !important;
        padding: 8px !important;
        border-radius: 4px !important;
    }
    
    .bbp-form textarea {
        min-height: 100px !important;
    }
    
    .bbp-submit-wrapper {
        margin-top: 10px !important;
        text-align: center !important;
    }
    
    #bbp_reply_submit,
    #bbp_topic_submit {
        padding: 8px 16px !important;
        font-size: 13px !important;
        border-radius: 4px !important;
    }
    
    /* Floating action buttons mobile adjustment */
    .eroids-fab {
        right: 8px !important;
        bottom: 8px !important;
        gap: 6px !important;
    }
    
    .eroids-fab .btn {
        padding: 6px 8px !important;
        font-size: 11px !important;
        border-radius: 16px !important;
    }
}

/* Extra small mobile devices */
@media (max-width: 480px) {
    .eroids-generic-layout {
        padding: 6px 4px !important;
        gap: 10px !important;
    }
    
    .generic-header .generic-title {
        font-size: 16px !important;
    }
    
    .generic-header .generic-meta {
        font-size: 10px !important;
    }
    
    .generic-lead {
        padding: 10px !important;
        font-size: 12px !important;
    }
    
    .eroids-reply-card {
        padding: 8px !important;
    }
    
    .eroids-reply-card .reply-content {
        font-size: 12px !important;
    }
    
    /* Reduce threaded nesting even more on very small screens */
    .eroids-reply-card[style*="margin-left"] {
        margin-left: 8px !important;
    }
    
    .sidebar-widget .widget-body {
        font-size: 11px !important;
    }
    
    .sidebar-widget .widget-body a {
        font-size: 11px !important;
    }
}

/* =====================
   FORUM PAGE BOTTOM SPACING
   ===================== */

/* Add bottom margin to forum pages to prevent footer intersection */
.bbpress-wrapper,
#bbpress-forums,
.bbpress-forums,
.eroids-forum-wrapper {
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
}

/* Specific forum page containers */
.bbp-topics,
.bbp-topic-content,
.bbp-forum-content,
.eroids-talk-page,
.eroids-source-talk,
.eroids-steroid-talk {
    margin-bottom: 30px !important;
}

/* Ensure main content areas have bottom spacing on forum pages */
body.bbpress .site-content,
body.bbpress #primary,
body.bbpress .content-area {
    padding-bottom: 50px !important;
}

/* Mobile forum spacing */
@media (max-width: 768px) {
    .bbpress-wrapper,
    #bbpress-forums,
    .bbpress-forums,
    .eroids-forum-wrapper {
        margin-bottom: 30px !important;
        padding-bottom: 15px !important;
    }
}

/* =====================
   REVIEW VOTING SYSTEM v1.0.8
   ===================== */

/* Vote button styling */
.vote-btn {
    display: inline-block;
    padding: 2px 4px;
    margin: 0;
    background: transparent !important;
    border: none !important;
    border-radius: 4px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.vote-btn:hover {
    background: transparent !important;
    border: none !important;
    color: #333;
    text-decoration: none;
}

.vote-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: transparent !important;
}

/* Voted state styling */
.vote-btn.voted {
    background: transparent !important;
    border: none !important;
    color: #007cba;
}

.vote-btn.voted:hover {
    background: transparent !important;
    border: none !important;
    color: #005a87;
}

/* Thumb icon styling */
.vote-btn .thumb {
    margin-right: 5px;
    font-size: 16px;
}

/* Vote container layout */
.vote-buttons {
    margin: 15px 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.vote-buttons .vote-label {
    margin-right: 10px;
    font-weight: 600;
    color: #333;
}

