/*
Theme Name: LeMaterielIndustriel - Listeo Child
Theme URI: https://www.lematerielindustriel.fr
Author: Jerome Redureau
Author URI: https://www.lematerielindustriel.fr
Description: Theme enfant pour LeMaterielIndustriel.fr — Marketplace B2B materiel industriel.
Template: listeo
Version: 1.3.1
Requires at least: 6.0
Requires PHP: 8.1
License: Proprietary
Text Domain: listeo-child
*/

/* ===== VARIABLES IDENTITE VISUELLE — Branding V2 ===== */
:root {
    --lmi-primary:       #1F3A93;
    --lmi-primary-dark:  #162d73;
    --lmi-primary-light: #2a4cb8;
    --lmi-bg-light:      #F5F7FC;
    --lmi-bg-dark:       #0B1C3D;
    --lmi-bg-white:      #FFFFFF;
    --lmi-color-title:   #2B2F38;
    --lmi-color-text:    #4A505A;
    --lmi-color-muted:   #7A8090;
    --lmi-accent:        #E8ECF9;
    --lmi-border:        #D8DDE8;
    --lmi-success:       #27AE60;
    --lmi-warning:       #F39C12;
    --lmi-danger:        #E74C3C;
    --lmi-font-title:    'Montserrat', 'Segoe UI', Arial, sans-serif;
    --lmi-font-body:     'Inter', 'Helvetica Neue', Arial, sans-serif;
    --lmi-font-xs:       0.75rem;
    --lmi-font-sm:       0.875rem;
    --lmi-font-base:     1rem;
    --lmi-font-lg:       1.125rem;
    --lmi-font-xl:       1.25rem;
    --lmi-font-2xl:      1.5rem;
    --lmi-font-3xl:      1.875rem;
    --lmi-font-4xl:      2.25rem;
    --lmi-space-sm:      0.5rem;
    --lmi-space-md:      1rem;
    --lmi-space-lg:      1.5rem;
    --lmi-space-xl:      2rem;
    --lmi-radius-sm:     4px;
    --lmi-radius-md:     8px;
    --lmi-radius-lg:     12px;
    --lmi-radius-full:   9999px;
    --lmi-shadow-sm:     0 1px 3px rgba(31,58,147,0.08);
    --lmi-shadow-md:     0 4px 12px rgba(31,58,147,0.12);
    --lmi-shadow-lg:     0 8px 24px rgba(31,58,147,0.16);
    --lmi-transition:    all 0.2s ease-in-out;
}

/* ===== GOOGLE FONTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

/* ===== TYPOGRAPHIE ===== */
body {
    font-family: var(--lmi-font-body);
    color: var(--lmi-color-text);
    background-color: var(--lmi-bg-light);
    font-size: var(--lmi-font-base);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6,.listing-title,.widget-title,.section-title {
    font-family: var(--lmi-font-title);
    color: var(--lmi-color-title);
    font-weight: 700;
    line-height: 1.3;
}
h1{font-size:var(--lmi-font-4xl);}
h2{font-size:var(--lmi-font-3xl);}
h3{font-size:var(--lmi-font-2xl);}
h4{font-size:var(--lmi-font-xl);}
h5{font-size:var(--lmi-font-lg);}
p { color:var(--lmi-color-text); line-height:1.7; margin-bottom:var(--lmi-space-md); }

/* ===== HEADER ===== */
#header {
    background-color: var(--lmi-bg-dark) !important;
    border-bottom: 3px solid var(--lmi-primary);
}
#header .main-nav > ul > li > a, nav.main-nav > ul > li > a {
    font-family: var(--lmi-font-title);
    font-weight: 500;
    color: #fff;
    transition: var(--lmi-transition);
}
#header .main-nav > ul > li > a:hover { color: var(--lmi-primary-light); }
#header.cloned { background-color: var(--lmi-bg-dark) !important; box-shadow: var(--lmi-shadow-lg); }

/* ===== LIENS & BOUTONS ===== */
a { color: var(--lmi-primary); }
a:hover { color: var(--lmi-primary-dark); }

.button,.btn,input[type="submit"],button[type="submit"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button {
    background-color: var(--lmi-primary) !important;
    border-color: var(--lmi-primary) !important;
    color: #fff !important;
    font-family: var(--lmi-font-title);
    font-weight: 600;
    border-radius: var(--lmi-radius-md);
    transition: var(--lmi-transition);
}
.button:hover,.btn:hover,input[type="submit"]:hover {
    background-color: var(--lmi-primary-dark) !important;
    transform: translateY(-1px);
    box-shadow: var(--lmi-shadow-md);
}
.button.white,.btn-secondary {
    background-color: transparent !important;
    border: 2px solid var(--lmi-primary) !important;
    color: var(--lmi-primary) !important;
}
.button.white:hover { background-color: var(--lmi-primary) !important; color: #fff !important; }

/* ===== HERO ===== */
.main-search-container,.intro-banner,#home-content .big-padding { background-color: var(--lmi-bg-dark); }
.intro-banner h1,.main-search-container h1,.intro-banner h2 { font-family:var(--lmi-font-title); color:#fff; font-weight:800; }
.intro-banner .slogan,.intro-banner p { color:rgba(255,255,255,0.85); font-size:var(--lmi-font-lg); }
.main-search-input { border-radius:var(--lmi-radius-lg); box-shadow:var(--lmi-shadow-lg); }

/* ===== ANNONCES ===== */
.listing-item,.listing-item-grid,.job-listing {
    background-color: var(--lmi-bg-white);
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-lg);
    box-shadow: var(--lmi-shadow-sm);
    transition: var(--lmi-transition);
}
.listing-item:hover,.listing-item-grid:hover {
    box-shadow: var(--lmi-shadow-lg);
    transform: translateY(-2px);
    border-color: var(--lmi-primary);
}
.listing-item-title,.job-listing h4 a,.listing-title { font-family:var(--lmi-font-title); font-weight:600; color:var(--lmi-color-title); }
.listing-item-title:hover,.listing-title:hover { color:var(--lmi-primary); }
.listing-item-category,.tag,.listing-tag {
    background-color:var(--lmi-accent); color:var(--lmi-primary);
    font-family:var(--lmi-font-title); font-weight:600; font-size:var(--lmi-font-xs);
    text-transform:uppercase; letter-spacing:0.05em;
    border-radius:var(--lmi-radius-sm); padding:2px 8px;
}
.listing-price,.job-listing .listing-price { font-family:var(--lmi-font-title); font-weight:700; color:var(--lmi-primary); font-size:var(--lmi-font-xl); }
.listing-badge,.verified-badge { background-color:var(--lmi-primary); color:#fff; border-radius:var(--lmi-radius-sm); }

/* ===== ESTIMATION PRIX [lmi_estimation_prix] ===== */
.lmi-estimation-prix {
    background: linear-gradient(135deg, var(--lmi-accent) 0%, #e2e8f8 100%);
    border-left: 4px solid var(--lmi-primary);
    border-radius: var(--lmi-radius-md);
    padding: var(--lmi-space-lg);
    margin: var(--lmi-space-lg) 0;
}
.lmi-estimation-prix h4 { font-family:var(--lmi-font-title); color:var(--lmi-primary); font-size:var(--lmi-font-lg); margin-bottom:var(--lmi-space-md); }
.lmi-prix-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--lmi-space-md); text-align:center; }
.lmi-prix-item { background:var(--lmi-bg-white); border-radius:var(--lmi-radius-md); padding:var(--lmi-space-md); box-shadow:var(--lmi-shadow-sm); }
.lmi-prix-item .label { font-size:var(--lmi-font-xs); color:var(--lmi-color-muted); text-transform:uppercase; letter-spacing:0.1em; font-weight:600; }
.lmi-prix-item .valeur { font-family:var(--lmi-font-title); font-size:var(--lmi-font-xl); font-weight:700; color:var(--lmi-color-title); margin-top:4px; }
.lmi-prix-item.median .valeur { color:var(--lmi-primary); font-size:var(--lmi-font-2xl); }
.lmi-disclaimer { font-size:var(--lmi-font-xs); color:var(--lmi-color-muted); margin-top:var(--lmi-space-md); font-style:italic; }

/* ===== FORMULAIRE ANNONCE ===== */
.add-listing-form .step-indicator,.listing-step-counter { background-color:var(--lmi-bg-dark); color:#fff; border-radius:var(--lmi-radius-lg); }
.add-listing-form .step-indicator .active,.listing-step-counter .active { background-color:var(--lmi-primary); }
.add-listing-form .form-row label { font-family:var(--lmi-font-title); font-weight:600; color:var(--lmi-color-title); font-size:var(--lmi-font-sm); }
.add-listing-form .form-row input,
.add-listing-form .form-row select,
.add-listing-form .form-row textarea {
    border:1px solid var(--lmi-border); border-radius:var(--lmi-radius-md);
    font-family:var(--lmi-font-body); transition:var(--lmi-transition);
}
.add-listing-form .form-row input:focus,
.add-listing-form .form-row select:focus,
.add-listing-form .form-row textarea:focus {
    border-color:var(--lmi-primary); box-shadow:0 0 0 3px rgba(31,58,147,0.1); outline:none;
}

/* ===== FILTRES SIDEBAR ===== */
.panel-drop.active .panel-name { color:var(--lmi-primary); font-family:var(--lmi-font-title); font-weight:600; }
.chosen-container .chosen-results li.highlighted { background-color:var(--lmi-primary); }
.active-filter-tag { background-color:var(--lmi-primary); color:#fff; border-radius:var(--lmi-radius-full); font-size:var(--lmi-font-xs); padding:4px 12px; }

/* ===== TITLEBAR ===== */
#titlebar { background-color:var(--lmi-bg-dark); }
#titlebar h2,#titlebar h1 { font-family:var(--lmi-font-title); color:#fff; font-weight:700; }
#titlebar nav.breadcrumbs a { color:rgba(255,255,255,0.7); }
#titlebar nav.breadcrumbs a:hover { color:#fff; }

/* ===== FOOTER ===== */
#footer { background-color:var(--lmi-bg-dark); color:rgba(255,255,255,0.8); }
#footer .footer-top { border-bottom:1px solid rgba(255,255,255,0.1); }
#footer h4,#footer .widget-title { font-family:var(--lmi-font-title); color:#fff; font-weight:700; font-size:var(--lmi-font-base); text-transform:uppercase; letter-spacing:0.1em; }
#footer a { color:rgba(255,255,255,0.7); transition:var(--lmi-transition); }
#footer a:hover { color:var(--lmi-primary-light); }
#footer .footer-bottom { background-color:rgba(0,0,0,0.2); font-size:var(--lmi-font-sm); color:rgba(255,255,255,0.5); }

/* ===== WOOCOMMERCE ===== */
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family:var(--lmi-font-title); font-weight:600; color:var(--lmi-color-title); }
.woocommerce ul.products li.product .price { color:var(--lmi-primary); font-family:var(--lmi-font-title); font-weight:700; }
.woocommerce a.button.alt,.woocommerce button.button.alt { background-color:var(--lmi-primary) !important; }

/* ===== PAGINATION ===== */
ul.pagination li.active a,ul.pagination li a:hover { background-color:var(--lmi-primary); border-color:var(--lmi-primary); color:#fff; }

/* ===== NOTIFICATIONS ===== */
.notification.success { background-color:rgba(39,174,96,0.1); border-left:4px solid var(--lmi-success); }
.notification.error { background-color:rgba(231,76,60,0.1); border-left:4px solid var(--lmi-danger); }
.notification.warning { background-color:rgba(243,156,18,0.1); border-left:4px solid var(--lmi-warning); }

/* ===== SELECTEUR DE LANGUE FR/EN ===== */

/* Conteneur principal — dernier item du menu principal */
.lmi-lang-switcher {
    position: relative;
    margin-left: auto !important;          /* pousse le switcher à droite */
    display: flex !important;
    align-items: center;
}

/* Bouton toggle visible */
.lmi-lang-toggle {
    display: flex !important;
    align-items: center;
    gap: 5px;
    color: #fff !important;
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-sm);
    font-weight: 600;
    padding: 6px 12px !important;
    background: rgba(255,255,255,0.12) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    border-radius: var(--lmi-radius-full) !important;
    cursor: pointer;
    transition: var(--lmi-transition);
    white-space: nowrap;
    text-decoration: none !important;
    letter-spacing: 0.04em;
}
.lmi-lang-toggle:hover {
    background: rgba(255,255,255,0.22) !important;
    color: #fff !important;
}
.lmi-lang-arrow {
    font-size: 0.6rem;
    opacity: 0.75;
    transition: transform 0.2s ease;
}
.lmi-lang-switcher.lmi-lang-open .lmi-lang-arrow {
    transform: rotate(180deg);
}

/* Emoji drapeau */
.lmi-lang-emoji {
    font-size: 1.1rem;
    line-height: 1;
}

/* Dropdown */
.lmi-lang-dropdown {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: 160px !important;
    background: var(--lmi-bg-dark) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: var(--lmi-radius-md) !important;
    box-shadow: var(--lmi-shadow-lg) !important;
    z-index: 9999 !important;
    padding: 6px 0 !important;
    list-style: none !important;
    margin: 0 !important;
}
.lmi-lang-switcher.lmi-lang-open .lmi-lang-dropdown {
    display: block !important;
}

/* Items du dropdown */
.lmi-lang-dropdown .menu-item,
.lmi-lang-dropdown li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}
.lmi-lang-dropdown a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 9px 16px !important;
    color: rgba(255,255,255,0.8) !important;
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-sm);
    font-weight: 500;
    text-decoration: none !important;
    transition: var(--lmi-transition);
}
.lmi-lang-dropdown a:hover {
    background: rgba(255,255,255,0.08) !important;
    color: #fff !important;
}
.lmi-lang-dropdown .lmi-lang-active a {
    color: var(--lmi-primary-light) !important;
    font-weight: 700;
}

/* Polylang : réinitialiser les styles natifs */
.lmi-lang-switcher--polylang .lmi-lang-dropdown ul {
    display: block !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* ===== RESPONSIVE ===== */
@media(max-width:991px){
    :root{--lmi-font-4xl:1.875rem;--lmi-font-3xl:1.5rem;}
    .lmi-prix-grid{grid-template-columns:1fr;}
    .lmi-lang-switcher { margin-left: 0 !important; }
    .lmi-lang-dropdown {
        right: auto !important;
        left: 0 !important;
    }
}
@media(max-width:767px){
    :root{--lmi-font-4xl:1.5rem;--lmi-font-3xl:1.25rem;}
    .listing-item:hover{transform:none;}
    .lmi-lang-short { display: none; }  /* n'afficher que le drapeau sur mobile */
}

/* ============================================================
   NAVIGATION SECONDAIRE — Raccourcis catégories (seconde ligne header)
   ============================================================ */

#lmi-secondary-nav,
.lmi-secondary-nav {
    background-color: var(--lmi-bg-dark);
    border-top: 1px solid rgba(255,255,255,0.1);
    border-bottom: 2px solid var(--lmi-primary);
    width: 100%;
    position: relative;
    z-index: 999;
}
.lmi-secondary-nav-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--lmi-space-lg);
}
.lmi-secondary-nav-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lmi-secondary-nav-list > li > a {
    display: block;
    padding: 8px 14px;
    font-family: var(--lmi-font-title);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,0.78);
    text-decoration: none;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: var(--lmi-transition);
    border-bottom: 2px solid transparent;
}
.lmi-secondary-nav-list > li > a:hover,
.lmi-secondary-nav-list > li.current-menu-item > a {
    color: #fff;
    border-bottom-color: var(--lmi-primary-light);
}
/* Lien "Toutes les catégories →" */
.lmi-secondary-nav-list > li.lmi-nav-all-cats > a {
    color: var(--lmi-primary-light);
    font-weight: 600;
    margin-left: auto;
}
.lmi-secondary-nav-list > li.lmi-nav-all-cats > a:hover {
    color: #fff;
}

/* Bouton "Déposer une annonce" dans nav principale */
#header .main-nav > ul > li.lmi-nav-cta > a,
nav.main-nav > ul > li.lmi-nav-cta > a {
    background-color: var(--lmi-primary) !important;
    color: #fff !important;
    border-radius: var(--lmi-radius-full) !important;
    padding: 6px 16px !important;
    font-weight: 700 !important;
    transition: var(--lmi-transition);
}
#header .main-nav > ul > li.lmi-nav-cta > a:hover {
    background-color: var(--lmi-primary-dark) !important;
}


/* ============================================================
   FOOTER — Menus 4 colonnes LMI
   ============================================================ */

#lmi-footer-menus,
.lmi-footer-menus {
    width: 100%;
    padding: var(--lmi-space-xl) 0 var(--lmi-space-lg);
}
.lmi-footer-menus-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--lmi-space-lg);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--lmi-space-xl);
}
.lmi-footer-col-title {
    font-family: var(--lmi-font-title) !important;
    font-size: var(--lmi-font-sm) !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    margin: 0 0 var(--lmi-space-md) !important;
    padding-bottom: var(--lmi-space-sm) !important;
    border-bottom: 1px solid rgba(255,255,255,0.15) !important;
}
.lmi-footer-col-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.lmi-footer-col-list li { margin-bottom: 6px; }
.lmi-footer-col-list a {
    color: rgba(255,255,255,0.65);
    font-size: var(--lmi-font-sm);
    text-decoration: none;
    transition: var(--lmi-transition);
    display: inline-block;
}
.lmi-footer-col-list a:hover { color: #fff; }

/* Lien "Gestion des cookies" — déclenche le gestionnaire RGPD */
.lmi-cookie-manager-trigger { cursor: pointer; }


/* ============================================================
   FILTRES TRANSVERSAUX — Options complémentaires de recherche
   ============================================================ */

.lmi-search-extra-filters {
    margin-top: var(--lmi-space-md);
    padding-top: var(--lmi-space-md);
    border-top: 1px solid var(--lmi-border);
}
.lmi-filter-options-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: var(--lmi-space-sm);
}
.lmi-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 12px;
    background: var(--lmi-bg-white);
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-full);
    font-size: var(--lmi-font-xs);
    font-family: var(--lmi-font-title);
    font-weight: 500;
    color: var(--lmi-color-text);
    cursor: pointer;
    transition: var(--lmi-transition);
    user-select: none;
}
.lmi-filter-chip:hover {
    border-color: var(--lmi-primary);
    color: var(--lmi-primary);
}
.lmi-filter-chip input[type="checkbox"] {
    accent-color: var(--lmi-primary);
    width: 14px;
    height: 14px;
    margin: 0;
    cursor: pointer;
}
.lmi-filter-chip input[type="checkbox"]:checked + span {
    color: var(--lmi-primary);
    font-weight: 600;
}
.lmi-filter-chip:has(input:checked) {
    background-color: var(--lmi-accent);
    border-color: var(--lmi-primary);
    color: var(--lmi-primary);
}

/* Bascule Prix HT / TTC */
.lmi-price-mode-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: var(--lmi-space-sm);
}
.lmi-price-mode-label {
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-xs);
    font-weight: 600;
    color: var(--lmi-color-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.lmi-price-mode-option {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: var(--lmi-font-sm);
    font-family: var(--lmi-font-title);
    font-weight: 500;
    cursor: pointer;
}
.lmi-price-mode-option input[type="radio"] {
    accent-color: var(--lmi-primary);
    cursor: pointer;
}


/* ============================================================
   ACTIONS SUR L'ANNONCE — Partager, Signaler
   ============================================================ */

.lmi-listing-actions-extra {
    display: flex;
    align-items: center;
    gap: var(--lmi-space-sm);
    margin-top: var(--lmi-space-sm);
}
.lmi-btn-share,
.lmi-btn-report {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    font-size: var(--lmi-font-xs);
    font-family: var(--lmi-font-title);
    font-weight: 600;
    border-radius: var(--lmi-radius-full);
    border: 1px solid var(--lmi-border);
    background: transparent;
    cursor: pointer;
    transition: var(--lmi-transition);
    text-decoration: none;
    color: var(--lmi-color-text);
}
.lmi-btn-share:hover { background: var(--lmi-accent); border-color: var(--lmi-primary); color: var(--lmi-primary); }
.lmi-btn-report      { color: var(--lmi-color-muted); }
.lmi-btn-report:hover { border-color: var(--lmi-danger); color: var(--lmi-danger); }

.lmi-share-wrapper { position: relative; }
.lmi-share-dropdown {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    background: #fff;
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-md);
    box-shadow: var(--lmi-shadow-md);
    min-width: 160px;
    list-style: none;
    margin: 0;
    padding: 4px 0;
    z-index: 999;
}
.lmi-btn-share[aria-expanded="true"] + .lmi-share-dropdown { display: block; }
.lmi-share-dropdown li a,
.lmi-share-dropdown li button {
    display: block;
    width: 100%;
    padding: 8px 16px;
    font-size: var(--lmi-font-sm);
    color: var(--lmi-color-text);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: var(--lmi-transition);
}
.lmi-share-dropdown li a:hover,
.lmi-share-dropdown li button:hover { background: var(--lmi-bg-light); color: var(--lmi-primary); }


/* ============================================================
   SAUVEGARDER LA RECHERCHE — Barre flottante
   ============================================================ */

.lmi-save-search-bar {
    position: fixed;
    bottom: var(--lmi-space-lg);
    right: var(--lmi-space-lg);
    z-index: 9990;
}
.lmi-btn-save-search {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: var(--lmi-primary);
    color: #fff;
    border-radius: var(--lmi-radius-full);
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-sm);
    font-weight: 600;
    text-decoration: none;
    box-shadow: var(--lmi-shadow-lg);
    transition: var(--lmi-transition);
}
.lmi-btn-save-search:hover {
    background: var(--lmi-primary-dark);
    color: #fff;
    transform: translateY(-2px);
}


/* ============================================================
   RESPONSIVE — Ajustements v1.2.0
   ============================================================ */

@media (max-width: 991px) {
    .lmi-footer-menus-inner { grid-template-columns: repeat(2, 1fr); }
    .lmi-secondary-nav-list { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .lmi-secondary-nav-list > li > a { padding: 8px 10px; font-size: 11px; }
    .lmi-save-search-bar { bottom: var(--lmi-space-md); right: var(--lmi-space-md); }
}
@media (max-width: 767px) {
    .lmi-footer-menus-inner { grid-template-columns: 1fr 1fr; gap: var(--lmi-space-lg); }
    .lmi-filter-options-row { gap: 6px; }
    .lmi-btn-save-search { font-size: var(--lmi-font-xs); padding: 8px 14px; }
}
@media (max-width: 480px) {
    .lmi-footer-menus-inner { grid-template-columns: 1fr; }
    .lmi-secondary-nav { display: none; } /* masqué sur très petit écran */
}


/* ============================================================
   LOGO DANS LA NAVIGATION PRINCIPALE (v1.3.0)
   Classe lmi-nav-logo ajoutée au premier item du menu header.
   ============================================================ */

#header .main-nav > ul > li.lmi-nav-logo > a,
nav.main-nav > ul > li.lmi-nav-logo > a {
    font-family: var(--lmi-font-title);
    font-size: 1.05rem;
    font-weight: 800;
    color: #fff !important;
    letter-spacing: -0.02em;
    padding: 6px 4px 6px 0 !important;
    background: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    margin-right: var(--lmi-space-md);
    white-space: nowrap;
}
#header .main-nav > ul > li.lmi-nav-logo > a:hover {
    color: var(--lmi-primary-light) !important;
    transform: none;
    box-shadow: none;
}
/* Séparateur visuel après le logo */
#header .main-nav > ul > li.lmi-nav-logo {
    border-right: 1px solid rgba(255,255,255,0.18);
    padding-right: var(--lmi-space-md);
    margin-right: var(--lmi-space-sm);
}


/* ============================================================
   FILTRES ÉTAT & DATE — Selects transversaux (v1.3.0)
   ============================================================ */

.lmi-filter-select-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: var(--lmi-space-sm);
    flex-wrap: wrap;
}
.lmi-filter-select-label {
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-xs);
    font-weight: 600;
    color: var(--lmi-color-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    min-width: 130px;
    white-space: nowrap;
}
.lmi-filter-select {
    flex: 1;
    min-width: 160px;
    max-width: 240px;
    padding: 6px 10px;
    font-family: var(--lmi-font-body);
    font-size: var(--lmi-font-sm);
    color: var(--lmi-color-text);
    background: var(--lmi-bg-white);
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-md);
    cursor: pointer;
    transition: var(--lmi-transition);
    appearance: auto;
}
.lmi-filter-select:focus {
    border-color: var(--lmi-primary);
    box-shadow: 0 0 0 3px rgba(31,58,147,0.10);
    outline: none;
}
.lmi-filter-select:hover {
    border-color: var(--lmi-primary);
}


/* ============================================================
   BOUTON "AFFINER MA RECHERCHE" (v1.3.0)
   ============================================================ */

.lmi-refine-search-wrapper {
    margin-top: var(--lmi-space-sm);
    display: flex;
    justify-content: flex-start;
}
.lmi-btn-refine-search {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-sm);
    font-weight: 600;
    color: var(--lmi-primary);
    background: var(--lmi-accent);
    border: 1px solid var(--lmi-primary);
    border-radius: var(--lmi-radius-full);
    cursor: pointer;
    transition: var(--lmi-transition);
    text-decoration: none;
}
.lmi-btn-refine-search:hover {
    background: var(--lmi-primary);
    color: #fff;
}
.lmi-refine-chevron {
    transition: transform 0.2s ease;
}
.lmi-btn-refine-search[aria-expanded="true"] .lmi-refine-chevron {
    transform: rotate(180deg);
}
/* Panneau filtres avancés — masqué par défaut, révélé par le toggle */
#lmi-advanced-filters-panel {
    display: none;
    margin-top: var(--lmi-space-sm);
    padding: var(--lmi-space-md);
    background: var(--lmi-bg-light);
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-md);
    animation: lmiSlideDown 0.2s ease;
}
@keyframes lmiSlideDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* ============================================================
   "LES UTILISATEURS RECHERCHENT AUSSI…" (v1.3.0)
   ============================================================ */

#lmi-related-searches,
.lmi-related-searches {
    display: none; /* affiché par JS après repositionnement */
    background: var(--lmi-bg-white);
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-lg);
    padding: var(--lmi-space-md) var(--lmi-space-lg);
    margin: var(--lmi-space-lg) 0;
}
.lmi-related-searches-inner {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--lmi-space-md);
}
.lmi-related-searches-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--lmi-font-title);
    font-size: var(--lmi-font-sm);
    font-weight: 700;
    color: var(--lmi-color-title);
    white-space: nowrap;
    padding-top: 2px;
}
.lmi-related-searches-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lmi-related-search-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    background: var(--lmi-bg-light);
    border: 1px solid var(--lmi-border);
    border-radius: var(--lmi-radius-full);
    font-size: var(--lmi-font-xs);
    font-family: var(--lmi-font-title);
    font-weight: 500;
    color: var(--lmi-color-text);
    text-decoration: none;
    transition: var(--lmi-transition);
}
.lmi-related-search-tag:hover {
    background: var(--lmi-accent);
    border-color: var(--lmi-primary);
    color: var(--lmi-primary);
}
.lmi-related-count {
    font-size: 0.7rem;
    color: var(--lmi-color-muted);
    font-weight: 400;
}


/* ============================================================
   NAVIGATION SECONDAIRE — POSITIONNEMENT NATIF v1.3.1
   (hook lmi_after_header_container — plus de JS requis)
   ============================================================ */

/* La nav secondaire rendue via hook est visible par défaut */
#lmi-secondary-nav {
    display: block !important; /* annule l'éventuel display:none du fallback JS */
    position: relative;
    z-index: 99;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid var(--lmi-border);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .04);
}

/* Compensation hauteur : #wrapper prend en compte la secondary nav (~40px) */
body.lmi-theme #wrapper {
    padding-top: 0; /* reset tout padding hérité */
}

/* Sticky header : compense la hauteur additionnelle de la secondary nav */
body.lmi-theme #header-container.sticky-header.stuck + #lmi-secondary-nav,
body.lmi-theme #header-container.sticky-header + #lmi-secondary-nav {
    position: sticky;
    top: 70px; /* hauteur approx. du header Listeo sticky — ajuster si besoin */
    z-index: 98;
}

/* Assure que la secondary nav non-sticky reste en flux normal */
body.lmi-theme #header-container:not(.sticky-header) + #lmi-secondary-nav {
    position: relative;
    top: auto;
}

/* ============================================================
   RESPONSIVE v1.3.0 — Ajustements nouveaux éléments
   ============================================================ */

@media (max-width: 991px) {
    .lmi-filter-select-row { flex-direction: column; align-items: flex-start; }
    .lmi-filter-select-label { min-width: auto; }
    .lmi-filter-select { max-width: 100%; width: 100%; }
    .lmi-related-searches-inner { flex-direction: column; }
    .lmi-related-searches-label { font-size: var(--lmi-font-xs); }
}
@media (max-width: 767px) {
    #header .main-nav > ul > li.lmi-nav-logo { border-right: none; margin-right: 0; padding-right: 0; }
    .lmi-btn-refine-search { font-size: var(--lmi-font-xs); padding: 6px 12px; }
    .lmi-related-searches { padding: var(--lmi-space-md); }
}
