/* IRGCMS Branded Styles - Modern UI Update */

:root {
    color-scheme: light !important; /* Force browser to acknowledge light mode globally */
    /* IRG Brand Colors - Dynamic variables injected via header.php */
    --irg-deep-blue: var(--dynamic-primary, #1f325d);
    --irg-yellow: var(--dynamic-secondary, #fdba12);
    
    /* Other dynamic variables */
    --bg-light: var(--dynamic-bg, #f4f7f9);
    --text-dark: var(--dynamic-text, #1f325d);
    --link-color: var(--dynamic-link, #1c75bc);
    --link-hover: var(--dynamic-link-hover, #1f325d);
    --nav-bg: var(--dynamic-navbar-bg, #1f325d);
    --nav-text: var(--dynamic-navbar-text, #ffffff);
    --foot-bg: var(--dynamic-footer-bg, #ffffff);
    --foot-text: var(--dynamic-footer-text, #6c757d);
    --btn-primary: var(--dynamic-btn-primary-bg, #1c75bc);
    --radius: var(--dynamic-border-radius, 10px);
    --c-bg: var(--dynamic-card-bg, #ffffff);

    /* Other static variables */
    --irg-mid-blue: #4778aa;
    --irg-teal: #00a79d;
    --irg-green: #2bb673;
    --irg-light-blue: #1c75bc;
    --irg-sky-blue: #27aae1;
    --irg-orange: #f15a29;
    
    /* Functional Colors */
    --text-muted: #6c757d;
    --card-shadow: 0 4px 12px rgba(31, 50, 93, 0.08);
}

body {
    background-color: var(--bg-light);
    color: var(--text-dark);
    font-family: var(--font-family, 'Gotham', 'Arial', sans-serif);
    line-height: 1.6;
}

a {
    color: var(--link-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--link-hover);
}

/* Navbar */
.navbar {
    background-color: var(--nav-bg) !important;
    border-bottom: 4px solid var(--irg-yellow);
    padding: 0.8rem 1rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.navbar .nav-link {
    color: var(--nav-text) !important;
    font-weight: 500;
}

.nav-tabs .nav-link {
    color: var(--irg-deep-blue) !important;
}

.nav-tabs .nav-link.active {
    color: #ffffff !important;
}

.nav-link:hover {
    color: var(--irg-yellow) !important;
    opacity: 0.8;
}

/* Headings */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--irg-deep-blue);
    font-weight: 700;
}

/* Accessibility Fix: Ensure headings inside dark backgrounds or white-text containers are light/inherit */
.text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white h6,
.text-white .h1, .text-white .h2, .text-white .h3, .text-white .h4, .text-white .h5, .text-white .h6,
.text-bg-dark h1, .text-bg-dark h2, .text-bg-dark h3, .text-bg-dark h4, .text-bg-dark h5, .text-bg-dark h6,
.text-bg-dark .h1, .text-bg-dark .h2, .text-bg-dark .h3, .text-bg-dark .h4, .text-bg-dark .h5, .text-bg-dark .h6,
.bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark h4, .bg-dark h5, .bg-dark h6,
.bg-black h1, .bg-black h2, .bg-black h3, .bg-black h4, .bg-black h5, .bg-black h6,
.bg-maverick-dark h1, .bg-maverick-dark h2, .bg-maverick-dark h3, .bg-maverick-dark h4, .bg-maverick-dark h5, .bg-maverick-dark h6,
.active-hero-card h1, .article-hero-maverick h1, .article-hero-active h1, .scoreboard-card h1, .scoreboard-card h4 {
    color: inherit !important;
}

/* Buttons */
.btn {
    border-radius: var(--radius);
    padding: 0.6rem 1.5rem;
    font-weight: 600;
}

.btn-primary {
    background-color: var(--btn-primary);
    border-color: var(--btn-primary);
}

.btn-primary:hover {
    filter: brightness(90%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* Cards */
.card {
    background-color: var(--c-bg);
    border: none;
    border-radius: var(--radius);
    box-shadow: var(--card-shadow);
}

.card-header {
    background-color: transparent;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    font-weight: 700;
    color: var(--irg-deep-blue);
}

/* Footer */
.footer {
    background-color: var(--foot-bg);
    color: var(--foot-text);
    padding: 2rem 0;
    border-top: 1px solid rgba(0,0,0,0.05);
}

/* Form Controls */
.form-control, .form-select, textarea, [contenteditable="true"] {
    border-radius: var(--radius);
    padding: 0.6rem 1rem;
    border: 1px solid #dee2e6;
    color: #1f325d !important; /* Force hardcoded dark blue text */
    caret-color: #1f325d !important; /* Force hardcoded dark blue caret */
    background-color: #fff !important;
    color-scheme: light !important;
    /* Custom SVG Cursor as fallback for white system I-beams */
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='24' viewBox='0 0 16 24'%3E%3Cpath d='M7 4h2v16H7z' fill='%231f325d'/%3E%3Cpath d='M4 4h8v2H4zM4 18h8v2H4z' fill='%231f325d'/%3E%3C/svg%3E") 8 12, text !important;
}

.form-control:hover, .form-select:hover,
.form-control:focus, .form-select:focus {
    color: #1f325d !important;
    caret-color: #1f325d !important;
    background-color: #fff !important;
    border-color: var(--irg-light-blue);
}

label {
    font-weight: 600;
    color: var(--irg-deep-blue);
    margin-bottom: 0.5rem;
}

/* Sidebar (Admin) */
.admin-sidebar {
    background-color: #fff;
    min-height: calc(100vh - 60px);
    box-shadow: 2px 0 10px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.admin-sidebar .nav-link {
    color: var(--irg-deep-blue) !important;
    padding: 0.8rem 1.5rem;
    border-radius: 0;
    border-left: 4px solid transparent;
    display: flex;
    align-items: center;
}

.admin-sidebar .nav-link i {
    width: 20px;
    text-align: center;
}

.admin-sidebar .nav-link.active {
    background-color: rgba(71, 120, 170, 0.1);
    border-left-color: var(--irg-yellow);
    font-weight: 700;
}

.admin-sidebar .nav-link:hover {
    background-color: rgba(71, 120, 170, 0.05);
    color: var(--irg-light-blue) !important;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .admin-sidebar {
        min-height: auto;
    }
}

