/* Bootstrap 3 → 5 compatibility shim
   Maps removed BS3 utility classes to BS5 equivalents.
   Uses BS3 breakpoints: xs <768, sm ≥768, md ≥992, lg ≥1200.
   Remove this file once all components are migrated to BS5 classes. */

/* hidden-xs: hide on <768px */
.hidden-xs { display: none !important; }
@media (min-width: 768px) { .hidden-xs { display: block !important; } }

/* hidden-sm: hide on 768px–991px */
@media (min-width: 768px) and (max-width: 991.98px) { .hidden-sm { display: none !important; } }

/* hidden-md: hide on 992px–1199px */
@media (min-width: 992px) and (max-width: 1199.98px) { .hidden-md { display: none !important; } }

/* hidden-lg: hide on ≥1200px */
@media (min-width: 1200px) { .hidden-lg { display: none !important; } }

/* visible-xs: show ONLY on <768px */
.visible-xs { display: none !important; }
@media (max-width: 767.98px) { .visible-xs { display: block !important; } }

/* visible-sm: show ONLY on 768px–991px */
.visible-sm { display: none !important; }
@media (min-width: 768px) and (max-width: 991.98px) { .visible-sm { display: block !important; } }

/* visible-md: show ONLY on 992px–1199px */
.visible-md { display: none !important; }
@media (min-width: 992px) and (max-width: 1199.98px) { .visible-md { display: block !important; } }

/* visible-lg: show ONLY on ≥1200px */
.visible-lg { display: none !important; }
@media (min-width: 1200px) { .visible-lg { display: block !important; } }

/* hidden-print */
@media print { .hidden-print { display: none !important; } }

/* pull-left / pull-right (global, not CSS-module scoped) */
.pull-left { float: left !important; }
.pull-right { float: right !important; }

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

/* col-xs-* → col-* (BS3 extra-small grid) */
.col-xs-1 { flex: 0 0 auto; width: 8.33333%; }
.col-xs-2 { flex: 0 0 auto; width: 16.66667%; }
.col-xs-3 { flex: 0 0 auto; width: 25%; }
.col-xs-4 { flex: 0 0 auto; width: 33.33333%; }
.col-xs-5 { flex: 0 0 auto; width: 41.66667%; }
.col-xs-6 { flex: 0 0 auto; width: 50%; }
.col-xs-7 { flex: 0 0 auto; width: 58.33333%; }
.col-xs-8 { flex: 0 0 auto; width: 66.66667%; }
.col-xs-9 { flex: 0 0 auto; width: 75%; }
.col-xs-10 { flex: 0 0 auto; width: 83.33333%; }
.col-xs-11 { flex: 0 0 auto; width: 91.66667%; }
.col-xs-12 { flex: 0 0 auto; width: 100%; }

/* input-group-addon (BS3 class still referenced in some CSS) */
.input-group-addon {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
}

/* panel → card compat */
.panel { position: relative; display: flex; flex-direction: column; min-width: 0; word-wrap: break-word; background-color: #fff; background-clip: border-box; border: 1px solid rgba(0,0,0,.125); border-radius: 0.375rem; }
.panel-body { flex: 1 1 auto; padding: 1rem; }
.panel-heading { padding: 0.5rem 1rem; border-bottom: 1px solid rgba(0,0,0,.125); }
.panel-footer { padding: 0.5rem 1rem; border-top: 1px solid rgba(0,0,0,.125); }

/* label → badge compat */
.label { display: inline-block; padding: 0.35em 0.65em; font-size: 0.75em; font-weight: 700; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.375rem; }
.label-default { background-color: #6c757d; }
.label-primary { background-color: #0d6efd; }
.label-success { background-color: #198754; }
.label-info { background-color: #0dcaf0; color: #000; }
.label-warning { background-color: #ffc107; color: #000; }
.label-danger { background-color: #dc3545; }

/* list-inline children (BS3 auto-styled li, BS5 needs list-inline-item) */
.list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; }

/* BS3 navbar compat — structural classes removed in BS5 */
.navbar-header { float: left; }
.navbar-form { display: inline-block; }
