h2 {
    font-size: 1.5em;
}

altcha-widget {
    --altcha-border-width: 1px;
    --altcha-border-radius: 5px;
    --altcha-border-color: #d9dee3;
    --altcha-color-base: #ffffff;
    --altcha-color-base-content: #b4bdc6;
    --altcha-color-error-text: #f23939;
    --altcha-color-footer-bg: #f4f4f4;
    --altcha-max-width: 100%;
}

:root {
    --bs-primary: #4b5eaa;
    --bs-primary-rgb: 75, 94, 170;
    --bs-primary-text-emphasis: #2d3866;
    --bs-primary-bg-subtle: #e4e9f7;
    --bs-primary-border-subtle: #c6d0ec;
    --bs-link-color: #4b5eaa;
    --bs-link-hover-color: #3f4f8f;
}

/* Breadcrumb styling */
.breadcrumb-container {
    background-color: #f8f9fa;
    border-radius: 0.375rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.breadcrumb {
    margin-bottom: 0;
    padding: 1rem 1.5rem;
    background-color: transparent;
}

.breadcrumb-item {
    font-weight: 500;
}

.breadcrumb-item a {
    color: #4b5eaa;
    text-decoration: none;
    transition: all 0.3s ease;
}

.breadcrumb-item a:hover {
    color: #425398;
    text-decoration: underline;
}

.breadcrumb-item a i {
    margin-right: 0.4rem;
    font-size: 0.95em;
}

.breadcrumb-item.active {
    color: #2d3866;
}

.breadcrumb-item.active i {
    margin-right: 0.4rem;
    font-size: 0.95em;
    color: #4b5eaa;
}

.text-primary {
    color: #4b5eaa !important;
}

.bg-primary {
    background-color: #4b5eaa !important;
}

.btn-primary {
    --bs-btn-bg: #4b5eaa;
    --bs-btn-border-color: #4b5eaa;
    --bs-btn-hover-bg: #425398;
    --bs-btn-hover-border-color: #3f4f8f;
    --bs-btn-active-bg: #3d4d90;
    --bs-btn-active-border-color: #3a4988;
    --bs-btn-disabled-bg: #4b5eaa;
    --bs-btn-disabled-border-color: #4b5eaa;
    background-color: #4b5eaa !important;
    border-color: #4b5eaa !important;
    box-shadow: 0 0.125rem 0.25rem 0 rgba(75, 94, 170, 0.4) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-check:focus + .btn-primary {
    background-color: #425398 !important;
    border-color: #425398 !important;
}

.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.btn-primary.show.dropdown-toggle,
.show > .btn-primary.dropdown-toggle {
    background-color: #3d4d90 !important;
    border-color: #3d4d90 !important;
}

.btn-primary.disabled,
.btn-primary:disabled {
    background-color: #4b5eaa !important;
    border-color: #4b5eaa !important;
}

.page-item.active .page-link,
.page-item.active .page-link:hover,
.page-item.active .page-link:focus,
.pagination li.active > a:not(.page-link),
.pagination li.active > a:not(.page-link):hover,
.pagination li.active > a:not(.page-link):focus {
    background-color: #4b5eaa !important;
    border-color: #4b5eaa !important;
    box-shadow: 0 0.125rem 0.25rem rgba(75, 94, 170, 0.4) !important;
}

.app-brand-text.demo {
    font-size: 1.4rem;
    letter-spacing: -0.5px;
}

.card-body {
    padding-top: 0.8rem;
}

.form-floating > label {
    border: 0;
}

.form-control-label, .col-form-label, .form-group > label, .control-label, .form-label {
    font-weight: bold;
}

a:hover {
    text-decoration: underline;
}

.btn:hover, .dropdown-item:hover, .menu-link:hover {
    text-decoration: none;
}

.cursor_move {
    cursor: move;
}

.accordion-button:not(.collapsed) {
    background-color: #cfe2ff;
}

.accordion-button {
    background-color: #cfe2ff;
}

.accordion-item {
    margin-top: 1px;
}

a.badge {
    color: white;
}

.menu-vertical .menu-sub .menu-link {
    padding-left: 2rem;
}

/* Retrait des puces sur les sous-menus déroulants*/
.menu-vertical .menu-sub .menu-link::before {
    display: none;
}

.ts-dropdown {
    z-index: 10000;
    background-color: white;
}

.optgroup-header {
    font-weight: bold;
    background-color: #e9ecef;
}





.bd-callout {
    padding: 1.25rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    border: 1px solid #eee;
    border-left-width: .25rem;
    border-radius: .25rem
}

.bd-callout h4 {
    margin-top: 0;
    margin-bottom: .25rem
}

.bd-callout p:last-child {
    margin-bottom: 0
}

.bd-callout code {
    border-radius: .25rem
}

.bd-callout + .bd-callout {
    margin-top: -.25rem
}

.bd-callout-info {
    border-left-color: #5bc0de
}

.bd-callout-info h4 {
    color: #5bc0de
}

.bd-callout-warning {
    border-left-color: #f0ad4e
}

.bd-callout-warning h4 {
    color: #f0ad4e
}

.bd-callout-danger {
    border-left-color: #d9534f
}

.bd-callout-danger h4 {
    color: #d9534f
}

.bd-section {
    --bd-example-padding: 1.5rem;
    margin-right: 0;
    margin-left: 0;
    border-width: 1px;
    border-top-left-radius: var(--bs-border-radius);
    border-top-right-radius: var(--bs-border-radius);
}


.app-table-wrap {
    --dt-border: #e4e8f0;
    --dt-head-bg: #f4f7fb;
    --dt-text: #1f2937;
    --dt-muted: #64748b;
    --dt-hover: #eef4ff;
    border: 1px solid var(--dt-border);
    border-radius: 0.9rem;
    background: linear-gradient(180deg, #fbfdff 0%, #f8fbff 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
    /* overflow-x: clip permet au sticky de se référencer sur le scroll de la page
       sans créer de conteneur de scroll interne (contrairement à overflow-x: auto) */
    overflow-x: clip;
}

.app-table {
    margin-bottom: 0;
    color: var(--dt-text);
    border-collapse: separate;
    border-spacing: 0;
    min-width: 980px;
}

.app-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--dt-head-bg);
    border-bottom: 1px solid var(--dt-border);
    border-top: 0;
    color: var(--dt-muted);
    font-size: .68rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    font-weight: 700;
    padding: 0.85rem 0.75rem;
    vertical-align: top;
}

.app-table thead th a {
    color: var(--dt-muted);
    text-decoration: none;
}

.app-table thead th a:hover {
    color: var(--dt-text);
    text-decoration: underline;
}

.app-table td {
    border-top: 1px solid var(--dt-border);
    padding: 0.72rem 0.75rem;
    background-color: transparent;
    font-size: .78rem;
}

.app-table tbody tr {
    transition: background-color 0.18s ease, transform 0.18s ease;
}

.app-table tbody tr:hover {
    background-color: var(--dt-hover);
}

.app-table tbody tr:nth-child(2n) {
    background-color: rgba(248, 251, 255, 0.85);
}

.app-table .badge {
    border-radius: 999px;
    padding: 0.36rem 0.6rem;
    font-weight: 700;
    font-size: 0.72rem;
}

.app-table .btn.btn-sm {
    border-radius: 0.5rem;
    min-width: 2rem;
}

.app-table td i.fa-circle-check,
.app-table td i.fa-circle-xmark,
.app-table td i.fa-circle-question {
    font-size: 1.05rem;
}

.app-pagination .page-link {
    border: 1px solid #cfd8e3;
    background-color: #ffffff;
    font-size: 0.8rem;
}

.app-pagination .page-link:hover,
.app-pagination .page-link:focus {
    border-color: #9fb5cf;
}

.app-pagination .page-item.active .page-link {
    border-color: #6f8fb4;
}

.app-pagination .page-item.disabled .page-link {
    border-color: #d9e1eb;
}

@media (max-width: 992px) {
    .app-table-wrap {
        border-radius: 0.75rem;
    }

    .app-table {
        min-width: 860px;
    }
}

.bold-light {
    font-weight: 600;
    color: var(--bs-primary);
}

.bold-light a:hover {
    color: var(--bs-primary);
    text-decoration: underline;
}
