/* ==========================================================================
   1. Variables de diseño
   ========================================================================== */

:root {
  /* Paleta corporativa */
  --color-primary:        #0075BD;
  --color-primary-hover:  #118ad5;
  --color-secondary:      #ecbd13;
  --color-dark:           #212529;
  --color-muted:          #999999; /* Gris — hover de botón primario */
  --color-white:          #ffffff;
  --color-primary-tint:   #E0EEF7;

  /* Cabecera */
  --header-min-height: 90px;
  --logo-height: 70px;

  /* Carrusel */
  --slider-height: 540px;
}


/* ==========================================================================
   2. Cabecera y logo
   ========================================================================== */

header,
header .container {
  min-height: var(--header-min-height);
  display: flex;
  align-items: center;
}

header .logo {
  position: static; /* dejamos que flex lo centre */
  height: var(--logo-height);
  width: auto;
}

/* Imagen decorativa de cabecera oculta en pantallas pequeñas */
@media screen and (max-width: 1007px) {
  header .container {
    background-image: none;
  }
}


/* ==========================================================================
   3. Enlaces
   ========================================================================== */

a,
footer a {
  color: var(--color-primary);
}

.panel-inicio a:hover,
.panel-inicio a:focus,
footer a:hover,
footer a:focus {
  color: var(--color-primary);
  text-decoration: underline;
}


/* ==========================================================================
   4. Botones
   ========================================================================== */

.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-primary.disabled,
.btn-primary:disabled {
  opacity: 0.7;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: var(--color-white);
  background-color: var(--color-muted);
  border-color: var(--color-muted);
}


/* ==========================================================================
   5. Navegación
   ========================================================================== */

/* --- Menú principal: estado activo / abierto ----------------------------- */
.navbar-light .navbar-nav .nav-link {
  color: var(--color-dark);
  transition: color 0.15s, box-shadow 0.15s;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
  background-color: transparent;
  color: var(--color-primary);
  box-shadow: inset 0 -3px 0 var(--color-primary);
}

/* --- Items de dropdown: hover / focus ------------------------------------ */
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--color-secondary);
}

/* Excepción: dropdowns del menú principal usan un resaltado granate suave
   (en lugar del fondo oscuro general definido arriba), coherente con el
   subrayado granate del menú padre. */
#navbarSupportedContent .dropdown-item:hover,
#navbarSupportedContent .dropdown-item:focus {
  background-color: var(--color-primary-tint);
  color: var(--color-primary);
}

/* --- Nav pills (pestañas tipo pill) -------------------------------------- */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link,
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  background-color: var(--color-secondary);
}

/* --- Menú lateral: paso actual ------------------------------------------- */
.sidebar-list li a.currentStep {
  background-color: var(--color-secondary);
}

/* --- Selector de idioma en zona de login --------------------------------- */
.nav-idioma-login ul li ul li a:hover {
  color: var(--color-white);
}


/* ==========================================================================
   6. Carrusel
   ========================================================================== */

.slider {
  position: relative; /* ancla los controles */
}

.carousel-item {
  min-height: var(--slider-height);
  background-size: cover;
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% + 27px)); /* navbar tiene una altura por defecto de 54px */
  height: 48px;
  bottom: auto;
  max-height: none;
  width: 6%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 48px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  background-size: 50% 50%;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-color 0.2s;
}

.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon,
.carousel-control-prev:focus .carousel-control-prev-icon,
.carousel-control-next:focus .carousel-control-next-icon {
  background-color: rgba(0, 0, 0, 0.75);
}


/* ==========================================================================
   7. Jumbotron de inicio
   ========================================================================== */

.jumbotron.inicio {
  padding: 0px !important;   /* !important necesario para sobreescribir Bootstrap */
  min-height: 500px;
}

/* Contenido textual oculto visualmente (se conserva en el DOM) */
.jumbotron.inicio .container {
  visibility: hidden;
}


/* ==========================================================================
   8. Action bar (barra superior de acciones)
   ========================================================================== */

.action-bar {
  background-color: var(--color-primary);
}

.action-bar a:link,
.action-bar a:visited {
  color: var(--color-white);
  opacity: 0.9;
  text-decoration: none;
  transition: opacity 0.15s ease-in-out;
}

.action-bar a:hover,
.action-bar a:focus-visible,
.action-bar a:active {
  color: var(--color-white);
  opacity: 1;
}

.action-bar a:focus-visible {
  text-decoration: underline;
}

/* Suprimir el outline azul del navegador al clicar con ratón;
   mantenemos el subrayado como indicador en hover y en focus por teclado. */
.action-bar a:focus:not(:focus-visible) {
  outline: none;
}

/* Dropdowns dentro de la action bar (login e idiomas):
   fondo blanco, texto oscuro, hover granate suave, sin subrayados. */
#ActionBar_liIniciarSesion .dropdown-item,
#ActionBar_panelIdiomas .dropdown-item {
  background-color: var(--color-white);
  color: var(--color-dark);
  text-decoration: none;
}

#ActionBar_liIniciarSesion .dropdown-item:hover,
#ActionBar_liIniciarSesion .dropdown-item:focus,
#ActionBar_panelIdiomas .dropdown-item:hover,
#ActionBar_panelIdiomas .dropdown-item:focus {
  background-color: var(--color-primary-tint);
  color: var(--color-primary);
  text-decoration: none;
}


/* ==========================================================================
   9. Pie de página
   ========================================================================== */

footer .logo-pie {
  width: 80%;
  height: auto;
}

footer .calendario .calendar {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

footer .calendario .calendar th {
  padding: 0.4rem 0 0.6rem;
  text-align: center;
  font-weight: 600;
  color: var(--color-secondary);
  text-transform: capitalize;
  font-size: 0.9rem;
}

footer .calendario .calendar td {
  text-align: center;
  padding: 0.3rem 0;
  font-size: 0.85rem;
  width: 14.28%;
}

footer .calendario .calendar .cal-empty {
  color: transparent;
}

footer .calendar .cal-today {
  color: var(--color-primary);
  font-weight: 700;
  background-color: var(--color-primary-tint);
  border-radius: 4px;
}


/* ==========================================================================
   10. Validaciones
   ========================================================================== */

.validation-summary-errors {
  border-left: 5px solid var(--color-secondary);
}


/* ==========================================================================
   11. Títulos de panel
   ========================================================================== */

/* Títulos de los paneles de inicio y del pie */
.panel-inicio h5,
footer h5 {
  font-weight: 600;
  color: var(--color-secondary);
  margin-bottom: 0.4rem;
}

.panel-inicio h5 .glyphicon,
footer h5 .glyphicon {
  margin-right: 0.5rem;
  color: var(--color-primary);
}

/* Reaprovechamos el <hr> existente como barra de marca */
.panel-inicio hr,
footer hr {
  height: 3px;
  width: 40px;
  background-color: var(--color-primary);
  border: none;
  border-top: none; /* Bootstrap aplica border-top por defecto */
  opacity: 1;
  margin: 0 0 1rem 0;
}

.panel-inicio-sin-datos .sin-datos-panel {
  color: var(--color-primary);
  opacity: 0.22;
}

.panel-inicio-sin-datos {
  text-align: center;
  padding: 1rem 0;
}


/* ==========================================================================
   12. Portal Orienta
   ========================================================================== */

#cphPagina_panelPortalOrienta > div {
  position: relative !important;
  padding: 60px 20px !important;
  overflow: hidden;
}

#cphPagina_panelPortalOrienta > div::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}

#cphPagina_panelPortalOrienta > div > * {
  position: relative;
  z-index: 2;
}

#cphPagina_panelPortalOrienta .btn-primary {
  margin-top: 1rem;
  padding: 0.6rem 2rem;
}