/* ===== LIGNON MEGA MENU (lgnm) : charte fiche V5 ===== */
/* Fichier : wp-content/themes/lignon/assets/css/lgn-megamenu.css */
.lgnm{position:sticky;top:0;z-index:1040;background:#ffffff;border-bottom:1px solid #ececea;font-family:inherit;}
.lgnm *{box-sizing:border-box}
.lgnm a{text-decoration:none;color:inherit}
.lgnm-bar{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:80px;gap:24px}
.lgnm-logo{display:flex;align-items:center;flex:0 0 auto;line-height:0}
.lgnm-nav{display:flex;align-items:center;gap:6px;height:80px}
.lgnm-top{display:flex;align-items:center;gap:6px;height:80px;padding:0 12px;font-size:15px;font-weight:600;color:#33332e;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s}
.lgnm-item:hover>.lgnm-top,.lgnm-item:focus-within>.lgnm-top{color:#1a1a1d;border-bottom-color:#1a1a1d}
.lgnm-caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.lgnm-item:hover .lgnm-caret{transform:rotate(225deg) translateY(-1px)}
/* panels */
.lgnm-item{position:relative}
.lgnm-item.lgnm-w{position:static}
.lgnm-panel{position:absolute;top:100%;left:0;background:#fff;border-bottom:1px solid #ececea;box-shadow:0 24px 50px rgba(0,0,0,.09);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none;z-index:51}
.lgnm-item:hover>.lgnm-panel,.lgnm-item:focus-within>.lgnm-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.lgnm-w>.lgnm-panel{left:0;right:0}
.lgnm-panel-in{max-width:1240px;margin:0 auto;padding:30px 32px 36px;display:grid;gap:44px}
.lgnm-g4{grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.25fr)}
.lgnm-g4.lgnm-g4-img{grid-template-columns:minmax(0,2.2fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.1fr);gap:32px}
.lgnm-models-txt{display:flex;flex-direction:column}
.lgnm-g2{grid-template-columns:1fr 1.15fr;align-items:start}
.lgnm-h{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9a9994;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid #ececea}
.lgnm-col a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;font-size:14px;font-weight:500;color:#33332e;border-radius:6px;transition:color .15s}
.lgnm-col a:hover{color:#1a1a1d;font-weight:600}
.lgnm-all{margin-top:6px;font-weight:700!important;color:#1a1a1d!important;font-size:13.5px!important}
.lgnm-count{flex:0 0 auto;background:#f0efec;color:#55544e;font-size:11px;font-weight:700;border-radius:99px;padding:2px 9px;line-height:1.5}
/* visual cards */
.lgnm-card{display:block;border-radius:12px;overflow:hidden;position:relative;background-color:#1a1a1d;background-size:cover;background-position:center;background-repeat:no-repeat;aspect-ratio:16/9}
.lgnm-card43{aspect-ratio:4/3}
.lgnm-card-cap{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;background:linear-gradient(transparent,rgba(26,26,29,.75));color:#fff;font-size:13px;font-weight:700}
.lgnm-dot{width:6px;height:6px;border-radius:50%;background:#1a8a4a;display:inline-block;flex:0 0 auto}
/* bandeau de reassurance du panel Vehicules */
.lgnm-band{border-top:1px solid #ececea;background:#fbfbfa}
.lgnm-band-in{max-width:1240px;margin:0 auto;padding:13px 32px;display:flex;gap:34px;flex-wrap:wrap}
.lgnm-band-item{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#5e5d57;white-space:nowrap}
.lgnm-band-item b{color:#1a1a1d;font-weight:700}
/* dropdown telephones showrooms */
.lgnm-telwrap .lgnm-top{font-weight:700;color:#1a1a1d}
.lgnm-dd-right{left:auto;right:0;border-radius:0 0 12px 12px}
.lgnm-showroom{display:flex!important;align-items:center;justify-content:space-between;gap:22px}
.lgnm-showroom small{display:block;font-weight:500;color:#86857f;font-size:12px}
.lgnm-showroom b{font-size:14.5px;color:#1a1a1d;white-space:nowrap}
.lgnm-hours{display:block;padding:10px 6px 2px;font-size:12px;color:#9a9994;border-top:1px solid #ececea;margin-top:6px}
/* narrow dropdown */
.lgnm-dd{min-width:290px;border-radius:0 0 12px 12px;padding:12px 18px 16px}
.lgnm-dd a{display:block;padding:9px 6px;font-size:14px;font-weight:500;color:#33332e;border-radius:6px}
.lgnm-dd a:hover{background:#f6f5f2;color:#1a1a1d}
.lgnm-dd .lgnm-sub{padding-left:22px;font-size:13px;color:#5e5d57}
.lgnm-dd .lgnm-h{margin-top:8px}
/* right zone */
.lgnm-cta{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.lgnm .lgnm-btn{font-size:14.5px;font-weight:700;color:#fff!important;background:#1a1a1d;border-radius:8px;padding:13px 22px;white-space:nowrap;transition:background .2s}
.lgnm .lgnm-btn:hover{background:#000}
/* burger */
#lgnm-burger{display:none}
.lgnm-burger-btn{display:none;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;border:1px solid #e2e1dd;border-radius:8px}
.lgnm-burger-btn span{display:block;width:18px;height:2px;background:#1a1a1d;border-radius:2px;transition:transform .2s,opacity .2s}
#lgnm-burger:checked~.lgnm-bar .lgnm-burger-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
#lgnm-burger:checked~.lgnm-bar .lgnm-burger-btn span:nth-child(2){opacity:0}
#lgnm-burger:checked~.lgnm-bar .lgnm-burger-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* mobile panel */
.lgnm-mobile{display:none}
@media (max-width:1099px){
  .lgnm-nav,.lgnm-cta{display:none}
  .lgnm-burger-btn{display:flex}
  .lgnm-bar{padding:0 20px;height:68px}
  #lgnm-burger:checked~.lgnm-mobile{display:block}
  .lgnm-mobile{position:fixed;top:68px;left:0;right:0;bottom:0;background:#fff;overflow-y:auto;z-index:49;padding:6px 20px 40px;-webkit-overflow-scrolling:touch}
  .lgnm-mobile details{border-bottom:1px solid #ececea}
  .lgnm-mobile summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:16px 2px;font-size:15px;font-weight:600;color:#1a1a1d;cursor:pointer}
  .lgnm-mobile summary::-webkit-details-marker{display:none}
  .lgnm-mobile summary:after{content:"";width:8px;height:8px;border-right:1.5px solid #86857f;border-bottom:1.5px solid #86857f;transform:rotate(45deg);transition:transform .2s}
  .lgnm-mobile details[open]>summary:after{transform:rotate(225deg)}
  .lgnm-mobile .lgnm-mgroup{padding:2px 2px 14px}
  .lgnm-mobile .lgnm-mh{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9a9994;margin:12px 0 4px}
  .lgnm-mobile .lgnm-mgroup a{display:flex;align-items:center;justify-content:space-between;padding:10px 2px;font-size:14.5px;font-weight:500;color:#33332e}
  .lgnm-mlink{display:flex;align-items:center;justify-content:space-between;padding:16px 2px;font-size:15px;font-weight:600;color:#1a1a1d;border-bottom:1px solid #ececea}
  .lgnm-mcta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
  .lgnm-mcta a{display:flex;align-items:center;justify-content:center;padding:13px 10px;border-radius:8px;font-size:13.5px;font-weight:700}
  .lgnm-mcta .t{border:1px solid #d6d5d0;color:#1a1a1d}
  .lgnm-mcta .c{grid-column:1/-1;background:#1a1a1d;color:#fff!important}
}
@media (min-width:1100px){.lgnm-mobile{display:none!important}}

/* ===== Integration WordPress ===== */
/* Barre d'admin WP (visible uniquement quand on est connecte) */
.admin-bar .lgnm{top:32px}
@media (min-width:783px) and (max-width:1099px){.admin-bar .lgnm-mobile{top:100px}}
@media (max-width:782px){.admin-bar .lgnm{top:46px}.admin-bar .lgnm-mobile{top:114px}}
@media (max-width:600px){.admin-bar .lgnm{top:0}}
/* Bloque le scroll de la page quand le menu mobile est ouvert */
@media (max-width:1099px){body:has(#lgnm-burger:checked){overflow:hidden}}
/* Neutralise les styles Bootstrap du theme sur les liens du menu */
.lgnm a:hover,.lgnm a:focus{text-decoration:none}
.lgnm summary{margin:0}
/* Logo image : 56 px dans une barre de 80 px (desktop), 46 px dans 68 px (mobile) */
.lgnm-logo-img{display:block;height:56px;width:auto;max-width:200px;object-fit:contain}
@media (max-width:1099px){.lgnm-logo-img{height:46px;max-width:170px}}
/* Ecrans 1100 a 1279 px : menu resserre pour tout faire tenir sur une ligne */
@media (min-width:1100px) and (max-width:1279px){
  .lgnm-bar{padding:0 20px;gap:16px}
  .lgnm-nav{gap:0}
  .lgnm-top{padding:0 9px;font-size:14px}
  .lgnm-cta{gap:12px}
  .lgnm .lgnm-btn{padding:12px 16px;font-size:14px}
}
@media (min-width:1100px) and (max-width:1199px){.lgnm-telwrap{display:none}}
/* Cartes visuelles : photo en fond du cadre (background-size:cover), donc toujours bord a bord.
   Annule le padding et le flex des liens de colonne */
.lgnm-col a.lgnm-card{display:block!important;padding:0!important;margin:0!important;border:0!important}
/* Fiche vehicule : carte prix sticky recalee sous le header de 80 px */
body.single-car .v4-card{top:104px}
body.single-car.admin-bar .v4-card{top:136px}
/* Mobile : telephones sur une ligne chacun (ville a gauche, numero a droite, jamais coupe) */
.lgnm-mcta{grid-template-columns:1fr}
.lgnm-mcta .t{justify-content:space-between;gap:12px;padding:14px 16px}
.lgnm-mcta .t span{font-weight:500;color:#6b6a65}
.lgnm-mcta .t strong{font-weight:700;white-space:nowrap}
/* Mobile : masque l'onglet lateral "Vehicules a vendre" du theme quand le menu est ouvert */
body:has(#lgnm-burger:checked) #sidebar-toggle{display:none!important}
/* Volet de recherche du theme (#sc-side-navbar) : cale sous le mega menu, scrolle ou non.
   style.css le calait sous l'ancien header .siteheader (hauteur et marge differentes) */
.sc-side-navbar,.sc-side-navbar.header-active{top:80px!important;height:calc(100vh - 80px)!important;height:calc(100dvh - 80px)!important;padding-top:0!important;margin-top:0!important}
.sc-side-navbar .sidebar{padding-top:20px!important}
.admin-bar .sc-side-navbar,.admin-bar .sc-side-navbar.header-active{top:112px!important;height:calc(100vh - 112px)!important;height:calc(100dvh - 112px)!important}
@media (max-width:1099px){
  .sc-side-navbar,.sc-side-navbar.header-active{top:68px!important;height:calc(100vh - 68px)!important;height:calc(100dvh - 68px)!important}
  .admin-bar .sc-side-navbar,.admin-bar .sc-side-navbar.header-active{top:100px!important;height:calc(100vh - 100px)!important;height:calc(100dvh - 100px)!important}
}
@media (max-width:782px){
  .admin-bar .sc-side-navbar,.admin-bar .sc-side-navbar.header-active{top:114px!important;height:calc(100vh - 114px)!important;height:calc(100dvh - 114px)!important}
}
/* Tuiles "Par modele" : photo du dernier vehicule dispo */
.lgnm-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;margin-bottom:4px}
.lgnm-col a.lgnm-model{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:5px;padding:6px;border-radius:10px;text-align:center;transition:background .15s}
.lgnm-col a.lgnm-model:hover{background:#f6f5f2;font-weight:500}
.lgnm-model-img{display:block;width:100%;aspect-ratio:16/10;border-radius:8px;background-color:#f0efec;background-position:center;background-size:cover;background-repeat:no-repeat}
.lgnm-model-img.is-empty{background-image:linear-gradient(135deg,#f0efec,#e3e1dc)}
.lgnm-model-name{font-size:13px;font-weight:600;color:#1a1a1d;line-height:1.25}
.lgnm-model-count{font-size:11px;font-weight:500;color:#86857f;line-height:1.2}
/* Lignon Custom mis en avant dans le panneau Defender */
.lgnm-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lgnm .lgnm-row a.lgnm-tag,.lgnm-mobile .lgnm-mgroup .lgnm-row a.lgnm-tag{display:inline-flex;flex:0 0 auto;align-items:center;padding:4px 11px;border-radius:99px;background:#1a1a1d;color:#fff!important;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;transition:background .2s}
.lgnm .lgnm-row a.lgnm-tag:hover{background:#000;color:#fff}
/* Telephones : horaires propres a chaque showroom */
.lgnm-dd-right{min-width:420px}
.lgnm-showroom small{white-space:nowrap}
.lgnm-showroom small+small{font-size:11.5px;color:#9a9994;margin-top:2px}
/* Mobile : tuiles modeles en grille de 3 */
@media (max-width:1099px){
  .lgnm-mobile .lgnm-models{gap:8px;margin:4px 0 10px}
  .lgnm-mobile .lgnm-mgroup a.lgnm-model{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:4px;text-align:center}
  .lgnm-mobile .lgnm-model-name{font-size:12px;line-height:1.25;min-height:2.5em}
  /* Mobile : panneau plus compact et aligne */
  .lgnm-mobile{padding:4px 20px 32px}
  .lgnm-mobile summary{padding:17px 0}
  .lgnm-mobile .lgnm-mgroup{padding:0 0 18px}
  .lgnm-mobile .lgnm-mh{margin:16px 0 10px}
  .lgnm-mobile .lgnm-mh:first-child{margin-top:2px}
  .lgnm-mobile .lgnm-mgroup>a,.lgnm-mobile .lgnm-mgroup>.lgnm-row{padding-left:0;padding-right:0}
  .lgnm-mobile .lgnm-models{margin:0}
  .lgnm-mobile .lgnm-mgroup .lgnm-row>a:not(.lgnm-tag){padding-left:0;padding-right:0}
  /* Marques et types en pastilles au lieu de longues listes */
  .lgnm-mobile .lgnm-chips{display:flex;flex-wrap:wrap;gap:8px}
  .lgnm-mobile .lgnm-mgroup .lgnm-chips a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid #e2e1dd;border-radius:99px;font-size:13.5px;font-weight:500;color:#33332e;background:#fff}
  .lgnm-mobile .lgnm-chips .lgnm-count{padding:0 6px;font-size:10.5px}
  .lgnm-mobile .lgnm-mgroup a.lgnm-mall{display:flex;justify-content:center;margin-top:18px;padding:13px;border:1px solid #1a1a1d;border-radius:8px;font-size:14px;font-weight:700;color:#1a1a1d}
  .lgnm-mobile .lgnm-mcta{margin-top:20px}
}
/* Supprime l'espace que style.css reservait en haut de page pour l'ancien header fixe .siteheader */
body{padding-top:0!important}
