/*
 * bs4-compat.css
 * ---------------------------------------------------------------------------
 * Bootstrap 4 utilities used by the ~190 existing templates that Bootstrap 5
 * removed or renamed (ml-*/mr-* -> ms-*/me-*, pl-*/pr-* -> ps-*/pe-*,
 * text-left -> text-start, font-weight-* -> fw-*, sr-only -> visually-hidden,
 * .form-group / .form-inline removed, etc.).
 *
 * Compat layer in the same spirit as bvn-compat.js: define the BS4 class
 * names with the same values as BS4/BS5 so the templates don't need to be
 * touched. Once a template is migrated to the BS5 names, these rules simply
 * stop applying to it.
 * Spacing scale (identical in BS4 and BS5):
 *   1=.25rem 2=.5rem 3=1rem 4=1.5rem 5=3rem
 */

/* --- margin left/right ------------------------------------------------- */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: .25rem !important; }
.ml-2 { margin-left: .5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }
.ml-auto { margin-left: auto !important; }
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: .25rem !important; }
.mr-2 { margin-right: .5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }
.mr-auto { margin-right: auto !important; }

/* --- padding left/right ------------------------------------------------ */
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: .25rem !important; }
.pl-2 { padding-left: .5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pl-5 { padding-left: 3rem !important; }
.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: .25rem !important; }
.pr-2 { padding-right: .5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.pr-5 { padding-right: 3rem !important; }

/* --- responsive variants actually used in userv3 ------------------------ */
@media (min-width: 576px) {
    .mr-sm-2 { margin-right: .5rem !important; }
}
@media (min-width: 768px) {
    .pl-md-0 { padding-left: 0 !important; }
    .pl-md-2 { padding-left: .5rem !important; }
    .pl-md-3 { padding-left: 1rem !important; }
}
@media (min-width: 992px) {
    .pl-lg-0 { padding-left: 0 !important; }
    .pl-lg-3 { padding-left: 1rem !important; }
}

/* --- text ----------------------------------------------------------------*/
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-justify { text-align: justify !important; }
.float-left { float: left !important; }
.float-right { float: right !important; }
.font-weight-light { font-weight: 300 !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-bolder { font-weight: bolder !important; }

/* --- accessibility -------------------------------------------------------*/
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* --- forms (classes removed in BS5) --------------------------------------*/
.form-group { margin-bottom: 1rem; }
/* <b-form inline>: bootstrap-vue-next no longer has an inline prop; the
   attribute falls through to the <form>. Reproduces BS4's .form-inline. */
.form-inline,
form[inline] {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

/* --- BS4 badges (badge-* -> text-bg-* in BS5); used in reference manager */
.badge-danger { background-color: #dc3545; }
.badge-warning { background-color: #ffc107; color: #000; }

/* --- historic template typo (aling- instead of align-) -------------------*/
/* 79 usages inherited from Vue 2; the intent is obvious. */
.aling-items-center { align-items: center !important; }
