/* Identidad pública de Educación, inspirada en minedu.gob.bo y presidencia.gob.bo.
   Capa final: no cambia los colores semánticos de errores, avisos o disponibilidad. */
:root {
    --educacion-oliva: #424740;
    --educacion-oliva-hover: #5c6359;
    --educacion-dorado: #c5a04f;
    --educacion-tinta: #343a40;
    --educacion-texto: #545b52;
    --educacion-papel: #f7f8f5;
    --educacion-borde: #dfe3d9;
    --bs-primary: #424740;
    --bs-primary-rgb: 66, 71, 64;
    --bs-link-color: #424740;
    --bs-link-hover-color: #5c6359;
}
body { background: var(--educacion-papel); color: var(--educacion-tinta); }
a { color: var(--educacion-oliva); }
a:hover { color: var(--educacion-oliva-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
    outline: 3px solid var(--educacion-oliva-hover);
    outline-offset: 4px;
}
.header { background: #fff; padding: 18px 0; box-shadow: none; border-bottom: 1px solid var(--educacion-borde); }
.header .logo img { max-width: 100%; max-height: 96px; width: auto; object-fit: contain; }
.primary-menu > li > a { color: var(--educacion-oliva); font-weight: 600; }
.primary-menu > li > a:hover, .primary-menu > li > a:focus-visible { color: var(--educacion-oliva-hover); box-shadow: inset 0 -3px var(--educacion-dorado); }
.menu-icons a, .search-box a, .menu-icons .user-dropdown > a { color: var(--educacion-oliva); }
.menu-toggler .bar, .menu-toggler .bar::before, .menu-toggler .bar::after { background: var(--educacion-oliva); }
.educacion-identidad { position: relative; background: #fff; padding: 26px 0 30px; border-bottom: 1px solid var(--educacion-borde); }
.educacion-identidad::before { content: ""; position: absolute; top: 0; inset-inline: 0; height: 4px; background: linear-gradient(to right, #a51d2d 0 33.333%, #efc147 33.333% 66.666%, #175b3b 66.666%); }
.educacion-nombre { color: var(--educacion-oliva); font-size: clamp(25px, 3vw, 36px); font-weight: 700; line-height: 1.2; margin: 0 0 7px; letter-spacing: -.025em; }
.educacion-proposito { color: var(--educacion-texto); font-size: 15px; line-height: 1.6; margin: 0; }
.educacion-buscador { padding: 30px 0; background: #fff; border-bottom: 1px solid var(--educacion-borde); }
.educacion-buscador h1 { color: var(--educacion-oliva); font-size: clamp(21px, 2.5vw, 28px); font-weight: 600; margin-bottom: 18px; }
.educacion-buscador form { max-width: 800px; }
.educacion-buscador label { display: block; color: var(--educacion-texto); font-size: 14px; margin-bottom: 8px; }
.educacion-busqueda-campos { display: flex; gap: 12px; }
.educacion-busqueda-campos input { min-width: 0; background: #fff; font-size: 16px; }
.educacion-busqueda-campos .btn { flex-shrink: 0; padding: 12px 24px; border-radius: 4px; }
.educacion-explorar { display: inline-block; margin-top: 16px; text-decoration: underline; text-underline-offset: 4px; font-size: 14px; }
@media (max-width: 575.98px) {
    .educacion-buscador { padding: 24px 0; }
    .educacion-busqueda-campos { flex-direction: column; }
    .educacion-busqueda-campos .btn { width: 100%; }
}
.home-book-carousel { margin-top: 28px; }
.home-book-carousel .book:is(.green-bg, .purple-bg, .blue-bg, .burgundy-bg, .beige-bg, .pink-bg) { background: #f0f1ee !important; color: var(--educacion-tinta); border-top: 3px solid var(--educacion-dorado); }
.home-book-carousel .book .book-title a { color: var(--educacion-oliva); }
.home-book-carousel .book .book-attr, .home-book-carousel .book .book-short-description { color: var(--educacion-texto); }
.section-title h1, .section-title h2, .section-title h3 { color: var(--educacion-oliva); font-weight: 700; border-inline-start: 4px solid var(--educacion-dorado); padding-inline-start: 13px; }
.home-book-list .book-list .book, .books-listing .book-list .book, .books-listing .book-grid .book { background: #fff; border: 1px solid var(--educacion-borde); box-shadow: 0 3px 12px rgb(66 71 64 / 4%); }
.book .book-title a, .single-book h1, .mini-list-authors .author-name a { color: var(--educacion-oliva); }
.book .book-title a:hover, .mini-list-authors .author-name a:hover { color: var(--educacion-oliva-hover); text-decoration: underline; text-underline-offset: 3px; }
.btn-primary, .btn-primary:disabled, .btn-primary.disabled {
    --bs-btn-bg: var(--educacion-oliva);
    --bs-btn-border-color: var(--educacion-oliva);
    --bs-btn-hover-bg: var(--educacion-oliva-hover);
    --bs-btn-hover-border-color: var(--educacion-oliva-hover);
    --bs-btn-active-bg: var(--educacion-oliva-hover);
    --bs-btn-active-border-color: var(--educacion-oliva-hover);
    background: var(--educacion-oliva); border-color: var(--educacion-oliva); color: #fff; box-shadow: none;
}
.btn-primary:hover, .btn-primary:focus-visible, .btn-primary:active { background: var(--educacion-oliva-hover); border-color: var(--educacion-oliva-hover); color: #fff; }
.page-item .page-link { color: var(--educacion-oliva); background: #fff; box-shadow: none; border: 1px solid var(--educacion-borde); }
.page-item.active .page-link, .page-item .page-link:hover { color: #fff; background: var(--educacion-oliva); border-color: var(--educacion-oliva); box-shadow: none; }
.dropdown-menu .dropdown-item.active, .dropdown-menu .dropdown-item:active { background: var(--educacion-oliva); color: #fff; }
.dropdown-menu .dropdown-item:hover { background: #f0f1ee; color: var(--educacion-oliva); }
.form-control:focus, .form-select:focus { border-color: var(--educacion-oliva-hover); box-shadow: 0 0 0 3px rgb(92 99 89 / 15%); }
.footer { height: auto; min-height: 60px; background: var(--educacion-oliva); color: #fff; border-top: 3px solid var(--educacion-dorado); }
.footer p, .footer a { color: #fff; }
.footer p { margin: 0; font-size: 14px; line-height: 1.6; }
button.back-to-top.show { background: var(--educacion-oliva); border-color: var(--educacion-dorado); color: #fff; }
@media (max-width: 991.98px) {
    .header { padding: 12px 0; }
    .header .logo img { max-height: 72px; }
    .educacion-identidad { padding: 22px 0; }
    .primary-menu > li > a { padding-block: 12px; }
}
@media (max-width: 575.98px) {
    .educacion-proposito { font-size: 13px; }
}

/* El menú contiene nodos sin clase y hereda blanco del tema original. */
.header .navbar-nav.primary-menu > li > a { color: var(--educacion-oliva); opacity: 1; }
.header .navbar-nav.primary-menu > li > a:hover { color: var(--educacion-oliva-hover); }
.home-book-carousel .book .book-author, .home-book-carousel .book .book-publishing-year { color: var(--educacion-texto); }
.home-book-list .book-list .book .book-title a, .books-listing .book-list .book .book-title a, .books-listing .book-grid .book .book-title a { color: var(--educacion-oliva); }
.home-book-list .book-list .book .book-attr, .home-book-list .book-list .book .book-short-description, .books-listing .book .book-attr { color: var(--educacion-texto); }
/* Archivo institucional completo: proporción, letras y colores originales. */
.educacion-marca { display: inline-block; width: 270px; max-width: 100%; vertical-align: middle; }
.header .logo > a { display: block; }
.header .educacion-marca { width: 100%; max-width: 270px; }
.educacion-marca img, .header .logo .educacion-marca img {
    display: block; width: 100%; height: auto; max-width: 100%; max-height: none; object-fit: contain;
}
.educacion-marca-acceso { margin: 8px auto 24px; padding: 12px; background: #fff; border-radius: 4px; text-align: center; }
@media (max-width: 575.98px) {
    .header .educacion-marca { max-width: 180px; }
}

.educacion-documento { margin-top: 24px; padding: 16px; background: #f0f1ee; border-inline-start: 3px solid var(--educacion-dorado); text-align: start; }
.educacion-documento p { font-size: 13px; line-height: 1.6; margin: 0 0 12px; color: var(--educacion-texto); }
.educacion-documento .educacion-documento-estado { font-size: 15px; font-weight: 600; color: var(--educacion-oliva); }
.educacion-documento .educacion-leer { display: block; white-space: normal; }
.educacion-documento .educacion-descargar { display: block; margin-top: 12px; text-decoration: underline; text-underline-offset: 3px; font-size: 13px; }
