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;
}

/* Sombra y gradiente suaves */
.shadow-soft {
    box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.bg-gradient-primary {
    background: linear-gradient(90deg, #0275d8 0%, #38b6ff 100%);
}

/* DataTable look */
#tblData thead th {
    white-space: nowrap;
}

#tblData td, #tblData th {
    vertical-align: middle;
}

.dataTables_filter input {
    border-radius: .5rem;
    border: 1px solid #ced4da;
    padding: .35rem .6rem;
}

.dt-buttons .dt-button {
    border: 1px solid #e5e7eb;
    border-radius: .5rem;
    padding: .35rem .65rem;
    background: #fff;
}

    .dt-buttons .dt-button:hover {
        background: #f8f9fa;
    }

/* Centrar columna de acciones y compactar botones */
#tblData td:last-child {
    text-align: center;
}

#tblData .btn-group .btn {
    padding: .35rem .55rem;
}

/* Restaurant Branding */
.rb-logo {
    height: clamp(32px, 4vw, 52px); /* min 32, escala con pantalla, max 52 */
    width: auto;
    max-width: clamp(120px, 22vw, 220px);
    object-fit: contain;
    display: block;
}

    /* Si a veces va dentro de headers compactos */
    .rb-logo.compact {
        height: clamp(26px, 3.2vw, 40px);
        max-width: clamp(110px, 18vw, 180px);
    }
