/**
 * Capa de compatibilidad Bootstrap 3 → 5.
 * Permite conservar clases legacy sin reescribir todas las plantillas.
 */

/* Grid offsets BS3 */
.col-md-offset-1 { margin-left: 8.33333333%; }
.col-md-offset-2 { margin-left: 16.66666667%; }
.col-md-offset-3 { margin-left: 25%; }
.col-md-offset-4 { margin-left: 33.33333333%; }
.col-md-offset-5 { margin-left: 41.66666667%; }
.col-md-offset-6 { margin-left: 50%; }

/* Utilidades */
.pull-left { float: left !important; }
.pull-right { float: right !important; }
.center-block { display: block; margin-left: auto; margin-right: auto; }
.img-rounded { border-radius: 0.375rem; }

/* Formularios */
.form-horizontal .control-label { padding-top: calc(0.375rem + 1px); margin-bottom: 0; }
.form-horizontal .form-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
}
.form-horizontal .form-group > .control-label {
  text-align: right;
  padding-right: 1rem;
  float: none;
  width: auto;
}
.form-horizontal .form-group > .col-lg-2.control-label,
.form-horizontal .form-group > .col-md-2.control-label {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}
.form-horizontal .form-group > .col-lg-3.control-label,
.form-horizontal .form-group > .col-md-3.control-label {
  flex: 0 0 25%;
  max-width: 25%;
}
.form-horizontal .form-group > .col-lg-4.control-label,
.form-horizontal .form-group > .col-md-4.control-label {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}
.form-horizontal .form-group > [class*="col-lg-"]:not(.control-label),
.form-horizontal .form-group > [class*="col-md-"]:not(.control-label) {
  flex: 1 1 0;
  min-width: 0;
  float: none;
  width: auto;
}
.form-horizontal .form-group [class*="col-xs-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.form-horizontal .form-group .col-xs-4,
.form-horizontal .form-group .col-xs-5,
.form-horizontal .form-group .col-xs-9 {
  width: 100%;
  max-width: 320px;
}
.col-lg-offset-1 { margin-left: 8.33333333%; }
.col-lg-offset-2 { margin-left: 16.66666667%; }
.col-lg-offset-3 { margin-left: 25%; }
.input-lg { padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.5rem; }

/* Navbar legacy (navbar-default) */
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand,
.navbar-default .navbar-nav > li > a {
  color: #777;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  background-color: #e7e7e7;
  color: #555;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}

/* Breadcrumb BS3 */
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #6c757d;
}
.breadcrumb > .active {
  color: #6c757d;
}

/* Paneles → cards */
.panel { margin-bottom: 1.25rem; border: 1px solid rgba(0,0,0,.125); border-radius: 0.375rem; }
.panel-default { border-color: #ddd; }
.panel-heading { padding: 0.75rem 1.25rem; border-bottom: 1px solid rgba(0,0,0,.125); background-color: #f5f5f5; border-radius: calc(0.375rem - 1px) calc(0.375rem - 1px) 0 0; }
.panel-body { padding: 1.25rem; }
.panel-footer { padding: 0.75rem 1.25rem; background-color: #f5f5f5; border-top: 1px solid rgba(0,0,0,.125); }

/* Botones */
.btn-default { color: #333; background-color: #fff; border-color: #ccc; }
.btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; }

/* Caret dropdown BS3 */
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

/* Navbar toggle icon bars */
.navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; border: 1px solid transparent; border-radius: 4px; }
.navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; }
.navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; }

/* Utilidades BS3 */
.m-t-3 { margin-top: 1rem !important; }
.img-responsive { max-width: 100%; height: auto; }

/* Utilidad hidden BS3 */
.hidden { display: none !important; }

/* Modal login visible sin JS */
.modal.show { display: block; }
.modal.show .modal-dialog { transform: none; }

/* DataTables sort icons locales (evita CDN en CSS) */
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
  cursor: pointer;
}
