/* Bootstrap 5 Legacy Compatibility */
/* Replaces removed Bootstrap 4 utility classes for DNN module compatibility */

/* FLOAT UTILITIES */
.float-left { float: left !important; }
.float-right { float: right !important; }

/* TEXT ALIGNMENT */
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

/* BLOCK BUTTON */
.btn-block { display: block; width: 100%; }

/* CLEARFIX */
.clearfix::after { display: table; content: ''; clear: both; }

/* MEDIA OBJECT */
.media { display: flex; align-items: flex-start; }
.media-body { flex: 1; }

/* RESPONSIVE FLOATS */
@media (max-width: 576px) { .float-sm-left { float: left !important; } .float-sm-right { float: right !important; } }
@media (max-width: 768px) { .float-md-left { float: left !important; } .float-md-right { float: right !important; } }

/* FORM GROUP COMPATIBILITY (Bootstrap 4) */
.form-group { margin-bottom: 15px; position: relative; }
.form-group > label:not(.form-check-label) { display: inline-block; margin-bottom: 0.5rem; }
.form-group .form-text { display: block; margin-top: 0.25rem; font-size: 0.875em; color: #6c757d; }

/* FORM ROW COMPATIBILITY */
.form-row { display: flex; flex-wrap: wrap; margin-right: -5px; margin-left: -5px; }
.form-row > .col, .form-row > [class*='col-'] { padding-right: 5px; padding-left: 5px; }

/* MARGIN LEFT (ml-*) COMPATIBILITY */
.ml-auto { margin-left: auto !important; }
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }

/* MARGIN RIGHT (mr-*) COMPATIBILITY */
.mr-auto { margin-right: auto !important; }
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: 0.25rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.mr-3 { margin-right: 1rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.mr-5 { margin-right: 3rem !important; }

/* PADDING LEFT (pl-*) COMPATIBILITY */
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pl-5 { padding-left: 3rem !important; }

/* PADDING RIGHT (pr-*) COMPATIBILITY */
.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: 0.25rem !important; }
.pr-2 { padding-right: 0.5rem !important; }
.pr-3 { padding-right: 1rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.pr-5 { padding-right: 3rem !important; }

/* MARGIN TOP (mt-*) COMPATIBILITY */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: 0.25rem !important; }
.mt-2 { margin-top: 0.5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }

/* FONT WEIGHT COMPATIBILITY */
.font-weight-bold { font-weight: 700 !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-light { font-weight: 300 !important; }

/* FONT ITALIC COMPATIBILITY */
.font-italic { font-style: italic !important; }

/* DISPLAY UTILITIES */
.d-inline { display: inline !important; }
.d-table { display: table !important; }

/* CHECKBOX COMPATIBILITY */
.form-check-inputfix { margin-right: 0.5rem; }
input[type='checkbox'] { margin-right: 0.5rem; }

/* BUTTON WITH FONT AWESOME ICONS */
.btn.fa { padding: 0.375rem 0.5rem !important; min-width: auto !important; text-align: center !important; line-height: 1 !important; }
td .btn.fa { padding: 0.25rem 1.5rem 0.25rem .5rem !important; }
.btn-icon { padding: 0.25rem 1.5rem 0.25rem .5rem !important; min-width: 2rem !important; text-align: center !important; line-height: 1.2 !important; }
input.btn.fa { font-family: 'Font Awesome 5 Free', 'FontAwesome' !important; font-weight: 900 !important; padding: 0.25rem 1.5rem 0.25rem .5rem !important; line-height: 1.5 !important; }

/* BOOTSTRAP 4 COLOR UTILITIES */
.bg-primary { background-color: #f17931 !important; }
.text-primary { color: #f17931 !important; }
.border-primary { border-color: #f17931 !important; }

/* SHADOW UTILITIES (Bootstrap 4 names still work in BS5 but ensure availability) */
.shadow-sm { box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075) !important; }
.shadow { box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15) !important; }
.shadow-lg { box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }
.shadow-none { box-shadow: none !important; }

/* ROUNDED UTILITIES */
.rounded-sm { border-radius: 0.2rem !important; }
.rounded-lg { border-radius: 0.3rem !important; }

/* CLOSE BUTTON (Bootstrap 4 .close → Bootstrap 5 .btn-close) */
.close { opacity: .5; padding: 1rem; }
.close:hover { opacity: .75; }
