.recherche {
    padding: 1.8rem 0;

    display: flex;
    flex-direction: row;

    align-items: stretch;
    justify-content: center;

    background-color: var(--couleur-thème);
}

.recherche button {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.recherche select#r-cimetière {
    display: none;
}

.recherche label[for="r-cimetière"] {
    display: none;
}

.recherche .faux-select, .recherche select {
    width: 15.25rem;
}

.recherche .champ-std > label {
    /*color: #333;*/

    /*transition: font-size 25ms linear;*/
}

.recherche .sous-menu .champ-std label > span:first-child {
    display: none;
}

.recherche .sous-menu .champ-std label > small::before {
    content: '(';
}


.recherche .sous-menu .champ-std label > small::after {
    content: ')';
}

.recherche .sur-menu.barre-recherche.ouvert .barre label span {
    display: none;
}

.recherche .élément-recherche {
    height: 3.75rem;
    box-sizing: border-box;

    border-radius: 4px;

    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    background-color: white;
    box-shadow: 0 3px 6px #00000029;
}

.recherche .élément-recherche.espacement {
    margin-left: 1rem;
}

.recherche .barre-recherche {
    width: 45rem;

    display: flex;

    padding: 0 2rem;
}

.recherche .barre-recherche .barre {
    flex-grow: 2;

    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
}

.recherche .barre-recherche .barre .champ-std {
    margin-right: 1rem;
    flex-grow: 2;
}

.recherche .barre-recherche .sous-menu {
    padding: 0 2rem 1rem 2rem;

    box-sizing: border-box;


}

.recherche .barre-recherche .sous-menu .champ-std {
    padding: 1rem 0;

    border-top: 1px solid black;

    width: 100%;
}

.recherche .barre-recherche .sous-menu .champ-std.champ-date {
    grid-template-columns: 1.25rem 1fr;
    grid-column-gap: 0.5rem;
}

.recherche .barre-recherche .sous-menu .champ-std.champ-date button {
    grid-column: 1 / 2;
}

.recherche .barre-recherche .sous-menu .champ-std.champ-date > input[type="date"] {
    width: 0;
}


.recherche .barre-recherche .sous-menu .champ-std.champ-date > input,
.recherche .barre-recherche .sous-menu .champ-std.champ-date > label {
    grid-column: 2 / 3;
}

.recherche .barre-recherche .sous-menu > button {
    align-self: flex-end;
}

.recherche #bouton-rechercher span {
    display: none;
}


.recherche .sur-menu.barre-recherche.ouvert ~ button.avancée {
    background-color: #E3E3E3;
}

.recherche button.avancée {
    position: relative;

    padding: 0 0.5rem;
}

/* si la recherche n'est pas avancée, ou que le menu est ouvert */
.recherche:not(.est-avancée) button.avancée > span.pastille,
.recherche .sur-menu.barre-recherche.ouvert ~ button.avancée > span.pastille {
    display: none;
}

.recherche button.avancée > span:not(.pastille) {
    display: none;
}

.recherche button.avancée > .pastille {
    height: 1rem;
    width: 1rem;

    position: absolute;
    top: -0.25rem;
    right: -0.25rem;

    border-radius: 50%;

    background-color: #de1717;
    /*background-color: #17de6d;*/
    box-shadow: 0 5px 6px #00000029;

    pointer-events: none;
}

input[name="r-nom"]:invalid ~ label::after {
    content: 'requis';
}

/*select[name="r-cimetière"]:invalid ~ .faux-select[data-for="r-cimetière"] .sélection p::after, */
.faux-select[data-for="r-cimetière"].invalide .sélection p::after {
    content: 'requis';
    margin-left: 10px;
    color: #de1717;
}

@media screen and (max-width: 68.75rem) {
    form.recherche {
        padding-right: 2rem;
        padding-left: 2rem;

        display: grid;
        grid-template-columns: 1fr 3.75rem;
        grid-gap: 0.5rem;
    }

    form.recherche [name="r-cimetière"],
    form.recherche [data-for="r-cimetière"] {
        grid-column: span 2;

        width: auto;
    }

    form.recherche .barre-recherche {
        width: auto;
    }

    .recherche .élément-recherche.espacement {
        margin: 0;
    }
}

@media screen and (max-width: 34.375rem) {
    form.recherche label[for="r-nom"] span {
        display: none;
    }

    form.recherche .champ-std input {
        min-width: 0;
    }

    form.recherche .barre-recherche.sur-menu.ouvert {
        border-radius: 4px;
    }

    form.recherche .barre-recherche .sous-menu {
        width: 100vw;

        padding: 2rem;

        top: calc(100% + 1.8rem);
        left: -2rem;
    }

    .recherche .barre-recherche .sous-menu .champ-std:first-child {
        border-top: none;
    }
}
