/*!
 * Bootstrap 5 Negative Margins Compatibility
 * Re-enables negative margin utilities removed from Bootstrap 5 default build.
 * Bootstrap 4 included these by default; Bootstrap 5 requires $enable-negative-margins: true.
 * Since we use pre-compiled Bootstrap CSS, this file restores backward compatibility.
 */

/*
 * Bootstrap 4 Grid Compatibility: position: relative on columns
 * BS4 set position: relative on all .col-* classes by default.
 * BS5 removed this, which breaks negative-margin overlaps.
 * Restoring it ensures elements with negative margins can visually
 * escape their parent's bounds (overlap siblings) as they did in BS4.
 */
.col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col-auto,
.col-sm, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6,
.col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-auto,
.col-md, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md-auto,
.col-lg, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-auto,
.col-xl, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6,
.col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-auto,
.col-xxl, .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6,
.col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12, .col-xxl-auto {
    position: relative;
    padding-right: 15px;
    padding-left: 15px;
}

/* Negative margin - all sides */
.m-n1 { margin: -0.25rem !important; }
.m-n2 { margin: -0.5rem !important; }
.m-n3 { margin: -1rem !important; }
.m-n4 { margin: -1.5rem !important; }
.m-n5 { margin: -3rem !important; }

/* Negative margin-top */
.mt-n1 { margin-top: -0.25rem !important; }
.mt-n2 { margin-top: -0.5rem !important; }
.mt-n3 { margin-top: -1rem !important; }
.mt-n4 { margin-top: -1.5rem !important; }
.mt-n5 { margin-top: -3rem !important; }

/* Negative margin-bottom */
.mb-n1 { margin-bottom: -0.25rem !important; }
.mb-n2 { margin-bottom: -0.5rem !important; }
.mb-n3 { margin-bottom: -1rem !important; }
.mb-n4 { margin-bottom: -1.5rem !important; }
.mb-n5 { margin-bottom: -3rem !important; }

/* Negative margin-start (left in LTR) */
.ms-n1 { margin-left: -0.25rem !important; }
.ms-n2 { margin-left: -0.5rem !important; }
.ms-n3 { margin-left: -1rem !important; }
.ms-n4 { margin-left: -1.5rem !important; }
.ms-n5 { margin-left: -3rem !important; }

/* Negative margin-end (right in LTR) */
.me-n1 { margin-right: -0.25rem !important; }
.me-n2 { margin-right: -0.5rem !important; }
.me-n3 { margin-right: -1rem !important; }
.me-n4 { margin-right: -1.5rem !important; }
.me-n5 { margin-right: -3rem !important; }

/* Negative margin X-axis (left + right) */
.mx-n1 { margin-right: -0.25rem !important; margin-left: -0.25rem !important; }
.mx-n2 { margin-right: -0.5rem !important; margin-left: -0.5rem !important; }
.mx-n3 { margin-right: -1rem !important; margin-left: -1rem !important; }
.mx-n4 { margin-right: -1.5rem !important; margin-left: -1.5rem !important; }
.mx-n5 { margin-right: -3rem !important; margin-left: -3rem !important; }

/* Negative margin Y-axis (top + bottom) */
.my-n1 { margin-top: -0.25rem !important; margin-bottom: -0.25rem !important; }
.my-n2 { margin-top: -0.5rem !important; margin-bottom: -0.5rem !important; }
.my-n3 { margin-top: -1rem !important; margin-bottom: -1rem !important; }
.my-n4 { margin-top: -1.5rem !important; margin-bottom: -1.5rem !important; }
.my-n5 { margin-top: -3rem !important; margin-bottom: -3rem !important; }

/* Extended: Level 6 (used by some sites like Abbeyfeale, Swilly) */
.m-n6 { margin: -4.5rem !important; }
.mt-n6 { margin-top: -4.5rem !important; }
.mb-n6 { margin-bottom: -4.5rem !important; }
.ms-n6 { margin-left: -4.5rem !important; }
.me-n6 { margin-right: -4.5rem !important; }
.mx-n6 { margin-right: -4.5rem !important; margin-left: -4.5rem !important; }
.my-n6 { margin-top: -4.5rem !important; margin-bottom: -4.5rem !important; }

/* Bootstrap 4 compatibility aliases (ml-*, mr-* → ms-*, me-*) */
.ml-n1 { margin-left: -0.25rem !important; }
.ml-n2 { margin-left: -0.5rem !important; }
.ml-n3 { margin-left: -1rem !important; }
.ml-n4 { margin-left: -1.5rem !important; }
.ml-n5 { margin-left: -3rem !important; }

.mr-n1 { margin-right: -0.25rem !important; }
.mr-n2 { margin-right: -0.5rem !important; }
.mr-n3 { margin-right: -1rem !important; }
.mr-n4 { margin-right: -1.5rem !important; }
.mr-n5 { margin-right: -3rem !important; }

