/* =====================================================================
   Bootstrap 4 -> 5 compatibility layer
   The theme (style.css / templete.css) was written for Bootstrap 4.
   This file restores the few BS4 behaviours it relies on so the layout
   stays the same on Bootstrap 5. Load it right after bootstrap.min.css.
   ===================================================================== */

/* BS4 gutters were 30px (BS5 default is 24px) */
.row { --bs-gutter-x: 30px; }
.row.g-0, .row.no-gutters { --bs-gutter-x: 0; --bs-gutter-y: 0; }
.no-gutters { margin-right: 0; margin-left: 0; }
.no-gutters > .col, .no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }

/* BS5 gives every child of .row width:100% + gutter padding.
   In BS4 only .col* children were affected — the theme uses .row
   for flex wrappers (top bar, footer, etc.), so undo it for non-col children. */
.row > *:not([class*="col"]) {
	width: auto;
	max-width: none;
	flex-shrink: 1;
	padding-right: 0;
	padding-left: 0;
	margin-top: 0;
}

/* BS4 container never grew beyond 1140px */
@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { max-width: 1140px; }
}

/* BS5 reboot underlines links; BS4 did not */
a { text-decoration: none; }
a:hover { text-decoration: none; }

/* Forms */
.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; }
.form-inline { display: flex; flex-flow: row wrap; align-items: center; }
label { margin-bottom: .5rem; }
.input-group-append, .input-group-prepend { display: flex; }

/* Removed BS4 helpers */
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: .5rem; }
.media { display: flex; align-items: flex-start; }
.media-body { flex: 1; }
.float-left { float: left !important; }
.float-right { float: right !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-light { font-weight: 300 !important; }
.font-italic { font-style: italic !important; }
.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;
}
.close {
	float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff;
	opacity: .5; background: transparent; border: 0; padding: 0;
}
.close:hover { color: #000; opacity: .75; }
.embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; }
.embed-responsive::before { content: ""; display: block; }
.embed-responsive-16by9::before { padding-top: 56.25%; }
.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
	position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0;
}
.badge-primary { background-color: var(--bs-primary); color: #fff; }
.badge-secondary { background-color: var(--bs-secondary); color: #fff; }
.badge-success { background-color: var(--bs-success); color: #fff; }
.badge-danger { background-color: var(--bs-danger); color: #fff; }
.badge-warning { background-color: var(--bs-warning); color: #212529; }
.badge-info { background-color: var(--bs-info); color: #212529; }
.badge-light { background-color: var(--bs-light); color: #212529; }
.badge-dark { background-color: var(--bs-dark); color: #fff; }

/* Mobile menu (theme uses .navbar-collapse outside of a .navbar) */
.header-nav.navbar-collapse.collapsing { transition: height .35s ease; }

/* BS5 removes the native arrow from <select class="form-control">; keep it (bootstrap-select was removed) */
select.form-control { -webkit-appearance: menulist; -moz-appearance: menulist; appearance: auto; }
