﻿.filter-section {
    margin-bottom: 15px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

    .filter-section > div {
        position: relative;
    }

/* Ligne d'informations sous le titre d'un accès. Le nombre d'éléments varie selon le site et
   selon la ligne : les séparateurs sont donc portés par le conteneur et non par chaque élément,
   sans quoi on obtient une bordure orpheline ou un double filet. */
.request-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

    /* Filet entre deux mentions textuelles voisines seulement : les badges sont déjà
       distincts, ils ne prennent que l'espacement. */
    .request-meta > .request-meta-item + .request-meta-item {
        border-left: 1px solid var(--si-border-color);
        padding-left: .5rem;
    }

a.filter-info-container {
    text-decoration: initial;
    color: initial;
}

    a.filter-info-container:hover .card {
        background-color: #4c82f729;
    }

.card.closed {
    border: 4px solid #c6c6c6 !important;
    color: #c6c6c6;
}

.btn-file {
    position: relative;
    overflow: hidden;
}

    .btn-file input[type=file] {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        opacity: 0;
    }

.display-image {
    text-align: center;
}

.publish-status {
    float: right;
    position: relative;
    top: -15px;
}

.divider {
    height: 3px;
    width: 100%;
    display: block;
    margin: 23px 0;
    overflow: hidden;
    background-color: #e5e5e5;
}

.right-content .btn {
    width: 100%;
    margin: 10px 0;
}

.right-content .pdfFile {
    opacity: 0.2;
    padding: 20px;
    border-radius: 20px;
    transition: all 1s;
}

    .right-content .pdfFile.loaded {
        opacity: 1;
    }

        .right-content .pdfFile.loaded:hover {
            color: #ffffff;
            background-color: #1e4499;
            transition: all 1s;
        }

.img-qrcode {
    padding: 8px 0;
}

.bd-callout {
    padding: 1.25rem;
    background-color: var(--bd-callout-bg, var(--bs-gray-100));
    border-left: 0.25rem solid var(--bd-callout-border, var(--bs-gray-300))
}

    .bd-callout h4 {
        margin-bottom: .25rem
    }

    .bd-callout > :last-child {
        margin-bottom: 0
    }

    .bd-callout + .bd-callout {
        margin-top: -.25rem
    }

    .bd-callout .highlight {
        background-color: rgba(0,0,0,0.05)
    }

.bd-callout-info {
    --bd-callout-bg: rgba(var(--bs-info-rgb), .075);
    --bd-callout-border: rgba(var(--bs-info-rgb), .5)
}

.bd-callout-warning {
    --bd-callout-bg: rgba(var(--bs-warning-rgb), .075);
    --bd-callout-border: rgba(var(--bs-warning-rgb), .5)
}

.bd-callout-danger {
    --bd-callout-bg: rgba(var(--bs-danger-rgb), .075);
    --bd-callout-border: rgba(var(--bs-danger-rgb), .5)
}

.request-details li > span {
    margin-right: 5px
}

.list-group-item-action.active span.badge {
    color: white !important;
    background-color: #a4a5f6 !important;
}

.modal .form-control {
    padding: .3rem .6rem;
}

.modal .form-group {
    margin-bottom: .5rem;
}

.modal label.disabled {
    background-color: #00000010;
}

.modal select:not(disabled) {
    cursor: pointer;
}

.action-button {
    width: 22px;
    height: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.formulaire-container i {
    font-size: 0.7rem;
}

/* Chevron accordéon : inverse le thème (fermé = haut, ouvert = bas).
   Après theme.min.css => l'emporte à spécificité égale, sans !important. */
.accordion-button::after {
    transform: rotate(-180deg);
}
.accordion-button:not(.collapsed)::after {
    transform: rotate(0deg);
}

:root {
    --site-logo-height: 80px;
    --site-brand-font-size: 1.125rem;
    --site-brand-max-width: 16rem;
    /* Logo + padding vertical du .navbar-brand et du .navbar. */
    --site-header-height: calc(var(--site-logo-height) + 1.5rem);
}

@media (max-width: 991.98px) {
    :root {
        --site-logo-height: 56px;
        --site-brand-font-size: .9375rem;
        --site-brand-max-width: 10rem;
    }
}

/* Contraint en hauteur et non en largeur : deux logos de proportions
   différentes gardent la même ligne de base. */
.site-logo {
    height: var(--site-logo-height);
    width: auto;
}

/* Bornée en largeur : sans ça le nom du site, plus ou moins long selon le site,
   pousse le menu hors du conteneur. white-space hérite du nowrap de .navbar-brand. */
.site-brand-name {
    max-width: var(--site-brand-max-width);
    font-size: var(--site-brand-font-size);
    line-height: 1.2;
    white-space: normal;
}

/* L'en-tête est hors flux, sa hauteur ne réserve aucune place. Remplace le
   padding haut d'origine, qui est en !important et l'emporterait. */
.below-site-header {
    padding-top: calc(var(--site-header-height) + 1.5rem);
}