/*
 Theme Name: Viva Viager Child
 Template: salient
 Text Domain: salient-child
*/
/*23-03-2026*/
button.es-btn.es-btn--primary.es-btn--icon {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FF4620 !important;
    width: 270px !important;
    border-radius: 4px !important;
    height: 42px;
    margin-top: -14px;
    margin-left: 10px;
}

.es-powered.content-font, .es-btn--saved-search, .hide-item .es-listings-filter__selects,
.es-property__control.es-listing--hide-on-list {
    display: none !important;
}

.col-carte .slick-slide img {
    width: 100% !important;
}

.bien-adress {
    text-align: right;
    margin: 5px 0 10px 0;
    font-weight: 600;
}

i.fa-solid.fa-location-dot {
    margin-right: 4px;
    margin-top: 3px;
}

h3.bien-title {
    font-size: 15px;
    line-height: 26px;
    margin: 10px 0 20px 0 !important;
    text-align: left;
}

h3.bien-title a {
    color: #FF4620 !important;
}

.es-listing__content {
    padding: 0 !important;
}

.es-listing__content__inner.pd {
    padding: 10px;
}

.es-listing__footer {
    padding: 0 10px;
}

.bien-footer-flex {
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-top: 1px solid #cfcfcf;
    margin-top: 16px;
    padding: 5px 0px;
}

.es-field-row span {
    font-size: 14px;
}

.hide-item h3.bien-title {
    height: 40px;
}

.col-carte .js-es-listings {
    margin-bottom: 35px !important;
}

.col-carte .es-listing__footer {
    text-align: left;
}

.col-carte ul.es-listing__meta {
    width: 100%;
    text-align: left !important;
}

.col-carte ul.es-listing__meta li {
    margin: 0 0px 5px 0px !important;
}

.col-map ul.es-listing__meta li {
    margin: 0 0px 5px 10px !important;
}

ul.es-listing__terms a {
    color: #19394f;
}

h1.entry-title {
    text-align: left;
    font-size: 30px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 40px !important;
    color: #FF4620;
}

.single-properties .row.heading-title.hentry {
    padding: 15px 0 0 0;
    margin: 0;
}

.single a.es-btn--request-info.es-btn.es-btn--primary.js-es-scroll-to {
    background: #FF4620;
    border: none;
}

.single button.es-btn.es-btn--primary.js-es-request-form-submit {
    line-height: 0;
    background: #FF4620 !important;
    border: none;
}

.tax-es_category div#primary,
.tax-es_type div#primary,
.tax-es_status div#primary,
.tax-es_feature div#primary,
.tax-es_floor_covering div#primary {
    padding: 40px 36px 40px 36px;
}

.tax-es_category .bien-adress,
.tax-es_type .bien-adress,
.tax-es_status .bien-adress,
.tax-es_feature .bien-adress,
.tax-es_floor_covering .bien-adress {
    text-align: left;
}

.tax-es_category .bien-footer-flex,
.tax-es_type .bien-footer-flex,
.tax-es_status .bien-footer-flex,
.tax-es_feature .bien-footer-flex,
.tax-es_floor_covering .bien-footer-flex {
    border: none;
}

.tax-es_category .bien-footer-flex span.es-price,
.tax-es_type .bien-footer-flex span.es-price,
.tax-es_status .bien-footer-flex span.es-price,
.tax-es_feature .bien-footer-flex span.es-price,
.tax-es_floor_covering .bien-footer-flex span.es-price {
    display: none !important;
}

.tax-es_category .bien-ref,
.tax-es_type .bien-ref,
.tax-es_status .bien-ref,
.tax-es_feature .bien-ref,
.tax-es_floor_covering .bien-ref {
    margin-left: 10px !important;
}

.tax-es_category h1.page-title,
.tax-es_type h1.page-title,
.tax-es_status h1.page-title,
.tax-es_feature h1.page-title,
.tax-es_floor_covering h1.page-title {
    font-size: 30px;
}

a.property-item {
    display: flex;
    gap: 23px;
}

.property-thumb img {
    width: 65px;
    height: 65px;
    max-width: 65px !important;
    min-height: 65px;
    object-fit: cover;
    border-radius: 5px;
}

.last-properties-wrapper {
    padding-top: 8px;
}

.last-properties-wrapper .property-info span.post-title {
    margin-bottom: 12px !important;
    display: block;
}

.last-properties-wrapper .property-info span.post-date {
    font-size: 13px;
}

.es-search-nav__content input::placeholder {
    font-size: 10px;
}

.es-search-nav__content input {
    height: 36px !important;
}

li.es-control__list {
    display: none !important;
}

.bien-ref {
    font-size: 13px;
}


/* ══════════════════════════════════════════════════════════════
   SINGLE
══════════════════════════════════════════════════════════════ */

.es-search-nav__content span.es-field__label {
    text-transform: capitalize;
}

.es-field--radio-item-bordered:hover input + label, .es-field--checkbox-item-bordered:hover input + label {
    border-color: rgb(255 107 61);
}

.single-properties .es-gallery.js-es-property-gallery.es-gallery--xl {
    margin-bottom: 0;
}

.single-properties .es-single__header {
    display: none !important;
}

/* ── Gallery wrap ── */
.esv-gallery-wrap {
    position: relative;
    width: 100%;
    display: block;
}

/* ── Badges ── */
.esv-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 10;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.esv-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    padding: 5px 12px;
    border-radius: 3px;
    line-height: 1.4;
}

.esv-badge--exclusif {
    background: #fff;
    color: #FF4620;
}

.esv-badge--status {
    background: #ffffff;
    color: #FF4620;
}

/* ── Description header ── */
.esv-description-header {
    display: flex;
    gap: 20px;
    margin: 24px 0 16px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.esv-description-title {
    color: #19394f;
    font-size: 22px;
    font-weight: 800;
    text-transform: capitalize;
    letter-spacing: 1px;
    margin: 0;
}

/* ── Pilules de prix ── */
.esv-price-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: stretch;
}

.esv-pill {
    padding: 4px 6px;
    border-radius: 8px;
    min-width: 130px;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.esv-pill--orange {
    background: #f0f0f0;
    color: #19394f;
}

.esv-pill--dark {
    background: #f0f0f0;
    color: #19394f;
}

.esv-pill--light {
    background: #f0f0f0;
    color: #222222;
    border: 1px solid #dddddd;
}

.esv-pill__label {
    font-size: 11px;
    font-weight: 600;
    opacity: 1;
    margin-bottom: 0px;
    display: block;
}

.esv-pill--light .esv-pill__label {
    color: #19394f;
    opacity: 1;
}

.esv-pill__value {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.1;
    display: block;
    color: #19394f;
}

.esv-pill__unit {
    font-size: 13px;
    font-weight: 600;
    margin-left: 1px;
}

/* ── Description content ── */
.esv-description-content {
    font-size: 15px;
    line-height: 1.75;
    color: #333333;
    margin-bottom: 30px;
}

.esv-description-content p {
    margin-bottom: 0px;
    padding-bottom: 0;
}

@media (max-width: 768px) {
    .esv-description-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .esv-price-pills {
        width: 100%;
    }

    .esv-pill {
        min-width: calc(50% - 5px);
        flex: 1 1 calc(50% - 5px);
    }

    .esv-description-title {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .esv-pill {
        min-width: 100%;
        flex: 1 1 100%;
    }
}


/* ══════════════════════════════════════════════════════════════
   BLOC CARACTÉRISTIQUES
══════════════════════════════════════════════════════════════ */

.esv-carac {
    margin: 40px 0;
    font-family: inherit;
}

.esv-carac__title {
    color: #19394f;
    font-size: 24px;
    font-weight: 800;
    text-transform: capitalize;
    letter-spacing: 1px;
    margin: 0 0 20px;
}

/* ── Pilules Taxe / Charges ── */
.esv-carac__pills {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.esv-carac__pill {
    display: inline-block;
    padding: 10px 15px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
}

.esv-carac__pill--dark,
.esv-carac__pill--teal {
    background: #f0f0f0;
    color: #19394F;
}

/* ── Body : DPE gauche + Grille droite ── */
.esv-carac__body {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}

.esv-carac__dpe-col,
.esv-carac__dpe {
    flex: 0 0 260px;
    max-width: 260px;
}

/* ── DPE v2 ── */
.esv-dpe2 {
    margin-bottom: 24px;
}

.esv-dpe2__top {
    margin-bottom: 8px;
}

.esv-dpe2__classe-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #555;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.esv-dpe2__vals {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
}

.esv-dpe2__val-box {
    background: #2c3e50;
    color: #fff;
    padding: 5px 8px;
    border-radius: 4px;
    min-width: 56px;
    text-align: center;
}

.esv-dpe2__val-num {
    display: block;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

.esv-dpe2__val-unit {
    display: block;
    font-size: 7.5px;
    opacity: .85;
    line-height: 1.4;
}

.esv-dpe2__val-sub {
    display: block;
    font-size: 7.5px;
    opacity: .7;
}

.esv-dpe2__bars {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.esv-dpe2__row {
    position: relative;
}

.esv-dpe2__bar {
    position: relative;
    height: 24px;
    border-radius: 0 4px 4px 0;
    display: flex;
    align-items: center;
    padding-left: 8px;
    opacity: .45;
}

.esv-dpe2__bar--active {
    opacity: 1 !important;
}

.esv-dpe2__bar-letter {
    color: #fff;
    font-weight: 800;
    font-size: 13px;
    line-height: 1;
}

.esv-dpe2__bar-arrow {
    position: absolute;
    right: -13px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left-width: 13px;
    border-left-style: solid;
}

.esv-dpe2__footer {
    font-size: 9px;
    color: #aaa;
    text-align: center;
    margin-top: 5px;
    font-style: italic;
}

/* ── DPE v1 ── */
.esv-dpe {
    margin-bottom: 20px;
}

.esv-dpe__header {
    margin-bottom: 8px;
}

.esv-dpe__label-top {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #666;
    text-transform: uppercase;
    margin-bottom: 6px;
    text-align: left;
}

.esv-dpe__values {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
    position: absolute;
    flex-direction: column;
    justify-content: flex-start;
}

.esv-dpe__val {
    background: #2c3e50;
    color: #fff;
    padding: 5px 4px;
    border-radius: 4px;
    text-align: center;
    min-width: 60px;
}

.esv-dpe__num {
    display: block;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}

.esv-dpe__unit {
    display: block;
    font-size: 8px;
    opacity: .8;
    line-height: 1.3;
}

.esv-dpe__sub {
    display: block;
    font-size: 8px;
    opacity: .7;
}

.esv-dpe__bars {
    display: flex;
    flex-direction: column;
    gap: 3px;
    position: relative;
    padding-left: 78px;
}

.esv-dpe__bars::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: 0;
    border-left: 1px solid #222;
    width: 3px;
    height: 43px;
    margin-left: 67px;
}

.esv-dpe__bar {
    position: relative;
    height: 22px;
    border-radius: 0 3px 3px 0;
    display: flex;
    align-items: center;
    padding-left: 8px;
    min-width: 30%;
    transition: opacity .2s;
}

.esv-dpe__bar:not(.esv-dpe__bar--active) {
    opacity: 1;
}

.esv-dpe__bar--active {
    opacity: 1;
    border: 1px solid;
}

.esv-dpe__bar-letter {
    color: #fff;
    font-weight: 800;
    font-size: 13px;
}

.esv-dpe__bar-arrow {
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left-width: 12px;
    border-left-style: solid;
}

.esv-dpe__bar-label {
    font-size: 9px;
    color: #222;
    text-align: center;
    margin-top: 4px;
    font-style: italic;
    position: absolute;
    left: 0;
    bottom: 0;
}

/* ── Chauffage ── */
.esv-carac__chauffage {
    border-top: 1px solid #eee;
    padding-top: 12px;
}

.esv-carac__chauffage p {
    font-size: 13px;
    color: #444;
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
    width: 320px;
    padding: 0 0 10px 0;
}

.esv-carac__chauf-label {
    color: #777;
    font-weight: 400;
}

.esv-carac__chauffage strong {
    color: #222;
    font-weight: 700;
}

/* ── Grille items ── */
.esv-carac__grid {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 20px;
    align-content: start;
}

.esv-carac__item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.esv-carac__icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    color: #888;
}

.esv-carac__icon svg {
    width: 100%;
    height: 100%;
}

.esv-carac__info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.esv-carac__info-label {
    font-size: 12px;
    color: #888;
    line-height: 1.3;
}

.esv-carac__info-value {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.3;
}

.col-2-carat {
    width: 70%;
}

/* ── Responsive Caractéristiques ── */
@media (max-width: 960px) {
    .esv-carac__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .esv-carac__body {
        flex-direction: column;
    }

    .esv-carac__dpe-col,
    .esv-carac__dpe {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }

    .esv-dpe2__bars {
        max-width: 260px;
    }

    .esv-carac__grid {
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
    }
}

@media (max-width: 380px) {
    .esv-carac__grid {
        grid-template-columns: 1fr;
    }
}


/* ══════════════════════════════════════════════════════════════
   PRESTATIONS
══════════════════════════════════════════════════════════════ */

.esv-prestations {
    width: 100%;
    margin-bottom: 48px;
    margin-top: 18px;
}

.esv-carac__chauffage {
    height: 125px;
}

.esv-prestations__title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #E8573A;
    margin: 0 0 20px 0;
    padding: 0;
    border: none;
}

.esv-prestations__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.esv-prestations__item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #333;
}

.esv-prestations__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.esv-prestations__icon svg {
    width: 20px;
    height: 20px;
}

.esv-prestations__label {
    font-weight: 600;
    line-height: 1.3;
}

@media (max-width: 1024px) {
    .esv-prestations__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .esv-prestations__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .esv-prestations__list {
        grid-template-columns: 1fr;
    }
}


/* ══════════════════════════════════════════════════════════════
   FORMULAIRE CONTACT
══════════════════════════════════════════════════════════════ */

div#request_form .es-property-section__content {
    padding: 0 !important;
    margin: 0;
}

div#request_form .es-request-form.es-request-form--section {
    margin: 0;
    padding: 0;
}

div#request_form form.js-es-request-form.es-request-form {
    flex-direction: column;
}

div#request_form .es-field.es-field__phone.es-field--phone {
    width: 100%;
    float: right;
}

div#request_form .es-field.es-field__email.es-field--email {
    width: 50%;
    float: left;
    padding-left: 15px;
}

div#request_form .es-field.es-field__name.es-field--text {
    width: 50%;
    float: left;
    padding-right: 15px;
}

div#request_form .es-request-form.es-request-form--section .es-request-form__fields {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

div#location h3.es-property-section__title,
div#request_form h3.es-property-section__title {
    display: none;
}

.es-property-section {
    margin: 0;
}

.es-property-section__content {
    padding: 20px 0 !important;
}

.es-request-form.es-request-form--section,
form.js-es-request-form.es-request-form {
    max-width: 100%;
    padding: 0;
}


/* ══════════════════════════════════════════════════════════════
   SEARCH / FILTRES
══════════════════════════════════════════════════════════════ */

/* Bouton Rechercher */
.es-search__address .es-btn--icon::after {
    content: "Rechercher";
    margin-left: 8px;
    font-size: 16px;
    font-weight: 600;
    text-transform: capitalize;
}

.es-search__address .es-btn--icon {
    padding: 10px 20px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

.es-search__address {
    display: inline-flex;
    align-items: center;
    order: 3;
    margin-top: -30px !important;
}

.es-search__address input.js-es-address {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px 14px;
    height: 44px;
    font-size: 14px;
    min-width: 200px;
}

.es-search--simple .es-search__address label input {
    border-radius: 6px !important;
}

input.js-es-address,
button.es-btn.es-btn--primary.es-btn--icon {
    height: 46px !important;
}

input.js-es-address::placeholder {
    font-size: 16px;
}

li.js-es-search-nav__single-item,
li.js-es-search-nav__item {
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
}
/*23-03-2026*/
/*ul.es-search-nav.es-search-nav--dropdowns.js-es-search-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}*/

.es-search-nav__content {
    left: 101% !important;
    border-radius: 6px !important;
}

.es-search--simple .es-search-nav.es-search-nav--dropdowns .es-search-nav__content:before {
    display: none;
}
/*23-03-2026*/
li.js-es-search-nav__item.js-es-search-nav__item--more {
    background: #fff !important;
    border: 1px solid #FF4620 !important;
}

li.js-es-search-nav__item.js-es-search-nav__item--more a {
    color: #FF4620 !important;
}

li.js-es-search-nav__item.js-es-search-nav__item--more.active .es-search-nav__content {
    background: #ffffff !important;
    border: 1px solid #FF4620 !important;
    left: 101% !important;
    border-radius: 6px !important;
}

.es-search-nav-wrap a {
    font-size: 16px !important;
}


/* ══════════════════════════════════════════════════════════════
   LISTING / GRILLE
══════════════════════════════════════════════════════════════ */

.es-properties .es-properties__list {
    margin: 0 15px 0 10px;
}

.es-properties .es-properties__map {
    margin: 0 10px 0 15px;
}

.es-properties.js-es-properties {
    padding: 0 26px;
    margin-bottom: 50px;
    position: relative;
}

.col-carte .heading {
    padding-left: 34px;
}
/*23-03-2026*/
.es-properties__search {
    padding-bottom: 60px;
    position: relative;
    margin: 0 10px 20px !important;
}

.es-properties__search::after {
    position: absolute;
    content: "";
    border-bottom: 2px solid #cacccd;
    width: 100%;
    margin-top: 28px;
}

.es-properties .es-properties__map {
    flex: 1 0 calc(38% - 30px);
}
/*23-03-2026*/
ul.js-es-control--layouts.es-control.es-control--layouts {
    position: absolute;
    top: 0;
    margin-top: 72px;
    left: 50%;
    transform: translateX(-50%);
}

.es-control__grid .es-btn::after {
    content: "Galerie";
    font-size: 16px;
}

.es-control__hfm .es-btn::after {
    content: "Carte";
    font-size: 16px;
}

ul.js-es-control--layouts.es-control.es-control--layouts .es-btn--icon {
    width: 110px !important;
    background: #fff !important;
    border: 1px solid #cacccd;
    color: #FF4620 !important;
}

ul.js-es-control--layouts.es-control.es-control--layouts .es-btn--active {
    background: #FF4620  !important;
    border-color: #FF4620  !important;
    color: #fff !important;
}

ul.js-es-control--layouts.es-control.es-control--layouts .es-btn span,
ul.js-es-control--layouts.es-control.es-control--layouts li.es-control__grid span {
    color: #FF4620 !important;
}

ul.js-es-control--layouts.es-control.es-control--layouts .es-btn--active span,
ul.js-es-control--layouts.es-control.es-control--layouts li.es-control__grid .es-btn--active span {
    color: #fff !important;
}

li.es-control__grid {
    margin: 0 !important;
}

ul.js-es-control--layouts.es-control.es-control--layouts a {
    font-size: 16px;
    text-transform: capitalize !important;
}

li.es-control__item.es-control__item--compare {
    display: none;
}

.es-properties--hfm .js-es-listings.js-es-entities.es-listings.es-listings--grid-3,
.js-es-listings.js-es-entities.es-listings.es-listings--grid-3 {
    gap: 15px 30px;
}

.es-properties--hfm .js-es-listings.js-es-entities.es-listings.es-listings--grid-3 {
    gap: 15px;
}



span.esv-card__price-value {
    margin-top: 8px !important;
    display: block;
}

.es-properties--hfm span.esv-card__price-value {
    margin-top: 0px !important;
    display: block;
}


.js-es-listing {
    border-radius: 0 !important;
}


/* ══════════════════════════════════════════════════════════════
   CARD
══════════════════════════════════════════════════════════════ */

.esv-card {
    background: #fff;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.10);
    font-family: inherit;
    margin: 0 auto;
}

.esv-card__img-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #ddd;
}

.esv-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.esv-card__badges {
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 10px;
    pointer-events: none;
}

.esv-card__badge {
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
}

.esv-card__badge--decote,
.es-properties--hfm .esv-card__badge--decote {
    background: #fff;
    color: #19394F;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    white-space: nowrap;
    text-transform: lowercase;
}

.esv-card__badge--decote {
    font-size: 14px;
    padding: 6px 10px;
}

.esv-card__badge--status,
.es-properties--hfm .esv-card__badge--status {
    background: #fff;
    color: #FF4620;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
}

.esv-card__badge--status {
    font-size: 14px;
    padding: 6px 10px;
}

.es-properties--hfm .esv-card__body , .esv-card__body {
    padding: 14px 8px 0;
    text-align: left;
}

.esv-card__body {
    padding: 22px 15px 0;
}

.esv-card__title,
h3.esv-card__title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 10px;
    line-height: 1.3;
}

.es-properties--hfm h3.esv-card__title {
    font-size: 16px;
    color: #19394F;
}

h3.esv-card__title {
    font-size: 20px;
}

.esv-card__title a {
    color: inherit;
    text-decoration: none;
}

.esv-card__title a:hover { color: #FF4620; }

.esv-card__meta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.archive .esv-card__meta {
    flex-wrap: initial;
}

.esv-card__meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #555;
    font-size: 12px;
}

.esv-card__meta-item svg {
    width: 35px;
    height: 35px;
    flex-shrink: 0;
    stroke: #555;
}

.es-properties--hfm   svg {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
    stroke: #555;
}

.esv-card__meta-item .meta-label,
.es-properties--hfm .esv-card__meta-item .meta-label {
    display: block;
    font-size: 11px;
    color: #888;
    line-height: 1.1;
}

.esv-card__meta-item .meta-label {
    font-size: 16px;
}

.esv-card__meta-item .meta-value {
    display: block;
    font-weight: 700;
    font-size: 10px;
    color: #222;
    line-height: 1.2;
}

.esv-card__viager-status,
.es-properties--hfm .esv-card__viager-status {
    display: inline-block;
    color: #FF4620;
    font-weight: 800;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 20px;
}

.esv-card__viager-status {
    font-size: 15px;
    margin-top: 20px;
    margin-bottom: 10px;
}

.es-properties--hfm .esv-card__footer , .esv-card__footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    margin-top: 4px;
    text-align: left;
    padding: 0 8px 8px 8px;
}

.esv-card__footer {
    padding: 0 15px 20px 15px;
}

.es-properties--hfm .esv-card__price-cell , .esv-card__price-cell {
    padding: 4px 8px;
    border-right: 1px solid #eee;
    background: #e3e4e3;
    border-radius: 6px;
}
.esv-card__price-cell {
    padding: 8px 8px;
}

.esv-card__price-cell:last-child { border-right: none; }

.esv-card__price-cell--span {
    grid-column: 1 / -1;
    border-right: none;
    border-top: 1px solid #eee;
    display: flex;
    align-items: center;
}

.esv-card__price-label,
.es-properties--hfm .esv-card__price-label {
    font-size: 11px;
    color: #222;
    display: block;
    margin-bottom: 2px;
}

.esv-card__price-label {
    font-size: 16px;
}

.esv-card__price-value,
.es-properties--hfm .esv-card__price-value {
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
}

.esv-card__price-value {
    font-size: 18px;
}

.es-properties--hfm .esv-card__price-value .unit ,
.esv-card__price-value .unit {
    font-size: 12px;
    font-weight: 600;
    color: #555;
}

.esv-card__price-value .unit {
    font-size: 15px;
}

.esv-card__btn-details,
.es-properties--hfm .esv-card__btn-details {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FF4620;
    color: #fff !important;
    font-weight: 600;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    padding: 14px 0px;
    flex: 1;
    transition: background 0.2s;
    border-radius: 6px;
}

.es-properties--hfm .esv-card__btn-details {
    font-size: 12px;
}

.esv-card__btn-details:hover { background: #e0562a; }

.es-properties--hfm .esv-card__badges-right {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: flex-end;
}

.esv-card__badges-right {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: flex-start;
    justify-content: flex-end;
    max-width: 55%;
}


/* ══════════════════════════════════════════════════════════════
   CARTE / MAP
══════════════════════════════════════════════════════════════ */

.esv-map-wrap {
    margin-bottom: 40px;
}

.es-map img[src*="maps.googleapis.com/maps/vt"],
.es-map img[src*="maps.gstatic.com"] {
    filter: grayscale(100%) brightness(1.05) contrast(0.95) !important;
}

.es-map .gm-style > div > div > div > div > div > div > div img,
.es-map [role="button"] img,
.es-map .gm-style-iw,
.es-map .gm-style-iw-d {
    filter: none !important;
}

#esv-leaflet-map .leaflet-tile {
    filter: grayscale(100%) brightness(1.05) contrast(0.95);
}

/* ══════════════════════════════════════════════════════════════
   FILTRES STATUT ANNONCES
══════════════════════════════════════════════════════════════ */

.annonces-status-filter {
    display: flex;
    gap: 8px;
    margin-left: 36px;
}

.annonces-status-filter a {
    font-weight: 700;
    background: #e3e4e3;
    padding: 15px 14px;
    border-radius: 6px;
    color: #19394f;
    font-size: 16px;
}

.btn-status:hover {
    background: #d5d5d5;
    color: #FF4620 !important;
}
.btn-status.active:hover {
    color: #FFF !important;
}

.btn-status.active {
    background: #19394f;
    color: #fff;
}


/* ══════════════════════════════════════════════════════════════
   DIVERS
══════════════════════════════════════════════════════════════ */

.col-temp svg {
    position: absolute;
    left: 0;
    top: 0;
    margin-top: -7px;
    margin-left: -8px;
}

.col-temp {
    position: relative;
    padding-left: 50px;
    margin-top: 24px;
}

.es-agent .es-entity__image img {
    border-radius: 8px;
}

.es-no-found-posts button {
    display: none;
}

.page-id-23503 .es-properties__search  , .page-id-23503  ul.js-es-control--layouts.es-control.es-control--layouts{
    display: none;
}

.page-id-23503 .js-es-listings.js-es-entities.es-listings.es-listings--list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.page-id-23503  .es-listings.es-listings--list .es-listing__image {
    height: 230px;
}

.page-id-23503  .es-listings.es-listings--list .es-listing {
    flex-direction: column;
}

.custom-breadcrumbs span {
    font-size: 1.2em;
    line-height: 1.67em;
    color: #b0bec5;
}

.custom-breadcrumbs a {
    font-size: 1.2em;
    line-height: 1.67em;
}

.custom-breadcrumbs {
    margin: 15px 0;
}

.es-entity__rating , div#reviews , li.es-control__item.es-control__item--wishlist {
    display: none;
}

/* ══════════════════════════════════════════════════════════════
   ARCHIVE
══════════════════════════════════════════════════════════════ */

/* =============================================
   ESV CARD — Layout uniquement pour .archive
   Couleurs et backgrounds non modifiés
   ============================================= */

/* ---- LISTE ---- */
.archive .es-listings {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

/* ---- CARTE : horizontal ---- */
.archive .esv-card {
  display: flex !important;
  flex-direction: row !important;
  overflow: hidden !important;
}

/* ============================
   BLOC IMAGE (gauche)
   ============================ */

.archive .esv-card__img-wrap {
  position: relative !important;
  flex-shrink: 0 !important;
  width: 320px !important;
  height: 350px !important;
  overflow: hidden !important;
}

/* Slick : forcer la hauteur */
.archive .esv-card__img-wrap .es-listing__image,
.archive .esv-card__img-wrap .es-listing__image__slider,
.archive .esv-card__img-wrap .slick-list,
.archive .esv-card__img-wrap .slick-track {
  height: 100% !important;
}

.archive .esv-card__img-wrap .slick-slide,
.archive .esv-card__img-wrap .slick-slide > div {
  height: 100% !important;
}

.archive .esv-card__img-wrap .slick-slide a {
  display: block !important;
  height: 100% !important;
}

.archive .esv-card__img-wrap .slick-slide a img {
  width: 100% !important;
  height: 350px !important;
  object-fit: cover !important;
  display: block !important;
}

/* ============================
   BADGES (sur l'image)
   ============================ */

.archive .esv-card__badges {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  width: calc(320px - 20px) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.archive .esv-card__badges-right {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  align-items: flex-end !important;
}

/* ============================
   CORPS (droite)
   ============================ */

.archive .esv-card__body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

/* ============================
   FOOTER PRIX
   ============================ */

.archive .esv-card__footer {
  /*display: flex !important;*/
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  margin-top: auto !important;
}

.archive .esv-card__btn-details {
  margin-left: auto !important;
  margin-right: 0 !important;
  align-self: center !important;
  white-space: nowrap !important;
}

/* ============================
   RESPONSIVE
   ============================ */

@media (max-width: 640px) {
  .archive .esv-card {
    flex-direction: column !important;
  }

  .archive .esv-card__img-wrap {
    width: 100% !important;
    height: 200px !important;
  }

  .archive .esv-card__badges {
    width: calc(100% - 20px) !important;
  }

  .archive .esv-card__btn-details {
    width: 100% !important;
    text-align: center !important;
    margin-left: 0 !important;
  }
}

.archive .esv-card__price-cell {
    min-width: 145px;
    min-height: 58px;
    padding: 10px 20px;
}

.archive h1.page-title {
    color: #FF4620;
}

.archive .es-properties.js-es-properties {
    padding: 0;
}

.archive .es-control {
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════
   breadcrumb
══════════════════════════════════════════════════════════════ */

nav.esv-breadcrumb a {
    text-transform: capitalize;
}

.esv-breadcrumb {
    padding: 14px 0 18px;
}

.esv-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.esv-breadcrumb__item {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    color: #9ca3af;
}

.esv-breadcrumb__item:not(:last-child)::after {
    content: '>';
    margin: 0 10px;
    color: #c9ced6;
    font-size: 0.8rem;
}

.esv-breadcrumb__link {
    color: #9ca3af;
    text-decoration: none;
    transition: color 0.15s;
}

.esv-breadcrumb__link:hover {
    color: #FF4620;
}

.esv-breadcrumb__item--current {
    color: #9ca3af;
    font-weight: 400;
}


/********/
.es-properties--hfm--full-width  {
    padding: 0 36px !important;
}

.es-properties--hfm--full-width.es-properties--hfm {
    padding: 0 26px !important;
}

@media (max-width: 768px) {

ul.js-es-control--layouts.es-control.es-control--layouts {
    position: relative;
}

.es-properties__search {
    padding-bottom: 0;
}

.annonces-status-filter {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 20px;
    width: min-content;
}

.annonces-status-filter a {
    width: max-content;
}

a.js-es-remove-filters.es-search-nav__reset.es-secondary-color.es-search-nav__reset-mobile.es-btn--preload {
    margin: 35px 0;
}


.es-search-nav-wrap li {
    padding: 15px 10px !important;
    margin-bottom: 20px !important;
}

.es-search__address {
        order: inherit !important;
        margin-top: 0 !important;
}
button.es-btn.es-btn--primary.es-btn--icon {
    width: 144px !important;
}
.es-listings-filter .es-listings-filter__selects {
    display: block;
}
ul.js-es-control--layouts.es-control.es-control--layouts {
    margin-top: 24px;
}
.es-properties__search::after {
    display: none !important;
}
.es-properties--hfm {
    padding: 0 10px !important;
}
.col-carte .heading {
    padding-left: 20px;
}
.es-search--simple form>*, .widget .es-search--simple form>* {
    margin: 0 !important;
}
.esv-card__viager-status {
    margin-bottom: 10px;
}

.es-properties--hfm--full-width  {
    padding: 0 26px  !important;
}

.es-properties--hfm--full-width.es-properties--hfm {
    padding: 0 10px  !important;
}
.es-properties .es-properties__map {
    margin: 10px 10px 0 10px !important;
}
h2.esv-carac__title , h2.esv-description-title {
    font-size: 24px !important;
}
.esv-prestations {
    padding: 0 !important;
}
.tax-es_category div#primary, .tax-es_type div#primary, .tax-es_status div#primary, .tax-es_feature div#primary, .tax-es_floor_covering div#primary {
    padding: 40px 22px 40px 22px;
}
.es-properties--hfm--full-width {
        padding: 0 10px !important;
    }
    
}

.single-agent .slick-slide img {
    width: 100% !important;
}

h3.esv-card__title {
    color: #19394F;
}

.single-agent .es-request-form.es-request-form--sidebar {
    width: 100%;
    min-width: 100%;
    background: #19394F !important;
}

.esv-carac__body--no-dpe .esv-carac__dpe {
    display: none;
}

.esv-carac__body--no-dpe .col-2-carat {
    width: 100%;
    order: -1;
}

.esv-carac__body.esv-carac__body--no-dpe {
    margin-bottom: 30px;
}

/*23-03-2026*/
.es-properties__list span.es-title {
    display: none;
}

.es-control__grid .es-btn , .es-control__hfm .es-btn {
    font-size: 0 !important;
}

.es-control__grid .es-btn .es-icon , .es-control__hfm .es-btn .es-icon {
    font-size: 16px;
    margin-right: 5px !important;
    margin-top: -10px;
}
.col-carte span.beginning-text {
    font-size: 30px;
    color: #19394f;
}


.es-search--simple form .es-search__address, .widget .es-search--simple form .es-search__address {
    flex: none;
    max-width: 100%;
}
.es-search__address {
    margin-top: 6px !important;
}

body .es-field input[type=text]:not(.es-ignore-style){
    min-width: 315px !important;
}

.esv-description-content p {
    font-family: Montserrat !important;
}

.es-request-agents .es-agent-item.es-agent-item--active .es-entity__image:before ,
.single .es-stats {
    display: none;
}

.esv-dpe__bar-badge {
    position: absolute;
    right: -41px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
}

/* S'assurer que la barre active a position relative */
.esv-dpe__bar--active {
    position: relative;
}


.hide-item .esv-card__meta {
    gap: 12px;
}

.hide-item .esv-card__meta-item .meta-label {
    font-size: 12px;
}


/***************************/

.esv-card__meta {
    height: 80px;
    align-items: flex-start;
}
.espace-col {
    height: 48px;
}

h3.esv-card__title {
    height: 54px;
}

 

.esv-card__footer {
    height: 150px;
} 

.es-properties--hfm .esv-card__footer {
    height: 100%;
}

@media (min-width: 1700px) {
 .esv-card__meta {
    height: 40px;
    align-items: flex-start;
}
}

.es-map-popup .esv-card__footer {
    height: inherit !important;
}


body .es-field .select2-container .select2-selection--single {
    height: 40px;
}

body[data-fancy-form-rcs="1"] .fancy-select-wrap {
    padding-top: 0;
}

span#select2-es-field-sort-container {
    font-size: 14px;
    color: #263238 !important;
	  line-height: 23px;
	  padding-top: 2px;
    padding-left: 14px;
}

span.select2-selection.select2-selection--single {
    width: 260px;
}

body[data-fancy-form-rcs="1"] .select2-container--default .select2-selection--single:hover{
	background-color: transparent !important;
}

.col-space .espace-col {
    height: 0px;
}