/**
 * Archive Apidae — nouvelle charte (Mattone / Mulish, orange, cartes arrondies)
 * Chargée après apidae-global.css et le thème : surcharge les anciens styles
 * du module ".module-apidae-archive" uniquement.
 *
 * GENERAL
 * FILTRES & CARTE
 * COMPTEUR
 * GRILLE & CARTES
 * CARTE MAPBOX
 * PAGINATION
 * MEDIA QUERIES
 */

.module-apidae-archive {
    --apa-primary: var(--color-primary, #ff5a1f);
    --apa-primary-dark: var(--color-primary-bis, #cc4819);
    --apa-secondary: var(--color-secondary, #fcc133);
    --apa-text: #2c2f31;
    --apa-muted: #6b6f73;
    --apa-surface: #fff;
    --apa-radius: .75rem;
    --apa-gap: 1.875rem;
    --apa-sticky-top: 7.5rem;
}


/* GENERAL
---------------------------------------- */
.module-apidae-archive .container-archive {
    color: var(--apa-text);
}


/* FILTRES & CARTE
---------------------------------------- */
.module-apidae-archive .container-archive #top-container {
    align-items: center;
    border-bottom: 1px solid rgba(44, 47, 49, .12);
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    justify-content: space-between;
    padding-bottom: 1.5rem;
}

.module-apidae-archive .container-archive #top-container .filtre-selection {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: .75rem;
    width: auto;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap {
    position: relative;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap::after {
    display: none;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--apa-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ff5a1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: right 1.1rem center;
    background-repeat: no-repeat;
    background-size: .75rem auto;
    border: 1.5px solid var(--apa-primary);
    border-radius: 3rem;
    color: var(--apa-text);
    cursor: pointer;
    font-family: var(--font-general), arial, sans-serif;
    font-size: .875rem;
    font-weight: 700;
    height: 2.75rem;
    letter-spacing: .02em;
    line-height: 1;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 0 2.75rem 0 1.25rem;
    text-overflow: ellipsis;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
    white-space: nowrap;
    width: 13.5rem;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select:hover {
    background-color: #fff1eb;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select:focus-visible {
    outline: 2px solid var(--apa-primary);
    outline-offset: 2px;
}

/* Filtre actif : pastille pleine, comme l'onglet actif des actualités */
.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select.is-active {
    background-color: var(--apa-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    color: #fff;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select option {
    background: #fff;
    color: var(--apa-text);
    font-size: 1rem;
    font-weight: 400;
    text-transform: none;
}

.module-apidae-archive .container-archive #top-container #display-map {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: .75rem;
    justify-content: flex-end;
    margin: 0;
    width: auto;
}

.module-apidae-archive .container-archive #top-container #display-map .switch-title {
    color: var(--apa-text);
    cursor: pointer;
    font-family: var(--font-general), arial, sans-serif;
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.module-apidae-archive .switch {
    display: inline-block;
    flex: 0 0 auto;
    height: 1.625rem;
    margin: 0;
    position: relative;
    width: 3rem;
}

.module-apidae-archive .switch .slider,
.module-apidae-archive .switch .slider.round {
    background-color: rgba(44, 47, 49, .2);
    border-radius: 3rem;
    cursor: pointer;
    height: auto;
    inset: 0;
    margin: 0; /* l'ancien ".slider.round" ajoute un margin-left qui raccourcit la piste */
    position: absolute;
    transition: background-color .2s ease;
    width: auto;
}

.module-apidae-archive .switch .slider::before,
.module-apidae-archive .switch .slider.round::before {
    background-color: #fff;
    border-radius: 50%;
    bottom: auto;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    content: "";
    height: 1.25rem;
    left: .1875rem;
    position: absolute;
    top: .1875rem;
    transition: transform .2s ease;
    width: 1.25rem;
}

.module-apidae-archive .switch input:checked + .slider {
    background-color: var(--apa-primary);
}

.module-apidae-archive .switch input:checked + .slider::before {
    transform: translateX(1.375rem);
}

.module-apidae-archive .switch input:focus-visible + .slider {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--apa-primary);
}


/* COMPTEUR
---------------------------------------- */
.module-apidae-archive .container-archive #count-result-container {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .75rem;
    margin: 2rem 0 0;
}

.module-apidae-archive .container-archive #count-result-container #counter-result {
    color: var(--apa-primary);
    font-family: var(--font-title), arial, sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.1;
    padding: 0;
    text-transform: uppercase;
}

.module-apidae-archive .container-archive #count-result-container #sentence-result,
.module-apidae-archive .container-archive #count-result-container #sentence-result span {
    color: var(--apa-muted);
    font-family: var(--font-general), arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.4;
}


/* GRILLE & CARTES
---------------------------------------- */
.module-apidae-archive .container-archive #archive-body {
    display: block;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: var(--apa-gap);
    width: 100%;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .wrap-100 {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .wrap-60 {
    flex: 1 1 58%;
    min-width: 0;
    width: 58%;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container {
    display: grid;
    gap: 2.5rem var(--apa-gap);
    padding-top: 2rem;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item {
    color: inherit;
    display: flex;
    flex-direction: column;
    margin: 0;
    min-width: 0;
    text-decoration: none;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-img {
    aspect-ratio: 4 / 3;
    background-color: #efe6e1;
    border-radius: var(--apa-radius);
    overflow: hidden;
    position: relative;
    width: 100%;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-img::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .45) 100%);
    border-radius: 0;
    content: "";
    height: 100%;
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .3s ease;
    width: 100%;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
    width: 100%;
}

/* "Voir la fiche" : pastille orange en bas de l'image */
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay {
    align-items: center;
    background-color: var(--apa-primary);
    border-radius: 3rem;
    bottom: 1rem;
    color: #fff;
    display: inline-flex;
    font-family: var(--font-general), arial, sans-serif;
    font-size: .8125rem;
    font-weight: 700;
    gap: .5rem;
    left: 1rem;
    letter-spacing: .02em;
    line-height: 1;
    opacity: 0;
    padding: .55rem 1rem;
    position: absolute;
    right: auto;
    text-align: left;
    text-transform: uppercase;
    top: auto;
    transform: translateY(.5rem);
    transition: opacity .3s ease, transform .3s ease;
    z-index: 2;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay .icon {
    display: inline-flex;
    margin: 0;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay svg {
    height: .75rem;
    margin: 0;
    width: auto;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay svg * {
    fill: #fff;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .desc {
    border: 0;
    display: flex;
    flex-direction: column;
    gap: .375rem;
    padding: 1rem 0 0;
    transition: none;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-cat {
    color: var(--apa-primary);
    font-family: var(--font-general), arial, sans-serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: var(--apa-text);
    display: -webkit-box;
    font-family: var(--font-title), arial, sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    overflow: hidden;
    text-transform: uppercase;
    transition: color .2s ease;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place {
    align-items: center;
    display: flex;
    font-family: var(--font-general), arial, sans-serif;
    font-size: .9375rem;
    gap: .375rem;
    line-height: 1.3;
    margin: 0;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place .archive-card-place-svg {
    color: var(--apa-primary);
    display: inline-flex;
    flex: 0 0 auto;
    height: 1rem;
    margin: 0;
    width: auto;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place .archive-card-place-svg svg {
    height: 100%;
    width: auto;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place span {
    color: var(--apa-muted);
}

/* Survol / focus clavier */
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .desc,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible .desc {
    border: 0;
    padding: 1rem 0 0;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover img,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible img {
    transform: scale(1.05);
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .archive-card-img::after,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible .archive-card-img::after,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .overlay,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible .overlay {
    opacity: 1;
    transform: translateY(0);
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .archive-card-title,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible .archive-card-title {
    color: var(--apa-primary);
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible {
    border-radius: var(--apa-radius);
    outline: 2px solid var(--apa-primary);
    outline-offset: 4px;
}


/* CARTE MAPBOX
---------------------------------------- */
.module-apidae-archive .container-archive #archive-body #map-container {
    padding-top: 2rem;
    position: sticky;
    top: var(--apa-sticky-top);
}

.module-apidae-archive .container-archive #archive-body #map-container.close-map-1 {
    flex: 0 0 40%;
    padding-left: 0;
    position: sticky;
    right: auto;
    width: 40%;
    z-index: 1;
}

.module-apidae-archive .container-archive #archive-body #map-container.close-map-1 #map {
    border-radius: var(--apa-radius);
    height: calc(100vh - var(--apa-sticky-top) - 3rem);
    min-height: 25rem;
    overflow: hidden;
    width: 100%;
}

/* Carte masquée : invisible mais dimensionnée (sinon elle s'initialise à 0px),
   sans la sortir de l'écran pour ne pas créer de scroll horizontal */
.module-apidae-archive .container-archive #archive-body #list-result-filter {
    position: relative;
}

.module-apidae-archive .container-archive #archive-body #map-container.close-map-2 {
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    right: auto;
    top: 0;
    width: 40%;
    z-index: -1;
}

.module-apidae-archive .container-archive #archive-body #map-container.close-map-2 #map {
    height: 30rem;
    width: 100%;
}

/* Popup au survol d'un point : même langage que les cartes de la liste */
.module-apidae-archive .apidae-archive-popup .mapboxgl-popup-content,
.module-apidae-archive .apidae-archive-popup .maplibregl-popup-content {
    background: #fff;
    border-radius: var(--apa-radius);
    box-shadow: 0 10px 30px rgba(44, 47, 49, .18);
    overflow: hidden;
    padding: 0;
}

.module-apidae-archive .apidae-archive-popup.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,
.module-apidae-archive .apidae-archive-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip {
    border-top-color: #fff;
}

.module-apidae-archive .apidae-archive-popup.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,
.module-apidae-archive .apidae-archive-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip {
    border-bottom-color: #fff;
}

.module-apidae-archive .apidae-map-popup {
    color: var(--apa-text);
    display: flex;
    flex-direction: column;
    font-family: var(--font-general), arial, sans-serif;
    outline: none;
    text-decoration: none;
    width: 16rem;
}

.module-apidae-archive .apidae-map-popup-img {
    aspect-ratio: 16 / 10;
    background-color: #efe6e1;
    display: block;
    overflow: hidden;
    width: 100%;
}

.module-apidae-archive .apidae-map-popup-img img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.module-apidae-archive .apidae-map-popup-body {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    padding: .875rem 1rem 1rem;
}

.module-apidae-archive .apidae-map-popup-cat {
    color: var(--apa-primary);
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
}

.module-apidae-archive .apidae-map-popup-title {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: var(--apa-text);
    display: -webkit-box;
    font-family: var(--font-title), arial, sans-serif;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-transform: uppercase;
}

.module-apidae-archive .apidae-map-popup-place {
    align-items: center;
    color: var(--apa-muted);
    display: flex;
    font-size: .8125rem;
    gap: .3rem;
}

.module-apidae-archive .apidae-map-popup-place svg {
    color: var(--apa-primary);
    flex: 0 0 auto;
    height: .85rem;
    width: auto;
}

.module-apidae-archive .apidae-map-popup-link {
    align-self: flex-start;
    background-color: var(--apa-primary);
    border-radius: 3rem;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .02em;
    margin-top: .4rem;
    padding: .45rem .9rem;
    text-transform: uppercase;
}


/* PAGINATION
---------------------------------------- */
.module-apidae-archive #archive-footer {
    display: flex;
    justify-content: center;
    margin: 3rem 0 0;
}

.module-apidae-archive #archive-footer .pagination-container {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.module-apidae-archive #archive-footer .btn {
    align-items: center;
    background-color: var(--apa-primary);
    border: 0;
    border-radius: 3rem;
    color: #fff;
    display: inline-flex;
    font-family: var(--font-general), arial, sans-serif;
    font-size: .9375rem;
    font-weight: 700;
    letter-spacing: .02em;
    padding: .8rem 1.75rem;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .2s ease;
}

.module-apidae-archive #archive-footer .btn:hover,
.module-apidae-archive #archive-footer .btn:focus-visible {
    background-color: var(--apa-primary-dark);
    color: #fff;
}

.module-apidae-archive #archive-footer .page-info {
    color: var(--apa-muted);
    font-size: .9375rem;
}


/* MEDIA QUERIES
---------------------------------------- */
@media only screen and (max-width: 1200px) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 1024px) {
    .module-apidae-archive {
        --apa-gap: 1.25rem;
        --apa-sticky-top: 6.5rem;
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3 {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Tablette & mobile : la carte passe au-dessus de la liste */
@media only screen and (max-width: 960px) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter {
        flex-direction: column-reverse;
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter .wrap-60,
    .module-apidae-archive .container-archive #archive-body #list-result-filter .wrap-100 {
        flex: 1 1 auto;
        width: 100%;
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3,
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .module-apidae-archive .container-archive #archive-body #map-container.close-map-1 {
        flex: 0 0 auto;
        position: relative;
        top: auto;
        width: 100%;
    }

    .module-apidae-archive .container-archive #archive-body #map-container.close-map-1 #map {
        height: 60vh;
        min-height: 20rem;
    }
}

@media only screen and (max-width: 768px) {
    .module-apidae-archive .container-archive #top-container {
        align-items: stretch;
        flex-direction: column-reverse;
        gap: 1rem;
    }

    .module-apidae-archive .container-archive #top-container .filtre-selection {
        display: grid;
        gap: .625rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select {
        min-width: 0;
        width: 100%;
    }

    .module-apidae-archive .container-archive #top-container #display-map {
        justify-content: space-between;
        width: 100%;
    }

    .module-apidae-archive .container-archive #count-result-container {
        margin-top: 1.5rem;
    }

    .module-apidae-archive .container-archive #count-result-container #counter-result {
        font-size: 1.375rem;
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container {
        gap: 2rem var(--apa-gap);
        padding-top: 1.5rem;
    }

    /* Pas de survol sur mobile : toute la carte est cliquable, la pastille est inutile */
    .module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay {
        display: none;
    }
}

@media only screen and (max-width: 480px) {
    .module-apidae-archive .container-archive #top-container .filtre-selection {
        grid-template-columns: minmax(0, 1fr);
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3,
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: minmax(0, 1fr);
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-title {
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item img,
    .module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay,
    .module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-img::after {
        transition: none;
    }
}


/* ==========================================================================
   MAQUETTE XD 2026 — écran "OT-NIMES-H-IMG – 1" (archive "Monuments et sites", 1920px)
   Surcharge tout ce qui précède.
   - En-tête : titre Mattone Bold 50/65 -2px noir, texte Mulish 18/22 -0.36px noir
   - Filtres : pilules noires 53px de haut, Mattone 17/24 -0.34px blanc, majuscules ; écart 10px
   - "Afficher la carte" : Mattone 17/24 noir + interrupteur 24×16
   - Filet orange clair sous la barre (27px sous les pilules)
   - "85 résultats" Mattone Bold 35/39 -2.1px, 48px sous le filet ; phrase Mulish 22/29 -0.44px dessous
   - Grille : 5 colonnes de 340px, écart 24px (40px entre les lignes), contenu de 56 à 1852px
   - Carte : photo carrée rayon 20 ; catégorie Mulish Light 20/33 -0.8px #232740 majuscules (18px sous la photo) ;
     titre Mattone Bold 30/30 -1.2px ; lieu Mulish 22/29 -0.44px #A7A7A7 + pin orange 13×18
   - "Voir plus" : 152×30, contour noir 2px, centré, 72px sous la grille
   ========================================================================== */

/* En-tête de la page (module "texte d'en-tête" juste avant l'archive) */
.module-head-text:has(+ .module-apidae-archive) .title,
.module-head-text:has(+ .module-apidae-archive) h1 {
    color: #000;
    font-family: 'mattone', var(--font-title), sans-serif;
    font-size: clamp(2rem, 2.604vw, 3.125rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1.3;
    margin: 0;
    text-transform: uppercase;
}

.module-head-text:has(+ .module-apidae-archive) .cols-wrapper .col.col-2 {
    margin-top: 1.375rem !important; /* texte 22px sous le titre (le thème impose 35px) */
}

.module-head-text:has(+ .module-apidae-archive) .txt,
.module-head-text:has(+ .module-apidae-archive) .txt p {
    color: #000;
    font-family: var(--font-general), arial, sans-serif;
    font-size: 1.125rem;
    letter-spacing: -.02em;
    line-height: 1.222;
}

.module-apidae-archive {
    --apa-radius: 1.25rem;
    --apa-gap: 1.5rem;       /* 24px */
    --apa-text: #000;
}

@media only screen and (min-width: 1200px) {
    .module-apidae-archive .container-archive.container-large {
        padding-left: 2.917vw;  /* 56px sur 1920 */
        padding-right: 3.542vw; /* 68px : grille de 1796px (5 × 340 + 4 × 24) */
    }
}

/* Barre filtres + carte */
.module-apidae-archive .container-archive #top-container {
    align-items: flex-end;
    border-bottom: 3px solid #ffd1be;
    gap: 1rem 2rem;
    padding-bottom: 1.6875rem;   /* 27px */
}

.module-apidae-archive .container-archive #top-container .filtre-selection {
    gap: .625rem;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select {
    background-color: #000;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='8' viewBox='0 0 15 8'%3E%3Cpath d='M1 1l6.5 6L14 1' fill='none' stroke='%23ff5a1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); /* chevron 15×8, trait 2px #FF5A1F */
    background-position: right 1.5rem center;  /* 24px du bord */
    background-size: .9375rem .5rem;
    border: 0;
    border-radius: 999px;
    color: #fff;
    field-sizing: content;       /* largeur du libellé affiché */
    font-family: 'Mattone Regular', 'mattone', var(--font-title), sans-serif; /* maquette : Mattone Regular 17px */
    font-size: 1.0625rem;
    font-weight: 400;
    height: 3.375rem;            /* 54px, rayon 27 */
    letter-spacing: -.02em;
    line-height: 1.412;
    max-width: 20rem;
    min-width: 0;
    padding: 0 3.375rem 0 1.375rem;
    width: auto;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select:hover,
.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select.is-active {
    background-color: var(--apa-primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='8' viewBox='0 0 15 8'%3E%3Cpath d='M1 1l6.5 6L14 1' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); /* chevron blanc sur fond orange */
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}

.module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select option {
    font-family: var(--font-general), arial, sans-serif;
}

.module-apidae-archive .container-archive #top-container #display-map {
    gap: .625rem;
    padding-bottom: .5rem;
}

.module-apidae-archive .container-archive #top-container #display-map .switch-title {
    color: #000;
    font-family: 'Mattone Regular', 'mattone', var(--font-title), sans-serif; /* maquette : Mattone Regular 17px */
    font-size: 1.0625rem;
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.412;
}

/* Interrupteur 24×16 noir */
.module-apidae-archive .switch {
    height: 1rem;
    width: 1.5rem;
}

.module-apidae-archive .switch .slider,
.module-apidae-archive .switch .slider.round {
    background-color: #a7a7a7;
}

.module-apidae-archive .switch .slider::before,
.module-apidae-archive .switch .slider.round::before {
    box-shadow: none;
    height: .625rem;
    left: .1875rem;
    top: .1875rem;
    width: .625rem;
}

.module-apidae-archive .switch input:checked + .slider {
    background-color: #000;
}

.module-apidae-archive .switch input:checked + .slider::before {
    transform: translateX(.5rem);
}

.module-apidae-archive .switch input:focus-visible + .slider {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #000;
}

/* Compteur : "85 RÉSULTATS" puis la phrase dessous */
.module-apidae-archive .container-archive #count-result-container {
    display: block;
    margin: 3rem 0 0;            /* 48px sous le filet */
}

.module-apidae-archive .container-archive #count-result-container #counter-result {
    color: #000;
    font-family: 'mattone', var(--font-title), sans-serif;
    font-size: clamp(1.625rem, 1.823vw, 2.1875rem);
    font-weight: 700;
    letter-spacing: -.06em;
    line-height: 1.114;
}

.module-apidae-archive .container-archive #count-result-container #sentence-result,
.module-apidae-archive .container-archive #count-result-container #sentence-result span {
    color: #000;
    font-size: clamp(1.125rem, 1.146vw, 1.375rem);
    letter-spacing: -.02em;
    line-height: 1.318;
}

/* Grille */
.module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container {
    gap: 2.5rem var(--apa-gap);  /* 40px entre les lignes, 24px entre les colonnes */
    padding-top: 2.8125rem;      /* 45px sous la phrase */
}

.module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Carte d'un objet */
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-img {
    aspect-ratio: 1 / 1;
    border-radius: var(--apa-radius);
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-img::after,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .overlay {
    display: none;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .desc,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .desc,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible .desc {
    gap: 0;
    padding: 1.125rem 0 0;       /* 18px sous la photo */
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-cat {
    color: #232740;
    font-family: var(--font-general), arial, sans-serif;
    font-size: clamp(1rem, 1.042vw, 1.25rem);
    font-weight: 300;
    letter-spacing: -.04em;
    line-height: 1.4;
    text-transform: uppercase;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-title {
    -webkit-line-clamp: 2;
    color: #000;
    font-family: 'mattone', var(--font-title), sans-serif;
    font-size: clamp(1.25rem, 1.5625vw, 1.875rem);
    font-weight: 700;
    letter-spacing: -.04em;
    line-height: 1;
    margin: .125rem 0 .25rem;
    text-transform: none;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place {
    font-size: clamp(1rem, 1.146vw, 1.375rem);
    gap: .4375rem;
    line-height: 1.318;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place .archive-card-place-svg {
    color: var(--apa-primary);
    height: 1.125rem;            /* pin 13×18 */
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-place span {
    color: #a7a7a7;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .archive-card-title,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:focus-visible .archive-card-title {
    color: var(--apa-primary);
}

/* Lien de la carte : sur le titre, étendu à toute la carte */
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item {
    position: relative;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-link {
    color: inherit;
    text-decoration: none;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-link::after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 1;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:has(.archive-card-link:focus-visible) {
    border-radius: var(--apa-radius);
    outline: 2px solid #000;
    outline-offset: 4px;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item .archive-card-link:focus-visible {
    outline: none;
}

.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:has(.archive-card-link:focus-visible) .archive-card-title,
.module-apidae-archive .container-archive #archive-body #list-result-filter .grid-item:hover .archive-card-title {
    color: var(--apa-primary);
}

/* Slider de photos (maquette : chevrons 15×30, trait 2px #FF5A1F, à 14px des bords ;
   points de 5px tous les 11px, à 13px du bas, l'actif en jaune) */
.module-apidae-archive .archive-card-img .archive-card-slides {
    display: flex;
    height: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    position: relative;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    z-index: 2;                  /* au-dessus du lien étendu : on peut faire glisser les photos */
}

.module-apidae-archive .archive-card-img .archive-card-slides::-webkit-scrollbar {
    display: none;
}

.module-apidae-archive .archive-card-img .archive-card-slide {
    display: block;
    flex: 0 0 100%;
    height: 100%;
    overflow: hidden;
    scroll-snap-align: start;
}

.module-apidae-archive .archive-card-img .archive-card-arrow {
    align-items: center;
    background: none;
    border: 0;
    color: var(--apa-primary);
    cursor: pointer;
    display: flex;
    height: 2.75rem;             /* zone cliquable 44px, chevron 15×30 centré à 14px du bord */
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.75rem;
    z-index: 3;
}

.module-apidae-archive .archive-card-img .archive-card-arrow--prev {
    left: 0;
}

.module-apidae-archive .archive-card-img .archive-card-arrow--next {
    right: 0;
}

.module-apidae-archive .archive-card-img .archive-card-arrow svg {
    display: block;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, .35)); /* lisible sur les photos claires */
    height: 1.875rem;
    width: .9375rem;
}

.module-apidae-archive .archive-card-img .archive-card-arrow:hover svg path,
.module-apidae-archive .archive-card-img .archive-card-arrow:focus-visible svg path {
    stroke-width: 3;
}

.module-apidae-archive .archive-card-img .archive-card-arrow:focus-visible {
    border-radius: .5rem;
    outline: 2px solid #fff;
    outline-offset: -4px;
}

.module-apidae-archive .archive-card-img .archive-card-dots {
    bottom: .8125rem;            /* 13px */
    display: flex;
    gap: .375rem;                /* 5px + 6px = un point tous les 11px */
    left: 50%;
    pointer-events: none;
    position: absolute;
    transform: translateX(-50%);
    z-index: 3;
}

.module-apidae-archive .archive-card-img .archive-card-dots span {
    background: rgba(255, 255, 255, .8);
    border-radius: 50%;
    box-shadow: 0 0 2px rgba(0, 0, 0, .3);
    height: .3125rem;
    transition: background-color .2s ease;
    width: .3125rem;
}

.module-apidae-archive .archive-card-img .archive-card-dots span.is-active {
    background: var(--apa-secondary);
}

@media (hover: none) {
    /* Écrans tactiles : on fait glisser au doigt, flèches inutiles */
    .module-apidae-archive .archive-card-img .archive-card-arrow {
        display: none;
    }
}

/* "Voir plus" */
.module-apidae-archive #archive-footer {
    margin-top: 4.5rem;          /* 72px sous la grille */
}

.module-apidae-archive #archive-footer .btn {
    align-items: center;
    background: transparent;
    border: 2px solid #000;
    border-radius: .9375rem;
    color: #000;
    display: inline-flex;
    font-family: var(--font-general), arial, sans-serif;
    font-size: 1.1875rem;
    font-weight: 900;
    height: 1.875rem;            /* 30px */
    justify-content: center;
    letter-spacing: -.02em;
    line-height: .895;
    min-width: 9.5rem;           /* 152px */
    padding: 0 1.25rem;
    text-transform: uppercase;
}

.module-apidae-archive #archive-footer .btn:hover,
.module-apidae-archive #archive-footer .btn:focus-visible {
    background: #000;
    color: #fff;
}

@media only screen and (max-width: 1440px) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 1200px) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 960px) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3,
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 768px) {
    .module-apidae-archive .container-archive #top-container .filtre-selection .filterSelectWrap select {
        height: 2.75rem;
        max-width: none;
        width: 100%;
    }
}

@media only screen and (max-width: 480px) {
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-3,
    .module-apidae-archive .container-archive #archive-body #list-result-filter #list-result-filter-item-container.list-object-col-5 {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* RESPONSIVE — mobile : filtres sur toute la largeur (ils étaient collés à droite) */
@media only screen and (max-width: 768px) {
    .module-apidae-archive .container-archive #top-container {
        align-items: stretch;
    }

    .module-apidae-archive .container-archive #top-container .filtre-selection,
    .module-apidae-archive .container-archive #top-container .filterSelectWrap {
        width: 100%;
    }
}

/* Interrupteur "Masquer la carte" : ne rétrécit jamais (il devenait un rond sur mobile), plus grand au doigt */
.module-apidae-archive .switch {
    flex: 0 0 auto;
}

@media only screen and (max-width: 768px) {
    .module-apidae-archive .switch {
        height: 1.625rem;
        width: 2.75rem;
    }

    .module-apidae-archive .switch .slider::before,
    .module-apidae-archive .switch .slider.round::before {
        height: 1.125rem;
        left: .25rem;
        top: .25rem;
        width: 1.125rem;
    }

    .module-apidae-archive .switch input:checked + .slider::before {
        transform: translateX(1.125rem);
    }
}

/* ==========================================================================
   MOBILE — filtres repliés derrière un bouton « Filtrer » (accordéon), carte masquée par défaut,
   moins d'espace entre l'en-tête de la page et les filtres
   ========================================================================== */
.module-apidae-archive .archive-filters-toggle {
    display: none;
}

/* Tablette/mobile : la carte est masquée par défaut (script) ; avant que le script ne s'exécute,
   on la garde invisible pour éviter qu'elle n'apparaisse puis disparaisse */
@media only screen and (max-width: 960px) {
    .module-apidae-archive:not(.is-map-ready) .container-archive #archive-body #map-container {
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1;
    }
}

@media only screen and (max-width: 768px) {
    /* Espace en-tête → filtres : 45 + 45px auparavant, 24px maintenant */
    .module[class]:has(+ .module-apidae-archive) {
        padding-bottom: 0;
    }

    .module-apidae-archive.module[class] {
        padding-top: 1.5rem;
    }

    .module-apidae-archive .container-archive #top-container {
        flex-direction: column;
        gap: .75rem;
        padding-bottom: 1.25rem;
    }

    .module-apidae-archive .container-archive #top-container .archive-filters-toggle {
        align-items: center;
        background-color: #000;
        border: 0;
        border-radius: 999px;
        color: #fff;
        cursor: pointer;
        display: flex;
        font-family: 'Mattone Regular', 'mattone', var(--font-title), sans-serif;
        font-size: 1.0625rem;
        gap: .5rem;
        height: 3rem;
        letter-spacing: -.02em;
        order: 1;
        padding: 0 1.5rem 0 1.375rem;
        text-transform: uppercase;
        width: 100%;
    }

    .module-apidae-archive .container-archive #top-container .archive-filters-toggle:focus-visible {
        outline: 2px solid #000;
        outline-offset: 2px;
    }

    .module-apidae-archive .container-archive #top-container .archive-filters-toggle-count {
        color: var(--apa-primary);
    }

    .module-apidae-archive .container-archive #top-container .archive-filters-toggle-chevron {
        color: var(--apa-primary);
        margin-left: auto;
        transition: transform .2s ease;
    }

    .module-apidae-archive .container-archive #top-container.is-filters-open .archive-filters-toggle-chevron {
        transform: rotate(180deg);
    }

    /* Filtres repliés tant que le bouton n'est pas ouvert */
    .module-apidae-archive .container-archive #top-container .filtre-selection {
        display: none;
        order: 2;
    }

    .module-apidae-archive .container-archive #top-container.is-filters-open .filtre-selection {
        display: grid;
    }

    .module-apidae-archive .container-archive #top-container #display-map {
        order: 3;
    }

    .module-apidae-archive .container-archive #count-result-container {
        margin-top: 1.25rem;
    }
}
