  /* =========================================================
   GLOBAL / UTILITIES
========================================================= */
.text-primary {
    color: #1b4167 !important;
}

.row {
    --bs-gutter-x: inherit;
}

main {
    padding-top: 0;
}

p.notes {
    margin-bottom: 1rem;
}


/* =========================================================
   TYPOGRAPHY & LABELS
========================================================= */
.card-title {
    font-size: 1.2rem;
    font-weight: 400;
}
.small {
    font-size: .9rem;
}

label.form-label,
form fieldset,
form legend,
form .form-check-label {
    font-size: 1rem;
}

    form .form-label + .form-control,
    form .form-label + .form-select,
    form legend + .form-control,
    form legend + .form-select {
        margin-top: .5rem;
    }


/* =========================================================
   BUTTONS
========================================================= */
.btn {
    font-size: 1rem;
}

    .btn.btn-dark {
        border: .1875rem solid #000;
    }

        .btn.btn-dark:hover {
            border: .1875rem solid #000; /* same on hover */
        }

.btn-success {
    background-color: #296039;
}

/* Toggle button */
.toggle-btn {
    background: none;
    border: none;
    padding: 0;
    font-size: 1rem;
    cursor: pointer;
    text-decoration: underline;
    color: #006400;
}

    .toggle-btn:focus {
        outline: 2px solid #006400;
        outline-offset: 2px;
    }

.toggle-panel {
    margin-top: 0.5rem;
}


/* =========================================================
   FORMS / CHECKS
========================================================= */
form .form-check-input[type=checkbox],
form .form-check-input[type=radio] {
    width: 1rem;
    height: 1rem;
}

form .form-check:first-of-type {
    margin-top: .875rem;
}

form .form-check-label {
    font-weight: normal;
}


/* =========================================================
   PAGINATION
========================================================= */
li.page-item {
    margin-right: 5px;
}

.page-link {
    font-size: 1rem;
    font-weight: normal;
}


/* =========================================================
   ACCORDIONS
========================================================= */
.accordion-button::after {
    display: none !important;
    content: "" !important;
}

.card-body:before {
    border: none;
}


/* =========================================================
   STICKY HEADER & GLOBAL STRUCTURE
========================================================= */
.sticky-header {
    position: sticky;
    top: 0;
    z-index: 2000;
    background: white;
    padding: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.header-inner {
    padding: 10px 0 10px 20px;
}


/* =========================================================
   ACTION BAR (91³Ô¹Ï YELLOW)
========================================================= */
.action-bar {
    background: #ffc20b;
    width: 100%;
    padding: 8px 0 8px 20px;
    margin-top: 8px;
    text-align: left;
    color: black;
}

.action-link {
    color: black;
    font-weight: 700;
    text-decoration: none;
    padding-right: 10px;
}

    .action-link:hover {
        text-decoration: underline;
    }


/* =========================================================
   OFFCANVAS (Filter Panel)
========================================================= */
#filterPanel.offcanvas {
    z-index: 3000 !important;
}
.offcanvas-start, .offcanvas-end {
    --bs-offcanvas-width: 87.5%;
}

.card-body {
    padding: 1.2rem 1rem;
    margin: 0;
}
/* =========================================================
   DESKTOP LAYOUT ONLY
========================================================= */
@media (min-width: 768px) {
    .small {
        font-size: 1rem;
    }
    .card-title {
        font-size: 1.375rem;
        font-weight: 600;
    }

    /* Left sidebar as sticky container */
    #filterPanel.offcanvas-start {
        position: sticky !important;
        top: 112px; /* matches sticky header height */
        transform: none !important;
        visibility: visible !important;
        border-right: 1px solid #ddd;
        width: 100%;
        max-width: 360px;
        min-width: 260px;
        background: #fff;
        height: calc(100vh - 112px);
        overflow: hidden;
    }

    /* Scrollable inner area */
    #filterPanel .offcanvas-body {
        height: 100%;
        overflow-y: auto;
        padding-bottom: 2rem;
    }

    /* Hide bootstrap offcanvas header (mobile only) */
    #filterPanel .offcanvas-header {
        display: none !important;
    }

    /* Center results column */
    .results-wrapper {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }

    .card-body {
        margin-right: 2.4375rem;
        margin-bottom: 1.125rem;       
        padding-left: 1.875rem;
        padding-top: 1.5625rem;
        padding-right: 0;
        padding-bottom: 0;
    }
}
