html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.btn-custom {
    padding: 2px 10px; /* Reduce el padding para que sean más rectangulares */
    font-size: 0.875rem; /* Tamaño de texto más pequeño */
    border-radius: 5px; /* Esquinas más suaves */
    height: auto; /* Permite que se ajuste automáticamente la altura */
}

html, body {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.container {
    flex: 1; /* Hacer que el contenedor principal ocupe todo el espacio restante */
}

footer {
    flex-shrink: 0; /* Evitar que el footer se colapse */
    background-color: #6c757d; /* Color de fondo del footer */
    color: white; /* Color de texto del footer */
    padding: 20px 0; /* Espaciado interno */
}

/* Celda de descripción: mantiene altura compacta, corta en 3 líneas y pone "..." */
.desc-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* <- cambia a 2 o 4 si prefieres */
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
    line-height: 1.2rem; /* altura de línea cómoda */
    max-height: calc(1.2rem * 3); /* 3 líneas */
}

/* Opcional: evita que la fila crezca por padding excesivo */
#itemTableBody td {
    vertical-align: middle;
}


.footer-evho {
    background: #2f3e4f;
}
    /* tono similar al de la imagen */
    .footer-evho .footer-list li {
        margin-bottom: .5rem;
        font-size: 1.05rem;
    }

    .footer-evho .btn-social {
        --bs-btn-padding-x: .55rem;
        --bs-btn-padding-y: .45rem;
        --bs-btn-border-radius: 50%;
        line-height: 1;
    }

