/**
 * SEVEN IS ONE - NEON ACADEMICA THEME
 * v3.0 - Dark Blue & Gold Neon Edition
 * Based on CSS Academica + Grok Scientific Style
 * 
 * Theme: Deep navy backgrounds with gold (#ffd700) and cyan (#00d4ff) neon accents
 * Purple highlights for active states (#bd00ff)
 */
/* ============================================
   GOOGLE FONTS IMPORTS
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700;900&family=Roboto+Mono:wght@300;400;500;700&family=Rajdhani:wght@400;500;600;700&display=swap');
/* ============================================
   CSS CUSTOM PROPERTIES (NEON THEME) 
   ============================================ */
:root {
    /* Primary Colors - Deep Navy Backgrounds */
    --navy-deepest: #001233;
    --navy-dark: #001a4d;
    --navy-medium: #012a4a;
    
    /* Neon Accent Colors */
    --gold-neon: #ffd700;
    --gold-dim: #ffb300;
    --cyan-neon: #00d4ff;
    --magenta-neon: #bd00ff;
    
    /* Text Colors */
    --text-primary: #f0f0f5;
    --text-secondary: #c0c0cc;
    --text-muted: #8a8a99;
    
    /* Gradients */
    --gradient-gold-cyan: linear-gradient(135deg, var(--gold-neon) 0%, var(--cyan-neon) 100%);
    --gradient-gold-magenta: linear-gradient(135deg, var(--gold-neon) 0%, var(--magenta-neon) 100%);
    --gradient-navy-bg: linear-gradient(180deg, var(--navy-deepest) 0%, var(--navy-medium) 100%);
}
/* ============================================
   GLOBAL RESET & BASE STYLES
   ============================================ */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    position: relative;
    scroll-behavior: smooth;
}
body {
    margin: 0 0 60px;
    font-family: 'Roboto Mono', 'Open Sans', monospace;
    line-height: 1.72222;
    background: var(--gradient-navy-bg);
    color: var(--text-primary);
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}
/* Animated Background Glow */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 20% 30%, rgba(255, 215, 0, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(0, 212, 255, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 50% 50%, rgba(189, 0, 255, 0.05) 0%, transparent 60%);
    pointer-events: none;
    z-index: -1;
    animation: backgroundPulse 20s infinite ease-in-out;
}
@keyframes backgroundPulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}
/* ============================================
   LINK STYLES - NEON GLOW EFFECTS
   ============================================ */
a {
    color: var(--cyan-neon);
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}
a:hover {
    color: var(--gold-neon);
    text-shadow: 0 0 10px var(--gold-neon), 0 0 20px var(--cyan-neon);
}
/* Neon underline animation on hover */
a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-gold-cyan);
    transition: width 0.3s ease;
}
a:hover::after {
    width: 100%;
}
/* ============================================
   HEADER & NAVIGATION - GOLD/PURPLE NEON
   ============================================ */
header {
    background: url("images/background.png?v=20260327b") repeat-x center -25px;
    background-color: var(--navy-deepest);
}
.navbar-default {
    background: var(--navy-dark);
    background-image: 
        linear-gradient(to bottom, rgba(255, 215, 0, 0.1) 0%, transparent 100%),
        linear-gradient(to bottom, #0a1638 0%, var(--navy-medium) 100%);
    border: none;
    border-bottom: 2px solid var(--gold-neon);
    box-shadow: 
        0 0 20px rgba(255, 215, 0, 0.3),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1);
}
.navbar-default .navbar-brand {
    color: var(--gold-neon) !important;
    font-family: 'Orbitron', sans-serif;
    font-weight: 700;
    text-shadow: 0 0 10px var(--gold-neon), 0 0 20px var(--cyan-neon);
    letter-spacing: 2px;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
    color: #fff !important;
    text-shadow: 0 0 15px #fff, 0 0 30px var(--gold-neon);
}
.navbar-default .navbar-nav > li > a {
    color: var(--text-primary) !important;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 5px 7px !important;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
    color: var(--gold-neon) !important;
    background: rgba(255, 215, 0, 0.1);
    text-shadow: 0 0 8px var(--gold-neon);
}
/* ACTIVE MENU ITEM - PURPLE/GOLD GRADIENT */
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
    color: #fff !important;
    background: var(--gradient-gold-magenta) !important;
    box-shadow: 
        0 0 15px var(--magenta-neon),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    text-shadow: 0 0 5px #000;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
    color: #fff !important;
    background: var(--gradient-gold-magenta) !important;
}
.navbar-default .navbar-toggle {
    border-color: var(--gold-neon);
    background: transparent;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
    background: rgba(255, 215, 0, 0.2);
    box-shadow: 0 0 10px var(--gold-neon);
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: var(--gold-neon);
}
/* ============================================
   BREADCRUMB & PANELS - NEON STYLE
   ============================================ */
.breadcrumb {
    background: rgba(0, 212, 255, 0.1);
    border-left: 4px solid var(--cyan-neon);
    color: var(--text-secondary);
    box-shadow: 0 0 10px rgba(0, 212, 255, 0.2);
}
.breadcrumb a {
    color: var(--gold-neon);
}
.panel-default .panel-heading {
    background: linear-gradient(135deg, var(--navy-dark), var(--navy-medium));
    border-left: 4px solid var(--gold-neon);
    color: var(--gold-neon);
    font-family: 'Orbitron', sans-serif;
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.5);
}
/* ============================================
   FOOTER - DEEP NAVY WITH GOLD ACCENT
   ============================================ */
footer.bgfooter {
    background: var(--navy-deepest);
    background-image: 
        linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.5) 100%),
        linear-gradient(to top, rgba(255, 215, 0, 0.05) 0%, transparent 100%);
    color: var(--text-secondary);
    border-top: 3px solid var(--gold-neon);
    box-shadow: 
        inset 0 1px 0 rgba(255, 215, 0, 0.3),
        0 -10px 30px rgba(0, 0, 0, 0.5);
}
footer.bgfooter a {
    color: var(--gold-neon);
}
footer.bgfooter a:hover {
    color: #fff;
    text-shadow: 0 0 10px var(--gold-neon);
}
/* ============================================
   TYPOGRAPHY - HEADINGS WITH NEON GLOW
   ============================================ */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Orbitron', sans-serif;
    color: var(--gold-neon);
    margin-bottom: 0.5em;
}
h1 {
    text-shadow: 
        0 0 10px var(--gold-neon),
        0 0 20px var(--cyan-neon);
    letter-spacing: 2px;
}
h2 {
    border-left: 4px solid var(--magenta-neon);
    padding-left: 15px;
    text-shadow: 0 0 8px rgba(189, 0, 255, 0.5);
}
/* ============================================
   BUTTONS - NEON GLOW EFFECTS
   ============================================ */
.btn {
    font-family: 'Rajdhani', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 4px;
    transition: all 0.3s ease;
}
.btn-primary {
    background: var(--gradient-gold-cyan);
    border: none;
    color: var(--navy-deepest);
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.4);
}
.btn-primary:hover {
    background: var(--gradient-gold-magenta);
    color: #fff;
    box-shadow: 
        0 0 25px var(--magenta-neon),
        0 0 35px var(--gold-neon);
    transform: translateY(-2px);
}
/* ============================================
   CARDS & PANELS - GLASSMORPHISM STYLE
   ============================================ */
.card, .panel {
    background: rgba(1, 42, 74, 0.85);
    border: 1px solid rgba(0, 212, 255, 0.3);
    border-radius: 12px;
    box-shadow: 
        0 0 20px rgba(0, 212, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
}
.card:hover, .panel:hover {
    box-shadow: 
        0 0 30px var(--cyan-neon),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
/* ============================================
   TABLES - NEON DATA STYLE
   ============================================ */
table {
    width: 100%;
    border-collapse: collapse;
    background: var(--navy-medium);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}
table th {
    background: var(--navy-deepest);
    color: var(--gold-neon);
    font-family: 'Orbitron', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px;
    border-bottom: 2px solid var(--cyan-neon);
}
table td {
    padding: 12px 15px;
    border-bottom: 1px solid rgba(0, 212, 255, 0.2);
    color: var(--text-primary);
}
table tr:hover {
    background: rgba(0, 212, 255, 0.1);
}
/* ============================================
   HIGHLIGHTS & BADGES - NEON STYLE
   ============================================ */
.highlight, .badge {
    background: var(--gradient-gold-cyan);
    color: var(--navy-deepest);
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: 700;
    box-shadow: 0 0 12px var(--gold-neon);
}
/* ============================================
   CODE BLOCKS - TERMINAL STYLE
   ============================================ */
pre, code {
    background: var(--navy-deepest);
    border: 2px solid var(--gold-neon);
    border-radius: 8px;
    padding: 15px;
    color: var(--cyan-neon);
    font-family: 'Roboto Mono', monospace;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}
pre {
    overflow-x: auto;
}
code {
    display: inline-block;
    padding: 2px 6px;
    font-size: 0.9em;
}
/* ============================================
   FORM ELEMENTS - NEON INPUTS
   ============================================ */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    background: rgba(0, 18, 51, 0.8);
    border: 2px solid var(--navy-medium);
    color: var(--text-primary);
    padding: 12px;
    border-radius: 6px;
    font-family: 'Roboto Mono', monospace;
    transition: all 0.3s ease;
}
input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--cyan-neon);
    box-shadow: 
        0 0 15px rgba(0, 212, 255, 0.4),
        inset 0 0 5px rgba(0, 212, 255, 0.2);
}
/* ============================================
   ANIMATIONS - FLOAT & PULSE
   ============================================ */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
@keyframes pulse-glow {
    0%, 100% { 
        box-shadow: 0 0 20px var(--gold-neon);
    }
    50% { 
        box-shadow: 0 0 35px var(--cyan-neon), 0 0 50px var(--magenta-neon);
    }
}
/* ============================================
   RESPONSIVE DESIGN
   ============================================ */
@media (min-width: 768px) and (max-width: 979px) {
    .logo { margin: 25px 0; }
}
@media (min-width: 480px) and (max-width: 767px) {
    .logo { margin: 24px 0; }
}
@media (min-width: 320px) and (max-width: 479px) {
    .logo { margin: 10px 0; }
}
@media only screen and (min-width: 320px) and (max-width: 480px) {
    .logo { margin: 20px 0; }
    
    h1 { font-size: 1.8em !important; }
    h2 { font-size: 1.5em !important; }
}
/* ============================================
   CHAMILO-SPECIFIC FIXES - CRITICAL!
   ============================================ */
/* Footer positioning fix */
body > main footer.footer {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
}
/* Learning Path text color override - NEON THEME */
body[class*="lp"] *,
#lp_content * {
    color: var(--text-primary) !important;
}
body[class*="lp"] a {
    color: var(--cyan-neon) !important;
}
body[class*="lp"] a:hover {
    color: var(--gold-neon) !important;
}
/* EMERGENCY FIX - Prevent black overlay on lesson content */
#learning_path_right_zone,
#wrapper-iframe,
iframe[name="content_name"],
.content_iframe,
.course_content_wrapper {
    background: white !important;
    filter: none !important;
}
/* Additional safeguard for nested iframes */
iframe {
    background: white !important;
}
iframe:hover {
    background: white !important;
}
/* ============================================
   UTILITY CLASSES - NEON EFFECTS
   ============================================ */
.neon-text-gold {
    color: var(--gold-neon);
    text-shadow: 0 0 10px var(--gold-neon), 0 0 20px var(--cyan-neon);
}
.neon-text-cyan {
    color: var(--cyan-neon);
    text-shadow: 0 0 10px var(--cyan-neon), 0 0 20px var(--magenta-neon);
}
.neon-border-gold {
    border: 2px solid var(--gold-neon);
    box-shadow: 0 0 15px var(--gold-neon);
}
.neon-border-cyan {
    border: 2px solid var(--cyan-neon);
    box-shadow: 0 0 15px var(--cyan-neon);
}
.gradient-text-gold-cyan {
    background: var(--gradient-gold-cyan);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ============================================
   WHITE FILM OVERRIDE - CRITICAL!
   ============================================ */
/* Force dark backgrounds on ALL containers */
body, 
#wrapper-iframe, #learning_path_right_zone,
.content_iframe, .course_content_wrapper,
#lp_content, .lp-content-wrapper,
footer.bgfooter, footer.footer {
    background: var(--navy-deepest) !important;
    background-color: var(--navy-deepest) !important;
}
/* Override ANY white overlays */
div[style*="background:white"], 
div[style*="background:#ffffff"],
div[style*="background: rgb(255"] {
    background: var(--navy-deepest) !important;
}
/* Footer must be dark with readable text */
footer.bgfooter, footer.footer {
    background: var(--navy-deepest) !important;
    color: #c0c0cc !important;
}

