:root,
[data-bs-theme=light]{
    --bs-green-700 : #24a079;
}
:root,
[data-bs-theme=dark]{
    --bs-green-700 : #53d2ac;
}

html, body {
    height: 100%;
    margin: 0;
    font-family: "Roboto", Arial, sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    letter-spacing: 0.05rem;
}
.sidebar {
    min-height: 100vh;
}
.menu-toggle .bi {
    transition: transform 0.3s ease;
}
.menu-toggle[aria-expanded="true"] .bi {
    transform: rotate(90deg);
}
#doodax a {
    font-family: "Michroma", sans-serif;
    text-decoration: none;
    color: var(--bs-green-700);
}

ul li {
    list-style: none;
}

.nav-link,
.nav-link:hover{
    color: var(--bs-primary-text-emphasis);
}

.nav-item.active {
    color: var(--bs-secondary-text-emphasis);
    background-color: var(--bs-secondary-bg-subtle);
    border-color: var(--bs-secondary-border-subtle);
}

ul.success { --branch-color: var(--bs-success); }
ul.info { --branch-color: var(--bs-info); }
ul.warning { --branch-color: var(--bs-warning); }

main :where(li ul):before {
    position: absolute;
    bottom: .25rem;
    inset-inline-start: 0;
    top: .25rem;
    width: 2px;
    --tw-bg-opacity: 1;
    background-color: var(--branch-color, #ccc);
    opacity: .3;
    content: "";
}

:where(main li) {
    position: relative;
    display: flex;
    flex-shrink: 0;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: stretch;
}

.card {
    border-color: var(--bs-dark-border-subtle);
}
.card-img-top {
    height: 200px;           /* fixe la hauteur à 200px (modifiable) */
    object-fit: cover;       /* recadre l'image pour remplir sans déformer */
    width: 100%;             /* garantit la largeur maximale */
}
/* Thème clair → en-tête clair */
[data-bs-theme="light"] thead {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

/* Thème sombre → en-tête sombre */
[data-bs-theme="dark"] thead {
    background-color: var(--bs-dark);
    color: var(--bs-light);
}

[data-bs-theme="light"] .list-group-item.active .badge {
    background-color: #fff !important;
    color: var(--bs-primary-text-emphasis);
}
[data-bs-theme="dark"] .list-group-item.active .badge {
    background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
    color: var(--bs-primary-text-emphasis);
}
[data-bs-theme="light"] .list-group-item.active.bg-body-secondary {
    color: #000;
    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color) !important;
}
#eventList {
    flex-direction: row;
}

#eventList .col-12 {
    width: 100% !important;
}

.list-group-item.text-muted h5 {
    font-size: 1.0em;
}

.list-group-item.text-muted .badge {
    display: none;
}

.list-group-item .bi-microsoft-teams {
    position: absolute;
    right: 20%;
}

.list-group-item h5 small {
    font-size: 0.675em;
}

main {
    scroll-behavior: smooth; /* scroll fluide */
}

main section {
    scroll-margin-top: 120px; /* marge par défaut, sera ajustée en JS */
}

#toc .list-group-item.active {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
    font-weight: bold;
    border-left: 4px solid var(--bs-primary);
}