/* Lightweight layout base (replaces Bootstrap on the public site) */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; line-height: 1.2; }
p { margin-top: 0; margin-bottom: 1rem; }
ul, ol { margin-top: 0; margin-bottom: 1rem; }
img, svg { vertical-align: middle; }
button, input, select, textarea { font: inherit; color: inherit; margin: 0; }
button { cursor: pointer; }
table { border-collapse: collapse; }
[hidden] { display: none !important; }

.container { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 16px; }
@media (min-width: 576px) { .container { padding-inline: 20px; } }
@media (min-width: 1400px) { .container { max-width: 1320px; } }

.row { --gx: 1.5rem; --gy: 0px; display: flex; flex-wrap: wrap; margin-top: calc(-1 * var(--gy)); margin-inline: calc(-.5 * var(--gx)); }
.row > * { flex: 0 0 auto; width: 100%; max-width: 100%; padding-inline: calc(.5 * var(--gx)); margin-top: var(--gy); }
.g-3 { --gx: 1rem; --gy: 1rem; }
.g-4 { --gx: 1.5rem; --gy: 1.5rem; }
.col-6 { width: 50%; }
.col-12 { width: 100%; }
@media (min-width: 768px) {
    .g-md-4 { --gx: 1.5rem; --gy: 1.5rem; }
    .col-md-4 { width: 33.3333%; } .col-md-6 { width: 50%; } .col-md-12 { width: 100%; }
}
@media (min-width: 992px) {
    .g-lg-5 { --gx: 3rem; --gy: 3rem; }
    .col-lg-3 { width: 25%; } .col-lg-4 { width: 33.3333%; } .col-lg-5 { width: 41.6667%; } .col-lg-6 { width: 50%; }
    .col-lg-7 { width: 58.3333%; } .col-lg-8 { width: 66.6667%; } .col-lg-10 { width: 83.3333%; }
    .order-lg-1 { order: 1; } .order-lg-2 { order: 2; }
}
.order-1 { order: 1; } .order-2 { order: 2; }

.d-flex { display: flex; } .flex-wrap { flex-wrap: wrap; }
.align-items-center { align-items: center; }
.justify-content-center { justify-content: center; } .justify-content-between { justify-content: space-between; }
.gap-2 { gap: .5rem; } .gap-3 { gap: 1rem; }
.mx-auto { margin-inline: auto; } .ms-auto { margin-left: auto; }
.mt-0 { margin-top: 0 !important; } .mt-3 { margin-top: 1rem; } .mt-4 { margin-top: 1.5rem; } .mt-5 { margin-top: 3rem; }
.mb-4 { margin-bottom: 1.5rem; } .mb-5 { margin-bottom: 3rem; }
.text-center { text-align: center; } .text-muted { color: #5d6b82; } .small { font-size: .875em; }

/* Pagination (Laravel "bootstrap-5" markup) */
.pagination { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; padding: 0; margin: 0; justify-content: center; }
.page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 .75rem; border-radius: 10px; border: 1.5px solid #e3e8f0; color: var(--c-primary, #0b3b6f); text-decoration: none; font-weight: 600; background: #fff; }
.page-item.active .page-link { background: var(--c-primary, #0b3b6f); border-color: var(--c-primary, #0b3b6f); color: #fff; }
.page-item.disabled .page-link { opacity: .45; pointer-events: none; }
.page-link:hover { border-color: var(--c-primary, #0b3b6f); }
nav .d-sm-flex, nav .flex-sm-fill { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
nav .d-flex.d-sm-none { display: none; }
nav p.small.text-muted { margin: 0; }
