/*!
 * Bootstrap 4 -> 5 compatibility layer (CSS)
 * Restores Bootstrap 4 utilities/classes that were renamed or removed in Bootstrap 5,
 * so existing markup keeps rendering correctly after the upgrade.
 * Load order: bootstrap.min.css (v5) -> this file -> theme bundle.css
 */

/* Float (BS5: .float-start / .float-end) */
.float-left { float: left !important; }
.float-right { float: right !important; }
.float-none { float: none !important; }

/* Text alignment (BS5: .text-start / .text-end) */
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

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

/* Form helpers (removed in BS5) */
.form-group { margin-bottom: 1rem; }
.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;
}

/* Font weight / style (BS5: .fw-* / .fst-*) */
.font-weight-light { font-weight: 300 !important; }
.font-weight-lighter { font-weight: lighter !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-bolder { font-weight: bolder !important; }
.font-italic { font-style: italic !important; }
.text-monospace {
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

/* Rounded (BS5: .rounded-1 / .rounded-3) */
.rounded-sm { border-radius: 0.2rem !important; }
.rounded-lg { border-radius: 0.3rem !important; }

/* Grid no-gutters (BS5: .g-0) */
.no-gutters { margin-right: 0; margin-left: 0; }
.no-gutters > .col,
.no-gutters > [class*="col-"] {
	padding-right: 0;
	padding-left: 0;
}

/* Block button (BS5: .d-grid / .w-100) */
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: 0.5rem; }

/* Badge color variants (BS5: .badge.bg-*) */
.badge-primary { color: #fff; background-color: #007bff; }
.badge-secondary { color: #fff; background-color: #6c757d; }
.badge-success { color: #fff; background-color: #28a745; }
.badge-danger { color: #fff; background-color: #dc3545; }
.badge-warning { color: #212529; background-color: #ffc107; }
.badge-info { color: #fff; background-color: #17a2b8; }
.badge-light { color: #212529; background-color: #f8f9fa; }
.badge-dark { color: #fff; background-color: #343a40; }
.badge-pill { border-radius: 10rem; }

/* Close button (BS5: .btn-close) */
.close {
	float: right;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	opacity: 0.5;
	background: transparent;
	border: 0;
	padding: 0;
	cursor: pointer;
}
.close:hover,
.close:focus { color: #000; text-decoration: none; opacity: 0.75; }

/* Input group append/prepend (removed in BS5) */
.input-group-append,
.input-group-prepend { display: flex; }
.input-group-append { margin-left: -1px; }
.input-group-prepend { margin-right: -1px; }

/* Media object (removed in BS5) */
.media { display: flex; align-items: flex-start; }
.media-body { flex: 1 1 0%; }

/* Left/right spacing (BS5: .ms-* / .me-* / .ps-* / .pe-*) */
.ml-0 { margin-left: 0 !important; }
.mr-0 { margin-right: 0 !important; }
.pl-0 { padding-left: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.ml-1 { margin-left: 0.25rem !important; }
.mr-1 { margin-right: 0.25rem !important; }
.pl-1 { padding-left: 0.25rem !important; }
.pr-1 { padding-right: 0.25rem !important; }
.ml-2 { margin-left: 0.5rem !important; }
.mr-2 { margin-right: 0.5rem !important; }
.pl-2 { padding-left: 0.5rem !important; }
.pr-2 { padding-right: 0.5rem !important; }
.ml-3 { margin-left: 1rem !important; }
.mr-3 { margin-right: 1rem !important; }
.pl-3 { padding-left: 1rem !important; }
.pr-3 { padding-right: 1rem !important; }
.ml-4 { margin-left: 1.5rem !important; }
.mr-4 { margin-right: 1.5rem !important; }
.pl-4 { padding-left: 1.5rem !important; }
.pr-4 { padding-right: 1.5rem !important; }
.ml-5 { margin-left: 3rem !important; }
.mr-5 { margin-right: 3rem !important; }
.pl-5 { padding-left: 3rem !important; }
.pr-5 { padding-right: 3rem !important; }
.ml-auto { margin-left: auto !important; }
.mr-auto { margin-right: auto !important; }
