/* ---- Estructura de la Página de Clases ---- */
.classes-container {
    padding: 15vh 5%;
    background: url(../images/bg/2.png) top/cover no-repeat;
    font-family: 'Maron Rose', sans-serif;
}

.classes-header {
    text-align: center;
    margin-bottom: 8vh;
}

.classes-header h1 {
    font-size: 7vh;
    color: rgb(237, 224, 203);
    text-shadow: 0vh 1vh 2vh rgba(0, 0, 0, 0.4);
}

.classes-header p {
    font-size: 2.2vh;
    color: #b0a99a;
}

.classes-grid {
    display: grid;
    /* Crea columnas que se ajustan automáticamente al tamaño de la pantalla */
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 30px;
}

/* ---- Estilo de la Tarjeta de Clase (Adaptado de Wiki/Roadmap) ---- */
.class-card {
    background-color: rgba(20, 16, 11, 0.75);
    border: 1px solid rgba(116, 109, 85, 0.5);
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.class-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(199, 177, 134, 0.2);
}

.class-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(116, 109, 85, 0.3);
}

.class-icon {
    width: 50px;
    height: 50px;
    margin-right: 20px;
    border-radius: 50%;
    border: 2px solid #c7b18a;
}

.class-card h3 {
    font-size: 3vh;
    color: #f5deb3;
}

.class-description {
    font-size: 1.8vh;
    color: #b0a99a;
    line-height: 1.6;
    margin-bottom: 25px;
}

/* ---- Estilos para las Barras de Rendimiento ---- */
.class-stats {
    padding-top: 15px;
}

.stat-bar-container {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.stat-label {
    width: 150px; /* Ancho fijo para alinear las etiquetas */
    color: #d1c9bd;
    font-size: 1.7vh;
}

.stat-bar-outer {
    flex: 1; /* Ocupa el espacio restante */
    height: 18px;
    background-color: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(116, 109, 85, 0.2);
    border-radius: 5px;
    overflow: hidden;
}

.stat-bar-inner {
    height: 100%;
    width: 0%; /* El JS establecerá el ancho */
    border-radius: 3px;
    /* Transición suave para el ancho y el color */
    transition: width 1s ease-out, background-color 0.5s ease;
}

/* ---- Paleta de Colores para las Barras (10 niveles) ---- */
/* 0-10% */
.bar-color-1 { background: linear-gradient(90deg, #7d7dff, #ff7dff); }
/* 11-20% */
.bar-color-2 { background: linear-gradient(90deg, #ff7dff, #ff00ff); }
/* 21-30% */
.bar-color-3 { background: linear-gradient(90deg, #ff00ff, #0000ff); }
/* 31-40% */
.bar-color-4 { background: linear-gradient(90deg, #0000ff, #007dff); }
/* 41-50% */
.bar-color-5 { background: linear-gradient(90deg, #007dff, #00ffff); }
/* 51-60% */
.bar-color-6 { background: linear-gradient(90deg, #00ffff, #00ff00); }
/* 61-70% */
.bar-color-7 { background: linear-gradient(90deg, #00ff00, #7dff00); }
/* 71-80% */
.bar-color-8 { background: linear-gradient(90deg, #7dff00, #ffff00); }
/* 81-90% */
.bar-color-9 { background: linear-gradient(90deg, #ffff00, #fe7d00); }
/* 91-100% */
.bar-color-10 { background: linear-gradient(90deg, #fe7d00, #fc0000); }

/* ---- Estilos para los Filtros de Clases ---- */
.classes-filters {
    text-align: center;
    margin-bottom: 6vh;
    display: flex;
    flex-wrap: wrap; /* Permite que los botones pasen a la siguiente línea si no caben */
    justify-content: center;
    gap: 10px; /* Espacio entre botones */
}

.filter-btn {
    background: transparent;
    border: 2px solid rgba(138, 131, 112, 0.7);
    color: rgba(255, 255, 255, 0.7);
    padding: 10px 20px;
    font-family: 'Maron Rose', sans-serif;
    font-size: 1.8vh;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 5px;
}

.filter-btn:hover {
    background-color: rgba(138, 131, 112, 0.5);
    color: white;
}

/* Estilo para los botones activos */
.filter-btn.active {
    background-color: rgba(199, 177, 134, 0.9);
    border-color: #f5deb3;
    color: white;
    box-shadow: 0 0 15px rgba(255, 198, 52, 0.5);
}