body {
    font-family: Arial, sans-serif;
    margin: 0;
    background-color: #f0f2f5;
    color: #333;
}

header {
    background-color: #003366; /* Azul oscuro */
    color: white;
    padding: 1rem;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

main {
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.group {
    margin-bottom: 0.5rem;
    border-left: 2px solid #e0e0e0;
}

.group-title {
    padding: 0.75rem 1rem;
    cursor: pointer;
    position: relative;
    background-color: #f8f9fa;
    margin: 0;
    font-weight: bold;
    transition: background-color 0.2s;
}

.group-title:hover {
    background-color: #e9ecef;
}

.group-title::before {
    content: '▶';
    margin-right: 10px;
    font-size: 0.8em;
    transition: transform 0.2s;
}

.group-title.active::before {
    transform: rotate(90deg);
}

.group-content {
    padding-left: 1.5rem;
    border-top: 1px solid #eee;
}

/* Estilos por nivel */
.level-1 > .group-title { background-color: #003366; color: white; font-size: 1.5rem; }
.level-1 > .group-title:hover { background-color: #004a99; }
.level-1 > .group-content { border-top-color: #004a99; }

.level-2 > .group-title { background-color: #e3f2fd; font-size: 1.3rem; color: #003366; }
.level-2 > .group-content { padding-left: 2rem; }

.level-3 > .group-title { background-color: #f1f3f5; font-size: 1.1rem; }
.level-3 > .group-content { padding-left: 2.5rem; }

.level-4 > .group-title { background-color: #f8f9fa; font-size: 1rem; font-weight: normal; }
.level-4 > .group-content { border-top: none; padding-top: 1rem; }

.video-gallery {
    display: grid;
    grid-template-columns: 1fr; /* 1 columna por defecto (móvil) */
    gap: 1.5rem;
}

/* 2 columnas para tablets */
@media (min-width: 600px) {
    .video-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 3 columnas para escritorio */
@media (min-width: 900px) {
    .video-gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

.video-card {
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.2s;
}

.video-card:hover {
    transform: translateY(-5px);
}

.video-card a {
    text-decoration: none;
    color: inherit;
}

.video-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.video-info {
    padding: 1rem;
}

.video-info h6 {
    font-size: 1rem; /* Aumentado para mejor legibilidad */
    font-weight: normal;
    margin: 0;
}

.video-info h3 {
    margin: 0;
    font-size: 1.1rem;
}

footer {
    text-align: center;
    padding: 1rem;
    margin-top: 2rem;
    background-color: #333;
    color: white;
}
