/* ==========================================================================
   Online-Schaken.nl - CENTRALE PREMIUM STYLING MATRIX
   ALLES LOEPZUIVER EN STRUCTUREEL GEORDEND PER ONDERWERP
   ========================================================================== */


/* ==========================================================================
   HOOFDSTUK 1: ED'S CENTRALE THEMA MATRIX (:ROOT KLEUREN)
   ========================================================================== */
:root {
    /* 1. DE BLAUWE VARIATIES */
    --blue-main: #1e3a8a;         /* DONKERBLAUW */      
    --blue-premium: #1e3a8a;      /* DONKERBLAUW */ 
    --blue-royal: #2563e8;        /* medium lichtblauw */
    --blue-accent: #58a4e5;       
    --blue-darkest: #001b2a;      
    --almost-black: #18263b;      

    /* 2. DE VLAKKEN, TEKSTEN EN SCHEIDINGSLIJNEN */
    --bg-site: #f8fafc;           
    --off-white: #f8fafc;         
    --bg-light: #ffffff;          /* wit */
    --text-main: #334155;         
    --border-color: #bfd3e6;      
    --blue-pale: #e2e8f0;         /* grijstint (te donker voor de header) */
    
    /* ED'S NIEUWE ZILVER-WET: Vederlicht, chique en perfect voor het menu! */
    --bg-silver: #e6edf5;         
    --bg-off-white: #f7fafc;         /* 4. ULTRA LICHT OFF-WHITE (Vederlicht, superfris en perfect!) */
}

/* ========off-white==================================================================
   HOOFDSTUK 2: DE SITE-WRAPPER STRUCTUREN (BUITENFRAME)
   ========================================================================== */
/* 1. DE BUITENSTE SCHIL EN DE STOERE 6PX BUITENRAND (MÉT ED'S STICKY MAXIMAAL SCHERM MATRIX) */
.site-wrapper, 
#main-wrapper,
.login-wrapper,      
.auth-container,
body > div:first-of-type {
    border: 6px solid var(--blue-darkest, #001b2a) !important; 
    box-sizing: border-box !important;
    margin: 10px !important; 
    border-radius: 14px !important; /* De hoeken zijn nu aanzienlijk ronder (14px) */
    overflow: hidden !important;    /* Dwingt de browser om alle inhoud binnen de ronde hoeken te snijden! */
}

/* DE ED-PAGINA AS: Zorgt dat de site-wrapper ALTIJD de volledige monitor-hoogte claimt en de footer naar beneden drukt */
/* ==========================================================================
   HOOFDSTUK 2: DE SITE-WRAPPER STRUCTUREN (BUITENFRAME IN ED'S OFF-WHITE)
   ========================================================================== */
.site-wrapper, 
#main-wrapper,
.login-wrapper,      
.auth-container,
body > div:first-of-type {
    border: 6px solid var(--blue-darkest, #001b2a) !important; 
    box-sizing: border-box !important;
    margin: 10px !important; 
    border-radius: 14px !important; /* De hoeken zijn nu aanzienlijk ronder (14px) */
    overflow: hidden !important;    /* Dwingt de browser om alle inhoud binnen de ronde hoeken te snijden! */
    background-color: #f7fafc !important; /* ULTRA-VERS EN LICHT: Dwingt Ed's off-white hier keihard af! */
}

/* DE ED-PAGINA AS: Zorgt dat de site-wrapper ALTIJD de volledige monitor-hoogte claimt en de footer naar beneden drukt */
.site-wrapper {
    display: flex !important;
    flex-direction: column !important;
    min-height: calc(100vh - 20px) !important; /* Volledige schermhoogte minus de margin */
    box-sizing: border-box !important;
    background-color: #f7fafc !important; /* Zorgt dat de complete pagina-as dezelfde off-white tint ademt */
}

/* 2. DE HOOGTE- EN SCROLL-AS VAN DE SITE CONTAINERS */
.site-wrapper > *:not(.main-header):not(.main-footer) {
    flex: 1 0 auto !important;      /* Dwingt de content om de volledige beschikbare hoogte te vullen */
    box-sizing: border-box !important;
    width: 100% !important;
    background-color: #f7fafc !important; /* Zorgt dat de content-omgeving naadloos overloopt */
}
.main-footer {
    margin-top: auto !important;
    flex-shrink: 0 !important;
}

body #main-wrapper {
    overflow: visible !important;
    height: auto !important;
    width: 100% !important;
}
/* ==========================================================================
   HOOFDSTUK 3: DE MAIN-HEADER & LOGO MATRIX (BOVENBALK)
   ========================================================================== */
/* 1. DE ADEMHALINGS-ANIMATIE (VLOEIEND IN- EN UITFADEN IN 6 SECONDEN) */
@keyframes paardAdemhaling {
    0% { opacity: 0.30; }   
    50% { opacity: 0.90; }  
    100% { opacity: 0.30; } 
}

/* 2. DE HEADERBALK: VERDEELT DE 3 HOOFDBLOKKEN OVER DE BREEDTE */
/* 2. DE HEADERBALK: WEER STABIEL EN VEILIG IN HET MIDDEN */
.main-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;            /* HERSTELD: Terug naar het veilige midden! */
    justify-content: space-between !important; 
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 30px !important;              /* Terug naar de normale padding */
    position: relative !important;
    z-index: 199999 !important;
    background-color: var(--bg-off-white: #f7fafc) !important;
}

.main-content-left { 
    flex: 1; 
}
/* ==
/* 3. HET MENU: OPTISCH GECALIBREERD OP JOUW NIEUWE HOOFDLETTERSTAND */
/* ==========================================================================
   ED'S GEFIXEERDE HEADER-MATRIX: LOGO EN MENU BLIJVEN 100% OP HUN PLAATS
   ========================================================================== */
.main-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;        /* GECORRIGEERD: Laat de elementen hun natuurlijke uitlijning behouden! */
    justify-content: space-between !important; 
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 30px !important;              /* Terug naar jouw exacte, originele padding */
    position: relative !important;
    z-index: 199999 !important;
    background-color: #f7fafc !important;       /* Jouw stabiele off-white basis */
    
    /* ED'S GEFIXEERDE HOOGTE-WET: Exact gecalibreerd op jouw 190px ademende paard, zonder kieren! */
    height: 80px !important;
    min-height: 80px !important;
    max-height: 80px !important;
    overflow: visible !important;               /* CRUCIAAL: Zorgt dat het 190px paard vrij bóven en onder de header mag ademen! */
}

.main-nav {
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;                  /* Laat de centrering los en pakt zijn eigen breedte */
    
    /* BEHOUDEN: Jouw handmatige perfecte ooglijn aan de onderkant! */
    margin: 20px 0 0 115px !important;          /* TOP (20px), RECHTS (0), BOTTOM (0), LINKS (115px vanaf logo) */
    margin-right: auto !important;              /* Duwt de auth-buttons krachtig naar de verre rechterkant */
}

/* 4. DE NAVIGATIE LINKS IN DE HEADER */
.nav-link {
    text-decoration: none;
    color: var(--blue-darkest);
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    transition: color 0.2s;
}

.nav-link:hover {
    color: var(--blue-main);
}

/* 5. DE KNOPPENBALK RECHTS */
.auth-buttons,
.header-status-zone {                           /* Gecorrigeerd: Zorgt dat ook de inlogstatus netjes meeloopt */
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-left: auto !important;               /* De ultieme magneet naar de rechterkant! */
    margin-top: 16px !important;                /* Gecalibreerd op de ooglijn van jouw menu links */
    flex-shrink: 0 !important;                  
}

/* 6. LOGO EN TEKST GEOMETRIE */
.logo-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    text-decoration: none !important;
    position: relative !important;
    overflow: visible !important;
    height: 100% !important;
}

.logo-image {
    height: 45px;
    width: auto;
    max-width: 180px;
    display: block;
    object-fit: contain;
}

/* 6. LOGO EN TEKST GEOMETRIE (DE GEHELE TEKST STRAK NAAR LINKS EN BENEDEN) */
.logo-main,  
.logo-text-area {
    font-size: 36px !important;
    position: relative !important;
    
    /* BEHOUDEN: Jouw handmatige droomstand van de tekst! */
    left: 110px !important;        
    top: 14px !important;           
    
    z-index: 10 !important;
    white-space: nowrap !important; /* Keiharde wet: Altijd onbreekbaar strak op één lijn! */
}

/* Het woord Schaken krijgt puur en alleen zijn kleur, zónder de tekststroom te breken! */
.logo-main, 
.logo-text-area span {
    color: var(--blue-royal, #2563e8) !important;
    position: static !important; /* Reset: Blijft onbreekbaar in de natuurlijke tekstlijn staan */
}

/* 7. JOUW ADEMENDE SCHAAKPAARD_5 OP JOUW EXACTE POSITIONERINGSTAND */
html body .main-header .logo-wrapper .logo-image-paard-animatie,
html body .logo-image-paard-animatie,
.logo-image-paard-animatie {
    position: absolute !important;
    box-sizing: border-box !important;
    pointer-events: none !important; 
    z-index: 5 !important;
    right: 226px !important;        /* Jouw handmatige droomstand na de goeie trap! */
    top: -15px !important;    
    width: 190px !important;
    height: 190px !important;
    object-fit: contain !important;
    animation: paardAdemhaling 6s ease-in-out infinite !important;
}

/* ==========================================================================
   HOOFDSTUK 4: DE HERO-GRID ENVIRONMENT (HOMEPAGE LINKERKANT)
   ========================================================================== */
/* 1. THE HERO CONGREGATIE GRID: VOLLEDIG GESTABILISEERD TEGEN VERSCHUIVINGEN */
html body .site-wrapper .hero-grid-container,
html body .hero-grid-container,
.hero-grid-container {
    display: flex !important;
    flex-direction: row !important; /* Keiharde wet: herobalk links, dashboard rechts */
    flex-wrap: wrap !important;     
    gap: 24px !important;
    max-width: 100% !important;   
    
    /* ED'S LIJN-VERGRENDELING: Marge op 0 en opgevangen via vaste binnenruimte (padding-top)! */
    margin: 0 !important;  
    padding: 24px 40px 40px 40px !important; /* EXACT dezelfde 40px padding als jouw main-header logo! */
    
    box-sizing: border-box !important;
    width: 100% !important;
    max-height: 360px !important;   /* ED'S HOOGTE-LIMIET: Flexibel maar maximaal 360px hoog! */
    overflow: visible !important;   
}

/* 1. THE HERO CONGREGATIE GRID */
html body .site-wrapper .hero-grid-container,
html body .hero-grid-container,
.hero-grid-container {
    display: flex !important;
    flex-direction: row !important; /* Keiharde wet: herobalk links, dashboard rechts */
    flex-wrap: wrap !important;     
    gap: 24px !important;
    max-width: 100% !important;   
    margin: 24px 0 0 0 !important;  /* ED'S ARCHITECTUUR-WET: Vaste 24px startruimte aan de bovenkant */
    padding: 0 40px 40px 40px !important; /* EXACT dezelfde 40px padding als jouw main-header logo! */
    box-sizing: border-box !important;
    width: 100% !important;
    max-height: 360px !important;   /* ED'S HOOGTE-LIMIET: Flexibel maar maximaal 360px hoog! */
    overflow: visible !important;   
}

/* 2. DE DIEPBLAUWE HERO-BALK CONTAINER (ROTSVAST VERANKERD MET JOUW UNIEKE VERLOOP) */
html body .hero-section-main,
html body .site-wrapper .hero-section-main,
.hero-section-main {
    flex: 1 !important;             
    min-width: 450px !important;    
    min-height: 340px !important;
    box-sizing: border-box !important;
    
    /* UNIVERSELE VERLOOPKLEUR: Zorgt voor de diepe, chique blauwe basis */
    background: linear-gradient(135deg, var(--blue-darkest, #001b2a) 0%, var(--blue-main, #1e3a8a) 100%) !important;
    
    border: 3px solid var(--blue-premium, #1e3a8a) !important;
    border-radius: 12px !important;
    padding: 45px 40px !important; 
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important; /* Noodzakelijk voor de onafhankelijke fotolaag */
    isolation: isolate !important; /* Dwingt absolute scheiding af tussen foto en tekst */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05) !important;
}

/* ED'S ORIGINELE FOTO-SCHILD: Laadt schaken.jpg zonder te stretchen vanaf de absolute server-root! */
html body .hero-section-main::before,
html body .site-wrapper .hero-section-main::before,
.hero-section-main::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    
    /* DE ABSOLUTE ROOT-WET: Pakt ALTIJD exact hetzelfde bestand vanaf de hoofdmap! */
    background-image: url('/images/schaken.jpg') !important; 
    
    background-size: contain !important;     /* Keiharde wet: Staat weer strak op jouw originele formaat! */
    background-repeat: no-repeat !important;  
    background-position: right center !important; 
    
    /* HELDERHEIDSMATRIX: Staat krachtig op 90% dekking om perfect door de blauwe mist te breken */
    opacity: 0.90 !important;                 
    z-index: -1 !important; /* Dwingt de fotolaag onwrikbaar ACHTER de tekstlagen */
}

/* Dwingt alle tekstinhoud (h1, p) om onwrikbaar op de absolute voorgrond te leven */
.hero-section-main > * {
    position: relative !important;
    z-index: 9999 !important; /* Knalt met brute kracht over de achtergrondfoto heen */
}

/* De slogan-kop bínnen de blauwe balk: Altijd strak op 32px */
.hero-section-main h1 {
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin: 0 0 15px 0 !important;
    letter-spacing: -0.5px !important;
    color: var(--off-white, #f8fafc) !important; 
}

/* De onderste regel van je slogan: direct gekoppeld aan het felle koningsblauw */
.hero-section-main h1 span {
    color: var(--blue-royal, #2563e8) !important;
    display: block !important;
}

/* De introductietekst bínnen de herobalk */
.hero-section-main p {
    font-size: 16px !important;
    color: #BFD3E6 !important; 
    line-height: 1.5 !important;
    margin: 0 !important; 
}

/* ==========================================================================
   HOOFDSTUK 5: COCKPIT, BINNENKADERS & FORMULIEREN (RECHTERKANT)
   ========================================================================== */
/* 1. DE RUSTIGE INSMELT-ANIMATIE */
@keyframes cockpitFadeInOnly {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* 3. DE TRANSFORMEERBARE COCKPIT BALK (EXACT EVEN GROOT EN EXTREEM VLOEIEND!) */
html body .login-sidebar-right-main,
html body .site-wrapper .login-sidebar-right-main,
.login-sidebar-right-main {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    min-height: 340px !important; /* Dwingt EXACT dezelfde minimale hoogte af als de herobalk links! */
    box-sizing: border-box !important;
    background-color: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05) !important;
    
    /* GECORRIGEERD: Verhoogd naar 0.6 seconden voor de ultieme, adembenemende schokvrije rust! */
    transition: all 0.6s ease-in-out !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Zorgt dat formulieren en buttons binnen de sidebar de vertraagde overgang perfect synchroon volgen */
.login-sidebar-right-main form,
.login-sidebar-right-main .btn-submit,
.login-sidebar-right-main div {
    transition: all 0.5s ease-in-out !important;
}

/* 3. ALGEMENE BINNENKADERS, PANELEN EN FORMULIEREN */
.card, 
.panel, 
.dashboard-block, 
.arbitrage-board-panel, 
.arbitrage-card-panel,
form#loginform,      
.login-box {
    border: 3px solid var(--blue-darkest) !important; /* Strakke 3px omlijning */
    border-radius: 10px !important; /* Subtiel rondere binnenhoeken */
    box-sizing: border-box !important;
    background-color: var(--bg-light, #ffffff);
}

/* 4. DE KNOPPEN MATRIX MET JOUW APARTE PASSEFFECT EN VERZENDKLEUR */
/* 4. DE KNOPPEN MATRIX MET JOUW APARTE PASSEFFECT EN VERZENDKLEUR */
.btn-submit, 
button[type="submit"], 
input[type="submit"] { 
    background-color: #2563eb !important; 
    background: #2563eb !important;
    color: #ffffff !important; 
    border: none !important; 
    height: 44px !important;
    padding: 0 25px !important; 
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important; 
    border-radius: 6px !important; 
    cursor: pointer; 
    font-size: 14px; 
    text-transform: uppercase; 
    box-sizing: border-box !important;
    transition: all 0.2s ease-in-out !important; 
}

/* Knoppen hover-status: Omkleuren naar Blue-Light én dat grappige sprongetje maken! */
.btn-submit:hover, 
button[type="submit"]:hover, 
input[type="submit"]:hover { 
    background-color: var(--blue-light, #58A4E5) !important; 
    background: var(--blue-light, #58A4E5) !important;
    color: var(--blue-darkest, #001b2a) !important; 
    padding-left: 29px !important; /* HET PASSEFFECT: schuift subtiel en grappig op */
    transform: translateX(2px);
}


/* ==========================================================================
   HOOFDSTUK 6: ADMIN & BEHEER NAVIGATIE DROPDOWNS
   ========================================================================== */
.db-nav-root { 
    list-style: none !important; 
    margin: 0 !important; 
    margin-left: auto !important; /* DIT IS DE MAGNEET NAAR RECHTS! */
    padding: 0 !important; 
    display: flex !important; 
    align-items: center !important; 
    gap: 20px !important; 
}

.db-nav-item { 
    position: relative !important; 
    display: inline-block !important; 
}

/* DE ECHTE MENU LINKS: NU OP DE MILLIMETER POSITIONEERBAAR MAKEN */
.db-nav-link { 
    text-decoration: none !important; 
    color: var(--blue-darkest) !important; 
    font-weight: 600 !important; 
    font-size: 17px !important;        
    padding: 10px 0 !important; 
    display: inline-block !important; 
    transition: color 0.2s !important; 
    
    /* RECHTE LIJN MATRIX: We duwen de letters live omlaag én schuiven ze naar rechts! */
    position: relative !important;
    top: 8px !important;               /* ZAKKEN: Duwt de letters 8px naar beneden voor de onderlijn! */
    margin-left: 30px !important;      /* NAAR RECHTS: Maakt flinke extra ruimte vanaf het logo! */
}

.db-nav-link:hover { 
    color: var(--blue-main) !important; 
}

.db-nav-root .db-nav-sub { 
    display: none !important; 
    position: absolute !important; 
    top: 100% !important; 
    left: 0 !important; 
    right: auto !important;
    background: var(--bg-light, #ffffff) !important; 
    border: 3px solid var(--blue-premium, #1e3a8a) !important; /* Een onbreekbaar, dikker blauw frame */
    border-radius: 6px !important; 
    box-shadow: 0 8px 24px rgba(0,0,0,0.2) !important; 
    z-index: 250000 !important; 
    flex-direction: column !important; 
    gap: 0 !important; 
    padding: 4px 0 !important; 
    width: max-content !important; 
    min-width: 220px !important; 
}

.db-nav-root .db-nav-sub .db-nav-link { 
    padding: 8px 12px !important; 
    display: flex !important; 
    justify-content: flex-start !important; 
    align-items: center !important; 
    font-size: 14px !important; 
    font-weight: 600 !important; 
    color: #001B2A !important; /* GEFIXED: De letters in het witte menu worden nu keurig donkerblauw */
    white-space: nowrap !important; 
    width: 100% !important; 
    box-sizing: border-box !important; 
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important; 
    transition: all 0.2s !important; 
    text-align: left !important; 
}

.db-nav-root .db-nav-sub .db-nav-link:hover { 
    background-color: var(--blue-pale) !important; 
    color: var(--blue-premium) !important; 
    padding-left: 16px !important; 
}

.db-nav-item:hover > .db-nav-sub { 
    display: flex !important; 
    flex-direction: column !important; 
    align-items: flex-start !important; 
    justify-content: flex-start !important;
}

.db-nav-root .db-nav-sub .db-nav-sub { 
    top: -6px !important; 
    left: 100% !important; 
    right: auto !important;
    margin-left: 2px !important; 
    border: 2px solid var(--blue-premium, #1e3a8a) !important; 
    border-radius: 6px !important; 
    width: max-content !important;
    min-width: 0 !important;
    z-index: 200001 !important; 
}


/* ==========================================================================
   HOOFDSTUK 7: INHOUD, CONTENT & FOOTER ELEMENTEN
   ========================================================================== */
/* 1. DE PIJLERS / CLUB KENMERKEN */
.pijlers-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.pijler-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.pijler-text strong {
    display: block;
    color: var(--blue-main, #1e3a8a);
    font-size: 14px;
    margin-bottom: 3px;
}

.pijler-text p {
    margin: 0;
    color: var(--blue-darkest);
    font-size: 12px;
    line-height: 1.4;
}

/* 2. DE AFSLUITENDE FOOTER MATRIX */
.footer-column h3 {
    color: var(--blue-main, #1e3a8a);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 0;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--bg-light);
    padding-bottom: 5px;
}

.snel-naar-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.footer-link {
    text-decoration: none;
    color: var(--blue-darkest);
    font-weight: 500;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-link:hover {
    color: var(--blue-main);
}

.homepage-grid { 
    display: flex; 
    gap: 30px; 
    max-width: 1490px; 
    margin: 20px auto; 
    padding: 0 20px; 
    align-items: flex-start; 
    box-sizing: border-box; 
}

========================================================================
   HOOFDSTUK 5: ADMIN & BEHEER ENVIRONMENT (OS_ROUTER AS)
   ========================================================================== */
.admin-layout { 
    display: flex !important; 
    min-height: calc(100vh - 180px) !important; 
    max-width: 1200px !important;   /* GECORRIGEERD: Teruggebracht naar 1200px zodat hij ALTIJD binnen Ed's 6px buitenkader blijft! */
    width: 100% !important;         /* Dwingt vloeibaarheid af binnen kleinere schermen */
    margin: 20px auto !important; 
    padding: 0 20px !important; 
    gap: 30px !important; 
    box-sizing: border-box !important; 
}
    
.admin-sidebar { 
    width: 280px !important; 
    background-color: #1e3a8a !important; 
    border: 2px solid #001b2a !important; 
    border-radius: 12px !important; 
    padding: 20px 0 !important; 
    display: flex !important; 
    flex-direction: column !important; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important; 
}
    
.admin-sidebar-title { 
    padding: 0 25px 10px 25px !important; 
    color: #ffffff !important; 
    font-weight: 800 !important; 
    font-size: 14px !important; 
    letter-spacing: 1px !important; 
    border-bottom: 1px solid rgba(255,255,255,0.1) !important; 
    margin-bottom: 15px !important; 
}

.admin-sidebar a { 
    display: block !important; 
    color: #ffffff !important; 
    padding: 12px 25px !important; 
    text-decoration: none !important; 
    font-weight: 600 !important; 
    font-size: 13px !important; 
    text-transform: uppercase !important; 
    border-left: 4px solid transparent !important; 
    transition: all 0.2s !important; 
}

.admin-sidebar a:hover { 
    background-color: rgba(255, 255, 255, 0.1) !important; 
    color: #ffffff !important; 
}
    
.admin-sidebar a.active { 
    background-color: #2563eb !important; 
    color: #ffffff !important; 
    border-left-color: #58A4E5 !important; 
}
    
.admin-main { 
    flex: 1 !important; 
    padding: 30px !important; 
    background-color: var(--bg-pure, #ffffff) !important; 
    border: 2px solid var(--blue-pale, #bfd3e6) !important; 
    border-radius: 12px !important; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.05) !important; 
}

.admin-header-title { 
    padding-bottom: 10px !important; 
    margin-bottom: 20px !important; 
    border-bottom: 2px solid var(--bg-light, #e6edf5) !important; 
}

.admin-header-title h1 { 
    margin: 0 !important; 
    font-size: 24px !important; 
    font-weight: 800 !important; 
    color: var(--blue-dark, #1e3a8a) !important; 
}
    
.admin-table { 
    width: 100% !important; 
    border-collapse: collapse !important; 
    margin-top: 15px !important; 
}

.admin-table th, 
.admin-table td { 
    padding: 12px !important; 
    text-align: left !important; 
    border-bottom: 1px solid var(--bg-light, #e6edf5) !important; 
    font-size: 14px !important; 
}

.admin-table th { 
    background-color: var(--blue-darkest, #001b2a) !important; 
    color: #ffffff !important; 
    font-weight: 700 !important; 
}
.form-group { 
    margin-bottom: 15px !important; 
    display: flex !important; 
    flex-direction: column !important; 
    gap: 6px !important; 
}

.form-control { 
    padding: 10px !important; 
    border: 2px solid var(--blue-pale, #bfd3e6) !important; 
    border-radius: 6px !important; 
    font-size: 14px !important; 
    width: 100% !important; 
    box-sizing: border-box !important; 
}
/* ==========================================================================
   HOOFDSTUK 5: COCKPIT, BINNENKADERS & FORMULIEREN (RECHTERKANT)
   ========================================================================== */
html body .login-sidebar-right-main,
html body .site-wrapper .login-sidebar-right-main,
.login-sidebar-right-main {
    flex-shrink: 0 !important;      
    flex-grow: 0 !important;
    width: 280px !important;        /* FORCEER: Altijd onbreekbaar op de compacte 280 pixels breed! */
    min-width: 280px !important;    
    max-width: 280px !important;
    min-height: 340px !important;
    box-sizing: border-box !important;
    border: 3px solid var(--blue-royal, #2563e8) !important; /* Onbreekbaar koningsblauw direct op de bron! */
    background-color: #f7fafc !important; /* GECORRIGEERD: Nu 100% sluitend in jouw premium off-white! */
    border-radius: 12px !important;
    padding: 22px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
    animation: cockpitFadeInOnly 1.0s ease-out forwards !important;
}

/* ==========================================================================
   HOOFDSTUK 10: ED'S COCKPIT DYNAMISCHE NOTIFICATIE MATRIX (CENTRALE BRON)
   ========================================================================== */
/* ==========================================================================
   HOOFDSTUK 10: ED'S COCKPIT DYNAMISCHE NOTIFICATIE MATRIX (CENTRALE BRON)
   ========================================================================== */
.homepage-notification-wrapper {
    width: 100% !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
    margin-top: 15px !important;
    clear: both !important;
}

#ed-start-content-block {
    /* GECORRIGEERD: Met brute kracht gehalveerd naar exact 140px hoog voor de perfecte no-scroll balans! */
    height: 140px !important;
    max-height: 140px !important;
    width: 100% !important;
    overflow: hidden !important; /* Wist alle lelijke Chrome-scrollbalken definitief uit */
    box-sizing: border-box !important;
    background-color: #f7fafc !important; 
    border: 3px solid #2563e8 !important;   /* Rotsvast op jouw slanke 3px Blue Royal wet! */
    border-radius: 14px !important;
    padding: 15px 25px !important;           /* Iets slanker gemaakt voor extra binnenruimte */
    box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
    display: flex !important;
    align-items: flex-start !important;
    background-image: none !important;
    position: relative !important; /* Noodzakelijk voor de interne scroll-animatie */
}

/* ED'S VERTICALE SCROLL-WET: Gekalibreerd op de nieuwe, slanke 140px hoogte van de box! */
#ed-start-content-block > div {
    position: absolute !important;
    width: calc(100% - 50px) !important;
    height: auto !important;
    animation: edVerticalScroll 25s linear infinite !important;
}

/* Pauzeert de scroll vloeibaar zodra je de muis op het notificatievak zet ter absolute leesbaarheid! */
#ed-start-content-block:hover > div {
    animation-play-state: paused !important;
}

/* DE ANIMATIE-AS: Start nu gitzuiver vanaf de nieuwe 110px bodemgrens */
@keyframes edVerticalScroll {
    0% { transform: translateY(110px); }
    100% { transform: translateY(-110%); }
}

/* Zorgt dat er ook via oude pseudo-bendes geen icoon naar binnen kan glippen */
#ed-start-content-block::before,
#ed-start-content-block::after {
    display: none !important;
    content: "" !important;
}

 /* Dit geldt alleen voor mobiele telefoons */
@media (max-width: 768px) {
  body, html {
    width: 100%;
    overflow-x: hidden;
  }
}
/* ==========================================================================
   MOBIELE OPTIMALISATIE VOOR ONLINE-SCHAKEN.NL (Voor schermen tot 768px)
   ========================================================================== */
@media (max-width: 768px) {
    
    /* 1. Algemene basisopzet voor mobiel */
    body, html {
        width: 100%;
        overflow-x: hidden; /* Voorkomt dat de pagina horizontaal kan schudden */
    }

    .site-wrapper {
        width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    /* 2. Header & Logo mobielvriendelijk maken */
    .main-header {
        display: flex;
        flex-direction: column; /* Zet logo, menu en inlogknop onder elkaar */
        align-items: center;
        padding: 15px 10px !important;
        gap: 15px;
        height: auto !important; /* Voorkomt dat de header een vaste hoogte afdwingt */
    }

    .logo-wrapper {
        justify-content: center;
        width: 100%;
        height: 60px;
    }

    /* Corrigeert de harde 'left: 160px' uit de HTML zodat het logo netjes centreert */
    .logo-text-area {
        left: 0 !important; 
        text-align: center;
        font-size: 26px !important; /* Iets kleiner voor smalle schermen */
    }

    /* Zorgt dat het paard-icoon netjes meeschaalt naast de tekst */
    .logo-image-paard-animatie {
        height: 45px !important;
        width: auto !important;
        position: relative !important;
    }

    /* 3. Het navigatiemenu transformeren naar een mobiele lijst */
    .main-nav {
        width: 100%;
        padding-top: 0 !important;
    }

    .db-nav-root {
        display: flex;
        flex-wrap: wrap; /* Zorgt dat de menu-items netjes afbreken naar de volgende regel */
        justify-content: center;
        gap: 10px;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .db-nav-item {
        position: relative;
    }

    .db-nav-link {
        padding: 6px 12px !important;
        font-size: 14px !important;
        display: block;
    }

    /* Verbergt eventuele diepe submenu's op mobiel om overlapping te voorkomen, 
       of klapt ze uit als simpele blokken */
    .db-nav-sub {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        box-shadow: none !important;
        display: block !important;
        padding-left: 15px !important;
    }

    /* 4. De Hero-sectie en het Inlogpaneel onder elkaar zetten */
    .hero-grid-container {
        flex-direction: column !important; /* Dwingt de rij om een kolom te worden */
        padding: 0 15px !important; /* Smallere zijranden voor meer schermruimte */
        gap: 20px !important;
    }

    /* De blauwe hoofdbalk */
    .hero-section-main {
        width: 100% !important;
        padding: 30px 20px !important;
        box-sizing: border-box;
        text-align: center !important; /* Centreer tekst voor een betere mobiele look */
    }

    .hero-section-main h1 {
        font-size: 26px !important; /* Voorkomt dat de titel buiten het scherm breekt */
        text-align: center !important;
    }
    
    .hero-section-main h1 span {
        display: inline !important; /* Zet "Altijd. Overal." weer achter elkaar op mobiel */
    }

    .hero-section-main p {
        font-size: 14px !important;
        text-align: center !important;
    }

    /* Het rechter inlogpaneel */
    .login-sidebar-right-main {
        width: 100% !important; /* Pakt nu de volledige breedte van de telefoon */
        max-width: 100% !important;
        box-sizing: border-box;
        padding: 20px !important;
    }

    /* Maak invoervelden en knoppen dikker en makkelijker aan te raken met vingers */
    .login-sidebar-right-main input[type="text"],
    .login-sidebar-right-main input[type="password"] {
        padding: 12px !important; /* Groter aanraakvlak voor duimen */
        font-size: 16px !important; /* Voorkomt dat iOS automatisch inzoomt op de input */
    }

    .btn-submit {
        padding: 12px !important;
        font-size: 16px !important;
    }

    /* 5. De Mededelingenbox onderaan optimaliseren */
    .homepage-notification-wrapper {
        margin: 20px 15px !important;
        padding: 15px !important;
    }
    
    .notification-text {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    /* EXTRA CORREKTIE: Voorkomt dat schermen over elkaar heen vallen */
    .hero-section-main, 
    .login-sidebar-right-main,
    .main-content-wrapper,
    .hero-grid-container {
        position: relative !important; /* Reset eventuele absolute positioneringen */
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        height: auto !important;       /* Dwingt de blokken hun natuurlijke hoogte te pakken */
        float: none !important;        /* Schakelt oude float-systemen uit */
    }

    /* Zorgt dat de opvolgende mededelingenbox ook netjes aansluit */


    /* 1. Dwing de hoofdcontainer om een schone verticale kolom te zijn */
/* ==========================================================================
   OFFICIËLE MOBIELE OPTIMALISATIE ONLINE-SCHAKEN.NL
   ========================================================================== */
@media screen and (max-width: 768px) {
    
    /* 1. Basis reset voor mobiel */
    body, html {
        width: 100% !important;
        overflow-x: hidden !important;
    }

    .site-wrapper {
        width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Header & Menu mobielvriendelijk */
    .main-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 15px 10px !important;
        gap: 15px !important;
        height: auto !important;
    }

    .logo-wrapper {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        left: 0 !important;
    }

    .logo-text-area {
        position: relative !important;
        left: 0 !important; 
        text-align: center !important;
        font-size: 24px !important;
    }

    .logo-image-paard-animatie {
        height: 40px !important;
        width: auto !important;
        position: relative !important;
        left: 0 !important;
    }

    .main-nav {
        width: 100% !important;
        padding-top: 0 !important;
    }

    .db-nav-root {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .db-nav-link {
        padding: 6px 10px !important;
        font-size: 13px !important;
    }

    /* 3. Hoofdcontainer resetten naar een schone verticale stapel */
    /* 3. Hoofdcontainer ombouwen naar Flexbox om de volgorde om te draaien */
    .hero-grid-container {
        display: flex !important;          /* Activeert flexbox */
        flex-direction: column !important; /* Zet alles in een verticale lijn */
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        padding: 0 15px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* 4. HET INLOGSCHERM (Blok 1 - Wordt nu naar de allerbovenste plek geduwd) */
    div.login-sidebar-right-main {
        display: block !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        float: none !important;
        
        order: 1 !important;               /* Dwingt dit paneel om als EERSTE te verschijnen */
        
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        min-height: min-content !important;
        overflow: visible !important;
        
        margin: 0 0 20px 0 !important;     /* Maakt ruimte aan de onderkant voor de herobalk */
        padding: 20px !important;
        box-sizing: border-box !important;
        background-color: #ffffff !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05) !important;
    }

    /* Dwingt het inlogformulier zelf om ook volledig uit te klappen */
    div.login-sidebar-right-main form,
    div.login-sidebar-right-main form div {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* 5. DE BLAUWE HEROBALK (Blok 2 - Landt nu gegarandeerd ONDER het inlogscherm) */
    /* 5. DE BLAUWE HEROBALK (Blok 2 - Staat onder het inlogscherm) */
    div.hero-section-main {
        display: flex !important;          /* Maakt hier een flexbox van */
        flex-direction: column !important; /* Dwingt tekst en foto recht onder elkaar */
        justify-content: center !important;
        align-items: center !important;
        
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        
        order: 2 !important;               /* Staat als tweede blok onder het inloggen */
        
        width: 100% !important;
        height: auto !important;           /* Groeit flexibel mee met tekst + foto */
        max-height: none !important;
        margin: 0 0 25px 0 !important;     
        padding: 25px 15px !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        overflow: visible !important;
    }

    /* Zorgt dat de tekstboodschap ALTIJD BOVENIN het blauwe vak staat */
    div.hero-section-main > div {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        text-align: center !important;
        order: 1 !important;               /* Dwingt tekst op positie 1 */
        margin-bottom: 15px !important;    /* Maakt een opening tussen tekst en de foto */
    }

    div.hero-section-main h1 {
        font-size: 24px !important;
        text-align: center !important;
    }

    div.hero-section-main p {
        font-size: 14px !important;
        text-align: center !important;
    }

    /* NEKSLAG VOOR OVERLAPPENDE FOTO: Staat nu gegarandeerd ONDER de tekst */
    div.hero-section-main img {
        display: block !important;
        position: relative !important;     /* Sloopt de 'absolute' zwevende stand van desktop */
        top: auto !important;              /* Reset eventuele verschuivingen */
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        
        order: 2 !important;               /* Dwingt de foto op positie 2 (onder de tekst) */
        clear: both !important;
        
        max-width: 80% !important;         /* Zorgt dat de foto mooi compact binnen het scherm blijft */
        height: auto !important;
        margin: 10px auto 0 auto !important; /* Centreert de foto netjes */
    }

    /* Dwingt het inlogformulier zelf om ook volledig uit te klappen */
    div.login-sidebar-right-main form,
    div.login-sidebar-right-main form div {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* 6. De Mededelingenbox (Onderste blok) */
    .homepage-notification-wrapper {
        display: block !important;
        position: relative !important;
        clear: both !important;
        width: 100% !important;
        margin: 20px 0 !important;
        padding: 15px !important;
        box-sizing: border-box !important;
        height: auto !important;
        max-height: none !important;
    }
}
