/* ==========================================================================
   En-tête — une seule ligne, fixe. Capsules de verre : transparentes sur les bannières,
   marine translucide dès que l'on défile. Panneau latéral à droite (hamburger).
   ========================================================================== */
.le-hdr{
  --ink:#0F2440; --soft:#5B6B85; --line:rgba(15,36,64,.09); --blue:#0E63C9; --spring:cubic-bezier(.2,.9,.3,1.25);
  position:fixed;top:16px;left:0;right:0;z-index:1000;pointer-events:none;font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.admin-bar .le-hdr{top:48px}
@media (max-width:782px){.admin-bar .le-hdr{top:62px}}
.le-hdr *,.le-hdr *::before,.le-hdr *::after{box-sizing:border-box}
.le-hdr svg.leh-i{display:block;flex:none;width:20px;height:20px;fill:none !important;stroke:currentColor !important}
.le-hdr svg.leh-i *{fill:none !important;stroke:currentColor !important}
html.leh-lock{overflow:hidden}

.leh-bar{max-width:1240px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}

/* Capsule de verre */
.leh-pill{pointer-events:auto;color:#fff;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 24px rgba(8,18,34,.16);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}
.le-hdr.is-scrolled .leh-pill{background:rgba(15,36,64,.82);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 30px rgba(8,18,34,.28)}

/* Marque (texte en attendant le logo) */
.leh-brand,.leh-brand:hover,.leh-brand:focus{justify-self:start;display:inline-flex;align-items:center;height:48px;padding:0 22px;color:#fff !important;text-decoration:none !important;outline:0}
.leh-wordmark{font-family:"Montserrat Alternates","Montserrat",sans-serif;font-weight:800;font-size:1rem;letter-spacing:-.01em;white-space:nowrap}
.leh-logo{display:block;height:26px;width:auto;max-width:150px;object-fit:contain}

/* Navigation */
.leh-nav{justify-self:center;padding:4px;height:48px}
.leh-nav ul{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none;height:100%}
.leh-nav li{position:relative;margin:0;padding:0;list-style:none}
.leh-nav a,.leh-nav a:visited{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 17px;border-radius:999px;font-size:.84rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;
  color:#fff !important;text-decoration:none !important;outline:0;transition:background .3s ease}
.leh-nav a:hover,.leh-nav a:focus-visible,.leh-nav li:focus-within > a,.leh-nav li:hover > a{background:rgba(255,255,255,.2);color:#fff !important}
.leh-nav a.is-current{background:rgba(255,255,255,.26);color:#fff !important}
.leh-chev{width:14px !important;height:14px !important;transition:transform .35s var(--spring)}
.leh-nav li:hover .leh-chev,.leh-nav li:focus-within .leh-chev{transform:rotate(180deg)}

/* Sous-menu des destinations */
.leh-drop{position:absolute;top:calc(100% + 16px);left:50%;width:520px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px;border-radius:28px;
  background:linear-gradient(145deg,#fff 0%,#F4F7FB 100%);border:1px solid rgba(15,36,64,.08);box-shadow:inset 0 1px 0 #fff,0 4px 8px rgba(15,36,64,.06),0 26px 56px rgba(8,18,34,.28);
  opacity:0;visibility:hidden;transform:translate(-50%,10px) scale(.97);transform-origin:top center;transition:opacity .3s ease,transform .45s var(--spring),visibility .3s}
.leh-drop::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.has-drop:hover > .leh-drop,.has-drop:focus-within > .leh-drop{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
.leh-nav .leh-drop a.leh-drop-item,.leh-nav .leh-drop a.leh-drop-item:hover,.leh-nav .leh-drop a.leh-drop-item:focus{display:flex;align-items:center;gap:14px;height:auto;padding:10px 14px 10px 10px;border-radius:20px;color:var(--ink) !important;background:transparent;font-size:inherit}
.leh-nav .leh-drop a.leh-drop-item:hover,.leh-nav .leh-drop a.leh-drop-item:focus-visible{background:#EAF0F7}
.leh-drop-thumb{flex:none;width:52px;height:52px;border-radius:16px;overflow:hidden;background:#E9EEF5;box-shadow:0 4px 12px rgba(15,36,64,.16)}
.leh-drop-thumb img{display:block;width:100% !important;height:100% !important;object-fit:cover !important}
.leh-drop-text{display:flex;flex-direction:column;gap:2px}
.leh-drop-text strong{font-family:"Montserrat Alternates","Montserrat",sans-serif;font-size:1rem;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.leh-drop-text small{font-size:.74rem;font-weight:600;color:var(--soft)}

/* Droite : icônes + hamburger */
.leh-right{justify-self:end;display:flex;align-items:center;gap:10px}
.leh-icons{display:flex;align-items:center;padding:4px;height:48px}
.leh-icons .le-header-icons{background:none !important;padding:0;gap:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.leh-icons .le-header-icon-btn{width:40px;height:40px;color:#fff !important}
.leh-icons .le-header-icon-btn:hover{background:rgba(255,255,255,.22)}
.leh-icons .le-header-icon-btn svg{width:19px;height:19px;color:#fff;fill:none !important}
.leh-icons .le-cart-icon__count{top:-1px;right:-1px;border-color:rgba(15,36,64,.9)}

.leh-burger,.leh-burger:hover,.leh-burger:focus{width:48px;height:48px;margin:0;padding:0;border-radius:999px !important;display:flex;align-items:center;justify-content:center;cursor:pointer;outline:0;color:#fff !important;
  background:rgba(255,255,255,.14) !important;border:1px solid rgba(255,255,255,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 24px rgba(8,18,34,.16) !important;transition:background .4s ease,transform .45s var(--spring)}
.le-hdr.is-scrolled .leh-burger,.le-hdr.is-scrolled .leh-burger:hover,.le-hdr.is-scrolled .leh-burger:focus{background:rgba(15,36,64,.82) !important;border-color:rgba(255,255,255,.14) !important}
.leh-burger:hover{transform:scale(1.06)}
.leh-burger:active{transform:scale(.94)}
.leh-burger-lines{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.leh-burger-lines i{display:block;height:2px;border-radius:2px;background:#fff;transition:width .35s var(--spring)}
.leh-burger-lines i:first-child{width:20px}
.leh-burger-lines i:last-child{width:13px}
.leh-burger:hover .leh-burger-lines i:last-child{width:20px}

/* Panneau latéral */
.leh-drawer{position:fixed;inset:0;z-index:1100;visibility:hidden;pointer-events:none;transition:visibility 0s linear .55s}
.leh-drawer.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}
.leh-overlay{position:absolute;inset:0;background:rgba(8,18,34,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .45s ease}
.leh-drawer.is-open .leh-overlay{opacity:1}
.leh-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);display:flex;flex-direction:column;gap:26px;padding:22px 28px 30px;overflow-y:auto;overscroll-behavior:contain;
  background:linear-gradient(160deg,#fff 0%,#F4F7FB 100%);border-radius:34px 0 0 34px;box-shadow:inset 1px 0 0 #fff,-30px 0 70px rgba(8,18,34,.32);
  transform:translateX(104%);transition:transform .6s cubic-bezier(.2,.9,.3,1)}
.leh-drawer.is-open .leh-panel{transform:none}
.leh-p-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.leh-p-brand,.leh-p-brand:hover,.leh-p-brand:focus{font-family:"Montserrat Alternates","Montserrat",sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.01em;color:var(--ink) !important;text-decoration:none !important}
.leh-p-brand .leh-logo{height:28px}
.leh-close,.leh-close:hover,.leh-close:focus{flex:none;width:46px;height:46px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50% !important;cursor:pointer;outline:0;color:var(--ink) !important;
  background:#fff !important;border:1px solid var(--line) !important;box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(15,36,64,.05),0 8px 18px rgba(15,36,64,.1) !important;transition:transform .45s var(--spring)}
.leh-close:hover{transform:rotate(90deg) scale(1.05)}

.leh-p-nav ul{margin:0;padding:0;list-style:none}
.leh-p-nav li{margin:0;padding:0;border-bottom:1px solid var(--line);opacity:0;transform:translateX(18px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.9,.3,1)}
.leh-drawer.is-open .leh-p-nav li{opacity:1;transform:none;transition-delay:calc(.14s + var(--i,0) * 45ms)}
.leh-p-nav a,.leh-p-nav a:visited{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 2px;font-family:"Montserrat Alternates","Montserrat",sans-serif;font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.01em;
  color:var(--ink) !important;text-decoration:none !important;outline:0;transition:color .25s ease,padding .4s var(--spring)}
.leh-p-nav a svg{width:20px;height:20px;color:var(--soft);transition:transform .45s var(--spring),color .25s ease}
.leh-p-nav a:hover,.leh-p-nav a:focus-visible{color:var(--blue) !important;padding-left:8px}
.leh-p-nav a:hover svg{transform:translateX(5px);color:var(--blue)}
.leh-p-nav a.is-current{color:var(--blue) !important}

.leh-p-block{display:flex;flex-direction:column;gap:12px}
.leh-p-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft)}
.leh-p-dests{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.leh-p-dest,.leh-p-dest:hover,.leh-p-dest:focus{position:relative;display:block;aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:#E9EEF5;text-decoration:none !important;color:#fff !important;outline:0;
  box-shadow:0 2px 4px rgba(15,36,64,.06),0 10px 22px rgba(15,36,64,.16);transition:transform .45s var(--spring)}
.leh-p-dest:hover{transform:translateY(-3px)}
.leh-p-dest img{position:absolute !important;inset:0;width:100% !important;height:100% !important;object-fit:cover !important;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.leh-p-dest:hover img{transform:scale(1.07)}
.leh-p-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,34,0) 40%,rgba(8,18,34,.6) 100%)}
.leh-p-dname{position:absolute;left:12px;bottom:10px;font-family:"Montserrat Alternates","Montserrat",sans-serif;font-weight:800;font-size:1rem;letter-spacing:-.01em;color:#fff;text-shadow:0 1px 12px rgba(8,18,34,.4)}

.leh-p-account{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.leh-p-account a,.leh-p-account a:visited{display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 6px 12px;border-radius:20px;font-size:.76rem;font-weight:700;color:var(--ink) !important;text-decoration:none !important;
  background:#fff;border:1px solid var(--line);box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(15,36,64,.05),0 6px 14px rgba(15,36,64,.07);transition:transform .45s var(--spring),box-shadow .3s ease}
.leh-p-account a:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 #fff,0 3px 6px rgba(15,36,64,.07),0 12px 24px rgba(15,36,64,.12)}
.leh-p-account svg{width:22px;height:22px;color:#1E3A66}

.leh-p-cta,.leh-p-cta:hover,.leh-p-cta:focus,.leh-p-cta:visited{display:flex;align-items:center;justify-content:center;gap:10px;height:58px;border-radius:999px;font-size:.96rem;font-weight:700;color:#fff !important;text-decoration:none !important;outline:0;
  background:linear-gradient(180deg,#2D5A9C 0%,#17335C 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 6px rgba(8,18,34,.25),0 14px 30px rgba(23,51,92,.36);transition:transform .45s var(--spring),background .25s ease}
.leh-p-cta:hover{background:linear-gradient(180deg,#3463AA 0%,#1B3C6B 100%);transform:translateY(-2px)}
.leh-p-cta svg{width:19px;height:19px;transition:transform .45s var(--spring)}
.leh-p-cta:hover svg{transform:translateX(4px)}

.leh-p-contact{display:flex;flex-direction:column;gap:10px}
.leh-p-contact > a,.leh-p-contact > a:visited{display:flex;align-items:center;gap:14px;font-size:.92rem;font-weight:700;color:var(--ink) !important;text-decoration:none !important}
.leh-p-contact > a small{display:block;margin-bottom:1px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.leh-ct-ic{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#1E3A66;background:#EAF0F7;box-shadow:inset 0 1px 0 #fff}
.leh-ct-ic--wa{color:#fff;background:linear-gradient(180deg,#34D673 0%,#16A34A 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 8px 18px rgba(22,163,74,.35)}
.leh-p-note{display:flex;align-items:center;gap:9px;margin:4px 0 0;font-size:.78rem;line-height:1.4;color:var(--soft)}
.leh-p-note svg{width:17px;height:17px}
.leh-p-social{display:flex;gap:10px}
.leh-p-social a,.leh-p-social a:visited{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink) !important;background:#fff;border:1px solid var(--line);
  box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(15,36,64,.05),0 6px 14px rgba(15,36,64,.07);transition:transform .45s var(--spring)}
.leh-p-social a:hover{transform:translateY(-3px) scale(1.06)}

/* Tablette / mobile : une seule ligne */
@media (max-width:1100px){
  .leh-nav{display:none}
  .leh-bar{grid-template-columns:auto 1fr;padding:0 16px}
}
@media (max-width:640px){
  .le-hdr{top:12px}
  .admin-bar .le-hdr{top:58px}
  .leh-bar{padding:0 12px;gap:8px}
  .leh-brand,.leh-brand:hover,.leh-brand:focus{height:44px;padding:0 15px}
  .leh-wordmark{font-size:.84rem}
  .leh-logo{height:22px}
  .leh-right{gap:8px}
  .leh-icons{height:44px;padding:3px}
  .leh-icons .le-header-icon-btn{width:38px;height:38px}
  .leh-burger,.leh-burger:hover,.leh-burger:focus{width:44px;height:44px}
  .leh-panel{width:100%;border-radius:0;padding:18px 20px 26px;gap:22px}
  .leh-p-nav a{font-size:1.2rem;padding:13px 2px}
}
@media (max-width:380px){
  .leh-icons .le-header-icon-btn[aria-label="Favoris"]{display:none}
}
@media (prefers-reduced-motion:reduce){
  .leh-panel,.leh-overlay,.leh-p-nav li,.leh-drop{transition-duration:.01ms !important}
}

/* Les blocs du panneau gardent leur taille (le bouton « Composer mon séjour » ne doit jamais se tasser) */
.leh-panel > *{flex-shrink:0}
.leh-p-cta,.leh-p-cta:hover,.leh-p-cta:focus,.leh-p-cta:visited{min-height:58px;flex:none}
@media (max-width:640px){.leh-p-cta,.leh-p-cta:hover,.leh-p-cta:focus{min-height:56px}}
