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;
}

/*responsivo*/

/* --- OPTIMIZACIONES GLOBALES PARA MÓVIL --- */
body {
    background-color: #f8f9fa;
    -webkit-tap-highlight-color: transparent;
}

/* Hacer los botones más grandes y fáciles de presionar en pantallas táctiles */
.btn, .form-select, .form-control {
    padding: 0.6rem 0.8rem;
    font-size: 0.95rem;
}

/* Ocultar texto largo con puntos suspensivos en el catálogo móvil */
.text-truncate-sm {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- ADAPTACIÓN DE TABLAS EN PANTALLAS CHICAS --- */
.table-responsive-custom {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

    .table-responsive-custom th,
    .table-responsive-custom td {
        white-space: nowrap;
        padding: 0.5rem;
    }

@media (max-width: 576px) {
    .btn {
        padding: 0.5rem 0.6rem;
        font-size: 0.85rem;
    }

    .form-control, .form-select {
        padding: 0.5rem;
        font-size: 0.9rem;
    }

    h1, .h1 {
        font-size: 1.6rem !important;
    }

    h2, .h2 {
        font-size: 1.3rem !important;
    }
}



