/* ==========================================================================
   SOLD PROPERTIES - CONSULTANTS IMMOBILIER LUXURY DESIGN
   ========================================================================== */

/* 1. Pastille VENDU : collée au bord en haut à gauche, sans border radius, fond doré #B3A16E */
.property_snippet .badge_vendu,
.property_snippet.sold_property_card .badge_vendu,
.swiper-slide.property_snippet .badge_vendu {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    background: #B3A16E !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 7px 14px !important;
    border-radius: 0 !important;
    z-index: 10 !important;
    box-shadow: none !important;
    line-height: 1 !important;
    display: inline-block !important;
    margin: 0 !important;
}

/* 2. Espace vertical de la photo : UNIQUEMENT pour les biens vendus */
.property_snippet.sold_property_card .image:after,
.property_snippet.sold_property_card .property_card_slider:after,
.property_card_slider.is_sold:after,
.sgvc_propertyslider .property_snippet.sold_property_card .image:after,
.sgvc_propertyslider .property_snippet.sold_property_card .property_card_slider:after {
    padding-top: 125% !important;
}

/* Les biens en cours (non vendus) dans TOUS les conteneurs (listes, agences, sliders de recherche, etc.) conservent strictement leur ratio standard */
.property_snippet:not(.sold_property_card) .image:after,
.property_snippet:not(.sold_property_card) .property_card_slider:after,
.sgvc_propertyslider .property_snippet:not(.sold_property_card) .image:after,
.sgvc_propertyslider .property_snippet:not(.sold_property_card) .property_card_slider:after,
.properties_list .property_snippet:not(.sold_property_card) .image:after,
.properties_list .property_snippet:not(.sold_property_card) .property_card_slider:after,
.agency_properties .property_snippet:not(.sold_property_card) .image:after,
.agency_properties .property_snippet:not(.sold_property_card) .property_card_slider:after {
    padding-top: 65% !important;
}

/* 3. Box sizing pour les cartes */
.properties_list .property_snippet {
    box-sizing: border-box !important;
}

/* 4. Suppression des fonds gris parasites derrière les cartes (annonces, agences et estimation) */
.sgvc_propertyslider > div:before,
.sgvc_propertyslider > div:after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
}

.properties_list,
.properties_list.all,
.properties_list.agency_properties,
#properties_list_all,
.agency_properties,
.agency_properties.properties_list,
.sgvc_propertyslider,
.sgvc_propertyslider > div,
.sgvc_propertyslider .swiper-container,
.sgvc_propertyslider .swiper-slide {
    background: transparent !important;
}

/* 5. Zéro Border Radius partout (Design Strict Luxe CI) */
.property_snippet,
.property_snippet.sold_property_card,
.property_snippet .image,
.property_snippet .capsule,
.property_snippet .attribs,
.property_snippet a,
.sgvc_propertyslider .property_snippet,
.sgvc_propertyslider .property_snippet.sold_property_card {
    border-radius: 0 !important;
}

/* 6. Effet Permanent : Bordure Blanche (padding 10px) + Drop Shadow avec espacement subtil */
.property_snippet,
.property_snippet.sold_property_card,
.agency_properties .property_snippet,
.properties_list .property_snippet,
.sgvc_propertyslider .property_snippet,
.swiper-slide.property_snippet {
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(4, 14, 49, 0.07) !important;
    border: none !important;
    position: relative !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.35s ease !important;
}

/* Bordure blanche de 10px et petit espacement entre les cartes */
.properties_list .property_snippet {
    width: calc(33.333% - 16px) !important;
    margin: 8px !important;
    padding: 10px !important;
    float: left !important;
}

@media screen and (min-width: 1700px) {
    .properties_list.agency_properties .property_snippet,
    .properties_list.all .property_snippet,
    .properties_list .property_snippet {
        width: calc(25% - 16px) !important;
        margin: 8px !important;
        padding: 10px !important;
    }
}

@media screen and (max-width: 1100px) {
    .properties_list .property_snippet {
        width: calc(50% - 14px) !important;
        margin: 7px !important;
        padding: 8px !important;
    }
}

@media screen and (max-width: 768px) {
    .properties_list .property_snippet {
        width: calc(100% - 16px) !important;
        margin: 8px 8px 18px 8px !important;
        padding: 8px !important;
        float: none !important;
    }
}

/* Slider estimation : pas de bordure grise, bordure blanche 10px et ombre */
.sgvc_propertyslider .property_snippet.sold_property_card,
.sgvc_propertyslider .property_snippet {
    border: none !important;
    padding: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(4, 14, 49, 0.07) !important;
    box-sizing: border-box !important;
}

/* Padding conteneur pour ne pas tronquer l'élévation et l'ombre */
.sgvc_propertyslider .swiper-container {
    padding-top: 10px !important;
    padding-bottom: 20px !important;
}

.agency_properties,
.agency_properties.properties_list {
    padding-top: 10px !important;
    padding-bottom: 20px !important;
}

/* Au hover pour TOUTES les cartes : effet d'élévation uniquement */
.property_snippet:hover,
.property_snippet.sold_property_card:hover,
.agency_properties .property_snippet:hover,
.properties_list .property_snippet:hover,
.sgvc_propertyslider .property_snippet:hover,
.swiper-slide.property_snippet:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 14px 28px rgba(4, 14, 49, 0.12) !important;
    outline: none !important;
}

/* 7. Bandeau Bien Vendu sur la fiche single-annonces.php (sans fond bleu, épuré) */
.ci-sold-single-banner {
    background: transparent !important;
    padding: 0 0 15px 0 !important;
    margin: 15px 0 25px 0 !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.ci-sold-banner-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 15px;
}

.ci-sold-stamp {
    display: inline-block;
    background: #B3A16E !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 7px 16px !important;
    border-radius: 0 !important;
    line-height: 1.2 !important;
}

.ci-sold-estimate-btn {
    display: inline-block;
    background: #040e31 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 9px 18px !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: background 0.3s ease, color 0.3s ease !important;
}

.ci-sold-estimate-btn:hover {
    background: #B3A16E !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

@media (max-width: 768px) {
    .ci-sold-banner-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .ci-sold-estimate-btn {
        width: 100%;
        text-align: center;
    }
}

/* 8. Fix Single Property Slider Navigation & Back button */
.singleproperty .header_image > div.content {
    pointer-events: none !important;
}
.singleproperty .header_image > div.content .back_button {
    pointer-events: auto !important;
}
.singleproperty .header_image > div.content .back_button a {
    pointer-events: auto !important;
    cursor: pointer !important;
}
.singleproperty .header_image .navigation {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 20 !important;
}
.singleproperty .header_image .swiper-button-prev,
.singleproperty .header_image .swiper-button-next {
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 25 !important;
}

/* 9. Titres des sliders sur les pages agences (alignement avec le 1er bien à gauche) */
.ci-agency-slider-title,
.agency-slider-title,
.ci_agency_properties_title,
.ci-agency-title,
.maincontainer .wpb_content_element.ci-agency-slider-title,
.maincontainer .wpb_content_element.agency-slider-title,
.maincontainer .wpb_content_element.ci_agency_properties_title,
.maincontainer .wpb_content_element.ci-agency-title,
.maincontainer .wpb_content_element:has(+ .agency_properties),
.maincontainer .wpb_content_element:has(+ .sgvc_propertyslider) {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    display: block !important;
}

@media screen and (min-width: 1700px) {
    .ci-agency-slider-title,
    .agency-slider-title,
    .ci_agency_properties_title,
    .ci-agency-title,
    .maincontainer .wpb_content_element.ci-agency-slider-title,
    .maincontainer .wpb_content_element.agency-slider-title,
    .maincontainer .wpb_content_element.ci_agency_properties_title,
    .maincontainer .wpb_content_element.ci-agency-title,
    .maincontainer .wpb_content_element:has(+ .agency_properties),
    .maincontainer .wpb_content_element:has(+ .sgvc_propertyslider) {
        margin-left: -200px !important;
        margin-right: -200px !important;
        padding-left: 13px !important;
        padding-right: 13px !important;
    }
}

.ci-agency-slider-title h2,
.ci-agency-slider-title h3,
.agency-slider-title h2,
.agency-slider-title h3,
.ci_agency_properties_title h2,
.ci_agency_properties_title h3,
.ci-agency-title h2,
.ci-agency-title h3,
.maincontainer .wpb_content_element.ci-agency-slider-title h2,
.maincontainer .wpb_content_element.agency-slider-title h2,
.maincontainer .wpb_content_element.ci_agency_properties_title h2,
.maincontainer .wpb_content_element.ci-agency-title h2,
.maincontainer .wpb_content_element:has(+ .agency_properties) h2,
.maincontainer .wpb_content_element:has(+ .sgvc_propertyslider) h2 {
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    color: #040e31 !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
    line-height: 1.3 !important;
}

@media (max-width: 768px) {
    .ci-agency-slider-title,
    .agency-slider-title,
    .ci_agency_properties_title,
    .ci-agency-title,
    .maincontainer .wpb_content_element.ci-agency-slider-title,
    .maincontainer .wpb_content_element.agency-slider-title,
    .maincontainer .wpb_content_element.ci_agency_properties_title,
    .maincontainer .wpb_content_element.ci-agency-title,
    .maincontainer .wpb_content_element:has(+ .agency_properties),
    .maincontainer .wpb_content_element:has(+ .sgvc_propertyslider) {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* 10. Guide Header & Back Button Fixes (Zero Gap under logo, Title Over Image & CI Grey Back Button) */
body.single-guide #content,
body.page-template-single-guide #content,
body.page-template-single-guide-php #content,
body:has(.guide-layout) #content,
.maincontainer.guide-layout,
.guide-layout {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.single-guide .guide-full-header,
body.page-template-single-guide .guide-full-header,
body.page-template-single-guide-php .guide-full-header,
.maincontainer.guide-layout .guide-full-header,
.guide-full-header {
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.guide-full-header .override_left,
.guide-full-header div.override_left {
    margin-top: 0 !important;
    position: relative !important;
    z-index: 1 !important;
}

.guide-content-wrapper,
.maincontainer.guide-layout .guide-content-wrapper,
.wrapper.guide-content-wrapper,
.guide-standard-layout,
.guide-landing-page {
    position: relative !important;
    z-index: 10 !important;
}

/* Original CI Standard Back Button Style (Grey #e4e4e4 with < arrow) */
.guide-full-header .back_div,
.guide-full-header div.back_div,
.guide-full-header .vc_row.back_div,
div.guide-full-header .back_div {
    position: absolute !important;
    top: 130px !important;
    left: 40px !important;
    z-index: 50 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    width: auto !important;
    max-width: none !important;
    border: none !important;
    box-shadow: none !important;
    pointer-events: auto !important;
}

.guide-full-header .back_div > .wpb_column,
.guide-full-header .back_div .vc_column-inner,
.guide-full-header .back_div .wpb_wrapper {
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
}

.guide-full-header .back_div + .vc_row-full-width {
    display: none !important;
}

.my_back_button,
.guide-full-header .my_back_button,
.guide-full-header .back_button,
div.my_back_button,
div.back_button {
    display: inline-block !important;
    position: relative !important;
    z-index: 55 !important;
    margin: 0 !important;
    pointer-events: auto !important;
}

.my_back_button a,
.guide-full-header .my_back_button a,
.guide-full-header .back_button a,
div.my_back_button a,
div.back_button a {
    color: #040e31 !important;
    position: relative !important;
    padding: 5px 12px 5px 25px !important;
    background: #e4e4e4 !important;
    display: inline-block !important;
    cursor: pointer !important;
    width: auto !important;
    min-width: 130px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    line-height: 1.4 !important;
    transition: background 0.2s ease !important;
    pointer-events: auto !important;
    z-index: 55 !important;
}

.my_back_button a:hover,
.guide-full-header .my_back_button a:hover,
.guide-full-header .back_button a:hover,
div.my_back_button a:hover {
    background: #d4d4d4 !important;
    color: #040e31 !important;
    box-shadow: none !important;
    transform: none !important;
}

.my_back_button a:before,
.guide-full-header .my_back_button a:before,
.guide-full-header .back_button a:before,
div.my_back_button a:before {
    content: '<' !important;
    display: block !important;
    position: absolute !important;
    top: 3px !important;
    left: 8px !important;
    transform: scaleY(1.6) !important;
    transform-origin: center center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #040e31 !important;
    line-height: 1 !important;
}

.my_back_button a:empty:after,
.guide-full-header .my_back_button a:empty:after {
    content: 'Retour aux guides' !important;
}

html[lang^="en"] .my_back_button a:empty:after,
html[lang^="en"] .guide-full-header .my_back_button a:empty:after,
body.translatepress-en .my_back_button a:empty:after,
body.translatepress-en .guide-full-header .my_back_button a:empty:after {
    content: 'Back to guides' !important;
}

@media (max-width: 768px) {
    .guide-full-header .back_div,
    .guide-full-header div.back_div,
    .guide-full-header .vc_row.back_div {
        top: 15px !important;
        left: 15px !important;
    }
}
