Jump to content
🚛
Streamline your cross-border operation. From ACE & ACI eManifests to PARS tracking and U.S. In-Bond filing, BorderConnect is the fastest way to cross.

MediaWiki:Common.css

From BorderConnect Wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* --- BORDERCONNECT MODERN WIKI THEME (TEAL BRANDING) --- */

:root {
    --bc-blue: #266065;        /* BRAND COLOR: Teal */
    --bc-blue-dark: #163a3d;   /* DARKER SHADE: Deep Green/Slate */
    --bc-accent: #eef5f6;      /* Light background */
    
    /* ... keep your other variables the same ... */
    --bc-text: #2c3e50;
    --bc-text-muted: #546e7a;
    --bc-bg-page: #f4f7f9;
    --bc-radius: 8px;
    --bc-shadow: 0 4px 12px rgba(0,0,0,0.08);
    --bc-shadow-hover: 0 10px 20px rgba(0,0,0,0.12);
}

/* Global Wrapper - Creates the "Surface" for cards to sit on */
.bc-wrap {
    max-width: 1240px;
    margin: 0 auto;
    font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    color: var(--bc-text);
    line-height: 1.6;
    background-color: var(--bc-bg-page); /* The light gray background you asked for */
    padding: 30px;
    border-radius: var(--bc-radius);
}

/* --- HERO SECTION --- */
.bc-hero {
    /* The Gradient: Starts with Brand Color, flows to Dark Slate */
    background: linear-gradient(120deg, var(--bc-blue) 0%, var(--bc-blue-dark) 100%);
    
    color: white;
    padding: 60px 30px;
    border-radius: var(--bc-radius);
    margin-bottom: 40px;
    
    /* Deep shadow + bottom border for 3D effect */
    box-shadow: 0 10px 25px rgba(38, 96, 101, 0.25); 
    border-bottom: 6px solid rgba(0,0,0,0.15);

    /* NEW: Centering Logic */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
}

.bc-hero h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 10px 0;
    color: white;
    border: none;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
    width: 100%; /* Ensures text has room to center */
}

.bc-hero p {
    font-size: 1.25rem;
    opacity: 0.95;
    margin-bottom: 30px;
    font-weight: 400;
    width: 100%;     /* Keeps paragraphs centered */
    max-width: 800px; /* Prevents text from stretching too wide on huge screens */
}

/* Meta Data (Article & Image Counts) */
.bc-hero .bc-meta {
    font-size: 0.95rem;
    opacity: 0.9;
    margin-top: 25px;
    color: #e0f2f1; /* Soft light teal for normal text */
}

/* MAKE LINKS VISIBLE */
.bc-hero .bc-meta a {
    color: #ffffff !important; /* Pure white */
    font-weight: 700;          /* Bold */
    text-decoration: underline;
    text-underline-offset: 3px; /* Cleaner spacing for underline */
}

.bc-hero .bc-meta a:hover {
    text-decoration: none;
    opacity: 0.8;
}

/* --- HERO PILLS (Popular Articles) --- */
.bc-hero-pills {
    display: flex;
    flex-wrap: wrap;
    /* Increased gap for better vertical and horizontal spacing */
    gap: 16px; 
    justify-content: center;
    max-width: 950px;
    margin: 35px auto 0 auto; /* More space above the pill section */
    line-height: 1.8; /* Prevents vertical crushing */
}

.bc-hero-pill {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3); /* Slightly brighter border */
    color: white !important;
    padding: 8px 20px; /* Slightly larger padding for a cleaner look */
    border-radius: 50px; /* Fully rounded pill shape */
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    backdrop-filter: blur(4px);
    white-space: nowrap; /* Prevents text inside pills from wrapping weirdly */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.bc-hero-pill:hover {
    background: white;
    color: #266065 !important;
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.2);
    border-color: white;
}

/* Hide accidental breaks in pill container */
.bc-hero-pills br {
    display: none !important;
}

/* --- SEARCH BOX & BUTTON STYLING --- */

.bc-search-container {
    max-width: 650px;
    margin: 0 auto 10px auto;
    display: flex;        /* Aligns input and button side-by-side */
    gap: 10px;           /* Space between input and button */
    justify-content: center;
    align-items: center; /* Ensures vertical alignment */
}

/* The Search Input Field */
.bc-search-container input.mw-ui-input {
    padding: 16px 24px;
    border-radius: 50px;
    border: 2px solid rgba(255,255,255,0.2);
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    font-size: 1.1rem;
    width: 100%;
    flex: 1; /* Takes up remaining space */
}

/* The Search Button - FORCE OVERRIDE */
/* Targets every possible MediaWiki button variation */
.bc-search-container .mw-ui-button, 
.bc-search-container .mw-ui-progressive,
.bc-search-container input[type="submit"],
.bc-search-container button {
    background-color: #266065 !important; /* BRAND COLOR */
    color: white !important;
    border: none !important;
    border-radius: 50px !important;        /* Matches the round input */
    padding: 0 30px !important;            /* Wider click area */
    font-weight: 700 !important;
    font-size: 1rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
    text-shadow: none !important;
    height: auto !important;              /* Fixes rigid heights */
    min-height: 54px !important;          /* Matches input height */
}

/* Search Button Hover State */
.bc-search-container .mw-ui-button:hover,
.bc-search-container .mw-ui-progressive:hover,
.bc-search-container input[type="submit"]:hover,
.bc-search-container button:hover {
    background-color: #163a3d !important; /* Darker Brand Color */
    transform: translateY(-2px);          /* Slight lift effect */
    box-shadow: 0 6px 15px rgba(0,0,0,0.3) !important;
}

/* --- GRID SYSTEM --- */
.bc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    margin-bottom: 30px;
}

/* --- 2-COLUMN LAYOUT --- */
.bc-2col {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 30px;
    
    /* NEW: This stops the cards from stretching to match height */
    align-items: flex-start; 
}

/* Columns share space equally */
.bc-2col > .bc-card {
    flex: 1;
    min-width: 300px; 
}

/* Mobile: Stack them properly on phones */
@media (max-width: 768px) {
    .bc-2col {
        grid-template-columns: 1fr !important;
    }
}

/* --- CARDS --- */
.bc-card {
    background: white;
    border: none; 
    border-top: 5px solid var(--bc-blue);
    border-radius: var(--bc-radius);
    padding: 30px;
    height: 100%;
    box-sizing: border-box;
    box-shadow: var(--bc-shadow);
}

.bc-card h2 {
    margin-top: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--bc-blue);
    border-bottom: 2px solid var(--bc-accent);
    padding-bottom: 12px;
    margin-bottom: 20px;
}
.bc-subtle {
    color: var(--bc-text-muted);
    font-size: 1rem;
    margin-bottom: 20px;
    line-height: 1.5;
}

/* --- BUTTONS / PILLS (New User & Common Tasks) --- */
.bc-btngrid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.bc-btn {
    display: flex !important;
    align-items: center !important;
    gap: 15px;                    
    text-align: left;
    padding: 12px 20px !important;  
    background-color: #fdfdfd;      
    border: 1px solid #e1e8eb;      
    border-radius: 6px;             
    margin-bottom: 10px;            
    transition: all 0.2s ease;      
}

/* Hover Effect: Card darkens slightly and border turns Teal */
.bc-btn:hover {
    background-color: #f4f9fa;      
    border-color: #b0c4c6;          
    transform: translateY(-1px);    
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    text-decoration: none;
    color: #0f2e32; 
    border-left-color: #163a3d;
}

.bc-btn-icon {
    font-size: 28px;        
    color: #266065;
    line-height: 1;
    width: 32px;
    text-align: center;
    flex-shrink: 0;
}

.bc-btn-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bc-btn strong {
    display: block;
    color: #266065; 
    font-size: 0.85rem;
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 1;
}

.bc-btn span {
    font-size: 1.05rem;
    color: #2c3e50; 
}

/* --- ALERTS & CALLOUTS --- */
/* "Did You Know" boxes */
.bc-did-you-know {
    background: #fff8e1;
    border-left: 5px solid #ffc107;
    padding: 20px;
    margin-top: 25px;
    border-radius: 4px;
    font-size: 0.95rem;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.02);
}

.bc-did-you-know h3 {
    margin-top: 0;
    color: #b78a02;
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

/* Clean Lists */
.bc-cleanlist ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bc-cleanlist li {
    padding: 10px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 1.05rem;
}

.bc-cleanlist li:last-child {
    border-bottom: none;
}

/* Links inside lists */
.bc-cleanlist a {
    color: var(--bc-blue);
    font-weight: 500;
    text-decoration: none;
}
.bc-cleanlist a:hover {
    text-decoration: underline;
    color: var(--bc-blue-dark);
}

/* --- LINK GRID (FOOTER) --- */
.bc-linkgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

.bc-linktile a {
    display: flex;
    align-items: center;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #eee;
    border-radius: var(--bc-radius);
    text-decoration: none;
    color: var(--bc-text);
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03);
}

.bc-linktile a:hover {
    background: white;
    border-color: var(--bc-blue);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.bc-linkicon {
    font-size: 28px;
    margin-right: 15px;
}

.bc-linktext {
    display: flex;
    flex-direction: column;
}

.bc-linktitle {
    font-weight: 700;
    color: var(--bc-blue);
    font-size: 1.1rem;
}

.bc-linkdesc {
    font-size: 0.85rem;
    color: var(--bc-text-muted);
    margin-top: 4px;
}

/* --- VECTOR SKIN OVERRIDES (Logo/Header fixes) --- */
.mw-logo-wordmark,
.mw-logo-tagline {
     display: none !important;
}
 
.mw-logo a,
.mw-logo a * {
    pointer-events: none !important;
    cursor: default !important;
}
 
.vector-header {
    background: #fff;
     box-sizing: border-box !important;
}
 
.vector-header-container {
    max-width: var(--width-layout) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    padding-left: var(--padding-inline-page-container, 16px) !important;
    padding-right: var(--padding-inline-page-container, 16px) !important;
     box-sizing: border-box !important;
}
 
.mw-header {
    height: 110px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
}
 
.mw-header,
.vector-header,
.vector-header-container {
    min-height: unset !important;
}

.vector-header-start {
    margin-left: 0 !important;
    padding-left: 0 !important;
}
 
#mw-panel-button,
.vector-main-menu-dropdown {
    margin-left: 0 !important;
}
 
.mw-logo {
     display: flex;
     align-items: center;
     height: 100%;
}

.mw-logo img,
#p-logo img {
     height: 135px !important;
    width: auto;
    max-height: none;
}

/* Force hide empty paragraphs, breaks, and MW empty elements */
.mw-parser-output > p:empty,
.mw-parser-output > p > br:only-child,
.mw-parser-output > p.mw-empty-elt {
     display: none !important;
     margin-bottom: 0 !important;
     height: 0 !important;
}

/* This forces the Hero to pull to the top even if an invisible <p> is sitting above it */
.mw-parser-output > .bc-hero:first-of-type {
    margin-top: 0 !important;
}

/* ============================================================
   --- INFOBOX STYLING (Wikipedia Style + Teal Brand) ---
   ============================================================ */

.infobox {
    border: 1px solid #a2a9b1;
    background-color: #f8f9fa;
    color: #202122;
    margin: 0.5em 0 0.5em 1em;
    padding: 0.4em;
    float: right;
    clear: right;
    font-size: 90%;
    line-height: 1.5em;
    width: 24em; /* Standard width */
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}

.infobox caption {
    font-size: 1.3em;
    font-weight: bold;
    padding: 0.5em;
    text-align: center;
    color: #266065; /* Your Brand Teal */
}

.infobox th,
.infobox td {
    vertical-align: top;
    text-align: left;
    padding: 0.5em;
    border-bottom: 1px solid #eaecf0; /* Subtle separator lines */
}

/* Remove bottom border from last row */
.infobox tr:last-child th,
.infobox tr:last-child td {
    border-bottom: none;
}

.infobox th {
    background-color: #eef6f7; /* Your Light Brand Tint */
    color: #1b4d52;            /* Dark Teal Text */
    font-weight: bold;
    width: 35%;                /* Consistent width */
    border-radius: 4px 0 0 4px; /* Rounded left corners */
}

.infobox img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
    margin: 0 auto;
}

/* ============================================================
   --- DARK MODE "HARD OVERRIDE" --- 
   ============================================================ */

/* 1. FORCE VARIABLES */
html.skin-theme-clientpref-night {
    --bc-blue: #4db6ac !important;
    --bc-text: #e0e0e0 !important;
}

/* 2. MAIN PAGE BACKGROUND */
html.skin-theme-clientpref-night .bc-wrap {
    background-color: #121212 !important; 
    color: #e0e0e0 !important;
    border-color: #333 !important;
}

/* 3. CARD BACKGROUNDS */
html.skin-theme-clientpref-night .bc-card {
    background-color: #1e1e1e !important; 
    border: 1px solid #333 !important;
    border-top: 5px solid #4db6ac !important; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
    color: #e0e0e0 !important;
}

/* 4. HEADERS INSIDE CARDS */
html.skin-theme-clientpref-night .bc-card h2 {
    color: #4db6ac !important; 
    border-bottom-color: #444 !important;
}

/* 5. BUTTONS */
html.skin-theme-clientpref-night .bc-btn {
    background-color: #263238 !important; 
    border: 1px solid #37474f !important;
    color: #e0f2f1 !important; 
}

html.skin-theme-clientpref-night .bc-btn:hover {
    background-color: #37474f !important;
    border-left-color: #4db6ac !important;
    transform: translateY(-2px);
}

html.skin-theme-clientpref-night .bc-btn strong {
    color: #4db6ac !important; 
}

html.skin-theme-clientpref-night .bc-btn span {
    color: #b0bec5 !important; 
}

/* 6. HERO SECTION UPDATES */
html.skin-theme-clientpref-night .bc-hero {
    background: linear-gradient(135deg, #0a181a 0%, #163a3d 100%) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8) !important; 
    border-bottom: 6px solid rgba(0,0,0,0.5) !important;
}

html.skin-theme-clientpref-night .bc-hero h1,
html.skin-theme-clientpref-night .bc-hero p {
    color: #e0f2f1 !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8) !important; 
}

html.skin-theme-clientpref-night .bc-search-container input.mw-ui-input {
    background-color: #2c2c2c !important;
    color: white !important;
    border-color: #444 !important;
}

html.skin-theme-clientpref-night .bc-hero-pill {
    background: rgba(255,255,255,0.1) !important;
    border-color: rgba(255,255,255,0.2) !important;
    color: #e0f2f1 !important;
}

html.skin-theme-clientpref-night .bc-hero-pill:hover {
    background: #4db6ac !important;
    color: #121212 !important; 
}

/* 7. FOOTER LINKS */
html.skin-theme-clientpref-night .bc-linktile a {
    background-color: #1e1e1e !important;
    border-color: #333 !important;
    color: #e0e0e0 !important;
}

html.skin-theme-clientpref-night .bc-linktile a:hover {
    background-color: #2d2d2d !important;
    border-color: #4db6ac !important;
}

html.skin-theme-clientpref-night .bc-linktitle {
    color: #4db6ac !important;
}

html.skin-theme-clientpref-night .bc-linkdesc {
    color: #90a4ae !important;
}

/* 8. LIST ITEMS */
html.skin-theme-clientpref-night .bc-cleanlist li {
    border-bottom-color: #333 !important;
}

html.skin-theme-clientpref-night .bc-cleanlist a {
    color: #80cbc4 !important; 
}

/* 9. PRO TIPS / DID YOU KNOW */
html.skin-theme-clientpref-night .bc-did-you-know {
    background-color: #1f1b14 !important; 
    border-left: 5px solid #ffb300 !important; 
    border: 1px solid #3e2723 !important;
    color: #cfd8dc !important; 
    box-shadow: none !important;
}

html.skin-theme-clientpref-night .bc-did-you-know h3 {
    color: #ffca28 !important; 
    text-shadow: none !important;
}

html.skin-theme-clientpref-night .infobox {
    background-color: #1e1e1e !important;
    border-color: #444 !important;
    color: #e0e0e0 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}

html.skin-theme-clientpref-night .infobox caption {
    color: #4db6ac !important; 
}

html.skin-theme-clientpref-night .infobox th {
    background-color: #263238 !important; 
    color: #80cbc4 !important;             
    border-bottom-color: #444 !important;
}

html.skin-theme-clientpref-night .infobox td {
    color: #cfd8dc !important;
    border-bottom-color: #444 !important;
}

/* ============================================================
   --- SEARCH SUGGESTIONS DROPDOWN STYLING ---
   ============================================================ */

/* 1. Base Dropdown Style (Light Mode) */
.suggestions {
    background-color: white !important;
    border: 1px solid #dcdcdc !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2) !important;
    border-radius: 0 0 20px 20px !important; 
    overflow: hidden !important;
    z-index: 9999 !important; 
    margin-top: 5px !important; 
    min-width: 400px !important; 
}

.suggestions-results {
    border: none !important;
    padding: 0 !important;
}

.suggestions-result {
    color: #2c3e50 !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    cursor: pointer;
    line-height: 1.4;
}

/* Hover State */
.suggestions-result-current, 
.suggestions-result:hover {
    background-color: #eef6f7 !important; 
    color: #266065 !important;             
    font-weight: 600 !important;
}

/* The "containing..." text at the bottom */
.suggestions-special {
    background-color: #f8f9fa !important;
    border-top: 1px solid #eee !important;
    padding: 10px 20px !important;
    color: #005696 !important;
    font-size: 0.9em !important;
}

.suggestions-special:hover {
    background-color: #eef6f7 !important;
}

/* 2. DARK MODE OVERRIDES */
html.skin-theme-clientpref-night .suggestions {
    background-color: #2c2c2c !important; 
    border: 1px solid #444 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8) !important;
}

html.skin-theme-clientpref-night .suggestions-result {
    color: #e0e0e0 !important;
}

/* Dark Mode Hover */
html.skin-theme-clientpref-night .suggestions-result-current,
html.skin-theme-clientpref-night .suggestions-result:hover {
    background-color: #266065 !important; 
    color: white !important;
}

html.skin-theme-clientpref-night .suggestions-special {
    background-color: #1e1e1e !important;
    border-top: 1px solid #333 !important;
    color: #4db6ac !important; 
}

html.skin-theme-clientpref-night .suggestions-special:hover {
    background-color: #37474f !important;
}

/* 3. HIGHLIGHT MATCHED TEXT */
.suggestions-result .special-query {
    font-weight: bold !important;
    color: #000 !important;
}

html.skin-theme-clientpref-night .suggestions-result .special-query {
    color: #fff !important;
    text-shadow: 0 0 10px rgba(255,255,255,0.2);
}

/* ============================================================
   --- MOBILE OPTIMIZATIONS (FULL WIDTH & TRANSPARENT BG) ---
   ============================================================ */
@media screen and (max-width: 768px) {

    /* 1. Global Wrapper: Full Bleed + Transparent Background */
    .bc-wrap {
        padding: 0 !important;        
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 0 !important;
        margin: 0 !important;
        border: none !important;
        background: transparent !important; 
        box-shadow: none !important;
    }

    /* 2. Fix the Grids (Stack vertically) */
    .bc-grid, 
    .bc-2col, 
    .bc-btngrid,
    .bc-linkgrid {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;        
    }

    /* 3. Hero Section: Full width & Compact */
    .bc-hero {
        padding: 40px 15px !important;
        text-align: center !important;
        border-radius: 0 !important; 
        margin-bottom: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bc-hero h1 {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
    }
    
    .bc-hero p {
        font-size: 1rem !important;
        margin-bottom: 20px !important;
    }

    /* 4. Search Bar Fixes */
    .bc-search-container {
        width: 100% !important;
        padding: 0 10px !important; 
        box-sizing: border-box !important;
    }

    #heroSearchInput {
        padding: 12px 90px 12px 20px !important; 
        font-size: 14px !important;
        width: 100% !important;
    }

    .bc-search-container button {
        padding: 0 15px !important;
        font-size: 0.85rem !important;
        right: 14px !important; 
        top: 4px !important;
        bottom: 4px !important;
        min-height: unset !important;
    }

    /* 5. Suggestions Dropdown */
    .suggestions {
        min-width: unset !important;
        width: 95% !important;      
        left: 2.5% !important;      
        right: auto !important;
    }

/* 5.5. Table of Contents - Mobile Fix */
    html body .mw-parser-output #toc,
    html body .vector-toc {
        display: block !important; /* Forces block layout on mobile */
        width: 95% !important;
        margin: 0 auto 0 auto !important; 
        padding: 10px !important;
        float: none !important;
    }

    /* Kill ghost spacing/empty paragraphs immediately following the TOC */
    .mw-parser-output > #toc + p,
    .mw-parser-output > .vector-toc + p,
    .mw-parser-output > #toc + br,
    .mw-parser-output > #toc + p.mw-empty-elt,
    .mw-parser-output > #toc + div:empty {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
    }

    /* Force the first element after TOC to snap up */
    #toc + *, .vector-toc + * {
        margin-top: 0 !important;
    }

    /* 6. Cards: Full Bleed Style */
    .bc-card {
        padding: 25px 20px !important;
        border-radius: 0 !important; 
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(0,0,0,0.05) !important; 
        box-shadow: none !important; 
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .bc-card:last-child {
        border-bottom: none !important;
    }

    /* 7. Pills */
    .bc-hero-pills {
        gap: 8px !important;
        padding: 0 10px !important;
    }
    
    .bc-hero-pill {
        font-size: 0.85rem !important;
        padding: 6px 14px !important;
    }
    
    /* 8. Fix Video Embeds */
    .embedvideo, 
    .mw-parser-output iframe, 
    .mw-parser-output object,
    .mw-parser-output .center {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
    }
    
    .embedvideo .thumbinner,
    .mw-parser-output .thumbinner {
        width: 100% !important;
    }
    
    /* 9. PROMO BOX */
    .bc-promo {
        flex-direction: column !important;
        text-align: center !important;
        padding: 15px !important;     
        gap: 12px !important;         
        align-items: center !important;
        margin: 15px 0 !important;    
        border: 1px solid #dae8ea !important;
    }

    .bc-promo-icon {
        margin-right: 0 !important;
        font-size: 32px !important;   
        margin-bottom: 0 !important;  
    }

    .bc-promo-text {
        margin-right: 0 !important;
        margin-bottom: 0 !important;  
        font-size: 0.95rem !important; 
        line-height: 1.4 !important;
    }

    .bc-promo-cta {
        width: 100% !important;
        margin-top: 5px !important;   
    }

    .bc-promo-cta a {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
        padding: 10px !important;     
        font-size: 0.9rem !important; 
    }
}

/* --- REMOVE EXTERNAL LINK ICONS FROM FOOTER --- */
.bc-linktile a.external,
.bc-promo-cta a.external {
    background-image: none !important;
    padding-right: 20px !important; 
}

/* --- NATIVE AD / PROMO BANNER --- */
.bc-promo {
    display: flex;
    align-items: center;
    background: linear-gradient(to right, #f1f8f9, #ffffff);
    border: 1px solid #dae8ea; 
    border-left: 6px solid #266065; 
    border-radius: 8px;
    padding: 18px 25px;
    margin: 25px 0;
    box-shadow: 0 4px 12px rgba(38, 96, 101, 0.08); 
}

.bc-promo-icon {
    font-size: 28px;
    margin-right: 20px;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

.bc-promo-text {
    flex-grow: 1;
    color: #2c3e50;
    font-size: 1.05rem;
    margin-right: 25px;
    line-height: 1.5;
}

.bc-promo-cta {
    background: transparent;
    padding: 0;
    border: none;
}

.bc-promo-cta a {
    display: inline-block !important;
    background-color: #266065 !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: all 0.2s ease; 
    line-height: 1 !important;
    border: none !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
}

.bc-promo-cta a:hover {
    background-color: #163a3d !important; 
    transform: translateY(-2px);           
    box-shadow: 0 6px 12px rgba(0,0,0,0.2) !important; 
    color: white !important;
    text-decoration: none !important;
}

.bc-promo-cta a.external {
    background-image: none !important;
    padding-right: 24px !important;
}

html.skin-theme-clientpref-night .bc-promo {
    background: linear-gradient(to right, #1a2628, #1e1e1e);
    border-color: #333;
    border-left-color: #4db6ac;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}

html.skin-theme-clientpref-night .bc-promo-text { color: #e0e0e0; }
html.skin-theme-clientpref-night .bc-promo-cta a { 
    background-color: #4db6ac !important; 
    color: #121212 !important; 
}
html.skin-theme-clientpref-night .bc-promo-cta a:hover { background-color: #80cbc4 !important; }

#siteNotice { margin-bottom: 0 !important; }
#siteNotice p { display: none !important; margin: 0 !important; padding: 0 !important; }
#siteNotice .bc-promo { margin: 0 0 10px 0 !important; }

#siteNotice .bc-promo-cta a {
    display: inline-block !important;
    color: white !important;
    background-color: #266065 !important;
    padding: 12px 24px !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

#siteNotice .bc-promo-cta a:hover {
    background-color: #163a3d !important;
    color: white !important;
}

/* --- UNBREAKABLE APP BUTTONS --- */
.bc-app-link {
    display: inline-block;
    margin-right: 10px;
    margin-top: 10px;
}

.bc-app-link a.external {
    display: inline-block !important;
    background-color: #528b91 !important; 
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 6px !important; 
    font-weight: bold !important;
    text-decoration: none !important;
    background-image: none !important;
    padding-right: 16px !important;
    transition: background-color 0.2s ease;
}

.bc-app-link a.external:hover {
    background-color: #3e6b70 !important; 
    text-decoration: none !important;
}

/* --- PRO TIP CONTAINER (Yellow Style) --- */
.bc-pro-tip {
    background-color: #fffbf2;      
    border-left: 6px solid #f0ad4e; 
    padding: 20px;
    margin-top: 25px;
    border-radius: 0 8px 8px 0;     
    color: #2c3e50;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); 
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ============================================================
   --- WARNING TEMPLATE (MODERNIZED) ---
   ============================================================ */

/* Base Styles (Light Mode) for both Divs and Tables */
.bc-warning,
.bc-warning-table {
    background-color: #fff7ed !important; /* Soft orange/peach background */
    border-left: 5px solid #e67e22 !important; /* Bright orange border */
    width: 100%;
    box-sizing: border-box;
    border-collapse: separate;
    border-spacing: 0;
    margin: 18px 0 !important;
    border-radius: 8px !important; /* Modern rounded corners */
    box-shadow: 0 4px 10px rgba(230, 126, 34, 0.08) !important; /* Orange-tinted shadow */
    overflow: hidden; /* Ensures left border curves perfectly */
    border: 1px solid #fadbc1 !important; /* Subtle outer border */
    border-left-width: 5px !important; /* Restores thick accent line */
}

.bc-warning-table td {
    padding: 14px 18px !important;
}

.bc-warning {
    padding: 14px 18px !important; /* Padding for the div version */
}

.bc-warning-table p,
.bc-warning p {
    margin: 0 !important;
    color: #2c3e50 !important; /* Dark text for readability */
    font-size: 0.95rem;
    line-height: 1.6;
}

/* --- WARNING TEMPLATE DARK MODE FIX --- */

/* Case 1: Wiki manually set to Dark Mode */
html.skin-theme-clientpref-night .bc-warning,
html.skin-theme-clientpref-night .bc-warning-table {
    background-color: #2a1d15 !important;    /* Dark brown/orange Background */
    border-left-color: #d35400 !important;   /* Dark Orange Border */
    border-color: #3e271a !important;        /* Dark outer border */
    border-left-width: 5px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important; /* Deeper shadow */
}

html.skin-theme-clientpref-night .bc-warning p,
html.skin-theme-clientpref-night .bc-warning-table p {
    color: #e0e0e0 !important;               /* Off-white text */
}

/* Case 2: Wiki set to Auto + System is Dark */
@media (prefers-color-scheme: dark) {
    html.skin-theme-clientpref-os .bc-warning,
    html.skin-theme-clientpref-os .bc-warning-table {
        background-color: #2a1d15 !important;
        border-left-color: #d35400 !important;
        border-color: #3e271a !important;
        border-left-width: 5px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
    }
    html.skin-theme-clientpref-os .bc-warning p,
    html.skin-theme-clientpref-os .bc-warning-table p {
        color: #e0e0e0 !important;
    }
}

/* ============================================================
   --- NOTE TEMPLATE (MODERNIZED) ---
   ============================================================ */

/* Base Styles (Light Mode) */
.bc-note-table {
    background-color: #f4f7f9 !important; /* Soft match to your page background */
    border-left: 5px solid #78909c !important; /* Slate grey-blue border */
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 18px 0 !important;
    border-radius: 8px; /* Modern rounded corners */
    box-shadow: 0 4px 10px rgba(0,0,0,0.06); /* Soft shadow to make it pop */
    overflow: hidden; /* Ensures the left border curves perfectly with the corner */
    border: 1px solid #e1e8eb; /* Very subtle border to contain the background */
    border-left-width: 5px; /* Restores the thick accent line */
}

.bc-note-table td {
    padding: 14px 18px !important; /* Slightly more breathing room */
}

.bc-note-table p {
    margin: 0 !important;
    color: #2c3e50 !important; /* Matches your brand dark text */
    font-size: 0.95rem;
    line-height: 1.6;
}

/* --- NOTE TEMPLATE DARK MODE FIX --- */

/* Case 1: Wiki manually set to Dark Mode */
html.skin-theme-clientpref-night .bc-note-table {
    background-color: #2a2b2e !important;    /* Dark Charcoal Background */
    border-left-color: #6b7280 !important;   /* Steel Grey Border */
    border-color: #333 !important;           /* Dark outer border */
    border-left-width: 5px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important; /* Deeper shadow for dark mode */
}

html.skin-theme-clientpref-night .bc-note-table p {
    color: #e0e0e0 !important;               /* Off-white text */
}

/* Case 2: Wiki set to Auto + System is Dark */
@media (prefers-color-scheme: dark) {
    html.skin-theme-clientpref-os .bc-note-table {
        background-color: #2a2b2e !important;
        border-left-color: #6b7280 !important;
        border-color: #333 !important;
        border-left-width: 5px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.4) !important;
    }
    html.skin-theme-clientpref-os .bc-note-table p {
        color: #e0e0e0 !important;
    }
}

/* --- TIP TEMPLATE DARK MODE FIX --- */

/* Case 1: Wiki manually set to Dark Mode */
html.skin-theme-clientpref-night .bc-tip-table {
    background: #0c2d48 !important;    /* Dark Navy Background */
    color: #e0e0e0 !important;         /* Off-white text */
    border-left-color: #2b7cff !important; /* Keep the Bright Blue Border */
}

html.skin-theme-clientpref-night .bc-tip-table p {
    color: #e0e0e0 !important;
}

/* Case 2: Wiki set to Auto + System is Dark */
@media (prefers-color-scheme: dark) {
    html.skin-theme-clientpref-os .bc-tip-table {
        background: #0c2d48 !important;
        color: #e0e0e0 !important;
        border-left-color: #2b7cff !important;
    }
    html.skin-theme-clientpref-os .bc-tip-table p {
        color: #e0e0e0 !important;
    }
}

/* --- NEW: CROSS-BORDER APP BANNER --- */

.bc-app-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(90deg, #002D40 0%, #004059 100%);
    border-left: 6px solid #005b7f; 
    border-radius: 6px;
    padding: 16px 24px;
    margin: 20px 0;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    color: #ffffff;
    gap: 20px;
}

.bc-app-content {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
}

.bc-app-icon {
    font-size: 24px; 
    line-height: 1;
}

.bc-app-text {
    font-size: 15px;
    line-height: 1.4;
    color: #ffffff;
}

.bc-app-text strong {
    font-weight: 700;
    color: #ffffff;
}

.bc-store-container {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .bc-app-banner {
        flex-direction: column;
        align-items: flex-start;
    }
    .bc-store-container {
        width: 100%;
        justify-content: flex-start;
        margin-top: 10px;
    }
}

.bc-store-wrapper {
    display: inline-block;
    text-decoration: none !important;
}

.bc-store-wrapper a.external {
    background-image: none !important;
    padding-right: 0 !important;
    text-decoration: none !important;
    color: white !important;
}

.bc-store-btn {
    display: inline-flex !important;
    align-items: center;
    background-color: #0f1f24;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 5px;
    padding: 5px 12px;
    transition: transform 0.2s ease, opacity 0.2s;
    cursor: pointer;
    line-height: 1.2;
}

.bc-store-btn:hover {
    transform: translateY(-2px);
    background-color: #000;
    border-color: #fff;
    opacity: 0.9;
}

.bc-store-svg {
    width: 18px;
    height: 18px;
    fill: white;
    margin-right: 8px;
}

.bc-store-text {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 8px;
}

.bc-store-text span:first-child {
    font-size: 9px;
    opacity: 0.8;
    font-weight: 400;
}

.bc-store-text span:last-child {
    font-size: 13px;
    font-weight: 700;
}

/* --- DARK MODE: APP BANNER OVERRIDES --- */
html.skin-theme-clientpref-night .bc-app-banner {
    background: linear-gradient(90deg, #002D40 0%, #004059 100%) !important;
    border-left-color: #4db6ac !important; 
    border-top: 1px solid #333 !important;
    border-right: 1px solid #333 !important;
    border-bottom: 1px solid #333 !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.6) !important;
}

html.skin-theme-clientpref-night .bc-app-text,
html.skin-theme-clientpref-night .bc-app-text strong {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5); 
}

html.skin-theme-clientpref-night .bc-store-btn {
    background-color: #000000 !important;
    border-color: #266065 !important; 
    color: #ffffff !important;
}

html.skin-theme-clientpref-night .bc-store-btn:hover {
    background-color: #111 !important;
    border-color: #4db6ac !important;
}

/* --- NEW: ARTICLE SPECIFIC STYLES --- */

/* 1. Article Hero */
.bc-article-hero {
    background: linear-gradient(to right, #f4f7f9, #eef5f6); 
    padding: 30px;
    margin-bottom: 30px;
    border-radius: 8px; 
}

.bc-article-hero h1 {
    margin-top: 0;
    color: #266065;
    font-size: 2.2rem;
    font-weight: 700;
    border: none;
}

.bc-article-hero p {
    font-size: 1.15rem;
    color: #546e7a;
    max-width: 800px;
    margin-bottom: 15px;
}

.bc-article-meta {
    display: flex;
    gap: 15px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #78909c;
}

.bc-article-pill {
    background: #fff;
    padding: 4px 12px;
    border-radius: 4px;
    border: 1px solid #cfd8dc;
    display: inline-block;
}

.bc-article-pill i {
    margin-right: 6px;
    color: #266065; 
}

/* Dark Mode Fixes for Article Hero */
html.skin-theme-clientpref-night .bc-article-hero {
    background: #1e1e1e !important;
}
html.skin-theme-clientpref-night .bc-article-hero h1 {
    color: #4db6ac !important;
}
html.skin-theme-clientpref-night .bc-article-hero p,
html.skin-theme-clientpref-night .bc-article-meta {
    color: #b0bec5 !important;
}
html.skin-theme-clientpref-night .bc-article-pill {
    background: #263238 !important;
    border-color: #37474f !important;
}
html.skin-theme-clientpref-night .bc-article-pill i {
    color: #4db6ac !important;
}

/* 2. Screenshot Container */
.bc-screenshot {
    display: block;
    margin: 25px auto;
    border: 1px solid #e1e8eb;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08); 
    max-width: 100%;
    height: auto;
}

/* 3. Step Number Circle */
.bc-step-circle {
    display: inline-block;
    width: 28px;
    height: 28px;
    background: #266065;
    color: white;
    border-radius: 50%;
    text-align: center;
    line-height: 28px;
    font-weight: bold;
    margin-right: 10px;
}

/* --- FIX VIDEO PLAYBACK INSIDE GRID CARDS --- */
.bc-card .embedvideo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    position: relative !important;
    z-index: 10 !important; 
}

.bc-card .embedvideo iframe,
.bc-card .embedvideo object {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
}

/* --- VIDEO MODAL STYLES --- */

/* The Trigger Container */
.bc-video-trigger {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 56.25%; 
    background: #000;
    border-radius: 8px;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.bc-video-trigger:hover {
    transform: scale(1.02);
}

/* The Thumbnail Image */
.bc-video-trigger img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    opacity: 0.8;
    transition: opacity 0.3s;
}

.bc-video-trigger:hover img {
    opacity: 0.6; 
}

/* The Play Icon */
.bc-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 60px;
    color: white;
    z-index: 10;
    pointer-events: none; 
    text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

/* --- THE MODAL OVERLAY --- */
.bc-modal-overlay {
    display: none; 
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(8px);
    align-items: center;
    justify-content: center;
}

.bc-modal-overlay.active {
    display: flex;
}

.bc-modal-content {
    position: relative;
    width: 90%;
    max-width: 1000px;
    aspect-ratio: 16 / 9;
    background: black;
    border-radius: 8px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.8);
}

.bc-modal-close {
    position: absolute;
    top: -40px;
    right: 0;
    color: white;
    font-size: 40px;
    cursor: pointer;
    line-height: 1;
}

/* --- Video Caption Style --- */
.bc-video-caption {
    margin-top: 15px;
    text-align: center;
    font-family: sans-serif !important; 
    font-size: 1rem;
    color: #333;
    line-height: 1.5;
    white-space: normal !important; 
    border: none !important;
    background: transparent !important;
}

.bc-video-caption strong {
    color: #266065;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    margin-right: 6px;
}

/* --- Floated Video --- */
.bc-float-video {
    float: right;
    width: 45%;            
    min-width: 320px;      
    margin-left: 40px;     
    margin-bottom: 20px;   
}

@media (max-width: 850px) {
    .bc-float-video {
        float: none;
        width: 100%;
        margin-left: 0;
        margin-bottom: 30px; 
    }
}

/* ============================================================
   --- JS-DRIVEN TOC STYLING ---
   ============================================================ */

html body .mw-parser-output #toc,
html body .vector-toc {
    display: inline-block;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 200px !important;
    max-width: 350px !important;
    border-radius: 12px !important;
    padding: 12px 15px !important;
    margin-bottom: 25px !important;
    font-family: 'Segoe UI', Roboto, sans-serif !important;
    transition: all 0.3s ease !important; 
}

/* 2. DEFAULT LIGHT MODE */
html body .mw-parser-output #toc,
html body .vector-toc {
    background-color: #ffffff !important;
    border: 1px solid #e1e8eb !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
}

html body .mw-parser-output #toctitle h2,
html body .vector-toc-title {
    color: #266065 !important;
    border-bottom: 2px solid #eef5f6 !important;
}

html body .mw-parser-output #toc a, 
html body .vector-toc-link {
    color: #546e7a !important;
}

/* 3. FORCED DARK MODE */
html body .mw-parser-output #toc.force-dark-mode,
html body .vector-toc.force-dark-mode {
    background-color: #1e1e1e !important;
    border: 1px solid #333333 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}

html body .mw-parser-output #toc.force-dark-mode #toctitle h2,
html body .vector-toc.force-dark-mode .vector-toc-title {
    color: #4db6ac !important;
    border-bottom-color: #333333 !important;
}

html body .mw-parser-output #toc.force-dark-mode a,
html body .vector-toc.force-dark-mode .vector-toc-link {
    color: #e0e0e0 !important;
}

html body .mw-parser-output #toc.force-dark-mode a:hover,
html body .vector-toc.force-dark-mode .vector-toc-link:hover {
    background-color: #263238 !important;
    color: #80cbc4 !important;
}

/* Hides the custom text used for Page Previews */
.bc-preview-text {
    display: none !important;
}

/* --- FEATURED CARD COMPONENTS --- */
.bc-screenshot-frame {
    box-shadow: var(--bc-shadow) !important;
    border-radius: var(--bc-radius) !important;
    overflow: hidden !important;
    border: 1px solid #e1e8eb !important;
    background: #fff !important;
    line-height: 0 !important;
}

/* Dark Mode Support */
html.skin-theme-clientpref-night .bc-screenshot-frame {
    border-color: #333 !important;
    background: #1e1e1e !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important;
}

/* Mobile: Stack the image and text on small screens */
@media screen and (max-width: 768px) {
    .bc-screenshot-frame {
        float: none !important;
        margin: 0 0 20px 0 !important;
        width: 100% !important;
    }
}

/* ============================================================
   --- FEATURED CARD COMPONENT (LIGHT & DARK) ---
   ============================================================ */

/* 1. Base Screenshot Frame Improvements */
.bc-screenshot-frame {
    box-shadow: var(--bc-shadow) !important;
    border-radius: var(--bc-radius) !important;
    overflow: hidden !important;
    border: 1px solid #e1e8eb !important;
    background: #fff !important;
    line-height: 0 !important;
}

/* 2. Featured Card specific overrides for Dark Mode */
/* Note: You MUST add class="bc-featured-card" to your div for this to work */
html.skin-theme-clientpref-night .bc-featured-card {
    /* Override the inline light gradient with a Dark Teal/Charcoal gradient */
    background: linear-gradient(135deg, #0f2426 0%, #181818 100%) !important;
    
    /* Override the inline border */
    border: 1px solid #2a3d40 !important;
    
    /* Add a deep glow to make it stand out */
    box-shadow: 0 10px 40px rgba(0,0,0,0.6) !important;
}

/* 3. Fix Text & Header Visibility inside Featured Card in Dark Mode */
html.skin-theme-clientpref-night .bc-featured-card h2 {
    color: #80cbc4 !important; /* Bright Teal Header */
    border-bottom-color: rgba(128, 203, 196, 0.2) !important; /* Subtle teal divider line */
}

html.skin-theme-clientpref-night .bc-featured-card h2 i {
    color: #80cbc4 !important; /* Make the icon match the header */
}

html.skin-theme-clientpref-night .bc-featured-card p,
html.skin-theme-clientpref-night .bc-featured-card .bc-subtle {
    color: #cfd8dc !important; /* Light Grey text for readability */
}

/* 4. Fix the "Read More" link color in Dark Mode */
html.skin-theme-clientpref-night .bc-featured-card a span {
    color: #80cbc4 !important;
    text-decoration: underline !important;
}

html.skin-theme-clientpref-night .bc-featured-card a:hover span {
    color: #ffffff !important;
}

/* 5. Improve Screenshot visibility in Dark Mode */
html.skin-theme-clientpref-night .bc-screenshot-frame {
    background: #000 !important;
    border-color: #444 !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.9) !important;
}

/* 6. Mobile: Stack the image and text on small screens */
@media screen and (max-width: 768px) {
    .bc-screenshot-frame {
        float: none !important;
        margin: 0 0 20px 0 !important;
        width: 100% !important;
    }
}

/* --- BULLETPROOF INTERACTIVE DIMMING FOR DARK MODE --- */

/* 1. Target the actual IMG tag inside any thumb or our custom frame */
html.skin-theme-clientpref-night .thumbimage,
html.skin-theme-clientpref-night .bc-screenshot-frame img,
html.skin-theme-clientpref-night .bc-card img {
    filter: brightness(0.7) contrast(1.1) !important;
    transition: filter 0.3s ease !important;
}

/* 2. Restore brightness when hovering over the image OR its container */
html.skin-theme-clientpref-night .thumbimage:hover,
html.skin-theme-clientpref-night .bc-screenshot-frame:hover img,
html.skin-theme-clientpref-night .bc-card img:hover {
    filter: brightness(1) contrast(1) !important;
}

/* ============================================================
   --- FEATURED CARD DARK MODE OVERRIDE (CSS-ONLY FIX) ---
   ============================================================ */

/* 1. Target the card by checking if it has an inline gradient style */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] {
    /* Force the background to Dark Teal/Charcoal */
    background: linear-gradient(135deg, #0f2426 0%, #181818 100%) !important;
    
    /* Override the light blue border */
    border-color: #2a3d40 !important;
    
    /* Add the deep glow */
    box-shadow: 0 10px 40px rgba(0,0,0,0.6) !important;
}

/* 2. Fix the headers inside that specific card */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] h2 {
    color: #4db6ac !important; /* Bright Teal */
    border-bottom-color: rgba(77, 182, 172, 0.2) !important;
}

html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] h2 i {
    color: #4db6ac !important;
}

/* 3. Fix the text color inside that specific card */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] p,
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] .bc-subtle {
    color: #e0e0e0 !important;
}

/* 4. Fix the "Read More" link */
html.skin-theme-clientpref-night .bc-card[style*="linear-gradient"] a span {
    color: #4db6ac !important;
    text-decoration: underline !important;
}

/* --- Remove H2 Header Underline in Dark Mode --- */
html.skin-theme-clientpref-night .mw-parser-output h2 {
    border-bottom: none !important;
}

.mw-parser-output p, .mw-parser-output li {
    max-width: 800px;
    line-height: 1.7; /* Increase line height for better readability */
    font-size: 16px; /* slightly larger base font */
}
.wikitable {
    width: 100%;
    border: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Soft shadow instead of heavy borders */
    border-radius: 8px;
    overflow: hidden;
}
.wikitable th {
    background-color: var(--bc-blue); /* Use your brand teal */
    color: white;
    text-transform: uppercase;
    font-size: 0.85rem;
}

/* ============================================================
   --- MODERN HEADER: BRANDED TEAL & STICKY ---
   ============================================================ */

/* 1. Color the Main Header Bar & Make it Sticky */
.vector-header-container {
    background-color: #266065 !important; /* Brand Teal */
    border-bottom: 1px solid #163a3d !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important; /* Drop shadow for depth */
    
    /* STICKY BEHAVIOR (No JS required) */
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important; /* Ensures it stays on top of content */
}

/* 2. Text & Link Colors (White for contrast against Teal) */
.vector-header .vector-menu-content-list li a,
.vector-header .mw-portlet a,
.vector-header .vector-user-links a,
.vector-header .vector-menu-heading {
    color: #ffffff !important;
    font-weight: 500 !important;
}

/* 3. Icons (Make them White) */
.vector-header .cdx-button,
.vector-header .vector-icon {
    color: #ffffff !important;
}

/* 4. Search Box Modernization (Semi-Transparent Pill) */
.vector-search-box-input {
    background-color: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    color: white !important;
    border-radius: 50px !important; /* Modern Pill Shape */
    transition: all 0.2s ease !important;
}

.vector-search-box-input::placeholder {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* Search Focus State (Turns white when typing) */
.vector-search-box-input:focus {
    background-color: #ffffff !important;
    color: #2c3e50 !important; /* Dark text when typing */
    border-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2) !important;
}

.vector-search-box-input:focus::placeholder {
    color: #b0bec5 !important;
}

/* 5. Dark Mode Adjustment (Slightly darker for night time) */
html.skin-theme-clientpref-night .vector-header-container {
    background-color: #163a3d !important; /* Darker Slate/Teal */
    border-bottom-color: #000 !important;
}

/* ============================================================
   --- MODERN FIXED HEADER (NUCLEAR OPTION) ---
   ============================================================ */

/* 1. Kill the default "scroll" header completely */
#vector-sticky-header,
.vector-sticky-header {
    display: none !important;
}

/* 2. Force the MAIN header to be Fixed (Pinned) to the screen */
.vector-header-container {
    position: fixed !important; /* Force pin to viewport */
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1001 !important; /* High Z-index to sit above everything */
    
    /* Brand Styling */
    background-color: #266065 !important;
    border-bottom: 1px solid #163a3d !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
    
    /* Override any JS attempts to hide it */
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
}

/* 3. Color the inner header elements so no white shows through */
.vector-header, 
.mw-header {
    background-color: transparent !important; /* Let the container color show */
    background: transparent !important;
    color: white !important;
}

/* 4. Push the page content down */
/* Since the header is now 'fixed', it floats 'above' the page. 
   We must add a top margin to the body so content isn't hidden behind it. */
.mw-page-container {
    margin-top: 100px !important; /* 90px Header height + 10px gap */
}

/* 5. Mobile Adjustment */
/* On mobile, the header might be shorter, so we adjust the gap */
@media screen and (max-width: 768px) {
    .mw-page-container {
        margin-top: 60px !important; /* Adjust based on your mobile header height */
    }
}

/* 6. Fix Text Colors in Header */
.vector-header a,
.vector-header .vector-icon,
.vector-header .cdx-button {
    color: white !important;
}
/* ============================================================
   --- FORCE LOGO TO WHITE (CSS FILTER) ---
   ============================================================ */

/* Target the logo image inside the header */
.mw-logo-icon,
.mw-logo-wordmark,
.mw-logo-tagline,
.mw-wiki-logo {
    filter: brightness(0) invert(1) !important; 
    -webkit-filter: brightness(0) invert(1) !important; /* Safari/Chrome support */
}

/* Optional: If the logo looks a bit jagged after filtering, add a slight blur */
/* .mw-logo-icon { filter: brightness(0) invert(1) drop-shadow(0 0 1px rgba(255,255,255,0.5)) !important; } */
/* ============================================================
   --- FORCE HEADER ICONS TO WHITE ---
   ============================================================ */

/* 1. Target all icons in the header (Hamburger, User, Search, etc.) */
.vector-header .mw-ui-icon,
.vector-header .vector-icon,
.vector-header .oo-ui-iconElement-icon {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important; /* Ensure they aren't dimmed */
}

/* 2. Target specific "hamburger" and "user" buttons if they resist */
#vector-main-menu-dropdown-label,
#vector-user-links-dropdown-label,
.vector-pinnable-header-toggle-button {
    color: white !important;
}

/* 3. Ensure the search icon inside the input stays visible (optional) */
/* If the search icon disappears against a white input, uncomment this: */
/* .vector-search-box .mw-ui-icon-search { filter: none !important; color: #266065 !important; } */

/* ============================================================
   --- FIX HEADER CHEVRONS (USER MENU & DROPDOWNS) ---
   ============================================================ */

/* 1. Target the dropdown label which holds the chevron */
.vector-header .vector-dropdown-label,
.vector-header .vector-user-menu-logged-in .vector-dropdown-label {
    color: white !important; /* Forces any text to white */
}

/* 2. Target the specific chevron icon (often a background image or pseudo-element) */
.vector-header .vector-dropdown-label::after,
.vector-header .mw-ui-icon-flush-right,
.vector-header .vector-dropdown-checkbox:checked + .vector-dropdown-label::after {
    filter: brightness(0) invert(1) !important; /* Turns black/grey to White */
    opacity: 1 !important;
}

/* 3. Specific fix for the "User" dropdown chevron if it's an SVG background */
.vector-header .vector-user-menu .vector-dropdown-label {
    background-image: none !important; /* Sometimes removing the default helps */
}

/* 4. Force the "More" (3 dots) and other menu icons to white */
.vector-header .vector-menu-heading-label,
.vector-header .mw-ui-icon {
    filter: brightness(0) invert(1) !important;
}

/* ============================================================
   --- FIX HEADER DROPDOWN MENUS (RESTORE DARK TEXT) ---
   ============================================================ */

/* 1. Reset text color inside the dropdown containers */
/* This overrides the "white !important" from the main header rule */
.vector-header .vector-dropdown-content,
.vector-header .vector-menu-content {
    color: #2c3e50 !important; /* Dark Grey Text */
}

/* 2. Reset the LINKS inside dropdowns */
.vector-header .vector-dropdown-content a,
.vector-header .vector-menu-content a,
.vector-header .vector-dropdown-content .vector-menu-heading,
.vector-header .vector-menu-content .vector-menu-heading {
    color: #2c3e50 !important; /* Dark Grey Links */
    font-weight: normal !important;
}

/* 3. Hover State for Dropdown Links (Teal) */
.vector-header .vector-dropdown-content a:hover,
.vector-header .vector-menu-content a:hover {
    color: #266065 !important; /* Brand Teal on Hover */
    background-color: #f4f7f9 !important; /* Light Grey Background */
    text-decoration: none !important;
}

/* 4. Fix the "Move to Sidebar" buttons */
.vector-pinnable-header-label {
    color: #2c3e50 !important;
}

.vector-pinnable-header-toggle-button {
    color: #546e7a !important; /* Muted Grey for utility buttons */
    filter: none !important; /* Remove the white filter we added */
}

/* ============================================================
   --- FIX HEADER DROPDOWN LINKS (VISIBLE TEXT) ---
   ============================================================ */

/* 1. Force the Dropdown Container to be White with Dark Text */
html body .vector-header .vector-dropdown-content {
    background-color: #ffffff !important;
    color: #2c3e50 !important;
}

/* 2. SPECIFICALLY Target the Links inside the Dropdown */
/* We use 'html body' to make this rule stronger than the generic header rule */
html body .vector-header .vector-dropdown-content a,
html body .vector-header .vector-dropdown-content li a,
html body .vector-header .vector-dropdown-content .mw-list-item a {
    color: #2c3e50 !important; /* Dark Grey (Visible) */
    font-weight: normal !important;
    font-size: 0.95rem !important;
    filter: none !important; /* Remove any brightness filters */
}

/* 3. Hover State for Links (Teal Background) */
html body .vector-header .vector-dropdown-content a:hover,
html body .vector-header .vector-dropdown-content li a:hover {
    background-color: #f4f7f9 !important;
    color: #266065 !important; /* Brand Teal */
    text-decoration: none !important;
}

/* 4. Fix the Icons inside the menu (Home icon, etc.) */
/* The previous filter turned them white. We need to turn them back to dark. */
html body .vector-header .vector-dropdown-content .vector-icon,
html body .vector-header .vector-dropdown-content .mw-ui-icon {
    filter: none !important; /* Reset filter */
    opacity: 0.6 !important;
    color: #2c3e50 !important;
}

/* 5. Fix "Move to sidebar" button text */
html body .vector-pinnable-header-label {
    color: #2c3e50 !important;
    border-bottom: 1px solid #eee !important;
}

html body .vector-pinnable-header-toggle-button {
    color: #7f8c8d !important; /* Grey text for the button */
    background: #f8f9fa !important;
    border: 1px solid #ddd !important;
}

/* ============================================================
   --- YOUTUBE-STYLE CONNECTED SEARCH BAR (FIXED) ---
   ============================================================ */

/* 1. RESET THE CONTAINER (Fixes the white box glitch) */
html body .vector-header .cdx-search-input {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important; /* Connects the two halves */
    background-color: transparent !important; /* REMOVES THE WHITE BOX */
    border: none !important; /* Removes default border */
    box-shadow: none !important;
    padding: 0 !important; /* Reset any padding */
}

/* 2. THE INPUT FIELD (Left Half) */
html body .vector-header .cdx-text-input__input {
    /* Shape: Round Left, Flat Right */
    border-radius: 40px 0 0 40px !important;
    
    /* Border: Remove right border */
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-right: none !important;
    
    /* Colors: Dark translucent background */
    background-color: rgba(0, 0, 0, 0.2) !important; 
    color: white !important;
    
    /* Size & Layout */
    margin: 0 !important;
    height: 38px !important; /* Fixed height */
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1) !important;
    width: 100% !important;
}

/* 3. THE SEARCH BUTTON (Right Half) */
html body .vector-header .cdx-search-input__end-button {
    /* Shape: Flat Left, Round Right */
    border-radius: 0 40px 40px 0 !important;
    
    /* Border: Matches the input */
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    border-left: none !important;
    
    /* Colors: Lighter background so you can see it */
    background-color: rgba(255, 255, 255, 0.15) !important; 
    color: white !important;
    
    /* Size & Layout */
    margin: 0 !important;
    height: 38px !important; /* Must match input height */
    width: 50px !important;  
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* Fixes the "invisible" button issue */
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 2 !important;
}

/* 4. HOVER & FOCUS STATES */
html body .vector-header .cdx-search-input__end-button:hover {
    background-color: rgba(255, 255, 255, 0.3) !important;
    cursor: pointer !important;
}

html body .vector-header .cdx-text-input__input:focus {
    background-color: rgba(0, 0, 0, 0.5) !important; /* Darker when typing */
    border-color: rgba(255, 255, 255, 0.8) !important;
    box-shadow: none !important;
}

/* 5. FORCE ICON COLOR (Just in case) */
html body .vector-header .cdx-search-input__end-button .vector-icon {
    color: white !important;
    fill: white !important;
    opacity: 1 !important;
}

/* ============================================================
   --- SEARCH BAR POLISH (ICON & CONTRAST) ---
   ============================================================ */

/* 1. Hide the text "Search" but keep the button clickable */
html body .vector-header .cdx-search-input__end-button {
    color: transparent !important; /* Hides the text */
    position: relative !important;
}

/* 2. Inject the Magnifying Glass Icon (FontAwesome) */
html body .vector-header .cdx-search-input__end-button::after {
    content: "\f002"; /* FontAwesome 'Search' Unicode */
    font-family: "Font Awesome 5 Free", "FontAwesome" !important;
    font-weight: 900 !important;
    font-size: 16px !important;
    color: white !important; /* Icon Color */
    
    /* Center the icon perfectly */
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    opacity: 0.9 !important;
}

/* ============================================================
   --- BRIGHTER SEARCH PLACEHOLDER TEXT ---
   ============================================================ */

/* Target the placeholder text and force it to be brighter */
html body .vector-header .cdx-text-input__input::placeholder {
    color: rgba(255, 255, 255, 0.85) !important; /* Increased opacity for brightness */
    opacity: 1 !important; /* Ensure browser doesn't dim it automatically */
}

/* Optional: Even brighter on focus/click */
html body .vector-header .cdx-text-input__input:focus::placeholder {
    color: rgba(255, 255, 255, 0.6) !important; /* Dim slightly when typing starts */
}

/* ============================================================
   --- REMOVE LEFT SEARCH ICON & FIX PADDING ---
   ============================================================ */

/* 1. Hide the Start Icon (The one on the left) */
html body .vector-header .cdx-text-input__icon,
html body .vector-header .cdx-search-input__start-icon,
html body .vector-header .cdx-text-input__icon-vue {
    display: none !important;
}

/* 2. Adjust Input Padding (So text starts at the edge) */
/* We reduce padding-left from ~38px to 20px since the icon is gone */
html body .vector-header .cdx-text-input__input {
    padding-left: 20px !important;
}

/* ============================================================
   --- SEARCH RESULT DROPDOWN TEXT (LIGHT & DARK MODE FIX) ---
   ============================================================ */

/* 1. LIGHT MODE TEXT */
html:not(.skin-theme-clientpref-night) body .cdx-menu-item__content,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item__text,
html:not(.skin-theme-clientpref-night) body .cdx-typeahead-search-menu__item-title,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item__description {
    color: #2c3e50 !important; /* Dark Grey */
    filter: none !important; 
}

/* 2. DARK MODE TEXT */
html.skin-theme-clientpref-night body .cdx-menu-item__content,
html.skin-theme-clientpref-night body .cdx-menu-item__text,
html.skin-theme-clientpref-night body .cdx-typeahead-search-menu__item-title,
html.skin-theme-clientpref-night body .cdx-menu-item__description,
html.skin-theme-clientpref-night body .cdx-search-result-title {
    color: #f8f9fa !important; /* Off-White */
    filter: none !important; 
}

/* 3. MATCHED TYPED LETTERS (DARK MODE) */
html.skin-theme-clientpref-night body .cdx-menu-item__content b,
html.skin-theme-clientpref-night body .cdx-menu-item__text b,
html.skin-theme-clientpref-night body .cdx-typeahead-search-menu__item-title b,
html.skin-theme-clientpref-night body .cdx-search-result-title b {
    color: #ffffff !important;
    font-weight: bold !important;
}

/* 4. HEADER TEXT ("Searching for...") */
html body .cdx-menu__header {
    color: #7f8c8d !important;
    text-transform: uppercase;
    font-size: 0.75rem;
}

/* 5. HOVER STATES (LIGHT MODE) */
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled.cdx-menu-item--selected,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled:hover {
    background-color: #f4f7f9 !important;
}
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled.cdx-menu-item--selected .cdx-menu-item__text,
html:not(.skin-theme-clientpref-night) body .cdx-menu-item--enabled:hover .cdx-menu-item__text {
    color: #266065 !important;
}

/* 6. HOVER STATES (DARK MODE) */
html.skin-theme-clientpref-night body .cdx-menu-item:hover,
html.skin-theme-clientpref-night body .cdx-menu-item.cdx-menu-item--selected,
html.skin-theme-clientpref-night body .cdx-typeahead-search__menu .cdx-menu-item:active {
    background-color: #3c4043 !important; 
}

/* 7. BOTTOM LINK ("Search for pages containing...") */
html:not(.skin-theme-clientpref-night) body .cdx-typeahead-search-menu__footer {
    color: #266065 !important;
    border-top: 1px solid #eee !important;
}
html.skin-theme-clientpref-night body .cdx-menu-item--search-page,
html.skin-theme-clientpref-night body .cdx-menu-item--search-page * {
    color: #8ab4f8 !important;
}

/* --- UPDATED LINK GRID (4 COLUMNS) --- */
.bc-linkgrid {
    display: grid !important;
    /* Force exactly 4 columns of equal width */
    grid-template-columns: repeat(4, 1fr) !important; 
    gap: 20px !important;
    width: 100% !important;
    margin-top: 20px;
}

/* Ensure tiles take up equal height and look like clean cards */
.bc-linktile a {
    display: flex !important;
    flex-direction: row !important; /* Icon next to text */
    align-items: center !important;
    padding: 15px !important;
    height: 100% !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
}

/* Mobile Responsiveness: Stack to 2 columns on tablets, 1 on phones */
@media screen and (max-width: 1024px) {
    .bc-linkgrid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media screen and (max-width: 600px) {
    .bc-linkgrid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   --- UNIFIED SIDEBAR SCROLL FIX (TOC & TOOLS) ---
   ============================================================ */

/* 1. INITIAL STATE (At the top of the page) */
/* Target all possible sidebar containers (Left & Right) */
html body #vector-toc-pinned-container,      /* Left: Pinned TOC */
html body #vector-page-tools-pinned-container, /* Right: Pinned Tools */
html body .vector-main-menu-container,       /* Left: Main Menu */
html body .vector-column-end,                /* Right: Generic Column */
html body #mw-panel-toc,                     /* Left: Alternate TOC ID */
html body #p-appearance {                    /* Right: Appearance Menu */
    position: sticky !important;
    top: 75px !important;  /* Starting position below the static header */
    transition: top 0.3s ease, max-height 0.3s ease !important;
    z-index: 99 !important;
}

/* 2. SCROLLED STATE (Slide Down) */
/* When JS adds 'bc-scrolled', push everything down to clear the fixed header */
html body.bc-scrolled #vector-toc-pinned-container,
html body.bc-scrolled #vector-page-tools-pinned-container,
html body.bc-scrolled .vector-main-menu-container,
html body.bc-scrolled .vector-column-end,
html body.bc-scrolled #mw-panel-toc,
html body.bc-scrolled #p-appearance {
    
    /* Adjust height so you can still scroll to the bottom of the sidebar */
    max-height: calc(100vh - 130px) !important;
    overflow-y: auto !important;
}

/* 3. FLOATING TOC FIX (For unpinned TOC inside articles) */
/* Prevents the floating TOC from getting hidden if it's not in the sidebar */
html body.bc-scrolled .mw-parser-output #toc {
    margin-top: 50px !important;
    transition: margin-top 0.3s ease !important;
}

/* ============================================================
   --- TOC SPECIFIC SCROLL FIX (MAX WIDTH / NO CUTOFF) ---
   ============================================================ */

/* 1. Target the TOC Container specifically */
html body #vector-toc-pinned-container,
html body #mw-panel-toc,
html body .vector-toc {
    transition: all 0.3s ease !important;
    top: 75px !important; 
    
    /* WIDTH FIX: Fill the sidebar column completely, but don't overflow */
    width: 100% !important;
    min-width: unset !important; /* Remove the forced 300px */
    box-sizing: border-box !important; /* Ensures padding doesn't make it wider than 100% */
}

/* 2. THE PUSH DOWN (On Scroll) */
html body.bc-scrolled #vector-toc-pinned-container,
html body.bc-scrolled #mw-panel-toc,
html body.bc-scrolled .vector-toc {
    /* Push down values */
    top: 140px !important; 
    padding-top: 30px !important;
    
    /* Adjust height */
    max-height: calc(100vh - 160px) !important;
    
    /* SCROLLBAR MANAGEMENT */
    overflow-y: auto !important;   
    overflow-x: hidden !important; /* Prevents horizontal scrollbar */
}

/* ============================================================
   --- DARK MODE TOC FIX (VARIABLE OVERRIDE) ---
   ============================================================ */

html.skin-theme-clientpref-night .vector-toc {
    /* 1. Force the skin's internal text variables to Light Grey */
    --color-base: #e0e0e0 !important;
    --color-emphasized: #ffffff !important;
    --color-subtle: #b0bec5 !important;
    --color-placeholder: #b0bec5 !important;
    
    /* 2. Force links to be Light Grey */
    color: #e0e0e0 !important;
}

/* 3. The "Contents" Header & Toggle */
html.skin-theme-clientpref-night .vector-toc-title,
html.skin-theme-clientpref-night #vector-toc-label,
html.skin-theme-clientpref-night .vector-pinnable-header-label {
    color: #4db6ac !important; /* Bright Teal */
    border-bottom-color: #444 !important;
}

/* 4. The Individual Links (Force them white) */
html.skin-theme-clientpref-night .vector-toc-link,
html.skin-theme-clientpref-night .vector-toc-text,
html.skin-theme-clientpref-night .vector-toc .vector-toc-list-item a {
    color: #e0e0e0 !important;
    opacity: 1 !important;
}

/* 5. Hover State (Teal) */
html.skin-theme-clientpref-night .vector-toc-link:hover .vector-toc-text,
html.skin-theme-clientpref-night .vector-toc-link:hover,
html.skin-theme-clientpref-night .vector-toc .vector-toc-list-item a:hover {
    color: #4db6ac !important;
    text-decoration: none !important;
}

/* 6. Active/Selected State (Bright White + Teal Border) */
html.skin-theme-clientpref-night .vector-toc-list-item-active > .vector-toc-link .vector-toc-text {
    color: #ffffff !important;
    font-weight: bold !important;
}