
/* VSMV WHITE MODERN — VISUAL ONLY */

/* Fond général */
.vsmv-v8,
.vsmv-v8-wrap,
.vsmv-v8-main {
    background:#fff !important;
    color:#172b45 !important;
}

/* Hero : suppression de toute image */
.vsmv-v8 .vsmv-v8-hero,
.vsmv-v8 .vsmv-v8-hero::before,
.vsmv-v8 .vsmv-v8-hero::after {
    background-image:none !important;
    background:#fff !important;
    color:#172b45 !important;
}

.vsmv-v8 .vsmv-v8-hero {
    min-height:330px !important;
    border-bottom:1px solid #edf0f3 !important;
    box-shadow:none !important;
}

.vsmv-v8 .vsmv-v8-hero-inner {
    min-height:330px !important;
    padding:48px 20px 38px !important;
}

.vsmv-v8 .vsmv-v8-hero h1,
.vsmv-v8 .vsmv-v8-hero h2,
.vsmv-v8 .vsmv-v8-hero p,
.vsmv-v8 .vsmv-v8-hero label {
    color:#172b45 !important;
}

.vsmv-v8 .vsmv-v8-hero h1 {
    font-size:44px !important;
    line-height:1.08 !important;
    letter-spacing:-1.5px !important;
}

.vsmv-v8 .vsmv-v8-hero p {
    color:#687587 !important;
}

/* Recherche */
.vsmv-v8 .vsmv-v8-search {
    max-width:780px !important;
    background:#fff !important;
    border:1px solid #e3e8ee !important;
    border-radius:14px !important;
    box-shadow:0 10px 35px rgba(20,42,68,.08) !important;
}

.vsmv-v8 .vsmv-v8-search-field {
    background:#fff !important;
}

.vsmv-v8 .vsmv-v8-search-btn {
    background:#102c50 !important;
    border-radius:9px !important;
}

.vsmv-v8 .vsmv-v8-hero-city-card {
    background:#fff !important;
    border:1px solid #e3e8ee !important;
    box-shadow:0 8px 25px rgba(20,42,68,.08) !important;
}

/* Catégories */
.vsmv-v8 .vsmv-v8-category-grid {
    gap:14px !important;
}

.vsmv-v8 .vsmv-v8-cat,
.vsmv-v8 .vsmv-v8-category-card {
    border-radius:12px !important;
    box-shadow:0 5px 18px rgba(20,42,68,.08) !important;
}

.vsmv-v8 .vsmv-v8-cat:hover,
.vsmv-v8 .vsmv-v8-category-card:hover {
    transform:translateY(-2px);
}

/* Sections */
.vsmv-v8 .vsmv-v8-section-head {
    border-bottom:0 !important;
}

.vsmv-v8 .vsmv-v8-section-head h2:after {
    content:"";
    display:block;
    width:38px;
    height:3px;
    margin-top:9px;
    background:#ef3155;
    border-radius:3px;
}

/* Cartes annonces */
.vsmv-v8 .vsmv-v8-list-card {
    border-color:#e8edf2 !important;
    box-shadow:0 4px 16px rgba(20,42,68,.055) !important;
}

/* Publicité latérale */
@media (min-width:901px) {
    .vsmv-v8 .vsmv-v8-list-section {
        position:relative;
    }

    .vsmv-v8 .vsmv-v8-list-section:after {
        content:"PUBLICITÉ\A Votre publicité ici\A 300 × 250";
        white-space:pre;
        position:absolute;
        right:0;
        top:0;
        width:240px;
        min-height:250px;
        box-sizing:border-box;
        border-radius:12px;
        background:#f7f9fb !important;
        color:#7f8995 !important;
        border:1px solid #e7ebef;
        display:flex;
        align-items:center;
        justify-content:center;
        text-align:center;
        font-size:11px;
        line-height:1.8;
        padding:25px;
    }

    .vsmv-v8 .vsmv-v8-list-section > * {
        max-width:calc(100% - 275px);
    }
}

/* Bandeau publicitaire */
.vsmv-v8 .vsmv-v8-map-cta:before {
    content:"PUBLICITÉ  •  Votre publicité ici  •  BANDEAU";
    display:flex;
    min-height:74px;
    margin:0 auto 28px;
    max-width:1200px;
    border-radius:10px;
    background:#f6f8fa !important;
    color:#7c8793 !important;
    border:1px solid #e6ebef;
    align-items:center;
    justify-content:center;
    font-size:12px;
}

/* Mobile */
@media (max-width:900px) {
    .vsmv-v8 .vsmv-v8-hero {
        min-height:360px !important;
    }

    .vsmv-v8 .vsmv-v8-hero-inner {
        min-height:360px !important;
        padding:38px 20px !important;
    }

    .vsmv-v8 .vsmv-v8-hero h1 {
        font-size:34px !important;
    }

    .vsmv-v8 .vsmv-v8-list-section:after {
        display:none !important;
    }

    .vsmv-v8 .vsmv-v8-list-section > * {
        max-width:100% !important;
    }

    .vsmv-v8 .vsmv-v8-map-cta:before {
        margin-left:15px;
        margin-right:15px;
        text-align:center;
    }
}

/* 1.0.1 — remove remaining outer/theme background image */
html,body,.elementor,.elementor-page,.site,.site-content,.content-area,#content,.vsmv-v8-wrap{
  background:#fff!important;
  background-image:none!important;
}

/* Preserve category photos; show a neutral placeholder while they load */
.vsmv-v8 .vsmv-v8-category-grid{background:#fff!important}
.vsmv-v8 .vsmv-v8-cat{
  background-color:#eef2f5!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Hero stays plain white */
.vsmv-v8 .vsmv-v8-hero,
.vsmv-v8 .vsmv-v8-hero::before,
.vsmv-v8 .vsmv-v8-hero::after,
.vsmv-v8{
  background:#fff!important;
  background-image:none!important;
}

/* VSMV White Modern 1.0.2 — final visual correction */

/* Remove the old theme/Elementor photographic canvas around VSMV */
html body,
body.home,
body.page,
body.page-id,
body.elementor-page,
body.elementor-default,
#page,
#wrapper,
#main,
#main-content,
#content,
.site,
.site-content,
.content-area,
.page-wrapper,
.main-wrapper,
.elementor,
.elementor-section-wrap,
.elementor-location-single,
.elementor-location-archive {
    background-color:#fff !important;
    background-image:none !important;
}

/* Any outer VSMV canvas must be white, while category images remain untouched */
.vsmv-v8,
.vsmv-v8 > section:not(.vsmv-v8-cat),
.vsmv-v8-hero {
    background-color:#fff !important;
}

/* Hero: override its inline photo safely */
.vsmv-v8 .vsmv-v8-hero {
    background-image:none !important;
    background-color:#fff !important;
    color:#172b45 !important;
}
.vsmv-v8 .vsmv-v8-hero::after {
    display:none !important;
}
.vsmv-v8 .vsmv-v8-hero h1,
.vsmv-v8 .vsmv-v8-hero p,
.vsmv-v8 .vsmv-v8-brand {
    color:#172b45 !important;
}

/* Do not override background-image on category cards */
.vsmv-v8 .vsmv-v8-cat {
    background-color:#eef2f5 !important;
}

/* Make the loading state visually intentional */
.vsmv-v8 .vsmv-v8-loading {
    min-height:170px;
    color:#9aa4ae;
}
