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: Difference between revisions

From BorderConnect Wiki
No edit summary
No edit summary
 
(232 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* CSS placed here will be applied to all skins */
/* --- BORDERCONNECT MODERN WIKI THEME (TEAL BRANDING) --- */


/* {{pp|small=yes}} */
: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 */
}


.mw-logo-icon {
.bc-hero-pill {
display: none !important;
    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);
}
}


.mw-logo-container {
.bc-hero-pill:hover {
     background-image: url( https://wiki.borderconnect.com/images/6/6f/Borderconnect-wiki-logo.png ) !important;
     background: white;
     float: left;
    color: #266065 !important;
     margin-right: 10px;
     transform: translateY(-3px);
    width: 158px;
     box-shadow: 0 6px 15px rgba(0,0,0,0.2);
     height: 45px;
     border-color: white;
    max-width: 158px !important;
}
}


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


.mp-box {
/* --- SEARCH BOX & BUTTON STYLING --- */
border: 1px solid #aaa; /* all border colors overriden on specific elements */
 
padding: 0 0.5em 0.5em;
.bc-search-container {
margin-top: 15px;
    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;
}
}


.mp-h2,
.bc-btn span {
body.skin-timeless .mp-h2 { /* Timeless needs a higher specificity */
    font-size: 1.05rem;
border: 1px solid #aaa; /* all border colors overriden on specific elements */
    color: #2c3e50;  
margin: 0.5em 0;
padding: 0.2em 0.4em !important;
font-size: 120% !important;
font-weight: bold !important;
font-family: inherit !important;
}
}


.vector-body h2 {
/* --- ALERTS & CALLOUTS --- */
     margin: 0.5em 0;
/* "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);
}
}


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


#mp-topbanner {
/* Clean Lists */
background: #f9f9f9;
.bc-cleanlist ul {
border-color: #ddd;
    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;
     margin-top: 4px;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-topbanner {
/* --- VECTOR SKIN OVERRIDES (Logo/Header fixes) --- */
background-color: #171a1d;
.mw-logo-wordmark,
     border-color: #676767;
.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%;
}


#mp-welcomecount {
.mw-logo img,
text-align: center;
#p-logo img {
margin: 0.4em;
    height: 135px !important;
    width: auto;
    max-height: none;
}
}


#mp-welcome {
/* Force hide empty paragraphs, breaks, and MW empty elements */
font-size: 162%;
.mw-parser-output > p:empty,
padding: 0.1em;
.mw-parser-output > p > br:only-child,
.mw-parser-output > p.mw-empty-elt {
    display: none !important;
    margin-bottom: 0 !important;
    height: 0 !important;
}
}


#mp-welcome h1 {
/* This forces the Hero to pull to the top even if an invisible <p> is sitting above it */
font-size: inherit;
.mw-parser-output > .bc-hero:first-of-type {
font-family: inherit;
    margin-top: 0 !important;
display: inline;
border: none;
}
}


#mp-free {
/* ============================================================
font-size: 95%;
  --- 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);
}
}


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


/* clear fix */
.infobox th,
.mp-contains-float::after {
.infobox td {
  content: "";
    vertical-align: top;
  display: block;
    text-align: left;
  clear: both;
    padding: 0.5em;
    border-bottom: 1px solid #eaecf0; /* Subtle separator lines */
}
}


#mp-banner {
/* Remove bottom border from last row */
background: #fff;
.infobox tr:last-child th,
border-color: #fff;
.infobox tr:last-child td {
    border-bottom: none;
}
}


#mp-left {
.infobox th {
background: #f5fffa;
    background-color: #eef6f7; /* Your Light Brand Tint */
border-color: #cef2e0;
    color: #1b4d52;            /* Dark Teal Text */
    font-weight: bold;
    width: 35%;               /* Consistent width */
    border-radius: 4px 0 0 4px; /* Rounded left corners */
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-left {
.infobox img {
background-color: #0b1e1c;
    max-width: 100%;
     border-color: #104437;
    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;
}
}


#mp-left .mp-h2 {
/* 2. MAIN PAGE BACKGROUND */
background: #cef2e0;
html.skin-theme-clientpref-night .bc-wrap {
border-color: #a3bfb1;
    background-color: #121212 !important;
    color: #e0e0e0 !important;
    border-color: #333 !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-left .mp-h2 {
/* 3. CARD BACKGROUNDS */
background-color: #104437;
html.skin-theme-clientpref-night .bc-card {
     border-color: #2f4d41;
    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;
}
}


#mp-left-aci {
/* 5. BUTTONS */
background: #fff5fa;
html.skin-theme-clientpref-night .bc-btn {
border-color: #f2cedd;
    background-color: #263238 !important;  
    border: 1px solid #37474f !important;
    color: #e0f2f1 !important;  
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-left-aci {
html.skin-theme-clientpref-night .bc-btn:hover {
background-color: #1c1b1c;
    background-color: #37474f !important;
     border-color: #65525a;
     border-left-color: #4db6ac !important;
    transform: translateY(-2px);
}
}
html.skin-theme-clientpref-night .bc-btn strong {
    color: #4db6ac !important;
}
}


#mp-left-aci .mp-h2 {
html.skin-theme-clientpref-night .bc-btn span {
background: #f2cedd;
    color: #b0bec5 !important;  
border-color: #bfa3af;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-left-aci .mp-h2 {
/* 6. HERO SECTION UPDATES */
background-color: #611937;
html.skin-theme-clientpref-night .bc-hero {
     border-color: #752c4b;
    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;
}


#mp-left-abi {
html.skin-theme-clientpref-night .bc-hero-pill {
background: #fff7f2;
    background: rgba(255,255,255,0.1) !important;
border-color: #f6ddcc;
    border-color: rgba(255,255,255,0.2) !important;
    color: #e0f2f1 !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-left-abi{
html.skin-theme-clientpref-night .bc-hero-pill:hover {
background-color: #1c1b1a;
    background: #4db6ac !important;
     border-color: #81736a;
     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;
}
}


#mp-left-abi .mp-h2 {
html.skin-theme-clientpref-night .bc-linktile a:hover {
background: #f6ddcc;
    background-color: #2d2d2d !important;
border-color: #ddc7b8;
    border-color: #4db6ac !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-left-abi .mp-h2 {
html.skin-theme-clientpref-night .bc-linktitle {
background-color: #593218;
     color: #4db6ac !important;
     border-color: #975527;
}
}
html.skin-theme-clientpref-night .bc-linkdesc {
    color: #90a4ae !important;
}
}


#mp-right {
/* 8. LIST ITEMS */
background: #f7f5ff;
html.skin-theme-clientpref-night .bc-cleanlist li {
border-color: #e7e1ff;
    border-bottom-color: #333 !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-right {
html.skin-theme-clientpref-night .bc-cleanlist a {
background-color: #130e20;
     color: #80cbc4 !important;  
     border-color: #643b99;
}
}
/* 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;
}
}


#mp-right .mp-h2 {
html.skin-theme-clientpref-night .bc-did-you-know h3 {
background: #e6e0ff;
    color: #ffca28 !important;  
border-color: #c7afc2;
    text-shadow: none !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-right .mp-h2 {
html.skin-theme-clientpref-night .infobox {
background-color: #7545ab;
    background-color: #1e1e1e !important;
     border-color: #7757a1;
     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;
}
}


#mp-right-ace {
html.skin-theme-clientpref-night .infobox th {
background: #f5faff;
    background-color: #263238 !important;
border-color: #cedff2;
    color: #80cbc4 !important;            
    border-bottom-color: #444 !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-right-ace {
html.skin-theme-clientpref-night .infobox td {
background-color: #0d1a27;
    color: #cfd8dc !important;
     border-color: #082849;
     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;
}
}


#mp-right-ace .mp-h2 {
.suggestions-results {
background: #cedff2;
    border: none !important;
border-color: #a3b0bf;
    padding: 0 !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-right-ace .mp-h2 {
.suggestions-result {
background-color: #082849;
    color: #2c3e50 !important;
     border-color: #1d4d85;
    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;
}
}


#mp-right-software {
/* The "containing..." text at the bottom */
background: #f1f6f6;
.suggestions-special {
border-color: #DEEAEA;
    background-color: #f8f9fa !important;
    border-top: 1px solid #eee !important;
    padding: 10px 20px !important;
    color: #005696 !important;
    font-size: 0.9em !important;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-right-software {
.suggestions-special:hover {
background-color: #092323;
    background-color: #eef6f7 !important;
    border-color: #0a4545;
}
}
/* 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;
}
}


#mp-right-software .mp-h2 {
html.skin-theme-clientpref-night .suggestions-result {
background: #DEEAEA;
    color: #e0e0e0 !important;
border-color: #c8d3d3;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-right-software .mp-h2 {
/* Dark Mode Hover */
background-color: #265151;
html.skin-theme-clientpref-night .suggestions-result-current,
     border-color: #207b7b;
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;
}
}


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


#mp-middle .mp-h2 {
/* 3. HIGHLIGHT MATCHED TEXT */
background: #f2cedd;
.suggestions-result .special-query {
border-color: #bfa3af;
    font-weight: bold !important;
    color: #000 !important;
}
}


#mp-lower {
html.skin-theme-clientpref-night .suggestions-result .special-query {
background: #faf5ff;
    color: #fff !important;
border-color: #ddcef2;
    text-shadow: 0 0 10px rgba(255,255,255,0.2);
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-lower {
/* ============================================================
background-color: #130e20;
  --- MOBILE OPTIMIZATIONS (FULL WIDTH & TRANSPARENT BG) ---
     border-color: #7545ab;
  ============================================================ */
@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;
}
}


#mp-lower .mp-h2 {
/* --- NATIVE AD / PROMO BANNER --- */
background: #ddcef2;
.bc-promo {
border-color: #afa3bf;
    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);  
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-lower .mp-h2 {
.bc-promo-icon {
background-color: #7545ab;
    font-size: 28px;
     border-color: #7757a1;
    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;
}
}


#mp-bottom {
.bc-promo-cta {
/* no background */
    background: transparent;
border-color: #e2e2e2;
    padding: 0;
    border: none;
}
}
@media screen {
 
html.skin-theme-clientpref-night #mp-bottom {
.bc-promo-cta a {
background-color: #171a1d;
    display: inline-block !important;
     border-color: #676767;
    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;
}
}


#mp-bottom .mp-h2 {
.bc-promo-cta a.external {
background: #eee;
    background-image: none !important;
border-color: #ddd;
    padding-right: 24px !important;
}
}


@media screen {
html.skin-theme-clientpref-night .bc-promo {
html.skin-theme-clientpref-night #mp-bottom .mp-h2 {
    background: linear-gradient(to right, #1a2628, #1e1e1e);
background-color: #3d3d3d;
    border-color: #333;
     border-color: #676767;
     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; }


@media (max-width: 875px) {
#siteNotice .bc-promo-cta a {
/* We need to improve Template:POTD as used on the main page so that these
    display: inline-block !important;
* hacks aren't necessary */
    color: white !important;
#mp-tfp table,
    background-color: #266065 !important;
#mp-tfp tr,
    padding: 12px 24px !important;
#mp-tfp td,
    visibility: visible !important;
#mp-tfp tbody {
    opacity: 1 !important;
display: block !important;
    text-decoration: none !important;
width: 100% !important;
}
box-sizing: border-box;
}


#mp-tfp tr:first-child td:first-child a {
#siteNotice .bc-promo-cta a:hover {
text-align: center;
    background-color: #163a3d !important;
display: table;
    color: white !important;
margin: 0 auto;
}
}
}


@media (min-width: 875px) {
/* --- UNBREAKABLE APP BUTTONS --- */
#mp-upper {
.bc-app-link {
display: flex;
    display: inline-block;
}
    margin-right: 10px;
    margin-top: 10px;
#mp-left {
}
flex: 1 1 70%;
margin-right: 2px;
}
#mp-right {
flex: 1 1 30%;
margin-left: 2px;
}


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


#mp-right-ace {
.bc-app-link a.external:hover {
flex: 1 1 50%;
    background-color: #3e6b70 !important;  
margin-left: 2px;
    text-decoration: none !important;
}
}


     #mp-right-software {
/* --- PRO TIP CONTAINER (Yellow Style) --- */
flex: 1 1 50%;
.bc-pro-tip {
margin-left: 2px;
     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;
}
}


.note-info {
/* ============================================================
    background-color: #F6EFE5;
  --- WARNING TEMPLATE (MODERNIZED) ---
    background-image: url(https://upload.wikimedia.org/wikipedia/commons/d/d5/OOjs_UI_icon_reference_20_ac6600.svg);
  ============================================================ */
    background-size: 25px;
 
    padding-left: 40px;
/* Base Styles (Light Mode) for both Divs and Tables */
    min-height: 28px;
.bc-warning,
    background-position: left 7px top 50%;
.bc-warning-table {
    padding: 0.5em 0.5em 0.5em 40px;
     background-color: #fff7ed !important; /* Soft orange/peach background */
    margin-top: 1em;
     border-left: 5px solid #e67e22 !important; /* Bright orange border */
    margin-bottom: 1em;
    overflow: hidden;
     background-repeat: no-repeat;
     border: 1px solid #ac6600;
     width: 100%;
     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 */
}
}
@media screen {
 
html.skin-theme-clientpref-night .note-info {
html.skin-theme-clientpref-night .bc-warning p,
background-color: #332410;
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-reminder {
/* ============================================================
    background-color: #fff9ea;
  --- NOTE TEMPLATE (MODERNIZED) ---
    background-image: url("https://upload.wikimedia.org/wikipedia/commons/a/a8/OOjs_UI_icon_lightbulb-yellow.svg");
  ============================================================ */
    background-size: 25px;
 
    padding-left: 40px;
/* Base Styles (Light Mode) */
    min-height: 28px;
.bc-note-table {
    background-position: left 7px top 50%;
     background-color: #f4f7f9 !important; /* Soft match to your page background */
    padding: 0.5em 0.5em 0.5em 40px;
     border-left: 5px solid #78909c !important; /* Slate grey-blue border */
    margin-top: 1em;
    margin-bottom: 1em;
    overflow: hidden;
     background-repeat: no-repeat;
     border: 1px solid #fc3;
     width: 100%;
     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 */
}
}
@media screen {
 
html.skin-theme-clientpref-night .note-reminder {
/* Case 2: Wiki set to Auto + System is Dark */
background-color: #332914;
@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 */
}
}


.note-warning {
html.skin-theme-clientpref-night .bc-tip-table p {
     background-color: #fee7e6;
    color: #e0e0e0 !important;
     background-image: url("https://upload.wikimedia.org/wikipedia/commons/b/bf/OOjs_UI_icon_notice-destructive.svg");
}
     background-size: 25px;
 
     padding-left: 40px;
/* Case 2: Wiki set to Auto + System is Dark */
     min-height: 28px;
@media (prefers-color-scheme: dark) {
     background-position: left 7px top 50%;
     html.skin-theme-clientpref-os .bc-tip-table {
     padding: 0.5em 0.5em 0.5em 40px;
        background: #0c2d48 !important;
     margin-top: 1em;
        color: #e0e0e0 !important;
     margin-bottom: 1em;
        border-left-color: #2b7cff !important;
     overflow: hidden;
    }
     background-repeat: no-repeat;
    html.skin-theme-clientpref-os .bc-tip-table p {
     border: 1px solid #c33;
        color: #e0e0e0 !important;
     width: 100%;
    }
}
 
/* --- 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;
}
}
@media screen {
 
html.skin-theme-clientpref-night .note-warning {
html.skin-theme-clientpref-night .bc-app-text,
background-color: #331817;
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;
}
}


.note-disambig{
html.skin-theme-clientpref-night .bc-store-btn:hover {
    background-color: #f1f1f1;
     background-color: #111 !important;
    background-image: url("https://upload.wikimedia.org/wikipedia/commons/5/5f/Disambig_gray.svg");
     border-color: #4db6ac !important;
    background-size: 25px;
    padding-left: 40px;
    min-height: 28px;
     background-position: left 7px top 50%;
     padding: 0.5em 0.5em 0.5em 40px;
    margin-top: 1em;
    margin-bottom: 1em;
    overflow: hidden;
    background-repeat: no-repeat;
    border: 1px solid #b7b7b7;
    width: 100%;
}
}
@media screen {
 
html.skin-theme-clientpref-night .note-disambig {
/* --- NEW: ARTICLE SPECIFIC STYLES --- */
background-color: #272727;
 
/* 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;
}
}


.note-download{
.bc-article-hero p {
     background-color: #f7f7f7;
     font-size: 1.15rem;
     background-image: url("https://upload.wikimedia.org/wikipedia/commons/2/2e/Download_icon_black.svg");
     color: #546e7a;
     background-size: 25px;
     max-width: 800px;
     padding-left: 40px;
     margin-bottom: 15px;
    min-height: 28px;
}
    background-position: left 7px top 50%;
 
     padding: 0.5em 0.5em 0.5em 40px;
.bc-article-meta {
     margin-top: 1em;
     display: flex;
     margin-bottom: 1em;
     gap: 15px;
    overflow: hidden;
     font-size: 0.9rem;
     background-repeat: no-repeat;
     font-weight: 600;
     border: 1px solid #d3d3d3;
     color: #78909c;
    width: 100%;
}
}
@media screen {
 
html.skin-theme-clientpref-night .note-download {
.bc-article-pill {
background-color: #272727;
    background: #fff;
    padding: 4px 12px;
    border-radius: 4px;
    border: 1px solid #cfd8dc;
    display: inline-block;
}
}
.bc-article-pill i {
    margin-right: 6px;
    color: #266065;
}
}


.note-active{
/* Dark Mode Fixes for Article Hero */
     background-color: #D4EDDA;
html.skin-theme-clientpref-night .bc-article-hero {
    background-image: url("https://upload.wikimedia.org/wikipedia/commons/5/51/Noun_Project_coding_icon_2752876.svg");
     background: #1e1e1e !important;
    background-size: 25px;
}
    padding-left: 40px;
html.skin-theme-clientpref-night .bc-article-hero h1 {
     min-height: 28px;
     color: #4db6ac !important;
    background-position: left 7px top 50%;
}
    padding: 0.5em 0.5em 0.5em 40px;
html.skin-theme-clientpref-night .bc-article-hero p,
    margin-top: 1em;
html.skin-theme-clientpref-night .bc-article-meta {
    margin-bottom: 1em;
     color: #b0bec5 !important;
    overflow: hidden;
    background-repeat: no-repeat;
     border: 1px solid #6a776d;
    width: 100%;
}
}
@media screen {
html.skin-theme-clientpref-night .bc-article-pill {
html.skin-theme-clientpref-night .note-active {
    background: #263238 !important;
background-color: #233127;
    border-color: #37474f !important;
}
}
html.skin-theme-clientpref-night .bc-article-pill i {
    color: #4db6ac !important;
}
}


div.embedvideo.ev_center {
/* 2. Screenshot Container */
     margin-left: auto;
.bc-screenshot {
     margin-right: auto;
    display: block;
     margin-bottom: 1em;
     margin: 25px auto;
     background-color: #F8F9FA !important;
     border: 1px solid #e1e8eb;
    border-radius: 8px;
     box-shadow: 0 4px 10px rgba(0,0,0,0.08);  
     max-width: 100%;
    height: auto;
}
}


div.embedvideo.ev_center .thumbcaption {
/* 3. Step Number Circle */
.bc-step-circle {
    display: inline-block;
    width: 28px;
    height: 28px;
    background: #266065;
    color: white;
    border-radius: 50%;
     text-align: center;
     text-align: center;
     padding-top: 0.5em;
     line-height: 28px;
     padding-bottom: 0.5em;
    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;
}
}


div.embedvideo.ev_right .thumbcaption {
.bc-video-trigger:hover {
    text-align: left;
     transform: scale(1.02);
    padding-top: 0.5em;
     padding-bottom: 0.5em;
}
}


div.embedvideo.ev_right {
/* The Thumbnail Image */
     clear: left;
.bc-video-trigger img {
     float: left;
     position: absolute;
     margin-left: 0;
     top: 0;
    background-color: #F8F9FA !important;
     left: 0;
     width: 100%;
     width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
    transition: opacity 0.3s;
}
.bc-video-trigger:hover img {
    opacity: 0.6;
}
}


@media (min-width: 500px) {
/* The Play Icon */
div.embedvideo.ev_right {
.bc-play-icon {
clear: right;
    position: absolute;
        float: right;
    top: 50%;
        margin-left: 1em;
    left: 50%;
        background-color: #F8F9FA !important;
    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);
}
}


.infobox {
/* --- THE MODAL OVERLAY --- */
     border: 1px solid #a2a9b1;
.bc-modal-overlay {
     border-spacing: 3px;
     display: none;  
     background-color: #f8f9fa;
     position: fixed;
    color: black;
     top: 0; left: 0; width: 100%; height: 100%;
    margin: 0.5em 0 0.5em 1em;
     z-index: 99999;
    padding: 0.2em;
     background: rgba(0, 0, 0, 0.9);
     float: right;
     backdrop-filter: blur(8px);
     clear: right;
     align-items: center;
     font-size: 88%;
     justify-content: center;
     line-height: 1.5em;
     width: 22em;
}
}


#sister-projects-list {
.bc-modal-overlay.active {
     display: flex;
     display: flex;
    flex-wrap: wrap;
    line-height: inherit;
    list-style: none;
    margin: 0;
    padding: 0;
}
}


@media (min-width: 360px)
.bc-modal-content {
.mw-parser-output #sister-projects-list li>div:first-child {
    position: relative;
     min-width: 50px;
    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;
}
}


.mw-parser-output #sister-projects-list li>div:first-child {
/* --- Video Caption Style --- */
.bc-video-caption {
    margin-top: 15px;
     text-align: center;
     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 (min-width: 360px)
@media (max-width: 850px) {
.mw-parser-output #sister-projects-list li {
    .bc-float-video {
    width: 33%;
        float: none;
    min-width: 20em;
        width: 100%;
    white-space: nowrap;
        margin-left: 0;
     flex: 1 0 25%;
        margin-bottom: 30px;  
     }
}
}


.mw-parser-output #sister-projects-list li {
/* ============================================================
  --- JS-DRIVEN TOC STYLING ---
  ============================================================ */
 
html body .mw-parser-output #toc,
html body .vector-toc {
     display: inline-block;
     display: inline-block;
     flex: 0 0 33.3%;
     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 (BORDERLESS & ZEBRA STRIPED) ---
  ============================================================ */
 
/* 1. Main Table Container */
.wikitable {
    width: 100%;
    border: none !important; /* Kills outer border */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Keeps the soft shadow */
    border-radius: 8px;
    overflow: hidden;
    border-collapse: separate !important; /* Required for rounded corners */
    border-spacing: 0;
    margin: 1em 0; /* Breathing room around the table */
}
 
/* 2. Header Cells */
.wikitable th {
    background-color: var(--bc-blue) !important; /* Brand Teal */
    color: white !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    padding: 14px 16px !important;
    border: none !important; /* Kills header borders */
    text-align: left;
}
 
/* 3. Standard Data Cells (Odd Rows / Default) */
.wikitable td {
    background-color: #ffffff !important; /* Clean white background */
    border: none !important; /* Kills inner cell borders */
    padding: 12px 16px !important; /* Comfortable spacing */
    color: var(--bc-text);
}
 
/* 4. Zebra Striping (Even Rows) */
.wikitable tr:nth-child(even) td {
    background-color: var(--bc-bg-page) !important; /* Uses your theme's light grey/teal background */
}
 
/* ============================================================
  --- WIKITABLE DARK MODE OVERRIDES ---
  ============================================================ */
 
/* 1. Dark Mode Headers */
html.skin-theme-clientpref-night .wikitable th {
    background-color: #263238 !important; /* Dark Slate */
    color: #80cbc4 !important; /* Bright Teal Text */
}
 
/* 2. Dark Mode Data Cells (Odd Rows) */
html.skin-theme-clientpref-night .wikitable td {
    background-color: #1e1e1e !important; /* Dark Card Background */
    color: #e0e0e0 !important; /* Off-white text */
}
 
/* 3. Dark Mode Zebra Striping (Even Rows) */
html.skin-theme-clientpref-night .wikitable tr:nth-child(even) td {
    background-color: #2a2b2e !important; /* Slightly lighter charcoal for contrast */
}
 
/* ============================================================
  --- 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;
}
}


.mw-parser-output #sister-projects-list li>div {
html body .vector-header .cdx-text-input__input:focus {
     display: inline-block;
    background-color: rgba(0, 0, 0, 0.5) !important; /* Darker when typing */
     vertical-align: middle;
    border-color: rgba(255, 255, 255, 0.8) !important;
     padding: 6px 4px;
    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;
}
}


.mw-parser-output a {
/* 5. Hover State (Teal) */
     word-wrap: break-word;
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;
}
}


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

Latest revision as of 16:06, 20 March 2026

/* --- 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 (BORDERLESS & ZEBRA STRIPED) ---
   ============================================================ */

/* 1. Main Table Container */
.wikitable {
    width: 100%;
    border: none !important; /* Kills outer border */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Keeps the soft shadow */
    border-radius: 8px;
    overflow: hidden;
    border-collapse: separate !important; /* Required for rounded corners */
    border-spacing: 0;
    margin: 1em 0; /* Breathing room around the table */
}

/* 2. Header Cells */
.wikitable th {
    background-color: var(--bc-blue) !important; /* Brand Teal */
    color: white !important;
    text-transform: uppercase;
    font-size: 0.85rem;
    padding: 14px 16px !important;
    border: none !important; /* Kills header borders */
    text-align: left;
}

/* 3. Standard Data Cells (Odd Rows / Default) */
.wikitable td {
    background-color: #ffffff !important; /* Clean white background */
    border: none !important; /* Kills inner cell borders */
    padding: 12px 16px !important; /* Comfortable spacing */
    color: var(--bc-text);
}

/* 4. Zebra Striping (Even Rows) */
.wikitable tr:nth-child(even) td {
    background-color: var(--bc-bg-page) !important; /* Uses your theme's light grey/teal background */
}

/* ============================================================
   --- WIKITABLE DARK MODE OVERRIDES ---
   ============================================================ */

/* 1. Dark Mode Headers */
html.skin-theme-clientpref-night .wikitable th {
    background-color: #263238 !important; /* Dark Slate */
    color: #80cbc4 !important; /* Bright Teal Text */
}

/* 2. Dark Mode Data Cells (Odd Rows) */
html.skin-theme-clientpref-night .wikitable td {
    background-color: #1e1e1e !important; /* Dark Card Background */
    color: #e0e0e0 !important; /* Off-white text */
}

/* 3. Dark Mode Zebra Striping (Even Rows) */
html.skin-theme-clientpref-night .wikitable tr:nth-child(even) td {
    background-color: #2a2b2e !important; /* Slightly lighter charcoal for contrast */
}

/* ============================================================
   --- 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;
}