/* ============================================================
   Bootstrap 4 → 5 compatibility shim
   Re-implements the handful of BS4 utility classes that BS5
   renamed/dropped, so the ~120 legacy programmatic SEO pages
   render correctly under Bootstrap 5 without editing each file.
   New templates should use the BS5 names directly.
   BS4 spacing scale: 0=0 · 1=.25rem · 2=.5rem · 3=1rem · 4=1.5rem · 5=3rem
   ============================================================ */

/* Directional margins (BS5 uses *-start / *-end) */
.ml-0 {
    margin-left: 0 !important;
}

.mr-0 {
    margin-right: 0 !important;
}

.ml-1 {
    margin-left: .25rem !important;
}

.mr-1 {
    margin-right: .25rem !important;
}

.ml-2 {
    margin-left: .5rem !important;
}

.mr-2 {
    margin-right: .5rem !important;
}

.ml-3 {
    margin-left: 1rem !important;
}

.mr-3 {
    margin-right: 1rem !important;
}

.ml-4 {
    margin-left: 1.5rem !important;
}

.mr-4 {
    margin-right: 1.5rem !important;
}

.ml-5 {
    margin-left: 3rem !important;
}

.mr-5 {
    margin-right: 3rem !important;
}

.ml-auto {
    margin-left: auto !important;
}

.mr-auto {
    margin-right: auto !important;
}

/* Directional padding */
.pl-0 {
    padding-left: 0 !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.pl-1 {
    padding-left: .25rem !important;
}

.pr-1 {
    padding-right: .25rem !important;
}

.pl-2 {
    padding-left: .5rem !important;
}

.pr-2 {
    padding-right: .5rem !important;
}

.pl-3 {
    padding-left: 1rem !important;
}

.pr-3 {
    padding-right: 1rem !important;
}

.pl-4 {
    padding-left: 1.5rem !important;
}

.pr-4 {
    padding-right: 1.5rem !important;
}

.pl-5 {
    padding-left: 3rem !important;
}

.pr-5 {
    padding-right: 3rem !important;
}

/* Type / alignment renames */
.font-weight-light {
    font-weight: 300 !important;
}

.font-weight-normal {
    font-weight: 400 !important;
}

.font-weight-semibold {
    font-weight: 600 !important;
}

.font-weight-bold {
    font-weight: 700 !important;
}

.font-italic {
    font-style: italic !important;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

/* Faded text on dark surfaces (BS5 dropped the -50 helpers) */
.text-white-50 {
    color: rgba(255, 255, 255, .5) !important;
}

.text-black-50 {
    color: rgba(0, 0, 0, .5) !important;
}

/* Misc dropped utilities */
.no-gutters {
    --bs-gutter-x: 0;
}

.no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.btn-block {
    display: block;
    width: 100%;
}

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