/* **********************************************************
Desarrollado por Herlin R. Espinosa G. (herlin25@gmail.com)
Actualizado por Edward Guevara ()
Refactorizado para Bootstrap 5.3.1 
********************************************************** */

:root,
[data-bs-theme="light"] {
  /* Definición de colores principales */
  --bs-primary: #492e1f;
  --bs-primary-rgb: 73, 46, 31;
  --bs-primary-bg-subtle: rgba(73, 46, 31, 0.15);

  --bs-secondary: #ab9883;
  --bs-secondary-rgb: 171, 152, 131;
  --bs-secondary-bg-subtle: rgba(171, 152, 131, 0.15);

  /* Corregido tertiary a variables personalizadas */
  --custom-tertiary: #7e8d38;
  --custom-tertiary-rgb: 126, 141, 56;
  --custom-tertiary-bg-subtle: rgba(126, 141, 56, 0.15);

  /* Corregido quaternary a variables personalizadas */
  --custom-quaternary: #bac133;
  --custom-quaternary-rgb: 186, 193, 51;
  --custom-quaternary-bg-subtle: rgba(186, 193, 51, 0.15);

  /* Configuración de enlaces */
  --bs-link-color: var(--custom-tertiary);
  --bs-link-color-rgb: var(--custom-tertiary-rgb);
  --bs-link-hover-color: var(--custom-quaternary);
  --bs-link-hover-color-rgb: var(--custom-quaternary-rgb);
}

/* Estilos de tipografía */
h2 {
  color: var(--bs-primary);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 1rem 0;
}

.now-rap {
  white-space: nowrap; /* evita el salto de línea interno */
}

.title-accordion {
  color: var(--bs-primary);
  font-size: 1rem;
  font-weight: 700;
}

/* Estilos de cabecera y pie de página */
header,
footer {
  background: linear-gradient(
    120deg,
    var(--bs-primary) 0,
    var(--bs-primary) 30%,
    var(--bs-secondary) 90%
  );
}

.logo-sdh img {
  width: auto;
  height: 5em;
  padding: 0.5rem 0.5rem 0.5rem 0;
}

.img-loading-table {
  width: 25px;
  height: 25px;
}

.icon-loading-table {
  text-align: end;
}

footer {
  font-size: 0.75rem;
}

/* Estilos de barra de navegación */
.navbar {
  background: linear-gradient(
    180deg,
    var(--custom-quaternary) 0,
    var(--custom-tertiary) 30%,
    var(--custom-tertiary) 90%
  );
  --bs-navbar-padding-y: 0;
}

.infomodule {
  background-color: #f5f5f5;
  border-radius: 5px;
  font-size: 14px;
}

/* Estilos para leyendas de mapas */
.legend {
  background: white;
  line-height: 1.5;
  padding: 6px 8px;
  font: 14px/16px Arial, Helvetica, sans-serif;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
}

.select2-container {
  z-index: 9999;
}

.title-legend {
  font-weight: bold;
  margin-bottom: 5px;
  margin-top: 0;
}

.hr-session-legend {
  margin-bottom: 5px;
  margin-top: 0;
}

.legend div {
  display: flex;
  align-items: center;
}

.img-legend-layers {
  padding-left: 5px;
  padding-right: 5px;
  width: 16pt;
}

/* Estilos para tablas */
.table-responsive-all {
  width: 100%;
  overflow-x: auto;
}

.span-color {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  display: inline-block;
}

/* Estilos para cargadores */
.loading-gif-map {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}

.loading-gif-map img {
  width: 50px;
  height: 50px;
}

/* Estilos de formularios */
.form-signin {
  max-width: 330px;
}

/* Estilos de navegación por pestañas */
.nav-tabs .nav-link {
  color: var(--bs-gray-600);
}

.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {
  color: var(--bs-black);
}

.nav-link {
  color: var(--bs-gray-100);
  font-weight: 700;
}

.nav-link:focus,
.nav-link:hover {
  background-color: var(--custom-quaternary);
}

.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: 1rem;
}

/* Estilos para controles de formulario */
.form-control {
  border: var(--bs-border-width) solid var(--bs-primary);
}

.form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem var(--bs-primary-bg-subtle);
  outline: 0;
}

/* Estilos para botones */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-bg: var(--bs-secondary);
  --bs-btn-active-border-color: var(--bs-primary);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

/* Estilos para checkbox */
.form-check-input:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem var(--bs-primary-bg-subtle);
}

.form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Estilos diversos */
.div-creativecommons-short {
  cursor: pointer;
}

.text-justify {
  text-align: justify;
}

/* Estilos para iconos */
[class^="bi-"][class$="-fill"] {
  fill: var(--bs-primary);
}

/* Estilos para menús desplegables */
.dropdown-menu {
  --bs-dropdown-bg: var(--custom-quaternary);
  --bs-dropdown-link-active-bg: var(--bs-primary);
}

.dropdown-item:focus,
.dropdown-item:hover {
  background-color: var(--custom-tertiary);
  color: white;
}

/* Estilos para DataTables */
.dataTables_wrapper .dataTables_scroll {
  padding-top: 1rem;
}

.table > thead {
  background-color: var(--bs-secondary);
}

.table > :not(caption) > * > * {
  background-color: transparent;
}

/* Estilos para listas con iconos */
.list-icon::before {
  background: url("/image/list-icon.svg") center/cover no-repeat;
  content: "";
  height: 16px;
  margin-left: -1.4rem;
  margin-top: 0.2rem;
  position: absolute;
  width: 16px;
}

/* Estilos para SweetAlert2 */
.swal2-styled.swal2-confirm {
  background-color: var(--bs-primary) !important;
}

.swal2-icon.swal2-warning {
  border-color: var(--bs-secondary) !important;
  color: var(--bs-primary) !important;
}

.swal2-styled.swal2-confirm:focus {
  box-shadow: 0 0 0 3px var(--bs-primary-bg-subtle) !important;
}

.swal2-html-container {
  text-align: left !important;
}

/* Estilos adicionales */
.attention {
  margin-left: 3rem;
}

#FormRegisterUser .col-form-label {
  padding-bottom: 0;
  padding-top: 0;
}

/* Estilos para herramientas */
.row-tools {
  font-size: 0.9em;
}

.row-tools .nav > li > a {
  padding: 0.4em 0.4em;
}

/* Estilos para contenido de errores */
.error-content {
  background-color: #f5f5f5;
  padding: 10px;
  border-radius: 5px;
  overflow-x: auto;
  overflow-y: auto;
  max-height: 400px;
  white-space: pre-wrap;
  word-wrap: break-word;
  line-height: 1.6;
}

/* Estilos para logs */
.log-date {
  font-weight: bold;
}

.log-type-info {
  font-weight: bold;
  color: #0d6efd;
}

.log-type-error {
  font-weight: bold;
  color: #dc3545;
}

/* Media queries */
@media only screen and (min-width: 768px) {
  .map {
    height: 700px;
    margin-left: 1rem;
    width: 100%;
  }

  .row-tools ul {
    margin: 0 -1.5em;
  }

  .logo-sdh img {
    height: 6em;
  }
}

@media only screen and (min-width: 992px) {
  .map {
    height: calc(100vh - 19em);
    position: fixed !important;
    width: 540px;
  }

  .row-tools ul {
    margin: 0 2em 0 1.5em;
  }

  .row-tools {
    font-size: 0.8em;
  }

  .logo-sdh img {
    height: 7em;
  }
}

@media only screen and (min-width: 1200px) {
  .map {
    height: calc(100vh - 20em);
    width: 650px;
  }
}

@media only screen and (min-width: 1400px) {
  .map {
    height: calc(100vh - 24em);
    width: 760px;
  }
}


        body {
            /* background-color: #f5f5dc; */
            background-color: white;

          }
        .header-section {
            background-color: #8fbc4e;
            color: white;
            padding: 3rem 0;
        }
        .features-section {
            background-color: #f0f8e8;
            padding: 3rem 0;
        }
        .benefits-section {
            background-color: #fefefe;
            padding: 3rem 0;
        }
        .collaboration-section {
            background-color: #ede9d5;
            padding: 3rem 0;
        }
        .feature-item {
            background-color: white;
            border-radius: 10px;
            padding: 1.5rem;
            margin-bottom: 1rem;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            border: 1px solid #e8f0e0;
        }
        .section-title {
            color: #6b8e23;
            font-weight: bold;
            margin-bottom: 2rem;
        }
        .highlight {
            color: #8fbc4e;
            font-weight: bold;
        }
        a {
            color: #8fbc4e;
        }
        a:hover {
            color: #6b8e23;
        }