@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{
  --laj-wine:#7a1e2d;
  --laj-wine-dark:#631522;
  --laj-gold:#c8a86a;
  --laj-gold-soft:#ddc79b;
  --laj-ink:#241f1b;
  --laj-cream:#f7f2e9;
  --laj-paper:#fffaf2;
  --laj-line:rgba(122,30,45,.17);
  --laj-max:1680px;
  --laj-gutter:clamp(28px,4.5vw,86px);
}
.laj-home{font-family:Montserrat,Arial,sans-serif;color:var(--laj-ink);background:
  radial-gradient(circle at 11% 12%,rgba(200,168,106,.075),transparent 24%),
  radial-gradient(circle at 91% 32%,rgba(122,30,45,.025),transparent 24%),
  linear-gradient(#fcf8f1,#f8f2e8);width:100%;overflow:hidden;box-sizing:border-box}
.laj-home *{box-sizing:border-box}.laj-home h1,.laj-home h2,.laj-home h3,.laj-home em,.laj-kicker{font-family:"Playfair Display",Georgia,serif}
.laj-header{height:112px;display:grid;grid-template-columns:240px minmax(0,1fr) 210px;align-items:center;gap:28px;padding:8px var(--laj-gutter);max-width:var(--laj-max);margin:auto;position:relative;z-index:30}
.laj-brand{display:block;align-self:start;margin-top:5px;width:176px;position:relative;z-index:2}.laj-brand img{width:100%;height:auto;max-height:100px;object-fit:contain;display:block}
.laj-main-nav{display:flex;justify-content:center;align-items:center;gap:clamp(22px,2.2vw,40px);height:100%}.laj-main-nav a,.laj-footer a{color:inherit;text-decoration:none;font-size:10px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.laj-main-nav a{position:relative;padding:10px 0}.laj-main-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:1px;background:var(--laj-gold);transition:.22s}.laj-main-nav a:hover:after,.laj-main-nav a.is-active:after{left:0;right:0}.laj-main-nav a.is-active{color:var(--laj-wine);font-weight:700}
.laj-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px}.laj-menu-toggle{display:none;border:0;background:none;padding:5px;width:33px}.laj-menu-toggle span{display:block;height:2px;background:var(--laj-wine);margin:6px 0}
.laj-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--laj-wine);color:#fff!important;text-decoration:none!important;border:1px solid var(--laj-wine);padding:13px 22px;font-size:10px;text-transform:uppercase;letter-spacing:.055em;transition:.2s}.laj-btn:hover{background:var(--laj-wine-dark);border-color:var(--laj-wine-dark)}.laj-btn-small{min-width:145px;padding:11px 17px}.laj-btn-ghost{background:transparent;color:var(--laj-wine)!important}.laj-btn-ghost:hover{background:rgba(122,30,45,.06);color:var(--laj-wine)!important}
.laj-footer{background:var(--laj-wine);color:#fff;display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:35px;padding:38px var(--laj-gutter);align-items:start}.laj-footer strong{font-family:"Playfair Display",Georgia,serif;font-size:17px;display:block;margin-bottom:10px}.laj-footer p{font-size:11px;line-height:1.6;max-width:260px}.laj-footer a{display:block;margin:8px 0;color:#fff}.laj-footer-script{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:24px;color:#e2c183}
@media(max-width:1180px){.laj-header{grid-template-columns:190px 1fr 185px}.laj-brand{width:150px}.laj-main-nav{gap:20px}.laj-main-nav a{font-size:9px}}
@media(max-width:980px){.laj-header{grid-template-columns:170px 1fr;height:88px}.laj-brand{width:132px;margin-top:2px}.laj-main-nav{display:none}.laj-header-actions>.laj-btn,.laj-header-heart{display:none}.laj-menu-toggle{display:block;margin-left:auto}.laj-header-actions{justify-content:flex-end}.laj-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.laj-header{height:76px;padding:5px 18px;grid-template-columns:1fr auto}.laj-brand{width:120px}.laj-footer{grid-template-columns:1fr;padding:32px 20px}.laj-footer-script{font-size:21px}}

/* v0.1.2 — finitions header desktop */
@media(min-width:981px){
  :is(.laj-home,.laj-programmes) .laj-header{height:122px;grid-template-columns:255px minmax(0,1fr) 220px;padding-top:6px;padding-bottom:6px}
  :is(.laj-home,.laj-programmes) .laj-brand{width:192px;margin-top:2px}
  :is(.laj-home,.laj-programmes) .laj-brand img{max-height:112px}
  /* Elementor et certains thèmes redonnent parfois un display au bouton natif. */
  :is(.laj-home,.laj-programmes) .laj-menu-toggle{display:none!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
}
@media(max-width:980px){
  :is(.laj-home,.laj-programmes) .laj-menu-toggle{display:block!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}
}

/* ==========================================================
   v0.1.3 — HEADER & FOOTER / SIGNATURE DE MARQUE
   ========================================================== */
@media(min-width:981px){
  :is(.laj-home,.laj-programmes) .laj-header{
    height:130px;
    grid-template-columns:275px minmax(0,1fr) 240px;
    gap:30px;
  }
  :is(.laj-home,.laj-programmes) .laj-brand{width:208px;margin-top:0}
  :is(.laj-home,.laj-programmes) .laj-brand img{max-height:118px}
  :is(.laj-home,.laj-programmes) .laj-main-nav{gap:clamp(24px,2.15vw,42px)}
  :is(.laj-home,.laj-programmes) .laj-main-nav a{font-size:10.5px;letter-spacing:.065em}
  :is(.laj-home,.laj-programmes) .laj-btn-small{min-width:154px;padding:12px 19px}
  :is(.laj-home,.laj-programmes) .laj-header-heart{font-size:25px;margin-left:-3px}
}

.laj-footer{
  position:relative;
  grid-template-columns:minmax(260px,1.45fr) .72fr .72fr .58fr .88fr;
  gap:clamp(28px,3.2vw,64px);
  padding:54px var(--laj-gutter) 52px;
  background:linear-gradient(96deg,#701824 0%,var(--laj-wine) 42%,#721a28 100%);
  border-top:1px solid rgba(226,193,131,.35);
  overflow:hidden;
}
.laj-footer:before{
  content:"";
  position:absolute;
  left:var(--laj-gutter);right:var(--laj-gutter);top:15px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(226,193,131,.38) 14%,rgba(226,193,131,.18) 75%,transparent);
}
.laj-footer>div{position:relative;z-index:1}
.laj-footer-brand{padding-right:22px}
.laj-footer-logo{display:block;width:min(205px,100%);height:75px;margin:-8px 0 12px;overflow:hidden;opacity:.94}
.laj-footer-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.92}
.laj-footer-brand p{font-size:11px;line-height:1.72;max-width:285px;color:rgba(255,255,255,.78);margin:0}
.laj-footer-col{padding-left:24px;border-left:1px solid rgba(226,193,131,.26);min-height:105px}
.laj-footer strong{font-size:17px;font-weight:500;color:#fff;margin-bottom:14px}
.laj-footer a{font-size:9px;letter-spacing:.075em;color:rgba(255,255,255,.82);margin:9px 0;transition:.2s}
.laj-footer a:hover{color:#efd7a7}
.laj-social-row{display:flex;gap:10px;margin-top:12px}
.laj-footer .laj-social-pill{width:34px;height:34px;border:1px solid rgba(226,193,131,.62);border-radius:50%;display:grid;place-items:center;margin:0;font-family:"Playfair Display",Georgia,serif;font-size:12px;text-transform:none;letter-spacing:0;color:#efd7a7}
.laj-footer .laj-social-pill:hover{background:rgba(255,255,255,.06)}
.laj-footer-script{align-self:center;justify-self:end;min-width:190px;font-size:27px;line-height:1.18;color:#e2c183;padding:5px 0 0 24px}
.laj-footer-script span{font-size:22px}
.laj-footer-script i{font-style:normal;font-size:21px;margin-left:3px}

@media(max-width:1180px) and (min-width:981px){
  :is(.laj-home,.laj-programmes) .laj-header{grid-template-columns:220px minmax(0,1fr) 205px}
  :is(.laj-home,.laj-programmes) .laj-brand{width:178px}
  :is(.laj-home,.laj-programmes) .laj-main-nav{gap:19px}
  :is(.laj-home,.laj-programmes) .laj-main-nav a{font-size:9px}
  .laj-footer{grid-template-columns:1.3fr .8fr .8fr .65fr 1fr;gap:25px}
  .laj-footer-col{padding-left:17px}
}
@media(max-width:980px){
  .laj-footer{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:44px;gap:30px 22px}
  .laj-footer-brand{grid-column:1/-1}
  .laj-footer-logo{width:175px;height:66px}
  .laj-footer-col{padding-left:0;border-left:0}
  .laj-footer-script{justify-self:start;padding-left:0}
}
@media(max-width:640px){
  .laj-footer{grid-template-columns:1fr;padding:40px 20px 36px;gap:25px}
  .laj-footer-brand{grid-column:auto}
  .laj-footer:before{left:20px;right:20px}
  .laj-footer-logo{width:155px;height:58px}
  .laj-footer-script{font-size:23px}
}


/* v0.1.4 — raccord propre entre le ruban 01–05 et le footer.
   Le double filet décoratif de la v0.1.3 créait visuellement une bande parasite. */
.laj-footer{border-top:0!important}
.laj-footer:before{display:none!important}

/* ==========================================================
   v0.1.7 — coque commune canonique
   Le Core est l'unique source visuelle du header et du footer.
   Les sélecteurs volontairement renforcés neutralisent les anciens
   réglages locaux encore présents dans certains plugins de pages.
   ========================================================== */
@media(min-width:981px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header{
    height:92px!important;
    grid-template-columns:220px minmax(0,1fr) 205px!important;
    gap:20px!important;
    padding:3px var(--laj-gutter)!important;
    max-width:var(--laj-max)!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-brand{
    width:155px!important;
    margin-top:0!important;
    align-self:center!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-brand img{
    max-height:84px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-main-nav{
    gap:clamp(18px,1.7vw,31px)!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-main-nav a{
    font-size:10.7px!important;
    line-height:1.25!important;
    letter-spacing:.015em!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-btn-small{
    min-width:138px!important;
    padding:10px 16px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header-heart{
    font-size:22px!important;
    margin-left:0!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    display:none!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer{
    height:clamp(112px,7vw,136px)!important;
    min-height:clamp(112px,7vw,136px)!important;
    max-height:clamp(112px,7vw,136px)!important;
    grid-template-columns:minmax(220px,1.28fr) .72fr .72fr .56fr .82fr!important;
    gap:clamp(14px,1.65vw,27px)!important;
    padding:10px var(--laj-gutter)!important;
    align-items:center!important;
    box-sizing:border-box!important;
    background:
      radial-gradient(85% 150% at 14% 20%,rgba(255,255,255,.045),transparent 52%),
      radial-gradient(85% 135% at 88% 80%,rgba(220,180,115,.055),transparent 55%),
      linear-gradient(96deg,#681824 0%,#781f2d 46%,#6d1a28 100%)!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer>div{
    min-height:0!important;
    align-self:center!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{
    padding-right:10px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
    width:116px!important;
    height:39px!important;
    margin:0 0 3px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand p{
    font-size:9.2px!important;
    line-height:1.35!important;
    max-width:255px!important;
    margin:0!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-col{
    min-height:0!important;
    padding-left:13px!important;
    border-left:1px solid rgba(226,193,131,.20)!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer strong{
    font-size:12.8px!important;
    line-height:1.16!important;
    margin:0 0 4px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer a{
    font-size:8.4px!important;
    line-height:1.2!important;
    margin:2px 0!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-social-row{
    gap:6px!important;
    margin-top:5px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer .laj-social-pill{
    width:25px!important;
    height:25px!important;
    font-size:8.5px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script{
    min-width:0!important;
    font-size:19px!important;
    line-height:1.04!important;
    padding:0!important;
    justify-self:end!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script span{font-size:15px!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script i{font-size:14px!important}
}

@media(max-width:980px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header{
    height:88px!important;
    grid-template-columns:170px 1fr!important;
    padding:5px 24px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-brand{
    width:132px!important;
    margin-top:0!important;
    align-self:center!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-main-nav{display:none!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header-actions>.laj-btn,
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header-heart{display:none!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{display:block!important;margin-left:auto!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer{
    height:auto!important;min-height:0!important;max-height:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:28px 24px 26px!important;
    gap:24px 20px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{grid-column:1/-1!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{width:150px!important;height:52px!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-col{padding-left:0!important;border-left:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script{justify-self:start!important;padding-left:0!important;font-size:21px!important}
}
@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header{height:76px!important;padding:5px 18px!important;grid-template-columns:1fr auto!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-brand{width:120px!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer{grid-template-columns:1fr!important;padding:28px 20px 26px!important;gap:20px!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{grid-column:auto!important}
}


/* v0.1.8 — les pages publiques génériques utilisent elles aussi la coque canonique. */
.laj-core-page{width:100%;min-height:100vh;box-sizing:border-box;}
.laj-core-page *{box-sizing:border-box;}

/* ==========================================================
   v0.2.0 — mobile header : bouton propre + vrai menu déroulant
   ========================================================== */
.laj-mobile-nav{display:none}

@media(max-width:980px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header{
    position:relative!important;
    z-index:100!important;
    background:rgba(247,242,233,.98)!important;
    border-bottom:1px solid rgba(122,30,45,.09)!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    -webkit-appearance:none!important;
    appearance:none!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    margin:0 0 0 auto!important;
    padding:8px!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:transparent!important;
    color:var(--laj-wine)!important;
    cursor:pointer!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle span{
    display:block!important;
    position:static!important;
    width:24px!important;
    height:2px!important;
    min-height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:var(--laj-wine)!important;
    transform:none!important;
    opacity:1!important;
    transition:transform .18s ease,opacity .18s ease!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-menu-toggle span:nth-child(2){opacity:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:120;
    padding:16px 24px 20px;
    background:#fbf6ee;
    border-top:1px solid rgba(122,30,45,.08);
    border-bottom:1px solid rgba(122,30,45,.14);
    box-shadow:0 14px 28px rgba(55,36,30,.08);
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-mobile-nav{display:grid!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav a{
    display:block;
    padding:12px 2px;
    border-bottom:1px solid rgba(122,30,45,.09);
    color:var(--laj-ink);
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:10px;
    font-family:Montserrat,Arial,sans-serif;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav a.is-active{color:var(--laj-wine);font-weight:700}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav .laj-mobile-cta{
    margin-top:14px;
    border:1px solid var(--laj-wine);
    background:var(--laj-wine);
    color:#fff;
    text-align:center;
    padding:12px 14px;
  }
}

@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header{
    height:64px!important;
    padding:4px 14px!important;
    grid-template-columns:1fr auto!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-brand{
    width:102px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-brand img{
    max-height:56px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    padding:12px 18px 18px;
  }
}


/* ==========================================================
   v0.2.1 — footer mobile compact
   ========================================================== */
@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:22px 18px 20px!important;
    gap:16px 18px!important;
    align-items:start!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{grid-column:1/-1!important;display:grid!important;grid-template-columns:112px 1fr!important;gap:14px!important;align-items:center!important;padding:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{width:112px!important;height:42px!important;margin:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand p{font-size:9px!important;line-height:1.45!important;max-width:none!important;margin:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-col{min-height:0!important;margin:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer strong{font-size:13px!important;margin-bottom:7px!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer a{font-size:8px!important;margin:5px 0!important;line-height:1.2!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-social{align-self:end!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer .laj-social-pill{width:29px!important;height:29px!important;font-size:10px!important;margin:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script{align-self:end!important;justify-self:end!important;text-align:right!important;font-size:17px!important;line-height:1.05!important;padding:0!important;min-width:0!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script span{font-size:14px!important}
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-script i{font-size:13px!important}
}


/* ==========================================================
   v0.2.2 — Sous-menu Accompagnements + menu mobile latéral
   ========================================================== */

/* Desktop : le parent reste une entrée normale de la navigation. */
@media(min-width:981px){
  .laj-main-nav .laj-nav-parent{
    position:relative;
    display:flex;
    align-items:center;
    height:100%;
  }
  .laj-main-nav .laj-nav-parent-link{
    display:flex;
    align-items:center;
    gap:6px;
  }
  .laj-main-nav .laj-nav-chevron{
    color:var(--laj-gold);
    font-size:13px;
    line-height:1;
    transform:translateY(-1px);
    transition:transform .18s ease;
  }
  .laj-main-nav .laj-nav-parent:hover .laj-nav-chevron,
  .laj-main-nav .laj-nav-parent:focus-within .laj-nav-chevron{
    transform:translateY(1px) rotate(180deg);
  }
  .laj-main-nav .laj-submenu{
    position:absolute;
    z-index:500;
    top:calc(50% + 22px);
    left:50%;
    width:220px;
    padding:10px;
    background:rgba(252,248,241,.985);
    border:1px solid rgba(122,30,45,.10);
    box-shadow:0 18px 42px rgba(48,31,28,.12);
    transform:translate(-50%,8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .laj-main-nav .laj-nav-parent:hover .laj-submenu,
  .laj-main-nav .laj-nav-parent:focus-within .laj-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
  }
  .laj-main-nav .laj-submenu:before{
    content:"";
    position:absolute;
    left:50%;
    top:-7px;
    width:13px;
    height:13px;
    background:#fcf8f1;
    border-left:1px solid rgba(122,30,45,.10);
    border-top:1px solid rgba(122,30,45,.10);
    transform:translateX(-50%) rotate(45deg);
  }
  .laj-main-nav .laj-submenu a{
    display:block;
    position:relative;
    padding:11px 13px;
    font-size:10px!important;
    line-height:1.15;
    text-align:left;
    color:var(--laj-ink);
    border-bottom:1px solid rgba(122,30,45,.07);
  }
  .laj-main-nav .laj-submenu a:last-child{border-bottom:0}
  .laj-main-nav .laj-submenu a:after{display:none!important}
  .laj-main-nav .laj-submenu a:hover,
  .laj-main-nav .laj-submenu a:focus,
  .laj-main-nav .laj-submenu a.is-active{
    color:var(--laj-wine);
    background:rgba(122,30,45,.045);
  }
}

/* Mobile / tablette : bouton flottant et panneau latéral. */
@media(max-width:980px){
  body.laj-mobile-menu-open{overflow:hidden!important}

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header{
    position:relative!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    position:fixed!important;
    z-index:100020!important;
    top:84px!important;
    right:16px!important;
    display:flex!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:10px!important;
    margin:0!important;
    border:1px solid rgba(122,30,45,.14)!important;
    border-radius:50%!important;
    background:rgba(251,246,238,.94)!important;
    box-shadow:0 8px 24px rgba(53,35,31,.14)!important;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  body.admin-bar :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:116px!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle span{
    width:20px!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-menu-toggle{
    opacity:0!important;
    pointer-events:none!important;
  }

  .laj-mobile-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:100000!important;
    background:rgba(40,27,24,.34)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease,visibility .22s ease!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-mobile-backdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    z-index:100010!important;
    width:min(380px,88vw)!important;
    height:100dvh!important;
    padding:22px 24px 28px!important;
    overflow-y:auto!important;
    background:#fbf6ee!important;
    border:0!important;
    border-left:1px solid rgba(122,30,45,.11)!important;
    box-shadow:-18px 0 44px rgba(48,31,28,.16)!important;
    transform:translateX(104%)!important;
    opacity:1!important;
    visibility:visible!important;
    transition:transform .25s cubic-bezier(.2,.75,.25,1)!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-mobile-nav{
    transform:translateX(0)!important;
  }

  .laj-mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:4px 0 18px;
    margin-bottom:5px;
    border-bottom:1px solid rgba(122,30,45,.13);
    color:var(--laj-wine);
    font-family:"Playfair Display",Georgia,serif;
    font-size:24px;
  }

  .laj-mobile-close{
    -webkit-appearance:none;
    appearance:none;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:rgba(122,30,45,.07);
    color:var(--laj-wine);
    font:400 29px/1 Georgia,serif;
    cursor:pointer;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav > a,
  .laj-mobile-parent-link{
    display:block;
    padding:15px 2px!important;
    border-bottom:1px solid rgba(122,30,45,.09)!important;
    color:var(--laj-ink)!important;
    text-decoration:none!important;
    text-transform:uppercase!important;
    letter-spacing:.07em!important;
    font:600 11px/1.2 Montserrat,Arial,sans-serif!important;
  }

  .laj-mobile-parent-row{
    display:grid;
    grid-template-columns:1fr 46px;
    align-items:stretch;
    border-bottom:1px solid rgba(122,30,45,.09);
  }
  .laj-mobile-parent-row .laj-mobile-parent-link{
    border-bottom:0!important;
  }
  .laj-mobile-subtoggle{
    -webkit-appearance:none;
    appearance:none;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:transparent;
    color:var(--laj-wine);
    cursor:pointer;
    font-size:22px;
  }
  .laj-mobile-subtoggle span{
    display:block;
    transition:transform .18s ease;
  }
  .laj-mobile-subtoggle[aria-expanded="true"] span{transform:rotate(45deg)}

  .laj-mobile-submenu{
    margin:0 0 4px;
    padding:7px 0 8px 17px;
    border-left:1px solid rgba(200,168,106,.65);
  }
  .laj-mobile-submenu[hidden]{display:none!important}
  .laj-mobile-submenu a{
    display:block!important;
    padding:11px 7px!important;
    border-bottom:0!important;
    color:#665249!important;
    text-decoration:none!important;
    text-transform:none!important;
    letter-spacing:.02em!important;
    font:500 14px/1.25 Montserrat,Arial,sans-serif!important;
  }
  .laj-mobile-submenu a.is-active{
    color:var(--laj-wine)!important;
    font-weight:700!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav .laj-mobile-cta{
    display:block!important;
    margin-top:22px!important;
    border:1px solid var(--laj-wine)!important;
    background:var(--laj-wine)!important;
    color:#fff!important;
    text-align:center!important;
    padding:14px 16px!important;
  }
}

@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:74px!important;
    right:12px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }
  body.admin-bar :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:120px!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    width:min(340px,91vw)!important;
    padding:18px 20px 24px!important;
  }
}

/* ==========================================================
   v0.2.3 — MOBILE : LANGUETTE VERTICALE + DRAWER COMPACT
   Le déclencheur devient une petite languette bordeaux centrée
   sur le bord droit. Le panneau latéral est volontairement plus
   fin et plus dense pour ne pas masquer presque tout l'écran.
   ========================================================== */
@media(max-width:980px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    position:fixed!important;
    z-index:100020!important;
    top:50%!important;
    right:0!important;
    transform:translateY(-50%)!important;
    width:30px!important;
    height:92px!important;
    min-width:30px!important;
    min-height:92px!important;
    padding:9px 5px!important;
    margin:0!important;
    border:0!important;
    border-radius:14px 0 0 14px!important;
    background:rgba(122,30,45,.96)!important;
    box-shadow:-5px 7px 20px rgba(53,35,31,.18)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    color:#fffaf4!important;
  }

  /* L'admin bar ne déplace plus la languette : elle reste centrée. */
  body.admin-bar :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:50%!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle .laj-menu-label{
    display:block!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    background:none!important;
    border:0!important;
    border-radius:0!important;
    writing-mode:vertical-rl!important;
    transform:rotate(180deg)!important;
    color:#fffaf4!important;
    font:700 9px/1 Montserrat,Arial,sans-serif!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle .laj-menu-dots{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    background:none!important;
    transform:none!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle .laj-menu-dots i{
    display:block!important;
    width:3px!important;
    height:3px!important;
    margin:0!important;
    border-radius:50%!important;
    background:#d7b46c!important;
  }

  /* Annule complètement les anciennes barres hamburger. */
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle > span:not(.laj-menu-label):not(.laj-menu-dots){
    display:none!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    width:min(290px,78vw)!important;
    padding:14px 16px 20px!important;
    border-radius:18px 0 0 18px!important;
  }

  .laj-mobile-nav-head{
    padding:2px 0 12px!important;
    margin-bottom:2px!important;
    font-size:19px!important;
  }
  .laj-mobile-close{
    width:32px!important;
    height:32px!important;
    font-size:24px!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav > a,
  .laj-mobile-parent-link{
    padding:11px 2px!important;
    font-size:10px!important;
    letter-spacing:.055em!important;
  }

  .laj-mobile-parent-row{
    grid-template-columns:1fr 38px!important;
  }
  .laj-mobile-subtoggle{
    font-size:18px!important;
  }
  .laj-mobile-submenu{
    padding:4px 0 5px 12px!important;
    margin:0 0 2px!important;
  }
  .laj-mobile-submenu a{
    padding:8px 6px!important;
    font-size:12px!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav .laj-mobile-cta{
    margin-top:14px!important;
    padding:11px 12px!important;
    font-size:10px!important;
  }
}

@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:50%!important;
    right:0!important;
    width:28px!important;
    height:86px!important;
    min-width:28px!important;
    min-height:86px!important;
    border-radius:13px 0 0 13px!important;
  }
  body.admin-bar :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:50%!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    width:min(270px,80vw)!important;
    padding:13px 15px 18px!important;
  }
}

/* ==========================================================
   v0.2.4 — MOBILE : LANGUETTE PLUS BASSE + MENU FLOTTANT COMPACT
   Le volet n'occupe plus toute la hauteur de l'écran. Il devient
   une carte latérale compacte, centrée légèrement sous le milieu,
   et reste scrollable seulement si un sous-menu l'exige.
   ========================================================== */
@media(max-width:980px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:58%!important;
  }
  body.admin-bar :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:58%!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    top:58%!important;
    right:0!important;
    bottom:auto!important;
    left:auto!important;
    width:min(248px,74vw)!important;
    height:auto!important;
    min-height:0!important;
    max-height:min(76dvh,560px)!important;
    padding:10px 12px 12px!important;
    border-radius:16px 0 0 16px!important;
    overflow-y:auto!important;
    transform:translate(104%,-50%)!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header.is-menu-open .laj-mobile-nav{
    transform:translate(0,-50%)!important;
  }

  .laj-mobile-nav-head{
    padding:0 0 7px!important;
    margin-bottom:0!important;
    font-size:16px!important;
  }
  .laj-mobile-close{
    width:26px!important;
    height:26px!important;
    font-size:20px!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav > a,
  .laj-mobile-parent-link{
    padding:8px 1px!important;
    font-size:9px!important;
    letter-spacing:.05em!important;
  }

  .laj-mobile-parent-row{
    grid-template-columns:1fr 32px!important;
  }
  .laj-mobile-subtoggle{
    font-size:16px!important;
  }
  .laj-mobile-submenu{
    padding:2px 0 3px 9px!important;
    margin:0!important;
  }
  .laj-mobile-submenu a{
    padding:6px 4px!important;
    font-size:11px!important;
    line-height:1.15!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav .laj-mobile-cta{
    margin-top:8px!important;
    padding:9px 10px!important;
    font-size:9px!important;
  }
}

@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle,
  body.admin-bar :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-menu-toggle{
    top:58%!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    top:58%!important;
    width:min(236px,76vw)!important;
    max-height:min(74dvh,520px)!important;
    padding:9px 11px 11px!important;
  }
}


/* ==========================================================
   v0.2.5 — MENU MOBILE PLUS FIN + CROIX PROPRE
   ========================================================== */
@media(max-width:980px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    width:min(210px,64vw)!important;
    padding:9px 10px 11px!important;
  }

  .laj-mobile-nav-head{
    padding-bottom:6px!important;
  }

  .laj-mobile-close{
    position:relative!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:transparent!important;
    font-size:0!important;
    line-height:1!important;
  }
  .laj-mobile-close:before,
  .laj-mobile-close:after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:15px!important;
    height:1.5px!important;
    background:var(--laj-wine)!important;
    transform-origin:center!important;
  }
  .laj-mobile-close:before{
    transform:translate(-50%,-50%) rotate(45deg)!important;
  }
  .laj-mobile-close:after{
    transform:translate(-50%,-50%) rotate(-45deg)!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav > a,
  .laj-mobile-parent-link{
    padding:7px 1px!important;
    font-size:8.7px!important;
  }

  .laj-mobile-parent-row{
    grid-template-columns:1fr 28px!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav .laj-mobile-cta{
    padding:8px 8px!important;
    font-size:8.6px!important;
  }
}

@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-mobile-nav{
    width:min(198px,68vw)!important;
    padding:8px 9px 10px!important;
  }
}


/* ==========================================================
   v0.2.6 — SOUS-MENU ACCOMPAGNEMENTS EXPLICATIF
   1. Explication des programmes -> page principale
   2. Détails des programmes -> révèle les cinq pages dédiées
   ========================================================== */
@media(min-width:981px){
  .laj-main-nav .laj-submenu{width:250px!important;padding:9px!important}
  .laj-main-nav .laj-submenu-overview{font-weight:650!important}
  .laj-main-nav .laj-submenu-details{
    position:relative;
    border-top:1px solid rgba(122,30,45,.08);
  }
  .laj-main-nav .laj-submenu-details-toggle{
    -webkit-appearance:none;
    appearance:none;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 13px;
    border:0;
    background:transparent;
    color:var(--laj-ink);
    text-align:left;
    text-transform:uppercase;
    letter-spacing:.045em;
    font:650 9.5px/1.2 Montserrat,Arial,sans-serif;
    cursor:pointer;
  }
  .laj-main-nav .laj-submenu-details-toggle i{
    font-style:normal;
    color:var(--laj-wine);
    font-size:13px;
    transition:transform .18s ease;
  }
  .laj-main-nav .laj-submenu-details:hover .laj-submenu-details-toggle,
  .laj-main-nav .laj-submenu-details:focus-within .laj-submenu-details-toggle,
  .laj-main-nav .laj-submenu-details.is-open .laj-submenu-details-toggle,
  .laj-main-nav .laj-submenu-details.is-active .laj-submenu-details-toggle{
    color:var(--laj-wine);
    background:rgba(122,30,45,.04);
  }
  .laj-main-nav .laj-submenu-details:hover .laj-submenu-details-toggle i,
  .laj-main-nav .laj-submenu-details:focus-within .laj-submenu-details-toggle i,
  .laj-main-nav .laj-submenu-details.is-open .laj-submenu-details-toggle i{
    transform:rotate(180deg);
  }
  .laj-main-nav .laj-submenu-details-list{
    max-height:0;
    opacity:0;
    overflow:hidden;
    visibility:hidden;
    transition:max-height .22s ease,opacity .16s ease,visibility .16s ease;
    background:rgba(122,30,45,.025);
  }
  .laj-main-nav .laj-submenu-details:hover .laj-submenu-details-list,
  .laj-main-nav .laj-submenu-details:focus-within .laj-submenu-details-list,
  .laj-main-nav .laj-submenu-details.is-open .laj-submenu-details-list{
    max-height:260px;
    opacity:1;
    visibility:visible;
  }
  .laj-main-nav .laj-submenu-details-list a{
    padding:8px 13px 8px 24px!important;
    border-bottom:0!important;
    font-size:9.5px!important;
    text-transform:none!important;
    letter-spacing:.02em!important;
    font-weight:500!important;
  }
  .laj-main-nav .laj-submenu-details-list a:before{
    content:"";
    position:absolute;
    left:13px;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:var(--laj-gold);
    transform:translateY(-50%);
  }
}

@media(max-width:980px){
  .laj-mobile-submenu > .laj-mobile-overview{
    font-weight:700!important;
    color:var(--laj-wine)!important;
  }
  .laj-mobile-details{
    border-top:1px solid rgba(122,30,45,.07);
  }
  .laj-mobile-details-toggle{
    -webkit-appearance:none;
    appearance:none;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:6px 4px!important;
    border:0;
    background:transparent;
    color:#665249;
    text-align:left;
    font:650 10.5px/1.15 Montserrat,Arial,sans-serif;
    cursor:pointer;
  }
  .laj-mobile-details-toggle i{
    font-style:normal;
    color:var(--laj-wine);
    font-size:14px;
    transition:transform .18s ease;
  }
  .laj-mobile-details-toggle[aria-expanded="true"] i{transform:rotate(45deg)}
  .laj-mobile-details-list[hidden]{display:none!important}
  .laj-mobile-details-list{
    padding:0 0 2px 7px;
    border-left:1px solid rgba(200,168,106,.48);
  }
  .laj-mobile-details-list a{
    padding:5px 4px 5px 8px!important;
    font-size:10px!important;
    line-height:1.15!important;
  }
}


/* ==========================================================
   v0.2.7 — footer simplifié + liens légaux
   ========================================================== */
body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-legal{
  grid-column:1/-1!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px 22px!important;
  padding-top:14px!important;
  margin-top:2px!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
}
body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-legal a{
  margin:0!important;
  font-size:8px!important;
  letter-spacing:.07em!important;
  opacity:.76!important;
}
body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand:not(:has(p)){
  align-self:center!important;
}
@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-legal{
    justify-content:flex-start!important;
    gap:7px 14px!important;
    padding-top:12px!important;
  }
}


/* ==========================================================
   v0.2.8 — footer final : logo agrandi, phrases supprimées
   ========================================================== */
body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{
  display:flex!important;
  align-items:center!important;
  min-height:92px!important;
}
body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
  width:min(275px,100%)!important;
  height:96px!important;
  margin:-9px 0 -5px!important;
}
body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

@media(max-width:980px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
    width:225px!important;
    height:82px!important;
  }
}

@media(max-width:640px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{
    grid-column:1/-1!important;
    display:flex!important;
    min-height:0!important;
    justify-content:flex-start!important;
  }
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
    width:165px!important;
    height:62px!important;
    margin:-4px 0 0!important;
  }
}


/* ==========================================================
   v0.2.10 — footer desktop adapté à la ligne légale
   Le footer compact avait une hauteur maximale fixe : l'ajout
   des liens légaux créait une seconde ligne et comprimait le logo.
   ========================================================== */
@media(min-width:981px){
  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer{
    height:auto!important;
    min-height:168px!important;
    max-height:none!important;
    grid-template-columns:minmax(250px,1.42fr) .78fr .78fr .62fr!important;
    gap:clamp(22px,2.6vw,46px)!important;
    row-gap:9px!important;
    padding:18px var(--laj-gutter) 12px!important;
    align-items:center!important;
    overflow:visible!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{
    min-height:100px!important;
    padding-right:18px!important;
    display:flex!important;
    align-items:center!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
    width:min(290px,100%)!important;
    height:100px!important;
    margin:0!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-col{
    align-self:center!important;
  }

  body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-legal{
    grid-column:1/-1!important;
    margin-top:0!important;
    padding-top:10px!important;
    padding-bottom:1px!important;
  }
}


/* ==========================================================
   v0.3.0 — audit exhaustif de la coque commune.
   Les réglages sont volontairement globaux au header / footer,
   mais locaux à chacun de ces blocs.
   ========================================================== */
@media(min-width:981px){
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-brand{
    width:var(--laj-core-header-logo-width,155px)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-main-nav>a,
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-nav-parent-link{
    font-size:var(--laj-core-header-nav-font,11px)!important;
    color:var(--laj-core-header-nav-color,#241f1b)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-main-nav a.is-active,
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-nav-parent.is-active>.laj-nav-parent-link{
    color:var(--laj-core-header-active-color,#7a1e2d)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-submenu{
    background:var(--laj-core-header-submenu-bg,#fcf8f1)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-submenu a,
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-submenu-details-toggle{
    font-size:var(--laj-core-header-submenu-font,10px)!important;
    color:var(--laj-core-header-submenu-color,#241f1b)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-btn-small{
    font-size:var(--laj-core-header-cta-font,10px)!important;
    color:var(--laj-core-header-cta-text,#fff)!important;
    background:var(--laj-core-header-cta-bg,#7a1e2d)!important;
    border-color:var(--laj-core-header-cta-bg,#7a1e2d)!important;
  }
}

@media(max-width:980px){
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-menu-toggle{
    background:var(--laj-core-mobile-tab-bg,#7a1e2d)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-menu-label{
    font-size:var(--laj-core-mobile-tab-font,9px)!important;
    color:var(--laj-core-mobile-tab-text,#fffaf4)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-menu-dots i{
    background:var(--laj-core-mobile-tab-dot,#d7b46c)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-nav{
    background:var(--laj-core-mobile-panel-bg,#fbf6ee)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-nav-head{
    font-size:var(--laj-core-mobile-title-font,19px)!important;
    color:var(--laj-core-mobile-title-color,#7a1e2d)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-nav>a,
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-parent-link{
    font-size:var(--laj-core-mobile-link-font,9px)!important;
    color:var(--laj-core-mobile-link-color,#241f1b)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-submenu a,
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-details-toggle,
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-details-list a{
    font-size:var(--laj-core-mobile-sub-font,12px)!important;
    color:var(--laj-core-mobile-sub-color,#665249)!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-header .laj-mobile-cta{
    font-size:var(--laj-core-mobile-cta-font,9px)!important;
    color:var(--laj-core-mobile-cta-text,#fff)!important;
    background:var(--laj-core-mobile-cta-bg,#7a1e2d)!important;
    border-color:var(--laj-core-mobile-cta-bg,#7a1e2d)!important;
  }
}

html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer{
  background:
    radial-gradient(85% 150% at 14% 20%,rgba(255,255,255,.045),transparent 52%),
    radial-gradient(85% 135% at 88% 80%,rgba(220,180,115,.055),transparent 55%),
    linear-gradient(96deg,
      color-mix(in srgb,var(--laj-core-footer-bg,#781f2d) 88%,#000) 0%,
      var(--laj-core-footer-bg,#781f2d) 48%,
      color-mix(in srgb,var(--laj-core-footer-bg,#781f2d) 92%,#000) 100%)!important;
}
@media(min-width:981px){
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
    width:min(var(--laj-core-footer-logo-width,290px),100%)!important;
  }
}
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer strong{
  font-size:var(--laj-core-footer-heading-font,13px)!important;
  color:var(--laj-core-footer-heading-color,#fff)!important;
}
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-col>a{
  font-size:var(--laj-core-footer-link-font,8px)!important;
  color:var(--laj-core-footer-link-color,#fff)!important;
}
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer .laj-social-pill{
  font-size:var(--laj-core-footer-social-font,9px)!important;
  color:var(--laj-core-footer-social-color,#efd7a7)!important;
  border-color:var(--laj-core-footer-social-color,#efd7a7)!important;
}
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-legal a{
  font-size:var(--laj-core-footer-legal-font,8px)!important;
  color:var(--laj-core-footer-legal-color,#fff)!important;
}


/* ==========================================================
   v0.3.3 — logo footer réellement dimensionnable
   Correction du bloc CSS v0.3.2 qui avait été écrit avec des
   séquences "\n" littérales et n'était donc pas interprété.
   ========================================================== */
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{
  min-height:max(100px,var(--laj-core-footer-logo-height,120px))!important;
  overflow:visible!important;
}
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
  width:min(var(--laj-core-footer-logo-width,290px),100%)!important;
  height:var(--laj-core-footer-logo-height,120px)!important;
  max-width:none!important;
  overflow:visible!important;
}
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  transform:scale(var(--laj-core-footer-logo-zoom,1))!important;
  transform-origin:left center!important;
}

@media(max-width:980px){
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-brand{
    min-height:max(72px,var(--laj-core-footer-logo-height,120px))!important;
  }
  html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo{
    width:min(var(--laj-core-footer-logo-width,290px),92vw)!important;
    height:var(--laj-core-footer-logo-height,120px)!important;
  }
}


/* ==========================================================
   v0.3.4 — le logo footer conserve ses couleurs d'origine.
   L'ancien footer forçait volontairement tous les logos en blanc.
   Avec un logo footer dédié, ce filtre n'a plus lieu d'être.
   ========================================================== */
html body :is(.laj-home-v2,.laj-home,.laj-programmes,.laj-premier-echange,.laj-client-app,.laj-core-page) .laj-footer-logo img{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
}
