:root {
    --primary-dark: #1e3a5f;
    --primary-blue: #0194F2;
    --accent-green: #01F78A;
    --accent-purple: #8E3EBD;
}

body { 
    font-family: 'Segoe UI', Roboto, sans-serif; 
    background-color: #f5f7fa; 
}

/* Navbar */
.navbar-custom { 
    background: linear-gradient(135deg, #1e3a5f 0%, #2d5a87 100%); 
    box-shadow: 0 4px 15px rgba(0,0,0,0.15); 
}

/* Logo 3 colores */
.logo-text {
    background: linear-gradient(90deg, #1A00FF 0%, #00E5FF 25%, #FFE600 50%, #FF1744 75%, #D500F9 100%);
    background-size: 100% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.5rem;
}

/* Botones de Navegación (Inicio y Mi Curso) */
/* Botón Inicio */
.btn-nav-inicio {
    background-color: #1fa39497;
    color: #fff !important;
    font-weight: bold;
    border: none;
    padding: 10px 25px;
    border-radius: 8px;
    transition: all 0.3s;
    text-decoration: none;
}

.btn-nav-inicio:hover {
    background-color: #d636c9;
    color: #fff !important;
    transform: translateY(-2px);
}

.btn-nav-curso {
    background-color: var(--primary-blue);
    color: #fff !important;
    font-weight: bold;
    border: none;
    padding: 10px 25px;
    border-radius: 8px;
    transition: all 0.3s;
    text-decoration: none;
}
.btn-nav-curso:hover {
    background-color: #6e01c2;
    color: #fff !important;
    transform: translateY(-2px);
}

/* Botón Manual de Usuario (naranja) */
.btn-nav-manual {
    background-color: #f7820e;
    color: #fff !important;
    font-weight: bold;
    border: none;
    padding: 10px 25px;
    border-radius: 8px;
    transition: all 0.3s;
    text-decoration: none;
}
.btn-nav-manual:hover {
    background-color: #d96c00;
    color: #fff !important;
    transform: translateY(-2px);
}

/* Dropdown Hover */
.nav-dropdown {
    position: relative;
}

.nav-dropdown:hover > .dropdown-menu { 
    display: block; 
    margin-top: 0; 
    animation: fadeIn 0.3s; 
}

@keyframes fadeIn { 
    from { opacity: 0; transform: translateY(10px); } 
    to { opacity: 1; transform: translateY(0); } 
}

.dropdown-menu { 
    border: none; 
    border-radius: 12px; 
    box-shadow: 0 15px 35px rgba(0,0,0,0.2); 
    background: #1e3a5f; 
    min-width: 320px; 
}

.dropdown-item { 
    color: #fff; 
    padding: 12px 20px; 
    border-radius: 8px; 
    margin-bottom: 4px; 
    transition: all 0.3s; 
}

.dropdown-item:hover { 
    background: linear-gradient(90deg, var(--accent-green), var(--primary-blue)); 
    color: #fff; 
    transform: translateX(5px); 
}

/* Botones Login y Registro */
.btn-login-custom { 
    background-color: var(--accent-green); 
    color: #000; 
    font-weight: bold; 
    border: none; 
    padding: 10px 25px; 
    border-radius: 8px; 
    transition: all 0.3s; 
}
.btn-login-custom:hover { 
    background-color: #01d677; 
    transform: translateY(-2px); 
}

.btn-register-custom { 
    background-color: var(--accent-purple); 
    color: #fff; 
    font-weight: bold; 
    border: none; 
    padding: 10px 25px; 
    border-radius: 8px; 
    transition: all 0.3s; 
}
.btn-register-custom:hover { 
    background-color: #7a35a3; 
    transform: translateY(-2px); 
}

/* Hero y Título Eléctrico - ANIMACIÓN MÁS LENTA (10 segundos) */
.hero-section {
    background: linear-gradient(rgba(30, 58, 95, 0.9), rgba(30, 58, 95, 0.8)), 
                url('https://images.unsplash.com/photo-1581092918056-0c4c3acd3789?auto=format&fit=crop&w=1920&q=80');
    background-size: cover; 
    background-position: center; 
    min-height: 500px; 
    display: flex; 
    align-items: center;
}

.electric-title {
    background: linear-gradient(90deg, #0194F2, #FFD700, #FF6B35, #01F78A, #0194F2);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: electricFlow 10s linear infinite;
}

@keyframes electricFlow { 
    0% { background-position: 0% 50%; } 
    100% { background-position: 300% 50%; } 
}

/* Botón Comenzar Ahora */
.btn-comenzar { 
    background-color: var(--accent-purple); 
    color: white; 
    border: none; 
    border-radius: 50px; 
    box-shadow: 0 4px 15px rgba(142, 62, 189, 0.4); 
    transition: all 0.3s; 
}
.btn-comenzar:hover { 
    background-color: #7a35a3; 
    color: white; 
    transform: translateY(-3px); 
    box-shadow: 0 8px 25px rgba(142, 62, 189, 0.6); 
}

/* Tarjetas de Módulos */
.module-card { 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
    border-radius: 15px; 
    overflow: hidden; 
}
.module-card:hover { 
    transform: translateY(-10px); 
    box-shadow: 0 15px 30px rgba(0,0,0,0.15) !important; 
}
.module-card img { 
    height: 200px; 
    object-fit: cover; 
}

/* Chatbot */
.chatbot-container { 
    position: fixed; 
    bottom: 30px; 
    right: 30px; 
    z-index: 1050; 
}
.chatbot-toggle { 
    width: 60px; 
    height: 60px; 
    border-radius: 50%; 
    background: linear-gradient(135deg, var(--primary-blue), var(--accent-purple)); 
    color: white; 
    border: none; 
    font-size: 24px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.2); 
    cursor: pointer; 
    transition: transform 0.3s; 
}
.chatbot-toggle:hover { transform: scale(1.1); }
.chatbot-window { 
    position: absolute; 
    bottom: 80px; 
    right: 0; 
    width: 350px; 
    height: 450px; 
    background: white; 
    border-radius: 15px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
    display: flex; 
    flex-direction: column; 
    overflow: hidden; 
    opacity: 0; 
    visibility: hidden; 
    transform: translateY(20px); 
    transition: all 0.3s ease; 
}
.chatbot-window.active { 
    opacity: 1; 
    visibility: visible; 
    transform: translateY(0); 
}
.chatbot-header { 
    background: linear-gradient(135deg, var(--primary-dark), var(--primary-blue)); 
    color: white; 
    padding: 15px; 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}
.chatbot-body { 
    flex: 1; 
    padding: 15px; 
    overflow-y: auto; 
    background: #f8f9fa; 
}
.bot-message { 
    background: white; 
    padding: 10px 15px; 
    border-radius: 15px 15px 15px 0; 
    margin-bottom: 10px; 
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); 
    max-width: 90%; 
    font-size: 0.9rem; 
}
.user-message { 
    background: var(--primary-blue); 
    color: white; 
    padding: 10px 15px; 
    border-radius: 15px 15px 0 15px; 
    margin-bottom: 10px; 
    margin-left: auto; 
    max-width: 90%; 
    font-size: 0.9rem; 
}
.chatbot-input-area { 
    padding: 15px; 
    border-top: 1px solid #eee; 
    display: flex; 
    background: white; 
}

/* Dashboard */
.sidebar-menu { 
    background-color: white; 
    border-radius: 8px; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
    padding: 20px; 
}
.sidebar-menu .list-group-item { 
    border: none; 
    border-left: 4px solid transparent; 
    transition: all 0.2s; 
    cursor: pointer; 
}
.sidebar-menu .list-group-item:hover { 
    background-color: #f5f7fa; 
    border-left: 4px solid var(--accent-purple); 
    color: var(--primary-blue); 
}
.sidebar-menu .list-group-item.active { 
    background-color: var(--primary-blue); 
    color: white; 
    border-left: 4px solid var(--accent-purple); 
}

.module-content { 
    background-color: white; 
    border-radius: 8px; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); 
    padding: 30px; 
    min-height: 500px; 
}