/*
THRIVE CSS
Version: 0.1.0*/

/* selector .swiper-button-right, selector .swiper-button-left{
    width: 40px !important;
    height: 40px !important;
    padding: 9px 9px 9px 9px;
    background-color: #fff;
    border-radius: 25px;
    box-shadow: 0px 2px 5px #aaa;
}
selector .swiper-button-right svg, selector .swiper-button-next svg{
    width:20px;
    height:20px;
}
selector .dce-container-navigation{
    margin-top: -170px;
    left: -340px;
    width: 110px;
}

@media (max-width:1000px) {
    selector .dce-container-navigation{
        margin-top: -20px;
        top:-4px;
        left: 180px !important;
        width: 110px;
    }      
} */

.annonces-swiper .elementor-loop-container~.elementor-swiper-button {
    top: 50%;
    z-index: 9;
    cursor: pointer;
    width: 40px !important;
    height: 40px !important;
    padding: 9px 9px 9px 9px;
    background-color: #fff;
    border-radius: 25px;
    box-shadow: 0px 2px 5px #aaa;
    background-image: none;
}

@media (min-width: 769px) {

    html[lang="fr-FR"] .annonces-swiper .elementor-loop-container~.elementor-swiper-button,
    html[lang="en-GB"] .annonces-swiper .elementor-loop-container~.elementor-swiper-button {
        margin-top: -250px;
    }

    html[lang="nl-NL"] .annonces-swiper .elementor-loop-container~.elementor-swiper-button {
        margin-top: -210px;
    }

    .annonces-swiper .elementor-loop-container+.elementor-swiper-button-prev {
        left: -410px !important;
    }

    .annonces-swiper .elementor-loop-container~.elementor-swiper-button-next {
        left: -360px !important;
    }
}

@media (max-width: 768px) {
    .annonces-swiper .elementor-loop-container~.elementor-swiper-button {
        margin-top: -380px;
    }

    .annonces-swiper .elementor-loop-container+.elementor-swiper-button-prev {
        right: 100px !important;
        left: unset !important;
    }

    .annonces-swiper .elementor-loop-container~.elementor-swiper-button-next {
        right: 50px !important;
        left: unset !important;
    }
}

@media (max-width: 500px) {
    .annonces-swiper .elementor-loop-container~.elementor-swiper-button {
        margin-top: -360px;
    }

    .annonces-swiper .elementor-loop-container+.elementor-swiper-button-prev {
        right: 100px !important;
        left: unset !important;
    }

    .annonces-swiper .elementor-loop-container~.elementor-swiper-button-next {
        right: 50px !important;
        left: unset !important;
    }
}

/*---------------------------------------------------------------------------------------
  THRIVE 2026 : Swipers - Arrow button position
----------------------------------------------------------------------------------------*/

.elementor-element.elementor-pagination-position-outside .swiper,
.elementor-lightbox.elementor-pagination-position-outside .swiper {
    padding-bottom: 0px !important;
}

.elementor-element.elementor-pagination-position-outside .swiper .elementor-swiper-button,
.elementor-lightbox.elementor-pagination-position-outside .swiper .elementor-swiper-button {
    top: 50%;
}

.elementor-element.elementor-pagination-position-outside .swiper~.elementor-swiper-button,
.elementor-lightbox.elementor-pagination-position-outside .swiper~.elementor-swiper-button {
    top: revert-rule;
}

/*---------------------------------------------------------------------------------------
  THRIVE 2026 : Annonces - Achive annonces
----------------------------------------------------------------------------------------*/

/* Achive annonces */
@media (max-width: 1023px) {
    .post-type-archive-annonce .elementor-widget-loop-grid .elementor-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    }
}

@media (min-width: 1024px) {
    .post-type-archive-annonce .elementor-widget-loop-grid .elementor-grid {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

v .post-type-archive-annonce .elementor-popup-modal .dialog-widget-content {
    border-radius: 10px;
}

@media (max-width: 575px) {
    .post-type-archive-annonce .uael-button-wrapper {
        width: 100%;
    }
}

/* Bouton */
.post-type-archive-annonce .elementor-button-content-wrapper {
    gap: 0px;
}

/* Nice Select */
.nice-select {
    padding: 14px 22px 14px 22px;
    border-radius: 25px 25px 25px 25px !important;
    box-shadow: 0px 2px 5px 0px #AAAAAA;
    font-family: "Poppins", Sans-serif;
    font-size: 13px;
    font-weight: 500;
    width: 100%;
    height: auto;
    line-height: 1em;
}

.nice-select::after {
    border-bottom: 2px solid #000000;
    border-right: 2px solid #000000;
}

.nice-select:hover,
.nice-select:focus {
    color: var(--e-global-color-ff28bea);
    background-color: var(--e-global-color-accent);
}

.nice-select:hover::after {
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
}

.nice-select .list {
    color: #000000;
    z-index: 10;
}

/* Modale Nice Select */
@media (min-width: 576px) {
    .post-type-archive-annonce .dialog-message {
        overflow: hidden !important;
    }
}

.dialog-message .nice-select {
    border: 1px solid #bbb;
    border-radius: 3px !important;
    box-shadow: unset;
}

.dialog-message .nice-select:hover,
.dialog-message .nice-select:focus {
    color: initial;
    background-color: initial;
}

.dialog-message .nice-select:hover::after {
    border-bottom: 2px solid #000000;
    border-right: 2px solid #000000;
}

.post-type-archive-annonce select[name="sort"] {
    padding: 14px 22px 14px 22px;
    border-radius: 25px 25px 25px 25px;
    box-shadow: 0px 2px 5px 0px #AAAAAA;
    font-family: "Poppins", Sans-serif;
    font-size: 13px;
    font-weight: 500;
    width: 100%;
    height: auto;

    &:hover,
    &:focus {
        color: var(--e-global-color-ff28bea);
        background-color: var(--e-global-color-accent);
    }
}

.post-type-archive-annonce #filter-form {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.post-type-archive-annonce .filter-row {
    display: grid;
    column-gap: 10px;
    row-gap: 30px;
}

@media (min-width: 576px) {
    .post-type-archive-annonce .filter-row {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 30px;
    }
}

@media (max-width: 575px) {
    .post-type-archive-annonce .filter-row.line-2 {
        grid-template-columns: 1fr 1fr;
    }
}

.post-type-archive-annonce .filter-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.post-type-archive-annonce .filter-group.layout-large {
    grid-column: span 2;
}

.post-type-archive-annonce .filter-title {
    font-weight: 600;
    font-size: 14px;
}

.post-type-archive-annonce .filter-subgroup {
    display: flex;
    gap: 10px;
}

/* Ligne des champs côte à côte */
@media (max-width: 575px) {
    .post-type-archive-annonce .filter-group.layout-large .filter-subgroup.inline-fields {
        display: grid;
        row-gap: 30px;
    }
}

@media (min-width: 576px) {
    .post-type-archive-annonce .filter-group.layout-large .filter-subgroup.inline-fields {
        gap: 30px;
    }
}

/* Chaque champ + titre au-dessus */
.post-type-archive-annonce .field-column {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    /* prend la moitié de la ligne si 2 champs */
}

.post-type-archive-annonce .field-column input {
    width: 100%;
    /* prend toute la largeur de la colonne */
    box-sizing: border-box;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 23px;
    /* 143.75% */
    letter-spacing: 0.15px;
}

.post-type-archive-annonce .field-column .input-wrapper input {
    padding-right: 30px;
}

.post-type-archive-annonce .input-wrapper {
    position: relative;
}

/* espace pour le € */
.post-type-archive-annonce .input-wrapper .suffix {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 14px;
    color: #666;
}

.post-type-archive-annonce .filter-subtitle {
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 18px;
    /* 128.571% */
    letter-spacing: -0.5px;
    opacity: 0.7;
}

.post-type-archive-annonce input::placeholder {
    font-size: 14px;
    opacity: 0.7;
}

.post-type-archive-annonce .field-inline {
    display: flex;
    gap: 10px;
}

.post-type-archive-annonce .field-inline input {
    flex: 1;
}

/* Autocomplete BAN */
.autocomplete-results {
    position: absolute;
    top: 100%;
    background: #fff;
    max-height: 200px;
    overflow-y: auto;
    width: 100%;
    z-index: 1000;
}

.autocomplete-results:has(.autocomplete-item) {
    border: 1px solid #ddd;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

.autocomplete-item {
    padding: 8px 12px;
    cursor: pointer;
}

.autocomplete-item:hover {
    background: #f0f0f0;
}

.ville-wrapper {
    position: relative;
}

.ville-clear {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 18px;
    color: #999;
    display: none;
    /* cachée tant que le champ est vide */
    user-select: none;
}

#ville-autocomplete:not(:placeholder-shown)+.ville-clear {
    display: block;
    /* affiche la croix quand il y a du texte */
}

/* Range */
.range-wrapper {
    position: relative;
}

.perimetre-range {
    -webkit-appearance: none;
    width: 100% !important;
    height: 5px !important;
    padding: 0 !important;
    outline: none !important;
    border-radius: 5px !important;
    border: unset !important;
    background: var(--noir-10, rgba(0, 0, 0, 0.10)) !important;
    position: relative !important;
    margin: 20px 0 !important;
}

/* Curseur */
.perimetre-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--main-100, #BA8531);
    border: 5px solid #FFF;
    cursor: pointer;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
    position: relative;
    z-index: 2;
}

.perimetre-range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--main-100, #BA8531);
    border: 5px solid #FFF;
    cursor: pointer;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
}

/* Valeur flottante */
.perimetre-value {
    position: absolute;
    bottom: -7px;
    /* au-dessus du curseur */
    left: 0;
    transform: translateX(0);
    color: var(--noir-100, #000);
    width: max-content;
    text-align: right;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 23px;
    letter-spacing: 0.15px;
    pointer-events: none;
    transition: left 0.1s ease;
}

/* 🔹 Checkboxes "Doit inclure" */
.inclusions-checkboxes {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    row-gap: 10px;
}

.inclusions-checkboxes .field-column {
    flex: 0 0 auto;
    /* pas de flex-grow */
}

.inclusions-checkboxes label {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

/* Cacher le vrai checkbox */
.inclusions-checkboxes input[type="checkbox"] {
    width: 18px;
    height: 18px;
    opacity: 0;
    position: absolute;
    cursor: pointer;
}

/* Custom checkbox */
.inclusions-checkboxes label::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 5px;
    border: 1px solid var(--noir-30, rgba(0, 0, 0, 0.30));
    background: #fff;
    position: relative;
    transition: all 0.2s ease;
}

/* Checkmark */
.inclusions-checkboxes label::after {
    content: "";
    position: absolute;
    left: 3px;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6L9 17L4 12' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: cover;
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* Quand coché */
.inclusions-checkboxes label:has(input[type="checkbox"]:checked)::before {
    background: var(--main-100, #BA8531);
    border-color: var(--main-100, #BA8531);
}

.inclusions-checkboxes label:has(input[type="checkbox"]:checked)::after {
    opacity: 1;
}

/* Boutons */
.post-type-archive-annonce .filter-actions {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
}

.post-type-archive-annonce .reset-button,
.post-type-archive-annonce button[type="submit"] {
    display: flex;
    padding: 10px 20px;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    border-radius: 15px;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 23px;
    /* 143.75% */
    letter-spacing: 0.15px;
}

.post-type-archive-annonce .reset-button {
    border: 1px solid var(--noir-20, rgba(0, 0, 0, 0.20));
    background: var(--white-100, #FFF);
    backdrop-filter: blur(2.5px);
}

.post-type-archive-annonce button[type="submit"] {
    border: 1px solid var(--noir-20, #BA8531);
    background: var(--main-100, #BA8531);
}

.post-type-archive-annonce .reset-button:hover,
.post-type-archive-annonce .reset-button:focus {
    border: 1px solid var(--main-100, #BA8531);
}

.post-type-archive-annonce button[type="submit"]:hover,
.post-type-archive-annonce button[type="submit"]:focus {
    background: var(--main-90, rgba(186, 133, 49, 0.90));
}

/* Pagination */
.post-type-archive-annonce .page-numbers {
    display: inline-block;
    padding: 6px 10px 6px 10px;
    border-radius: 4px 4px 4px 4px;
    color: var(--e-global-color-primary);
    background-color: #D3D2D2;
}

.post-type-archive-annonce .page-numbers.current,
.post-type-archive-annonce .page-numbers:hover,
.post-type-archive-annonce .page-numbers:focus {
    background-color: var(--main-100, #BA8531);
}

/*---------------------------------------------------------------------------------------
  THRIVE 2026 : Annonces - Achive annonces - Card
----------------------------------------------------------------------------------------*/

/* Annonce Card */
.annonce .elementor-icon-list-item:has(.elementor-icon-list-text:empty) {
    display: none;
}

[data-elementor-type="loop-item"].elementor-12948>section>.elementor-container .elementor-widget-wrap {
    flex-direction: column;
}

[data-elementor-type="loop-item"].elementor-12948>section>.elementor-container .elementor-widget-wrap .elementor-list-item-link-full_width {
    flex: 1;
}

.post-type-archive-annonce [data-elementor-type="loop-item"].elementor-12948>section>.elementor-container {
    min-height: 600px;
}

.home [data-elementor-type="loop-item"].elementor-12948>section>.elementor-container {
    min-height: 640px;
}

/* Favoris */
/* button.favorite-btn {
    background: unset;
    border-radius: unset;
    color: unset;
    padding: unset;

    &:hover,
    &:focus {
        background: unset;
    }
} */

/*---------------------------------------------------------------------------------------
  THRIVE 2026 : Annonce - Single
----------------------------------------------------------------------------------------*/

p:has(img.indice-image) {
    display: flex;
}

img.indice-image {
    width: 50%;
    object-fit: contain;
}

/*---------------------------------------------------------------------------------------
  THRIVE 2026 : Footer
----------------------------------------------------------------------------------------*/

footer {
    .cpel-switcher__lang {
        padding: 2px 8px 2px 0px !important;
        background-color: #E0E0E0 !important;
        border: 1px solid #E0E0E0 !important;

        &:hover {
            background-color: #F4F4F4 !important;
            border: solid 1px #111B21 !important;
        }

    }

    .underline {

        .elementor-widget-container {
            p:last-child {
                margin-bottom: 0 !important;
            }
        }

        &:after {
            content: "";
            display: block;
            width: 40px;
            height: 2px;
            margin-top: 7px;
            border-radius: 100px;
            background: var(--e-global-color-secondary);
        }
    }
}

.circle {
    display: inline-grid;

    div.elementor-widget-container {
        display: flex;

        span {
            aspect-ratio: 1 / 1;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            top: 2px;
        }
    }
}

.header-nav {
    >.elementor-container {
        align-items: center;
    }
}

.nav-widget {
    height: fit-content;

    .elementor-icon-list--layout-inline {
        margin-block-end: 0 !important;
    }
}

.cpel-switcher__nav {
    width: min-content !important;
}

.cpel-switcher__lang:not(.cpel-switcher__lang--active, .cpel-switcher__nav:hover .cpel-switcher__lang) {
    display: none !important;
}

#toTop {
    &:not(.active) {
        display: none !important;
    }

    &.active {
        width: 100%;
    }
}

.list-check {
    ul {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    li {
        list-style: none;
        display: inline-flex;
        gap: 10px;

    }

    span {
        display: inline-grid;
        aspect-ratio: 1 / 1;
        background-color: #BA8531;
        border-radius: 50%;
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 24px;
        width: 24px;

        svg {
            width: 100%;
            height: auto;
            flex: 1;
        }
    }
}