/* ═══════════════════════════════════════════════════════════════════════════
   niceTrotter, couche "site officiel"
   Mega menu desktop, tiroir latéral mobile, gros footer à colonnes,
   widget météo sidebar, motion design subtil, hiérarchie de z-index propre.
   Charge après styles-redesign.css.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Hiérarchie de z-index ────────────────────────────────────────────────
   2147482000 : plafond widgets tiers (Stay22 / GetYourGuide)
   2147482999 : fond assombri mobile (au-dessus des widgets)
   2147483000 : barre de navigation (et ses panneaux)
   2147483001 : burger + switch langue (au-dessus du tiroir)
   ─────────────────────────────────────────────────────────────────────── */
iframe[id^="stay22-widget-"],
iframe[id^="stay22"],
[id^="stay22-widget-"],
iframe[src*="widget.getyourguide.com"],
iframe[src*="getyourguide.com/widget"],
div[data-gyg-widget] iframe,
div[data-gyg-href] iframe{z-index:2147482000!important;}

#menu-rapide{z-index:2147483000!important;}
#boutonmenu{z-index:2147483001!important;}
#menu-rapide .nav-lang{z-index:2147483001!important;}
body::after{z-index:2147482999!important;}
.skip-link{z-index:2147483002!important;}

/* ════ NAVIGATION, barre ════ */
#menu-rapide{
  padding:0 clamp(.6rem,2vw,1.5rem) 0 1.25rem!important;
  /* Fond déjà opaque : on retire le blur (compositing) qui clippait
     les panneaux mega fixed en descendants (Chrome). */
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
#logosite a{font-size:1.22rem!important;}
#logosite a>span:first-child{
  border-radius:7px!important;padding:.12em .3em .14em!important;
}

/* Entrées L1 : plus lisibles, indicateur animé */
#menu-rapide>#mmenu>li>a{
  position:relative!important;
  font-weight:700!important;font-size:.9rem!important;letter-spacing:.01em!important;
  padding:.55rem .85rem!important;border-radius:8px!important;
}
#menu-rapide>#mmenu>li>a::before{
  content:''!important;position:absolute!important;left:.85rem!important;right:.85rem!important;
  bottom:2px!important;height:2px!important;border-radius:2px!important;
  background:#f5c15c!important;
  transform:scaleX(0)!important;transform-origin:left center!important;
  transition:transform .25s var(--ease)!important;
}
#menu-rapide>#mmenu>li:hover>a::before,
#menu-rapide>#mmenu>li:focus-within>a::before{transform:scaleX(1)!important;}
#menu-rapide>#mmenu>li>a:hover{background:rgba(255,255,255,.12)!important;}
#menu-rapide>#mmenu>li.nt-is-current>a{color:#f5c15c!important;}
#menu-rapide>#mmenu>li.nt-is-current>a::before{transform:scaleX(1)!important;}

/* ── MEGA MENU desktop (≥1025px) ──
   Panneau pleine largeur fixé sous la barre, ouvert au survol/focus.
   Un pont invisible au-dessus du panneau évite la fermeture quand le
   curseur descend du lien vers le panneau. */
.nt-mega-panel{
  display:block!important;
  margin:0!important;padding:0!important;
  background:#fff!important;
}
@media (min-width:1025px){
  .nt-mega-panel{
    position:fixed!important;top:var(--nav-h)!important;left:0!important;right:0!important;
    border-bottom:1px solid var(--b-l)!important;
    box-shadow:0 28px 60px rgba(8,20,40,.22)!important;
    visibility:hidden!important;opacity:0!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s var(--ease),transform .22s var(--ease),visibility 0s linear .22s!important;
    pointer-events:none!important;
  }
  .nt-mega-panel::before{
    content:''!important;position:absolute!important;
    top:-18px!important;left:0!important;right:0!important;height:18px!important;
    background:transparent!important;
  }
  #menu-rapide>#mmenu>li.nt-mega:hover>.nt-mega-panel,
  #menu-rapide>#mmenu>li.nt-mega:focus-within>.nt-mega-panel{
    visibility:visible!important;opacity:1!important;transform:none!important;
    transition-delay:0s!important;pointer-events:auto!important;
  }
}
.nt-mega-inner{
  width:100%!important;max-width:1120px!important;margin:0 auto!important;
  padding:1.4rem 1.5rem 1.6rem!important;
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1.4fr) minmax(230px,.9fr)!important;
  gap:1.4rem 2rem!important;
  align-items:start!important;
}
.nt-mega-panel[data-cols="2"] .nt-mega-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(230px,.9fr)!important;}
.nt-mega-panel[data-cols="1"] .nt-mega-inner{grid-template-columns:minmax(0,1fr) minmax(230px,.9fr)!important;}
.nt-mega-overview{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .6rem .8rem;border-bottom:1px solid var(--b-l);}
.nt-mega-overview>strong{font-size:1.08rem;font-weight:800;color:var(--b-d);}
#menu-rapide .nt-mega-overview>.nt-mega-all{display:inline-flex!important;align-items:center!important;gap:.45rem!important;flex:0 0 auto!important;width:auto!important;min-height:36px!important;padding:.4rem .7rem!important;border-radius:7px!important;background:var(--b-ll)!important;color:var(--b-d)!important;font-size:.8rem!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap!important;}
#menu-rapide .nt-mega-overview>.nt-mega-all::after{content:'\2192';}
#menu-rapide .nt-mega-overview>.nt-mega-all:hover{background:var(--b-l)!important;}
#menu-rapide .nt-mega-overview>.nt-mega-all:focus-visible{outline:3px solid #d79c2a;outline-offset:3px;}
.nt-mega-col{min-width:0!important;}
.nt-mega-col:nth-child(2){transition-delay:.04s;}
.nt-mega-col:nth-child(3){transition-delay:.08s;}
.nt-mega-visual{transition-delay:.12s;}
#menu-rapide>li.nt-mega:hover>.nt-mega-panel .nt-mega-col,
#menu-rapide li.nt-mega:hover>.nt-mega-panel .nt-mega-col,
#menu-rapide li.nt-mega:focus-within>.nt-mega-panel .nt-mega-col{
  animation:nt-mega-col-in .32s var(--ease) both;
}
#menu-rapide li.nt-mega:hover>.nt-mega-panel .nt-mega-col:nth-child(2){animation-delay:.05s;}
#menu-rapide li.nt-mega:hover>.nt-mega-panel .nt-mega-col:nth-child(3){animation-delay:.1s;}
@keyframes nt-mega-col-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* Titres de colonnes : hiérarchie claire, séparés de la liste */
#menu-rapide .nt-mega-head{
  display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:.8rem!important;
  margin:0 0 .5rem!important;padding:0 .6rem .5rem!important;
  border:0!important;border-bottom:1.5px solid var(--b-l)!important;
  background:transparent!important;
  font-family:var(--font)!important;
}
#menu-rapide .nt-mega-col .nt-mega-head>a{
  display:block!important;min-height:0!important;width:auto!important;
  font-size:.78rem!important;font-weight:800!important;letter-spacing:.08em!important;
  text-transform:uppercase!important;color:var(--b-d)!important;text-decoration:none!important;
  padding:0!important;background:transparent!important;border-radius:0!important;
  line-height:1.4!important;transform:none!important;
}
#menu-rapide .nt-mega-col .nt-mega-head>a:hover{color:var(--b)!important;text-decoration:underline!important;text-underline-offset:3px!important;}

/* Neutralise les Différentes règles historiques dropdown (#menu-rapide ul li ul…)
   à l'intérieur des panneaux mega : L366/L367 donnent flex + width:auto au li/a. */
#menu-rapide ul li.nt-mega ul.nt-mega-col-list,
#menu-rapide ul li.nt-mega:hover ul.nt-mega-col-list{
  display:flex!important;flex-direction:column!important;gap:2px!important;
  position:static!important;min-width:0!important;width:100%!important;
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:0!important;margin:0!important;list-style:none!important;z-index:auto!important;
  text-align:left!important;
}
#menu-rapide ul li.nt-mega>ul::before{content:none!important;}
#menu-rapide ul li.nt-mega:hover ul.nt-mega-col-list li,
#menu-rapide ul li.nt-mega ul.nt-mega-col-list li{
  display:block!important;float:none!important;width:100%!important;
  border:0!important;border-radius:0!important;margin:0!important;padding:0!important;
  min-width:0!important;overflow:visible!important;background:transparent!important;text-align:left!important;
}
#menu-rapide ul li.nt-mega:hover ul.nt-mega-col-list a,
#menu-rapide ul li.nt-mega ul.nt-mega-col-list a{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;min-width:0!important;
  min-height:40px!important;padding:.45rem .6rem!important;
  font-size:.86rem!important;font-weight:560!important;line-height:1.3!important;
  color:var(--t2)!important;background:transparent!important;border-radius:8px!important;
  transition:background-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)!important;
  white-space:normal!important;text-align:left!important;text-decoration:none!important;
  text-shadow:none!important;letter-spacing:.005em!important;text-transform:none!important;
}
#menu-rapide ul li.nt-mega:hover ul.nt-mega-col-list a:hover,
#menu-rapide ul li.nt-mega ul.nt-mega-col-list a:hover{
  background:var(--b-ll)!important;color:var(--b-d)!important;text-decoration:none!important;
  transform:translateX(2px)!important;
}
#menu-rapide ul li.nt-mega ul.nt-mega-col-list a.nt-mega-strong{font-weight:700!important;color:var(--b-d)!important;}
#menu-rapide .nt-mega-col a{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;
  min-height:40px!important;padding:.45rem .6rem!important;
  font-size:.86rem!important;font-weight:560!important;line-height:1.3!important;
  color:var(--t2)!important;background:transparent!important;border-radius:8px!important;
  transition:background-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)!important;
  white-space:normal!important;text-align:left!important;text-decoration:none!important;
  text-shadow:none!important;letter-spacing:.005em!important;text-transform:none!important;
}
#menu-rapide .nt-mega-col a:hover{
  background:var(--b-ll)!important;color:var(--b-d)!important;text-decoration:none!important;
  transform:translateX(2px)!important;
}
#menu-rapide .nt-mega-col a.nt-mega-strong{font-weight:700!important;color:var(--b-d)!important;}
.nt-mega-col a .nt-mega-badge{
  flex-shrink:0!important;font-size:.62rem!important;font-weight:800!important;letter-spacing:.05em!important;
  color:var(--b)!important;background:var(--b-ll)!important;
  border-radius:5px!important;padding:.1rem .4rem!important;text-transform:uppercase!important;
}

/* Colonne illustration */
.nt-mega-visual{
  display:block!important;position:relative!important;
  border-radius:12px!important;overflow:hidden!important;
  box-shadow:0 10px 26px rgba(8,20,40,.16)!important;
  min-height:190px!important;
  text-decoration:none!important;
}
.nt-mega-visual img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;border:0!important;margin:0!important;
  transform:scale(1)!important;transition:transform .6s var(--ease)!important;
}
.nt-mega-visual:hover img{transform:scale(1.05)!important;}
.nt-mega-visual::after{
  content:''!important;position:absolute!important;inset:0!important;
  background:linear-gradient(180deg,rgba(8,20,40,0) 30%,rgba(8,20,40,.78) 100%)!important;
}
.nt-mega-cap{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:1!important;
  display:block!important;
  padding:.7rem .85rem!important;color:#fff!important;
  font-size:.8rem!important;font-weight:700!important;line-height:1.3!important;
  text-shadow:0 1px 4px rgba(8,20,40,.5)!important;text-transform:none!important;letter-spacing:0!important;
}
#menu-rapide .nt-mega-cap small{
  display:block!important;font-size:.68rem!important;font-weight:550!important;
  color:rgba(255,255,255,.85)!important;margin-top:.15rem!important;
}

/* Barre L1 : entrée « agenda » sans panneau, marquée visuellement ? non, identique. */

/* ════ MOBILE ≤1024px, tiroir latéral gauche, 2 niveaux ════ */
@media (max-width: 1024px){
  #menu-rapide{padding:0 .75rem!important;}
  #menu-rapide>#mmenu{
    top:var(--nav-h)!important;left:0!important;right:auto!important;bottom:0!important;
    width:min(88vw,380px)!important;max-height:calc(100vh - var(--nav-h))!important;max-height:calc(100dvh - var(--nav-h))!important;
    border-radius:0 20px 20px 0!important;
    transform:translateX(-104%)!important;
    transition:transform .32s var(--ease),visibility 0s linear .32s!important;
    padding:.9rem .9rem 1.2rem!important;
    box-shadow:20px 0 60px rgba(8,20,40,.3)!important;
  }
  #menu-rapide>#mmenu.is-open{
    transform:none!important;
    transition:transform .34s var(--ease),visibility 0s!important;
  }
  /* Niveau 1 */
  #menu-rapide>#mmenu>li{border-bottom:1px solid #eef3fa!important;padding:.15rem 0!important;}
  #menu-rapide>#mmenu>li.nav-search,#menu-rapide>#mmenu>li.nav-lang-inmenu{border-bottom:0!important;}
  #menu-rapide>#mmenu>li>a{
    min-height:48px!important;font-size:1.02rem!important;font-weight:700!important;
    color:var(--b-d)!important;padding:.55rem .4rem!important;border-radius:10px!important;
    justify-content:space-between!important;
  }
  #menu-rapide>#mmenu>li>a::before{display:none!important;}
  /* Chevron droit sur les entrées à sous-menu */
  #menu-rapide>#mmenu>li.nt-mega>a::after{
    content:''!important;position:static!important;
    left:auto!important;right:auto!important;top:auto!important;
    display:inline-block!important;flex:0 0 auto!important;
    width:0!important;height:0!important;background:transparent!important;
    border:0!important;
    border-top:4.5px solid transparent!important;border-bottom:4.5px solid transparent!important;
    border-left:6px solid #a9bcd6!important;
    margin-left:auto!important;transform:none!important;transition:none!important;
  }

  /* Le mega panel devient une sous-vue qui recouvre le tiroir.
     Contenant = le tiroir (#mmenu, fixed) : on neutralise le position:relative
     posé par le CSS historique sur les li (sinon le panneau est haut de 54px). */
  #menu-rapide>#mmenu>li.nt-mega{position:static!important;}
  #menu-rapide>#mmenu>li>.nt-mega-panel{
    display:flex!important;flex-direction:column!important;
    position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:auto!important;height:auto!important;min-height:100%!important;
    background:#fff!important;border:0!important;
    border-radius:0 20px 20px 0!important;box-shadow:none!important;
    visibility:hidden!important;opacity:1!important;
    transform:translateX(102%)!important;pointer-events:none!important;
    transition:transform .3s var(--ease),visibility 0s linear .3s!important;
    overflow:hidden!important;
    z-index:3!important;
  }
  #menu-rapide>#mmenu>li.nt-mega-open>.nt-mega-panel{
    visibility:visible!important;transform:none!important;pointer-events:auto!important;
    transition:transform .32s var(--ease),visibility 0s!important;
  }
  #menu-rapide>#mmenu>li>.nt-mega-panel>.nt-mega-inner{
    flex:1 1 auto!important;min-height:0!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
    grid-template-columns:minmax(0,1fr)!important;gap:.7rem!important;
    padding:.4rem .9rem 1.6rem!important;box-sizing:border-box!important;
  }
  .nt-mega-visual{min-height:150px!important;}
  .nt-mega-head{margin:.5rem 0 .2rem!important;}
  .nt-mega-overview{justify-content:flex-start;padding:.1rem 0 .2rem;border-bottom:0;}
  .nt-mega-overview>strong{display:none;}
  #menu-rapide .nt-mega-overview>.nt-mega-all{
    justify-content:space-between!important;flex:1 1 auto!important;width:100%!important;
    min-height:44px!important;padding:.6rem!important;font-size:.9rem!important;font-weight:400!important;
    border:0!important;border-radius:8px!important;
  }
  .nt-mega-col ul{gap:0!important;}
  .nt-mega-col a{min-height:46px!important;font-size:.92rem!important;}
  #menu-rapide>#mmenu li.nt-mega .nt-mega-col-list a,
  #menu-rapide>#mmenu li.nt-mega .nt-mega-col>a{font-weight:400!important;}

  /* Bouton retour du niveau 2 */
  #menu-rapide>#mmenu>li.nt-mega-open>.nt-mega-panel>.nt-mega-back{
    display:flex!important;align-items:center!important;gap:.5rem!important;
    flex:0 0 auto!important;position:relative!important;z-index:2!important;
    margin:.75rem .9rem .1rem!important;min-height:44px!important;padding:.5rem .85rem!important;
    font-family:var(--font)!important;font-size:.92rem!important;font-weight:700!important;
    color:var(--b-d)!important;background:var(--b-ll)!important;
    border:1px solid var(--b-l)!important;border-radius:10px!important;
    cursor:pointer!important;text-align:left!important;
  }
  .nt-mega-back::before{content:'\2039'!important;font-size:1.4rem!important;line-height:1!important;font-weight:800!important;}
}

/* Bouton retour (niveau 2 mobile), masqué par défaut */
.nt-mega-back{
  display:none!important;
}

/* ════ FOOTER, gros footer à colonnes ════ */
#footer.nt-footer,
footer.nt-footer{
  display:block!important;
  /* Full-bleed : le footer hérite du conteneur 1180px selon les pages
     (header/footer-free le placent dans #conteneur). On déborde proprement. */
  width:100vw!important;max-width:100vw!important;
  margin:0!important;
  margin-left:calc(50% - 50vw)!important;
  padding:0!important;
  background:linear-gradient(180deg,#123159 0%,#0d3a66 55%,#0b2c4d 100%)!important;
  color:rgba(255,255,255,.88)!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
  text-align:left!important;
}
.nt-footer-main{
  display:grid!important;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))!important;
  gap:1.8rem 2.2rem!important;
  width:100%!important;max-width:1120px!important;
  margin:0 auto!important;padding:2.4rem 1.5rem 1.6rem!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
.nt-footer a{color:rgba(255,255,255,.82)!important;text-decoration:none!important;transition:color .15s var(--ease)!important;}
.nt-footer a:hover{color:#fff!important;text-decoration:underline!important;text-underline-offset:2px!important;}

.nt-footer-brand{min-width:0!important;text-align:left!important;}
.nt-footer-brand .nt-footer-logo{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  font-size:1.35rem!important;font-weight:900!important;letter-spacing:-.02em!important;
  color:#fff!important;text-decoration:none!important;
}
.nt-footer-brand .nt-footer-logo>span:first-child{
  background:#fff!important;color:var(--b-d)!important;
  border-radius:6px!important;padding:.08em .26em!important;margin-right:.08em!important;
  text-transform:uppercase!important;font-weight:900!important;
}
.nt-footer-brand p{color:rgba(255,255,255,.72)!important;font-size:.88rem!important;line-height:1.6!important;margin:.7rem 0 0!important;max-width:34ch!important;}
.nt-footer-since{
  display:inline-block!important;margin-top:.8rem!important;
  font-size:.7rem!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important;
  color:rgba(255,255,255,.6)!important;border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;padding:.3rem .8rem!important;text-align:left!important;
}

/* Titre des colonnes footer : garde-fous anti-héritage legacy */
#footer.nt-footer h2,footer.nt-footer h2{font-size:.74rem!important;color:#f5c15c!important;background:transparent!important;border:0!important;padding:0!important;margin:0 0 .8rem!important;}

.nt-footer-col{min-width:0!important;text-align:left!important;}
.nt-footer-col h2,.nt-footer-col h3{
  font-size:.74rem!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  color:#f5c15c!important;margin:0 0 .8rem!important;padding:0!important;border:0!important;text-align:left!important;
}
#footer .nt-footer-col ul,footer .nt-footer-col ul{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:1px!important;margin:0!important;padding:0!important;list-style:none!important;text-align:left!important;}
#footer .nt-footer-col li,footer .nt-footer-col li{margin:0!important;padding:0!important;display:block!important;width:auto!important;text-align:left!important;}
#footer .nt-footer-col a,footer .nt-footer-col a{
  display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
  min-height:32px!important;padding:.25rem 0!important;
  font-size:.88rem!important;font-weight:500!important;line-height:1.35!important;
  text-align:left!important;width:auto!important;float:none!important;
}

/* Newsletter */
.nt-footer-news{
  width:100%!important;max-width:1120px!important;margin:0 auto!important;
  padding:2rem 1.5rem 2rem!important;box-sizing:border-box!important;
}
.nt-footer-reassurance{width:100vw;max-width:100vw;margin:2.6rem 0 0 calc(50% - 50vw);}
.page-home .nt-footer-reassurance{margin-top:0;}
/* The home footer meets the white content with one continuous background. */
.page-home #footer.nt-footer{margin-top:0!important;border-radius:0!important;box-shadow:none!important;}
.page-home .nt-footer-news{padding-top:2rem!important;}
.page-home #conteneur>.bloc300:has(#nt-adsense-home:empty){display:none!important;}
.nt-footer-news-inner{
  display:flex!important;align-items:center!important;gap:1.2rem!important;flex-wrap:wrap!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:14px!important;
  padding:1.1rem 1.4rem!important;
}
.nt-footer-news-copy{flex:1 1 300px!important;min-width:0!important;}
.nt-footer-news-copy strong{
  display:block!important;font-size:1.02rem!important;font-weight:800!important;color:#fff!important;
  margin-bottom:.2rem!important;
}
.nt-footer-news-copy p{color:rgba(255,255,255,.72)!important;font-size:.82rem!important;margin:0!important;line-height:1.5!important;}
#nt-newsletter-form{flex:1 1 340px!important;display:flex!important;gap:.6rem!important;align-items:stretch!important;}
#nt-newsletter-form .nt-nl-row{display:flex!important;flex:1 1 auto!important;gap:.6rem!important;}
#nt-newsletter-form input[type="email"]{
  flex:1 1 auto!important;width:100%!important;min-width:0!important;
  height:46px!important;box-sizing:border-box!important;
  padding:.4rem 1rem!important;font-size:.9rem!important;font-family:var(--font)!important;
  color:var(--t1)!important;background:#fff!important;
  border:1px solid transparent!important;border-radius:10px!important;outline:none!important;
  transition:box-shadow .15s var(--ease)!important;
}
#nt-newsletter-form input[type="email"]:focus{box-shadow:0 0 0 3px rgba(245,193,92,.45)!important;}
#nt-newsletter-form button{
  flex-shrink:0!important;height:46px!important;
  padding:0 1.35rem!important;font-size:.88rem!important;font-weight:800!important;font-family:var(--font)!important;
  color:var(--b-d)!important;background:#f5c15c!important;border:0!important;border-radius:10px!important;
  cursor:pointer!important;
  transition:background-color .15s var(--ease),transform .15s var(--ease)!important;
}
#nt-newsletter-form button:hover{background:#ffd075!important;}
#nt-newsletter-form button:active{transform:scale(.97)!important;}
#nt-newsletter-form .nt-nl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
#nt-newsletter-form .nt-nl-consent{
  display:none!important;align-items:center!important;gap:.45rem!important;
  font-size:.75rem!important;color:rgba(255,255,255,.75)!important;
}
.nt-nl-status{flex-basis:100%!important;font-size:.8rem!important;font-weight:600!important;color:#a7e8c8!important;margin:0!important;display:none!important;}
.nt-nl-status.is-visible{display:block!important;}
.nt-nl-status.is-error{color:#ffc9c9!important;}

/* Barre basse */
.nt-footer-bottom{
  border-top:1px solid rgba(255,255,255,.14)!important;
  padding:.9rem 1.5rem 1.4rem!important;
  text-align:left!important;
}
.nt-footer-bottom-inner{
  max-width:1120px!important;margin:0 auto!important;
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;
  gap:.4rem 1.2rem!important;text-align:left!important;
}
.nt-footer-bottom p{color:rgba(255,255,255,.6)!important;font-size:.78rem!important;margin:0!important;}
.nt-footer-bottom ul{display:flex!important;flex-wrap:wrap!important;gap:.25rem 1rem!important;margin:0!important;padding:0!important;list-style:none!important;}
.nt-footer-bottom a{font-size:.78rem!important;font-weight:550!important;}
.nt-footer-pro{
  display:inline-flex!important;align-items:center!important;gap:.45rem!important;
  margin-top:.9rem!important;
  font-size:.78rem!important;font-weight:700!important;color:#f5c15c!important;
}
.nt-footer-pro::after{content:' \2192'!important;}

/* ════ SIDEBAR, widget météo ════ */
.nt-weather-card{
  display:block!important;margin:.7em 0 1.1em!important;padding:.85rem .9rem!important;
  background:linear-gradient(160deg,#e9f4fd 0%,#f5faff 100%)!important;
  border:1px solid var(--b-l)!important;border-radius:12px!important;
}
.nt-weather-now{display:flex!important;align-items:center!important;gap:.7rem!important;}
.nt-weather-icon{font-size:2rem!important;line-height:1!important;}
.nt-weather-temp{font-size:1.7rem!important;font-weight:800!important;color:var(--t1)!important;letter-spacing:-.03em!important;line-height:1.1!important;}
.nt-weather-desc{font-size:.8rem!important;color:var(--t2)!important;font-weight:600!important;}
.nt-weather-meta{margin:.55rem 0 0!important;font-size:.74rem!important;color:var(--t3)!important;line-height:1.5!important;}
.nt-weather-days{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.45rem!important;margin:.8rem 0 0!important;
}
.nt-weather-day{
  background:#fff!important;border:1px solid var(--b-l)!important;border-radius:9px!important;
  padding:.5rem .35rem!important;text-align:center!important;
}
.nt-weather-day-name{font-size:.68rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--t3)!important;}
.nt-weather-day-icon{font-size:1.05rem!important;margin:.15rem 0!important;}
.nt-weather-day-temp{font-size:.74rem!important;font-weight:700!important;color:var(--t1)!important;white-space:nowrap!important;}
.nt-weather-day-temp small{display:block!important;font-weight:550!important;color:var(--t3)!important;}
.nt-weather-src{margin:.7rem 0 0!important;font-size:.66rem!important;color:var(--t3)!important;}
.nt-weather-src a{color:var(--t3)!important;text-decoration:underline!important;}
.nt-weather-src a:hover{color:var(--b)!important;}
.nt-weather-status{font-size:.8rem!important;color:var(--t3)!important;}

/* ════ PAGE PARTENAIRES & ANNONCEURS ════ */
.nt-partners-intro{font-size:1.02rem!important;}
.nt-partners-grid{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;
  gap:.9rem!important;margin:1rem 0 1.4rem!important;padding:0!important;list-style:none!important;
}
.nt-partner-card{
  display:flex!important;flex-direction:column!important;gap:.45rem!important;
  padding:1rem!important;
  background:#fff!important;
  border:1px solid var(--b-l)!important;border-radius:12px!important;
  box-shadow:0 2px 10px rgba(8,20,40,.06)!important;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease)!important;
}
.nt-partner-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 26px rgba(8,20,40,.12)!important;}
.nt-partner-badge{
  display:inline-flex!important;align-self:flex-start;
  font-size:.78rem!important;font-weight:800!important;letter-spacing:.04em!important;
  color:var(--b-d)!important;background:var(--b-ll)!important;
  border-radius:8px!important;padding:.3rem .6rem!important;
}
.nt-partner-card p{margin:0!important;font-size:.85rem!important;color:var(--t2)!important;flex:1 1 auto!important;}
.nt-partner-link{font-size:.84rem!important;font-weight:700!important;color:var(--b)!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;}
.nt-partners-formats{width:100%!important;border-collapse:collapse!important;margin:1rem 0 1.6rem!important;}
.nt-partners-formats th,.nt-partners-formats td{
  text-align:left!important;padding:.65rem .8rem!important;border-bottom:1px solid var(--b-l)!important;vertical-align:top!important;
}
.nt-partners-formats th{font-size:.86rem!important;color:var(--b-d)!important;font-weight:700!important;white-space:nowrap!important;}
.nt-partners-formats td{font-size:.86rem!important;color:var(--t2)!important;}
.nt-partners-data{padding-left:1.2em!important;}
.nt-partners-data li{margin:.3rem 0!important;font-size:.9rem!important;}
.nt-partners-cta{
  margin:2rem 0 1rem!important;padding:1.4rem 1.5rem!important;
  background:linear-gradient(160deg,#e9f4fd 0%,#f5faff 100%)!important;
  border:1px solid var(--b-l)!important;border-left:5px solid var(--b)!important;
  border-radius:14px!important;
}
.nt-partners-cta h2{margin-top:0!important;}
.nt-partners-cta-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center;
  min-height:46px!important;padding:0 1.4rem!important;
  background:var(--b)!important;color:#fff!important;border-radius:10px!important;
  font-size:.9rem!important;font-weight:800!important;text-decoration:none!important;
  box-shadow:0 6px 16px rgba(20,66,143,.28)!important;
  transition:background-color .15s var(--ease),transform .15s var(--ease)!important;
}
a.nt-partners-cta-btn:link,a.nt-partners-cta-btn:visited{color:#fff!important;}
.nt-partners-cta-btn:hover{background:var(--b-d)!important;color:#fff!important;text-decoration:none!important;transform:translateY(-1px)!important;}

/* ════ MOTION DESIGN SUBTIL ════ */
html.nt-reveal [data-reveal]{
  opacity:0!important;
  transform:translateY(14px)!important;
  transition:opacity .55s var(--ease),transform .55s var(--ease)!important;
  will-change:opacity,transform;
}
html.nt-reveal .nt-in[data-reveal]{
  opacity:1!important;transform:none!important;
}
@keyframes nt-fade-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* Pulsation douce du bouton newsletter */
#nt-newsletter-form button{animation:none;}
@keyframes nt-nl-glow{0%,100%{box-shadow:0 0 0 0 rgba(245,193,92,.5);}50%{box-shadow:0 0 0 7px rgba(245,193,92,0);}}

/* Apparition douce de la page (une fois, au chargement) */
body{animation:nt-page-in .45s var(--ease) both;}
@keyframes nt-page-in{from{opacity:0;}to{opacity:1;}}

/* Cartes : léger soulèvement au survol */
.nt-experience-card,.nt-weather-day{
  transition:box-shadow .25s var(--ease),transform .25s var(--ease)!important;
}
.nt-experience-card:hover{transform:translateY(-2px)!important;box-shadow:0 10px 28px rgba(8,20,40,.12)!important;}

/* Réduire le mouvement si demandé */
@media (prefers-reduced-motion: reduce){
  html.nt-reveal [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  body,.nt-mega-panel,.nt-mega-col,.nt-experience-card,#nt-newsletter-form button{animation:none!important;transition:none!important;}
  #menu-rapide>#mmenu,.nt-mega-panel{transition:none!important;}
}

/* ════ RESPONSIVE FOOTER ════ */
@media (max-width:900px){
  .nt-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.4rem 1.6rem!important;padding:1.9rem 1.1rem 1.2rem!important;}
}
@media (max-width:600px){
  .nt-footer-main{grid-template-columns:minmax(0,1fr)!important;}
  .nt-footer-news-inner{flex-direction:column!important;align-items:stretch!important;}
  #nt-newsletter-form{width:100%!important;}
  #nt-newsletter-form .nt-nl-row{flex-wrap:wrap!important;}
  #footer.nt-footer,footer.nt-footer{border-radius:0!important;}
}

@media(max-width:1024px){body.nt-menu-open{overflow:hidden!important;}}
/* Animated list-item transforms created a 54px containing block for level 2. */
@media(max-width:1024px){
 #menu-rapide>#mmenu.is-open>li.nt-mega{animation:none!important;transform:none!important;}
}
/* The desktop flex bases became vertical 300/440px gaps on mobile. */
@media(max-width:600px){
 .nt-footer-news-copy,#nt-newsletter-form{flex:0 1 auto!important;width:100%!important;}
 #nt-newsletter-form .nt-nl-row{display:grid!important;grid-template-columns:1fr!important;gap:.65rem!important;}
 #nt-newsletter-form input[type="email"],#nt-newsletter-form button{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
}

#nt-newsletter-form{flex-wrap:wrap!important;}
/* Keep provider popups within their content layer, below the navigation. */
.nt-hotel-comparison,.nt-partner-widget,.nt-gyg-selection{
 position:relative!important;isolation:isolate!important;z-index:0!important;
}
