
/* SCI LemMarket V4.0 - Responsive mobile complet */
.mobile-menu-toggle{
    display:none;
    background:#0d6b37;
    color:#fff;
    border:0;
    border-radius:999px;
    padding:10px 16px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(13,107,55,.18);
}

/* Infobulles */
.tip{
    display:inline-grid;
    place-items:center;
    width:18px;
    height:18px;
    margin-left:6px;
    border-radius:50%;
    background:#eaf5ea;
    color:#0d6b37;
    border:1px solid #cfe0cf;
    font-size:12px;
    font-weight:900;
    cursor:help;
    position:relative;
}
.tip:hover::after,
.tip:focus::after{
    content:attr(data-tip);
    position:absolute;
    left:50%;
    bottom:135%;
    transform:translateX(-50%);
    min-width:220px;
    max-width:300px;
    background:#0d4a24;
    color:#fff;
    padding:10px 12px;
    border-radius:12px;
    font-size:12px;
    line-height:1.35;
    font-weight:800;
    box-shadow:0 12px 28px rgba(0,0,0,.2);
    z-index:99999;
    text-align:left;
}
.tip:hover::before,
.tip:focus::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:105%;
    transform:translateX(-50%);
    border:7px solid transparent;
    border-top-color:#0d4a24;
    z-index:99999;
}
.form-help{
    display:block;
    color:#5d6f61;
    font-size:12px;
    line-height:1.35;
    margin-top:4px;
    font-weight:700;
}
.notice-success{
    background:#e9f8ec;
    border:1px solid #b9dfc0;
    color:#0d4a24;
    border-radius:18px;
    padding:16px;
    font-weight:900;
    margin:16px 0;
}
.notice-warning{
    background:#fff7d6;
    border:1px solid #e2c96b;
    color:#594715;
    border-radius:18px;
    padding:16px;
    font-weight:900;
    margin:16px 0;
}
.admin-notification{
    background:#fff7d6;
    border-left:5px solid #d9a400;
    border-radius:14px;
    padding:14px;
    margin:12px 0;
    font-weight:900;
}
.admin-notification strong{color:#0d4a24}
.notif-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.notif-grid div{background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 22px #14321412;border:1px solid #e3e9e3}
.notif-grid strong{display:block;color:#0d4a24;font-size:25px}
@media(max-width:900px){
    body{overflow-x:hidden}
    .top{
        display:grid!important;
        grid-template-columns:1fr auto!important;
        align-items:center!important;
        gap:10px!important;
        padding:12px 14px!important;
        position:sticky!important;
        top:0!important;
        z-index:9999!important;
    }
    .top .brand{min-width:0!important;width:100%!important;gap:10px!important}
    .brand img{height:48px!important;max-width:74px!important}
    .brand-text b{font-size:17px!important;line-height:1.05!important}
    .brand-text small{font-size:9px!important;max-width:220px!important;line-height:1.1!important}
    .mobile-menu-toggle{
        display:inline-flex!important;
        align-items:center;
        justify-content:center;
        grid-column:2!important;
        grid-row:1!important;
        margin-left:auto!important;
        width:auto!important;
    }
    .top nav{
        grid-column:1 / -1!important;
        display:none!important;
        width:100%!important;
        flex-direction:column!important;
        gap:6px!important;
        padding:10px 0 4px!important;
        border-top:1px solid #cfe0cf!important;
        background:transparent!important;
    }
    .top nav.mobile-open{display:flex!important}
    .top nav a{
        display:block!important;
        width:100%!important;
        box-sizing:border-box!important;
        background:#fff!important;
        border:1px solid #dce8dc!important;
        padding:12px 14px!important;
        border-radius:14px!important;
        font-size:15px!important;
    }
    .lang-form{width:100%!important;margin:4px 0 0!important}
    .lang-form select{
        width:100%!important;
        min-width:100%!important;
        text-align:left!important;
        border-radius:14px!important;
    }
    .premium-home-hero{
        margin:12px 10px 0!important;
        border-radius:22px!important;
        padding:26px 18px!important;
        min-height:auto!important;
    }
    .premium-home-hero h1{font-size:28px!important;line-height:1.12!important;max-width:100%!important}
    .premium-home-hero p{font-size:14px!important}
    .hero-cta{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
    .hero-cta .btn{width:100%!important;text-align:center!important;box-sizing:border-box!important}
    .wrap{padding:0 10px!important;margin:14px auto!important}
    .air-search,.improved-search{
        margin:10px 10px 18px!important;
        border-radius:22px!important;
        grid-template-columns:1fr!important;
        padding:12px!important;
    }
    .air-search label{border-right:0!important;border-bottom:1px solid #e2e8e2!important;padding:8px 6px!important}
    .air-search button{width:100%!important;margin:8px 0 0!important}
    .home-stats,.home-paths{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
    .city-row,.grid,.air-grid,.nearby-row{
        grid-template-columns:repeat(2, minmax(0, 1fr))!important;
        gap:10px!important;
    }
    .card{border-radius:18px!important;overflow:hidden!important}
    .card img{height:145px!important}
    .card div{padding:10px!important}
    .card h3{font-size:14px!important;line-height:1.2!important}
    .card p{font-size:12px!important;margin:6px 0!important}
    .price{font-size:13px!important}
    .pill{font-size:10px!important;padding:5px 7px!important;margin-bottom:4px!important;display:inline-block!important}
    .btn.small,.card .btn{padding:9px 10px!important;font-size:12px!important;border-radius:12px!important}
    .section-line{align-items:flex-start!important;gap:8px!important}
    .section-line h2,.city-head h2{font-size:21px!important}
    .city-head{gap:8px!important}
    .trust-grid,.services-grid,.service-row,.about-grid,.contact-grid,.reviews-grid,.notif-grid{
        grid-template-columns:1fr!important;
    }
    .detail-layout{grid-template-columns:1fr!important}
    .air-gallery{grid-template-columns:1fr!important;grid-template-rows:280px!important;border-radius:20px!important}
    .air-gallery .mini-photo{display:none!important}
    .booking-card{position:static!important;margin-top:18px!important}
    table{display:block!important;overflow-x:auto!important;white-space:nowrap!important}
    .footer-columns{grid-template-columns:1fr!important;padding:28px 16px!important}
}
@media(max-width:420px){
    .city-row,.grid,.air-grid,.nearby-row{
        grid-template-columns:repeat(2, minmax(0, 1fr))!important;
        gap:8px!important;
    }
    .card img{height:125px!important}
    .card h3{font-size:13px!important}
    .card p,.price{font-size:11px!important}
    .brand-text small{display:none!important}
}


/* SCI LemMarket V4.1 - icônes menu mobile + installation application */
.micon{display:none}
.pwa-install-btn{
    display:none;
    background:#0d6b37;
    color:#fff;
    border:0;
    border-radius:999px;
    padding:10px 14px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(13,107,55,.18);
}
@media(max-width:900px){
    .micon{
        display:inline-grid;
        place-items:center;
        width:28px;
        height:28px;
        margin-right:9px;
        border-radius:50%;
        background:#eaf5ea;
        color:#0d6b37;
        font-size:15px;
        vertical-align:middle;
        border:1px solid #dce8dc;
    }
    .top nav a{
        display:flex!important;
        align-items:center!important;
        gap:2px!important;
    }
    .pwa-install-btn{
        grid-column:1 / -1!important;
        display:inline-flex;
        justify-content:center;
        align-items:center;
        width:100%;
        margin-top:6px;
        background:#174f2b;
    }
}


/* SCI_LEMMARKET_MENU_R29_START
   Correction prudente du menu haut par CSS uniquement.
   Objectif : alléger le menu public sans modifier partials.php.
*/
header a[href*="zones_intervention.php"],
header a[href*="avis_clients.php"],
header a[href*="faq_immobilier.php"],
header a[href*="mentions-legales.php"],
header a[href*="experiences.php"],
header a[href*="blog.php"],
header a[href*="subscriber_register.php"],
header a[href*="admin/login.php"],
.header a[href*="zones_intervention.php"],
.header a[href*="avis_clients.php"],
.header a[href*="faq_immobilier.php"],
.header a[href*="mentions-legales.php"],
.header a[href*="experiences.php"],
.header a[href*="blog.php"],
.header a[href*="subscriber_register.php"],
.header a[href*="admin/login.php"],
nav a[href*="zones_intervention.php"],
nav a[href*="avis_clients.php"],
nav a[href*="faq_immobilier.php"],
nav a[href*="mentions-legales.php"],
nav a[href*="experiences.php"],
nav a[href*="blog.php"],
nav a[href*="subscriber_register.php"],
nav a[href*="admin/login.php"] {
    display: none !important;
}

/* On garde les mêmes liens visibles en pied de page */
footer a[href*="faq"],
footer a[href*="mentions"],
footer a[href*="privacy"],
footer a[href*="terms"],
footer a[href*="security"],
footer a[href*="verification"],
footer a[href*="conditions_commissions"],
footer a[href*="guarantees"],
footer a[href*="install_app"] {
    display: inline !important;
}

/* Meilleure respiration du menu haut */
header nav,
.header nav,
nav {
    gap: 18px;
}

/* SCI_LEMMARKET_MENU_R29_END */
