/* Generales y Reseteo */
body {
    font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    /* background-color: #f8f9fa; */
    /* background-color: #dbdee1; */
    /* background: linear-gradient(-45deg, #a0a3a7 0%, #dbdee1 100%); */
    /*----------*/
    background: url(../img/fondo_gral.png) fixed;
    background-size: cover;
    /*----------*/
    color: #343a40;
    line-height: 1.5; /* Ligeramente más compacto */
    font-size: 0.95rem; /* Un poco más pequeña la fuente base */
    min-height: 100vh;
    height: auto;
    padding-top: 3rem;
}

.container {
    max-width: 1200px; /* Reducir un poco el ancho máximo */
    /*padding: 15px;*/ /* Menos padding */
    /* background-color: #ffffff; */
    background: url(../img/fondo_libreta.jpg);
    border-radius: 6px; /* Bordes ligeramente menos redondeados */
    margin-top: 25px; /* Menos margen superior */
    margin-bottom: 25px; /* Menos margen inferior */
}
a{
  text-decoration: none !important;
}

h1, h2, h3, h4, h5, h6 {
    color: #216778;
    font-weight: 400;
    margin-bottom: 1rem; /* Menos margen inferior */
}

.modal-title{
    border-bottom: 0rem;
}

h1 {
    font-size: 2.2rem; /* Tamaño más pequeño */
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 0.5rem; /* Menos padding */
    margin-bottom: 1.5rem; /* Menos margen */
}

h2 {
    font-size: 1.6rem; /* Tamaño más pequeño */
    margin-top: 0.4rem;/* Menos margen superior */
    margin-bottom: 1rem; /* Menos margen inferior */
}

/* Botones */
.btn {
    border-radius: 4px; /* Bordes aún más suaves */
    padding: 0.5rem 1rem; /* Reducir padding */
    font-weight: 500; /* Ligeramente menos peso */
    font-size: 0.9rem; /* Fuente más pequeña para botones */
    transition: all 0.2s ease-in-out;
}

.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
}

.btn-primary:hover {
    background-color: #0056b3;
    border-color: #004085;
    transform: translateY(-1px);
}

.btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
}

.btn-secondary:hover {
    background-color: #5a6268;
    border-color: #545b62;
    transform: translateY(-1px);
}

.btn-warning {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #212529;
}

.btn-warning:hover {
    background-color: #e0a800;
    border-color: #d39e00;
}

.btn-danger {
    background-color: #dc3545;
    border-color: #dc3545;
}

.btn-danger:hover {
    background-color: #c82333;
    border-color: #bd2130;
    transform: translateY(-1px);
}

/* .btn-info {
    background-color: #17a2b8;
    border-color: #17a2b8;
} */

.btn-info {
    color: #fff !important;
    background-color: #216778 !important;
    border-color: #216778 !important;
}

.btn-info:hover {
    background-color: #138496;
    /* border-color: #117a8b; */
    transform: translateY(-1px);
}

.btn-outline-info {
    color: #216778;
    border-color: #216778;
    font-size: 0.79rem; /* Un poco más pequeña para este botón */
}

.btn-outline-info:hover {
    background-color: #216778;
    color: #fff;
    border-color: #216778;
}

/* Tablas */
.table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1.5rem; /* Menos margen inferior */
    border-radius: 6px; /* Bordes ligeramente menos redondeados */
    overflow: hidden;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.03); /* Sombra más sutil */
}

.table thead th {
    background-color: #e9ecef;
    color: #495057;
    font-weight: 600;
    padding: 0.75rem 0.75rem; /* Reducir padding */
    border-bottom: 2px solid #dee2e6;
    text-align: left;
    font-size: 0.9rem; /* Fuente más pequeña en encabezado de tabla */
}

.table tbody tr {
    transition: background-color 0.2s ease-in-out;
}

.table tbody tr:hover {
    background-color: #f1f3f5;
}

.table tbody td {
    padding: 0.45rem 0.5rem; /* Reducir padding */
    border-bottom: 1px solid #e9ecef;
    vertical-align: middle;
    font-size: 0.95rem; /* Fuente más pequeña en celdas */
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: #fcfdfe;
}


/* Listas dentro de acordeón (para cuadros) */
.list-group-item {
    border-color: #e9ecef;
    padding: 0.5rem 0.8rem; /* Reducir padding */
    font-size: 0.85rem; /* Fuente más pequeña */
    transition: background-color 0.2s ease-in-out;
}

.list-group-item.active {
  color: #fff;
  background-color: #216778  !important;
  border-color: #216778  !important;
}

.list-group-item:hover {
    background-color: #f8f9fa;
}

/* Separadores */
hr {
    border-top: 1px solid #777;
    margin-top: 0.5rem; /* Menos margen */
    margin-bottom: 0.5rem; /* Menos margen */
}


/* Añade esto al final de tu custom.css si quieres un borde o sombra extra sutil en la barra lateral */
.list-group {
    border-radius: 6px;
    overflow: hidden; /* Asegura que el border-radius se aplique a los hijos */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02); /* Sombra sutil para la barra lateral */
}
.list-group li{
    font-size: 1rem;
}

.list-group-item {
    border-color: #ddd; /* Mantener el borde entre ítems */
}

.list-group-item.active {
    z-index: 2; /* Para que el ítem activo no quede por debajo del borde de los vecinos */
    color: #fff;
    background-color: #216778 ;
    border-color: #216778 ;
}

/* Estilo para la lista de cuadros dentro de un tema */
.list-group-flush .list-group-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    padding-left: 0.5rem; /* Un poco de indentación */
    padding-right: 0.5rem;
}

.list-group-flush .list-group-item:first-child {
    border-top: 0;
}
.list-group-flush .list-group-item:last-child {
    border-bottom: 0;
}
.descripcion-capitulo{
    border: solid 1px bee5eb;
    border-radius: 10px;
    padding: 1rem;
    color: #0c5460;
    background-color: #d1ecf1;
    text-align: justify;
    
}
.descripcion-capitulo h4{
    margin-bottom: 0rem;
}

/* Asegura que el logo se vea bien en la sección de presentación */
.presentation-section img {
    border-radius: 8px; /* Opcional: bordes redondeados para el logo */
    /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); */
}

/* Pequeño ajuste para el texto principal de los capítulos */
.lead {
    font-size: 1.1rem;
    color: #555;
    margin-bottom: 2rem;
}

/*detalle de estilo al contenedor del logo*/
.logo {    
    display: flex;
    justify-content: end;
    padding-right: 0px;
    height: 100%;
}
.presentacion{
    border-left: solid 1px #216778;
    padding-left: 1rem;
    padding-right: 1rem;
}

/*modal simbologia*/

.simbologia .principal{
    margin-top: 8%;
    padding: 10px;
    border-radius: 10px;
    min-height: 50%;
    /* background: url(img/fondo_libreta.jpg);
    background-repeat: repeat-y; */
  }
  .simbologia h4{
    color: #17a2b8;

  }

  .simbologia h4 b{
    font-size: 28px;
  }
  .simbologia .alert-success{
    background-color: #17a2b8;
    color: white;
  }
  .simbologia .texto-alert{
    color: white;
  }
  .simbologia .alert{
    border-color: #17a2b8;
  }
  .simbologia small{
    color: #17a2b8;
  }
  .simbologia .hr-md{
    max-width: 70%;
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .simbologia .color-m{
    color: #2f6166;
  }
  .simbologia img{
    border: solid 3px #17a2b8;
    border-radius: 8px;
  }
  .simbologia p.primeralinea {
    text-indent: 60px;
  }
  .simbologia p{
    text-align: justify;
  }

  /* modal signos convencionales */
  .no-bordered td{
    border-top:none;
    vertical-align: middle;
  }
  .no-bordered{
    font-size: 14px;
  }
  .unidad{
    background-color: #00a8e0 !important;
    color: #fff !important;
    width: 15% !important;
    text-align: right !important;
    border-color: transparent !important;
  }

  .subtitulo{
    color: #216778 !important;
    font-size: 1.2rem !important;
  }
