:root{
  --lw-primary:#1f5f8b;--lw-secondary:#f3f6f8;--lw-dark:#132030;--lw-logo-height:72px;--lw-logo-width:260px;
  --lw-text:#182230;--lw-muted:#667085;--lw-white:#ffffff;--lw-radius:22px;--lw-shadow:0 18px 50px rgba(19,32,48,.13)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--lw-text);background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.lw-container{width:min(1180px,calc(100% - 32px));margin:auto}.lw-skip{position:absolute;left:-999px}.lw-skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:9999;border-radius:8px}
.lw-topbar{background:var(--lw-dark);color:#fff;font-size:.92rem}.lw-topbar-inner{display:flex;justify-content:space-between;gap:16px;padding:8px 0;align-items:center}.lw-topbar a{font-weight:750}.lw-site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(16,24,40,.08)}.admin-bar .lw-site-header{top:32px}.lw-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:86px}.lw-brand{display:flex;align-items:center;font-weight:900;color:var(--lw-dark);font-size:1.05rem;min-width:120px;max-width:var(--lw-logo-width);overflow:hidden}.lw-brand .custom-logo-link{display:flex;align-items:center;max-width:100%}.lw-brand img,.lw-brand .custom-logo,.lw-brand .lw-custom-logo{display:block!important;max-height:var(--lw-logo-height)!important;max-width:var(--lw-logo-width)!important;width:auto!important;height:auto!important;object-fit:contain!important}.lw-nav{justify-self:end}.lw-menu{display:flex;align-items:center;justify-content:flex-end;gap:28px;list-style:none;margin:0;padding:0}.lw-menu li{position:relative}.lw-menu a{font-weight:750;color:var(--lw-dark);padding:34px 0 30px;display:block}.lw-menu a:hover{color:var(--lw-primary)}.lw-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:230px;list-style:none;padding:10px;margin:0;box-shadow:var(--lw-shadow);border-radius:14px}.lw-menu li:hover>.sub-menu{display:block}.lw-menu .sub-menu a{display:block;padding:9px 11px}.lw-header-cta,.lw-cta{display:inline-flex;align-items:center;justify-content:center;background:var(--lw-primary);color:#fff!important;border-radius:999px;padding:12px 20px;font-weight:900;box-shadow:0 10px 22px color-mix(in srgb,var(--lw-primary) 24%,transparent)}.lw-header-cta:hover,.lw-cta:hover{filter:brightness(.95)}.lw-burger{display:none;border:0;background:var(--lw-primary);color:#fff;border-radius:12px;padding:10px 14px;font-weight:900;align-items:center;gap:10px}.lw-burger-icon{display:grid;gap:4px}.lw-burger-icon i{display:block;width:20px;height:2px;background:#fff;border-radius:4px}.lw-burger em{font-style:normal}
.lw-hero{background:linear-gradient(120deg,rgba(19,32,48,.88),rgba(19,32,48,.54)),var(--lw-hero-image);background-size:cover;background-position:center;color:#fff;margin:0}.lw-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);align-items:center;gap:44px;padding:86px 0}.lw-hero-copy{max-width:690px}.lw-kicker{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:7px 14px;font-weight:800;margin-bottom:16px}.lw-hero h1{font-size:clamp(2.35rem,5vw,4.7rem);letter-spacing:-.04em;line-height:.98;margin:0 0 20px}.lw-hero p{font-size:clamp(1.05rem,2vw,1.22rem);max-width:620px;margin:0 0 26px;color:rgba(255,255,255,.94)}.lw-hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.lw-btn-phone{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--lw-dark)!important;border-radius:16px;padding:13px 20px;font-size:1.28rem;font-weight:950;box-shadow:0 14px 30px rgba(0,0,0,.16)}.lw-btn-phone span{background:#f4f7fb;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.lw-hero-form-card,.lw-footer-form{background:rgba(255,255,255,.94);color:var(--lw-text);border-radius:24px;padding:28px;box-shadow:var(--lw-shadow);backdrop-filter:blur(10px)}.lw-hero-form-card h2,.lw-footer-form h3{margin:0 0 18px;color:var(--lw-dark)}.lw-hero-form-card input,.lw-hero-form-card textarea,.lw-footer-form input,.lw-footer-form textarea,.lw-hero-form-card select,.lw-footer-form select{width:100%;border:1px solid #e3e8ef;background:#fff;padding:13px 14px;border-radius:8px;box-shadow:0 2px 8px rgba(16,24,40,.04);font:inherit;margin-bottom:12px}.lw-hero-form-card input[type=submit],.lw-footer-form input[type=submit],.lw-hero-form-card button,.lw-footer-form button{width:auto;border:0;background:var(--lw-primary);color:#fff;padding:12px 18px;border-radius:8px;font-weight:850;cursor:pointer}.lw-section{padding:68px 0}.lw-section-light{background:var(--lw-secondary)}.lw-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lw-card{background:#fff;border-radius:var(--lw-radius);padding:28px;box-shadow:var(--lw-shadow);border:1px solid rgba(16,24,40,.04)}.lw-card h2,.lw-card h3{margin-top:0;color:var(--lw-dark);line-height:1.15}.lw-page{padding:54px 0}.lw-content{max-width:900px}.lw-content h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;color:var(--lw-dark)}.lw-content h2{margin-top:34px;color:var(--lw-dark)}.lw-footer{background:var(--lw-dark);color:#fff;padding:58px 0 24px}.lw-footer-grid{display:grid;grid-template-columns:1fr .85fr 1.15fr;gap:30px}.lw-footer h2,.lw-footer h3{margin-top:0}.lw-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}.lw-footer-form{background:rgba(255,255,255,.08);color:#fff}.lw-footer-form h3{color:#fff}.lw-footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:.9rem;color:rgba(255,255,255,.72)}.lw-whatsapp{display:inline-flex!important;background:#25d366;color:#fff!important;border-radius:12px;padding:10px 14px;text-decoration:none!important;font-weight:850}.lw-mobile-call{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:80;background:var(--lw-primary);color:#fff!important;text-align:center;border-radius:999px;padding:13px 18px;font-weight:950;box-shadow:0 16px 30px rgba(0,0,0,.25)}
@media(max-width:1020px){.lw-header-inner{grid-template-columns:auto auto auto}.lw-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:10px 18px 18px;box-shadow:0 20px 35px rgba(16,24,40,.14)}.lw-nav.is-open{display:block}.lw-menu{display:block}.lw-menu li{border-bottom:1px solid #eef2f6}.lw-menu a{display:block;padding:12px 0}.lw-menu .sub-menu{display:block;position:static;box-shadow:none;padding:0 0 0 16px;min-width:0}.lw-header-inner{position:relative;display:flex;justify-content:space-between}.lw-burger{display:inline-flex}.lw-header-cta{display:none}.lw-hero-grid{grid-template-columns:1fr;padding:64px 0}.lw-hero-form-card{max-width:560px}.lw-grid-3,.lw-footer-grid{grid-template-columns:1fr}.lw-footer-bottom{display:block}.lw-mobile-call{display:block}body{padding-bottom:70px}}@media(max-width:782px){.admin-bar .lw-site-header{top:46px}.lw-topbar-inner{display:block;text-align:center}.lw-topbar-contact{display:block}.lw-brand{max-width:min(var(--lw-logo-width),260px)}.lw-brand img,.lw-brand .custom-logo,.lw-brand .lw-custom-logo{max-height:min(var(--lw-logo-height),82px)!important;max-width:min(var(--lw-logo-width),260px)!important}.lw-hero h1{font-size:clamp(2.15rem,12vw,3.2rem)}.lw-btn-phone{font-size:1.05rem}.lw-container{width:min(100% - 24px,1180px)}}
.lw-native-form{display:grid;gap:12px}.lw-native-form input,.lw-native-form textarea{margin-bottom:0!important}.lw-native-form .lw-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.lw-form-success{background:#e8f7ee;color:#14532d;border:1px solid #bbf7d0;border-radius:10px;padding:12px 14px;font-weight:800}.lw-map-section{background:#fff;padding:58px 0}.lw-map-head{max-width:760px;margin:0 auto 22px;text-align:center}.lw-map-head h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;margin:0 0 10px;color:var(--lw-dark)}.lw-map-head p{margin:0;color:var(--lw-muted)}.lw-map-embed{height:390px;border-radius:24px;overflow:hidden;box-shadow:var(--lw-shadow);background:var(--lw-secondary)}.lw-map-embed iframe{width:100%;height:100%;border:0;display:block}.lw-footer .lw-map-section{background:transparent;padding:28px 0}.lw-footer .lw-map-head h2,.lw-footer .lw-map-head p{color:#fff}.lw-footer .lw-map-embed{height:280px}

.lw-map-cities{margin:22px auto 0;max-width:980px;text-align:center;color:var(--lw-text)}.lw-map-cities strong{display:block;margin-bottom:10px;color:var(--lw-dark)}.lw-map-cities ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;margin:0;padding:0}.lw-map-cities li{background:var(--lw-secondary);border:1px solid rgba(16,24,40,.08);border-radius:999px;padding:7px 12px;font-weight:750}.lw-map-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}.lw-map-route{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--lw-dark)!important;border:1px solid rgba(16,24,40,.14);border-radius:999px;padding:12px 20px;font-weight:900;box-shadow:0 10px 22px rgba(16,24,40,.08)}.lw-footer .lw-map-cities,.lw-footer .lw-map-cities strong{color:#fff}.lw-footer .lw-map-cities li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}

/* LW Artisan v1.3.6 — SEO structurel */
.lw-breadcrumb{background:#fff;border-bottom:1px solid rgba(16,24,40,.08);font-size:.92rem;color:var(--lw-muted)}
.lw-breadcrumb .lw-container{padding:12px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lw-breadcrumb a{color:var(--lw-dark);font-weight:750}
.lw-content h2{font-size:clamp(1.55rem,2.5vw,2.15rem);line-height:1.15;border-left:5px solid var(--lw-primary);padding-left:14px}
.lw-content h3{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.2;color:var(--lw-dark)}
.lw-content ul:not(.blocks-gallery-grid),.lw-content ol{padding-left:1.2rem}
.lw-content li{margin:.35rem 0}
.lw-content blockquote{border-left:5px solid var(--lw-primary);background:var(--lw-secondary);margin:26px 0;padding:18px 22px;border-radius:14px}
.lw-content a{text-decoration:underline;text-underline-offset:3px;color:var(--lw-primary);font-weight:750}
.lw-content img{border-radius:18px}
.lw-footer-menu{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px}
@media(max-width:782px){.lw-breadcrumb .lw-container{padding:10px 0}.lw-content h2{padding-left:11px}}

/* Widget Avis automatique */
.lw-reviews-widget{background:#fff;padding-top:42px;padding-bottom:42px}.lw-reviews-widget-before_footer{border-top:1px solid rgba(16,24,40,.08)}.lw-reviews-widget-after_content{padding:34px 0 0}.lw-reviews-widget .lw-container{max-width:1120px}.lw-reviews-title{margin:0 0 24px;color:var(--lw-dark);font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.1}.lw-reviews-shortcode{width:100%}.lw-content .lw-reviews-widget-after_content{margin-top:30px}.lw-content .lw-reviews-widget-after_content .lw-container{padding:0;max-width:100%}


/* LW Artisan v1.4.9 — Correction sous-menus desktop */
@media (min-width:1021px){
  .lw-site-header{z-index:9990;}
  .lw-nav{position:relative;z-index:9991;}
  .lw-menu{gap:24px;}
  .lw-menu > li{position:relative;}
  .lw-menu > li > a{white-space:nowrap;}
  .lw-menu .sub-menu{
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    position:absolute;
    top:calc(100% - 8px);
    left:0;
    z-index:9999;
    min-width:230px;
    max-width:320px;
    padding:12px;
    margin:0;
    background:#fff;
    border:1px solid rgba(16,24,40,.08);
    border-radius:16px;
    box-shadow:0 20px 45px rgba(16,24,40,.16);
    list-style:none;
    transform:translateY(8px);
    transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  }
  .lw-menu li:hover > .sub-menu,
  .lw-menu li:focus-within > .sub-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .lw-menu .sub-menu li{position:relative;display:block;border:0;margin:0;padding:0;}
  .lw-menu .sub-menu a{
    display:block;
    width:100%;
    padding:10px 12px!important;
    margin:0;
    color:var(--lw-dark);
    line-height:1.25!important;
    font-size:.95rem;
    font-weight:800;
    white-space:normal;
    border-radius:10px;
  }
  .lw-menu .sub-menu a:hover,
  .lw-menu .sub-menu li:hover > a{background:var(--lw-secondary);color:var(--lw-primary);}
  .lw-menu .sub-menu .sub-menu{
    top:0;
    left:calc(100% + 10px);
    margin-top:0;
  }
}
@media (min-width:1021px) and (max-width:1180px){
  .lw-menu{gap:16px;}
  .lw-menu a{font-size:.95rem;}
  .lw-header-cta{padding:11px 16px;}
}


/* LW Artisan v1.4.9 — Amélioration contenu SEO généré */
.lw-page .lw-content > h1:first-child{
  display:inline-block;
  max-width:100%;
  margin:0 0 32px;
  padding:14px 20px 14px 18px;
  border-left:5px solid var(--lw-primary);
  border-radius:0 16px 16px 0;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,24,40,.08);
  color:var(--lw-dark);
  font-size:clamp(2rem,4vw,3.05rem);
  line-height:1.08;
}
.lw-content section.hero,
.lw-content .hero{
  color:var(--lw-dark)!important;
}
.lw-content section.hero p,
.lw-content .hero p,
.lw-content section.hero span,
.lw-content .hero span{
  color:var(--lw-text)!important;
}
.lw-content section.hero a,
.lw-content .hero a{
  color:#fff!important;
  text-decoration:none;
}
.lw-content dl{
  margin:22px 0 28px;
  padding:0;
}
.lw-content dt{
  margin:16px 0 6px;
  font-weight:900;
  color:var(--lw-dark);
  line-height:1.35;
}
.lw-content dd{
  margin:0 0 12px 18px;
  color:var(--lw-text);
  line-height:1.65;
}
.lw-content dl + p{
  margin-top:24px;
}
.lw-content .faq,
.lw-content .lw-faq{
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:20px;
  padding:26px;
  box-shadow:0 14px 34px rgba(16,24,40,.06);
}
.lw-content .faq dt,
.lw-content .lw-faq dt{
  border-top:1px solid rgba(16,24,40,.08);
  padding-top:14px;
}
.lw-content .faq dt:first-child,
.lw-content .lw-faq dt:first-child{
  border-top:0;
  padding-top:0;
}
.lw-content ul li::marker{
  color:var(--lw-primary);
}
.lw-content strong,
.lw-content b{
  color:var(--lw-dark);
}
@media(max-width:782px){
  .lw-page .lw-content > h1:first-child{
    padding:12px 14px;
    margin-bottom:24px;
  }
  .lw-content dd{
    margin-left:10px;
  }
}


/* ===== LW Artisan Theme v1.4.9 ===== */

/* HERO SEO BLOCK */
.lw-seo-hero,
.hero-seo,
section.hero {
    background: linear-gradient(135deg,#f8fafc 0%,#eef4f8 100%);
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 18px;
    padding: 48px 36px;
    margin: 40px auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

.lw-seo-hero h2,
.hero-seo h2,
section.hero h2 {
    color: #132030 !important;
    font-size: clamp(2rem,4vw,3.4rem);
    line-height: 1.15;
    font-weight: 800;
    text-align: center;
    margin-bottom: 20px;
}

.lw-seo-hero p,
.hero-seo p,
section.hero p {
    color: #334155 !important;
    font-size: 1.08rem;
    text-align: center;
}

.lw-seo-hero a,
.hero-seo a,
section.hero a {
    display: inline-block;
    margin-top: 18px;
    background: #ef442f;
    color: #fff !important;
    padding: 14px 26px;
    border-radius: 12px;
    font-weight: 700;
    text-decoration: none;
}

/* FAQ */
dl dt {
    font-weight: 700;
    color: #132030;
    margin-top: 18px;
}

dl dd {
    color: #334155;
    margin-bottom: 14px;
}

/* CITY TITLE */
.lw-content > h1:first-of-type {
    display: inline-block;
    background: #ffffff;
    padding: 18px 28px;
    border-radius: 16px;
    border-left: 6px solid #ef442f;
    box-shadow: 0 6px 18px rgba(0,0,0,0.04);
    margin-bottom: 36px;
}

/* SUBMENU FIX */
.site-header .sub-menu {
    min-width: 260px;
    padding: 10px 0;
}

.site-header .sub-menu li a {
    white-space: normal;
    line-height: 1.4;
    padding: 10px 18px;
}

/* MOBILE BURGER */
.lw-mobile-toggle,
.menu-toggle {
    border-radius: 12px;
    padding: 10px 16px;
    font-weight: 700;
}

/* CLASSIC EDITOR SUPPORT */
body.block-editor-page .editor-styles-wrapper {
    font-family: Arial, sans-serif;
}



/* ===== LW Artisan Theme v1.4.9 - correction bloc SEO inline ===== */

/*
  Certains contenus générés par LW Starter arrivent avec un header inline :
  <header style="background:#2a3d45;color:#fff;...">
  On neutralise ce style sombre pour garder un rendu clair, lisible et premium.
*/
.lw-page .lw-content > header[style],
.lw-page .lw-content section > header[style],
.lw-content > header[style],
.lw-content section > header[style],
main .lw-content header[style] {
    background: linear-gradient(135deg,#ffffff 0%,#f4f7fb 100%) !important;
    color: #132030 !important;
    border: 1px solid rgba(15,23,42,0.06) !important;
    border-left: 6px solid var(--lw-primary, #ef442f) !important;
    border-radius: 18px !important;
    padding: 42px 34px !important;
    margin: 36px 0 34px !important;
    text-align: center !important;
    box-shadow: 0 16px 40px rgba(15,23,42,0.08) !important;
}

.lw-page .lw-content > header[style] h1,
.lw-page .lw-content > header[style] h2,
.lw-page .lw-content section > header[style] h1,
.lw-page .lw-content section > header[style] h2,
.lw-content > header[style] h1,
.lw-content > header[style] h2,
.lw-content section > header[style] h1,
.lw-content section > header[style] h2,
main .lw-content header[style] h1,
main .lw-content header[style] h2 {
    color: #132030 !important;
    background: transparent !important;
    font-size: clamp(2rem, 4vw, 3.1rem) !important;
    line-height: 1.12 !important;
    font-weight: 850 !important;
    margin: 0 0 18px !important;
    text-align: center !important;
    text-shadow: none !important;
}

.lw-page .lw-content > header[style] p,
.lw-page .lw-content section > header[style] p,
.lw-content > header[style] p,
.lw-content section > header[style] p,
main .lw-content header[style] p {
    color: #334155 !important;
    background: transparent !important;
    font-size: 1.06rem !important;
    line-height: 1.65 !important;
    margin: 10px auto !important;
    max-width: 760px !important;
    text-align: center !important;
    text-shadow: none !important;
}

.lw-page .lw-content > header[style] a,
.lw-page .lw-content section > header[style] a,
.lw-content > header[style] a,
.lw-content section > header[style] a,
main .lw-content header[style] a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 18px !important;
    background: var(--lw-primary, #ef442f) !important;
    color: #ffffff !important;
    padding: 13px 24px !important;
    border-radius: 999px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 25px rgba(239,68,47,0.22) !important;
}

/* Si un numéro est dans un simple <strong> ou <span>, on garde une couleur lisible */
.lw-page .lw-content > header[style] strong,
.lw-page .lw-content section > header[style] strong,
.lw-content > header[style] strong,
.lw-content section > header[style] strong,
main .lw-content header[style] strong {
    color: var(--lw-primary, #ef442f) !important;
}

/* Titre de page principal plus distinct */
.lw-content > h1:first-of-type,
.lw-page .lw-content > h1:first-of-type {
    display: inline-block !important;
    background: #ffffff !important;
    color: #132030 !important;
    padding: 18px 30px !important;
    border-radius: 16px !important;
    border-left: 6px solid var(--lw-primary, #ef442f) !important;
    box-shadow: 0 14px 36px rgba(15,23,42,0.07) !important;
    margin: 32px 0 40px !important;
}

/* FAQ / définitions plus propres */
.lw-content dl dt {
    font-weight: 800 !important;
    color: #132030 !important;
    margin-top: 18px !important;
}

.lw-content dl dd {
    color: #334155 !important;
    margin: 8px 0 16px 18px !important;
    line-height: 1.65 !important;
}

@media (max-width: 768px) {
    .lw-page .lw-content > header[style],
    .lw-page .lw-content section > header[style],
    .lw-content > header[style],
    .lw-content section > header[style],
    main .lw-content header[style] {
        padding: 30px 20px !important;
        margin: 26px 0 28px !important;
        border-radius: 14px !important;
    }

    .lw-content > h1:first-of-type,
    .lw-page .lw-content > h1:first-of-type {
        padding: 14px 20px !important;
        font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
    }
}


/* ===== LW ARTISAN MEGA DROPDOWN FIX ===== */

.lw-nav ul.sub-menu,
.lw-nav .sub-menu{
    margin-top:0 !important;
    padding-top:12px !important;
    top:100% !important;
}

.lw-nav li.menu-item-has-children{
    position:relative;
}

.lw-nav li.menu-item-has-children:hover > .sub-menu,
.lw-nav li.menu-item-has-children .sub-menu:hover{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0)!important;
}

/* pont invisible */
.lw-nav li.menu-item-has-children::after{
    content:'';
    position:absolute;
    left:0;
    top:100%;
    width:100%;
    height:30px;
    background:transparent;
    z-index:999;
}

/* évite disparition instantanée */
.lw-nav .sub-menu{
    transition:all .22s ease !important;
}


/* ===== LW ARTISAN v1.4.9 - MENU DESKTOP ROBUSTE ===== */

/* Le menu doit pouvoir déborder au-dessus du hero */
.lw-site-header,
.lw-header,
.lw-nav,
.lw-nav ul,
.lw-nav li,
.site-header,
.main-navigation {
    overflow: visible !important;
}

/* Base */
.lw-nav li {
    position: relative !important;
}

.lw-nav .sub-menu,
.lw-nav ul.sub-menu {
    display: block !important;
    position: absolute !important;
    min-width: 230px !important;
    z-index: 999999 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

/* Niveau 1 */
.lw-nav > ul > li > .sub-menu,
.lw-nav > ul > li > ul.sub-menu {
    top: calc(100% - 1px) !important;
    left: 0 !important;
}

/* Niveau 2 et + : collé au menu parent */
.lw-nav .sub-menu li > .sub-menu,
.lw-nav ul.sub-menu li > ul.sub-menu {
    top: 0 !important;
    left: calc(100% - 2px) !important;
    margin-left: 0 !important;
    transform: translateX(6px);
}

/* Ouverture hover/focus + classe JS */
.lw-nav li:hover > .sub-menu,
.lw-nav li:focus-within > .sub-menu,
.lw-nav li.lw-menu-open > .sub-menu,
.lw-nav .sub-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(0,0) !important;
}

/* Pont vertical : évite le trou entre menu principal et sous-menu */
.lw-nav > ul > li.menu-item-has-children::after,
.lw-nav > ul > li.page_item_has_children::after {
    content: "";
    position: absolute;
    left: -12px;
    top: 100%;
    width: calc(100% + 24px);
    height: 34px;
    background: transparent;
    z-index: 999998;
}

/* Pont horizontal : évite le trou entre sous-menu niveau 1 et niveau 2 */
.lw-nav .sub-menu li.menu-item-has-children::after,
.lw-nav .sub-menu li.page_item_has_children::after,
.lw-nav ul.sub-menu li.menu-item-has-children::after,
.lw-nav ul.sub-menu li.page_item_has_children::after {
    content: "";
    position: absolute;
    top: -8px;
    left: 100%;
    width: 40px;
    height: calc(100% + 16px);
    background: transparent;
    z-index: 999998;
}

/* Les liens remplissent bien la ligne */
.lw-nav .sub-menu li,
.lw-nav ul.sub-menu li {
    position: relative !important;
}

.lw-nav .sub-menu a,
.lw-nav ul.sub-menu a {
    display: block !important;
    width: 100% !important;
    white-space: normal !important;
}

/* Mobile : pas de dropdown absolu */
@media (max-width: 900px) {
    .lw-nav .sub-menu,
    .lw-nav ul.sub-menu {
        position: static !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        min-width: 0 !important;
    }

    .lw-nav > ul > li.menu-item-has-children::after,
    .lw-nav .sub-menu li.menu-item-has-children::after,
    .lw-nav > ul > li.page_item_has_children::after,
    .lw-nav .sub-menu li.page_item_has_children::after {
        display: none !important;
    }
}


/* ===== LW ARTISAN v1.4.9 - MENU MOBILE SCROLLABLE ===== */

@media (max-width: 900px) {

    body.lw-menu-is-open,
    body.lw-mobile-menu-open {
        overflow: hidden !important;
    }

    .lw-nav,
    .lw-mobile-nav,
    .lw-menu-panel,
    .main-navigation {
        max-height: calc(100vh - 115px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }

    .lw-nav.is-open,
    .lw-nav.lw-open,
    .lw-mobile-nav.is-open,
    .lw-menu-panel.is-open,
    .main-navigation.is-open {
        display: block !important;
        max-height: calc(100vh - 115px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .lw-nav ul,
    .lw-mobile-nav ul,
    .main-navigation ul {
        max-height: none !important;
        overflow: visible !important;
    }

    .lw-nav li,
    .lw-mobile-nav li,
    .main-navigation li {
        position: static !important;
    }

    .lw-nav .sub-menu,
    .lw-mobile-nav .sub-menu,
    .main-navigation .sub-menu {
        position: static !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .lw-nav a,
    .lw-mobile-nav a,
    .main-navigation a {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        line-height: 1.25 !important;
    }

    .lw-nav .sub-menu a,
    .lw-mobile-nav .sub-menu a,
    .main-navigation .sub-menu a {
        padding-left: 28px !important;
        font-size: 0.96em !important;
    }

    .lw-nav .sub-menu .sub-menu a,
    .lw-mobile-nav .sub-menu .sub-menu a,
    .main-navigation .sub-menu .sub-menu a {
        padding-left: 48px !important;
        font-size: 0.93em !important;
    }
}


/* ===== LW ARTISAN v1.4.9 - MENU MOBILE BAS ACCESSIBLE ===== */

@media (max-width: 900px) {

    body.lw-mobile-menu-open,
    body.lw-menu-is-open {
        overflow: auto !important;
    }

    .lw-nav,
    .lw-mobile-nav,
    .lw-menu-panel,
    .main-navigation {
        max-height: min(72vh, calc(100dvh - 190px)) !important;
        overflow-y: scroll !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        padding-bottom: 140px !important;
        scrollbar-width: thin;
    }

    .lw-nav.is-open,
    .lw-nav.lw-open,
    .lw-nav.active,
    .lw-mobile-nav.is-open,
    .lw-menu-panel.is-open,
    .main-navigation.is-open,
    .main-navigation.toggled {
        max-height: min(72vh, calc(100dvh - 190px)) !important;
        overflow-y: scroll !important;
        overflow-x: hidden !important;
        padding-bottom: 140px !important;
    }

    .lw-nav > ul,
    .lw-mobile-nav > ul,
    .main-navigation > ul {
        padding-bottom: 100px !important;
    }

    .lw-nav li:last-child,
    .lw-mobile-nav li:last-child,
    .main-navigation li:last-child {
        margin-bottom: 90px !important;
    }

    .lw-nav .sub-menu,
    .lw-mobile-nav .sub-menu,
    .main-navigation .sub-menu {
        padding-bottom: 10px !important;
    }

    .lw-nav .sub-menu li:last-child,
    .lw-mobile-nav .sub-menu li:last-child,
    .main-navigation .sub-menu li:last-child {
        margin-bottom: 12px !important;
    }

    .lw-nav a,
    .lw-mobile-nav a,
    .main-navigation a {
        min-height: 50px !important;
        touch-action: manipulation;
    }
}
