body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f8f3;color:#14251a}.top{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 5%;gap:20px;border-bottom:1px solid #dce7dc;position:sticky;top:0}.brand{display:flex;align-items:center;gap:12px;color:#0d6b37;text-decoration:none;min-width:260px}.brand img{height:58px;width:auto;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1.12}.brand-text b{font-size:20px;color:#0d6b37}.brand-text small{font-size:11px;color:#447045;font-weight:800;max-width:310px}.top{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px 5%;gap:20px;border-bottom:1px solid #dce7dc;position:sticky;top:0}.top nav{display:flex;gap:8px;flex-wrap:wrap}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:#0d4a24;text-decoration:none;font-weight:800;padding:9px 12px;border-radius:20px}nav a:hover{background:#edf7ed}.hero{max-width:1150px;margin:25px auto;background:linear-gradient(135deg,#073819,#0d6b37);color:white;border-radius:32px;padding:55px 40px}.hero h1{font-size:46px;max-width:760px}.btn,button{background:#0d6b37;color:white;border:0;border-radius:16px;padding:13px 18px;font-weight:900;text-decoration:none;display:inline-block;margin:4px}.btn.ghost{background:#ffffff22;border:1px solid #ffffff77}.wrap{max-width:1150px;margin:25px auto;padding:0 16px}.quick{display:flex;gap:10px;flex-wrap:wrap}.quick a{background:#fff;color:#0d4a24;border:1px solid #dce7dc;border-radius:999px;padding:12px 15px;text-decoration:none;font-weight:900}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border-radius:24px;overflow:hidden;box-shadow:0 12px 30px #14321414}.card img{width:100%;height:230px;object-fit:cover;background:#eaf2e9}.card div{padding:18px}.pill{background:#0d6b37;color:white;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.pill.soft{background:#eaf5ea;color:#0d4a24}.price{color:#0d4a24;font-weight:900;font-size:19px}.big{font-size:28px}.terms{background:#fff5d6;padding:10px;border-radius:14px;color:#594715;font-weight:800}.small{padding:10px 13px}.filters{background:#fff;border-radius:22px;padding:15px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;margin-bottom:22px}input,select,textarea{width:100%;box-sizing:border-box;border:1px solid #d4e2d4;border-radius:14px;padding:13px;font-size:15px}label{font-weight:900;display:block;margin:12px 0 7px}textarea{min-height:110px}.detail .hero-img{width:100%;height:420px;object-fit:cover;border-radius:28px;background:#eaf2e9}.cols{display:grid;grid-template-columns:1fr 360px;gap:25px;margin-top:24px}.cols article,.cols aside,.form form,.success{background:white;border-radius:24px;padding:24px;box-shadow:0 12px 30px #14321414}.whatsapp{display:block;text-align:center;color:#0d6b37;font-weight:900;margin-top:12px}.admin{background:#f4f8f4}.login,.adminwrap section{background:#fff;border-radius:22px;padding:24px;box-shadow:0 12px 30px #14321414}.login{max-width:420px;margin:70px auto}.admintop{background:#0d4a24;color:white;padding:16px 5%;display:flex;justify-content:space-between}.admintop a{color:white}.adminwrap{max-width:1180px;margin:25px auto;padding:0 16px;display:grid;gap:22px}table{width:100%;border-collapse:collapse}td,th{padding:12px;border-bottom:1px solid #e4e9e4;text-align:left}.editform{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editform label:nth-last-child(-n+4),.upload{grid-column:1/-1}.upload{background:#f1f8f1;border:1px dashed #0d6b37;padding:16px;border-radius:18px}.upload img{display:block;max-width:260px;max-height:170px;object-fit:cover;border-radius:14px;margin-top:10px}.err{background:#ffe6e6;color:#900;padding:10px;border-radius:12px}@media(max-width:850px){.grid,.cols,.editform,.filters{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.hero h1{font-size:34px}}

/* Formulaire intelligent Confier un bien */
.owner-smart .intro-owner{background:#eef7ed;border-left:5px solid #0d6b37;border-radius:14px;padding:14px;font-weight:800;color:#24452c}
.owner-block{background:#fff;border-radius:24px;padding:22px;margin:18px 0;box-shadow:0 12px 30px #14321414}
.owner-block h2{color:#0d4a24;margin-top:0}
.owner-help{background:#fff7d6;border:1px solid #e2c96b;color:#594715;border-radius:16px;padding:14px;margin-top:12px;font-weight:900}
.mode-fields{display:none}
.equipment-box{grid-column:1/-1;background:#f3f8f2;border:1px dashed #0d6b37;border-radius:18px;padding:16px;margin-top:12px}
.equipment-box h3{margin-top:0;color:#0d4a24}
.equipment-box{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.equipment-box h3{grid-column:1/-1}
.equipment-box label{background:#fff;border:1px solid #dce8dc;border-radius:14px;padding:10px;margin:0;font-weight:800}
.equipment-box input{width:auto;margin-right:8px}
.owner-smart form input[type="checkbox"]{width:auto}
@media(max-width:900px){.equipment-box{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.equipment-box{grid-template-columns:1fr}}


/* Admin demandes détaillées */
.admin-note{background:#eef7ed;border-left:5px solid #0d6b37;border-radius:12px;padding:12px;color:#24452c;font-weight:800}
.choice-badge{display:inline-block;background:#eaf5ea;color:#0d4a24;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px}
.detail-cell{max-width:360px;white-space:pre-wrap;line-height:1.45}
details.admin-detail{background:#f7fbf6;border:1px solid #dce8dc;border-radius:14px;padding:10px}
details.admin-detail summary{cursor:pointer;font-weight:900;color:#0d4a24}
.admin-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
.admin-counts div{background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 22px #14321412}
.admin-counts strong{display:block;color:#0d4a24;font-size:26px}


/* V2.4 liens vers page d'origine */
.admin-link-btn{display:inline-block;background:#0d6b37;color:#fff!important;padding:8px 10px;border-radius:12px;text-decoration:none;font-weight:900}
.muted-admin{color:#777;font-weight:800}


/* V2.5 identification + documents Confier un bien */
.required-id{border:2px solid #0d6b37}
.certify{background:#fff7d6;border:1px solid #e2c96b;border-radius:14px;padding:12px!important}
.certify input{width:auto;margin-right:8px}
.upload-docs{border:2px dashed #0d6b37}
.publication-warning{background:#fff0e6;border-left:5px solid #c25b00;color:#693300;border-radius:14px;padding:14px;margin:14px 0;font-weight:900}
.error-box{background:#ffe6e6;color:#8a1010;border:1px solid #e5a0a0;border-radius:16px;padding:14px;font-weight:900;margin:14px 0}
.admin-files{margin:0;padding-left:18px}
.admin-files li{margin-bottom:6px}
.admin-files a{color:#0d6b37;font-weight:900}


/* V2.6 inspiration Airbnb adaptée SCI LemMarket */
.air-hero{padding:70px 44px;margin-top:22px}
.air-hero h1{max-width:880px}
.air-search{background:#fff;border-radius:999px;box-shadow:0 18px 45px #14321420;padding:10px;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;align-items:end;margin:-45px auto 25px;position:relative;z-index:3}
.air-search label{margin:0;padding:6px 12px;border-right:1px solid #e2e8e2}
.air-search label:last-of-type{border-right:0}
.air-search input,.air-search select{border:0;background:#f7fbf6;padding:10px;border-radius:18px;margin-top:4px}
.air-search button{border-radius:999px;padding:16px 26px}
.air-categories{display:flex;gap:12px;overflow:auto;padding:8px 0 20px;margin-bottom:10px}
.air-categories a{white-space:nowrap;background:#fff;border:1px solid #dfe8df;color:#0d4a24;text-decoration:none;border-radius:999px;padding:13px 16px;font-weight:900;box-shadow:0 8px 18px #14321410}
.section-line{display:flex;justify-content:space-between;align-items:center;margin:18px 0}
.section-line h2{font-size:30px;color:#0d4a24}
.section-line a{color:#0d6b37;font-weight:900}
.air-grid .card{border-radius:22px}
.air-grid .card img{height:255px}
.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-top:20px}
.detail-title-row h1{font-size:34px;margin-bottom:6px;color:#0d4a24}
.detail-location{color:#607065;font-weight:800}
.share-btn{background:#eef7ed;color:#0d4a24;text-decoration:none;font-weight:900;border-radius:999px;padding:12px 15px}
.air-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:8px;margin:18px 0 28px;border-radius:28px;overflow:hidden}
.air-gallery img{width:100%;height:100%;object-fit:cover;background:#e9f1e8}
.main-photo{grid-row:1/3}
.detail-layout{display:grid;grid-template-columns:1fr 380px;gap:34px;align-items:start}
.detail-content{min-width:0}
.host-line{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid #e4e9e4;padding-bottom:18px;margin-bottom:18px}
.host-line h2{margin:0;color:#0d4a24}
.host-badge{width:58px;height:58px;border-radius:50%;background:#0d6b37;color:#fff;display:grid;place-items:center;font-weight:900}
.trust-list{display:grid;gap:16px;margin:22px 0;padding-bottom:20px;border-bottom:1px solid #e4e9e4}
.trust-list div{padding-left:8px}
.trust-list strong{color:#0d4a24}
.trust-list span{color:#607065}
.air-terms{margin:20px 0}
.description-text{font-size:17px;line-height:1.65}
.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}
.amenities-grid span{border:1px solid #dce8dc;border-radius:16px;padding:13px;background:#fff;font-weight:800;color:#183a22}
.map-placeholder{background:#eef7ed;border:1px solid #dce8dc;border-radius:22px;padding:24px;display:grid;gap:8px;color:#24452c}
.booking-card{background:#fff;border:1px solid #dfe8df;border-radius:28px;padding:22px;box-shadow:0 18px 45px #14321420;position:sticky;top:100px}
.booking-price{font-size:22px;margin-top:0;color:#0d4a24}
.booking-dates{display:grid;grid-template-columns:1fr;gap:6px;background:#f7fbf6;border:1px solid #dce8dc;border-radius:18px;padding:12px;margin-bottom:12px}
.booking-card textarea{min-height:90px}
.booking-card button{width:100%;margin-top:8px}
.whatsapp.wide{display:block;background:#eaf5ea;color:#0d4a24;text-align:center;border-radius:16px;padding:13px;margin-top:10px;text-decoration:none;font-weight:900}
.booking-note{font-size:13px;color:#68756b;text-align:center;font-weight:800}
@media(max-width:980px){
  .air-search{grid-template-columns:1fr;border-radius:26px;margin-top:0}
  .air-search label{border-right:0;border-bottom:1px solid #e2e8e2}
  .air-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 140px 140px}
  .main-photo{grid-column:1/3;grid-row:1}
  .detail-layout{grid-template-columns:1fr}
  .booking-card{position:static}
}
@media(max-width:600px){
  .air-gallery{grid-template-columns:1fr;grid-template-rows:300px}
  .mini-photo{display:none}
  .main-photo{grid-column:auto}
  .detail-title-row{flex-direction:column}
  .amenities-grid{grid-template-columns:1fr}
}


/* V2.7 champs contextuels selon nature du bien */
#landStatusSearchWrap,#catalogLandStatus,#landStatusEditWrap{transition:.2s}
.air-search #landStatusSearchWrap{border-right:1px solid #e2e8e2}
.filters{grid-template-columns:1fr 1fr 1fr 1fr auto}
@media(max-width:900px){.filters{grid-template-columns:1fr}}


/* V2.8 présentation par ville + services */
.city-section{margin:30px 0}
.city-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.city-head h2{margin:0;color:#0d4a24;font-size:28px}
.city-head a{background:#eef7ed;color:#0d4a24;text-decoration:none;font-weight:900;border-radius:999px;padding:10px 14px}
.city-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.city-row .card{border-radius:20px}
.city-row .card img{height:190px}
.city-row .card div{padding:14px}
.city-row .card h3{font-size:16px;line-height:1.2}
.city-row .card .price{font-size:16px}
.service-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:26px}
.service-row a{background:#fff;border:1px solid #dce8dc;border-radius:20px;padding:18px;color:#0d4a24;text-decoration:none;font-weight:900;box-shadow:0 10px 24px #14321410;text-align:center}
.services-hero{background:linear-gradient(135deg,#073819,#0d6b37);color:#fff;border-radius:34px;padding:55px 40px;margin:24px 0}
.services-hero h1{font-size:44px;margin:0 0 12px}
.services-hero p{font-size:18px;max-width:760px}
.services-tabs{display:flex;gap:10px;overflow:auto;margin:18px 0 24px}
.services-tabs a{white-space:nowrap;background:#fff;border:1px solid #dce8dc;border-radius:999px;padding:12px 15px;color:#0d4a24;text-decoration:none;font-weight:900}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.services-grid article{background:#fff;border-radius:26px;padding:24px;box-shadow:0 12px 30px #14321414}
.services-grid article span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0d6b37;color:#fff;font-weight:900}
.services-grid h2{color:#0d4a24}
.services-grid li{margin:6px 0}
.services-cta{background:#eef7ed;border-radius:26px;padding:28px;margin:28px 0}
.ghost-green{background:#fff!important;color:#0d4a24!important;border:1px solid #0d6b37}
@media(max-width:1150px){.city-row{grid-template-columns:repeat(5,1fr)}.service-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.city-row{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.city-row,.services-grid,.service-row{grid-template-columns:1fr}.services-hero h1{font-size:32px}}


/* V2.9 demande de service */
.service-request-page .service-specific{display:none}
.service-form .owner-block h2{color:#0d4a24}
.service-request-page .services-hero{margin-bottom:18px}


/* V3.0 courtiers */
.broker-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}
.broker-principles article{background:#fff;border-radius:22px;padding:18px;box-shadow:0 10px 24px #14321410}
.broker-principles h3{color:#0d4a24;margin-top:0}
.broker-form textarea{min-height:110px}
.broker-dashboard table{width:100%}
.admin-link-btn.danger{background:#9b1c1c!important}
@media(max-width:900px){.broker-principles{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.broker-principles{grid-template-columns:1fr}}


/* V3.1 commentaires / forum et biens proches */
.review-summary{background:#eef7ed;border:1px solid #dce8dc;border-radius:18px;padding:16px;display:grid;gap:4px;margin:12px 0 18px}
.review-summary strong{font-size:24px;color:#0d4a24}
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:14px 0}
.review-card{background:#fff;border:1px solid #dfe8df;border-radius:18px;padding:16px;box-shadow:0 8px 18px #14321410}
.review-card strong{color:#0d4a24}
.review-card span{display:block;color:#c28a00;font-weight:900;margin-top:4px}
.review-card p{line-height:1.5}
.review-form-box{background:#fff;border:1px solid #dfe8df;border-radius:18px;padding:16px;margin-top:16px}
.review-form-box summary{cursor:pointer;color:#0d4a24;font-weight:900}
.nearby-section{margin-top:34px}
.nearby-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.nearby-row .card img{height:160px}
.nearby-row .card h3{font-size:15px}
.booking-rating{background:#fff7d6;color:#594715;border-radius:14px;padding:10px;font-weight:900}
.muted-text{color:#657468;font-weight:800}
@media(max-width:1100px){.nearby-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.reviews-grid,.nearby-row{grid-template-columns:1fr}}


/* V3.2 footer menus bas de page */
.site-footer{background:#f7f7f7;color:#0d1f14;margin-top:60px;border-top:1px solid #e2e6e2}
.footer-columns{max-width:1200px;margin:0 auto;padding:46px 18px;display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:34px}
.footer-columns h3{font-size:17px;margin:0 0 16px;color:#0d4a24}
.footer-columns a{display:block;color:#132318;text-decoration:none;margin:0 0 13px;font-weight:700}
.footer-columns a:hover{text-decoration:underline;color:#0d6b37}
.footer-brand img{width:150px;height:auto;object-fit:contain;margin-bottom:12px}
.footer-brand p{font-weight:700;color:#36543c;line-height:1.45}
.footer-bottom{border-top:1px solid #e2e6e2;max-width:1200px;margin:0 auto;padding:20px 18px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-weight:800;color:#203326}
.static-page .services-hero{margin-top:24px}
@media(max-width:900px){.footer-columns{grid-template-columns:1fr 1fr}.footer-bottom{justify-content:flex-start}}
@media(max-width:560px){.footer-columns{grid-template-columns:1fr}.footer-bottom{display:grid}}


/* V3.3 accueil premium + pages de confiance */
.premium-home-hero{max-width:1200px;margin:24px auto 0;border-radius:38px;min-height:430px;background:linear-gradient(120deg,rgba(5,55,24,.96),rgba(13,107,55,.84)),url('assets/villa.svg');background-size:cover;background-position:center;display:flex;align-items:center;padding:55px;color:#fff;box-shadow:0 22px 60px #14321424}
.hero-overlay{max-width:850px}
.hero-kicker{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.dark-kicker{background:#eaf5ea;color:#0d4a24;border-color:#dce8dc}
.premium-home-hero h1{font-size:54px;line-height:1.03;margin:18px 0}
.premium-home-hero p{font-size:19px;line-height:1.55;max-width:760px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.white-btn{background:#fff!important;color:#0d4a24!important}
.outline-btn{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.45)!important;color:#fff!important}
.improved-search{margin-top:-34px}
.home-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}
.home-stats div{background:#fff;border:1px solid #dce8dc;border-radius:22px;padding:18px;box-shadow:0 10px 24px #14321410}
.home-stats strong{display:block;color:#0d4a24;font-size:24px}
.home-stats span{font-weight:800;color:#506050}
.home-paths{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:24px 0}
.home-paths a{background:#fff;border:1px solid #dce8dc;border-radius:24px;padding:18px;text-decoration:none;color:#10281a;box-shadow:0 10px 26px #14321410;display:grid;gap:6px}
.home-paths span{font-size:26px}
.home-paths strong{color:#0d4a24}
.home-paths small{color:#5d6c61;font-weight:800}
.trust-panel{background:#fff;border-radius:30px;padding:32px;margin:34px 0;box-shadow:0 14px 35px #14321412}
.trust-panel h2{font-size:34px;color:#0d4a24;max-width:820px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust-grid article{background:#f7fbf6;border:1px solid #dce8dc;border-radius:22px;padding:18px}
.trust-grid strong{color:#0d4a24;font-size:18px}
.final-cta{background:linear-gradient(135deg,#eaf5ea,#fff);border-radius:30px;padding:32px;margin:32px 0;border:1px solid #dce8dc}
.final-cta h2{color:#0d4a24;font-size:32px;margin-top:0}
.about-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:24px 0}
.about-grid article,.contact-grid article{background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 30px #14321414}
.about-grid h2,.contact-grid h2{color:#0d4a24}
.big-trust{grid-template-columns:repeat(3,1fr);margin:24px 0}
.faq-list details{background:#fff;border:1px solid #dce8dc;border-radius:18px;padding:18px;margin:12px 0;box-shadow:0 8px 18px #1432140d}
.faq-list summary{cursor:pointer;font-weight:900;color:#0d4a24;font-size:18px}
.pro-list li{margin:12px 0;font-weight:800}
@media(max-width:1100px){.home-paths{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}.home-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.premium-home-hero{padding:32px 22px;min-height:auto}.premium-home-hero h1{font-size:34px}.home-paths,.trust-grid,.big-trust,.about-grid,.contact-grid,.home-stats{grid-template-columns:1fr}}


/* V3.4 réduction du grand cadre vert de la page d'accueil */
.premium-home-hero{
    min-height:260px!important;
    padding:34px 44px!important;
    border-radius:26px!important;
    margin-top:18px!important;
}
.premium-home-hero h1{
    font-size:38px!important;
    line-height:1.08!important;
    max-width:760px!important;
    margin:12px 0!important;
}
.premium-home-hero p{
    font-size:15px!important;
    line-height:1.45!important;
    max-width:720px!important;
}
.hero-kicker{
    padding:7px 11px!important;
    font-size:11px!important;
}
.hero-cta{
    margin-top:14px!important;
}
.hero-cta .btn{
    padding:10px 14px!important;
    font-size:13px!important;
}
.improved-search{
    margin-top:-24px!important;
}
@media(max-width:720px){
    .premium-home-hero{
        min-height:auto!important;
        padding:26px 20px!important;
        border-radius:22px!important;
    }
    .premium-home-hero h1{
        font-size:28px!important;
    }
}


/* V3.5 bilingue FR/EN */
.lang-switch{display:inline-flex;gap:4px;background:#eef7ed;border:1px solid #dce8dc;border-radius:999px;padding:4px;margin-left:6px}
.lang-switch a{padding:6px 8px!important;margin:0!important;border-radius:999px;font-size:12px;font-weight:900}
.lang-switch a:hover{background:#fff;text-decoration:none}


/* V3.6 barre supérieure recolorée */
.top{background:linear-gradient(180deg,#eef7ed 0%, #e3f0e2 100%)!important;border-bottom:1px solid #cfe0cf!important;box-shadow:0 8px 24px rgba(20,50,20,.08);}
.top nav a:hover{background:#dcefd9!important;}
.lang-switch{background:#ffffffcc;border-color:#cfe0cf!important;}


/* V3.7 choix langue en menu déroulant */
.lang-switch{display:none!important}
.lang-form{
    display:inline-flex;
    align-items:center;
    margin-left:6px;
}
.lang-form select{
    width:auto!important;
    min-width:118px;
    border:1px solid #cfe0cf!important;
    background:#fff!important;
    color:#0d4a24!important;
    font-weight:900!important;
    border-radius:999px!important;
    padding:8px 28px 8px 12px!important;
    font-size:13px!important;
    cursor:pointer;
}
.lang-form select:focus{
    outline:2px solid #0d6b37;
    outline-offset:2px;
}
@media(max-width:850px){
    .lang-form{margin:6px 0}
}


/* V3.8 menu langue compact FR/EN à l’extrême droite */
.top{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    align-items:center!important;
    column-gap:24px!important;
}
.top .brand{
    grid-column:1!important;
}
.top nav{
    grid-column:2 / 4!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
}
.lang-form{
    margin-left:auto!important;
    justify-self:end!important;
}
.lang-form select{
    min-width:78px!important;
    width:78px!important;
    text-align:center!important;
    padding:8px 26px 8px 14px!important;
    font-size:14px!important;
    border-radius:999px!important;
}
@media(max-width:850px){
    .top{
        display:flex!important;
        flex-direction:column!important;
        align-items:flex-start!important;
    }
    .top nav{
        width:100%!important;
    }
    .lang-form{
        margin-left:0!important;
    }
}

/* V5.4 - Blog et Qui sommes-nous administrables */
.blog-grid,.blog-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.blog-card,.blog-mini-card,.article-card,.about-main,.about-trust-card{background:#fff;border:1px solid #dfe9df;border-radius:22px;box-shadow:0 12px 30px rgba(20,50,20,.08)}
.blog-card{overflow:hidden}
.blog-card img{width:100%;height:190px;object-fit:cover;display:block}
.blog-card-body,.blog-mini-card{padding:18px}
.blog-cat{display:inline-block;background:#e9f8ec;color:#0d6b37;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px;margin-bottom:8px}
.blog-card h2,.blog-mini-card h3{color:#08264a;margin:8px 0}
.blog-card p,.blog-mini-card p{color:#435447;line-height:1.45}
.blog-mini-card a{font-weight:900;color:#0d6b37;text-decoration:none}
.article-card{padding:26px;max-width:900px;margin:24px auto}
.article-date{color:#68786b;font-weight:800}
.article-image{width:100%;max-height:420px;object-fit:cover;border-radius:18px;margin:14px 0}
.article-content p{font-size:17px;line-height:1.7;color:#243b2b}
.article-cta{background:#f7fbf6;border:1px solid #dce8dc;border-radius:20px;padding:18px;margin-top:22px}
.about-master{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:24px 0}
.about-main{padding:22px}
.about-main p{font-size:17px;line-height:1.7;color:#263d2b}
.about-trust-card{padding:22px;background:linear-gradient(180deg,#ffffff,#f4faf4)}
.about-trust-card h2{color:#08264a}
.about-trust-card li{margin:10px 0;font-weight:850;color:#24442b}
.admin-page{padding-top:22px}
.admin-actions-master{background:#f7fbf6;border:1px solid #dce8dc;border-radius:18px;padding:14px;margin:12px 0 22px}
.admin-form textarea,.admin-form input,.admin-form select{width:100%;padding:11px;border:1px solid #d5e0d5;border-radius:12px;margin-top:5px}
.admin-form label{display:block;font-weight:900;margin:12px 0;color:#19331f}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(20,50,20,.08)}
.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #edf2ed;text-align:left;vertical-align:top}
.admin-table th{background:#0d6b37;color:white}
.success-note{background:#e9f8ec;color:#0d4a24;border:1px solid #b9dfc0;border-radius:14px;padding:12px;font-weight:900}
@media(max-width:900px){
    .blog-grid,.blog-mini-grid,.about-master{grid-template-columns:1fr}
    .article-card{padding:18px}
    .admin-table{display:block;overflow-x:auto}
}

/* V5.5 - Touche de Maître */
.trust-master-grid,.guarantee-list,.trust-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.trust-master-grid article,.guarantee-list article,.trust-home-grid article,.form-trust-intro,.booking-trust-note{background:#fff;border:1px solid #dfe9df;border-radius:22px;box-shadow:0 12px 30px rgba(20,50,20,.08)}
.trust-master-grid article,.guarantee-list article{padding:22px}
.trust-master-grid article span{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#0d6b37;color:#fff;font-weight:900;margin-bottom:10px}
.trust-master-grid h2,.guarantee-list h2,.process-master h2{color:#08264a}
.trust-master-grid p,.guarantee-list p{color:#344b38;line-height:1.55;font-weight:700}
.process-master{background:linear-gradient(135deg,#f7fbf6,#fff);border:1px solid #dce8dc;border-radius:26px;padding:24px;margin:28px 0}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.process-steps div{background:#fff;border:1px solid #e4eee4;border-radius:20px;padding:16px}
.process-steps strong{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:#c4871b;color:#fff;margin-bottom:8px}
.process-steps h3{margin:6px 0;color:#0d4a24}
.form-trust-intro{padding:18px;margin:18px 0;background:linear-gradient(135deg,#ffffff,#f7fbf6)}
.form-trust-intro h2{margin-top:0;color:#0d4a24}
.form-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.form-trust-grid div{background:#fff;border:1px solid #dfe9df;border-radius:16px;padding:12px;display:flex;gap:10px;align-items:flex-start}
.form-trust-grid strong{background:#0d6b37;color:#fff;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.form-trust-grid span{font-weight:850;color:#263d2b;font-size:13px}
.booking-trust-note{padding:13px;margin:12px 0;background:#f7fbf6;display:flex;flex-direction:column;gap:4px}
.booking-trust-note strong{color:#0d4a24}
.booking-trust-note span{color:#435447;font-weight:800;font-size:13px}
.master-trust-home{background:linear-gradient(135deg,#f7fbf6,#ffffff);border:1px solid #dce8dc;border-radius:28px;padding:20px;margin:26px 0}
.trust-home-grid article{padding:18px;text-align:center}
.trust-home-grid strong{display:block;color:#c4871b;font-size:26px;margin-bottom:6px}
.trust-home-grid span{font-weight:900;color:#0d4a24}
@media(max-width:900px){
    .trust-master-grid,.guarantee-list,.trust-home-grid,.process-steps,.form-trust-grid{grid-template-columns:1fr}
    .form-trust-intro{padding:14px}
}


/* V5.6 - Accueil façon Airbnb : sélection par ville, pas tout le catalogue */
.section-subtitle{
    color:#53665a;
    font-weight:800;
    margin:-6px 0 16px;
}
.city-explorer-airbnb{
    margin:28px 0;
}
.city-destination-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.city-destination-card{
    display:flex;
    gap:12px;
    align-items:center;
    background:#fff;
    border:1px solid #dfe9df;
    border-radius:20px;
    padding:10px;
    text-decoration:none;
    color:#0d2b17;
    box-shadow:0 10px 24px rgba(20,50,20,.08);
    transition:.18s ease;
}
.city-destination-card:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(20,50,20,.13);
}
.city-destination-img{
    width:72px;
    height:60px;
    flex:0 0 auto;
    border-radius:16px;
    overflow:hidden;
    background:linear-gradient(135deg,#e9f8ec,#fff7d6);
    display:flex;
    align-items:center;
    justify-content:center;
}
.city-destination-img img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.city-destination-img span{
    font-size:28px;
}
.city-destination-card strong{
    display:block;
    font-size:17px;
    color:#08264a;
}
.city-destination-card small{
    display:block;
    color:#617165;
    font-weight:850;
    margin-top:4px;
}
.home-city-selections{
    margin:30px 0;
}
.city-selection-block{
    margin:22px 0 30px;
}
.city-selection-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.city-selection-head h3{
    color:#08264a;
    font-size:25px;
    margin:0;
}
.city-selection-head p{
    margin:3px 0 0;
    color:#667669;
    font-weight:800;
}
.city-selection-head a{
    color:#0d6b37;
    text-decoration:none;
    font-weight:900;
    white-space:nowrap;
}
.city-row-limited{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:1100px){
    .city-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .city-row-limited{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .city-destination-grid{grid-template-columns:1fr}
    .city-selection-head{align-items:flex-start;flex-direction:column}
    .city-row-limited{grid-template-columns:repeat(2,minmax(0,1fr))}
    .city-destination-img{width:64px;height:56px}
}


/* V6.2 - Menu ordinateur comme la maquette : logo gauche, navigation distribuée, dropdown Biens immobiliers, admin doré */
.top-native-v43{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:22px!important;
    padding:12px 54px!important;
    min-height:72px!important;
    background:#fff!important;
    box-shadow:0 2px 14px rgba(0,0,0,.08)!important;
    position:relative!important;
    z-index:999!important;
}
.top-native-v43 .brand{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    text-decoration:none!important;
}
.top-native-v43 .brand img{
    height:52px!important;
    width:auto!important;
}
.top-native-v43 .brand-text b{
    font-size:24px!important;
    line-height:1!important;
    color:#08264a!important;
}
.top-native-v43 .brand-text small{
    display:block!important;
    color:#5f7080!important;
    font-size:12px!important;
    white-space:nowrap!important;
}
.desktop-nav-native-v43{
    flex:1 1 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:20px!important;
    flex-wrap:nowrap!important;
    min-width:0!important;
}
.desktop-nav-native-v43 > a,
.desktop-nav-native-v43 .nav-dropbtn{
    color:#0a1933!important;
    text-decoration:none!important;
    font-weight:900!important;
    font-size:15px!important;
    padding:12px 6px!important;
    border-radius:10px!important;
    background:transparent!important;
    border:0!important;
    cursor:pointer!important;
    white-space:nowrap!important;
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
}
.desktop-nav-native-v43 > a:hover,
.desktop-nav-native-v43 .nav-dropbtn:hover{
    color:#075fb2!important;
}
.desktop-nav-native-v43 .nav-home{
    background:#075fb2!important;
    color:#fff!important;
    padding:13px 18px!important;
    border-radius:12px!important;
    box-shadow:0 6px 14px rgba(7,95,178,.24)!important;
}
.desktop-nav-native-v43 .admin-pill{
    background:linear-gradient(135deg,#c4871b,#e0a033)!important;
    color:#fff!important;
    padding:13px 22px!important;
    border-radius:11px!important;
    box-shadow:0 6px 14px rgba(196,135,27,.25)!important;
}
.nav-dropdown{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
}
.nav-dropdown-menu{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    min-width:210px!important;
    background:#fff!important;
    border:1px solid #dbe4ea!important;
    border-radius:0 0 14px 14px!important;
    box-shadow:0 18px 36px rgba(0,0,0,.16)!important;
    padding:9px!important;
    display:none!important;
    z-index:9999!important;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
    display:block!important;
}
.nav-dropdown-menu a{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px 13px!important;
    color:#0a1933!important;
    text-decoration:none!important;
    font-weight:800!important;
    border-radius:10px!important;
    white-space:nowrap!important;
}
.nav-dropdown-menu a:hover{
    background:#f1f7ff!important;
    color:#075fb2!important;
}
.desktop-nav-native-v43 .lang-form{
    margin-left:2px!important;
    flex:0 0 auto!important;
}
.desktop-nav-native-v43 .lang-form select{
    border:0!important;
    border-radius:999px!important;
    padding:8px 12px!important;
    background:#f5f8f3!important;
    font-weight:900!important;
    color:#0d4a24!important;
}
.mobile-menu-title{
    color:#d7e6ff!important;
    font-weight:900!important;
    padding:11px 14px 6px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.mobile-nav-panel-native-v43 .mobile-sub{
    padding-left:34px!important;
}
.mobile-nav-panel-native-v43 .mobile-admin-link{
    background:linear-gradient(135deg,#c4871b,#e0a033)!important;
    color:#fff!important;
    margin-top:10px!important;
    justify-content:center!important;
    border-radius:12px!important;
}
@media(max-width:1180px){
    .top-native-v43{padding:10px 24px!important;gap:14px!important}
    .desktop-nav-native-v43{gap:11px!important}
    .desktop-nav-native-v43 > a,
    .desktop-nav-native-v43 .nav-dropbtn{font-size:14px!important;padding:10px 4px!important}
    .desktop-nav-native-v43 .nav-home{padding:11px 14px!important}
    .desktop-nav-native-v43 .admin-pill{padding:11px 16px!important}
    .top-native-v43 .brand-text b{font-size:21px!important}
}
@media(max-width:980px){
    .desktop-nav-native-v43{display:none!important}
    .top-native-v43{padding:10px 14px!important}
}


/* V6.3 - Bannière immobilière haut standing + affichage mobile */
.hero-realestate-v63{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    border-radius:0!important;
    min-height:520px!important;
    background:
        linear-gradient(90deg, rgba(0,22,18,.82) 0%, rgba(0,35,28,.60) 38%, rgba(0,0,0,.12) 72%),
        url('hero-lemmarket-v63.svg') center/cover no-repeat!important;
    padding:72px 64px 95px!important;
    box-shadow:none!important;
    position:relative!important;
}
.hero-realestate-v63 .hero-overlay{
    max-width:820px!important;
    position:relative!important;
    z-index:2!important;
}
.hero-realestate-v63 .hero-kicker{
    color:#fff!important;
    background:rgba(13,107,55,.52)!important;
    border-color:rgba(255,255,255,.28)!important;
}
.hero-realestate-v63 h1{
    font-size:56px!important;
    line-height:1.02!important;
    letter-spacing:-.03em!important;
    color:#fff!important;
    text-shadow:0 4px 16px rgba(0,0,0,.35)!important;
    max-width:780px!important;
}
.hero-realestate-v63 h1 strong,
.hero-realestate-v63 h1 em{
    color:#f2bb4c!important;
}
.hero-realestate-v63 p{
    font-size:20px!important;
    color:#f5fff5!important;
    text-shadow:0 3px 12px rgba(0,0,0,.25)!important;
    max-width:680px!important;
}
.hero-trust-badges{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
    margin:25px 0 20px!important;
    max-width:920px!important;
}
.hero-trust-badges div{
    display:flex!important;
    gap:10px!important;
    align-items:center!important;
    padding:12px 14px!important;
    border-left:1px solid rgba(255,255,255,.28)!important;
    background:rgba(0,0,0,.12)!important;
    backdrop-filter:blur(2px)!important;
}
.hero-trust-badges span{
    color:#f2bb4c!important;
    font-size:27px!important;
}
.hero-trust-badges strong{
    color:#fff!important;
    font-size:14px!important;
    line-height:1.2!important;
}
.hero-realestate-v63 + .notice-success + main .improved-search,
.hero-realestate-v63 + main .improved-search,
.home-pro .improved-search{
    margin-top:-54px!important;
    position:relative!important;
    z-index:5!important;
}
@media(max-width:980px){
    .hero-realestate-v63{
        min-height:auto!important;
        padding:38px 18px 78px!important;
        background:
            linear-gradient(180deg, rgba(0,22,18,.86) 0%, rgba(0,44,32,.67) 58%, rgba(0,0,0,.24) 100%),
            url('hero-lemmarket-v63.svg') center/cover no-repeat!important;
    }
    .hero-realestate-v63 .hero-overlay{
        max-width:100%!important;
    }
    .hero-realestate-v63 h1{
        font-size:34px!important;
        line-height:1.08!important;
        margin:14px 0!important;
        max-width:100%!important;
    }
    .hero-realestate-v63 p{
        font-size:15.5px!important;
        line-height:1.45!important;
        max-width:100%!important;
    }
    .hero-trust-badges{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
        margin:16px 0!important;
    }
    .hero-trust-badges div{
        padding:10px!important;
        border-left:0!important;
        border-radius:14px!important;
        background:rgba(0,0,0,.22)!important;
    }
    .hero-trust-badges span{
        font-size:20px!important;
    }
    .hero-trust-badges strong{
        font-size:12px!important;
    }
    .hero-realestate-v63 .hero-cta{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:9px!important;
    }
    .hero-realestate-v63 .hero-cta .btn{
        width:100%!important;
        justify-content:center!important;
        text-align:center!important;
    }
    .home-pro .improved-search{
        margin-top:-44px!important;
        border-radius:22px!important;
    }
}
@media(max-width:520px){
    .hero-realestate-v63{
        padding:30px 14px 70px!important;
        background-position:center top!important;
    }
    .hero-realestate-v63 h1{
        font-size:29px!important;
    }
    .hero-trust-badges{
        grid-template-columns:1fr!important;
    }
    .hero-kicker{
        font-size:10px!important;
    }
    .home-pro .improved-search{
        margin-top:-38px!important;
    }
}


/* V6.4 - Bannière réduite et plus élégante */
.hero-realestate-v63{
    min-height:390px!important;
    padding:46px 58px 68px!important;
}
.hero-realestate-v63 h1{
    font-size:43px!important;
    line-height:1.06!important;
    max-width:720px!important;
    margin:12px 0!important;
}
.hero-realestate-v63 p{
    font-size:17px!important;
    max-width:620px!important;
    line-height:1.45!important;
}
.hero-trust-badges{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-width:840px!important;
    gap:9px!important;
    margin:18px 0 14px!important;
}
.hero-trust-badges div{
    padding:9px 11px!important;
}
.hero-trust-badges span{
    font-size:21px!important;
}
.hero-trust-badges strong{
    font-size:12.5px!important;
}
.hero-realestate-v63 .hero-cta{
    margin-top:14px!important;
}
.hero-realestate-v63 .hero-cta .btn{
    padding:11px 15px!important;
    font-size:13px!important;
}
.home-pro .improved-search{
    margin-top:-36px!important;
}
@media(max-width:980px){
    .hero-realestate-v63{
        min-height:auto!important;
        padding:26px 16px 56px!important;
    }
    .hero-realestate-v63 h1{
        font-size:27px!important;
        line-height:1.08!important;
        margin:10px 0!important;
    }
    .hero-realestate-v63 p{
        font-size:14px!important;
        line-height:1.38!important;
    }
    .hero-trust-badges{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:7px!important;
        margin:12px 0!important;
    }
    .hero-trust-badges div{
        padding:8px!important;
        border-radius:12px!important;
    }
    .hero-trust-badges span{
        font-size:17px!important;
    }
    .hero-trust-badges strong{
        font-size:11px!important;
    }
    .hero-realestate-v63 .hero-cta{
        margin-top:10px!important;
    }
    .hero-realestate-v63 .hero-cta .btn{
        padding:10px 12px!important;
    }
    .home-pro .improved-search{
        margin-top:-30px!important;
    }
}
@media(max-width:520px){
    .hero-realestate-v63{
        padding:22px 12px 48px!important;
    }
    .hero-realestate-v63 h1{
        font-size:24px!important;
    }
    .hero-trust-badges{
        grid-template-columns:1fr 1fr!important;
    }
    .home-pro .improved-search{
        margin-top:-26px!important;
    }
}


/* V6.5 - Séparation visible entre la bannière et le panneau de recherche */
.hero-realestate-v63 + .notice-success + main .improved-search,
.hero-realestate-v63 + main .improved-search,
.home-pro .improved-search{
    margin-top:14px!important;
}
@media(max-width:980px){
    .hero-realestate-v63 + .notice-success + main .improved-search,
    .hero-realestate-v63 + main .improved-search,
    .home-pro .improved-search{
        margin-top:12px!important;
    }
}
@media(max-width:520px){
    .hero-realestate-v63 + .notice-success + main .improved-search,
    .hero-realestate-v63 + main .improved-search,
    .home-pro .improved-search{
        margin-top:10px!important;
    }
}


/* V6.6 - Finition premium mobile : lisibilité, espacements et boutons */
@media(max-width:980px){
    body{
        background:#f4f8f2!important;
    }
    .top-native-v43{
        min-height:82px!important;
        box-shadow:0 8px 24px rgba(0,0,0,.08)!important;
    }
    .top-native-v43 .brand img{
        height:46px!important;
    }
    .top-native-v43 .brand-text b{
        font-size:20px!important;
    }
    .top-native-v43 .brand-text small{
        font-size:10.5px!important;
        max-width:210px!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }
    .mobile-nav-native-v43 summary{
        min-height:50px!important;
        padding:0 18px!important;
        border-radius:999px!important;
        font-size:17px!important;
        font-weight:900!important;
        box-shadow:0 10px 22px rgba(13,107,55,.22)!important;
    }
    .hero-realestate-v63{
        border-radius:0 0 28px 28px!important;
    }
    .hero-realestate-v63 h1{
        font-size:25px!important;
        line-height:1.13!important;
        letter-spacing:-.02em!important;
    }
    .hero-realestate-v63 p{
        font-size:14px!important;
        line-height:1.5!important;
    }
    .hero-trust-badges div{
        min-height:54px!important;
    }
    .hero-realestate-v63 .hero-cta .btn{
        min-height:46px!important;
        border-radius:999px!important;
        font-size:14px!important;
        font-weight:900!important;
    }

    .wrap.home-pro{
        padding-left:12px!important;
        padding-right:12px!important;
    }
    .improved-search{
        padding:16px!important;
        border-radius:24px!important;
        box-shadow:0 16px 34px rgba(20,50,20,.14)!important;
        border:1px solid #e2ece2!important;
    }
    .improved-search label{
        font-size:14px!important;
        font-weight:900!important;
        color:#14251a!important;
        margin-bottom:10px!important;
    }
    .improved-search input,
    .improved-search select{
        min-height:48px!important;
        border-radius:16px!important;
        font-size:14px!important;
        background:#f7fbf6!important;
    }
    .improved-search button{
        min-height:50px!important;
        border-radius:999px!important;
        font-size:15px!important;
        font-weight:900!important;
    }

    .home-stats{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .home-stats div{
        padding:13px!important;
        border-radius:18px!important;
    }
    .home-stats strong{
        font-size:16px!important;
    }
    .home-stats span{
        font-size:12px!important;
    }

    .home-paths{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .home-paths a{
        min-height:118px!important;
        border-radius:20px!important;
        padding:14px!important;
    }
    .home-paths span{
        font-size:23px!important;
    }
    .home-paths strong{
        font-size:14px!important;
    }
    .home-paths small{
        font-size:11.5px!important;
        line-height:1.3!important;
    }

    .section-line,
    .section-head{
        align-items:flex-start!important;
        gap:8px!important;
    }
    .section-line h2,
    .section-head h2{
        font-size:22px!important;
        line-height:1.15!important;
    }
    .section-line a,
    .section-head a{
        font-size:12.5px!important;
    }

    .city-destination-card,
    .blog-mini-card,
    .trust-home-grid article,
    .master-trust-home,
    .trust-panel,
    .final-cta,
    .owner-block{
        border-radius:22px!important;
    }
    .city-destination-img{
        width:66px!important;
        height:58px!important;
    }
    .city-selection-head h3{
        font-size:21px!important;
    }
    .city-row,
    .city-row-limited{
        gap:12px!important;
    }
    .card{
        border-radius:20px!important;
        overflow:hidden!important;
    }
    .card h3{
        font-size:15px!important;
        line-height:1.25!important;
    }
    .card .price{
        font-size:14px!important;
    }

    .trust-grid,
    .service-row,
    .blog-mini-grid,
    .trust-home-grid{
        gap:10px!important;
    }
    .service-row a{
        min-height:54px!important;
        border-radius:18px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
        font-size:13px!important;
    }

    footer,
    .footer{
        font-size:13px!important;
    }
}
@media(max-width:520px){
    .top-native-v43{
        padding:10px 10px!important;
    }
    .top-native-v43 .brand-text small{
        max-width:175px!important;
    }
    .hero-realestate-v63{
        padding:20px 12px 44px!important;
    }
    .hero-realestate-v63 h1{
        font-size:23px!important;
    }
    .hero-trust-badges{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .hero-trust-badges strong{
        font-size:10.5px!important;
    }
    .home-stats,
    .home-paths{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .city-row-limited{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}


/* V6.8 - Correctif mobile : bannière sans débordement + bouton menu réduit */
@media(max-width:900px){
    html,body{
        overflow-x:hidden!important;
    }
    .top-native-v43{
        grid-template-columns:minmax(0,1fr) auto!important;
        column-gap:8px!important;
        padding:10px 12px!important;
    }
    .top-native-v43 .brand{
        min-width:0!important;
        max-width:100%!important;
        overflow:hidden!important;
    }
    .top-native-v43 .brand-text{
        min-width:0!important;
        overflow:hidden!important;
    }
    .top-native-v43 .brand img{
        height:42px!important;
        max-width:62px!important;
    }
    .top-native-v43 .brand-text b{
        font-size:16px!important;
        line-height:1.05!important;
    }
    .top-native-v43 .brand-text small{
        display:block!important;
        max-width:150px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        font-size:8.8px!important;
    }

    .mobile-nav-native-v43 summary{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:8px!important;
        min-height:42px!important;
        padding:0 14px!important;
        border-radius:24px!important;
        font-size:15px!important;
        line-height:1!important;
        box-shadow:0 6px 14px rgba(13,107,55,.16)!important;
    }
    .mobile-nav-panel-native-v43{
        top:46px!important;
    }

    .hero-realestate-v63{
        width:auto!important;
        margin:12px 12px 0!important;
        border-radius:24px!important;
        min-height:auto!important;
        padding:20px 14px 34px!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
        background-position:center center!important;
    }
    .hero-realestate-v63 .hero-overlay,
    .hero-realestate-v63 h1,
    .hero-realestate-v63 p,
    .hero-realestate-v63 .hero-cta,
    .hero-trust-badges{
        max-width:100%!important;
    }
    .hero-realestate-v63 h1{
        font-size:24px!important;
        line-height:1.12!important;
    }
    .hero-realestate-v63 p{
        font-size:13.8px!important;
        line-height:1.45!important;
    }
    .hero-trust-badges{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .hero-trust-badges div{
        min-width:0!important;
        overflow:hidden!important;
    }
    .hero-trust-badges strong{
        word-break:break-word!important;
    }

    .wrap.home-pro{
        padding-left:12px!important;
        padding-right:12px!important;
    }
    .hero-realestate-v63 + .notice-success + main .improved-search,
    .hero-realestate-v63 + main .improved-search,
    .home-pro .improved-search{
        margin-top:12px!important;
    }
}

@media(max-width:520px){
    .top-native-v43{
        padding:9px 10px!important;
    }
    .top-native-v43 .brand img{
        height:38px!important;
        max-width:56px!important;
    }
    .top-native-v43 .brand-text b{
        font-size:15px!important;
    }
    .top-native-v43 .brand-text small{
        max-width:120px!important;
        font-size:8.2px!important;
    }
    .mobile-nav-native-v43 summary{
        min-height:40px!important;
        padding:0 12px!important;
        font-size:14px!important;
    }
    .hero-realestate-v63{
        margin:10px 10px 0!important;
        padding:18px 12px 30px!important;
        border-radius:22px!important;
    }
    .hero-realestate-v63 h1{
        font-size:22px!important;
    }
    .hero-realestate-v63 p{
        font-size:13.2px!important;
    }
}


/* V6.9 - Remplacement des panneaux verts par des bannières images : Services, Blog, Qui sommes-nous */
.page-image-banner,
.static-page .services-hero.page-image-banner,
.services-page .services-hero.page-image-banner{
    position:relative!important;
    overflow:hidden!important;
    min-height:260px!important;
    border-radius:30px!important;
    padding:46px 42px!important;
    display:flex!important;
    align-items:center!important;
    color:#fff!important;
    background:
        linear-gradient(90deg, rgba(0,25,22,.86) 0%, rgba(0,52,37,.66) 48%, rgba(0,0,0,.18) 100%),
        url('hero-lemmarket-v63.svg') center/cover no-repeat!important;
    box-shadow:0 18px 45px rgba(20,50,20,.16)!important;
}
.page-image-banner::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    background:radial-gradient(circle at 80% 20%, rgba(242,187,76,.20), transparent 35%)!important;
    pointer-events:none!important;
}
.page-image-banner > div{
    position:relative!important;
    z-index:2!important;
    max-width:760px!important;
}
.page-image-banner h1{
    color:#fff!important;
    font-size:42px!important;
    line-height:1.08!important;
    margin:10px 0!important;
    text-shadow:0 4px 16px rgba(0,0,0,.35)!important;
}
.page-image-banner p{
    color:#f3fff4!important;
    font-size:18px!important;
    line-height:1.5!important;
    max-width:720px!important;
    text-shadow:0 3px 12px rgba(0,0,0,.28)!important;
}
.page-image-banner .install-badge{
    display:inline-block!important;
    background:rgba(13,107,55,.62)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:999px!important;
    padding:8px 13px!important;
    font-weight:900!important;
}

/* variations légères pour distinguer les trois pages */
.about-hero{
    background:
        linear-gradient(90deg, rgba(0,25,22,.88) 0%, rgba(8,38,74,.62) 50%, rgba(0,0,0,.16) 100%),
        url('hero-lemmarket-v63.svg') center/cover no-repeat!important;
}
.blog-hero{
    background:
        linear-gradient(90deg, rgba(8,38,74,.88) 0%, rgba(13,107,55,.58) 52%, rgba(0,0,0,.12) 100%),
        url('hero-lemmarket-v63.svg') center/cover no-repeat!important;
}
.services-image-banner{
    background:
        linear-gradient(90deg, rgba(0,25,22,.86) 0%, rgba(196,135,27,.40) 54%, rgba(0,0,0,.14) 100%),
        url('hero-lemmarket-v63.svg') center/cover no-repeat!important;
}

@media(max-width:900px){
    .page-image-banner,
    .static-page .services-hero.page-image-banner,
    .services-page .services-hero.page-image-banner{
        min-height:auto!important;
        margin:12px 0 18px!important;
        padding:28px 18px!important;
        border-radius:24px!important;
        background-position:center!important;
    }
    .page-image-banner h1{
        font-size:28px!important;
        line-height:1.12!important;
    }
    .page-image-banner p{
        font-size:14.5px!important;
        line-height:1.45!important;
    }
    .page-image-banner .install-badge{
        font-size:11px!important;
        padding:7px 11px!important;
    }
}
@media(max-width:520px){
    .page-image-banner,
    .static-page .services-hero.page-image-banner,
    .services-page .services-hero.page-image-banner{
        padding:24px 14px!important;
        border-radius:22px!important;
    }
    .page-image-banner h1{
        font-size:24px!important;
    }
}

/* V7.1 - Galerie multi-images par bien */
.air-gallery-dynamic .mini-photo img{cursor:pointer}
.air-gallery-dynamic .mini-photo img.active{outline:3px solid #0d6b37;outline-offset:2px}


/* V8.0 - Backend CMS / ERP + espace abonnés + carrousel */
.dynamic-fields-box{background:#f7fbf6;border:1px solid #dce8dc;border-radius:18px;padding:14px;margin:14px 0}
.dynamic-fields-box h3{margin-top:0;color:#0d4a24}
.carousel-gallery{position:relative}
.carousel-btn{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;width:44px!important;height:44px!important;border-radius:50%!important;background:rgba(13,107,55,.88)!important;color:#fff!important;font-size:30px!important;line-height:1!important;padding:0!important;z-index:6!important}
.carousel-btn.prev{left:14px!important}
.carousel-btn.next{right:14px!important}
.gallery-admin label{font-size:12px;margin:6px 0}
.gallery-admin input[type=number]{padding:8px;border-radius:10px}
.admin-note{background:#f1f8f1;border-left:5px solid #0d6b37;border-radius:14px;padding:12px 14px;color:#23402b;font-weight:700}
@media(max-width:700px){.carousel-btn{width:36px!important;height:36px!important;font-size:24px!important}}


/* V8.1 - Menu mobile : Biens immobiliers cliquable/deroulant */
.mobile-submenu{
    background:#ffffff;
    border:1px solid #dce8dc;
    border-radius:18px;
    margin:10px 0;
    box-shadow:0 6px 18px rgba(10,70,35,.08);
    overflow:hidden;
}
.mobile-submenu summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px;
    padding:15px 18px;
    font-weight:900;
    color:#0d4a24;
    background:#ffffff!important;
}
.mobile-submenu summary::-webkit-details-marker{display:none}
.mobile-submenu .chev{margin-left:auto;transition:transform .2s ease}
.mobile-submenu[open] .chev{transform:rotate(180deg)}
.mobile-submenu-content{background:#f5fbf5;padding:8px 10px 12px 22px}
.mobile-submenu-content .mobile-sub{margin:8px 0!important}
.mobile-menu-title{display:none!important}


/* V8.2 - Bouton Installer visible dans la bannière d'accueil */
.hero-install-callout{
    display:flex;
    align-items:center;
    gap:12px;
    background:rgba(255,255,255,.94);
    color:#0d4a24;
    border:1px solid rgba(255,255,255,.65);
    box-shadow:0 14px 35px rgba(0,0,0,.18);
    border-radius:22px;
    padding:12px 14px;
    margin:18px 0 16px;
    max-width:720px;
}
.hero-install-callout span{
    width:46px;
    height:46px;
    border-radius:16px;
    background:#eef8ef;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    flex:0 0 auto;
}
.hero-install-callout div{flex:1;min-width:0}
.hero-install-callout strong{display:block;font-weight:1000;color:#0d4a24}
.hero-install-callout small{display:block;color:#31513b;font-weight:700;margin-top:2px}
.hero-install-callout a{
    background:#0d6b37;
    color:#fff!important;
    padding:11px 18px;
    border-radius:999px;
    text-decoration:none;
    font-weight:1000;
    white-space:nowrap;
}
@media(max-width:700px){
    .hero-install-callout{
        align-items:flex-start;
        flex-wrap:wrap;
        border-radius:20px;
        padding:12px;
        margin:16px 0;
    }
    .hero-install-callout a{
        width:100%;
        text-align:center;
        padding:13px 18px;
    }
    .hero-install-callout span{
        width:40px;
        height:40px;
        border-radius:14px;
    }
}


/* V8.8 DEFINITIF - Installer, menu mobile, icones services */
.hero-install-callout.install-managed-v88{display:none!important}
.hero-install-callout.install-managed-v88.install-ready-v88{display:flex!important}
.hero-install-callout .install-already-btn-v88{border:0!important;background:#eef8ef!important;color:#0d4a24!important;border-radius:999px!important;padding:10px 15px!important;font-weight:1000!important;cursor:pointer!important;white-space:nowrap!important}
@media(max-width:700px){.hero-install-callout .install-already-btn-v88{width:100%!important;text-align:center!important;margin-top:6px!important}}
.mobile-submenu,.mobile-menu-title,.mobile-submenu-v87{display:none!important}
.mobile-accordion-v88{display:block!important;width:100%!important;margin:10px 0!important;border:1px solid #dce8dc!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 6px 18px rgba(10,70,35,.08)!important}
.mobile-accordion-toggle-v88{width:100%!important;min-height:74px!important;display:flex!important;align-items:center!important;gap:14px!important;padding:14px 18px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#0d4a24!important;font-weight:1000!important;font-size:18px!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;opacity:1!important;visibility:visible!important}
.mobile-accordion-toggle-v88 .micon,.mobile-nav-item-v88 .micon{width:46px!important;height:46px!important;border-radius:50%!important;background:#edf8ef!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;color:#0d4a24!important}
.mobile-accordion-toggle-v88 .mtitle{display:inline-block!important;color:inherit!important}
.mobile-accordion-toggle-v88 .chev{margin-left:auto!important;transition:transform .2s ease!important;color:inherit!important}
.mobile-accordion-v88.open .mobile-accordion-toggle-v88{background:#0d5b31!important;color:#fff!important;border-radius:18px 18px 0 0!important}
.mobile-accordion-v88.open .mobile-accordion-toggle-v88 .micon{background:rgba(255,255,255,.2)!important;color:#fff!important}
.mobile-accordion-v88.open .mobile-accordion-toggle-v88 .chev{transform:rotate(180deg)!important}
.mobile-accordion-panel-v88{display:none!important;background:#f5fbf5!important;padding:10px 12px 14px 24px!important;border-top:1px solid #dce8dc!important}
.mobile-accordion-v88.open .mobile-accordion-panel-v88{display:block!important}
.mobile-accordion-panel-v88 .mobile-sub{display:flex!important;align-items:center!important;gap:12px!important;margin:10px 0!important;padding:14px 16px!important;background:#fff!important;border:1px solid #dce8dc!important;border-radius:16px!important;color:#0d4a24!important;font-weight:900!important;text-decoration:none!important;min-height:auto!important}
.mobile-nav-item-v88{display:flex!important;align-items:center!important;gap:14px!important;min-height:74px!important;margin:10px 0!important;padding:14px 18px!important;background:#fff!important;border:1px solid #dce8dc!important;border-radius:18px!important;color:#0d4a24!important;font-weight:1000!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(10,70,35,.08)!important}
.mobile-nav-native-v43 a:not(.mobile-admin-link):not(.mobile-sub):not(.mobile-nav-item-v88){background:#fff!important;color:#0d4a24!important}
.services-grid article h2{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;flex-wrap:wrap!important;text-align:center!important}
.service-icon-v88{width:58px!important;height:58px!important;min-width:58px!important;border-radius:50%!important;background:#edf8ef!important;color:#0d6b37!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:28px!important;box-shadow:0 8px 18px rgba(13,107,55,.12)!important}
@media(max-width:700px){.services-grid article h2{flex-direction:column!important;gap:10px!important}.service-icon-v88{width:64px!important;height:64px!important;min-width:64px!important;font-size:30px!important}}


/* V8.9 DEFINITIF - Menu mobile fixe + Services visibles */
/* masquer les anciens systèmes qui interfèrent */
.mobile-accordion-v88,.mobile-submenu,.mobile-submenu-v87,.mobile-menu-title{display:none!important;}
.mobile-nav-panel-native-v43 .lm89-mobile-item,
.mobile-nav-panel-native-v43 .lm89-mobile-admin,
.mobile-nav-panel-native-v43 .lm89-accordion{
    display:flex!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:12px 0!important;
    border:1px solid #dce8dc!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(10,70,35,.09)!important;
    overflow:hidden!important;
}
.mobile-nav-panel-native-v43 .lm89-mobile-item,
.mobile-nav-panel-native-v43 .lm89-mobile-admin{
    align-items:center!important;
    gap:16px!important;
    min-height:82px!important;
    padding:16px 20px!important;
    color:#0d4a24!important;
    font-size:21px!important;
    font-weight:1000!important;
    text-decoration:none!important;
}
.mobile-nav-panel-native-v43 .lm89-mobile-item .micon,
.mobile-nav-panel-native-v43 .lm89-mobile-admin .micon,
.mobile-nav-panel-native-v43 .lm89-accordion .micon{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    border-radius:50%!important;
    background:#edf8ef!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:25px!important;
    color:#0d4a24!important;
}
.mobile-nav-panel-native-v43 .lm89-accordion{
    flex-direction:column!important;
}
.mobile-nav-panel-native-v43 .lm89-accordion-btn{
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    width:100%!important;
    min-height:82px!important;
    padding:16px 20px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#0d4a24!important;
    font-size:21px!important;
    font-weight:1000!important;
    text-align:left!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.mobile-nav-panel-native-v43 .lm89-accordion-btn .chev{margin-left:auto!important;transition:transform .2s ease!important;color:inherit!important;}
.mobile-nav-panel-native-v43 .lm89-accordion.open .lm89-accordion-btn{
    background:#0d5b31!important;
    color:#fff!important;
}
.mobile-nav-panel-native-v43 .lm89-accordion.open .lm89-accordion-btn .micon{
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
}
.mobile-nav-panel-native-v43 .lm89-accordion.open .chev{transform:rotate(180deg)!important;}
.mobile-nav-panel-native-v43 .lm89-accordion-panel{
    display:none!important;
    padding:12px 14px 16px 28px!important;
    background:#f5fbf5!important;
    border-top:1px solid #dce8dc!important;
}
.mobile-nav-panel-native-v43 .lm89-accordion.open .lm89-accordion-panel{display:block!important;}
.mobile-nav-panel-native-v43 .lm89-accordion-panel a{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin:10px 0!important;
    padding:15px 18px!important;
    border:1px solid #dce8dc!important;
    border-radius:18px!important;
    background:#fff!important;
    color:#0d4a24!important;
    font-size:19px!important;
    font-weight:950!important;
    text-decoration:none!important;
}
.mobile-nav-panel-native-v43 .lm89-mobile-admin{background:linear-gradient(135deg,#c4871b,#e0a033)!important;color:#fff!important;justify-content:center!important;}
.mobile-nav-panel-native-v43 .lm89-mobile-admin .micon{background:rgba(255,255,255,.22)!important;color:#fff!important;}

/* Services V8.9 : icônes et textes plus visibles */
.lm89-services-page .services-hero{margin-bottom:22px!important;}
.lm89-service-tabs a{font-size:16px!important;font-weight:950!important;}
.lm89-services-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:20px!important;}
.lm89-service-card{
    min-height:245px!important;
    padding:28px 20px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:26px!important;
    background:#fff!important;
    border:1px solid #dce8dc!important;
    box-shadow:0 10px 26px rgba(10,70,35,.08)!important;
}
.lm89-service-card .lm89-number{color:#c4871b!important;font-size:15px!important;font-weight:1000!important;margin-bottom:8px!important;}
.lm89-service-icon{
    width:72px!important;
    height:72px!important;
    border-radius:50%!important;
    background:#edf8ef!important;
    color:#0d6b37!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:35px!important;
    margin-bottom:15px!important;
    box-shadow:0 12px 24px rgba(13,107,55,.14)!important;
}
.lm89-service-card h2{font-size:24px!important;line-height:1.18!important;color:#0d4a24!important;font-weight:1000!important;margin:4px 0 10px!important;}
.lm89-service-card p{font-size:16px!important;line-height:1.45!important;color:#31513b!important;font-weight:650!important;margin:0!important;}
@media(max-width:700px){
    .lm89-services-grid{grid-template-columns:1fr!important;gap:18px!important;}
    .lm89-service-card{min-height:210px!important;padding:24px 18px!important;}
    .lm89-service-icon{width:76px!important;height:76px!important;font-size:38px!important;}
    .lm89-service-card h2{font-size:25px!important;}
    .lm89-service-card p{font-size:16.5px!important;}
    .mobile-nav-panel-native-v43 .lm89-mobile-item,
    .mobile-nav-panel-native-v43 .lm89-mobile-admin,
    .mobile-nav-panel-native-v43 .lm89-accordion-btn{font-size:21px!important;}
}


/* V9.0 - CORRECTION DEFINITIVE MOBILE MENU + SERVICES + INSTALLER */
/* On neutralise tous les anciens systèmes qui cachaient Biens immobiliers */
.mobile-accordion-v88,.mobile-submenu,.mobile-submenu-v87,.mobile-menu-title,
.lm89-accordion,.lm89-mobile-item,.lm89-mobile-admin{display:none!important;}

.mobile-nav-panel-native-v43 .lm90-item,
.mobile-nav-panel-native-v43 .lm90-admin,
.mobile-nav-panel-native-v43 .lm90-biens{
    display:flex!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:13px 0!important;
    border:1px solid #dce8dc!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(10,70,35,.10)!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
}
.mobile-nav-panel-native-v43 .lm90-item,
.mobile-nav-panel-native-v43 .lm90-admin{
    align-items:center!important;
    gap:18px!important;
    min-height:86px!important;
    padding:17px 22px!important;
    color:#0d4a24!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:1000!important;
    text-decoration:none!important;
}
.mobile-nav-panel-native-v43 .lm90-ico{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    border-radius:50%!important;
    background:#edf8ef!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:26px!important;
    color:#0d4a24!important;
}
.mobile-nav-panel-native-v43 .lm90-ico.small{width:44px!important;height:44px!important;min-width:44px!important;font-size:22px!important;}
.mobile-nav-panel-native-v43 .lm90-biens{flex-direction:column!important;}
.mobile-nav-panel-native-v43 .lm90-biens-btn{
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    width:100%!important;
    min-height:86px!important;
    padding:17px 22px!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#0d4a24!important;
    font-size:22px!important;
    line-height:1.15!important;
    font-weight:1000!important;
    text-align:left!important;
    box-shadow:none!important;
    cursor:pointer!important;
}
.mobile-nav-panel-native-v43 .lm90-biens-btn .lm90-chev{margin-left:auto!important;font-size:22px!important;transition:transform .2s ease!important;}
.mobile-nav-panel-native-v43 .lm90-biens.open .lm90-biens-btn{background:#0d5b31!important;color:#fff!important;}
.mobile-nav-panel-native-v43 .lm90-biens.open .lm90-biens-btn .lm90-ico{background:rgba(255,255,255,.20)!important;color:#fff!important;}
.mobile-nav-panel-native-v43 .lm90-biens.open .lm90-chev{transform:rotate(180deg)!important;}
.mobile-nav-panel-native-v43 .lm90-biens-panel{display:none!important;padding:12px 14px 16px 28px!important;background:#f5fbf5!important;border-top:1px solid #dce8dc!important;}
.mobile-nav-panel-native-v43 .lm90-biens.open .lm90-biens-panel{display:block!important;}
.mobile-nav-panel-native-v43 .lm90-biens-panel a{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin:10px 0!important;
    padding:16px 18px!important;
    border:1px solid #dce8dc!important;
    border-radius:18px!important;
    background:#fff!important;
    color:#0d4a24!important;
    font-size:20px!important;
    font-weight:950!important;
    text-decoration:none!important;
}
.mobile-nav-panel-native-v43 .lm90-admin{background:linear-gradient(135deg,#c4871b,#e0a033)!important;color:#fff!important;justify-content:center!important;}
.mobile-nav-panel-native-v43 .lm90-admin .lm90-ico{background:rgba(255,255,255,.22)!important;color:#fff!important;}
.mobile-nav-panel-native-v43 .lm90-install-link{display:flex!important;}

/* Installer accueil : visible sur navigateur normal, masqué uniquement en mode application */
.hero-install-callout{display:flex!important;visibility:visible!important;opacity:1!important;}
body.lm90-standalone .hero-install-callout,
body.lm90-standalone .lm90-install-link{display:none!important;}

/* Services V9.0 : icônes forcées + texte agrandi */
.lm90-services-page .services-hero{margin-bottom:22px!important;}
.lm90-services-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:20px!important;}
.lm90-service-card{min-height:245px!important;padding:28px 20px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:26px!important;background:#fff!important;border:1px solid #dce8dc!important;box-shadow:0 10px 26px rgba(10,70,35,.08)!important;}
.lm90-service-icon{width:78px!important;height:78px!important;border-radius:50%!important;background:#edf8ef!important;color:#0d6b37!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:40px!important;margin-bottom:16px!important;box-shadow:0 12px 24px rgba(13,107,55,.14)!important;}
.lm90-service-card h2{font-size:26px!important;line-height:1.18!important;color:#0d4a24!important;font-weight:1000!important;margin:6px 0 10px!important;}
.lm90-service-card p{font-size:17px!important;line-height:1.45!important;color:#31513b!important;font-weight:700!important;margin:0!important;}
@media(max-width:700px){.lm90-services-grid{grid-template-columns:1fr!important}.lm90-service-card{min-height:220px!important}.lm90-service-card h2{font-size:27px!important}.lm90-service-card p{font-size:17px!important}}


/* V9.2 - PWA install */
.hero-install-callout[data-pwa-install],
.pwa-install-box-v92{
    display:flex;
    align-items:center;
    gap:12px;
}
.hero-install-callout .install-already-btn,
.pwa-install-box-v92 .install-already-btn{
    border:0!important;
    background:#eef8ef!important;
    color:#0d4a24!important;
    border-radius:999px!important;
    padding:10px 14px!important;
    font-weight:900!important;
}
@media(max-width:700px){
    .hero-install-callout[data-pwa-install],
    .pwa-install-box-v92{
        flex-wrap:wrap;
    }
    .hero-install-callout[data-pwa-install] a,
    .hero-install-callout[data-pwa-install] button,
    .pwa-install-box-v92 a,
    .pwa-install-box-v92 button{
        width:100%;
        text-align:center;
        justify-content:center;
    }
}


/* V10 - Expérience Airbnb Premium SCI LemMarket */
.airbnb-card-v100{position:relative;overflow:hidden}
.card-photo-wrap{position:relative}
.airbnb-card-v100 .card-photo-wrap img{width:100%;height:230px;object-fit:cover;border-radius:22px 22px 0 0;display:block}
.fav-mini-form{position:absolute;top:12px;right:12px;margin:0;z-index:4}
.fav-mini-form button{width:42px!important;height:42px!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.94)!important;color:#0d6b37!important;font-size:24px!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important;padding:0!important;line-height:42px!important}
.card-body-v100{padding:15px}
.card-location{color:#48614e;font-weight:800}
.card-mini-stats{font-size:13px;color:#667;font-weight:800;margin:6px 0}
.card-actions-v100{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ghost-green{background:#eef8ef!important;color:#0d4a24!important;border:1px solid #d7ead9!important}
.detail-action-row-v100{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.inline-form{display:inline;margin:0}
.inline-form button{font-family:inherit}
.premium-property-strip-v100{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}
.premium-property-strip-v100 div{background:#fff;border:1px solid #e2ece2;border-radius:20px;padding:16px;box-shadow:0 8px 22px rgba(18,62,34,.08)}
.premium-property-strip-v100 strong{display:block;color:#0d4a24;font-size:18px;margin-bottom:5px}
.premium-property-strip-v100 span{color:#57695b;font-weight:700;font-size:13px}
.property-know-v100{background:linear-gradient(135deg,#f6fbf7,#fff);border:1px solid #dce8dc;border-radius:26px;padding:22px;margin:24px 0}
.property-know-v100 h2{margin-top:0;color:#0d4a24}
.know-grid-v100{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.know-grid-v100 div{background:#fff;border-radius:18px;padding:16px;border:1px solid #e4eee4}
.know-grid-v100 strong{color:#0d4a24}
.booking-choice-v100{margin:12px 0}
.save-search-box-v100{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;align-items:center;background:#fff;border:1px solid #dce8dc;border-radius:24px;padding:18px;margin:18px 0;box-shadow:0 8px 22px rgba(18,62,34,.08)}
.save-search-box-v100 h2{margin:0 0 5px;color:#0d4a24}
.save-search-box-v100 form{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.save-search-box-v100 input[type=text],.save-search-box-v100 input:not([type]){width:100%;padding:13px;border:1px solid #dce8dc;border-radius:14px}
.subscriber-hero-v100{background:linear-gradient(135deg,#0d6b37,#0a4425);color:#fff;border-radius:30px;padding:30px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin:22px 0}
.subscriber-hero-v100 h1{color:#fff;margin:4px 0}
.subscriber-hero-v100 p{color:#e8fff0;max-width:780px}
.account-grid-v100{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.saved-list-v100{display:grid;gap:12px}
.saved-list-v100 article{background:#fff;border:1px solid #dce8dc;border-radius:18px;padding:15px;box-shadow:0 6px 18px rgba(18,62,34,.06)}
.visit-page-v100 .success form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.visit-page-v100 textarea{min-height:120px}
@media(max-width:900px){
    .premium-property-strip-v100{grid-template-columns:1fr 1fr}
    .know-grid-v100,.save-search-box-v100,.account-grid-v100{grid-template-columns:1fr}
    .save-search-box-v100 form{grid-template-columns:1fr}
}
@media(max-width:620px){
    .premium-property-strip-v100{grid-template-columns:1fr}
    .detail-action-row-v100{justify-content:flex-start}
    .subscriber-hero-v100{display:block;border-radius:24px;padding:22px}
    .visit-page-v100 .success form{grid-template-columns:1fr}
    .airbnb-card-v100 .card-photo-wrap img{height:210px}
}


/* V11 - Disponibilités, propriétaire, vérification et expériences */
.property-verification-v110,.availability-v110{background:#fff;border:1px solid #dce8dc;border-radius:26px;padding:22px;margin:24px 0;box-shadow:0 8px 22px rgba(18,62,34,.06)}
.property-verification-v110 h2,.availability-v110 h2{margin-top:0;color:#0d4a24}
.verification-badges-v110{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
.verification-badges-v110 span{background:#eef8ef;color:#0d4a24;border:1px solid #d7ead9;border-radius:999px;padding:10px 14px;font-weight:900}
.availability-list-v110{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0}
.availability-list-v110 div{background:#f8fbf8;border:1px solid #e1ece1;border-radius:16px;padding:13px}
.availability-list-v110 strong,.availability-list-v110 span,.availability-list-v110 small{display:block}
.availability-list-v110 span{font-weight:900;color:#0d6b37}
.booking-page-v110 .success form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.booking-page-v110 textarea{min-height:120px}
.experience-hero-v110{background:linear-gradient(135deg,#0d6b37,#075fb2)!important}
.experience-grid-v110 article{position:relative;overflow:hidden}
.experience-img-v110{width:100%;height:150px;object-fit:cover;border-radius:18px;margin:10px 0}
.experience-mini-home-v110{margin:28px 0;background:#fff;border:1px solid #dce8dc;border-radius:28px;padding:22px;box-shadow:0 8px 22px rgba(18,62,34,.07)}
.experience-mini-grid-v110{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.experience-mini-grid-v110 article{background:#f8fbf8;border:1px solid #e1ece1;border-radius:20px;padding:18px}
.experience-mini-grid-v110 span{font-size:30px}
.owner-card-v110 img{height:190px;object-fit:cover}
@media(max-width:900px){.availability-list-v110,.experience-mini-grid-v110{grid-template-columns:1fr 1fr}.booking-page-v110 .success form{grid-template-columns:1fr}}
@media(max-width:620px){.availability-list-v110,.experience-mini-grid-v110{grid-template-columns:1fr}.verification-badges-v110 span{width:100%;text-align:center}}


/* V11.4 - Expériences contextualisées et catalogue non vide */
.experience-request-card-v114{max-width:1100px;margin:auto}
.experience-selected-v114{background:#eef8ef;border-left:5px solid #0d6b37;border-radius:14px;padding:12px 14px;font-weight:800}
.experience-dynamic-form-v114{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.experience-dynamic-form-v114 label{display:flex;flex-direction:column;gap:6px;font-weight:800}
.form-section-title-v114{grid-column:1/-1;background:#0d4a24;color:#fff;border-radius:16px;padding:12px 14px;font-weight:1000}
.empty-state-v114{background:#fff;border:1px solid #dce8dc;border-radius:24px;padding:28px;margin:24px 0;box-shadow:0 10px 30px rgba(10,70,35,.08)}
.empty-state-v114 h2{margin-top:0;color:#0d4a24}
.page-intro-v114{font-size:18px;color:#2d4636;font-weight:700}
.properties-page-v114 .grid{margin-top:24px}
@media(max-width:760px){
    .experience-dynamic-form-v114{grid-template-columns:1fr}
}


/* V11.6 - Biens proches : occupation rationnelle de l'espace restant */
.nearby-section{
    margin-top:36px;
    width:100%;
}
.nearby-section .section-line{
    align-items:center;
    gap:18px;
}
.nearby-row.nearby-compact-v116{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
    gap:18px!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
}
.nearby-mini-card-v116{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    width:100%!important;
    background:#fff!important;
    border:1px solid #dce8dc!important;
    border-radius:22px!important;
    overflow:hidden!important;
    text-decoration:none!important;
    color:#102316!important;
    box-shadow:0 10px 28px rgba(10,70,35,.10)!important;
}
.nearby-mini-card-v116 img{
    width:100%!important;
    height:150px!important;
    object-fit:cover!important;
    display:block!important;
    background:#eef8ef!important;
}
.nearby-mini-body-v116{
    padding:14px 15px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
}
.nearby-mini-badge-v116{
    align-self:flex-start!important;
    background:#0d6b37!important;
    color:#fff!important;
    border-radius:999px!important;
    padding:6px 10px!important;
    font-weight:900!important;
    font-size:12px!important;
}
.nearby-mini-body-v116 h3{
    font-size:18px!important;
    line-height:1.15!important;
    margin:0!important;
    color:#062b18!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}
.nearby-mini-body-v116 p{
    margin:0!important;
    color:#3a5142!important;
    font-weight:800!important;
}
.nearby-mini-body-v116 strong{
    color:#0d6b37!important;
    font-size:18px!important;
}
.detail-layout{
    align-items:flex-start!important;
}
.detail-content{
    min-width:0!important;
}
.booking-card{
    align-self:flex-start!important;
}
@media(min-width:980px){
    .detail-layout{
        grid-template-columns:minmax(0,1fr) minmax(330px,420px)!important;
        gap:32px!important;
    }
}
@media(max-width:760px){
    .nearby-row.nearby-compact-v116{
        grid-template-columns:1fr!important;
    }
    .nearby-mini-card-v116{
        display:grid!important;
        grid-template-columns:120px minmax(0,1fr)!important;
    }
    .nearby-mini-card-v116 img{
        height:100%!important;
        min-height:135px!important;
    }
    .nearby-mini-body-v116 h3{
        font-size:16px!important;
    }
}


/* V11.7 - Sécurité production et professionnalisation fiche bien */
.detail-action-row-v117{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
}
.action-secondary-v117,
.action-whatsapp-v117,
.more-actions-v117 summary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    border-radius:999px;
    padding:9px 16px;
    font-weight:1000;
    text-decoration:none!important;
    cursor:pointer;
}
.action-secondary-v117{
    background:#0d6b37;
    color:#fff!important;
    box-shadow:0 10px 25px rgba(13,107,55,.18);
}
.action-whatsapp-v117{
    background:#25D366;
    color:#062b18!important;
}
.more-actions-v117{
    position:relative;
}
.more-actions-v117 summary{
    list-style:none;
    background:#fff;
    border:1px solid #dce8dc;
    color:#0d4a24;
}
.more-actions-v117 summary::-webkit-details-marker{display:none}
.more-actions-v117 div{
    position:absolute;
    right:0;
    top:48px;
    z-index:30;
    min-width:230px;
    background:#fff;
    border:1px solid #dce8dc;
    border-radius:18px;
    padding:10px;
    box-shadow:0 18px 42px rgba(0,0,0,.16);
    display:grid;
    gap:8px;
}
.more-actions-v117 a,
.more-actions-v117 button{
    width:100%;
    text-align:left;
    background:#f4faf4!important;
    color:#0d4a24!important;
    border:0!important;
    border-radius:12px!important;
    padding:10px 12px!important;
    font-weight:900!important;
    text-decoration:none!important;
}
.lead-form-title-v117{
    background:#f2faf2;
    border:1px solid #dce8dc;
    border-radius:18px;
    padding:14px 16px;
    margin:0 0 14px;
}
.lead-form-title-v117 strong{
    display:block;
    color:#0d4a24;
    font-size:20px;
}
.lead-form-title-v117 span{
    display:block;
    color:#42584a;
    font-weight:700;
    margin-top:4px;
}
.primary-submit-v117{
    width:100%;
    font-size:17px!important;
    padding:14px 18px!important;
}
.booking-card form label{
    margin-bottom:10px;
}
.booking-card input,
.booking-card textarea,
.booking-card select{
    min-height:46px;
}
.booking-card textarea{
    min-height:92px;
}
@media(max-width:900px){
    .detail-action-row-v117{justify-content:flex-start}
    .more-actions-v117 div{left:0;right:auto}
}
@media(max-width:620px){
    .detail-action-row-v117 > a,
    .detail-action-row-v117 .more-actions-v117,
    .more-actions-v117 summary{
        width:100%;
    }
    .more-actions-v117 div{
        position:static;
        margin-top:8px;
        box-shadow:none;
    }
}


/* V11.9 - Retour style stable après test V11.8
   Annule les effets trop agressifs du style marketplace appliqué en V11.8.
   On conserve la structure professionnelle V11.7. */
.premium-home-hero{
    max-width:none!important;
}
.air-search,
.improved-search,
.filters{
    border-radius:18px!important;
}
.card,
.property-card,
.services-grid article,
.blog-mini-card,
.home-paths a{
    min-width:0!important;
}
.grid{
    align-items:stretch!important;
}
.property-card h3,
.card h3{
    white-space:normal!important;
}
@media(max-width:760px){
    .air-search,
    .improved-search,
    .filters{
        border-radius:18px!important;
    }
}


/* =========================================================
   V12.0 - Accueil premium contrôlé
   Inspiration marketplace, uniquement sur la page d'accueil.
   Aucun changement global agressif.
   ========================================================= */

.home-v120{
    max-width:1180px;
}

/* bannière accueil plus posée */
.premium-home-hero{
    position:relative;
}
.premium-home-hero .hero-overlay{
    max-width:820px;
}
.premium-home-hero h1{
    letter-spacing:-0.035em;
}
.hero-cta-v120{
    gap:12px;
    flex-wrap:wrap;
}
.hero-cta-v120 .btn{
    min-width:160px;
}

/* recherche accueil : plus marketplace sans casser les autres pages */
.home-v120 .improved-search{
    margin-top:-28px;
    position:relative;
    z-index:5;
    background:#fff;
    border:1px solid #e0eadf;
    border-radius:26px;
    box-shadow:0 18px 45px rgba(8,55,28,.14);
    padding:12px;
    display:grid;
    grid-template-columns:1.35fr 1fr .9fr auto;
    gap:10px;
}
.home-v120 .improved-search label{
    background:#f8fbf8;
    border:1px solid #e3eee3;
    border-radius:18px;
    padding:10px 13px;
    font-weight:800;
    font-size:12px;
    color:#23412d;
}
.home-v120 .improved-search input,
.home-v120 .improved-search select{
    width:100%;
    border:0;
    background:transparent;
    padding:5px 0 0;
    min-height:30px;
    box-shadow:none;
    font-size:14px;
}
.home-v120 .improved-search button{
    align-self:stretch;
    border-radius:18px;
    min-width:132px;
    font-weight:900;
}

/* nouvelle bande catégories sobre */
.home-category-strip-v120{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin:24px 0 18px;
}
.home-category-strip-v120 a{
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:10px;
    align-items:center;
    background:#fff;
    border:1px solid #e2ece2;
    border-radius:18px;
    padding:13px 14px;
    text-decoration:none;
    color:#102817;
    box-shadow:0 8px 22px rgba(8,55,28,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.home-category-strip-v120 a:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(8,55,28,.10);
    border-color:#c7dec9;
}
.home-category-strip-v120 span{
    grid-row:1/3;
    width:38px;
    height:38px;
    border-radius:14px;
    background:#eef8ef;
    display:flex;
    align-items:center;
    justify-content:center;
}
.home-category-strip-v120 strong{
    font-size:14px;
    line-height:1.1;
    color:#0d4a24;
}
.home-category-strip-v120 small{
    font-size:11px;
    color:#5d6b61;
    line-height:1.15;
}

/* statistiques accueil plus légères */
.home-v120 .home-stats{
    gap:12px;
}
.home-v120 .home-stats div{
    border:1px solid #e2ece2;
    border-radius:18px;
    box-shadow:0 8px 22px rgba(8,55,28,.06);
}
.home-v120 .home-stats strong{
    font-size:18px;
}

/* cartes de biens sur l'accueil : largeur plus rationnelle */
.home-v120 .grid,
.home-v120 .nearby-row{
    gap:18px;
}
.home-v120 .property-card,
.home-v120 .card{
    border-radius:20px;
}
.home-v120 .property-card h3,
.home-v120 .card h3{
    font-size:16px;
    line-height:1.18;
}
.home-v120 .property-card p,
.home-v120 .card p{
    font-size:13px;
    line-height:1.35;
}
.home-v120 .price{
    font-size:16px;
}

/* expériences accueil : plus premium, mais seulement accueil */
.home-v120 .experiences-home-v110,
.home-v120 .experience-grid-v110,
.home-v120 .services-grid{
    gap:16px;
}
.home-v120 .experience-grid-v110 article,
.home-v120 .services-grid article{
    border-radius:20px;
    border:1px solid #e2ece2;
    box-shadow:0 8px 24px rgba(8,55,28,.06);
}
.home-v120 .experience-grid-v110 h2,
.home-v120 .services-grid h2{
    font-size:17px;
}

/* blocs commerciaux accueil plus propres */
.home-v120 section{
    scroll-margin-top:90px;
}
.home-v120 .section-line{
    align-items:center;
}
.home-v120 .section-line h2{
    font-size:24px;
}

/* responsive */
@media(max-width:980px){
    .home-v120 .improved-search{
        grid-template-columns:1fr 1fr;
        margin-top:18px;
    }
    .home-v120 .improved-search button{
        grid-column:1/-1;
    }
    .home-category-strip-v120{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:640px){
    .premium-home-hero .hero-overlay{
        padding:26px 20px;
    }
    .premium-home-hero h1{
        font-size:34px;
    }
    .home-v120 .improved-search{
        grid-template-columns:1fr;
        border-radius:22px;
        margin-top:16px;
    }
    .home-category-strip-v120{
        grid-template-columns:1fr;
    }
    .home-category-strip-v120 a{
        padding:12px;
    }
}


/* =========================================================
   V12.1 - Refonte visuelle visible : accueil + cartes
   Objectif : photos dominantes, cartes uniformes, accueil moins chargé.
   ========================================================= */

/* Bannière plus visuelle et moderne */
.premium-home-hero.hero-realestate-v63{
    min-height:520px!important;
    border-radius:34px!important;
    max-width:1220px!important;
    margin:18px auto 0!important;
    background:
        linear-gradient(110deg, rgba(0,42,20,.88), rgba(0,66,34,.56), rgba(0,0,0,.18)),
        url('hero-lemmarket-v63.svg') center right/cover no-repeat!important;
    box-shadow:0 28px 70px rgba(0,0,0,.20)!important;
}
.premium-home-hero .hero-overlay{
    padding:54px 56px!important;
    max-width:760px!important;
}
.premium-home-hero h1{
    font-size:clamp(40px,5vw,68px)!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
    max-width:720px!important;
    margin-bottom:18px!important;
}
.premium-home-hero p{
    font-size:18px!important;
    line-height:1.5!important;
    max-width:620px!important;
    opacity:.96!important;
}
.hero-trust-badges{
    max-width:760px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.hero-trust-badges div{
    border-radius:20px!important;
    padding:14px 13px!important;
    background:rgba(255,255,255,.16)!important;
    border:1px solid rgba(255,255,255,.22)!important;
    backdrop-filter:blur(8px)!important;
}
.hero-trust-badges strong{
    font-size:12px!important;
    line-height:1.18!important;
}

/* Recherche accueil réellement visible */
.home-v121 .improved-search{
    margin-top:-38px!important;
    border-radius:30px!important;
    padding:14px!important;
    background:#fff!important;
    border:1px solid #dfe9df!important;
    box-shadow:0 22px 60px rgba(7,52,29,.18)!important;
    grid-template-columns:1.35fr 1fr .9fr 150px!important;
}
.home-v121 .improved-search label{
    border-radius:20px!important;
    padding:12px 15px!important;
    background:#f7faf7!important;
    border:1px solid #e5eee5!important;
}
.home-v121 .improved-search button{
    border-radius:20px!important;
    font-size:15px!important;
}

/* Bande promesse : vrai bloc premium */
.home-visual-promise-v121{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:18px;
    align-items:stretch;
    margin:26px 0 20px;
}
.promise-main-v121{
    background:linear-gradient(135deg,#0b5a2f,#0d6b37);
    color:#fff;
    border-radius:28px;
    padding:30px;
    box-shadow:0 18px 42px rgba(13,107,55,.18);
}
.promise-main-v121 span{
    display:inline-block;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
    opacity:.85;
    margin-bottom:12px;
}
.promise-main-v121 h2{
    font-size:34px;
    line-height:1.02;
    letter-spacing:-.035em;
    max-width:680px;
    margin:0 0 12px;
}
.promise-main-v121 p{
    max-width:680px;
    margin:0;
    opacity:.92;
    font-size:16px;
    line-height:1.55;
}
.promise-cards-v121{
    display:grid;
    gap:12px;
}
.promise-cards-v121 a{
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#fff;
    border:1px solid #dfe9df;
    border-radius:22px;
    padding:18px 20px;
    text-decoration:none;
    color:#102817;
    box-shadow:0 10px 26px rgba(8,55,28,.07);
}
.promise-cards-v121 strong{
    font-size:18px;
    color:#0d4a24;
}
.promise-cards-v121 small{
    font-size:13px;
    color:#5e6f63;
    margin-top:4px;
}

/* Catégories plus fortes visuellement */
.home-category-strip-v120{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.home-category-strip-v120 a{
    min-height:92px!important;
    border-radius:24px!important;
    padding:16px!important;
    box-shadow:0 10px 28px rgba(8,55,28,.08)!important;
}
.home-category-strip-v120 span{
    width:44px!important;
    height:44px!important;
    font-size:22px!important;
}
.home-category-strip-v120 strong{
    font-size:15px!important;
}
.home-category-strip-v120 small{
    font-size:12px!important;
}

/* Cartes biens : photos dominantes, hauteur uniforme */
.card-v121{
    border-radius:24px!important;
    overflow:hidden!important;
    border:1px solid #e2ece2!important;
    background:#fff!important;
    box-shadow:0 10px 30px rgba(8,55,28,.08)!important;
    transition:transform .18s ease, box-shadow .18s ease!important;
}
.card-v121:hover{
    transform:translateY(-4px)!important;
    box-shadow:0 18px 46px rgba(8,55,28,.14)!important;
}
.card-v121 .card-photo-wrap{
    position:relative!important;
    aspect-ratio:1.18/1!important;
    overflow:hidden!important;
    background:#edf5ee!important;
}
.card-v121 .card-photo-wrap img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    transition:transform .25s ease!important;
}
.card-v121:hover .card-photo-wrap img{
    transform:scale(1.035)!important;
}
.card-v121 .fav-mini-form{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
}
.card-v121 .fav-mini-form button{
    width:38px!important;
    height:38px!important;
    min-height:38px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.92)!important;
    color:#0d4a24!important;
    box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
    padding:0!important;
}
.card-v121 .card-body-v100{
    padding:14px 15px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
}
.card-v121 .pill{
    font-size:11px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
}
.card-v121 h3{
    font-size:16px!important;
    line-height:1.15!important;
    margin:0!important;
    letter-spacing:-.015em!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    min-height:37px!important;
}
.card-v121 .card-location{
    font-size:13px!important;
    color:#607164!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.card-v121 .price{
    font-size:17px!important;
    font-weight:900!important;
    color:#0d6b37!important;
    margin:0!important;
}
.card-v121 .card-mini-stats,
.card-v121 .terms{
    font-size:12px!important;
    color:#718075!important;
    margin:0!important;
}
.card-actions-v121{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    margin-top:4px!important;
}
.card-actions-v121 .btn{
    border-radius:13px!important;
    min-height:38px!important;
    padding:8px 11px!important;
    font-size:13px!important;
}

/* Page accueil : afficher moins chargé */
.home-v121 .home-paths-v121{
    display:none!important;
}
.home-v121 .home-stats div{
    padding:16px!important;
}
.home-v121 .home-stats strong{
    font-size:20px!important;
}
.home-v121 .section-line h2{
    font-size:28px!important;
    letter-spacing:-.025em!important;
}

/* Grilles plus rationnelles sur accueil/catalogue */
.home-v121 .grid{
    grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
    gap:20px!important;
}

/* Services et expériences : plus visuels */
.home-v121 .services-grid article,
.home-v121 .experience-grid-v110 article{
    border-radius:24px!important;
    padding:22px!important;
    border:1px solid #e2ece2!important;
    box-shadow:0 10px 30px rgba(8,55,28,.07)!important;
}
.home-v121 .services-grid article span{
    width:40px!important;
    height:40px!important;
    border-radius:16px!important;
    background:#eef8ef!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-weight:900!important;
}

/* Responsive */
@media(max-width:980px){
    .premium-home-hero.hero-realestate-v63{
        min-height:460px!important;
        border-radius:28px!important;
        margin:12px!important;
    }
    .premium-home-hero .hero-overlay{
        padding:38px 28px!important;
    }
    .hero-trust-badges{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .home-v121 .improved-search{
        margin-top:18px!important;
        grid-template-columns:1fr 1fr!important;
    }
    .home-v121 .improved-search button{
        grid-column:1/-1!important;
        width:100%!important;
    }
    .home-visual-promise-v121{
        grid-template-columns:1fr!important;
    }
    .home-category-strip-v120{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:640px){
    .premium-home-hero.hero-realestate-v63{
        min-height:auto!important;
        border-radius:24px!important;
    }
    .premium-home-hero .hero-overlay{
        padding:30px 20px!important;
    }
    .premium-home-hero h1{
        font-size:34px!important;
        line-height:1.02!important;
        letter-spacing:-.035em!important;
    }
    .premium-home-hero p{
        font-size:15px!important;
    }
    .hero-trust-badges{
        grid-template-columns:1fr!important;
    }
    .home-v121 .improved-search{
        grid-template-columns:1fr!important;
        border-radius:24px!important;
    }
    .home-category-strip-v120{
        grid-template-columns:1fr!important;
    }
    .promise-main-v121{
        padding:24px!important;
        border-radius:24px!important;
    }
    .promise-main-v121 h2{
        font-size:28px!important;
    }
}


/* =========================================================
   V12.3 - Bannière accueil ULTRA RÉDUITE
   Cette correction doit rester tout à la fin du fichier CSS.
   ========================================================= */

html body .premium-home-hero.hero-realestate-v63,
html body .premium-home-hero{
    width:94%!important;
    max-width:960px!important;
    min-height:240px!important;
    height:240px!important;
    max-height:240px!important;
    margin:12px auto 0!important;
    border-radius:20px!important;
    overflow:hidden!important;
    box-shadow:0 12px 32px rgba(0,0,0,.16)!important;
}

html body .premium-home-hero.hero-realestate-v63 .hero-overlay,
html body .premium-home-hero .hero-overlay{
    padding:20px 26px!important;
    max-width:590px!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
}

html body .premium-home-hero .hero-kicker{
    font-size:9px!important;
    padding:5px 9px!important;
    margin:0 0 8px!important;
    width:max-content!important;
    border-radius:999px!important;
}

html body .premium-home-hero h1{
    font-size:30px!important;
    line-height:1.02!important;
    max-width:560px!important;
    margin:0 0 8px!important;
    letter-spacing:-.03em!important;
}

html body .premium-home-hero p{
    font-size:12px!important;
    line-height:1.28!important;
    max-width:520px!important;
    margin:0 0 8px!important;
}

/* Sur une bannière courte, on masque les badges pour éviter l'encombrement */
html body .premium-home-hero .hero-trust-badges{
    display:none!important;
}

html body .premium-home-hero .hero-install-callout{
    display:none!important;
}

html body .premium-home-hero .hero-cta,
html body .premium-home-hero .hero-cta-v120{
    display:flex!important;
    gap:7px!important;
    margin-top:8px!important;
    flex-wrap:wrap!important;
}

html body .premium-home-hero .hero-cta .btn,
html body .premium-home-hero .hero-cta-v120 .btn{
    min-height:30px!important;
    min-width:0!important;
    padding:6px 11px!important;
    font-size:11px!important;
    border-radius:10px!important;
}

/* La recherche ne doit plus coller à la bannière */
html body .home-v120 .improved-search,
html body .home-v121 .improved-search,
html body .improved-search{
    margin-top:14px!important;
}

/* Réduction forte du bloc vert secondaire aussi */
html body .home-visual-promise-v121{
    max-width:960px!important;
    margin:14px auto!important;
    grid-template-columns:1fr 320px!important;
    gap:10px!important;
}

html body .promise-main-v121{
    padding:16px 18px!important;
    border-radius:18px!important;
}

html body .promise-main-v121 span{
    font-size:9px!important;
    margin-bottom:5px!important;
}

html body .promise-main-v121 h2{
    font-size:20px!important;
    line-height:1.08!important;
    margin:0 0 5px!important;
}

html body .promise-main-v121 p{
    font-size:12px!important;
    line-height:1.25!important;
}

html body .promise-cards-v121{
    gap:8px!important;
}

html body .promise-cards-v121 a{
    padding:9px 11px!important;
    border-radius:14px!important;
}

html body .promise-cards-v121 strong{
    font-size:12px!important;
}

html body .promise-cards-v121 small{
    font-size:10px!important;
}

/* Tablette */
@media(max-width:980px){
    html body .premium-home-hero.hero-realestate-v63,
    html body .premium-home-hero{
        width:94%!important;
        max-width:94%!important;
        min-height:230px!important;
        height:230px!important;
        max-height:230px!important;
    }

    html body .premium-home-hero .hero-overlay{
        padding:18px 22px!important;
        max-width:560px!important;
    }

    html body .premium-home-hero h1{
        font-size:28px!important;
    }

    html body .home-visual-promise-v121{
        width:94%!important;
        max-width:94%!important;
        grid-template-columns:1fr!important;
    }

    html body .promise-cards-v121{
        grid-template-columns:repeat(3,1fr)!important;
        display:grid!important;
    }
}

/* Mobile */
@media(max-width:640px){
    html body .premium-home-hero.hero-realestate-v63,
    html body .premium-home-hero{
        width:94%!important;
        max-width:94%!important;
        min-height:205px!important;
        height:205px!important;
        max-height:205px!important;
        border-radius:18px!important;
        margin:8px auto 0!important;
    }

    html body .premium-home-hero .hero-overlay{
        padding:16px!important;
        max-width:100%!important;
    }

    html body .premium-home-hero .hero-kicker{
        font-size:8px!important;
        padding:4px 7px!important;
    }

    html body .premium-home-hero h1{
        font-size:23px!important;
        line-height:1.02!important;
        margin-bottom:6px!important;
    }

    html body .premium-home-hero p{
        font-size:11px!important;
        line-height:1.22!important;
        max-width:300px!important;
    }

    html body .premium-home-hero .hero-cta,
    html body .premium-home-hero .hero-cta-v120{
        display:none!important;
    }

    html body .home-visual-promise-v121{
        width:94%!important;
        max-width:94%!important;
        margin:12px auto!important;
    }

    html body .promise-main-v121{
        padding:14px!important;
    }

    html body .promise-main-v121 h2{
        font-size:18px!important;
    }

    html body .promise-main-v121 p{
        font-size:11px!important;
    }

    html body .promise-cards-v121{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   V12.4 - Boutons des cartes de biens : texte visible et largeur uniforme
   ========================================================= */

html body .card-actions-v100,
html body .card-actions-v121{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:stretch!important;
    width:100%!important;
    margin-top:14px!important;
}

html body .card-actions-v100 .btn,
html body .card-actions-v121 .btn,
html body .card-v121 .card-actions-v100 .btn,
html body .card-v121 .card-actions-v121 .btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:46px!important;
    height:auto!important;
    padding:10px 12px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
    line-height:1.15!important;
    font-size:14px!important;
    font-weight:900!important;
    box-sizing:border-box!important;
}

/* Le deuxième bouton "Visite" ne doit plus être un carré écrasé */
html body .card-actions-v100 .btn.ghost-green,
html body .card-actions-v121 .btn.ghost-green{
    background:#0d6b37!important;
    color:#fff!important;
    border:1px solid #0d6b37!important;
}

/* Cartes : donner un peu plus de place aux actions */
html body .card-v121 .card-body-v100,
html body .airbnb-card-v100 .card-body-v100{
    padding-bottom:18px!important;
}

/* Badges : éviter qu'ils chevauchent ou prennent trop de place */
html body .card-v121 .pill,
html body .airbnb-card-v100 .pill{
    display:inline-flex!important;
    align-items:center!important;
    max-width:100%!important;
    white-space:normal!important;
    line-height:1.05!important;
    margin-bottom:4px!important;
}

/* Sur petit écran, les boutons restent côte à côte si possible */
@media(max-width:520px){
    html body .card-actions-v100,
    html body .card-actions-v121{
        grid-template-columns:1fr 1fr!important;
        gap:8px!important;
    }

    html body .card-actions-v100 .btn,
    html body .card-actions-v121 .btn{
        min-height:42px!important;
        padding:9px 8px!important;
        font-size:13px!important;
    }
}

/* Si la carte devient très étroite, les boutons passent en colonne proprement */
@media(max-width:360px){
    html body .card-actions-v100,
    html body .card-actions-v121{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   V12.5 - Boutons des cartes : compacts, uniformes, sans débordement
   ========================================================= */

html body .card-actions-v100,
html body .card-actions-v121,
html body .card-v121 .card-actions-v100,
html body .card-v121 .card-actions-v121,
html body .airbnb-card-v100 .card-actions-v100,
html body .airbnb-card-v100 .card-actions-v121{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:7px!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    margin-top:12px!important;
    box-sizing:border-box!important;
}

html body .card-actions-v100 .btn,
html body .card-actions-v121 .btn,
html body .card-v121 .card-actions-v100 .btn,
html body .card-v121 .card-actions-v121 .btn,
html body .airbnb-card-v100 .card-actions-v100 .btn,
html body .airbnb-card-v100 .card-actions-v121 .btn{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:6px 8px!important;
    border-radius:11px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    line-height:1.05!important;
    font-size:12px!important;
    font-weight:800!important;
    box-sizing:border-box!important;
}

/* Le bouton Visite doit être discret, pas un gros bloc */
html body .card-actions-v100 .btn.ghost-green,
html body .card-actions-v121 .btn.ghost-green,
html body .card-v121 .card-actions-v100 .btn.ghost-green,
html body .card-v121 .card-actions-v121 .btn.ghost-green,
html body .airbnb-card-v100 .card-actions-v100 .btn.ghost-green,
html body .airbnb-card-v100 .card-actions-v121 .btn.ghost-green{
    background:#0d6b37!important;
    color:#fff!important;
    border:1px solid #0d6b37!important;
}

/* Réduire les cartes si les actions créent trop de hauteur */
html body .card-v121 .card-body-v100,
html body .airbnb-card-v100 .card-body-v100{
    padding-bottom:14px!important;
}

/* Eviter que les badges verts grossissent et débordent */
html body .card-v121 .pill,
html body .airbnb-card-v100 .pill{
    font-size:10px!important;
    line-height:1!important;
    padding:4px 7px!important;
    border-radius:999px!important;
    max-width:100%!important;
}

/* Si la carte est très étroite, réduire encore le texte */
@media(max-width:520px){
    html body .card-actions-v100,
    html body .card-actions-v121{
        gap:6px!important;
    }

    html body .card-actions-v100 .btn,
    html body .card-actions-v121 .btn{
        height:36px!important;
        min-height:36px!important;
        max-height:36px!important;
        padding:5px 6px!important;
        font-size:11px!important;
        border-radius:10px!important;
    }
}

/* Très petit écran : garder lisible */
@media(max-width:360px){
    html body .card-actions-v100,
    html body .card-actions-v121{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }

    html body .card-actions-v100 .btn,
    html body .card-actions-v121 .btn{
        width:100%!important;
    }
}


/* =========================================================
   V12.8 - Galerie fiche bien : flèches visibles + lightbox
   ========================================================= */

html body .carousel-gallery{
    position:relative!important;
}

html body .carousel-btn,
html body #galleryPrev,
html body #galleryNext{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:50!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    border-radius:999px!important;
    border:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    background:#0d6b37!important;
    color:#fff!important;
    font-size:34px!important;
    line-height:1!important;
    box-shadow:0 10px 25px rgba(0,0,0,.25)!important;
    cursor:pointer!important;
    opacity:.96!important;
}

html body .carousel-btn.prev,
html body #galleryPrev{
    left:18px!important;
}

html body .carousel-btn.next,
html body #galleryNext{
    right:18px!important;
}

html body .carousel-btn:hover,
html body #galleryPrev:hover,
html body #galleryNext:hover{
    background:#095729!important;
    transform:translateY(-50%) scale(1.06)!important;
}

html body #mainGalleryImage{
    cursor:zoom-in!important;
}

html body .gallery-thumb.active{
    outline:3px solid #0d6b37!important;
    outline-offset:2px!important;
}

html body .lm-gallery-lightbox-v128{
    position:fixed!important;
    inset:0!important;
    z-index:99999!important;
    background:rgba(0,0,0,.88)!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px!important;
}

html body .lm-gallery-lightbox-v128.open{
    display:flex!important;
}

html body.lm-lightbox-open-v128{
    overflow:hidden!important;
}

html body .lm-gallery-lightbox-v128 img{
    max-width:92vw!important;
    max-height:88vh!important;
    object-fit:contain!important;
    border-radius:18px!important;
    box-shadow:0 20px 70px rgba(0,0,0,.55)!important;
    background:#111!important;
}

html body .lm-lightbox-close-v128,
html body .lm-lightbox-nav-v128{
    position:absolute!important;
    border:0!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.95)!important;
    color:#0d4a24!important;
    box-shadow:0 12px 35px rgba(0,0,0,.30)!important;
    cursor:pointer!important;
    z-index:100000!important;
}

html body .lm-lightbox-close-v128{
    top:22px!important;
    right:24px!important;
    width:46px!important;
    height:46px!important;
    font-size:34px!important;
    line-height:1!important;
}

html body .lm-lightbox-nav-v128{
    top:50%!important;
    transform:translateY(-50%)!important;
    width:52px!important;
    height:52px!important;
    font-size:42px!important;
    line-height:1!important;
}

html body .lm-lightbox-prev-v128{
    left:24px!important;
}

html body .lm-lightbox-next-v128{
    right:24px!important;
}

@media(max-width:700px){
    html body .carousel-btn,
    html body #galleryPrev,
    html body #galleryNext{
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        min-height:38px!important;
        font-size:28px!important;
    }

    html body .carousel-btn.prev,
    html body #galleryPrev{
        left:10px!important;
    }

    html body .carousel-btn.next,
    html body #galleryNext{
        right:10px!important;
    }

    html body .lm-gallery-lightbox-v128{
        padding:14px!important;
    }

    html body .lm-lightbox-nav-v128{
        width:42px!important;
        height:42px!important;
        font-size:34px!important;
    }

    html body .lm-lightbox-prev-v128{
        left:10px!important;
    }

    html body .lm-lightbox-next-v128{
        right:10px!important;
    }
}


/* =========================================================
   V12.9 - Galerie reconstruite : flèches et agrandissement
   ========================================================= */

html body .lm-gallery-v129{
    position:relative!important;
    overflow:hidden!important;
}

html body .lm-main-photo-v129 img,
html body .lm-mini-photo-v129 img{
    cursor:pointer!important;
}

html body .lmGalleryThumbV129.active{
    outline:3px solid #0d6b37!important;
    outline-offset:2px!important;
}

html body .lm-gallery-arrow-v129{
    position:absolute!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    z-index:100!important;
    width:48px!important;
    height:48px!important;
    border-radius:999px!important;
    border:0!important;
    background:#0d6b37!important;
    color:#fff!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:36px!important;
    line-height:1!important;
    box-shadow:0 12px 30px rgba(0,0,0,.30)!important;
    cursor:pointer!important;
    padding:0!important;
}

html body .lm-gallery-prev-v129{
    left:18px!important;
}

html body .lm-gallery-next-v129{
    right:18px!important;
}

html body .lm-gallery-arrow-v129:hover{
    background:#095729!important;
}

html body .lm-gallery-open-v129{
    position:absolute!important;
    right:18px!important;
    bottom:18px!important;
    z-index:100!important;
    background:rgba(255,255,255,.96)!important;
    color:#0d4a24!important;
    border:0!important;
    border-radius:999px!important;
    padding:10px 16px!important;
    font-weight:900!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
    cursor:pointer!important;
}

/* Lightbox */
html body .lm-lightbox-v129{
    position:fixed!important;
    inset:0!important;
    z-index:999999!important;
    background:rgba(0,0,0,.90)!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    padding:30px!important;
}

html body .lm-lightbox-v129.open{
    display:flex!important;
}

html body.lm-lightbox-open-v129{
    overflow:hidden!important;
}

html body .lm-lightbox-v129 img{
    max-width:92vw!important;
    max-height:88vh!important;
    object-fit:contain!important;
    border-radius:18px!important;
    box-shadow:0 22px 70px rgba(0,0,0,.60)!important;
}

html body .lm-lightbox-close-v129,
html body .lm-lightbox-prev-v129,
html body .lm-lightbox-next-v129{
    position:absolute!important;
    z-index:1000000!important;
    border:0!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#0d4a24!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    box-shadow:0 14px 35px rgba(0,0,0,.35)!important;
}

html body .lm-lightbox-close-v129{
    top:22px!important;
    right:24px!important;
    width:48px!important;
    height:48px!important;
    font-size:34px!important;
}

html body .lm-lightbox-prev-v129,
html body .lm-lightbox-next-v129{
    top:50%!important;
    transform:translateY(-50%)!important;
    width:54px!important;
    height:54px!important;
    font-size:44px!important;
}

html body .lm-lightbox-prev-v129{
    left:24px!important;
}

html body .lm-lightbox-next-v129{
    right:24px!important;
}

@media(max-width:700px){
    html body .lm-gallery-arrow-v129{
        width:40px!important;
        height:40px!important;
        font-size:30px!important;
    }

    html body .lm-gallery-prev-v129{
        left:10px!important;
    }

    html body .lm-gallery-next-v129{
        right:10px!important;
    }

    html body .lm-gallery-open-v129{
        right:10px!important;
        bottom:10px!important;
        padding:8px 12px!important;
        font-size:12px!important;
    }

    html body .lm-lightbox-prev-v129,
    html body .lm-lightbox-next-v129{
        width:42px!important;
        height:42px!important;
        font-size:34px!important;
    }

    html body .lm-lightbox-prev-v129{
        left:10px!important;
    }

    html body .lm-lightbox-next-v129{
        right:10px!important;
    }
}


/* =========================================================
   V13.0 - Grande liste équipements / Confier un bien
   ========================================================= */

html body .equipment-universal-v130{
    border:1px solid #dce8dc!important;
    background:#ffffff!important;
    border-radius:24px!important;
    padding:24px!important;
    box-shadow:0 12px 32px rgba(10,70,35,.08)!important;
}

html body .equipment-intro-v130{
    color:#405647!important;
    font-weight:700!important;
    margin-bottom:16px!important;
}

html body .equipment-toolbar-v130{
    display:flex!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin:10px 0 18px!important;
}

html body .equipment-toolbar-v130 button{
    border:0!important;
    border-radius:999px!important;
    padding:9px 14px!important;
    background:#0d6b37!important;
    color:#fff!important;
    font-weight:900!important;
    cursor:pointer!important;
}

html body .equipment-groups-v130{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
    gap:16px!important;
}

html body .equipment-group-v130{
    background:#f7fbf7!important;
    border:1px solid #e1ece1!important;
    border-radius:20px!important;
    padding:15px!important;
}

html body .equipment-group-v130 h3{
    color:#0d4a24!important;
    font-size:16px!important;
    margin:0 0 10px!important;
}

html body .equipment-group-v130 label{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:7px 0!important;
    font-weight:750!important;
    color:#17351f!important;
    border-bottom:1px dashed rgba(13,107,55,.12)!important;
}

html body .equipment-group-v130 label:last-child{
    border-bottom:0!important;
}

html body .equipment-group-v130 input[type="checkbox"]{
    width:17px!important;
    height:17px!important;
    accent-color:#0d6b37!important;
    flex:0 0 auto!important;
}

html body .equipment-note-v130{
    background:#f2faf2!important;
    border:1px solid #dce8dc!important;
    border-radius:18px!important;
    padding:14px!important;
    grid-column:1/-1!important;
}

@media(max-width:640px){
    html body .equipment-universal-v130{
        padding:18px!important;
        border-radius:20px!important;
    }

    html body .equipment-groups-v130{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   V13.1 - Installation Apple / iPhone
   ========================================================= */

html body .install-app-v131{
    max-width:1100px!important;
}

html body .install-hero-v131{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:24px!important;
    align-items:center!important;
    background:linear-gradient(135deg,#0d4a24,#0d6b37)!important;
    color:#fff!important;
    border-radius:28px!important;
    padding:34px!important;
    margin:24px 0!important;
    box-shadow:0 18px 48px rgba(13,107,55,.20)!important;
}

html body .install-kicker-v131{
    display:inline-block!important;
    font-size:12px!important;
    letter-spacing:.14em!important;
    text-transform:uppercase!important;
    font-weight:900!important;
    opacity:.82!important;
    margin-bottom:10px!important;
}

html body .install-hero-v131 h1{
    margin:0 0 10px!important;
    color:#fff!important;
}

html body .install-hero-v131 p{
    max-width:760px!important;
    font-size:17px!important;
    line-height:1.5!important;
}

html body .install-icon-v131{
    width:90px!important;
    height:90px!important;
    border-radius:26px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.14)!important;
    font-size:48px!important;
}

html body .install-grid-v131{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:20px!important;
}

html body .install-card-v131,
html body .install-warning-v131{
    background:#fff!important;
    border:1px solid #dce8dc!important;
    border-radius:24px!important;
    padding:24px!important;
    box-shadow:0 10px 30px rgba(10,70,35,.08)!important;
}

html body .install-card-v131 h2,
html body .install-warning-v131 h2{
    color:#0d4a24!important;
    margin-top:0!important;
}

html body .install-card-v131 li{
    margin:10px 0!important;
    font-weight:750!important;
}

html body .install-note-v131{
    background:#fff7dc!important;
    border:1px solid #f0df9f!important;
    border-radius:16px!important;
    padding:12px!important;
}

html body .install-warning-v131{
    margin:20px 0 30px!important;
}

@media(max-width:760px){
    html body .install-hero-v131{
        grid-template-columns:1fr!important;
        padding:24px!important;
        border-radius:22px!important;
    }

    html body .install-grid-v131{
        grid-template-columns:1fr!important;
    }

    html body .install-icon-v131{
        width:70px!important;
        height:70px!important;
        font-size:36px!important;
    }
}


/* =========================================================
   V13.4 - Cartes premium sûres, sans casser le site
   Objectif : alléger les cartes comme une marketplace, mais garder un lien visible.
   ========================================================= */

html body article.card,
html body .airbnb-card-v100,
html body .card-v121{
    position:relative!important;
    overflow:hidden!important;
    border-radius:20px!important;
    background:#fff!important;
    border:1px solid #e3ece3!important;
    box-shadow:0 8px 24px rgba(8,55,28,.08)!important;
}

/* Photo plus dominante */
html body article.card .card-photo-wrap,
html body .airbnb-card-v100 .card-photo-wrap,
html body .card-v121 .card-photo-wrap{
    aspect-ratio:1/1!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#eef7ef!important;
}

html body article.card .card-photo-wrap img,
html body .airbnb-card-v100 .card-photo-wrap img,
html body .card-v121 .card-photo-wrap img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
}

/* Coeur favori */
html body article.card .fav-mini-form,
html body .airbnb-card-v100 .fav-mini-form,
html body .card-v121 .fav-mini-form{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    z-index:5!important;
}

html body article.card .fav-mini-form button,
html body .airbnb-card-v100 .fav-mini-form button,
html body .card-v121 .fav-mini-form button{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
    border-radius:999px!important;
    padding:0!important;
    border:0!important;
    background:rgba(255,255,255,.96)!important;
    color:#0d6b37!important;
    box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
}

/* Corps de carte */
html body article.card .card-body-v100,
html body .airbnb-card-v100 .card-body-v100,
html body .card-v121 .card-body-v100{
    padding:11px 12px 13px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
}

/* Badges plus petits */
html body article.card .pill,
html body .airbnb-card-v100 .pill,
html body .card-v121 .pill{
    font-size:9px!important;
    line-height:1!important;
    padding:4px 6px!important;
    border-radius:999px!important;
    margin:0 3px 2px 0!important;
    background:#eef8ef!important;
    color:#0d5b31!important;
    width:max-content!important;
    max-width:100%!important;
}

/* Titre */
html body article.card h3,
html body .airbnb-card-v100 h3,
html body .card-v121 h3{
    font-size:14px!important;
    line-height:1.16!important;
    min-height:32px!important;
    margin:3px 0 0!important;
    color:#102316!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}

/* Localisation et prix */
html body article.card .card-location,
html body .airbnb-card-v100 .card-location,
html body .card-v121 .card-location{
    font-size:11px!important;
    line-height:1.18!important;
    color:#5d6f63!important;
    font-weight:750!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

html body article.card .price,
html body .airbnb-card-v100 .price,
html body .card-v121 .price{
    font-size:13px!important;
    line-height:1.15!important;
    color:#0d6b37!important;
    font-weight:900!important;
    margin:0!important;
}

html body article.card .card-mini-stats,
html body .airbnb-card-v100 .card-mini-stats,
html body .card-v121 .card-mini-stats{
    font-size:10px!important;
    line-height:1.15!important;
    color:#7b877d!important;
    margin:0!important;
}

/* Cacher seulement le bouton Visite ; garder "Voir le bien" comme petit lien utile */
html body article.card .card-actions-v100,
html body article.card .card-actions-v121,
html body .airbnb-card-v100 .card-actions-v100,
html body .airbnb-card-v100 .card-actions-v121,
html body .card-v121 .card-actions-v100,
html body .card-v121 .card-actions-v121{
    display:flex!important;
    margin-top:7px!important;
    gap:0!important;
}

html body article.card .card-actions-v100 a,
html body article.card .card-actions-v121 a,
html body .airbnb-card-v100 .card-actions-v100 a,
html body .airbnb-card-v100 .card-actions-v121 a,
html body .card-v121 .card-actions-v100 a,
html body .card-v121 .card-actions-v121 a{
    display:none!important;
}

/* On réaffiche seulement le premier lien : Voir le bien */
html body article.card .card-actions-v100 a:first-child,
html body article.card .card-actions-v121 a:first-child,
html body .airbnb-card-v100 .card-actions-v100 a:first-child,
html body .airbnb-card-v100 .card-actions-v121 a:first-child,
html body .card-v121 .card-actions-v100 a:first-child,
html body .card-v121 .card-actions-v121 a:first-child{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    color:#0d6b37!important;
    border:0!important;
    box-shadow:none!important;
    font-size:11px!important;
    font-weight:900!important;
    text-decoration:underline!important;
    border-radius:0!important;
}

/* Conditions longues cachées */
html body article.card .terms,
html body .airbnb-card-v100 .terms,
html body .card-v121 .terms{
    display:none!important;
}

/* Mobile 2 colonnes */
@media(max-width:760px){
    html body .grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }

    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        border-radius:18px!important;
    }

    html body article.card .card-body-v100,
    html body .airbnb-card-v100 .card-body-v100,
    html body .card-v121 .card-body-v100{
        padding:10px!important;
    }
}

/* Ordinateur */
@media(min-width:900px){
    html body .grid{
        grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;
        gap:22px!important;
    }
}


/* =========================================================
   V13.5 - Dimensions images/cartes type marketplace
   Mobile : images carrées. Ordinateur : images rectangulaires uniformes.
   ========================================================= */

html body .grid{
    display:grid!important;
    gap:20px!important;
    align-items:start!important;
}

@media(min-width:900px){
    html body .grid{
        grid-template-columns:repeat(auto-fit,minmax(245px,1fr))!important;
    }
}

html body article.card,
html body .airbnb-card-v100,
html body .card-v121{
    border-radius:22px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid #e3ece3!important;
    box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
}

/* Ordinateur : format proche des cartes Airbnb desktop */
html body article.card .card-photo-wrap,
html body .airbnb-card-v100 .card-photo-wrap,
html body .card-v121 .card-photo-wrap{
    width:100%!important;
    aspect-ratio:1.32 / 1!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#eef7ef!important;
    border-radius:22px 22px 0 0!important;
}

html body article.card .card-photo-wrap img,
html body .airbnb-card-v100 .card-photo-wrap img,
html body .card-v121 .card-photo-wrap img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
}

/* Les placeholders SVG restent propres */
html body article.card .card-photo-wrap img[src*="villa.svg"],
html body .airbnb-card-v100 .card-photo-wrap img[src*="villa.svg"],
html body .card-v121 .card-photo-wrap img[src*="villa.svg"]{
    object-fit:contain!important;
    padding:16px!important;
    box-sizing:border-box!important;
}

html body article.card .fav-mini-form,
html body .airbnb-card-v100 .fav-mini-form,
html body .card-v121 .fav-mini-form{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    z-index:5!important;
}

html body article.card .fav-mini-form button,
html body .airbnb-card-v100 .fav-mini-form button,
html body .card-v121 .fav-mini-form button{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    border-radius:999px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:rgba(255,255,255,.96)!important;
    color:#0d6b37!important;
    box-shadow:0 8px 20px rgba(0,0,0,.15)!important;
    font-size:20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

/* Corps compact */
html body article.card .card-body-v100,
html body .airbnb-card-v100 .card-body-v100,
html body .card-v121 .card-body-v100{
    padding:11px 12px 13px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
}

html body article.card .pill,
html body .airbnb-card-v100 .pill,
html body .card-v121 .pill{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    font-size:9px!important;
    line-height:1!important;
    padding:4px 7px!important;
    margin:0 4px 2px 0!important;
    border-radius:999px!important;
    background:#eef8ef!important;
    color:#0d5b31!important;
    font-weight:850!important;
}

html body article.card h3,
html body .airbnb-card-v100 h3,
html body .card-v121 h3{
    font-size:15px!important;
    line-height:1.16!important;
    margin:4px 0 0!important;
    min-height:34px!important;
    max-height:36px!important;
    color:#122318!important;
    letter-spacing:-.01em!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}

html body article.card .card-location,
html body .airbnb-card-v100 .card-location,
html body .card-v121 .card-location{
    font-size:12px!important;
    line-height:1.15!important;
    color:#657469!important;
    font-weight:750!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}

html body article.card .price,
html body .airbnb-card-v100 .price,
html body .card-v121 .price{
    font-size:14px!important;
    line-height:1.15!important;
    margin:1px 0!important;
    color:#0d6b37!important;
    font-weight:900!important;
}

html body article.card .card-mini-stats,
html body .airbnb-card-v100 .card-mini-stats,
html body .card-v121 .card-mini-stats{
    font-size:10.5px!important;
    line-height:1.15!important;
    color:#7a887e!important;
    margin:0!important;
    font-weight:650!important;
}

/* Réduire l'encombrement dans la carte */
html body article.card .terms,
html body .airbnb-card-v100 .terms,
html body .card-v121 .terms{
    display:none!important;
}

/* Garder seulement un petit lien Voir le bien ; cacher Visite */
html body article.card .card-actions-v100,
html body article.card .card-actions-v121,
html body .airbnb-card-v100 .card-actions-v100,
html body .airbnb-card-v100 .card-actions-v121,
html body .card-v121 .card-actions-v100,
html body .card-v121 .card-actions-v121{
    display:flex!important;
    margin-top:5px!important;
    padding:0!important;
    height:auto!important;
    min-height:0!important;
    gap:0!important;
}

html body article.card .card-actions-v100 a,
html body article.card .card-actions-v121 a,
html body .airbnb-card-v100 .card-actions-v100 a,
html body .airbnb-card-v100 .card-actions-v121 a,
html body .card-v121 .card-actions-v100 a,
html body .card-v121 .card-actions-v121 a{
    display:none!important;
}

html body article.card .card-actions-v100 a:first-child,
html body article.card .card-actions-v121 a:first-child,
html body .airbnb-card-v100 .card-actions-v100 a:first-child,
html body .airbnb-card-v100 .card-actions-v121 a:first-child,
html body .card-v121 .card-actions-v100 a:first-child,
html body .card-v121 .card-actions-v121 a:first-child{
    display:inline-flex!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    color:#0d6b37!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:900!important;
    text-decoration:underline!important;
    border-radius:0!important;
}

/* Mobile : image carrée comme Airbnb mobile */
@media(max-width:760px){
    html body .wrap{
        width:calc(100% - 18px)!important;
    }

    html body .grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }

    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        border-radius:18px!important;
        box-shadow:0 6px 18px rgba(8,55,28,.08)!important;
    }

    html body article.card .card-photo-wrap,
    html body .airbnb-card-v100 .card-photo-wrap,
    html body .card-v121 .card-photo-wrap{
        aspect-ratio:1 / 1!important;
        border-radius:18px 18px 0 0!important;
    }

    html body article.card .card-photo-wrap img[src*="villa.svg"],
    html body .airbnb-card-v100 .card-photo-wrap img[src*="villa.svg"],
    html body .card-v121 .card-photo-wrap img[src*="villa.svg"]{
        padding:13px!important;
    }

    html body article.card .fav-mini-form,
    html body .airbnb-card-v100 .fav-mini-form,
    html body .card-v121 .fav-mini-form{
        top:8px!important;
        right:8px!important;
    }

    html body article.card .fav-mini-form button,
    html body .airbnb-card-v100 .fav-mini-form button,
    html body .card-v121 .fav-mini-form button{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        min-height:34px!important;
        font-size:18px!important;
    }

    html body article.card .card-body-v100,
    html body .airbnb-card-v100 .card-body-v100,
    html body .card-v121 .card-body-v100{
        padding:9px 10px 11px!important;
        gap:4px!important;
    }

    html body article.card .pill,
    html body .airbnb-card-v100 .pill,
    html body .card-v121 .pill{
        font-size:8.5px!important;
        padding:3px 6px!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12.5px!important;
        line-height:1.15!important;
        min-height:29px!important;
        max-height:31px!important;
    }

    html body article.card .card-location,
    html body .airbnb-card-v100 .card-location,
    html body .card-v121 .card-location{
        font-size:10.5px!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:12px!important;
    }

    html body article.card .card-mini-stats,
    html body .airbnb-card-v100 .card-mini-stats,
    html body .card-v121 .card-mini-stats{
        font-size:9.5px!important;
    }

    html body article.card .card-actions-v100 a:first-child,
    html body article.card .card-actions-v121 a:first-child,
    html body .airbnb-card-v100 .card-actions-v100 a:first-child,
    html body .airbnb-card-v100 .card-actions-v121 a:first-child,
    html body .card-v121 .card-actions-v100 a:first-child,
    html body .card-v121 .card-actions-v121 a:first-child{
        font-size:10px!important;
    }
}

@media(max-width:380px){
    html body .grid{
        gap:10px!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12px!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:11.5px!important;
    }
}


/* =========================================================
   V13.6 - Grille professionnelle : 5 cartes/images par ligne
   ========================================================= */

/* Ordinateur large : 5 cartes par ligne */
@media(min-width:1200px){
    html body .grid,
    html body .home-v121 .grid,
    html body .home-v120 .grid{
        display:grid!important;
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        gap:18px!important;
        align-items:start!important;
    }

    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        min-width:0!important;
        max-width:none!important;
    }

    html body article.card .card-photo-wrap,
    html body .airbnb-card-v100 .card-photo-wrap,
    html body .card-v121 .card-photo-wrap{
        aspect-ratio:1.05 / 1!important;
    }
}

/* Ordinateur moyen : 4 cartes par ligne */
@media(min-width:980px) and (max-width:1199px){
    html body .grid,
    html body .home-v121 .grid,
    html body .home-v120 .grid{
        display:grid!important;
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:16px!important;
        align-items:start!important;
    }
}

/* Tablette : 3 cartes par ligne */
@media(min-width:700px) and (max-width:979px){
    html body .grid,
    html body .home-v121 .grid,
    html body .home-v120 .grid{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:15px!important;
        align-items:start!important;
    }
}

/* Mobile : 2 cartes par ligne */
@media(max-width:699px){
    html body .grid,
    html body .home-v121 .grid,
    html body .home-v120 .grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
        align-items:start!important;
    }
}

/* Ajustement pour que 5 cartes ne deviennent pas trop lourdes */
@media(min-width:1200px){
    html body article.card .card-body-v100,
    html body .airbnb-card-v100 .card-body-v100,
    html body .card-v121 .card-body-v100{
        padding:10px 11px 12px!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:13.5px!important;
        min-height:31px!important;
        max-height:33px!important;
    }

    html body article.card .card-location,
    html body .airbnb-card-v100 .card-location,
    html body .card-v121 .card-location{
        font-size:11px!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:13px!important;
    }

    html body article.card .pill,
    html body .airbnb-card-v100 .pill,
    html body .card-v121 .pill{
        font-size:8.5px!important;
        padding:3px 6px!important;
    }
}


/* =========================================================
   V13.7 - Mobile : les images accueillent l'internaute
   Ne touche pas à l'affichage ordinateur.
   ========================================================= */

@media(max-width:760px){

    /* 1. Sur mobile, on supprime le long accueil avant les biens */
    html body .premium-home-hero,
    html body .home-visual-promise-v121,
    html body .home-stats,
    html body .experiences-home-v110,
    html body .home-category-strip-v120,
    html body .home-paths,
    html body .form-trust-intro,
    html body .trust-strip,
    html body .why-home-block,
    html body .blog-preview-home,
    html body .home-services-intro{
        display:none!important;
    }

    /* 2. Accueil mobile plus court : recherche compacte en haut */
    html body .home-v120 .improved-search,
    html body .home-v121 .improved-search,
    html body .improved-search{
        margin:10px 0 14px!important;
        padding:10px!important;
        border-radius:22px!important;
        background:#fff!important;
        box-shadow:0 8px 24px rgba(8,55,28,.10)!important;
        border:1px solid #e3ece3!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    html body .home-v120 .improved-search label,
    html body .home-v121 .improved-search label,
    html body .improved-search label{
        padding:8px 10px!important;
        border-radius:14px!important;
        background:#f8fbf8!important;
        border:1px solid #e5eee5!important;
        font-size:11px!important;
        font-weight:850!important;
    }

    html body .home-v120 .improved-search input,
    html body .home-v120 .improved-search select,
    html body .home-v121 .improved-search input,
    html body .home-v121 .improved-search select,
    html body .improved-search input,
    html body .improved-search select{
        min-height:28px!important;
        font-size:12px!important;
        padding:2px 0!important;
    }

    html body .home-v120 .improved-search button,
    html body .home-v121 .improved-search button,
    html body .improved-search button{
        height:40px!important;
        min-height:40px!important;
        border-radius:14px!important;
        font-size:13px!important;
        width:100%!important;
    }

    /* 3. Sections de biens : elles deviennent le vrai premier contenu visible */
    html body .section-line{
        margin-top:8px!important;
        margin-bottom:10px!important;
        align-items:center!important;
    }

    html body .section-line h2,
    html body .home-v121 .section-line h2{
        font-size:20px!important;
        line-height:1.15!important;
        margin:0!important;
        letter-spacing:-.02em!important;
    }

    html body .section-line a{
        font-size:11px!important;
        font-weight:900!important;
    }

    html body .section-intro,
    html body .section-line + p{
        display:none!important;
    }

    /* 4. Grille mobile : 2 colonnes, images carrées grosses */
    html body .grid,
    html body .home-v121 .grid,
    html body .home-v120 .grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
        align-items:start!important;
    }

    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        border-radius:18px!important;
        overflow:hidden!important;
        background:#fff!important;
        border:1px solid #e1ebe1!important;
        box-shadow:0 6px 18px rgba(8,55,28,.08)!important;
        min-height:0!important;
        height:auto!important;
    }

    /* 5. Images plus grosses et même dimension */
    html body article.card .card-photo-wrap,
    html body .airbnb-card-v100 .card-photo-wrap,
    html body .card-v121 .card-photo-wrap{
        width:100%!important;
        aspect-ratio:1 / 1!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        background:#eef7ef!important;
        border-radius:18px 18px 0 0!important;
        overflow:hidden!important;
    }

    html body article.card .card-photo-wrap img,
    html body .airbnb-card-v100 .card-photo-wrap img,
    html body .card-v121 .card-photo-wrap img{
        width:100%!important;
        height:100%!important;
        display:block!important;
        object-fit:cover!important;
        object-position:center!important;
    }

    html body article.card .card-photo-wrap img[src*="villa.svg"],
    html body .airbnb-card-v100 .card-photo-wrap img[src*="villa.svg"],
    html body .card-v121 .card-photo-wrap img[src*="villa.svg"]{
        object-fit:contain!important;
        padding:10px!important;
        box-sizing:border-box!important;
    }

    /* 6. Cœur favori comme marketplace */
    html body article.card .fav-mini-form,
    html body .airbnb-card-v100 .fav-mini-form,
    html body .card-v121 .fav-mini-form{
        position:absolute!important;
        top:8px!important;
        right:8px!important;
        z-index:5!important;
    }

    html body article.card .fav-mini-form button,
    html body .airbnb-card-v100 .fav-mini-form button,
    html body .card-v121 .fav-mini-form button{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        min-height:34px!important;
        border-radius:999px!important;
        padding:0!important;
        background:rgba(255,255,255,.96)!important;
        color:#0d6b37!important;
        border:0!important;
        font-size:18px!important;
        box-shadow:0 8px 18px rgba(0,0,0,.14)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    /* 7. Texte très léger pour que l'image domine */
    html body article.card .card-body-v100,
    html body .airbnb-card-v100 .card-body-v100,
    html body .card-v121 .card-body-v100{
        padding:8px 9px 10px!important;
        gap:3px!important;
        display:flex!important;
        flex-direction:column!important;
    }

    html body article.card .pill,
    html body .airbnb-card-v100 .pill,
    html body .card-v121 .pill{
        display:none!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12.5px!important;
        line-height:1.13!important;
        min-height:28px!important;
        max-height:30px!important;
        margin:0!important;
        color:#102316!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }

    html body article.card .card-location,
    html body .airbnb-card-v100 .card-location,
    html body .card-v121 .card-location{
        font-size:10px!important;
        line-height:1.1!important;
        color:#6b776e!important;
        margin:0!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        font-weight:700!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:11.5px!important;
        line-height:1.12!important;
        color:#0d6b37!important;
        font-weight:900!important;
        margin:1px 0 0!important;
    }

    html body article.card .card-mini-stats,
    html body .airbnb-card-v100 .card-mini-stats,
    html body .card-v121 .card-mini-stats,
    html body article.card .terms,
    html body .airbnb-card-v100 .terms,
    html body .card-v121 .terms{
        display:none!important;
    }

    /* 8. Les boutons ne doivent plus alourdir le mobile */
    html body article.card .card-actions-v100,
    html body article.card .card-actions-v121,
    html body .airbnb-card-v100 .card-actions-v100,
    html body .airbnb-card-v100 .card-actions-v121,
    html body .card-v121 .card-actions-v100,
    html body .card-v121 .card-actions-v121{
        display:none!important;
    }

    /* 9. Réduire les espaces globaux en accueil mobile */
    html body .wrap{
        width:calc(100% - 18px)!important;
    }

    html body main.wrap{
        padding-top:8px!important;
    }

    html body section{
        margin-top:14px!important;
        margin-bottom:14px!important;
    }

    /* 10. Dans les pages catalogue, éviter un long haut de page */
    html body .catalog-hero,
    html body .properties-hero,
    html body .page-hero{
        padding:14px!important;
        border-radius:18px!important;
        margin:8px 0 12px!important;
    }

    html body .catalog-hero h1,
    html body .properties-hero h1,
    html body .page-hero h1{
        font-size:22px!important;
        line-height:1.15!important;
    }

    html body .catalog-hero p,
    html body .properties-hero p,
    html body .page-hero p{
        display:none!important;
    }
}

/* Très petit mobile */
@media(max-width:380px){
    html body .grid,
    html body .home-v121 .grid,
    html body .home-v120 .grid{
        gap:10px!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12px!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:11px!important;
    }
}


/* =========================================================
   V13.8 - Mobile : masquer les expériences sur l'accueil
   Garder seulement un lien visible vers la page Expériences.
   Ne modifie pas l'ordinateur.
   ========================================================= */

@media(max-width:760px){

    /* Bloc complet expériences accueil : on garde seulement le titre/lien si disponible */
    html body .experiences-home-v110 .experience-grid-v110,
    html body .experiences-home-v110 .grid,
    html body .experiences-home-v110 article,
    html body section.experiences-home-v110 article,
    html body section.experiences-home-v110 .experience-card,
    html body section.experiences-home-v110 .card{
        display:none!important;
    }

    /* Si le bloc expérience a un paragraphe d'intro, on le cache aussi */
    html body .experiences-home-v110 p,
    html body section.experiences-home-v110 p{
        display:none!important;
    }

    /* Le bloc devient court et visible */
    html body .experiences-home-v110,
    html body section.experiences-home-v110{
        display:block!important;
        margin:10px 0 14px!important;
        padding:12px!important;
        border-radius:18px!important;
        background:#fff!important;
        border:1px solid #e2ece2!important;
        box-shadow:0 6px 18px rgba(8,55,28,.07)!important;
    }

    html body .experiences-home-v110 .section-line,
    html body section.experiences-home-v110 .section-line{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:0!important;
    }

    html body .experiences-home-v110 h2,
    html body section.experiences-home-v110 h2{
        font-size:18px!important;
        line-height:1.15!important;
        margin:0!important;
        color:#0d4a24!important;
    }

    /* Lien très visible */
    html body .experiences-home-v110 a,
    html body section.experiences-home-v110 a{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:38px!important;
        padding:9px 14px!important;
        border-radius:999px!important;
        background:#0d6b37!important;
        color:#fff!important;
        text-decoration:none!important;
        font-size:12px!important;
        font-weight:900!important;
        white-space:nowrap!important;
        box-shadow:0 8px 18px rgba(13,107,55,.18)!important;
    }

    /* En cas d'ancien lien texte "Voir les expériences", le transformer aussi */
    html body a[href*="experiences.php"]{
        font-weight:900!important;
    }

    /* Si la section n'a pas de lien visible, on évite les longues cartes grâce aux règles ci-dessus */
}

/* Si les cartes expériences sont hors section mais proches du bloc, réduire leur impact seulement sur mobile */
@media(max-width:760px){
    html body .experience-grid-v110{
        display:none!important;
    }
}


/* =========================================================
   V13.9 - Mobile : textes catalogue plus légers en petits rectangles
   Ne touche pas l'ordinateur.
   ========================================================= */

@media(max-width:760px){

    /* Titre principal des pages catalogue / biens */
    html body .catalog-hero h1,
    html body .properties-hero h1,
    html body .page-hero h1,
    html body .catalogue-hero h1,
    html body main.wrap > h1:first-child{
        display:inline-block!important;
        width:auto!important;
        max-width:100%!important;
        margin:8px 0 10px!important;
        padding:8px 12px!important;
        border-radius:16px!important;
        background:#ffffff!important;
        border:1px solid #e0ebe0!important;
        box-shadow:0 6px 18px rgba(8,55,28,.06)!important;
        color:#102316!important;
        font-size:24px!important;
        line-height:1.08!important;
        font-weight:750!important;
        letter-spacing:-.025em!important;
    }

    /* Texte descriptif sous le titre */
    html body .catalog-hero p,
    html body .properties-hero p,
    html body .page-hero p,
    html body .catalogue-hero p,
    html body main.wrap > h1:first-child + p,
    html body main.wrap > p.intro,
    html body .intro-catalogue,
    html body .catalog-intro{
        display:block!important;
        width:100%!important;
        box-sizing:border-box!important;
        margin:0 0 12px!important;
        padding:11px 13px!important;
        border-radius:18px!important;
        background:#f4faf4!important;
        border:1px solid #dfeadf!important;
        color:#314439!important;
        font-size:14px!important;
        line-height:1.35!important;
        font-weight:500!important;
        box-shadow:0 6px 18px rgba(8,55,28,.045)!important;
    }

    /* Le bloc filtre doit remonter proprement sous le petit texte */
    html body .filters,
    html body .search-card,
    html body .catalog-filters,
    html body form.filters,
    html body form.search-form{
        margin-top:10px!important;
        border-radius:22px!important;
        box-shadow:0 8px 22px rgba(8,55,28,.08)!important;
    }

    /* Bloc "Enregistrer cette recherche" */
    html body .save-search,
    html body .search-alert,
    html body .alert-search,
    html body .subscribe-search,
    html body section:has(input[placeholder*="alerte"]),
    html body section:has(input[name*="alert"]),
    html body section:has(input[name*="alerte"]){
        border-radius:22px!important;
        background:#fff!important;
        border:1px solid #e0ebe0!important;
        box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
        padding:18px!important;
    }

    html body .save-search h2,
    html body .search-alert h2,
    html body .alert-search h2,
    html body .subscribe-search h2,
    html body section:has(input[placeholder*="alerte"]) h2,
    html body section:has(input[name*="alert"]) h2,
    html body section:has(input[name*="alerte"]) h2{
        display:inline-block!important;
        margin:0 0 10px!important;
        padding:7px 11px!important;
        border-radius:14px!important;
        background:#f4faf4!important;
        border:1px solid #dfeadf!important;
        color:#0d4a24!important;
        font-size:20px!important;
        line-height:1.12!important;
        font-weight:700!important;
        letter-spacing:-.015em!important;
    }

    html body .save-search p,
    html body .search-alert p,
    html body .alert-search p,
    html body .subscribe-search p,
    html body section:has(input[placeholder*="alerte"]) p,
    html body section:has(input[name*="alert"]) p,
    html body section:has(input[name*="alerte"]) p{
        margin:0 0 12px!important;
        padding:10px 12px!important;
        border-radius:16px!important;
        background:#f8fbf8!important;
        border:1px solid #e5eee5!important;
        color:#43544a!important;
        font-size:13.5px!important;
        line-height:1.35!important;
        font-weight:450!important;
    }

    /* Champs du bloc alerte : plus légers */
    html body .save-search input,
    html body .search-alert input,
    html body .alert-search input,
    html body .subscribe-search input,
    html body section:has(input[placeholder*="alerte"]) input,
    html body section:has(input[name*="alert"]) input,
    html body section:has(input[name*="alerte"]) input{
        border-radius:16px!important;
        min-height:46px!important;
        font-size:14px!important;
        font-weight:400!important;
    }

    /* Eviter les énormes titres dans le catalogue mobile */
    html body h1,
    html body h2{
        letter-spacing:-.02em!important;
    }
}

/* Sécurité : si :has n'est pas supporté, les classes existantes restent couvertes ci-dessus. */


/* =========================================================
   V14.4 - Accueil : expériences remplacées par un lien court
   ========================================================= */

html body .experience-home-link-v144{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:14px 0 18px;
    padding:18px;
    border-radius:22px;
    background:#ffffff;
    border:1px solid #dfeade;
    box-shadow:0 8px 24px rgba(8,55,28,.07);
}

html body .experience-home-link-v144 span{
    display:inline-block;
    font-size:11px;
    line-height:1;
    color:#0d6b37;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:7px;
}

html body .experience-home-link-v144 h2{
    margin:0;
    color:#0d4a24;
    font-size:20px;
    line-height:1.15;
    font-weight:850;
}

html body .experience-home-link-v144 a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:999px;
    background:#0d6b37;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 8px 18px rgba(13,107,55,.18);
}

@media(max-width:760px){

    html body .experience-home-link-v144{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:8px 0 12px!important;
        padding:11px!important;
        border-radius:18px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 6px 18px rgba(8,55,28,.06)!important;
    }

    html body .experience-home-link-v144 span{
        font-size:9.5px!important;
        margin-bottom:5px!important;
    }

    html body .experience-home-link-v144 h2{
        font-size:14.5px!important;
        line-height:1.15!important;
        font-weight:800!important;
        letter-spacing:-.01em!important;
    }

    html body .experience-home-link-v144 a{
        min-height:36px!important;
        padding:8px 12px!important;
        font-size:11px!important;
        flex:0 0 auto!important;
    }

    /* Sécurité : si un ancien bloc expérience est encore présent dans l'accueil */
    html body .experience-mini-home-v110 .experience-mini-grid-v110,
    html body .experience-mini-home-v110 article,
    html body .experiences-home-v110 article,
    html body .experience-mini-grid-v110{
        display:none!important;
        height:0!important;
        max-height:0!important;
        overflow:hidden!important;
        visibility:hidden!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
    }

    /* Accueil mobile : les biens doivent venir vite */
    html body .premium-home-hero,
    html body .hero-realestate-v63,
    html body .home-stats,
    html body .home-visual-promise-v121,
    html body .home-paths,
    html body .home-paths-v121{
        display:none!important;
    }

    html body .featured-strip{
        margin-top:10px!important;
    }
}


/* =========================================================
   V14.5 - Accueil : seulement le lien Voir les expériences
   ========================================================= */

html body .experience-simple-link-v145{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    margin:8px 0 14px;
    padding:0;
}

html body .experience-simple-link-v145 a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 18px;
    border-radius:999px;
    background:#0d6b37;
    color:#ffffff;
    text-decoration:none;
    font-size:13px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 8px 18px rgba(13,107,55,.18);
}

/* Sécurité : les anciens blocs expériences ne doivent plus encombrer l'accueil */
html body .experience-home-link-v144,
html body .experience-mini-home-v110,
html body .experiences-home-v110{
    display:none!important;
}

@media(max-width:760px){
    html body .experience-simple-link-v145{
        display:flex!important;
        justify-content:center!important;
        margin:6px 0 10px!important;
        padding:0!important;
    }

    html body .experience-simple-link-v145 a{
        min-height:38px!important;
        padding:9px 15px!important;
        border-radius:999px!important;
        background:#0d6b37!important;
        color:#ffffff!important;
        font-size:12px!important;
        font-weight:900!important;
        width:auto!important;
        max-width:100%!important;
    }

    html body .experience-home-link-v144,
    html body .experience-mini-home-v110,
    html body .experience-mini-grid-v110,
    html body .experiences-home-v110,
    html body .experiences-home-v110 article,
    html body .experience-mini-home-v110 article{
        display:none!important;
        visibility:hidden!important;
        height:0!important;
        max-height:0!important;
        overflow:hidden!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
    }
}


/* =========================================================
   V14.6 - Finition professionnelle institutionnelle
   Site destiné à une présentation de haut niveau.
   ========================================================= */

html body{
    -webkit-font-smoothing:antialiased!important;
    text-rendering:geometricPrecision!important;
}

/* Bouton expérience : uniquement le lien, pas de texte parasite */
html body .experience-home-link-v144,
html body .experience-mini-home-v110,
html body .experiences-home-v110,
html body .experience-simple-link-v145{
    display:none!important;
}

html body .experience-simple-link-v146{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    margin:10px 0 14px!important;
    padding:0!important;
}

html body .experience-simple-link-v146 a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px 18px!important;
    border-radius:999px!important;
    background:#0d6b37!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
    box-shadow:0 10px 22px rgba(13,107,55,.18)!important;
}

/* Cartes plus premium sur ordinateur sans casser la grille */
@media(min-width:761px){
    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        transition:transform .18s ease, box-shadow .18s ease!important;
    }

    html body article.card:hover,
    html body .airbnb-card-v100:hover,
    html body .card-v121:hover{
        transform:translateY(-3px)!important;
        box-shadow:0 16px 34px rgba(8,55,28,.12)!important;
    }

    html body article.card .card-photo-wrap,
    html body .airbnb-card-v100 .card-photo-wrap,
    html body .card-v121 .card-photo-wrap{
        background:#edf6ee!important;
    }
}

/* Mobile : finition forte */
@media(max-width:760px){

    html body{
        background:#f5faf5!important;
    }

    html body .wrap{
        width:calc(100% - 18px)!important;
    }

    html body main.wrap{
        padding-top:8px!important;
    }

    /* Header/menu mobile : moins lourd, plus institutionnel */
    html body .mobile-nav-panel-native-v43 .lm91-item,
    html body .mobile-nav-panel-native-v43 .lm91-admin{
        min-height:58px!important;
        margin:7px 0!important;
        padding:11px 14px!important;
        border-radius:16px!important;
        font-size:16px!important;
        font-weight:850!important;
        gap:11px!important;
        box-shadow:0 6px 16px rgba(10,70,35,.08)!important;
    }

    html body .mobile-nav-panel-native-v43 .lm91-ico{
        width:36px!important;
        height:36px!important;
        min-width:36px!important;
        font-size:18px!important;
    }

    html body .mobile-nav-panel-native-v43 .lm91-panel{
        padding:8px 9px 10px 14px!important;
        border-radius:0 0 16px 16px!important;
    }

    html body .mobile-nav-panel-native-v43 .lm91-panel a{
        margin:6px 0!important;
        padding:10px 12px!important;
        border-radius:13px!important;
        font-size:15px!important;
        font-weight:820!important;
    }

    html body .mobile-nav-panel-native-v43 .lm91-ico.small{
        width:32px!important;
        height:32px!important;
        min-width:32px!important;
        font-size:16px!important;
    }

    /* Accueil mobile : masquer les blocs qui allongent avant les biens */
    html body .premium-home-hero,
    html body .hero-realestate-v63,
    html body .home-stats,
    html body .home-visual-promise-v121,
    html body .home-paths,
    html body .home-paths-v121,
    html body .trust-strip,
    html body .why-home-block,
    html body .home-services-intro,
    html body .home-category-strip-v120{
        display:none!important;
    }

    /* Recherche très compacte */
    html body .air-search,
    html body .improved-search,
    html body .home-v120 .improved-search,
    html body .home-v121 .improved-search{
        margin:8px 0 10px!important;
        padding:9px!important;
        border-radius:20px!important;
        background:#fff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 22px rgba(8,55,28,.08)!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:7px!important;
    }

    html body .air-search label,
    html body .improved-search label{
        padding:7px 10px!important;
        border-radius:14px!important;
        background:#f7fbf7!important;
        border:1px solid #e4eee4!important;
        font-size:10.5px!important;
        font-weight:850!important;
        color:#14351e!important;
    }

    html body .air-search input,
    html body .air-search select,
    html body .improved-search input,
    html body .improved-search select{
        min-height:28px!important;
        font-size:12px!important;
        padding:2px 0!important;
        border:0!important;
        background:transparent!important;
    }

    html body .air-search button,
    html body .improved-search button{
        min-height:40px!important;
        height:40px!important;
        border-radius:14px!important;
        font-size:12.5px!important;
        font-weight:900!important;
        width:100%!important;
    }

    /* Lien expériences uniquement */
    html body .experience-simple-link-v146{
        justify-content:center!important;
        margin:6px 0 10px!important;
        padding:0!important;
    }

    html body .experience-simple-link-v146 a{
        min-height:36px!important;
        padding:8px 15px!important;
        font-size:12px!important;
        box-shadow:0 8px 18px rgba(13,107,55,.15)!important;
    }

    /* Images des biens : contenu principal */
    html body .featured-strip{
        margin-top:8px!important;
    }

    html body .section-line{
        margin:8px 0 10px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:9px!important;
    }

    html body .section-line h2{
        font-size:18px!important;
        line-height:1.15!important;
        margin:0!important;
        color:#0d4a24!important;
        font-weight:850!important;
        letter-spacing:-.015em!important;
    }

    html body .section-line a{
        font-size:10.5px!important;
        font-weight:900!important;
        color:#0d6b37!important;
        white-space:nowrap!important;
        text-decoration:none!important;
    }

    html body .section-subtitle,
    html body .section-intro,
    html body .section-line + p{
        display:none!important;
    }

    html body .grid,
    html body .city-row,
    html body .home-v121 .grid,
    html body .home-v120 .grid,
    html body .featured-strip .city-row,
    html body .city-properties .city-row{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
        align-items:start!important;
        overflow:visible!important;
    }

    html body .city-row > *,
    html body .grid > *{
        min-width:0!important;
        width:100%!important;
    }

    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        width:100%!important;
        min-width:0!important;
        border-radius:18px!important;
        overflow:hidden!important;
        background:#fff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 6px 18px rgba(8,55,28,.075)!important;
        min-height:0!important;
        height:auto!important;
    }

    html body article.card .card-photo-wrap,
    html body .airbnb-card-v100 .card-photo-wrap,
    html body .card-v121 .card-photo-wrap{
        width:100%!important;
        aspect-ratio:1 / 1!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        border-radius:18px 18px 0 0!important;
        overflow:hidden!important;
        background:#eef7ef!important;
    }

    html body article.card .card-photo-wrap img,
    html body .airbnb-card-v100 .card-photo-wrap img,
    html body .card-v121 .card-photo-wrap img{
        width:100%!important;
        height:100%!important;
        display:block!important;
        object-fit:cover!important;
        object-position:center!important;
    }

    html body article.card .card-photo-wrap img[src*="villa.svg"],
    html body .airbnb-card-v100 .card-photo-wrap img[src*="villa.svg"],
    html body .card-v121 .card-photo-wrap img[src*="villa.svg"]{
        object-fit:contain!important;
        padding:10px!important;
        box-sizing:border-box!important;
    }

    html body article.card .card-body-v100,
    html body .airbnb-card-v100 .card-body-v100,
    html body .card-v121 .card-body-v100{
        padding:8px 9px 10px!important;
        gap:3px!important;
        display:flex!important;
        flex-direction:column!important;
    }

    html body article.card .pill,
    html body .airbnb-card-v100 .pill,
    html body .card-v121 .pill{
        display:none!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12.5px!important;
        line-height:1.13!important;
        min-height:28px!important;
        max-height:30px!important;
        margin:0!important;
        color:#102316!important;
        font-weight:850!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }

    html body article.card .card-location,
    html body .airbnb-card-v100 .card-location,
    html body .card-v121 .card-location{
        font-size:10px!important;
        line-height:1.1!important;
        color:#68776d!important;
        margin:0!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        font-weight:700!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:11.5px!important;
        line-height:1.12!important;
        color:#0d6b37!important;
        font-weight:900!important;
        margin:1px 0 0!important;
    }

    html body article.card .card-mini-stats,
    html body .airbnb-card-v100 .card-mini-stats,
    html body .card-v121 .card-mini-stats,
    html body article.card .terms,
    html body .airbnb-card-v100 .terms,
    html body .card-v121 .terms,
    html body article.card .card-actions-v100,
    html body article.card .card-actions-v121,
    html body .airbnb-card-v100 .card-actions-v100,
    html body .airbnb-card-v100 .card-actions-v121,
    html body .card-v121 .card-actions-v100,
    html body .card-v121 .card-actions-v121{
        display:none!important;
    }

    /* Catalogue mobile : plus haut de gamme */
    html body .catalog-hero h1,
    html body .properties-hero h1,
    html body .page-hero h1,
    html body .catalogue-hero h1,
    html body main.wrap > h1:first-child{
        display:inline-block!important;
        margin:8px 0 9px!important;
        padding:8px 12px!important;
        border-radius:16px!important;
        background:#fff!important;
        border:1px solid #e0ebe0!important;
        color:#102316!important;
        box-shadow:0 6px 18px rgba(8,55,28,.055)!important;
        font-size:22px!important;
        line-height:1.08!important;
        font-weight:730!important;
        letter-spacing:-.025em!important;
    }

    html body .catalog-hero p,
    html body .properties-hero p,
    html body .page-hero p,
    html body .catalogue-hero p,
    html body main.wrap > h1:first-child + p,
    html body main.wrap > p.intro,
    html body .intro-catalogue,
    html body .catalog-intro{
        display:block!important;
        margin:0 0 10px!important;
        padding:10px 12px!important;
        border-radius:17px!important;
        background:#f4faf4!important;
        border:1px solid #dfeadf!important;
        color:#314439!important;
        font-size:13.2px!important;
        line-height:1.35!important;
        font-weight:480!important;
    }

    /* Formulaires et blocs : sobriété */
    html body input,
    html body select,
    html body textarea{
        font-size:14px!important;
    }

    html body .btn,
    html body button{
        letter-spacing:-.01em!important;
    }

    /* Footer mobile plus institutionnel */
    html body footer,
    html body .site-footer{
        background:#fff!important;
        border-top:1px solid #e1ece1!important;
        font-size:12px!important;
    }

    html body footer .footer-grid,
    html body .site-footer .footer-grid{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:14px!important;
    }
}

@media(max-width:380px){
    html body .grid,
    html body .city-row,
    html body .featured-strip .city-row{
        gap:10px!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12px!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        font-size:11px!important;
    }
}


/* =========================================================
   V14.7 - Qualité visuelle des images et placeholders premium
   ========================================================= */

/* Toutes les images de biens doivent être nettes, cadrées et stables */
html body article.card .card-photo-wrap,
html body .airbnb-card-v100 .card-photo-wrap,
html body .card-v121 .card-photo-wrap{
    background:linear-gradient(135deg,#f5fbf5,#e4f1e6)!important;
}

html body article.card .card-photo-wrap img,
html body .airbnb-card-v100 .card-photo-wrap img,
html body .card-v121 .card-photo-wrap img{
    image-rendering:auto!important;
    transform:translateZ(0)!important;
}

/* Le placeholder SCI doit respirer comme un visuel institutionnel */
html body article.card .card-photo-wrap img[src*="villa.svg"],
html body .airbnb-card-v100 .card-photo-wrap img[src*="villa.svg"],
html body .card-v121 .card-photo-wrap img[src*="villa.svg"],
html body article.card .card-photo-wrap img[src*="property-placeholder-premium.svg"],
html body .airbnb-card-v100 .card-photo-wrap img[src*="property-placeholder-premium.svg"],
html body .card-v121 .card-photo-wrap img[src*="property-placeholder-premium.svg"]{
    object-fit:cover!important;
    object-position:center!important;
    padding:0!important;
    background:#eef7ef!important;
}

/* Aspect plus premium au survol desktop */
@media(min-width:761px){
    html body article.card .card-photo-wrap img,
    html body .airbnb-card-v100 .card-photo-wrap img,
    html body .card-v121 .card-photo-wrap img{
        transition:transform .35s ease!important;
    }

    html body article.card:hover .card-photo-wrap img,
    html body .airbnb-card-v100:hover .card-photo-wrap img,
    html body .card-v121:hover .card-photo-wrap img{
        transform:scale(1.035)!important;
    }
}

/* Mobile : image dominante, pas de padding vide */
@media(max-width:760px){
    html body article.card .card-photo-wrap img[src*="villa.svg"],
    html body .airbnb-card-v100 .card-photo-wrap img[src*="villa.svg"],
    html body .card-v121 .card-photo-wrap img[src*="villa.svg"],
    html body article.card .card-photo-wrap img[src*="property-placeholder-premium.svg"],
    html body .airbnb-card-v100 .card-photo-wrap img[src*="property-placeholder-premium.svg"],
    html body .card-v121 .card-photo-wrap img[src*="property-placeholder-premium.svg"]{
        object-fit:cover!important;
        padding:0!important;
    }
}


/* =========================================================
   V14.8 - Nettoyage institutionnel mobile et accueil
   ========================================================= */

/* Masquer Admin du menu public : accès conservé par /admin/login.php */
html body header .admin-pill,
html body nav .admin-pill,
html body .lm91-admin,
html body .mobile-admin-link,
html body a[href="admin/login.php"].admin-pill{
    display:none!important;
}

/* Anciennes expériences accueil : masquées */
html body .experience-home-link-v144,
html body .experience-simple-link-v145,
html body .experience-simple-link-v146,
html body .experience-mini-home-v110,
html body .experiences-home-v110{
    display:none!important;
}

/* Boutons institutionnels accueil */
html body .institutional-mini-home-v148{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin:10px 0 16px;
}

html body .institutional-mini-home-v148 a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 16px;
    border-radius:999px;
    background:#0d6b37;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    line-height:1;
    font-weight:900;
    box-shadow:0 10px 22px rgba(13,107,55,.16);
}

html body .institutional-mini-home-v148 a:first-child{
    background:#102316;
}

/* Page institutionnelle */
html body .institutional-page-v148{
    max-width:1120px!important;
}

html body .institutional-hero-v148{
    margin:24px 0;
    padding:38px;
    border-radius:30px;
    background:linear-gradient(135deg,#0d4a24,#0d6b37);
    color:#fff;
    box-shadow:0 18px 46px rgba(13,107,55,.22);
}

html body .institutional-hero-v148 span,
html body .kicker-v148{
    display:inline-block;
    color:#d8a039;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:12px;
    font-weight:950;
    margin-bottom:10px;
}

html body .institutional-hero-v148 h1{
    color:#fff;
    max-width:900px;
    font-size:42px;
    line-height:1.02;
    letter-spacing:-.035em;
    margin:0 0 16px;
}

html body .institutional-hero-v148 p{
    color:rgba(255,255,255,.90);
    max-width:880px;
    font-size:17px;
    line-height:1.55;
}

html body .institutional-actions-v148{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:20px;
}

html body .institutional-metrics-v148{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:18px 0;
}

html body .institutional-metrics-v148 article,
html body .institutional-grid-v148 article,
html body .institutional-section-v148,
html body .institutional-process-v148,
html body .institutional-warning-v148,
html body .institutional-contact-v148{
    background:#fff;
    border:1px solid #dfeade;
    border-radius:24px;
    padding:22px;
    box-shadow:0 10px 26px rgba(8,55,28,.07);
}

html body .institutional-metrics-v148 strong{
    display:block;
    color:#0d6b37;
    font-size:20px;
    line-height:1.15;
}

html body .institutional-metrics-v148 span{
    display:block;
    margin-top:5px;
    color:#53665a;
    font-size:13px;
    font-weight:750;
}

html body .institutional-section-v148{
    margin:20px 0;
}

html body .institutional-section-v148 h2,
html body .institutional-process-v148 h2,
html body .institutional-warning-v148 h2,
html body .institutional-contact-v148 h2{
    color:#0d4a24;
    margin:0 0 12px;
    font-size:28px;
    line-height:1.12;
    letter-spacing:-.02em;
}

html body .institutional-section-v148 p,
html body .institutional-warning-v148 p,
html body .institutional-contact-v148 p,
html body .institutional-grid-v148 p{
    color:#3c5144;
    line-height:1.58;
    font-size:15px;
}

html body .institutional-grid-v148{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:20px 0;
}

html body .institutional-grid-v148 h3{
    color:#0d4a24;
    font-size:18px;
    line-height:1.18;
    margin:0 0 8px;
}

html body .institutional-process-v148{
    margin:20px 0;
}

html body .institutional-process-v148 ol{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    list-style:none;
    padding:0;
    margin:18px 0 0;
}

html body .institutional-process-v148 li{
    background:#f5faf5;
    border:1px solid #e1ece1;
    border-radius:18px;
    padding:14px;
}

html body .institutional-process-v148 strong{
    display:block;
    color:#0d6b37;
    font-size:14px;
    margin-bottom:6px;
}

html body .institutional-process-v148 span{
    color:#4e6255;
    font-size:13px;
    line-height:1.35;
}

html body .institutional-warning-v148{
    border-left:5px solid #d8a039;
}

html body .institutional-contact-v148{
    margin:20px 0 28px;
}

html body .institutional-contact-v148 div{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

/* Mobile : simplifier radicalement l'accueil */
@media(max-width:760px){

    html body header .admin-pill,
    html body nav .admin-pill,
    html body .lm91-admin,
    html body .mobile-admin-link,
    html body a[href="admin/login.php"].admin-pill{
        display:none!important;
    }

    html body .premium-home-hero,
    html body .hero-realestate-v63,
    html body .home-stats,
    html body .home-visual-promise-v121,
    html body .home-paths,
    html body .home-paths-v121,
    html body .trust-strip,
    html body .why-home-block,
    html body .home-services-intro,
    html body .home-category-strip-v120{
        display:none!important;
    }

    html body .institutional-mini-home-v148{
        justify-content:center!important;
        gap:8px!important;
        margin:6px 0 10px!important;
        flex-wrap:wrap!important;
    }

    html body .institutional-mini-home-v148 a{
        min-height:36px!important;
        padding:8px 12px!important;
        font-size:11.5px!important;
        box-shadow:0 8px 18px rgba(13,107,55,.12)!important;
    }

    /* Éviter les répétitions de biens sur l'accueil mobile */
    html body .city-explorer-airbnb{
        display:none!important;
    }

    /* Garder l'accueil comme vitrine : biens mis en avant d'abord */
    html body .featured-strip{
        margin-top:8px!important;
    }

    html body .featured-strip .city-row article:nth-child(n+5),
    html body .featured-strip .grid article:nth-child(n+5){
        display:none!important;
    }

    /* Services : version compacte sur mobile */
    html body .services-home,
    html body .services-strip,
    html body section:has(a[href="services.php"]) {
        max-height:none;
    }

    html body .service-pills,
    html body .services-pills,
    html body .home-services,
    html body .services-mini{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:8px!important;
    }

    html body .service-pills a,
    html body .services-pills a,
    html body .home-services a,
    html body .services-mini a{
        min-height:34px!important;
        padding:8px 11px!important;
        border-radius:999px!important;
        font-size:11px!important;
        font-weight:850!important;
    }

    /* Confiance : compact */
    html body .trust-home,
    html body .why-trust,
    html body .confidence-block,
    html body .trust-metrics{
        padding:12px!important;
        border-radius:18px!important;
    }

    html body .trust-home p,
    html body .why-trust p,
    html body .confidence-block p{
        display:none!important;
    }

    /* Blog moins présent sur mobile */
    html body .blog-home,
    html body .blog-preview,
    html body .latest-posts{
        margin-top:14px!important;
    }

    html body .blog-home article:nth-child(n+2),
    html body .blog-preview article:nth-child(n+2),
    html body .latest-posts article:nth-child(n+2){
        display:none!important;
    }

    /* Footer simplifié mobile */
    html body footer,
    html body .site-footer{
        background:#fff!important;
        border-top:1px solid #e1ece1!important;
        padding-top:18px!important;
    }

    html body footer .footer-grid,
    html body .site-footer .footer-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    html body footer a,
    html body .site-footer a{
        font-size:12px!important;
        line-height:1.35!important;
    }

    /* Page institutionnelle mobile */
    html body .institutional-hero-v148{
        margin:10px 0 14px!important;
        padding:22px!important;
        border-radius:24px!important;
    }

    html body .institutional-hero-v148 h1{
        font-size:25px!important;
        line-height:1.08!important;
    }

    html body .institutional-hero-v148 p{
        font-size:14px!important;
        line-height:1.45!important;
    }

    html body .institutional-actions-v148{
        gap:8px!important;
    }

    html body .institutional-actions-v148 .btn{
        width:100%!important;
        justify-content:center!important;
    }

    html body .institutional-metrics-v148,
    html body .institutional-grid-v148,
    html body .institutional-process-v148 ol{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    html body .institutional-metrics-v148 article,
    html body .institutional-grid-v148 article,
    html body .institutional-section-v148,
    html body .institutional-process-v148,
    html body .institutional-warning-v148,
    html body .institutional-contact-v148{
        padding:16px!important;
        border-radius:20px!important;
    }

    html body .institutional-section-v148 h2,
    html body .institutional-process-v148 h2,
    html body .institutional-warning-v148 h2,
    html body .institutional-contact-v148 h2{
        font-size:21px!important;
    }
}

/* Sécurité si le navigateur ne supporte pas :has */
@supports not selector(:has(*)){
    @media(max-width:760px){
        html body .city-explorer-airbnb{display:none!important;}
    }
}


/* =========================================================
   V14.9 - Pack institutionnel et crédibilité
   ========================================================= */

/* Pages institutionnelles */
html body .inst-pack-v149{
    max-width:1120px!important;
}

html body .inst-hero-v149{
    margin:24px 0;
    padding:38px;
    border-radius:30px;
    background:linear-gradient(135deg,#102316,#0d6b37);
    color:#fff;
    box-shadow:0 18px 46px rgba(13,107,55,.22);
}

html body .inst-hero-v149 span{
    display:inline-block;
    color:#d8a039;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:12px;
    font-weight:950;
    margin-bottom:10px;
}

html body .inst-hero-v149 h1{
    color:#fff;
    max-width:920px;
    font-size:41px;
    line-height:1.04;
    letter-spacing:-.035em;
    margin:0 0 16px;
}

html body .inst-hero-v149 p{
    color:rgba(255,255,255,.90);
    max-width:900px;
    font-size:17px;
    line-height:1.55;
}

html body .inst-grid-v149{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:20px 0;
}

html body .inst-grid-v149 article,
html body .inst-process-v149,
html body .inst-call-v149,
html body .inst-legal-v149{
    background:#fff;
    border:1px solid #dfeade;
    border-radius:24px;
    padding:22px;
    box-shadow:0 10px 26px rgba(8,55,28,.07);
}

html body .inst-grid-v149 h2,
html body .inst-process-v149 h2,
html body .inst-call-v149 h2,
html body .inst-legal-v149 h2{
    color:#0d4a24;
    margin:0 0 10px;
    font-size:20px;
    line-height:1.16;
    letter-spacing:-.015em;
}

html body .inst-grid-v149 p,
html body .inst-call-v149 p,
html body .inst-legal-v149 p{
    color:#3f5547;
    line-height:1.56;
    font-size:15px;
}

html body .inst-process-v149{
    margin:20px 0;
}

html body .inst-process-v149 ol{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    list-style:none;
    padding:0;
    margin:16px 0 0;
}

html body .inst-process-v149 li{
    background:#f5faf5;
    border:1px solid #e1ece1;
    border-radius:18px;
    padding:14px;
}

html body .inst-process-v149 strong{
    display:block;
    color:#0d6b37;
    font-size:14px;
    margin-bottom:6px;
}

html body .inst-process-v149 span{
    color:#4e6255;
    font-size:13px;
    line-height:1.35;
}

html body .inst-call-v149{
    margin:20px 0 28px;
    border-left:5px solid #d8a039;
}

html body .inst-legal-v149{
    margin:20px 0 28px;
}

html body .inst-legal-v149 h2{
    margin-top:18px;
}

html body .inst-legal-v149 h2:first-child{
    margin-top:0;
}

/* Liens institutionnels du menu : sobriété */
html body a[href="presentation-institutionnelle.php"],
html body a[href="partenariat-institutionnel.php"],
html body a[href="diaspora.php"],
html body a[href="politique-verification.php"]{
    font-weight:850;
}

/* Masquer admin du menu public, accès gardé par URL */
html body header .admin-pill,
html body nav .admin-pill,
html body .lm91-admin,
html body .mobile-admin-link{
    display:none!important;
}

/* Footer : liens légaux plus propres si présents */
html body a[href="mentions-legales.php"],
html body a[href="confidentialite.php"]{
    font-weight:800;
}

/* Mobile */
@media(max-width:760px){
    html body .inst-hero-v149{
        margin:10px 0 14px!important;
        padding:22px!important;
        border-radius:24px!important;
    }

    html body .inst-hero-v149 h1{
        font-size:25px!important;
        line-height:1.08!important;
    }

    html body .inst-hero-v149 p{
        font-size:14px!important;
        line-height:1.45!important;
    }

    html body .inst-grid-v149,
    html body .inst-process-v149 ol{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    html body .inst-grid-v149 article,
    html body .inst-process-v149,
    html body .inst-call-v149,
    html body .inst-legal-v149{
        padding:16px!important;
        border-radius:20px!important;
    }

    html body .inst-grid-v149 h2,
    html body .inst-process-v149 h2,
    html body .inst-call-v149 h2,
    html body .inst-legal-v149 h2{
        font-size:18px!important;
    }

    /* Le menu mobile reste lisible malgré les nouvelles pages */
    html body .mobile-nav-panel-native-v43 .lm91-item{
        min-height:54px!important;
        font-size:15px!important;
        padding:10px 13px!important;
    }

    html body .mobile-nav-panel-native-v43 .lm91-ico{
        width:34px!important;
        height:34px!important;
        min-width:34px!important;
        font-size:17px!important;
    }
}


/* =========================================================
   V15.0 - Sécurité production + dossier présidentiel
   ========================================================= */

html body .pres-pack-v150{
    max-width:1140px!important;
}

html body .pres-hero-v150{
    margin:24px 0;
    padding:42px;
    border-radius:32px;
    background:radial-gradient(circle at 85% 5%,rgba(216,160,57,.22),transparent 28%),linear-gradient(135deg,#102316,#0d6b37);
    color:#fff;
    box-shadow:0 20px 50px rgba(13,107,55,.24);
}

html body .pres-hero-v150.compact-v150{
    padding:34px;
}

html body .pres-hero-v150 span,
html body .pres-kicker-v150{
    display:inline-block;
    color:#d8a039;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:12px;
    font-weight:950;
    margin-bottom:10px;
}

html body .pres-hero-v150 h1{
    color:#fff;
    max-width:980px;
    font-size:44px;
    line-height:1.02;
    letter-spacing:-.04em;
    margin:0 0 16px;
}

html body .pres-hero-v150 p{
    color:rgba(255,255,255,.90);
    max-width:930px;
    font-size:17px;
    line-height:1.55;
}

html body .pres-actions-v150{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

html body .pres-metrics-v150{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:18px 0;
}

html body .pres-metrics-v150 article,
html body .pres-section-v150,
html body .pres-grid-v150 article,
html body .pres-process-v150,
html body .pres-impact-v150,
html body .pres-call-v150,
html body .psi-grid-v150 article,
html body .contact-card-v150,
html body .contact-form-v150,
html body .contact-commitment-v150{
    background:#fff;
    border:1px solid #dfeade;
    border-radius:24px;
    padding:22px;
    box-shadow:0 10px 28px rgba(8,55,28,.07);
}

html body .pres-metrics-v150 strong{
    display:block;
    color:#0d6b37;
    font-size:20px;
    line-height:1.15;
}

html body .pres-metrics-v150 span{
    display:block;
    color:#52675a;
    margin-top:5px;
    font-size:13px;
    font-weight:750;
}

html body .pres-section-v150,
html body .pres-process-v150,
html body .pres-impact-v150,
html body .pres-call-v150{
    margin:20px 0;
}

html body .pres-section-v150 h2,
html body .pres-process-v150 h2,
html body .pres-impact-v150 h2,
html body .pres-call-v150 h2,
html body .contact-card-v150 h2,
html body .contact-form-v150 h2,
html body .contact-commitment-v150 h2{
    color:#0d4a24;
    margin:0 0 12px;
    font-size:28px;
    line-height:1.12;
    letter-spacing:-.02em;
}

html body .pres-section-v150 p,
html body .pres-grid-v150 p,
html body .pres-call-v150 p,
html body .contact-card-v150 p,
html body .contact-commitment-v150 p{
    color:#3f5547;
    line-height:1.58;
    font-size:15px;
}

html body .pres-grid-v150{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:20px 0;
}

html body .pres-grid-v150 h3{
    color:#0d4a24;
    font-size:18px;
    line-height:1.18;
    margin:0 0 8px;
}

html body .pres-process-v150 ol{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    list-style:none;
    padding:0;
    margin:16px 0 0;
}

html body .pres-process-v150 li{
    background:#f5faf5;
    border:1px solid #e1ece1;
    border-radius:18px;
    padding:14px;
}

html body .pres-process-v150 strong{
    display:block;
    color:#0d6b37;
    font-size:14px;
    margin-bottom:6px;
}

html body .pres-process-v150 span{
    color:#4e6255;
    font-size:13px;
    line-height:1.35;
}

html body .pres-impact-v150 div{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

html body .pres-impact-v150 article{
    background:#f5faf5;
    border:1px solid #e1ece1;
    border-radius:18px;
    padding:16px;
}

html body .pres-impact-v150 strong{
    display:block;
    color:#0d6b37;
    font-size:16px;
    margin-bottom:6px;
}

html body .pres-impact-v150 span{
    color:#4e6255;
    font-size:13px;
    line-height:1.35;
}

/* Problème / Solution / Impact */
html body .psi-grid-v150{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:20px 0;
}

html body .psi-grid-v150 article > span{
    display:inline-flex;
    width:42px;
    height:42px;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    background:#0d6b37;
    color:#fff;
    font-weight:950;
    margin-bottom:12px;
}

html body .psi-grid-v150 h2{
    color:#0d4a24;
    margin:0 0 12px;
}

html body .psi-grid-v150 ul{
    padding-left:18px;
    color:#3f5547;
    line-height:1.55;
}

html body .problem-v150{border-top:5px solid #b45309!important;}
html body .solution-v150{border-top:5px solid #0d6b37!important;}
html body .impact-v150{border-top:5px solid #d8a039!important;}

/* Contact */
html body .contact-pro-v150{
    max-width:1080px!important;
}

html body .contact-hero-v150{
    margin:24px 0;
    padding:34px;
    border-radius:30px;
    background:linear-gradient(135deg,#102316,#0d6b37);
    color:#fff;
}

html body .contact-hero-v150 span{
    color:#d8a039;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:12px;
}

html body .contact-hero-v150 h1{
    color:#fff;
    font-size:40px;
    line-height:1.05;
    margin:10px 0 12px;
}

html body .contact-hero-v150 p{
    color:rgba(255,255,255,.90);
    max-width:780px;
    font-size:16px;
    line-height:1.5;
}

html body .contact-grid-v150{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:18px;
    margin:20px 0;
}

html body .contact-form-v150 form{
    display:grid;
    gap:12px;
}

html body .contact-form-v150 label{
    display:grid;
    gap:6px;
    font-weight:850;
    color:#0d4a24;
}

html body .contact-form-v150 input,
html body .contact-form-v150 select,
html body .contact-form-v150 textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #dfeade;
    border-radius:16px;
    padding:12px 13px;
    font-size:14px;
    background:#f9fcf9;
}

html body .success-box,
html body .error-box{
    border-radius:16px;
    padding:12px;
    margin:0 0 12px;
    font-weight:850;
}

html body .success-box{background:#edf8ef;color:#0d6b37;border:1px solid #cbe5d0;}
html body .error-box{background:#fff2f2;color:#9f1d1d;border:1px solid #f0caca;}

/* Bouton WhatsApp officiel */
html body .whatsapp-float-v150{
    position:fixed!important;
    right:18px!important;
    bottom:18px!important;
    z-index:99999!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    background:#25D366!important;
    color:#fff!important;
    text-decoration:none!important;
    font-size:13px!important;
    font-weight:950!important;
    box-shadow:0 14px 32px rgba(0,0,0,.22)!important;
}

/* Masquer admin du menu public */
html body header .admin-pill,
html body nav .admin-pill,
html body .lm91-admin,
html body .mobile-admin-link{
    display:none!important;
}

/* Mobile */
@media(max-width:760px){
    html body .pres-hero-v150,
    html body .contact-hero-v150{
        margin:10px 0 14px!important;
        padding:22px!important;
        border-radius:24px!important;
    }

    html body .pres-hero-v150 h1,
    html body .contact-hero-v150 h1{
        font-size:25px!important;
        line-height:1.08!important;
    }

    html body .pres-hero-v150 p,
    html body .contact-hero-v150 p{
        font-size:14px!important;
        line-height:1.45!important;
    }

    html body .pres-metrics-v150,
    html body .pres-grid-v150,
    html body .pres-process-v150 ol,
    html body .pres-impact-v150 div,
    html body .psi-grid-v150,
    html body .contact-grid-v150{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    html body .pres-metrics-v150 article,
    html body .pres-section-v150,
    html body .pres-grid-v150 article,
    html body .pres-process-v150,
    html body .pres-impact-v150,
    html body .pres-call-v150,
    html body .psi-grid-v150 article,
    html body .contact-card-v150,
    html body .contact-form-v150,
    html body .contact-commitment-v150{
        padding:16px!important;
        border-radius:20px!important;
    }

    html body .pres-section-v150 h2,
    html body .pres-process-v150 h2,
    html body .pres-impact-v150 h2,
    html body .pres-call-v150 h2,
    html body .contact-card-v150 h2,
    html body .contact-form-v150 h2,
    html body .contact-commitment-v150 h2{
        font-size:20px!important;
    }

    html body .pres-actions-v150 .btn{
        width:100%!important;
        justify-content:center!important;
    }

    html body .whatsapp-float-v150{
        right:12px!important;
        bottom:12px!important;
        min-height:40px!important;
        padding:0 13px!important;
        font-size:12px!important;
    }
}


/* V15.2 - Réparation profonde : contact sûr */
html body .contact-safe-v152{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin:22px 0;
}
html body .contact-safe-v152 article{
    background:#fff;
    border:1px solid #dfeade;
    border-radius:22px;
    padding:22px;
    box-shadow:0 10px 26px rgba(8,55,28,.07);
}
html body .contact-safe-v152 h2{
    color:#0d4a24;
    margin-top:0;
}
@media(max-width:760px){
    html body .contact-safe-v152{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }
    html body .contact-safe-v152 article{
        padding:16px!important;
        border-radius:18px!important;
    }
}


/* V15.3 - Réparation coeur stable */
html body .contact-safe-v153{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0;}
html body .contact-safe-v153 article{background:#fff;border:1px solid #dfeade;border-radius:22px;padding:22px;box-shadow:0 10px 26px rgba(8,55,28,.07);}
html body .contact-safe-v153 h2{color:#0d4a24;margin-top:0;}
@media(max-width:760px){
    html body .contact-safe-v153{grid-template-columns:1fr!important;gap:12px!important;}
    html body .contact-safe-v153 article{padding:16px!important;border-radius:18px!important;}
}


/* =========================================================
   V15.4 - Pack présidentiel éditorial
   ========================================================= */

html body .presidential-editorial-v154{
    max-width:1140px!important;
}

html body .pe-hero-v154{
    margin:24px 0;
    padding:42px;
    border-radius:32px;
    background:radial-gradient(circle at 90% 5%,rgba(216,160,57,.22),transparent 26%),linear-gradient(135deg,#102316,#0d6b37);
    color:#fff;
    box-shadow:0 20px 52px rgba(13,107,55,.22);
}

html body .pe-hero-v154 span,
html body .pe-hero-v154 > span{
    display:inline-block;
    color:#d8a039;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:12px;
    font-weight:950;
    margin-bottom:10px;
}

html body .pe-hero-v154 h1{
    color:#fff;
    max-width:980px;
    font-size:44px;
    line-height:1.02;
    letter-spacing:-.04em;
    margin:0 0 16px;
}

html body .pe-hero-v154 p{
    color:rgba(255,255,255,.91);
    max-width:920px;
    font-size:17px;
    line-height:1.55;
}

html body .pe-actions-v154{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

html body .pe-section-v154,
html body .pe-grid-v154 article,
html body .pe-call-v154,
html body .pe-process-v154,
html body .pe-alert-v154,
html body .pe-impact-v154 article,
html body .pe-download-v154 article,
html body .psi-v154 article,
html body .pe-metrics-v154 article{
    background:#fff;
    border:1px solid #dfeade;
    border-radius:24px;
    padding:22px;
    box-shadow:0 10px 28px rgba(8,55,28,.07);
}

html body .pe-section-v154,
html body .pe-call-v154,
html body .pe-process-v154,
html body .pe-alert-v154{
    margin:20px 0;
}

html body .pe-section-v154.gold-v154,
html body .pe-alert-v154{
    border-left:5px solid #d8a039;
}

html body .pe-section-v154 h2,
html body .pe-call-v154 h2,
html body .pe-process-v154 h2,
html body .pe-alert-v154 h2{
    color:#0d4a24;
    margin:0 0 12px;
    font-size:28px;
    line-height:1.12;
    letter-spacing:-.02em;
}

html body .pe-section-v154 p,
html body .pe-call-v154 p,
html body .pe-alert-v154 p,
html body .pe-grid-v154 p,
html body .pe-impact-v154 p,
html body .pe-download-v154 p{
    color:#3f5547;
    line-height:1.58;
    font-size:15px;
}

html body .pe-grid-v154,
html body .pe-impact-v154,
html body .pe-download-v154,
html body .psi-v154{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:20px 0;
}

html body .pe-grid-v154 h3,
html body .pe-impact-v154 h3,
html body .pe-download-v154 h2,
html body .psi-v154 h2{
    color:#0d4a24;
    margin:0 0 9px;
    font-size:20px;
    line-height:1.15;
}

html body .pe-impact-v154 strong,
html body .psi-v154 article > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:50%;
    background:#0d6b37;
    color:#fff;
    font-weight:950;
    margin-bottom:12px;
}

html body .psi-v154 .problem{border-top:5px solid #b45309;}
html body .psi-v154 .solution{border-top:5px solid #0d6b37;}
html body .psi-v154 .impact{border-top:5px solid #d8a039;}

html body .psi-v154 ul,
html body .pe-process-v154 ol{
    color:#3f5547;
    line-height:1.58;
    padding-left:20px;
}

html body .pe-metrics-v154{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin:18px 0;
}

html body .pe-metrics-v154 strong{
    display:block;
    color:#0d6b37;
    font-size:20px;
    line-height:1.15;
}

html body .pe-metrics-v154 span{
    display:block;
    color:#53665a;
    margin-top:5px;
    font-size:13px;
    font-weight:750;
}

@media(max-width:760px){
    html body .pe-hero-v154{
        margin:10px 0 14px!important;
        padding:22px!important;
        border-radius:24px!important;
    }

    html body .pe-hero-v154 h1{
        font-size:25px!important;
        line-height:1.08!important;
    }

    html body .pe-hero-v154 p{
        font-size:14px!important;
        line-height:1.45!important;
    }

    html body .pe-grid-v154,
    html body .pe-impact-v154,
    html body .pe-download-v154,
    html body .psi-v154,
    html body .pe-metrics-v154{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    html body .pe-section-v154,
    html body .pe-grid-v154 article,
    html body .pe-call-v154,
    html body .pe-process-v154,
    html body .pe-alert-v154,
    html body .pe-impact-v154 article,
    html body .pe-download-v154 article,
    html body .psi-v154 article,
    html body .pe-metrics-v154 article{
        padding:16px!important;
        border-radius:20px!important;
    }

    html body .pe-section-v154 h2,
    html body .pe-call-v154 h2,
    html body .pe-process-v154 h2,
    html body .pe-alert-v154 h2{
        font-size:20px!important;
    }

    html body .pe-actions-v154 .btn{
        width:100%!important;
        justify-content:center!important;
    }
}


/* =========================================================
   V15.5 - Correction mobile Services + Opportunité
   ========================================================= */

/* Desktop : petite amélioration douce */
html body .home-services{
    margin:22px 0!important;
}

html body .home-services .service-row{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    align-items:stretch!important;
}

html body .home-services .service-row a{
    text-align:center!important;
    text-decoration:none!important;
}

/* Mobile : section services plus professionnelle */
@media(max-width:760px){

    html body .home-services{
        margin:14px 0 16px!important;
        padding:14px!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
    }

    html body .home-services .section-line{
        margin:0 0 12px!important;
        padding:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
    }

    html body .home-services .section-line h2{
        font-size:18px!important;
        line-height:1.1!important;
        margin:0!important;
        color:#0d4a24!important;
        font-weight:900!important;
        letter-spacing:-.02em!important;
    }

    html body .home-services .section-line a{
        font-size:11px!important;
        font-weight:900!important;
        color:#0d6b37!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }

    html body .home-services .service-row{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;
    }

    html body .home-services .service-row a{
        width:auto!important;
        min-width:0!important;
        min-height:42px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
        padding:9px 8px!important;
        border-radius:15px!important;
        background:#f6fbf6!important;
        border:1px solid #dfeade!important;
        color:#0d4a24!important;
        box-shadow:none!important;
        font-size:11.5px!important;
        line-height:1.15!important;
        font-weight:850!important;
        letter-spacing:-.01em!important;
    }

    html body .home-services .service-row a:nth-child(5){
        grid-column:1 / -1!important;
        background:#0d6b37!important;
        color:#ffffff!important;
        border-color:#0d6b37!important;
    }

    /* Bloc "Vous avez un bien..." : trop énorme auparavant */
    html body .final-cta{
        margin:14px 0 16px!important;
        padding:16px!important;
        border-radius:22px!important;
        background:linear-gradient(135deg,#ffffff,#f4faf4)!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
    }

    html body .final-cta h2{
        margin:0 0 8px!important;
        font-size:22px!important;
        line-height:1.08!important;
        color:#0d4a24!important;
        font-weight:900!important;
        letter-spacing:-.035em!important;
    }

    html body .final-cta p{
        margin:0 0 12px!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#3f5547!important;
        font-weight:500!important;
    }

    html body .final-cta div{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        margin:0!important;
    }

    html body .final-cta .btn,
    html body .final-cta a.btn{
        width:100%!important;
        min-height:40px!important;
        padding:9px 12px!important;
        border-radius:14px!important;
        justify-content:center!important;
        font-size:12px!important;
        font-weight:900!important;
        box-shadow:none!important;
    }

    /* Le bloc confiance après CTA doit être plus léger */
    html body .master-trust-home{
        margin-top:14px!important;
        padding:14px!important;
        border-radius:22px!important;
        background:#fff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.06)!important;
    }

    html body .master-trust-home .section-head{
        display:flex!important;
        gap:10px!important;
        align-items:flex-start!important;
        justify-content:space-between!important;
        margin-bottom:10px!important;
    }

    html body .master-trust-home .section-head h2{
        font-size:18px!important;
        line-height:1.12!important;
        margin:0!important;
        color:#0d4a24!important;
    }

    html body .master-trust-home .section-head p{
        display:none!important;
    }

    html body .master-trust-home .section-head .btn{
        min-height:34px!important;
        padding:8px 10px!important;
        font-size:10.5px!important;
        border-radius:999px!important;
        white-space:nowrap!important;
    }

    html body .trust-home-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    html body .trust-home-grid article{
        padding:10px!important;
        border-radius:15px!important;
        background:#f6fbf6!important;
        border:1px solid #dfeade!important;
    }

    html body .trust-home-grid article strong{
        font-size:15px!important;
        line-height:1!important;
    }

    html body .trust-home-grid article span{
        font-size:10.5px!important;
        line-height:1.2!important;
    }
}


/* =========================================================
   V15.7 - Correction définitive boutons CTA mobile
   ========================================================= */

@media(max-width:760px){

    /*
      Le problème venait d'une ancienne règle globale .btn qui continuait
      à donner de gros paddings/hauteurs aux boutons du bloc final-cta.
      Ici on cible seulement ce bloc.
    */

    html body main.wrap section.final-cta{
        width:auto!important;
        max-width:100%!important;
        margin:14px 0 16px!important;
        padding:16px!important;
        box-sizing:border-box!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 22px rgba(8,55,28,.07)!important;
        overflow:hidden!important;
    }

    html body main.wrap section.final-cta h2{
        margin:0 0 8px!important;
        padding:0!important;
        font-size:22px!important;
        line-height:1.08!important;
        color:#0d4a24!important;
        font-weight:900!important;
        letter-spacing:-.035em!important;
    }

    html body main.wrap section.final-cta p{
        margin:0 0 12px!important;
        padding:0!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#304739!important;
        font-weight:500!important;
    }

    html body main.wrap section.final-cta > div{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        box-sizing:border-box!important;
        overflow:hidden!important;
    }

    html body main.wrap section.final-cta > div > a,
    html body main.wrap section.final-cta > div > a.btn,
    html body main.wrap section.final-cta > div > a.ghost-green{
        all:unset;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        height:42px!important;
        min-height:42px!important;
        max-height:42px!important;
        padding:0 12px!important;
        margin:0!important;
        box-sizing:border-box!important;
        border-radius:13px!important;
        cursor:pointer!important;
        text-align:center!important;
        text-decoration:none!important;
        font-size:13px!important;
        line-height:1!important;
        font-weight:900!important;
        letter-spacing:-.01em!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        transform:none!important;
        filter:none!important;
        opacity:1!important;
        box-shadow:none!important;
    }

    html body main.wrap section.final-cta > div > a:nth-child(1){
        background:#0d6b37!important;
        color:#ffffff!important;
        border:1px solid #0d6b37!important;
    }

    html body main.wrap section.final-cta > div > a:nth-child(2),
    html body main.wrap section.final-cta > div > a:nth-child(3){
        background:#f7fbf7!important;
        color:#0d4a24!important;
        border:1px solid #cfe2d2!important;
    }

    /*
      Bloc confiance : le bouton "En savoir plus" devient léger
      pour ne pas créer un gros bouton sombre.
    */
    html body main.wrap section.master-trust-home{
        margin:14px 0 18px!important;
        padding:15px!important;
        box-sizing:border-box!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 22px rgba(8,55,28,.07)!important;
        overflow:hidden!important;
    }

    html body main.wrap section.master-trust-home .section-head{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:9px!important;
        align-items:start!important;
        margin:0 0 12px!important;
        padding:0!important;
    }

    html body main.wrap section.master-trust-home .section-head h2{
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
        font-size:20px!important;
        line-height:1.1!important;
        color:#0d4a24!important;
        font-weight:900!important;
        letter-spacing:-.025em!important;
    }

    html body main.wrap section.master-trust-home .section-head p{
        display:none!important;
    }

    html body main.wrap section.master-trust-home .section-head a,
    html body main.wrap section.master-trust-home .section-head .btn,
    html body main.wrap section.master-trust-home .section-head .ghost-green{
        all:unset;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:max-content!important;
        max-width:100%!important;
        height:34px!important;
        min-height:34px!important;
        padding:0 13px!important;
        box-sizing:border-box!important;
        border-radius:999px!important;
        background:#f7fbf7!important;
        color:#0d4a24!important;
        border:1px solid #cfe2d2!important;
        font-size:11px!important;
        font-weight:900!important;
        line-height:1!important;
        text-decoration:none!important;
        box-shadow:none!important;
        white-space:nowrap!important;
        cursor:pointer!important;
    }

    html body main.wrap section.master-trust-home .trust-home-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;
        box-sizing:border-box!important;
    }

    html body main.wrap section.master-trust-home .trust-home-grid article{
        min-height:76px!important;
        padding:10px 7px!important;
        box-sizing:border-box!important;
        border-radius:15px!important;
        background:#f7fbf7!important;
        border:1px solid #dfeade!important;
        box-shadow:none!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
    }

    html body main.wrap section.master-trust-home .trust-home-grid article strong{
        display:block!important;
        margin:0 0 6px!important;
        color:#b88718!important;
        font-size:16px!important;
        line-height:1!important;
        font-weight:950!important;
    }

    html body main.wrap section.master-trust-home .trust-home-grid article span{
        display:block!important;
        margin:0!important;
        color:#0d4a24!important;
        font-size:10.5px!important;
        line-height:1.18!important;
        font-weight:850!important;
    }
}

@media(max-width:380px){
    html body main.wrap section.final-cta h2{
        font-size:20px!important;
    }

    html body main.wrap section.final-cta > div > a{
        height:40px!important;
        min-height:40px!important;
        max-height:40px!important;
        font-size:12.5px!important;
    }

    html body main.wrap section.master-trust-home .section-head h2{
        font-size:18px!important;
    }

    html body main.wrap section.master-trust-home .trust-home-grid article span{
        font-size:10px!important;
    }
}


/* =========================================================
   V15.8 - Touche de maître : Présentation présidentielle
   ========================================================= */

html body .presidential-entry-home-v158{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin:10px 0 14px;
}

html body .presidential-entry-home-v158 a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 15px;
    border-radius:999px;
    background:#102316;
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(16,35,22,.16);
}

html body .presidential-entry-home-v158 a:nth-child(2){
    background:#0d6b37;
}

html body .presidential-gateway-v158{
    max-width:1180px!important;
}

html body .pg-hero-v158{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:22px;
    align-items:stretch;
    margin:24px 0;
}

html body .pg-hero-content-v158,
html body .pg-executive-card-v158{
    border-radius:34px;
    padding:38px;
    box-shadow:0 20px 54px rgba(8,55,28,.15);
}

html body .pg-hero-content-v158{
    background:radial-gradient(circle at 92% 0%,rgba(216,160,57,.25),transparent 26%),linear-gradient(135deg,#102316,#0d6b37);
    color:#fff;
}

html body .pg-hero-content-v158 span,
html body .pg-statement-v158 span,
html body .pg-path-head-v158 span,
html body .pg-master-grid-v158 article span,
html body .pg-proof-v158 span,
html body .pg-demo-v158 span{
    display:inline-block;
    color:#d8a039;
    text-transform:uppercase;
    letter-spacing:.13em;
    font-size:12px;
    font-weight:950;
    margin-bottom:10px;
}

html body .pg-hero-content-v158 h1{
    color:#fff;
    font-size:44px;
    line-height:1.02;
    letter-spacing:-.045em;
    margin:0 0 16px;
}

html body .pg-hero-content-v158 p{
    color:rgba(255,255,255,.91);
    font-size:17px;
    line-height:1.56;
    max-width:880px;
}

html body .pg-hero-actions-v158{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}

html body .pg-executive-card-v158{
    background:#fff;
    border:1px solid #dfeade;
}

html body .pg-executive-card-v158 h2{
    color:#0d4a24;
    font-size:26px;
    line-height:1.1;
    margin:0 0 18px;
}

html body .pg-executive-card-v158 ul{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
}

html body .pg-executive-card-v158 li{
    padding:14px;
    border-radius:18px;
    background:#f7fbf7;
    border:1px solid #dfeade;
}

html body .pg-executive-card-v158 strong{
    display:block;
    color:#0d6b37;
    font-size:15px;
    margin-bottom:4px;
}

html body .pg-executive-card-v158 span{
    display:block;
    color:#435849;
    font-size:13px;
    line-height:1.25;
    font-weight:700;
}

html body .pg-statement-v158,
html body .pg-path-v158,
html body .pg-proof-v158,
html body .pg-demo-v158,
html body .pg-final-v158{
    background:#fff;
    border:1px solid #dfeade;
    border-radius:28px;
    padding:28px;
    margin:20px 0;
    box-shadow:0 12px 32px rgba(8,55,28,.075);
}

html body .pg-statement-v158{
    border-left:6px solid #d8a039;
}

html body .pg-statement-v158 h2,
html body .pg-path-head-v158 h2,
html body .pg-proof-v158 h2,
html body .pg-demo-v158 h2,
html body .pg-final-v158 h2,
html body .pg-master-grid-v158 h2{
    color:#0d4a24;
    font-size:30px;
    line-height:1.1;
    letter-spacing:-.025em;
    margin:0 0 12px;
}

html body .pg-statement-v158 p,
html body .pg-path-head-v158 p,
html body .pg-final-v158 p,
html body .pg-master-grid-v158 p,
html body .pg-demo-v158 span,
html body .pg-path-grid-v158 p{
    color:#3f5547;
    line-height:1.58;
    font-size:15px;
}

html body .pg-path-grid-v158{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}

html body .pg-path-grid-v158 article,
html body .pg-master-grid-v158 article,
html body .pg-proof-items-v158 article,
html body .pg-demo-v158 li{
    background:#f7fbf7;
    border:1px solid #dfeade;
    border-radius:22px;
    padding:18px;
}

html body .pg-path-grid-v158 b{
    display:inline-flex;
    width:42px;
    height:42px;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    background:#0d6b37;
    color:#fff;
    font-size:13px;
    margin-bottom:12px;
}

html body .pg-path-grid-v158 h3,
html body .pg-master-grid-v158 h3{
    margin:0 0 8px;
    color:#0d4a24;
    font-size:19px;
    line-height:1.15;
}

html body .pg-path-grid-v158 a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    background:#0d6b37;
    color:#fff;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
}

html body .pg-master-grid-v158{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    gap:16px;
    margin:20px 0;
}

html body .pg-master-grid-v158 .pg-large-v158{
    grid-row:span 2;
    background:#102316;
    color:#fff;
}

html body .pg-master-grid-v158 .pg-large-v158 h2,
html body .pg-master-grid-v158 .pg-large-v158 p{
    color:#fff;
}

html body .pg-proof-v158{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:18px;
    align-items:center;
}

html body .pg-proof-items-v158{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

html body .pg-proof-items-v158 article{
    text-align:center;
}

html body .pg-proof-items-v158 strong{
    display:block;
    color:#b88718;
    font-size:20px;
    line-height:1;
    margin-bottom:8px;
}

html body .pg-proof-items-v158 small{
    color:#0d4a24;
    font-weight:850;
    line-height:1.2;
}

html body .pg-demo-v158 ol{
    list-style:none;
    padding:0;
    margin:18px 0 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

html body .pg-demo-v158 li strong{
    display:block;
    color:#0d6b37;
    margin-bottom:5px;
}

html body .pg-demo-v158 li span{
    color:#3f5547;
    font-size:13px;
    line-height:1.35;
}

html body .pg-final-v158{
    text-align:center;
    background:linear-gradient(135deg,#fff,#f4faf4);
}

html body .pg-final-v158 p{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}

html body .pg-final-v158 div{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin-top:18px;
}

@media(max-width:760px){

    html body .presidential-entry-home-v158{
        justify-content:center!important;
        flex-wrap:wrap!important;
        gap:8px!important;
        margin:7px 0 10px!important;
    }

    html body .presidential-entry-home-v158 a{
        min-height:34px!important;
        padding:7px 11px!important;
        font-size:11px!important;
        box-shadow:none!important;
    }

    html body .pg-hero-v158,
    html body .pg-master-grid-v158,
    html body .pg-proof-v158{
        grid-template-columns:1fr!important;
        gap:12px!important;
        margin:10px 0 14px!important;
    }

    html body .pg-hero-content-v158,
    html body .pg-executive-card-v158,
    html body .pg-statement-v158,
    html body .pg-path-v158,
    html body .pg-proof-v158,
    html body .pg-demo-v158,
    html body .pg-final-v158{
        padding:18px!important;
        border-radius:24px!important;
    }

    html body .pg-hero-content-v158 h1{
        font-size:26px!important;
        line-height:1.07!important;
    }

    html body .pg-hero-content-v158 p{
        font-size:14px!important;
        line-height:1.45!important;
    }

    html body .pg-hero-actions-v158 .btn{
        width:100%!important;
        justify-content:center!important;
    }

    html body .pg-statement-v158 h2,
    html body .pg-path-head-v158 h2,
    html body .pg-proof-v158 h2,
    html body .pg-demo-v158 h2,
    html body .pg-final-v158 h2,
    html body .pg-master-grid-v158 h2{
        font-size:21px!important;
    }

    html body .pg-path-grid-v158,
    html body .pg-proof-items-v158,
    html body .pg-demo-v158 ol{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    html body .pg-path-grid-v158 article,
    html body .pg-master-grid-v158 article,
    html body .pg-proof-items-v158 article,
    html body .pg-demo-v158 li{
        padding:15px!important;
        border-radius:18px!important;
    }

    html body .pg-master-grid-v158 .pg-large-v158{
        grid-row:auto!important;
    }

    html body .pg-final-v158 div{
        display:grid!important;
        grid-template-columns:1fr!important;
    }

    html body .pg-final-v158 .btn{
        width:100%!important;
        justify-content:center!important;
    }
}


/* =========================================================
   V15.9 - Liens institutionnels sobres sur l'accueil
   ========================================================= */

html body .presidential-entry-home-v158{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:14px!important;
    margin:8px 0 10px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
}

html body .presidential-entry-home-v158 a,
html body .presidential-entry-home-v158 a:nth-child(2){
    all:unset;
    display:inline!important;
    cursor:pointer!important;
    color:#0d6b37!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    min-height:0!important;
    height:auto!important;
    border-radius:0!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:850!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

html body .presidential-entry-home-v158 a:hover{
    text-decoration:underline!important;
}

html body .presidential-entry-home-v158 a + a::before{
    content:"•";
    color:#9aac9c;
    margin-right:14px;
    font-weight:700;
}

/* Mobile : les liens doivent rester discrets, pas comme des boutons */
@media(max-width:760px){
    html body .presidential-entry-home-v158{
        display:flex!important;
        justify-content:center!important;
        align-items:center!important;
        gap:10px!important;
        margin:6px 0 8px!important;
        padding:0!important;
        flex-wrap:wrap!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    html body .presidential-entry-home-v158 a,
    html body .presidential-entry-home-v158 a:nth-child(2){
        all:unset;
        display:inline!important;
        cursor:pointer!important;
        color:#0d6b37!important;
        background:transparent!important;
        border:0!important;
        box-shadow:none!important;
        padding:0!important;
        margin:0!important;
        min-height:0!important;
        height:auto!important;
        border-radius:0!important;
        font-size:11.5px!important;
        line-height:1.25!important;
        font-weight:850!important;
        text-decoration:none!important;
        white-space:nowrap!important;
    }

    html body .presidential-entry-home-v158 a:first-child{
        color:#102316!important;
    }

    html body .presidential-entry-home-v158 a + a::before{
        content:"•";
        color:#9aac9c;
        margin-right:10px;
        font-weight:700;
    }
}


/* =========================================================
   V16.0 - Finition accueil + cartes biens + sobriété mobile
   ========================================================= */

/* Liens institutionnels : restent simples, discrets, sans effet bouton */
html body .presidential-entry-home-v158{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:12px!important;
    margin:7px 0 9px!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
}

html body .presidential-entry-home-v158 a,
html body .presidential-entry-home-v158 a:nth-child(2){
    all:unset;
    display:inline!important;
    cursor:pointer!important;
    color:#0d6b37!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:850!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

html body .presidential-entry-home-v158 a:first-child{
    color:#102316!important;
}

html body .presidential-entry-home-v158 a + a::before{
    content:"•";
    color:#a4b6a6;
    margin-right:12px;
}

/* Desktop : cartes légèrement plus haut de gamme */
@media(min-width:761px){
    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        border-radius:20px!important;
        overflow:hidden!important;
        transition:transform .18s ease, box-shadow .18s ease!important;
    }

    html body article.card:hover,
    html body .airbnb-card-v100:hover,
    html body .card-v121:hover{
        transform:translateY(-3px)!important;
        box-shadow:0 16px 36px rgba(8,55,28,.13)!important;
    }

    html body article.card .card-photo-wrap img,
    html body .airbnb-card-v100 .card-photo-wrap img,
    html body .card-v121 .card-photo-wrap img{
        transition:transform .35s ease!important;
    }

    html body article.card:hover .card-photo-wrap img,
    html body .airbnb-card-v100:hover .card-photo-wrap img,
    html body .card-v121:hover .card-photo-wrap img{
        transform:scale(1.035)!important;
    }
}

/* Mobile : finition générale */
@media(max-width:760px){

    html body{
        background:#f6fbf6!important;
    }

    html body .wrap,
    html body main.wrap{
        width:calc(100% - 20px)!important;
        max-width:100%!important;
        box-sizing:border-box!important;
    }

    html body main.wrap{
        padding-top:8px!important;
    }

    /*
      Accueil : enlever les blocs trop narratifs avant les biens.
      On garde un accueil plus direct : recherche -> biens -> services.
    */
    html body .premium-home-hero,
    html body .hero-realestate-v63,
    html body .home-stats,
    html body .home-visual-promise-v121,
    html body .home-paths,
    html body .home-paths-v121,
    html body .trust-strip,
    html body .city-explorer-airbnb,
    html body .home-city-selections{
        display:none!important;
    }

    /* Recherche : compacte et propre */
    html body .air-search,
    html body .improved-search,
    html body .home-v120 .improved-search,
    html body .home-v121 .improved-search{
        margin:8px 0 12px!important;
        padding:10px!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.075)!important;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        overflow:hidden!important;
    }

    html body .air-search label,
    html body .improved-search label{
        padding:8px 11px!important;
        border-radius:15px!important;
        background:#f7fbf7!important;
        border:1px solid #dfeade!important;
        font-size:10.5px!important;
        line-height:1.2!important;
        font-weight:900!important;
        color:#0d4a24!important;
    }

    html body .air-search input,
    html body .air-search select,
    html body .improved-search input,
    html body .improved-search select{
        min-height:30px!important;
        font-size:13px!important;
        color:#24382b!important;
        border:0!important;
        background:transparent!important;
        padding:0!important;
        margin-top:4px!important;
        width:100%!important;
    }

    html body .air-search button,
    html body .improved-search button{
        min-height:42px!important;
        height:42px!important;
        border-radius:15px!important;
        font-size:13px!important;
        font-weight:950!important;
        width:100%!important;
        box-shadow:none!important;
    }

    /* Titres de sections : sobre et aligné */
    html body .section-line{
        display:flex!important;
        align-items:flex-end!important;
        justify-content:space-between!important;
        gap:10px!important;
        margin:10px 0 11px!important;
        padding:0!important;
    }

    html body .section-line h2{
        margin:0!important;
        padding:0!important;
        color:#0d4a24!important;
        font-size:21px!important;
        line-height:1.08!important;
        font-weight:950!important;
        letter-spacing:-.035em!important;
    }

    html body .section-line a{
        color:#0d6b37!important;
        font-size:11px!important;
        line-height:1.1!important;
        font-weight:900!important;
        text-decoration:none!important;
        white-space:nowrap!important;
        margin-bottom:3px!important;
    }

    html body .section-subtitle,
    html body .section-line + p{
        display:none!important;
    }

    /*
      Biens : 2 colonnes, image dominante, infos courtes.
    */
    html body .featured-strip{
        margin:10px 0 14px!important;
        padding:0!important;
    }

    html body .grid,
    html body .city-row,
    html body .featured-strip .city-row{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
        overflow:visible!important;
        align-items:start!important;
        width:100%!important;
    }

    html body .city-row > *,
    html body .grid > *{
        min-width:0!important;
        width:100%!important;
        max-width:100%!important;
    }

    html body .featured-strip .city-row article:nth-child(n+5),
    html body .featured-strip .grid article:nth-child(n+5){
        display:none!important;
    }

    html body article.card,
    html body .airbnb-card-v100,
    html body .card-v121{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        border-radius:18px!important;
        overflow:hidden!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 7px 20px rgba(8,55,28,.075)!important;
        height:auto!important;
        min-height:0!important;
        display:block!important;
    }

    html body article.card .card-photo-wrap,
    html body .airbnb-card-v100 .card-photo-wrap,
    html body .card-v121 .card-photo-wrap{
        width:100%!important;
        aspect-ratio:1 / 1!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        border-radius:18px 18px 0 0!important;
        overflow:hidden!important;
        background:#eef7ef!important;
    }

    html body article.card .card-photo-wrap img,
    html body .airbnb-card-v100 .card-photo-wrap img,
    html body .card-v121 .card-photo-wrap img{
        width:100%!important;
        height:100%!important;
        display:block!important;
        object-fit:cover!important;
        object-position:center!important;
        padding:0!important;
    }

    html body article.card .card-body-v100,
    html body .airbnb-card-v100 .card-body-v100,
    html body .card-v121 .card-body-v100{
        padding:8px 9px 10px!important;
        display:flex!important;
        flex-direction:column!important;
        gap:3px!important;
    }

    html body article.card .pill,
    html body .airbnb-card-v100 .pill,
    html body .card-v121 .pill{
        display:none!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        margin:0!important;
        color:#112818!important;
        font-size:12.8px!important;
        line-height:1.13!important;
        font-weight:900!important;
        letter-spacing:-.01em!important;
        min-height:29px!important;
        max-height:30px!important;
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
    }

    html body article.card .card-location,
    html body .airbnb-card-v100 .card-location,
    html body .card-v121 .card-location{
        margin:0!important;
        font-size:10px!important;
        line-height:1.1!important;
        color:#66776b!important;
        font-weight:750!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    html body article.card .price,
    html body .airbnb-card-v100 .price,
    html body .card-v121 .price{
        margin:1px 0 0!important;
        color:#0d6b37!important;
        font-size:11.5px!important;
        line-height:1.12!important;
        font-weight:950!important;
    }

    html body article.card .card-mini-stats,
    html body .airbnb-card-v100 .card-mini-stats,
    html body .card-v121 .card-mini-stats,
    html body article.card .terms,
    html body .airbnb-card-v100 .terms,
    html body .card-v121 .terms,
    html body article.card .card-actions-v100,
    html body article.card .card-actions-v121,
    html body .airbnb-card-v100 .card-actions-v100,
    html body .airbnb-card-v100 .card-actions-v121,
    html body .card-v121 .card-actions-v100,
    html body .card-v121 .card-actions-v121{
        display:none!important;
    }

    /*
      Services : bloc premium compact.
    */
    html body .home-services{
        margin:14px 0 16px!important;
        padding:14px!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
        overflow:hidden!important;
    }

    html body .home-services .service-row{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
        margin:0!important;
        padding:0!important;
        width:100%!important;
    }

    html body .home-services .service-row a{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        min-height:41px!important;
        padding:8px 8px!important;
        border-radius:14px!important;
        background:#f7fbf7!important;
        border:1px solid #dfeade!important;
        color:#0d4a24!important;
        text-align:center!important;
        text-decoration:none!important;
        font-size:11.2px!important;
        line-height:1.15!important;
        font-weight:900!important;
        box-shadow:none!important;
    }

    html body .home-services .service-row a:nth-child(5){
        grid-column:1 / -1!important;
        background:#0d6b37!important;
        color:#ffffff!important;
        border-color:#0d6b37!important;
    }

    /*
      CTA final : boutons réellement compacts.
    */
    html body .final-cta{
        margin:14px 0 16px!important;
        padding:16px!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
        overflow:hidden!important;
    }

    html body .final-cta h2{
        font-size:22px!important;
        line-height:1.08!important;
        margin:0 0 8px!important;
        color:#0d4a24!important;
        font-weight:950!important;
        letter-spacing:-.035em!important;
    }

    html body .final-cta p{
        margin:0 0 12px!important;
        font-size:13px!important;
        line-height:1.35!important;
        color:#304739!important;
    }

    html body .final-cta > div{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        width:100%!important;
        margin:0!important;
        padding:0!important;
    }

    html body .final-cta > div > a,
    html body .final-cta > div > a.btn,
    html body .final-cta > div > a.ghost-green{
        all:unset;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        height:42px!important;
        min-height:42px!important;
        max-height:42px!important;
        width:100%!important;
        box-sizing:border-box!important;
        padding:0 12px!important;
        border-radius:13px!important;
        font-size:13px!important;
        line-height:1!important;
        font-weight:900!important;
        text-align:center!important;
        cursor:pointer!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    html body .final-cta > div > a:nth-child(1){
        background:#0d6b37!important;
        color:#fff!important;
        border:1px solid #0d6b37!important;
    }

    html body .final-cta > div > a:nth-child(2),
    html body .final-cta > div > a:nth-child(3){
        background:#f7fbf7!important;
        color:#0d4a24!important;
        border:1px solid #cfe2d2!important;
    }

    /*
      Confiance : plus sobre et plus institutionnel.
    */
    html body .master-trust-home{
        margin:14px 0 18px!important;
        padding:15px!important;
        border-radius:22px!important;
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 8px 24px rgba(8,55,28,.07)!important;
        overflow:hidden!important;
    }

    html body .master-trust-home .section-head{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:9px!important;
        margin:0 0 12px!important;
        padding:0!important;
    }

    html body .master-trust-home .section-head h2{
        margin:0!important;
        color:#0d4a24!important;
        font-size:20px!important;
        line-height:1.1!important;
        font-weight:950!important;
        letter-spacing:-.025em!important;
    }

    html body .master-trust-home .section-head p{
        display:none!important;
    }

    html body .master-trust-home .section-head a,
    html body .master-trust-home .section-head .btn{
        all:unset;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:max-content!important;
        height:34px!important;
        padding:0 13px!important;
        border-radius:999px!important;
        background:#f7fbf7!important;
        color:#0d4a24!important;
        border:1px solid #cfe2d2!important;
        font-size:11px!important;
        font-weight:900!important;
        line-height:1!important;
        cursor:pointer!important;
        text-decoration:none!important;
    }

    html body .trust-home-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:9px!important;
        margin:0!important;
        padding:0!important;
    }

    html body .trust-home-grid article{
        min-height:76px!important;
        padding:10px 7px!important;
        border-radius:15px!important;
        background:#f7fbf7!important;
        border:1px solid #dfeade!important;
        box-shadow:none!important;
        display:flex!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        text-align:center!important;
    }

    html body .trust-home-grid article strong{
        color:#b88718!important;
        font-size:16px!important;
        line-height:1!important;
        font-weight:950!important;
        margin:0 0 6px!important;
    }

    html body .trust-home-grid article span{
        color:#0d4a24!important;
        font-size:10.5px!important;
        line-height:1.18!important;
        font-weight:850!important;
    }

    /* Footer moins lourd visuellement */
    html body footer,
    html body .site-footer{
        margin-top:18px!important;
        border-top:1px solid #dfeade!important;
        background:#fff!important;
    }
}

@media(max-width:380px){
    html body .section-line h2{
        font-size:19px!important;
    }

    html body article.card h3,
    html body .airbnb-card-v100 h3,
    html body .card-v121 h3{
        font-size:12px!important;
    }

    html body .final-cta h2{
        font-size:20px!important;
    }

    html body .home-services .service-row a{
        font-size:10.8px!important;
    }
}


/* =========================================================
   V16.1 - Footer premium option 3
   Fond presque noir, accents dorés et verts raffinés
   ========================================================= */

/* Base footer sombre premium */
html body footer,
html body .site-footer,
html body .footer,
html body .footer-v100,
html body .footer-v121{
    position:relative!important;
    overflow:hidden!important;
    margin-top:26px!important;
    padding:34px 0 18px!important;
    background:
        radial-gradient(circle at 15% 15%, rgba(13,107,55,.38), transparent 32%),
        radial-gradient(circle at 90% 5%, rgba(216,160,57,.22), transparent 30%),
        linear-gradient(135deg,#020a06 0%, #06140d 45%, #031009 100%)!important;
    color:#ffffff!important;
    border-top:1px solid rgba(216,160,57,.48)!important;
    box-shadow:0 -18px 44px rgba(2,10,6,.20)!important;
}

/* Lignes décoratives dorées/vertes */
html body footer::before,
html body .site-footer::before,
html body .footer::before,
html body .footer-v100::before,
html body .footer-v121::before{
    content:""!important;
    position:absolute!important;
    left:-8%!important;
    bottom:18%!important;
    width:46%!important;
    height:1px!important;
    background:linear-gradient(90deg, transparent, rgba(216,160,57,.95), rgba(13,107,55,.7), transparent)!important;
    transform:rotate(13deg)!important;
    opacity:.75!important;
    pointer-events:none!important;
}

html body footer::after,
html body .site-footer::after,
html body .footer::after,
html body .footer-v100::after,
html body .footer-v121::after{
    content:""!important;
    position:absolute!important;
    right:-12%!important;
    top:16%!important;
    width:54%!important;
    height:1px!important;
    background:linear-gradient(90deg, transparent, rgba(13,107,55,.85), rgba(216,160,57,.85), transparent)!important;
    transform:rotate(-17deg)!important;
    opacity:.65!important;
    pointer-events:none!important;
}

/* Conteneur footer */
html body footer .wrap,
html body .site-footer .wrap,
html body footer .footer-grid,
html body .site-footer .footer-grid,
html body footer .footer-inner,
html body .site-footer .footer-inner{
    position:relative!important;
    z-index:2!important;
}

/* Colonnes */
html body footer .footer-grid,
html body .site-footer .footer-grid,
html body footer .footer-columns,
html body .site-footer .footer-columns{
    display:grid!important;
    grid-template-columns:1.05fr 1fr 1fr!important;
    gap:28px!important;
    align-items:start!important;
}

/* Logo footer */
html body footer img,
html body .site-footer img{
    max-width:150px!important;
    height:auto!important;
    object-fit:contain!important;
    filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))!important;
}

/* Textes généraux */
html body footer p,
html body .site-footer p,
html body footer span,
html body .site-footer span,
html body footer li,
html body .site-footer li{
    color:rgba(255,255,255,.82)!important;
    font-size:14px!important;
    line-height:1.5!important;
}

/* Titres */
html body footer h1,
html body footer h2,
html body footer h3,
html body footer h4,
html body .site-footer h1,
html body .site-footer h2,
html body .site-footer h3,
html body .site-footer h4,
html body footer strong,
html body .site-footer strong{
    color:#ffd36d!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
}

/* Accent de titre */
html body footer h2::after,
html body footer h3::after,
html body footer h4::after,
html body .site-footer h2::after,
html body .site-footer h3::after,
html body .site-footer h4::after{
    content:""!important;
    display:block!important;
    width:48px!important;
    height:3px!important;
    margin-top:8px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#ffd36d,#7ed957)!important;
}

/* Liens */
html body footer a,
html body .site-footer a{
    color:rgba(255,255,255,.88)!important;
    text-decoration:none!important;
    font-weight:800!important;
    transition:color .18s ease, transform .18s ease!important;
}

html body footer a:hover,
html body .site-footer a:hover{
    color:#ffd36d!important;
    text-decoration:none!important;
}

/* Listes */
html body footer ul,
html body .site-footer ul{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    gap:9px!important;
}

html body footer li,
html body .site-footer li{
    margin:0!important;
    padding:0!important;
}

/* Paragraphes identité */
html body footer .footer-brand,
html body .site-footer .footer-brand,
html body footer .brand-footer,
html body .site-footer .brand-footer{
    max-width:360px!important;
}

html body footer .footer-brand p,
html body .site-footer .footer-brand p,
html body footer .brand-footer p,
html body .site-footer .brand-footer p{
    color:rgba(255,255,255,.88)!important;
}

/* Agrément / ligne de confiance */
html body footer .footer-brand strong,
html body .site-footer .footer-brand strong,
html body footer .brand-footer strong,
html body .site-footer .brand-footer strong{
    display:inline-block!important;
    color:#ffd36d!important;
    border-top:1px solid rgba(216,160,57,.45)!important;
    padding-top:12px!important;
    margin-top:8px!important;
}

/* Réseaux sociaux si présents */
html body footer .socials,
html body .site-footer .socials,
html body footer .social-links,
html body .site-footer .social-links{
    display:flex!important;
    gap:10px!important;
    flex-wrap:wrap!important;
    margin-top:14px!important;
}

html body footer .socials a,
html body .site-footer .socials a,
html body footer .social-links a,
html body .site-footer .social-links a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    border-radius:50%!important;
    border:1px solid rgba(216,160,57,.48)!important;
    background:rgba(255,255,255,.06)!important;
    color:#ffd36d!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}

/* Bas de footer */
html body footer .footer-bottom,
html body .site-footer .footer-bottom,
html body footer .copyright,
html body .site-footer .copyright{
    position:relative!important;
    z-index:2!important;
    margin-top:26px!important;
    padding-top:14px!important;
    border-top:1px solid rgba(216,160,57,.40)!important;
    color:rgba(255,255,255,.72)!important;
    font-size:13px!important;
}

/* Badges / CTA dans footer s'ils existent */
html body footer .btn,
html body .site-footer .btn,
html body footer .ghost-green,
html body .site-footer .ghost-green{
    background:rgba(255,255,255,.06)!important;
    color:#ffd36d!important;
    border:1px solid rgba(216,160,57,.52)!important;
    box-shadow:none!important;
}

html body footer .btn:hover,
html body .site-footer .btn:hover,
html body footer .ghost-green:hover,
html body .site-footer .ghost-green:hover{
    background:rgba(216,160,57,.14)!important;
    color:#ffffff!important;
}

/* Mobile : footer premium, mais propre et lisible */
@media(max-width:760px){

    html body footer,
    html body .site-footer,
    html body .footer,
    html body .footer-v100,
    html body .footer-v121{
        margin-top:20px!important;
        padding:28px 0 18px!important;
        background:
            radial-gradient(circle at 12% 4%, rgba(13,107,55,.42), transparent 35%),
            radial-gradient(circle at 95% 12%, rgba(216,160,57,.18), transparent 38%),
            linear-gradient(145deg,#020a06 0%, #06130d 52%, #020906 100%)!important;
        border-top:1px solid rgba(216,160,57,.55)!important;
    }

    html body footer .wrap,
    html body .site-footer .wrap{
        width:calc(100% - 34px)!important;
        max-width:100%!important;
    }

    html body footer .footer-grid,
    html body .site-footer .footer-grid,
    html body footer .footer-columns,
    html body .site-footer .footer-columns{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:26px!important;
    }

    html body footer img,
    html body .site-footer img{
        max-width:120px!important;
        margin-bottom:12px!important;
    }

    html body footer h2,
    html body footer h3,
    html body footer h4,
    html body .site-footer h2,
    html body .site-footer h3,
    html body .site-footer h4{
        color:#ffd36d!important;
        font-size:22px!important;
        line-height:1.1!important;
        margin:0 0 12px!important;
    }

    html body footer p,
    html body .site-footer p{
        color:rgba(255,255,255,.82)!important;
        font-size:13.5px!important;
        line-height:1.48!important;
        margin:0 0 10px!important;
    }

    html body footer ul,
    html body .site-footer ul{
        gap:10px!important;
    }

    html body footer a,
    html body .site-footer a,
    html body footer li,
    html body .site-footer li{
        color:rgba(255,255,255,.88)!important;
        font-size:14.5px!important;
        line-height:1.35!important;
        font-weight:800!important;
    }

    html body footer a:hover,
    html body .site-footer a:hover{
        color:#ffd36d!important;
    }

    html body footer .footer-bottom,
    html body .site-footer .footer-bottom,
    html body footer .copyright,
    html body .site-footer .copyright{
        margin-top:22px!important;
        padding-top:14px!important;
        color:rgba(255,255,255,.72)!important;
        font-size:12.5px!important;
        text-align:left!important;
    }

    html body footer::before,
    html body .site-footer::before{
        left:-25%!important;
        bottom:20%!important;
        width:78%!important;
        opacity:.55!important;
    }

    html body footer::after,
    html body .site-footer::after{
        right:-32%!important;
        top:9%!important;
        width:86%!important;
        opacity:.48!important;
    }
}

/* Très petits écrans */
@media(max-width:380px){
    html body footer .wrap,
    html body .site-footer .wrap{
        width:calc(100% - 28px)!important;
    }

    html body footer h2,
    html body footer h3,
    html body footer h4,
    html body .site-footer h2,
    html body .site-footer h3,
    html body .site-footer h4{
        font-size:20px!important;
    }

    html body footer a,
    html body .site-footer a,
    html body footer li,
    html body .site-footer li{
        font-size:14px!important;
    }
}


/* =========================================================
   V16.2 - Footer soft et discret
   Corrige la V16.1 trop grosse : texte réduit, espaces maîtrisés.
   ========================================================= */

html body footer,
html body .site-footer,
html body .footer,
html body .footer-v100,
html body .footer-v121{
    position:relative!important;
    overflow:hidden!important;
    margin-top:22px!important;
    padding:34px 0 0!important;
    background:
        radial-gradient(circle at 10% 10%, rgba(13,107,55,.24), transparent 32%),
        radial-gradient(circle at 92% 8%, rgba(216,160,57,.10), transparent 30%),
        linear-gradient(135deg,#020a06 0%, #06140d 52%, #020906 100%)!important;
    color:rgba(255,255,255,.82)!important;
    border-top:1px solid rgba(216,160,57,.30)!important;
    box-shadow:none!important;
}

/* Décor plus discret */
html body footer::before,
html body .site-footer::before,
html body .footer::before,
html body .footer-v100::before,
html body .footer-v121::before{
    content:""!important;
    position:absolute!important;
    left:-14%!important;
    bottom:26%!important;
    width:48%!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(216,160,57,.35),rgba(13,107,55,.28),transparent)!important;
    transform:rotate(12deg)!important;
    opacity:.45!important;
    pointer-events:none!important;
}

html body footer::after,
html body .site-footer::after,
html body .footer::after,
html body .footer-v100::after,
html body .footer-v121::after{
    content:""!important;
    position:absolute!important;
    right:-18%!important;
    top:18%!important;
    width:50%!important;
    height:1px!important;
    background:linear-gradient(90deg,transparent,rgba(13,107,55,.28),rgba(216,160,57,.30),transparent)!important;
    transform:rotate(-15deg)!important;
    opacity:.35!important;
    pointer-events:none!important;
}

/* Conteneur plus contenu */
html body footer .wrap,
html body .site-footer .wrap{
    position:relative!important;
    z-index:2!important;
    max-width:1180px!important;
    width:calc(100% - 54px)!important;
    margin:0 auto!important;
}

/* Grille footer : compacte, équilibrée */
html body footer .footer-grid,
html body .site-footer .footer-grid,
html body footer .footer-columns,
html body .site-footer .footer-columns{
    display:grid!important;
    grid-template-columns:1.15fr 1fr 1fr 1fr!important;
    gap:38px!important;
    align-items:start!important;
    margin:0!important;
    padding:0 0 28px!important;
}

/* Titres : moins gros, moins agressifs */
html body footer h1,
html body footer h2,
html body footer h3,
html body footer h4,
html body .site-footer h1,
html body .site-footer h2,
html body .site-footer h3,
html body .site-footer h4,
html body footer strong,
html body .site-footer strong{
    color:#f3cf73!important;
    font-size:15.5px!important;
    line-height:1.15!important;
    font-weight:750!important;
    letter-spacing:-.01em!important;
    margin:0 0 13px!important;
}

/* Trait sous titre discret */
html body footer h2::after,
html body footer h3::after,
html body footer h4::after,
html body .site-footer h2::after,
html body .site-footer h3::after,
html body .site-footer h4::after{
    content:""!important;
    display:block!important;
    width:44px!important;
    height:2px!important;
    margin-top:9px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#f3cf73,#7ed957)!important;
    opacity:.85!important;
}

/* Listes : texte soft, pas gras */
html body footer ul,
html body .site-footer ul{
    list-style:none!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    gap:9px!important;
}

html body footer li,
html body .site-footer li,
html body footer p,
html body .site-footer p,
html body footer span,
html body .site-footer span{
    color:rgba(255,255,255,.72)!important;
    font-size:13px!important;
    line-height:1.38!important;
    font-weight:400!important;
    margin:0!important;
}

/* Liens : discrets, pas énormes */
html body footer a,
html body .site-footer a,
html body footer li a,
html body .site-footer li a{
    color:rgba(255,255,255,.76)!important;
    font-size:13px!important;
    line-height:1.38!important;
    font-weight:500!important;
    text-decoration:none!important;
    letter-spacing:0!important;
    transition:color .16s ease!important;
}

html body footer a:hover,
html body .site-footer a:hover{
    color:#f3cf73!important;
}

/* Logo/identité */
html body footer img,
html body .site-footer img{
    max-width:112px!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0 0 12px!important;
    filter:none!important;
}

html body footer .footer-brand,
html body .site-footer .footer-brand,
html body footer .brand-footer,
html body .site-footer .brand-footer{
    max-width:280px!important;
}

html body footer .footer-brand p,
html body .site-footer .footer-brand p,
html body footer .brand-footer p,
html body .site-footer .brand-footer p{
    color:rgba(255,255,255,.70)!important;
    font-size:12.7px!important;
    line-height:1.45!important;
    font-weight:400!important;
}

/* Réseaux si présents : plus petits */
html body footer .socials,
html body .site-footer .socials,
html body footer .social-links,
html body .site-footer .social-links{
    display:flex!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    margin-top:12px!important;
}

html body footer .socials a,
html body .site-footer .socials a,
html body footer .social-links a,
html body .site-footer .social-links a{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    border-radius:50%!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(216,160,57,.30)!important;
    background:rgba(255,255,255,.035)!important;
    color:#f3cf73!important;
    box-shadow:none!important;
    font-size:12px!important;
}

/* Boutons éventuels dans footer : neutralisés */
html body footer .btn,
html body .site-footer .btn,
html body footer .ghost-green,
html body .site-footer .ghost-green{
    min-height:32px!important;
    height:auto!important;
    padding:7px 11px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.035)!important;
    color:#f3cf73!important;
    border:1px solid rgba(216,160,57,.28)!important;
    box-shadow:none!important;
    font-size:12px!important;
    font-weight:600!important;
}

/* Bas footer : simple et fin */
html body footer .footer-bottom,
html body .site-footer .footer-bottom,
html body footer .copyright,
html body .site-footer .copyright{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
    gap:14px!important;
    margin:0!important;
    padding:14px 0!important;
    border-top:1px solid rgba(216,160,57,.28)!important;
    color:rgba(255,255,255,.64)!important;
    font-size:12.5px!important;
    line-height:1.3!important;
    font-weight:400!important;
}

html body footer .footer-bottom *,
html body .site-footer .footer-bottom *,
html body footer .copyright *,
html body .site-footer .copyright *{
    color:rgba(255,255,255,.66)!important;
    font-size:12.5px!important;
    line-height:1.3!important;
    font-weight:400!important;
}

/* Si le footer a des colonnes sans classes précises */
html body footer .wrap > div:not(.footer-bottom):not(.copyright),
html body .site-footer .wrap > div:not(.footer-bottom):not(.copyright){
    font-size:13px!important;
}

/* Mobile : beaucoup plus compact */
@media(max-width:760px){

    html body footer,
    html body .site-footer,
    html body .footer,
    html body .footer-v100,
    html body .footer-v121{
        margin-top:18px!important;
        padding:24px 0 0!important;
        background:
            radial-gradient(circle at 12% 5%, rgba(13,107,55,.22), transparent 36%),
            linear-gradient(145deg,#020a06 0%, #06130d 54%, #020906 100%)!important;
    }

    html body footer .wrap,
    html body .site-footer .wrap{
        width:calc(100% - 34px)!important;
        max-width:100%!important;
        margin:0 auto!important;
    }

    html body footer .footer-grid,
    html body .site-footer .footer-grid,
    html body footer .footer-columns,
    html body .site-footer .footer-columns{
        grid-template-columns:1fr!important;
        gap:18px!important;
        padding:0 0 20px!important;
    }

    html body footer h1,
    html body footer h2,
    html body footer h3,
    html body footer h4,
    html body .site-footer h1,
    html body .site-footer h2,
    html body .site-footer h3,
    html body .site-footer h4,
    html body footer strong,
    html body .site-footer strong{
        font-size:15px!important;
        line-height:1.15!important;
        margin:0 0 10px!important;
        font-weight:750!important;
    }

    html body footer h2::after,
    html body footer h3::after,
    html body footer h4::after,
    html body .site-footer h2::after,
    html body .site-footer h3::after,
    html body .site-footer h4::after{
        width:34px!important;
        height:2px!important;
        margin-top:7px!important;
    }

    html body footer ul,
    html body .site-footer ul{
        gap:7px!important;
    }

    html body footer li,
    html body .site-footer li,
    html body footer p,
    html body .site-footer p,
    html body footer span,
    html body .site-footer span,
    html body footer a,
    html body .site-footer a{
        font-size:12.6px!important;
        line-height:1.32!important;
        font-weight:400!important;
    }

    html body footer img,
    html body .site-footer img{
        max-width:92px!important;
        margin-bottom:9px!important;
    }

    html body footer .footer-bottom,
    html body .site-footer .footer-bottom,
    html body footer .copyright,
    html body .site-footer .copyright{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
        padding:12px 0!important;
        text-align:left!important;
        font-size:12px!important;
    }

    html body footer .footer-bottom *,
    html body .site-footer .footer-bottom *,
    html body footer .copyright *,
    html body .site-footer .copyright *{
        font-size:12px!important;
        line-height:1.3!important;
        font-weight:400!important;
    }

    html body footer::before,
    html body .site-footer::before{
        left:-28%!important;
        bottom:25%!important;
        width:84%!important;
        opacity:.30!important;
    }

    html body footer::after,
    html body .site-footer::after{
        display:none!important;
    }
}

/* Très petits écrans */
@media(max-width:380px){
    html body footer .wrap,
    html body .site-footer .wrap{
        width:calc(100% - 28px)!important;
    }

    html body footer li,
    html body .site-footer li,
    html body footer p,
    html body .site-footer p,
    html body footer span,
    html body .site-footer span,
    html body footer a,
    html body .site-footer a{
        font-size:12.2px!important;
    }
}


/* =========================================================
   V16.6 - Menu mobile : icône seule + header plus soft
   ========================================================= */

@media(max-width:760px){

    /*
      Bouton Menu : on supprime l'effet gros rond vert.
      Objectif : icône seule, fond blanc cassé, vert discret.
    */
    html body header button,
    html body .site-header button,
    html body .main-header button,
    html body .topbar button,
    html body .navbar button,
    html body .mobile-menu-btn,
    html body .menu-toggle,
    html body .nav-toggle,
    html body .hamburger,
    html body .open-menu,
    html body .header-menu,
    html body .site-menu-toggle,
    html body .mobile-nav-toggle,
    html body .menu-button,
    html body .btn-menu{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:16px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        background:#f7fbf7!important;
        color:#0d6b37!important;
        border:1px solid #dbe9dc!important;
        box-shadow:0 8px 20px rgba(8,55,28,.08)!important;
        overflow:hidden!important;
        font-size:0!important;
        line-height:0!important;
        font-weight:400!important;
        text-indent:-9999px!important;
        white-space:nowrap!important;
        cursor:pointer!important;
        transform:none!important;
    }

    html body header button::before,
    html body .site-header button::before,
    html body .main-header button::before,
    html body .topbar button::before,
    html body .navbar button::before,
    html body .mobile-menu-btn::before,
    html body .menu-toggle::before,
    html body .nav-toggle::before,
    html body .hamburger::before,
    html body .open-menu::before,
    html body .header-menu::before,
    html body .site-menu-toggle::before,
    html body .mobile-nav-toggle::before,
    html body .menu-button::before,
    html body .btn-menu::before{
        content:"☰"!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        text-indent:0!important;
        font-family:Arial, sans-serif!important;
    }

    html body header button:hover,
    html body .site-header button:hover,
    html body .main-header button:hover,
    html body .topbar button:hover,
    html body .navbar button:hover,
    html body .mobile-menu-btn:hover,
    html body .menu-toggle:hover,
    html body .nav-toggle:hover,
    html body .hamburger:hover,
    html body .open-menu:hover,
    html body .header-menu:hover,
    html body .site-menu-toggle:hover,
    html body .mobile-nav-toggle:hover,
    html body .menu-button:hover,
    html body .btn-menu:hover{
        background:#ffffff!important;
        border-color:#cfe2d2!important;
        box-shadow:0 8px 20px rgba(8,55,28,.10)!important;
        transform:none!important;
    }

    /*
      Header mobile : plus aéré et plus haut de gamme.
    */
    html body header,
    html body .site-header,
    html body .main-header,
    html body .topbar,
    html body .navbar{
        background:#ffffff!important;
        border-bottom:1px solid #edf3ee!important;
        box-shadow:0 8px 22px rgba(8,55,28,.045)!important;
    }

    html body header .wrap,
    html body .site-header .wrap,
    html body .main-header .wrap,
    html body .topbar .wrap,
    html body .navbar .wrap{
        min-height:74px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:12px!important;
    }

    /*
      Logo / marque : éviter l'effet trop comprimé.
    */
    html body header img,
    html body .site-header img,
    html body .main-header img,
    html body .topbar img,
    html body .navbar img{
        max-height:42px!important;
        width:auto!important;
        object-fit:contain!important;
    }

    html body header .brand,
    html body .site-header .brand,
    html body .main-header .brand,
    html body .topbar .brand,
    html body .navbar .brand{
        min-width:0!important;
        display:flex!important;
        align-items:center!important;
        gap:10px!important;
    }

    html body header .brand strong,
    html body .site-header .brand strong,
    html body .main-header .brand strong,
    html body .topbar .brand strong,
    html body .navbar .brand strong{
        color:#102316!important;
        font-size:16px!important;
        line-height:1.05!important;
        font-weight:900!important;
        letter-spacing:-.02em!important;
    }

    html body header .brand span,
    html body .site-header .brand span,
    html body .main-header .brand span,
    html body .topbar .brand span,
    html body .navbar .brand span{
        color:#52635a!important;
        font-size:10.5px!important;
        line-height:1.15!important;
        font-weight:700!important;
        max-width:180px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    /*
      Menu déroulant / panneau mobile : plus discret si déjà présent.
      Ces règles n'ouvrent ni ne ferment le menu, elles améliorent seulement son aspect.
    */
    html body .mobile-menu,
    html body .mobile-nav,
    html body .drawer,
    html body .offcanvas,
    html body .menu-panel,
    html body .nav-panel{
        background:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 18px 44px rgba(8,55,28,.14)!important;
        border-radius:22px!important;
    }

    html body .mobile-menu a,
    html body .mobile-nav a,
    html body .drawer a,
    html body .offcanvas a,
    html body .menu-panel a,
    html body .nav-panel a{
        font-size:14px!important;
        line-height:1.2!important;
        font-weight:800!important;
        color:#102316!important;
        text-decoration:none!important;
    }

    /*
      Catalogue : petit ajustement visuel des filtres sous l'entête.
    */
    html body .catalogue-header,
    html body .catalog-header,
    html body .page-hero,
    html body .properties-hero{
        margin-top:10px!important;
    }

    html body input,
    html body select,
    html body textarea{
        border-color:#dfeade!important;
        box-shadow:none!important;
    }

    html body input:focus,
    html body select:focus,
    html body textarea:focus{
        border-color:#0d6b37!important;
        box-shadow:0 0 0 3px rgba(13,107,55,.10)!important;
        outline:none!important;
    }
}

@media(max-width:380px){
    html body header button,
    html body .site-header button,
    html body .main-header button,
    html body .topbar button,
    html body .navbar button,
    html body .mobile-menu-btn,
    html body .menu-toggle,
    html body .nav-toggle,
    html body .hamburger,
    html body .open-menu,
    html body .header-menu,
    html body .site-menu-toggle,
    html body .mobile-nav-toggle,
    html body .menu-button,
    html body .btn-menu{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:15px!important;
    }

    html body header button::before,
    html body .site-header button::before,
    html body .main-header button::before,
    html body .topbar button::before,
    html body .navbar button::before,
    html body .mobile-menu-btn::before,
    html body .menu-toggle::before,
    html body .nav-toggle::before,
    html body .hamburger::before,
    html body .open-menu::before,
    html body .header-menu::before,
    html body .site-menu-toggle::before,
    html body .mobile-nav-toggle::before,
    html body .menu-button::before,
    html body .btn-menu::before{
        font-size:22px!important;
    }

    html body header .brand strong,
    html body .site-header .brand strong,
    html body .main-header .brand strong,
    html body .topbar .brand strong,
    html body .navbar .brand strong{
        font-size:15px!important;
    }

    html body header .brand span,
    html body .site-header .brand span,
    html body .main-header .brand span,
    html body .topbar .brand span,
    html body .navbar .brand span{
        max-width:150px!important;
        font-size:10px!important;
    }
}


/* =========================================================
   V16.7 - Supprimer le gros vert du bouton Menu mobile
   ========================================================= */

@media(max-width:760px){

    /*
      Ciblage renforcé :
      le bouton menu peut être un button, un a.btn, un élément .menu-toggle,
      ou une classe contenant "menu". On limite au header uniquement.
    */
    html body header button,
    html body header a.btn,
    html body header .btn,
    html body header [class*="menu"],
    html body header [id*="menu"],
    html body .site-header button,
    html body .site-header a.btn,
    html body .site-header .btn,
    html body .site-header [class*="menu"],
    html body .site-header [id*="menu"],
    html body .main-header button,
    html body .main-header a.btn,
    html body .main-header .btn,
    html body .main-header [class*="menu"],
    html body .main-header [id*="menu"]{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-image:none!important;
        color:transparent!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        text-indent:-9999px!important;
        font-size:0!important;
        line-height:0!important;
        font-weight:400!important;
        letter-spacing:0!important;
        white-space:nowrap!important;
        text-decoration:none!important;
        text-transform:none!important;
        transform:none!important;
        opacity:1!important;
        filter:none!important;
    }

    /*
      Masquer tout contenu interne qui conserve encore la pastille verte
      ou le texte "Menu".
    */
    html body header button *,
    html body header a.btn *,
    html body header .btn *,
    html body header [class*="menu"] *,
    html body header [id*="menu"] *,
    html body .site-header button *,
    html body .site-header a.btn *,
    html body .site-header .btn *,
    html body .site-header [class*="menu"] *,
    html body .site-header [id*="menu"] *,
    html body .main-header button *,
    html body .main-header a.btn *,
    html body .main-header .btn *,
    html body .main-header [class*="menu"] *,
    html body .main-header [id*="menu"] *{
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
        color:transparent!important;
        background:transparent!important;
        box-shadow:none!important;
        font-size:0!important;
        line-height:0!important;
    }

    /*
      Nouvelle icône unique.
    */
    html body header button::before,
    html body header a.btn::before,
    html body header .btn::before,
    html body header [class*="menu"]::before,
    html body header [id*="menu"]::before,
    html body .site-header button::before,
    html body .site-header a.btn::before,
    html body .site-header .btn::before,
    html body .site-header [class*="menu"]::before,
    html body .site-header [id*="menu"]::before,
    html body .main-header button::before,
    html body .main-header a.btn::before,
    html body .main-header .btn::before,
    html body .main-header [class*="menu"]::before,
    html body .main-header [id*="menu"]::before{
        content:"☰"!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        text-indent:0!important;
        font-family:Arial, sans-serif!important;
        opacity:1!important;
        visibility:visible!important;
    }

    html body header button:hover,
    html body header a.btn:hover,
    html body header .btn:hover,
    html body header [class*="menu"]:hover,
    html body header [id*="menu"]:hover,
    html body .site-header button:hover,
    html body .site-header a.btn:hover,
    html body .site-header .btn:hover,
    html body .site-header [class*="menu"]:hover,
    html body .site-header [id*="menu"]:hover,
    html body .main-header button:hover,
    html body .main-header a.btn:hover,
    html body .main-header .btn:hover,
    html body .main-header [class*="menu"]:hover,
    html body .main-header [id*="menu"]:hover{
        background:#ffffff!important;
        background-image:none!important;
        border-color:#cfe2d2!important;
        color:transparent!important;
        box-shadow:0 7px 18px rgba(8,55,28,.09)!important;
        transform:none!important;
    }

    /*
      Si une ancienne règle crée un gros arrondi vert via pseudo-élément.
    */
    html body header button::after,
    html body header a.btn::after,
    html body header .btn::after,
    html body header [class*="menu"]::after,
    html body header [id*="menu"]::after,
    html body .site-header button::after,
    html body .site-header a.btn::after,
    html body .site-header .btn::after,
    html body .site-header [class*="menu"]::after,
    html body .site-header [id*="menu"]::after,
    html body .main-header button::after,
    html body .main-header a.btn::after,
    html body .main-header .btn::after,
    html body .main-header [class*="menu"]::after,
    html body .main-header [id*="menu"]::after{
        display:none!important;
        content:none!important;
        background:transparent!important;
        box-shadow:none!important;
    }

    /*
      Entête : fond plus doux, moins massif.
    */
    html body header,
    html body .site-header,
    html body .main-header{
        background:#ffffff!important;
        border-bottom:1px solid #eef4ef!important;
        box-shadow:0 6px 18px rgba(8,55,28,.04)!important;
    }
}

@media(max-width:380px){
    html body header button,
    html body header a.btn,
    html body header .btn,
    html body header [class*="menu"],
    html body header [id*="menu"],
    html body .site-header button,
    html body .site-header a.btn,
    html body .site-header .btn,
    html body .site-header [class*="menu"],
    html body .site-header [id*="menu"],
    html body .main-header button,
    html body .main-header a.btn,
    html body .main-header .btn,
    html body .main-header [class*="menu"],
    html body .main-header [id*="menu"]{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }

    html body header button::before,
    html body header a.btn::before,
    html body header .btn::before,
    html body header [class*="menu"]::before,
    html body header [id*="menu"]::before,
    html body .site-header button::before,
    html body .site-header a.btn::before,
    html body .site-header .btn::before,
    html body .site-header [class*="menu"]::before,
    html body .site-header [id*="menu"]::before,
    html body .main-header button::before,
    html body .main-header a.btn::before,
    html body .main-header .btn::before,
    html body .main-header [class*="menu"]::before,
    html body .main-header [id*="menu"]::before{
        font-size:22px!important;
    }
}


/* =========================================================
   V16.9 - Bouton Menu icône seule sans mbstring
   ========================================================= */

.sr-menu-v169{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(max-width:760px){

    html body .lm-menu-icon-only-v169,
    html body header .lm-menu-icon-only-v169,
    html body .site-header .lm-menu-icon-only-v169,
    html body .main-header .lm-menu-icon-only-v169{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-image:none!important;
        color:#0d6b37!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        text-indent:0!important;
        font-size:0!important;
        line-height:0!important;
        font-weight:400!important;
        letter-spacing:0!important;
        white-space:nowrap!important;
        text-decoration:none!important;
        transform:none!important;
    }

    html body .lm-menu-icon-only-v169 .lm-menu-bars-v169{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
        opacity:1!important;
        visibility:visible!important;
    }

    html body .lm-menu-icon-only-v169:hover{
        background:#ffffff!important;
        border-color:#cfe2d2!important;
        box-shadow:0 7px 18px rgba(8,55,28,.09)!important;
        transform:none!important;
    }

    html body .lm-menu-icon-only-v169::before,
    html body .lm-menu-icon-only-v169::after{
        display:none!important;
        content:none!important;
    }
}

@media(max-width:380px){
    html body .lm-menu-icon-only-v169{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }

    html body .lm-menu-icon-only-v169 .lm-menu-bars-v169{
        font-size:22px!important;
    }
}


/* =========================================================
   V17.0 - Supprimer l'anneau vert externe du bouton Menu
   ========================================================= */

@media(max-width:760px){

    /*
      Le grand vert visible est probablement le parent du bouton,
      pas le bouton lui-même. On neutralise donc la zone droite de l'entête.
    */
    html body header .wrap > *:last-child,
    html body .site-header .wrap > *:last-child,
    html body .main-header .wrap > *:last-child,
    html body .topbar .wrap > *:last-child,
    html body .navbar .wrap > *:last-child{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-color:#f8fbf7!important;
        background-image:none!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        color:#0d6b37!important;
        text-decoration:none!important;
        transform:none!important;
    }

    /*
      Si l'ancien gros bouton vert est à l'intérieur, on le rend transparent
      et on garde seulement l'icône.
    */
    html body header .wrap > *:last-child button,
    html body header .wrap > *:last-child a,
    html body header .wrap > *:last-child .btn,
    html body header .wrap > *:last-child [class*="menu"],
    html body .site-header .wrap > *:last-child button,
    html body .site-header .wrap > *:last-child a,
    html body .site-header .wrap > *:last-child .btn,
    html body .site-header .wrap > *:last-child [class*="menu"],
    html body .main-header .wrap > *:last-child button,
    html body .main-header .wrap > *:last-child a,
    html body .main-header .wrap > *:last-child .btn,
    html body .main-header .wrap > *:last-child [class*="menu"],
    html body .topbar .wrap > *:last-child button,
    html body .topbar .wrap > *:last-child a,
    html body .topbar .wrap > *:last-child .btn,
    html body .topbar .wrap > *:last-child [class*="menu"],
    html body .navbar .wrap > *:last-child button,
    html body .navbar .wrap > *:last-child a,
    html body .navbar .wrap > *:last-child .btn,
    html body .navbar .wrap > *:last-child [class*="menu"]{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
        height:100%!important;
        min-height:100%!important;
        max-height:100%!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        border:0!important;
        box-shadow:none!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        color:#0d6b37!important;
        text-decoration:none!important;
        font-size:0!important;
        line-height:0!important;
        text-indent:0!important;
        overflow:hidden!important;
    }

    /*
      Masquer les textes/anciens contenus, sauf nos icônes v168/v169.
    */
    html body header .wrap > *:last-child button > *:not(.lm-menu-bars-v168):not(.lm-menu-bars-v169),
    html body header .wrap > *:last-child a > *:not(.lm-menu-bars-v168):not(.lm-menu-bars-v169),
    html body .site-header .wrap > *:last-child button > *:not(.lm-menu-bars-v168):not(.lm-menu-bars-v169),
    html body .site-header .wrap > *:last-child a > *:not(.lm-menu-bars-v168):not(.lm-menu-bars-v169),
    html body .main-header .wrap > *:last-child button > *:not(.lm-menu-bars-v168):not(.lm-menu-bars-v169),
    html body .main-header .wrap > *:last-child a > *:not(.lm-menu-bars-v168):not(.lm-menu-bars-v169){
        display:none!important;
        opacity:0!important;
        visibility:hidden!important;
        font-size:0!important;
        line-height:0!important;
        background:transparent!important;
    }

    /*
      Icône unique, centrée.
    */
    html body header .wrap > *:last-child::before,
    html body .site-header .wrap > *:last-child::before,
    html body .main-header .wrap > *:last-child::before,
    html body .topbar .wrap > *:last-child::before,
    html body .navbar .wrap > *:last-child::before{
        content:"☰"!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
        opacity:1!important;
        visibility:visible!important;
        text-indent:0!important;
    }

    /*
      Si l'icône existe déjà à l'intérieur, elle reste visible.
      Mais on évite le double affichage sur les classes corrigées V169.
    */
    html body header .wrap > *:last-child:has(.lm-menu-bars-v169)::before,
    html body .site-header .wrap > *:last-child:has(.lm-menu-bars-v169)::before,
    html body .main-header .wrap > *:last-child:has(.lm-menu-bars-v169)::before{
        content:none!important;
        display:none!important;
    }

    html body .lm-menu-bars-v168,
    html body .lm-menu-bars-v169{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        background:transparent!important;
    }

    /*
      Suppression des anciens pseudo-fonds verts.
    */
    html body header .wrap > *:last-child::after,
    html body .site-header .wrap > *:last-child::after,
    html body .main-header .wrap > *:last-child::after,
    html body .topbar .wrap > *:last-child::after,
    html body .navbar .wrap > *:last-child::after{
        content:none!important;
        display:none!important;
        background:transparent!important;
        box-shadow:none!important;
    }
}

@media(max-width:380px){
    html body header .wrap > *:last-child,
    html body .site-header .wrap > *:last-child,
    html body .main-header .wrap > *:last-child,
    html body .topbar .wrap > *:last-child,
    html body .navbar .wrap > *:last-child{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }

    html body header .wrap > *:last-child::before,
    html body .site-header .wrap > *:last-child::before,
    html body .main-header .wrap > *:last-child::before,
    html body .topbar .wrap > *:last-child::before,
    html body .navbar .wrap > *:last-child::before,
    html body .lm-menu-bars-v168,
    html body .lm-menu-bars-v169{
        font-size:22px!important;
    }
}


/* =========================================================
   V17.2 - Neutraliser le parent vert du bouton Menu
   ========================================================= */

@media(max-width:760px){

    /*
      Le grand rond vert restant est le conteneur parent.
      On cible donc tout enfant de l'entête qui contient l'icône corrigée V169.
      Important : on évite de viser tout le header.
    */

    html body header .wrap > *:has(.lm-menu-bars-v169),
    html body .site-header .wrap > *:has(.lm-menu-bars-v169),
    html body .main-header .wrap > *:has(.lm-menu-bars-v169),
    html body .topbar .wrap > *:has(.lm-menu-bars-v169),
    html body .navbar .wrap > *:has(.lm-menu-bars-v169),

    html body header .wrap > * > *:has(.lm-menu-bars-v169),
    html body .site-header .wrap > * > *:has(.lm-menu-bars-v169),
    html body .main-header .wrap > * > *:has(.lm-menu-bars-v169),
    html body .topbar .wrap > * > *:has(.lm-menu-bars-v169),
    html body .navbar .wrap > * > *:has(.lm-menu-bars-v169),

    html body header nav > *:has(.lm-menu-bars-v169),
    html body .site-header nav > *:has(.lm-menu-bars-v169),
    html body .main-header nav > *:has(.lm-menu-bars-v169),

    html body header .actions:has(.lm-menu-bars-v169),
    html body .site-header .actions:has(.lm-menu-bars-v169),
    html body .main-header .actions:has(.lm-menu-bars-v169),
    html body header .header-actions:has(.lm-menu-bars-v169),
    html body .site-header .header-actions:has(.lm-menu-bars-v169),
    html body .main-header .header-actions:has(.lm-menu-bars-v169),
    html body header .nav-actions:has(.lm-menu-bars-v169),
    html body .site-header .nav-actions:has(.lm-menu-bars-v169),
    html body .main-header .nav-actions:has(.lm-menu-bars-v169){
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-color:#f8fbf7!important;
        background-image:none!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        color:#0d6b37!important;
        transform:none!important;
        filter:none!important;
        opacity:1!important;
    }

    /*
      Le bouton/lien interne devient totalement transparent :
      seul le parent blanc cassé porte la forme.
    */
    html body header .lm-menu-icon-only-v169,
    html body .site-header .lm-menu-icon-only-v169,
    html body .main-header .lm-menu-icon-only-v169,
    html body .topbar .lm-menu-icon-only-v169,
    html body .navbar .lm-menu-icon-only-v169{
        width:100%!important;
        min-width:100%!important;
        max-width:100%!important;
        height:100%!important;
        min-height:100%!important;
        max-height:100%!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
        border-radius:15px!important;
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        box-shadow:none!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        color:#0d6b37!important;
    }

    html body header .lm-menu-bars-v169,
    html body .site-header .lm-menu-bars-v169,
    html body .main-header .lm-menu-bars-v169,
    html body .topbar .lm-menu-bars-v169,
    html body .navbar .lm-menu-bars-v169{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
    }

    /*
      Supprimer tout ancien pseudo-élément vert du parent.
    */
    html body header .wrap > *:has(.lm-menu-bars-v169)::before,
    html body header .wrap > *:has(.lm-menu-bars-v169)::after,
    html body .site-header .wrap > *:has(.lm-menu-bars-v169)::before,
    html body .site-header .wrap > *:has(.lm-menu-bars-v169)::after,
    html body .main-header .wrap > *:has(.lm-menu-bars-v169)::before,
    html body .main-header .wrap > *:has(.lm-menu-bars-v169)::after{
        content:none!important;
        display:none!important;
        background:transparent!important;
        box-shadow:none!important;
    }
}

@media(max-width:380px){
    html body header .wrap > *:has(.lm-menu-bars-v169),
    html body .site-header .wrap > *:has(.lm-menu-bars-v169),
    html body .main-header .wrap > *:has(.lm-menu-bars-v169),
    html body .topbar .wrap > *:has(.lm-menu-bars-v169),
    html body .navbar .wrap > *:has(.lm-menu-bars-v169),
    html body header .wrap > * > *:has(.lm-menu-bars-v169),
    html body .site-header .wrap > * > *:has(.lm-menu-bars-v169),
    html body .main-header .wrap > * > *:has(.lm-menu-bars-v169){
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }

    html body header .lm-menu-bars-v169,
    html body .site-header .lm-menu-bars-v169,
    html body .main-header .lm-menu-bars-v169{
        font-size:22px!important;
    }
}


/* =========================================================
   V17.3 - Enlever le vert résiduel autour du bouton Menu
   ========================================================= */

@media(max-width:760px){

    /*
      Le vert résiduel vient d'un conteneur interne de l'entête.
      On neutralise les fonds des éléments internes du header mobile.
      Le fond général du header reste blanc.
    */
    html body header,
    html body .site-header,
    html body .main-header,
    html body .topbar,
    html body .navbar{
        background:#ffffff!important;
        background-image:none!important;
        border-bottom:1px solid #eef4ef!important;
        box-shadow:0 6px 18px rgba(8,55,28,.04)!important;
    }

    html body header *,
    html body .site-header *,
    html body .main-header *,
    html body .topbar *,
    html body .navbar *{
        background-color:transparent!important;
        background-image:none!important;
        box-shadow:none!important;
    }

    /*
      Réappliquer uniquement le petit bouton menu blanc cassé.
    */
    html body .lm-menu-icon-only-v169,
    html body .lm-menu-icon-only-v168,
    html body header button,
    html body header a.btn,
    html body header .btn-menu,
    html body header .menu-toggle,
    html body header .mobile-menu-btn,
    html body header .nav-toggle,
    html body header .hamburger,
    html body .site-header button,
    html body .site-header a.btn,
    html body .site-header .btn-menu,
    html body .site-header .menu-toggle,
    html body .site-header .mobile-menu-btn,
    html body .site-header .nav-toggle,
    html body .site-header .hamburger,
    html body .main-header button,
    html body .main-header a.btn,
    html body .main-header .btn-menu,
    html body .main-header .menu-toggle,
    html body .main-header .mobile-menu-btn,
    html body .main-header .nav-toggle,
    html body .main-header .hamburger{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-color:#f8fbf7!important;
        background-image:none!important;
        color:#0d6b37!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        text-decoration:none!important;
        transform:none!important;
        filter:none!important;
        opacity:1!important;
        font-size:0!important;
        line-height:0!important;
        text-indent:0!important;
    }

    /*
      Si le conteneur parent était le rond vert, on le rend neutre.
      Ces classes couvrent les structures les plus fréquentes.
    */
    html body header .header-actions,
    html body header .nav-actions,
    html body header .actions,
    html body header .right-actions,
    html body header .header-right,
    html body header .nav-right,
    html body header .mobile-actions,
    html body header .menu-holder,
    html body header .menu-wrap,
    html body header .menu-container,
    html body .site-header .header-actions,
    html body .site-header .nav-actions,
    html body .site-header .actions,
    html body .site-header .right-actions,
    html body .site-header .header-right,
    html body .site-header .nav-right,
    html body .site-header .mobile-actions,
    html body .site-header .menu-holder,
    html body .site-header .menu-wrap,
    html body .site-header .menu-container,
    html body .main-header .header-actions,
    html body .main-header .nav-actions,
    html body .main-header .actions,
    html body .main-header .right-actions,
    html body .main-header .header-right,
    html body .main-header .nav-right,
    html body .main-header .mobile-actions,
    html body .main-header .menu-holder,
    html body .main-header .menu-wrap,
    html body .main-header .menu-container{
        width:auto!important;
        min-width:0!important;
        height:auto!important;
        min-height:0!important;
        padding:0!important;
        margin:0!important;
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        border:0!important;
        box-shadow:none!important;
        border-radius:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:visible!important;
    }

    /*
      Icône visible et centrée.
    */
    html body .lm-menu-bars-v169,
    html body .lm-menu-bars-v168{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
        opacity:1!important;
        visibility:visible!important;
        text-indent:0!important;
    }

    /*
      Si l'icône disparaît parce que le contenu interne a été masqué,
      on affiche une icône par pseudo-élément.
    */
    html body .lm-menu-icon-only-v169::before,
    html body .lm-menu-icon-only-v168::before,
    html body header button::before,
    html body header .menu-toggle::before,
    html body header .mobile-menu-btn::before,
    html body header .hamburger::before,
    html body .site-header button::before,
    html body .site-header .menu-toggle::before,
    html body .site-header .mobile-menu-btn::before,
    html body .site-header .hamburger::before{
        content:"☰"!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
        text-indent:0!important;
    }

    /*
      Les panneaux de menu ouverts doivent rester lisibles.
    */
    html body .mobile-menu,
    html body .mobile-nav,
    html body .drawer,
    html body .offcanvas,
    html body .menu-panel,
    html body .nav-panel{
        background:#ffffff!important;
        background-color:#ffffff!important;
        border:1px solid #dfeade!important;
        box-shadow:0 18px 44px rgba(8,55,28,.14)!important;
        border-radius:22px!important;
    }

    html body .mobile-menu *,
    html body .mobile-nav *,
    html body .drawer *,
    html body .offcanvas *,
    html body .menu-panel *,
    html body .nav-panel *{
        background-color:transparent!important;
        box-shadow:none!important;
    }
}

@media(max-width:380px){
    html body .lm-menu-icon-only-v169,
    html body .lm-menu-icon-only-v168,
    html body header button,
    html body header a.btn,
    html body header .btn-menu,
    html body header .menu-toggle,
    html body header .mobile-menu-btn,
    html body header .nav-toggle,
    html body header .hamburger,
    html body .site-header button,
    html body .site-header a.btn,
    html body .site-header .btn-menu,
    html body .site-header .menu-toggle,
    html body .site-header .mobile-menu-btn,
    html body .site-header .nav-toggle,
    html body .site-header .hamburger{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }
}


/* =========================================================
   V17.8 - Réparation performance après scripts menu
   ========================================================= */

@media(max-width:760px){
    html body header,
    html body .site-header,
    html body .main-header{
        background:#ffffff!important;
        border-bottom:1px solid #eef4ef!important;
        box-shadow:0 6px 18px rgba(8,55,28,.04)!important;
    }

    /*
      On garde le bouton menu fonctionnel dans son état actuel.
      Priorité V17.8 : rapidité et stabilité.
    */
    html body header button,
    html body .site-header button,
    html body .main-header button,
    html body header a,
    html body .site-header a,
    html body .main-header a{
        touch-action:manipulation;
    }
}


/* =========================================================
   V17.9 - Menu léger toutes pages
   ========================================================= */

.sr-menu-v179{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(max-width:760px){
    html body .lm-menu-parent-v179{
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        box-shadow:none!important;
        border:0!important;
        border-radius:0!important;
        padding:0!important;
        margin:0!important;
        min-width:0!important;
        width:auto!important;
        height:auto!important;
        overflow:visible!important;
    }

    html body .lm-menu-final-v179{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-color:#f8fbf7!important;
        background-image:none!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        color:#0d6b37!important;
        text-decoration:none!important;
        font-size:0!important;
        line-height:0!important;
        text-indent:0!important;
    }

    html body .lm-menu-final-v179::before,
    html body .lm-menu-final-v179::after{
        content:none!important;
        display:none!important;
    }

    html body .lm-menu-icon-v179{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
    }
}

@media(max-width:380px){
    html body .lm-menu-final-v179{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }

    html body .lm-menu-icon-v179{
        font-size:22px!important;
    }
}


/* =========================================================
   V18.0 - Menu discret pages secondaires
   ========================================================= */

.sr-menu-v180{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(max-width:760px){
    html body .lm-menu-parent-v180{
        background:transparent!important;
        background-color:transparent!important;
        background-image:none!important;
        box-shadow:none!important;
        border:0!important;
        border-radius:0!important;
        padding:0!important;
        margin:0!important;
        min-width:0!important;
        width:auto!important;
        height:auto!important;
        overflow:visible!important;
    }

    html body .lm-menu-final-v180{
        width:46px!important;
        min-width:46px!important;
        max-width:46px!important;
        height:46px!important;
        min-height:46px!important;
        max-height:46px!important;
        padding:0!important;
        margin:0!important;
        border-radius:15px!important;
        background:#f8fbf7!important;
        background-color:#f8fbf7!important;
        background-image:none!important;
        border:1px solid #dcebdd!important;
        box-shadow:0 6px 16px rgba(8,55,28,.07)!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        overflow:hidden!important;
        color:#0d6b37!important;
        text-decoration:none!important;
        font-size:0!important;
        line-height:0!important;
        text-indent:0!important;
    }

    html body .lm-menu-final-v180::before,
    html body .lm-menu-final-v180::after{
        content:none!important;
        display:none!important;
    }

    html body .lm-menu-icon-v180{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        height:100%!important;
        color:#0d6b37!important;
        background:transparent!important;
        font-size:24px!important;
        line-height:1!important;
        font-weight:700!important;
        font-family:Arial, sans-serif!important;
    }
}

@media(max-width:380px){
    html body .lm-menu-final-v180{
        width:43px!important;
        min-width:43px!important;
        max-width:43px!important;
        height:43px!important;
        min-height:43px!important;
        max-height:43px!important;
        border-radius:14px!important;
    }

    html body .lm-menu-icon-v180{
        font-size:22px!important;
    }
}



/* === SCI LemMarket V22.48B : footer global propre === */
.site-footer .footer-columns > div:not(.footer-brand) a{
  display:block!important;
  width:fit-content!important;
  margin:0 0 8px!important;
  line-height:1.35!important;
  text-decoration:none!important;
}
.site-footer .footer-columns > div:not(.footer-brand) a:hover{
  text-decoration:underline!important;
}
.site-footer .footer-columns h3{margin-bottom:14px!important}
.site-footer .footer-brand p{line-height:1.5!important}
@media(max-width:760px){
  .site-footer .footer-columns{gap:24px!important}
  .site-footer .footer-columns > div:not(.footer-brand) a{margin-bottom:10px!important}
}
/* === FIN V22.48B === */

/* V22.49 loader */
@import url('harmonisation_v2249.css?v=2249');


/* === V22.53B OWNER REGISTER + BOUTONS SOFT === */

/* Tous les boutons du site deviennent légers : texte vert, sans gros fond vert */
html body .btn,
html body button,
html body input[type="submit"],
html body input[type="button"],
html body a.btn,
html body .button{
    background:transparent!important;
    color:#0d6b37!important;
    border:0!important;
    box-shadow:none!important;
    font-weight:800!important;
    text-decoration:none!important;
}
html body .btn:hover,
html body button:hover,
html body input[type="submit"]:hover,
html body input[type="button"]:hover,
html body a.btn:hover,
html body .button:hover{
    background:transparent!important;
    color:#07592f!important;
    text-decoration:underline!important;
}

/* Le clic reste confortable */
html body button,
html body input[type="submit"],
html body input[type="button"],
html body .btn,
html body a.btn{
    min-height:0!important;
    height:auto!important;
    padding:7px 4px!important;
    border-radius:0!important;
}

/* Bloc conditions propriétaire V22.53B */
html body .lm2253b-terms{
    max-width:980px!important;
    margin:10px 0 14px!important;
    padding:12px 14px!important;
    background:#fbfcfb!important;
    border:1px solid #e7ece7!important;
    border-radius:16px!important;
}
html body .lm2253b-terms-line{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
}
html body .lm2253b-terms-line > input[type="checkbox"]{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    flex:0 0 15px!important;
    margin:3px 0 0!important;
    padding:0!important;
    transform:none!important;
}
html body .lm2253b-terms-copy{
    flex:1!important;
    min-width:0!important;
}
html body .lm2253b-terms-title{
    margin:0 0 5px!important;
    font-size:13.5px!important;
    line-height:1.4!important;
    font-weight:700!important;
    color:#17351f!important;
}
html body .lm2253b-terms-summary,
html body .lm2253b-terms-version{
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.4!important;
    color:#667168!important;
}
html body .lm2253b-terms-summary{margin-bottom:2px!important}
html body .lm2253b-terms-copy a{
    color:#0d6b37!important;
    font-weight:800!important;
}

/* Limiter le gros bouton de validation propriétaire */
html body form input[type="submit"],
html body form button[type="submit"]{
    width:auto!important;
    max-width:max-content!important;
}

/* === FIN V22.53B === */


/* === V22.53C OWNER REGISTER BANDE JAUNE === */
html body .lm2253b-terms,
html body .lm2253c-terms{
    max-width:980px!important;
    margin:12px 0 14px!important;
    padding:10px 12px!important;
    background:#f5e7ad!important; /* jaune cassé */
    border:1px solid #e2d28d!important;
    border-radius:14px!important;
    box-shadow:none!important;
}
html body .lm2253b-terms-line,
html body .lm2253c-terms-line{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;
    column-gap:10px!important;
    align-items:start!important;
}
html body .lm2253b-terms-line > input[type="checkbox"],
html body .lm2253c-terms-line > input[type="checkbox"]{
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    margin:2px 0 0!important;
    padding:0!important;
    transform:none!important;
    justify-self:start!important;
    align-self:start!important;
    position:static!important;
}
html body .lm2253b-terms-copy,
html body .lm2253c-terms-copy{
    min-width:0!important;
}
html body .lm2253b-terms-title,
html body .lm2253c-terms-title{
    margin:0 0 4px!important;
    font-size:12.5px!important;
    line-height:1.35!important;
    font-weight:700!important;
    color:#2b2d16!important;
}
html body .lm2253b-terms-summary,
html body .lm2253b-terms-version,
html body .lm2253c-terms-summary,
html body .lm2253c-terms-version{
    margin:0!important;
    font-size:11px!important;
    line-height:1.35!important;
    color:#524f37!important;
}
html body .lm2253b-terms-summary,
html body .lm2253c-terms-summary{margin-bottom:2px!important;}
html body .lm2253b-terms-copy a,
html body .lm2253c-terms-copy a{
    color:#3556b8!important;
    font-weight:800!important;
}
html body .lm2253b-terms .lm2253b-terms-title strong,
html body .lm2253c-terms .lm2253c-terms-title strong{font-weight:700!important;}

/* garder les boutons légers */
html body .btn,
html body button,
html body input[type="submit"],
html body input[type="button"],
html body a.btn,
html body .button{
    background:transparent!important;
    color:#0d6b37!important;
    border:0!important;
    box-shadow:none!important;
    font-weight:800!important;
    text-decoration:none!important;
}
html body .btn:hover,
html body button:hover,
html body input[type="submit"]:hover,
html body input[type="button"]:hover,
html body a.btn:hover,
html body .button:hover{background:transparent!important;color:#07592f!important;text-decoration:underline!important;}
/* === FIN V22.53C OWNER REGISTER BANDE JAUNE === */


/* === V22.55 PORTAIL PROPRIETAIRE === */
body.lm-owner-portal-page main,
body.lm-owner-portal-page .wrap,
body.lm-owner-portal-page .container{
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* zone titre */
body.lm-owner-portal-page main > h1,
body.lm-owner-portal-page .wrap > h1,
body.lm-owner-portal-page .container > h1{
    font-size:32px!important;
    line-height:1.12!important;
    margin:22px 0 8px!important;
    color:#17351f!important;
}
body.lm-owner-portal-page main > p:first-of-type,
body.lm-owner-portal-page .wrap > p:first-of-type{
    color:#6f7b72!important;
    margin-bottom:18px!important;
}

/* formulaires propriétaire */
body.lm-owner-portal-page form{
    background:#fff!important;
    border-radius:20px!important;
    padding:18px!important;
    box-shadow:0 8px 24px rgba(20,55,32,.04)!important;
}
body.lm-owner-login-page form{
    max-width:720px!important;
    margin:18px auto 26px!important;
}
body.lm-owner-portal-page form label{
    display:block!important;
    margin-bottom:12px!important;
    font-weight:700!important;
    color:#17351f!important;
}
body.lm-owner-portal-page form input,
body.lm-owner-portal-page form select,
body.lm-owner-portal-page form textarea{
    width:100%!important;
    box-sizing:border-box!important;
    margin-top:6px!important;
    border:1px solid #e2e8e2!important;
    background:#f8faf8!important;
    border-radius:13px!important;
    padding:11px 12px!important;
    color:#243d2d!important;
    box-shadow:none!important;
}
body.lm-owner-portal-page form input:focus,
body.lm-owner-portal-page form select:focus,
body.lm-owner-portal-page form textarea:focus{
    outline:2px solid rgba(13,107,55,.12)!important;
    border-color:#bdd8c5!important;
}

/* boutons : texte vert léger */
body.lm-owner-portal-page button,
body.lm-owner-portal-page input[type="submit"],
body.lm-owner-portal-page .btn,
body.lm-owner-portal-page a.btn{
    background:transparent!important;
    color:#0d6b37!important;
    border:0!important;
    box-shadow:none!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 4px!important;
    font-weight:800!important;
    text-decoration:none!important;
}
body.lm-owner-portal-page button:hover,
body.lm-owner-portal-page input[type="submit"]:hover,
body.lm-owner-portal-page .btn:hover,
body.lm-owner-portal-page a.btn:hover{
    color:#07592f!important;
    text-decoration:underline!important;
}

/* liens fonctionnels dashboard */
body.lm-owner-dashboard-page a[href*="owner_property_edit"],
body.lm-owner-dashboard-page a[href*="owner_documents"],
body.lm-owner-dashboard-page a[href*="property.php?id="],
body.lm-owner-dashboard-page a[href*="owner_account"],
body.lm-owner-dashboard-page a[href*="owner_logout"]{
    display:inline-block!important;
    margin:4px 10px 4px 0!important;
    color:#0d6b37!important;
    font-weight:800!important;
    text-decoration:none!important;
}

/* tableaux / listes de biens */
body.lm-owner-dashboard-page table{
    width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 8px 24px rgba(20,55,32,.04)!important;
}
body.lm-owner-dashboard-page th,
body.lm-owner-dashboard-page td{
    padding:12px!important;
    border-bottom:1px solid #edf0ed!important;
    text-align:left!important;
    vertical-align:top!important;
}
body.lm-owner-dashboard-page th{
    font-size:11px!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    color:#69766e!important;
    background:#f7f9f7!important;
}

/* cadres génériques dashboard */
body.lm-owner-dashboard-page .card,
body.lm-owner-dashboard-page .box,
body.lm-owner-dashboard-page section{
    border-radius:18px!important;
}

/* login */
body.lm-owner-login-page main,
body.lm-owner-login-page .wrap,
body.lm-owner-login-page .container{
    max-width:980px!important;
}
body.lm-owner-login-page form + p,
body.lm-owner-login-page form + a{
    max-width:720px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* mobile */
@media(max-width:760px){
  body.lm-owner-portal-page main,
  body.lm-owner-portal-page .wrap,
  body.lm-owner-portal-page .container{
      padding-left:12px!important;
      padding-right:12px!important;
  }
  body.lm-owner-portal-page main > h1,
  body.lm-owner-portal-page .wrap > h1{font-size:27px!important}
  body.lm-owner-dashboard-page table{display:block!important;overflow-x:auto!important}
}
/* === FIN V22.55 PORTAIL PROPRIETAIRE === */


/* === V22.61 FORMULAIRE PROPRIETAIRE INTELLIGENT === */
body.lm2261-owner-edit .lm2261-smart-summary{
    margin:12px 0 16px;
    padding:12px 14px;
    background:#fff8dc;
    border:1px solid #eadca6;
    border-radius:14px;
    font-size:12px;
    line-height:1.45;
    color:#5b5439;
}
body.lm2261-owner-edit .lm2261-smart-summary strong{
    color:#17351f;
    font-size:13px;
}
body.lm2261-owner-edit .lm2261-hidden{
    display:none!important;
}
body.lm2261-owner-edit .lm2261-dynamic-note{
    margin:5px 0 10px;
    color:#6d786f;
    font-size:11px;
}
body.lm2261-owner-edit .lm2261-section-active{
    animation:lm2261fade .16s ease-out;
}
@keyframes lm2261fade{
    from{opacity:.45;transform:translateY(2px)}
    to{opacity:1;transform:none}
}

/* alléger encore les gros espaces du long formulaire */
body.lm2261-owner-edit .field-group,
body.lm2261-owner-edit .form-section,
body.lm2261-owner-edit fieldset{
    margin-bottom:14px!important;
}

/* boutons : toujours soft */
body.lm2261-owner-edit button,
body.lm2261-owner-edit input[type="submit"],
body.lm2261-owner-edit .btn,
body.lm2261-owner-edit a.btn{
    background:transparent!important;
    color:#0d6b37!important;
    border:0!important;
    box-shadow:none!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 3px!important;
    font-weight:800!important;
}
body.lm2261-owner-edit button:hover,
body.lm2261-owner-edit input[type="submit"]:hover,
body.lm2261-owner-edit .btn:hover,
body.lm2261-owner-edit a.btn:hover{
    color:#07592f!important;
    text-decoration:underline!important;
}
/* === FIN V22.61 === */
