/* Roll Ball Sri Lanka - Premium Modern Sports Theme (Vibrant, Clean & Elegant) */
:root {
    --rbsl-orange: #ff6600;
    --rbsl-orange-hover: #ea580c;
    --rbsl-orange-dark: #c2410c;
    --rbsl-orange-light: #fff7ed;
    --rbsl-orange-gradient: linear-gradient(135deg, #ff6600 0%, #ea580c 100%);
    --rbsl-orange-glow: rgba(255, 102, 0, 0.25);
    
    /* Elegant Dark Accents (Used for Header & Footer contrast) */
    --rbsl-navy-header: #0f172a;
    --rbsl-navy-dark: #1e293b;
    --rbsl-navy-subtle: #334155;
    
    /* Clean Light Backgrounds & Surfaces */
    --rbsl-bg-main: #f8fafc;
    --rbsl-bg-card: #ffffff;
    --rbsl-bg-alt: #f1f5f9;
    
    /* Modern Borders & Shadows */
    --rbsl-border-color: #e2e8f0;
    --rbsl-border-orange: rgba(255, 102, 0, 0.3);
    --rbsl-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.04);
    --rbsl-shadow-md: 0 6px 20px rgba(15, 23, 42, 0.06);
    --rbsl-shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.1);
    --rbsl-shadow-orange: 0 8px 22px rgba(255, 102, 0, 0.25);
    
    /* Readable High-Contrast Typography */
    --rbsl-text-main: #0f172a;
    --rbsl-text-secondary: #475569;
    --rbsl-text-muted: #64748b;
    --rbsl-text-light: #ffffff;
}

/* Base Overrides */
body, .bigslam-body {
    background-color: var(--rbsl-bg-main) !important;
    color: var(--rbsl-text-main) !important;
    font-family: 'Roboto', 'Inter', sans-serif !important;
}

a {
    color: var(--rbsl-orange);
    transition: all 0.3s ease;
}

a:hover, a:focus {
    color: var(--rbsl-orange-hover);
    text-decoration: none;
}

/* Headings & Text Formatting */
h1, h2, h3, h4, h5, h6,
.bigslam-page-title, .gdlr-core-title-item-title {
    color: var(--rbsl-text-main) !important;
    font-family: 'Roboto Condensed', 'Inter', sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px;
}

.text-orange, .text-warning, .text-danger {
    color: var(--rbsl-orange) !important;
}

.text-muted {
    color: var(--rbsl-text-muted) !important;
}

/* Navbar & Navigation Enhancements */
.bigslam-top-bar {
    background: #0b1120 !important;
    border-bottom: 1px solid rgba(255, 102, 0, 0.25);
}

.bigslam-top-bar-right-text, .bigslam-top-bar-left {
    color: #cbd5e1 !important;
}

.bigslam-top-bar i {
    color: var(--rbsl-orange) !important;
}

.bigslam-header-wrap, .bigslam-header-background {
    background-color: var(--rbsl-navy-header) !important;
    border-bottom: 3px solid var(--rbsl-orange) !important;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.15);
}

.sf-menu > li > a {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px;
    transition: color 0.3s ease !important;
}

.sf-menu > li:hover > a,
.sf-menu > li.current-menu-item > a,
.sf-menu > li.current-menu-ancestor > a {
    color: var(--rbsl-orange) !important;
}

.bigslam-navigation-slide-bar {
    border-color: var(--rbsl-orange) !important;
    background-color: var(--rbsl-orange) !important;
}

/* Dropdown Menu Style */
.sf-menu ul, .sub-menu, .dropdown-menu-custom {
    background: #ffffff !important;
    border: 1px solid var(--rbsl-border-color) !important;
    box-shadow: var(--rbsl-shadow-lg) !important;
    border-radius: 10px !important;
    padding: 8px 0 !important;
}

.sf-menu ul li a, .sub-menu li a, .dropdown-menu-custom a {
    color: var(--rbsl-text-main) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 10px 20px !important;
}

.sf-menu ul li:hover > a, .sub-menu li:hover > a, .dropdown-menu-custom a:hover {
    background: var(--rbsl-orange-light) !important;
    color: var(--rbsl-orange) !important;
}

/* Page Title Wrapper */
.bigslam-page-title-wrap {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    border-bottom: 3px solid var(--rbsl-orange) !important;
    padding: 50px 0 45px 0 !important;
}

.bigslam-page-title {
    color: #ffffff !important;
    text-transform: uppercase;
    font-size: 38px !important;
    font-weight: 900 !important;
    letter-spacing: 1px;
}

/* Modern Clean Cards */
.rbsl-card, .gdlr-core-pbf-column-content-margin, .card {
    background: var(--rbsl-bg-card) !important;
    border-radius: 14px !important;
    border: 1px solid var(--rbsl-border-color) !important;
    box-shadow: var(--rbsl-shadow-md) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
    color: var(--rbsl-text-main) !important;
}

/* Badges & Status Indicators */
.rbsl-badge, .badge, .sp-badge {
    padding: 6px 14px !important;
    border-radius: 20px !important;
    font-weight: 800 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: var(--rbsl-orange-light) !important;
    color: var(--rbsl-orange) !important;
    border: 1px solid var(--rbsl-border-orange) !important;
    display: inline-block;
}

.rbsl-badge-live, .badge-danger {
    background: var(--rbsl-orange-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: 0 0 12px var(--rbsl-orange-glow) !important;
    animation: pulse-orange 1.8s infinite;
}

@keyframes pulse-orange {
    0% { box-shadow: 0 0 0 0 rgba(255, 102, 0, 0.5); }
    70% { box-shadow: 0 0 0 10px rgba(255, 102, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 102, 0, 0); }
}

.rbsl-badge-black {
    background: var(--rbsl-navy-header) !important;
    color: #ffffff !important;
    border: 1px solid var(--rbsl-orange) !important;
}

/* Trendy Buttons */
.btn-primary, .squad-btn, .gdlr-core-button, .btn-orange,
input[type="submit"], button[type="submit"] {
    background: var(--rbsl-orange-gradient) !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 26px !important;
    border-radius: 8px !important;
    box-shadow: var(--rbsl-shadow-orange) !important;
    transition: all 0.3s ease !important;
    display: inline-block;
    cursor: pointer;
}

.btn-primary:hover, .squad-btn:hover, .gdlr-core-button:hover, .btn-orange:hover,
input[type="submit"]:hover, button[type="submit"]:hover {
    background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(255, 102, 0, 0.4) !important;
    color: #ffffff !important;
}

.btn-outline-orange, .btn-outline {
    background: transparent !important;
    border: 2px solid var(--rbsl-orange) !important;
    color: var(--rbsl-orange) !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 10px 22px !important;
    transition: all 0.3s ease !important;
}

.btn-outline-orange:hover, .btn-outline:hover {
    background: var(--rbsl-orange) !important;
    color: #ffffff !important;
    box-shadow: var(--rbsl-shadow-orange) !important;
}

/* Section Title Accents */
.rbsl-section-title, .gdlr-core-title-item-title-wrap {
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 25px;
}

.rbsl-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 70px;
    height: 4px;
    background: var(--rbsl-orange-gradient);
    border-radius: 2px;
    box-shadow: 0 0 10px var(--rbsl-orange-glow);
}

/* Footer Styling */
footer, .bigslam-footer-wrapper {
    background-color: var(--rbsl-navy-header) !important;
    border-top: 3px solid var(--rbsl-orange) !important;
    color: #cbd5e1 !important;
}

.bigslam-widget-title, footer h3, footer h6 {
    color: var(--rbsl-orange) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    border-bottom: 2px solid rgba(255, 102, 0, 0.3) !important;
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
}

footer a {
    color: #cbd5e1 !important;
}

footer a:hover {
    color: var(--rbsl-orange) !important;
}

.bigslam-copyright-wrapper {
    background-color: #0b1120 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #94a3b8 !important;
}

/* Countdown & Special Event Widgets */
.countdown-box {
    background: #ffffff !important;
    border: 1px solid var(--rbsl-border-orange) !important;
    padding: 20px !important;
    border-radius: 16px !important;
    box-shadow: var(--rbsl-shadow-md) !important;
}

.cd-box {
    background: var(--rbsl-orange-light) !important;
    border: 1px solid var(--rbsl-border-orange) !important;
    color: var(--rbsl-orange) !important;
    border-radius: 12px !important;
}

.cd-box span {
    color: var(--rbsl-text-main) !important;
    font-weight: 900 !important;
}

.cd-box small {
    color: var(--rbsl-orange) !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
}

/* Scrollbar Style */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-track {
    background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
    background: var(--rbsl-orange);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--rbsl-orange-hover);
}

/* =========================================================
   COMPREHENSIVE CONTRAST & VISIBILITY OVERRIDES
   ========================================================= */

/* Base container defaults */
.bigslam-page-wrapper, .gdlr-core-page-builder-body, .gdlr-core-pbf-wrapper {
    background-color: var(--rbsl-bg-main);
    color: var(--rbsl-text-main);
}

/* Headings inside light sections */
.light-section h1, .light-section h2, .light-section h3,
.light-section h4, .light-section h5, .light-section h6,
.rbsl-card h1, .rbsl-card h2, .rbsl-card h3,
.rbsl-card h4, .rbsl-card h5, .rbsl-card h6 {
    color: var(--rbsl-text-main) !important;
}

/* Headings inside dark sections */
.dark-section h1, .dark-section h2, .dark-section h3,
.dark-section h4, .dark-section h5, .dark-section h6,
.upcoming-section h1, .upcoming-section h2, .upcoming-section h3,
.upcoming-section h4, .upcoming-section h5, .upcoming-section h6,
.hero-banner-container h1, .hero-banner-container h2, .hero-banner-container h3,
.event-card h1, .event-card h2, .event-card h3, .event-card h4 {
    color: #ffffff !important;
}

/* Paragraphs & Text Contrast for Light Contexts */
.light-section p, .light-section label, .light-section li,
.rbsl-card p, .rbsl-card label, .rbsl-card li {
    color: var(--rbsl-text-secondary) !important;
}

/* Paragraphs & Text Contrast for Dark Contexts */
.dark-section p, .dark-section span:not(.badge):not(.rbsl-badge):not(.squad-btn):not(.fa):not(.bi),
.upcoming-section p, .upcoming-section span:not(.badge):not(.rbsl-badge):not(.squad-btn):not(.fa):not(.bi),
.hero-banner-container p, .hero-banner-container span:not(.badge):not(.rbsl-badge):not(.squad-btn):not(.fa):not(.bi),
.event-card p, .event-card span:not(.badge):not(.rbsl-badge):not(.squad-btn):not(.fa):not(.bi) {
    color: #cbd5e1 !important;
}

/* Table Text & Cell Content Visibility */
.table td, .sp-data-table td, table td {
    color: #0f172a !important;
    background-color: #ffffff !important;
}

.table td *, .sp-data-table td *, table td * {
    color: inherit;
}

/* Table Headers */
.table th, .sp-data-table th, table th,
.table thead th, .sp-data-table thead th, table thead th {
    background-color: var(--rbsl-navy-header) !important;
    color: #ffffff !important;
    border-bottom: 3px solid var(--rbsl-orange) !important;
}

.table th *, .sp-data-table th *, table th * {
    color: #ffffff !important;
}

/* SportsPress Table Caption Banner */
.sp-table-caption, .player-group-name, .player-list-group-name {
    background: var(--rbsl-navy-header) !important;
    color: #ffffff !important;
    border-left: 5px solid var(--rbsl-orange) !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    margin-bottom: 15px !important;
}

/* Form Controls & Inputs */
input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], select, textarea, .form-control {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
}

input::placeholder, textarea::placeholder, .form-control::placeholder {
    color: #64748b !important;
    opacity: 1 !important;
}

/* Dark Header, Top Bar, Hero Banners, Footer & Buttons */
.bigslam-top-bar, .bigslam-top-bar * {
    color: #cbd5e1 !important;
}
.bigslam-top-bar i, .bigslam-top-bar a:hover {
    color: var(--rbsl-orange) !important;
}

.sf-menu > li > a {
    color: #ffffff !important;
}
.sf-menu > li:hover > a, .sf-menu > li.current-menu-item > a {
    color: var(--rbsl-orange) !important;
}

.bigslam-page-title-wrap, .bigslam-page-title-wrap * {
    color: #ffffff !important;
}

footer, .bigslam-footer-wrapper, footer * {
    color: #cbd5e1 !important;
}
footer h3, footer h6, footer .bigslam-widget-title {
    color: var(--rbsl-orange) !important;
}

.btn-primary, .squad-btn, .gdlr-core-button, .btn-orange,
input[type="submit"], button[type="submit"] {
    color: #ffffff !important;
}

.btn-primary *, .squad-btn *, .gdlr-core-button *, .btn-orange * {
    color: #ffffff !important;
}

/* Event Status & Countdown Banners (High Contrast Professional Theme) */
.event-ended, .event-live {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
    border: 2px solid #ff6600 !important;
    border-radius: 16px !important;
    padding: 30px 25px !important;
    text-align: center !important;
    color: #ffffff !important;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.4) !important;
}

.event-ended, .event-ended * {
    color: #ffffff !important;
}

.event-ended .event-subtext, .event-ended small {
    color: #ff6600 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin-top: 6px !important;
    display: block !important;
}

/* HIGH CONTRAST EVENT ENDED BANNER CARD */
.event-ended-banner {
    background: #ffffff !important;
    border: 3px solid #ff6600 !important;
    border-radius: 16px !important;
    padding: 28px 24px !important;
    text-align: left !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.4) !important;
    margin-top: 15px !important;
    width: 100% !important;
}

.event-ended-banner .banner-status-badge {
    display: inline-block !important;
    background: #0f172a !important;
    color: #ffffff !important;
    border: 1px solid #ff6600 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 10px !important;
}

.event-ended-banner .banner-main-title {
    font-size: 26px !important;
    font-weight: 900 !important;
    color: #0f172a !important;
    margin: 0 0 6px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.event-ended-banner .banner-sub-text {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    margin: 0 0 18px 0 !important;
    line-height: 1.5 !important;
}

.event-ended-banner .banner-action-group {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.event-ended-banner .banner-action-btn {
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
}

.event-ended-banner .banner-action-btn.primary-btn {
    background: #ff6600 !important;
    color: #ffffff !important;
    border: 2px solid #ff6600 !important;
    box-shadow: 0 4px 14px rgba(255, 102, 0, 0.3) !important;
}

.event-ended-banner .banner-action-btn.primary-btn:hover {
    background: #ea580c !important;
    border-color: #ea580c !important;
    color: #ffffff !important;
}

.event-ended-banner .banner-action-btn.secondary-btn {
    background: #0f172a !important;
    color: #ffffff !important;
    border: 2px solid #0f172a !important;
}

.event-ended-banner .banner-action-btn.secondary-btn:hover {
    background: #ff6600 !important;
    border-color: #ff6600 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   GLOBAL HIGH-CONTRAST VISIBILITY & ELEGANT LAYOUT OVERRIDES
   ========================================================================== */

/* 1. Feature Banners (New Arrival / Gear Up / Game Essentials) */
.gdlr-core-pbf-column-content-margin {
    background: rgba(15, 23, 42, 0.94) !important;
    border: 2px solid #ff6600 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
    padding: 35px 25px !important;
}

.gdlr-core-text-box-item-content div {
    color: #ffffff !important;
}

.gdlr-core-text-box-item-content a {
    color: #ff6600 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: underline !important;
}

/* 2. Featured Videos Carousel Titles */
.gdlr-core-portfolio-item {
    background: #0f172a !important;
    padding: 30px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 102, 0, 0.3) !important;
}

.gdlr-core-portfolio-title,
.gdlr-core-portfolio-title a {
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    display: block !important;
    margin-top: 10px !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.8) !important;
}

.gdlr-core-portfolio-title a:hover {
    color: #ff6600 !important;
}

/* 3. Our Core Team Speaks (Testimonials) Cards */
.gdlr-core-blog-grid {
    background: #ffffff !important;
    border: 2px solid #e2e8f0 !important;
    border-top: 5px solid #ff6600 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.08) !important;
    padding: 30px 24px !important;
    min-height: 300px !important;
    height: auto !important;
    margin-bottom: 25px !important;
}

.gdlr-core-blog-grid-frame {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
}

.gdlr-core-blog-title, .gdlr-core-blog-title a {
    color: #0f172a !important;
    font-weight: 900 !important;
    font-size: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
}

.gdlr-core-blog-content {
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    font-style: italic !important;
    margin-bottom: 20px !important;
}

.gdlr-core-blog-info-author, .gdlr-core-blog-info-author a {
    color: #ff6600 !important;
    font-weight: 800 !important;
    font-size: 15px !important;
    text-decoration: none !important;
}

/* 4. Instagram Feed Section */
.gdlr-core-instagram-item-title {
    color: #ffffff !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

/* 5. Section Titles & Subpage Headings High-Contrast Rule */
.rbsl-section-title,
h2.rbsl-section-title,
h3.rbsl-section-title,
.container > h2,
.container > h3 {
    color: #0f172a !important;
    font-weight: 900 !important;
    letter-spacing: 0.5px !important;
}

.rbsl-card .rbsl-section-title,
.rbsl-card h2.rbsl-section-title,
.rbsl-card h3.rbsl-section-title,
.rbsl-card h2, .rbsl-card h3, .rbsl-card h4 {
    color: #ffffff !important;
}
