/* En-tête et pied de page de toutes les pages habillées. */

/* Filet de sécurité : l'ancien en-tête Divi et l'ancien pied ne s'affichent jamais. */
body.lha-page .et-l--header,
body.lha-page .et-l--footer,
body.lha-page #main-header,
body.lha-page #top-header,
body.lha-page #main-footer{display:none!important}
body.lha-page #page-container{padding-top:0!important;overflow:visible}
html:has(body.lha-page){scroll-padding-top:calc(var(--lha-entete-h,72px) + 12px)}

/* ---------- lien d'évitement ---------- */
.lha-evitement{
  position:absolute; left:12px; top:-60px; z-index:1001;
  background:#fff; color:var(--lha-ink); font:600 15px/1 var(--lha-sans);
  padding:14px 18px; border-radius:var(--lha-r-md); text-decoration:none;
}
.lha-evitement:focus{top:12px;outline:3px solid var(--lha-accent);outline-offset:2px}

/* ---------- en-tête ---------- */
.lha-entete{
  position:sticky; top:0; z-index:100;
  background:var(--lha-forest900); color:#f1efe9; font-family:var(--lha-sans);
  transition:box-shadow .25s ease;
}
body.admin-bar .lha-entete{top:32px}
@media (max-width:782px){body.admin-bar .lha-entete{top:0}}
.lha-entete.est-defile{box-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 24px -12px rgba(0,0,0,.55)}
.lha-entete-in{
  max-width:1228px; margin:0 auto; padding:10px 24px;
  display:flex; align-items:center; gap:24px;
}
.lha-entete .lha-marque{
  margin-right:auto;
  font:600 19px/1 var(--lha-display); letter-spacing:.02em; color:#f1efe9;
  text-decoration:none; display:inline-flex; align-items:center; min-height:44px;
}
.lha-menu{display:flex;align-items:center;gap:22px}
.lha-entete-nav{display:flex;align-items:center}
.lha-entete .lha-nav{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.lha-entete .lha-nav li{margin:0;padding:0;list-style:none}
.lha-entete .lha-nav a,
.lha-entete .lha-tel,
.lha-entete .lha-panier{
  position:relative; display:inline-flex; align-items:center; gap:8px; min-height:44px;
  color:#dcdcd4; font:500 15px/1 var(--lha-sans); text-decoration:none;
  transition:color .15s ease;
}
/* soulignement qui se dessine au survol ; fixe sur la page en cours */
.lha-entete .lha-nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:9px; height:1.5px;
  background:#e9c98a; transform:scaleX(0); transform-origin:left; transition:transform .2s ease;
}
.lha-entete .lha-nav a:hover,
.lha-entete .lha-tel:hover,
.lha-entete .lha-panier:hover{color:#fff}
.lha-entete .lha-nav a:hover::after{transform:scaleX(1)}
.lha-entete .lha-nav .current-menu-item > a,
.lha-entete .lha-nav .current-page-ancestor > a,
.lha-entete .lha-nav a[aria-current="page"]{color:#fff}
.lha-entete .lha-nav .current-menu-item > a::after,
.lha-entete .lha-nav .current-page-ancestor > a::after,
.lha-entete .lha-nav a[aria-current="page"]::after{transform:scaleX(1)}
.lha-entete .lha-tel svg{width:17px;height:17px}
.lha-entete .lha-panier-n{
  display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px;
  border-radius:999px; background:#e9c98a; color:var(--lha-forest900); font:600 12px/1 var(--lha-sans);
}
.lha-entete .lha-entete-cta{
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 20px;
  border-radius:var(--lha-r-md); background:var(--lha-accent); color:#fff;
  font:600 15px/1 var(--lha-sans); text-decoration:none;
  transition:background-color .15s ease, transform .1s ease;
}
.lha-entete .lha-entete-cta:hover{background:var(--lha-accent-h);color:#fff}
.lha-entete .lha-entete-cta:active{transform:translateY(1px)}
.lha-entete .lha-entete-cta[aria-current="page"]{box-shadow:inset 0 0 0 2px #e9c98a}
.lha-entete .lha-entete-cta-court{display:none}
.lha-entete a:focus-visible,
.lha-entete button:focus-visible,
.lha-pied a:focus-visible{outline:3px solid #e9c98a;outline-offset:2px;border-radius:4px}

/* bouton du menu mobile (visible seulement avec JavaScript) */
.lha-menu-bouton{display:none}
.lha-menu-bouton{
  align-items:center; gap:10px; min-height:44px; padding:0 14px;
  background:transparent; color:#f1efe9; border:1px solid rgba(255,255,255,.28); border-radius:var(--lha-r-md);
  font:600 15px/1 var(--lha-sans); cursor:pointer;
}
.lha-menu-bouton:hover{border-color:rgba(255,255,255,.6)}
.lha-menu-icone{position:relative;display:inline-block;width:18px;height:12px}
.lha-menu-icone i{position:absolute;left:0;right:0;height:1.6px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .15s ease}
.lha-menu-icone i:nth-child(1){top:0}
.lha-menu-icone i:nth-child(2){top:5.2px}
.lha-menu-icone i:nth-child(3){bottom:0}
.lha-menu-bouton[aria-expanded="true"] .lha-menu-icone i:nth-child(1){transform:translateY(5.2px) rotate(45deg)}
.lha-menu-bouton[aria-expanded="true"] .lha-menu-icone i:nth-child(2){opacity:0}
.lha-menu-bouton[aria-expanded="true"] .lha-menu-icone i:nth-child(3){transform:translateY(-5.2px) rotate(-45deg)}

@media (max-width:1100px){
  .lha-entete .lha-tel span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lha-entete .lha-tel{min-width:44px;justify-content:center}
  .lha-menu{gap:18px}
  .lha-entete .lha-nav{gap:18px}
}
@media (max-width:980px){
  /* sans JavaScript : tout reste visible, sur deux lignes */
  .lha-entete-in{flex-wrap:wrap;row-gap:0;column-gap:16px;padding:6px 16px 8px}
  .lha-menu{flex-wrap:wrap;width:100%;gap:0 16px}
  .lha-entete .lha-nav{flex-wrap:wrap;gap:0 16px}
  .lha-entete .lha-nav a,.lha-entete .lha-tel{font-size:14px}
  .lha-entete .lha-entete-cta{margin-left:auto}

  /* avec JavaScript : un vrai menu repliable */
  .lha-js .lha-entete-in{flex-wrap:nowrap;padding:8px 16px}
  .lha-js .lha-menu-bouton{display:inline-flex}
  .lha-js .lha-menu{
    position:absolute; left:0; right:0; top:100%;
    display:flex; flex-direction:column; align-items:stretch; gap:0;
    background:var(--lha-forest900); border-top:1px solid rgba(255,255,255,.1);
    padding:8px 16px 20px; box-shadow:0 16px 32px -16px rgba(0,0,0,.6);
    visibility:hidden; opacity:0; transform:translateY(-6px);
    transition:opacity .18s ease, transform .2s ease, visibility 0s linear .2s;
  }
  .lha-js .lha-entete.menu-ouvert .lha-menu{visibility:visible;opacity:1;transform:none;transition-delay:0s}
  .lha-js .lha-entete-nav,.lha-js .lha-entete .lha-nav{display:block}
  .lha-js .lha-entete .lha-nav li + li{border-top:1px solid rgba(255,255,255,.08)}
  .lha-js .lha-entete .lha-nav a{display:flex;min-height:52px;font-size:17px}
  .lha-js .lha-entete .lha-nav a::after{display:none}
  .lha-js .lha-entete .lha-nav .current-menu-item > a,
  .lha-js .lha-entete .lha-nav a[aria-current="page"]{color:#e9c98a}
  .lha-js .lha-entete .lha-tel{min-height:52px;font-size:17px;border-top:1px solid rgba(255,255,255,.08)}
  .lha-js .lha-entete .lha-tel span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .lha-js .lha-entete .lha-tel{justify-content:flex-start}
  .lha-js .lha-entete .lha-panier{min-height:52px;font-size:17px;border-top:1px solid rgba(255,255,255,.08)}
  .lha-js .lha-entete .lha-entete-cta{margin:12px 0 0;min-height:52px;font-size:17px}
  /* « Réserver » reste dans la barre ; on ne le répète pas dans le menu ouvert */
  .lha-js .lha-entete-in{gap:10px}
  .lha-js .lha-entete .lha-entete-cta-court{display:inline-flex;margin:0;min-height:44px;padding:0 16px;font-size:15px}
  .lha-js .lha-entete .lha-menu .lha-entete-cta{display:none}
}
@media (max-width:420px){
  .lha-entete .lha-marque{font-size:17px}
  .lha-js .lha-entete .lha-entete-cta-court{padding:0 12px}
  .lha-menu-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .lha-menu-bouton{padding:0 13px}
}
@media (max-width:359px){
  .lha-entete .lha-marque{font-size:15px;letter-spacing:0}
}
@media (prefers-reduced-motion:reduce){
  .lha-entete *,.lha-entete{transition:none!important}
}

/* ---------- pied de page ---------- */
.lha-pied{background:var(--lha-forest900);color:#e7ebe5;padding:64px 24px 32px;font-family:var(--lha-sans)}
.lha-pied-in{max-width:1180px;margin:0 auto}
.lha-pied-haut{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:32px}
.lha-pied .lha-pied-marque{
  font:600 22px/1.2 var(--lha-display); letter-spacing:-.01em; color:#fff;
  display:inline-flex; align-items:center; min-height:44px; text-decoration:none; margin:0 0 12px;
}
.lha-pied .lha-pied-bl{font-size:15px;line-height:1.65;color:#b9c4b6;margin:0 0 20px;padding:0;max-width:36ch}
.lha-pied .lha-pied-cta{
  display:inline-flex; align-items:center; min-height:44px; padding:0 18px;
  border-radius:var(--lha-r-md); box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
  color:#fff; font:600 15px/1 var(--lha-sans); text-decoration:none; transition:box-shadow .15s ease;
}
.lha-pied .lha-pied-cta:hover{box-shadow:inset 0 0 0 1px #fff}
.lha-pied .lha-pied-t{
  font:600 13px/1 var(--lha-sans); letter-spacing:.09em; text-transform:uppercase;
  color:#93a08f; margin:0 0 16px; padding:0;
}
.lha-pied ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.lha-pied li{margin:0;padding:0;list-style:none}
.lha-pied ul a{
  display:flex; align-items:center; gap:8px; min-height:44px; color:#e7ebe5;
  text-decoration:none; font-size:15px; overflow-wrap:anywhere;
}
.lha-pied ul a svg{width:17px;height:17px;flex:0 0 17px}
.lha-pied ul a:hover,
.lha-pied ul a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lha-pied-bas{
  display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.14); margin-top:48px; padding-top:24px;
  font-size:14px; color:#9fae9b;
}
.lha-pied-bas nav{display:flex;flex-wrap:wrap;gap:0 24px}
.lha-pied-bas a{display:inline-flex;align-items:center;min-height:44px;color:#c7d0c4;text-decoration:none}
.lha-pied-bas a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.lha-pied sup{font-size:.62em;line-height:0}

@media (max-width:980px){.lha-pied-haut{grid-template-columns:1fr 1fr}.lha-pied-haut > :first-child{grid-column:1 / -1}}
@media (max-width:560px){
  .lha-pied-haut{grid-template-columns:1fr;gap:24px}
  .lha-pied{padding:48px 16px 32px}
}
