/*
 * Formación Custom — estilos del frontend
 *
 * Antes cada shortcode imprimía su propio bloque <style> repetido en
 * cada uso (varias veces por página si usabas varios shortcodes).
 * Ahora vive todo aquí, cargado una sola vez por página con
 * wp_enqueue_style().
 */

/* Breadcrumb (apuntes y recursos) */
.fp-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    font-size: 0.9rem;
    margin-bottom: 20px;
    background: #f5f5f5;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
}
.fp-breadcrumb a {
    text-decoration: none;
    color: #0073aa;
}
.fp-breadcrumb span {
    color: #555;
}

/* Bloques de listado genéricos: fp_recursos, fp_examenes, fp_tests,
   fp_ejercicios, fp_practicas, fp_apuntes, fp_ultimos_recursos,
   fp_relacionados, resultados de fp_buscar */
.fp-bloque {
    margin: 2em 0;
    padding: 1.5em;
    background: #fafafa;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.fp-titulo {
    font-size: 1.5em;
    font-weight: 600;
    border-bottom: 2px solid #0073aa;
    padding-bottom: .4em;
    margin-bottom: 1.2em;
    color: #222;
}
.fp-listado {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .5em;
}
.fp-item {
    padding: .8em 1em;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    transition: all .2s ease;
}
.fp-item:hover {
    background: #f3faff;
    border-color: #0073aa;
}
.fp-link {
    text-decoration: none;
    color: #0073aa;
    font-weight: 500;
    display: block;
}
.fp-nombre {
    display: inline-block;
}

/* fp_lista_estudios / fp_asignaturas */
.fp-lista-estudios,
.fp-lista-asignaturas {
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .4em;
}
.fp-lista-estudios li,
.fp-lista-asignaturas li {
    padding: .6em 1em;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
}
.fp-lista-estudios a,
.fp-lista-asignaturas a {
    text-decoration: none;
    color: #0073aa;
    font-weight: 500;
}
.fp-grupo-curso { margin-bottom: 1.5em; }
.fp-titulo-curso {
    font-size: 1.1em;
    font-weight: 600;
    color: #333;
    margin-bottom: .5em;
}

/* fp_navegacion_temas */
.fp-nav-temas {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    margin: 2em 0;
    padding: 1em;
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
}
.fp-nav-temas a {
    text-decoration: none;
    color: #0073aa;
    font-weight: 600;
    max-width: 48%;
}
.fp-nav-siguiente { text-align: right; margin-left: auto; }

/* fp_buscar */
.fp-buscar-form {
    display: flex;
    gap: .5em;
    margin-bottom: 1.2em;
}
.fp-buscar-input {
    flex: 1;
    padding: .6em .8em;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1em;
}
.fp-buscar-boton {
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: .6em 1.4em;
    cursor: pointer;
}
.fp-buscar-resultados p { color: #555; }

/* Tests interactivos (fp_test) */
.fp-test-widget { margin: 1.5em 0; }
.fp-test-pregunta {
    background: #fafafa;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    padding: 1em 1.2em;
    margin-bottom: 1em;
}
.fp-test-enunciado { font-weight: 600; margin-bottom: .6em; }
.fp-test-opcion { display: block; margin-bottom: .4em; cursor: pointer; }
.fp-test-opcion.fp-correcta { color: #1a7d1a; font-weight: 600; }
.fp-test-opcion.fp-incorrecta { color: #a00; text-decoration: line-through; }
.fp-test-comprobar, .fp-test-enviar {
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: .5em 1.2em;
    cursor: pointer;
    margin-top: .5em;
}
.fp-test-comprobar:disabled, .fp-test-enviar:disabled { opacity: .5; cursor: default; }
.fp-test-feedback { margin-top: .6em; font-size: .95em; }
.fp-test-feedback div + div { margin-top: .3em; font-weight: normal; }
.fp-test-feedback.fp-ok { color: #1a7d1a; }
.fp-test-feedback.fp-ko { color: #a00; }
.fp-test-resultado {
    background: #eef6ff;
    border: 1px solid #b6d9f5;
    border-radius: 8px;
    padding: 1em;
    margin-bottom: 1em;
    font-weight: 600;
    font-size: 1.1em;
}
