/* Subconjunto de Bootstrap 5 y complementos usados por la cabecera, el menú y el pie de ACC
   (se evita cargar Bootstrap completo para no alterar los controles DevExpress de SIDCAR). */

.container-fluid { width: 100%; padding-right: .75rem; padding-left: .75rem; margin-right: auto; margin-left: auto; box-sizing: border-box; }
.d-flex { display: flex !important; }
.d-none { display: none !important; }
.align-items-center { align-items: center !important; }
.mt-5 { margin-top: 3rem !important; }
.border-none { border: none !important; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@media (min-width: 768px) { .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } }
@media (min-width: 992px) { .d-lg-none { display: none !important; } }

/* Navbar */
.navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .5rem 0; box-sizing: border-box; }
.navbar > .container-fluid { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }
.navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin: 0; list-style: none; }
.navbar-nav .nav-link { display: block; text-decoration: none; }
.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.navbar-toggler { padding: .25rem .75rem; background: transparent; border: 1px solid rgba(0, 0, 0, .15); border-radius: .375rem; cursor: pointer; }
@media (min-width: 992px) {
    .navbar-expand-lg { flex-wrap: nowrap; justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav { flex-direction: row; }
    .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
}
.dropdown { position: relative; }
.dropdown-menu { position: absolute; z-index: 1000; display: none; min-width: 10rem; padding: .5rem 0; margin: 0; list-style: none; background-color: #fff; }
.dropdown-item { display: block; width: 100%; padding: .25rem 1rem; color: #212529; text-decoration: none; white-space: nowrap; box-sizing: border-box; }
.menu-govco a, .pie-pagina-govco a { text-decoration: none; }
.pie-pagina-govco .end-links-container a, .pie-pagina-govco .contact-data-container a { text-decoration: underline; }

/* Barra de accesibilidad lateral (réplica de .acc-accessibility-bar) */
.acc-accessibility-bar { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 1050; height: auto; }
.acc-accessibility-bar button { cursor: pointer; }
.acc-accessibility-bar button:focus-visible { outline: 3px solid #ffdd00; outline-offset: -3px; }
html.acc-contraste { filter: contrast(1.6) grayscale(1); }

/* Botón de WhatsApp (réplica de .btn-whatsapp) */
.btn-whatsapp { position: fixed; width: 4rem; height: 4rem; z-index: 30; bottom: 2rem; right: 4.5rem; cursor: pointer; background: #28a745; border-radius: 1rem; display: flex; justify-content: center; align-items: center; box-shadow: 7px 7px 15px -1px rgba(0, 0, 0, .33); }
.btn-whatsapp a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 1rem; }
.btn-whatsapp a:focus-visible { outline: 3px solid #ffdd00; outline-offset: 2px; }

/* Migas de pan */
.gc-miga { max-width: 960px; margin: 1rem auto 0; padding: 0 1rem; font-family: 'Verdana-Regular', Verdana, sans-serif; font-size: .875rem; }
.gc-miga ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.gc-miga li + li::before { content: ">"; margin-right: .5rem; color: #4c4c4c; }
.gc-miga a { color: #0943b5; text-decoration: underline; }
.gc-miga [aria-current="page"] { color: #1a1a1a; font-weight: 700; }
