/* ==========================================================================
   Latitude Blanche — en-tête de la refonte (pages « -refonte » : classe lb-refonte sur <body id="top">).
   Barre du haut sombre, menu en Work Sans, sous-menus soignés, méga-menu « Destinations » (inc/en-tete.php),
   bouton « Prochains départs », version mobile.
   ========================================================================== */

/* ---------- Barre du haut ---------- */
#top.lb-refonte #header_meta { background: #0d1d29; border: 0; box-shadow: none; color: rgba(255, 255, 255, .78); font-family: 'Work Sans', sans-serif; font-size: 12px; letter-spacing: .3px; }
#top.lb-refonte #header_meta .container { min-height: 36px; }
#top.lb-refonte #header_meta a, #top.lb-refonte #header_meta .phone-info { color: rgba(255, 255, 255, .78); font-size: 12px; }
#top.lb-refonte #header_meta a:hover { color: #ffffff; }
#top.lb-refonte #header_meta .phone-info { font-weight: 500; color: #ffffff; }
#top.lb-refonte #header_meta .sub_menu > ul > li { border-color: rgba(255, 255, 255, .14); }
#top.lb-refonte #header_meta .social_bookmarks li { border: 0; }
#top.lb-refonte #header_meta .social_bookmarks a { color: rgba(255, 255, 255, .6); }
#top.lb-refonte #header_meta .social_bookmarks a:hover { background: transparent; color: #a8d4d8; }
#top.lb-refonte #header_meta .avia_wpml_language_switch img { opacity: .85; }

/* ---------- Bandeau principal ---------- */
#top.lb-refonte #header_main { border-bottom: 1px solid rgba(17, 37, 52, .08); background: #ffffff; }
#top.lb-refonte .av-main-nav > li > a { padding: 0 15px; font-family: 'Work Sans', sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #20303b; }
#top.lb-refonte .av-main-nav > li > a:hover, #top.lb-refonte .av-main-nav > li.current-menu-item > a, #top.lb-refonte .av-main-nav > li.current-menu-ancestor > a { color: #5f9098; }
#top.lb-refonte .av-main-nav > li > a .avia-menu-fx { bottom: 0; height: 2px; background: #5f9098; }
#top.lb-refonte .av-main-nav > li > a .avia-menu-fx .avia-arrow-wrap { display: none; }
/* Petit chevron sur les entrées qui ouvrent un panneau */
#top.lb-refonte .av-main-nav > li.menu-item-has-children > a .avia-menu-text::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: -3px 0 0 8px; border-right: 1.4px solid currentColor; border-bottom: 1.4px solid currentColor; vertical-align: middle; transform: rotate(45deg); transition: transform .3s ease, margin .3s ease; }
#top.lb-refonte .av-main-nav > li.menu-item-has-children:hover > a .avia-menu-text::after, #top.lb-refonte .av-main-nav > li.menu-item-has-children:focus-within > a .avia-menu-text::after { margin-top: 3px; transform: rotate(-135deg); }

/* Bouton « Prochains départs » (élément de menu à la classe lb-menu-cta) */
#top.lb-refonte .av-main-nav > li.lb-menu-cta > a { padding: 0 0 0 18px; }
#top.lb-refonte .av-main-nav > li.lb-menu-cta > a .avia-menu-text { display: inline-block; padding: 14px 22px; background: #112534; color: #ffffff; font-size: 12px; font-weight: 600; letter-spacing: 1.4px; line-height: 1.2; text-transform: uppercase; vertical-align: middle; transition: background .25s ease, transform .25s ease; }
#top.lb-refonte .av-main-nav > li.lb-menu-cta > a:hover .avia-menu-text { background: #1d3a50; transform: translateY(-1px); }
#top.lb-refonte .av-main-nav > li.lb-menu-cta > a .avia-menu-fx { display: none; }

/* Loupe de recherche : bouton rond */
#top.lb-refonte #menu-item-search > a { padding: 0 6px 0 12px; }
#top.lb-refonte #menu-item-search > a .avia_svg_icon, #top.lb-refonte #menu-item-search > a::before { color: #112534; }
#top.lb-refonte #menu-item-search > a > span:first-child, #top.lb-refonte #menu-item-search > a .avia-search-tooltip-trigger { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid rgba(17, 37, 52, .14); border-radius: 50%; line-height: 1; vertical-align: middle; transition: border-color .25s ease, background .25s ease; }
#top.lb-refonte #menu-item-search > a:hover > span:first-child { border-color: #112534; }

/* ---------- Sous-menus classiques (Voyages, Polarfront, Qui sommes-nous) ---------- */
#top.lb-refonte .av-main-nav ul.sub-menu { min-width: 240px; padding: 10px 0; border: 0; border-top: 2px solid #5f9098; background: #ffffff; box-shadow: 0 24px 50px rgba(8, 22, 33, .16); }
#top.lb-refonte .av-main-nav ul.sub-menu li { border: 0; }
#top.lb-refonte .av-main-nav ul.sub-menu a { padding: 10px 22px; border: 0; background: transparent; font-family: 'Work Sans', sans-serif; font-size: 14px; letter-spacing: 0; text-transform: none; color: #20303b; transition: color .2s ease, padding .25s ease; }
#top.lb-refonte .av-main-nav ul.sub-menu a:hover { padding-left: 28px; background: #f3f6f6; color: #5f9098; }
#top.lb-refonte .av-main-nav > li > ul.sub-menu { opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .25s ease, transform .3s ease, visibility 0s linear .3s; }
#top.lb-refonte .av-main-nav > li:hover > ul.sub-menu, #top.lb-refonte .av-main-nav > li:focus-within > ul.sub-menu { display: block; opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

/* ---------- Méga-menu « Destinations » ---------- */
@media only screen and (min-width: 990px) {
	/* Le panneau se cale sur le bord droit du menu (= bord droit du contenu) et prend toute la largeur du contenu. */
	#top.lb-refonte .av-main-nav-wrap, #top.lb-refonte .av-main-nav, #top.lb-refonte .av-main-nav > li.lb-mega-destinations { position: static; }
	#top.lb-refonte .av-main-nav > li.lb-mega-destinations > ul.sub-menu { display: none !important; }
}
/* !important : Enfold impose display:none et sa propre largeur aux blocs placés dans un élément de menu. */
#top.lb-refonte .av-main-nav .lb-mega { display: block !important; position: absolute; top: 100%; right: 0 !important; left: auto !important; z-index: 200; width: min(1240px, calc(100vw - 64px)) !important; max-width: none; margin: 0; padding: 0; border-top: 2px solid #5f9098; background: #ffffff; box-shadow: 0 30px 60px rgba(8, 22, 33, .22); font-family: 'Work Sans', sans-serif; line-height: 1.5; text-align: left; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s ease, transform .35s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .35s; }
#top.lb-refonte .av-main-nav > li.lb-mega-destinations:hover > .lb-mega, #top.lb-refonte .av-main-nav > li.lb-mega-destinations > .lb-mega:hover, #top.lb-refonte .av-main-nav > li.lb-mega-destinations:focus-within > .lb-mega { opacity: 1; visibility: visible; transform: none; transition-delay: .08s, .08s, 0s; }
/* Enfold donne à tous les liens du menu la hauteur de l'en-tête (« .main_menu ul:first-child > li a ») : on l'annule dans le panneau. */
#top.lb-refonte .lb-mega, #top.lb-refonte .lb-mega * { line-height: 1.5; }
#top.lb-refonte .av-main-nav .lb-mega a { height: auto !important; line-height: 1.5 !important; }
#top.lb-refonte .av-main-nav .lb-mega a.lb-mega-prochain { height: 200px !important; }
#top.lb-refonte .lb-mega-grille { display: grid; grid-template-columns: 1.55fr 1fr 1fr; gap: 44px; padding: 34px 36px 38px; }
#top.lb-refonte .lb-mega-titre { margin: 0 0 14px; font-size: 11px; font-weight: 600; letter-spacing: 2.4px; line-height: 1.4; text-transform: uppercase; color: #5f9098; }
#top.lb-refonte .lb-mega-col > .lb-mega-titre ~ .lb-mega-titre { margin-top: 28px; }
#top.lb-refonte .lb-mega-tuile { display: flex; align-items: center; gap: 18px; margin: 0 0 6px; padding: 10px; color: #112534; transition: background .25s ease; }
#top.lb-refonte .lb-mega-tuile:hover { background: #f3f6f6; color: #112534; }
#top.lb-refonte .lb-mega-tuile-img { flex: 0 0 92px; width: 92px; height: 68px; object-fit: cover; transition: filter .4s ease; filter: brightness(.9); }
#top.lb-refonte .lb-mega-tuile:hover .lb-mega-tuile-img { filter: brightness(1); }
#top.lb-refonte .lb-mega-tuile-texte { flex: 1 1 auto; min-width: 0; }
#top.lb-refonte .lb-mega-tuile-nom { display: block; font-family: 'Lato', sans-serif; font-weight: 300; font-size: 22px; line-height: 1.1; text-transform: uppercase; transition: letter-spacing .5s cubic-bezier(.2, .8, .2, 1); }
#top.lb-refonte .lb-mega-tuile:hover .lb-mega-tuile-nom { letter-spacing: .04em; }
#top.lb-refonte .lb-mega-tuile-sous { display: block; margin-top: 4px; font-size: 12.5px; color: #65757b; }
#top.lb-refonte .lb-mega-tuile-stats { flex: 0 0 auto; font-size: 12px; line-height: 1.5; text-align: right; white-space: nowrap; color: #65757b; }
#top.lb-refonte .lb-mega-tuile-stats strong { display: block; font-weight: 600; color: #112534; }
#top.lb-refonte .lb-mega-liens { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
#top.lb-refonte .lb-mega-liens a { position: relative; display: inline-block; padding: 0; font-size: 15px; color: #112534; transition: color .2s ease, padding .25s ease; }
#top.lb-refonte .lb-mega-liens a::before { content: ""; position: absolute; top: 50%; left: 0; width: 0; height: 1px; background: #5f9098; transition: width .25s ease; }
#top.lb-refonte .lb-mega-liens a:hover { padding-left: 18px; color: #5f9098; }
#top.lb-refonte .lb-mega-liens a:hover::before { width: 10px; }
#top.lb-refonte .lb-mega-puces { display: flex; flex-wrap: wrap; gap: 8px; }
#top.lb-refonte .lb-mega-puces a { padding: 7px 14px; border: 1px solid #cfd8da; border-radius: 999px; font-size: 13px; color: #112534; transition: background .2s ease, color .2s ease, border-color .2s ease; }
#top.lb-refonte .lb-mega-puces a:hover { border-color: #112534; background: #112534; color: #ffffff; }
#top.lb-refonte .lb-mega-prochain { position: relative; display: block; height: 200px; overflow: hidden; background: #112534; color: #ffffff; }
#top.lb-refonte .lb-mega-prochain-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.85); transition: filter .5s ease; }
#top.lb-refonte .lb-mega-prochain:hover .lb-mega-prochain-img { filter: brightness(1); }
#top.lb-refonte .lb-mega-prochain::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(7, 19, 28, 0) 35%, rgba(7, 19, 28, .88) 100%); }
#top.lb-refonte .lb-mega-prochain::after { content: ""; position: absolute; inset: 9px; z-index: 2; border: 1px solid rgba(255, 255, 255, .22); transition: inset .5s cubic-bezier(.2, .8, .2, 1), border-color .5s ease; }
#top.lb-refonte .lb-mega-prochain:hover::after { inset: 6px; border-color: rgba(255, 255, 255, .5); }
#top.lb-refonte .lb-mega-prochain-texte { position: absolute; right: 22px; bottom: 20px; left: 22px; z-index: 3; }
#top.lb-refonte .lb-mega-prochain-texte small { display: block; font-size: 10px; font-weight: 600; letter-spacing: 1.6px; line-height: 1.4; text-transform: uppercase; color: #a8d4d8; }
#top.lb-refonte .lb-mega-prochain-texte strong { display: block; margin-top: 6px; font-family: 'Lato', sans-serif; font-weight: 300; font-size: 22px; line-height: 1.15; text-transform: uppercase; color: #ffffff; }
#top.lb-refonte .lb-mega-tous { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding: 16px 18px; background: #f3f5f5; font-size: 13px; font-weight: 600; color: #112534; transition: background .25s ease, color .25s ease; }
#top.lb-refonte .lb-mega-tous:hover { background: #112534; color: #ffffff; }
#top.lb-refonte .lb-mega-tous svg { transition: transform .25s ease; }
#top.lb-refonte .lb-mega-privatisation { position: relative; display: block; margin-top: 10px; padding: 16px 18px 16px 22px; border-left: 2px solid #a8d4d8; background: #112534; color: #ffffff; transition: background .3s ease, padding .3s ease; }
#top.lb-refonte .lb-mega-privatisation small { display: block; font-size: 10px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase; color: #a8d4d8; }
#top.lb-refonte .lb-mega-privatisation strong { display: block; margin: 4px 0 2px; font-family: 'Lato', sans-serif; font-weight: 400; font-size: 16px; color: #ffffff; }
#top.lb-refonte .lb-mega-privatisation span { display: block; font-size: 12px; color: rgba(255, 255, 255, .7); }
#top.lb-refonte .lb-mega-privatisation:hover { padding-left: 28px; background: #1d3a50; color: #ffffff; }
/* Entrée « Privatisation » du menu : un petit losange glacier la signale */
#top.lb-refonte .av-main-nav > li.lb-menu-privatisation > a .avia-menu-text::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: -2px 8px 0 0; background: #5f9098; vertical-align: middle; transform: rotate(45deg); transition: transform .4s ease; }
#top.lb-refonte .av-main-nav > li.lb-menu-privatisation > a:hover .avia-menu-text::before { transform: rotate(225deg); }
/* Largeurs intermédiaires : le menu se resserre, puis le bouton « Prochains départs » s'efface (« Voyages & départs » y mène déjà) */
@media only screen and (max-width: 1500px) {
	#top.lb-refonte .av-main-nav > li > a { padding: 0 9px; font-size: 13.5px; }
	#top.lb-refonte .av-main-nav > li.lb-menu-cta > a { padding-left: 10px; }
	#top.lb-refonte .av-main-nav > li.lb-menu-cta > a .avia-menu-text { padding: 12px 15px; font-size: 11px; letter-spacing: 1px; }
	#top.lb-refonte .av-main-nav > li.lb-menu-privatisation > a .avia-menu-text::before { margin-right: 6px; }
}
@media only screen and (min-width: 990px) and (max-width: 1240px) {
	#top.lb-refonte .av-main-nav > li.lb-menu-cta { display: none; }
	#top.lb-refonte .av-main-nav > li > a { padding: 0 8px; font-size: 13px; }
}
#top.lb-refonte .lb-mega-tous:hover svg { transform: translateX(3px); }
/* Les colonnes arrivent l'une après l'autre à l'ouverture */
#top.lb-refonte .lb-mega-col { opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .45s cubic-bezier(.2, .8, .2, 1); }
#top.lb-refonte .av-main-nav > li.lb-mega-destinations:hover .lb-mega-col, #top.lb-refonte .av-main-nav > li.lb-mega-destinations:focus-within .lb-mega-col { opacity: 1; transform: none; }
#top.lb-refonte .lb-mega-col:nth-child(2) { transition-delay: .06s; }
#top.lb-refonte .lb-mega-col:nth-child(3) { transition-delay: .12s; }

/* ---------- Mobile et tablette (menu « burger » d'Enfold) ---------- */
#top.lb-refonte .av-burger-overlay .lb-mega { display: none !important; }
@media only screen and (max-width: 989px) {
	#top.lb-refonte .av-main-nav .lb-mega { display: none !important; }
	#top.lb-refonte .lb-logo-boite { height: 70%; max-height: 72px; }
	#top.lb-refonte #header_meta .phone-info { display: none; }
}
@media only screen and (max-width: 767px) {
	/* Sur téléphone, la barre du haut ne garde que le choix de la langue (Newsletter et brochures sont dans la page). */
	#top.lb-refonte #header_meta .sub_menu > ul.menu, #top.lb-refonte #header_meta .social_bookmarks { display: none; }
	#top.lb-refonte #header_meta .sub_menu { float: none; display: flex; justify-content: flex-end; padding: 6px 0; }
}
#top.lb-refonte #av-burger-menu-ul li a { font-family: 'Work Sans', sans-serif; font-size: 16px; color: #20303b; text-transform: none; }
#top.lb-refonte #av-burger-menu-ul > li > a { font-family: 'Lato', sans-serif; font-weight: 300; font-size: 21px; letter-spacing: .3px; text-transform: uppercase; color: #112534; }
#top.lb-refonte #av-burger-menu-ul li a:hover { color: #5f9098; }
#top.lb-refonte #av-burger-menu-ul .sub-menu li a { font-size: 15px; color: #56656c; }
#top.lb-refonte #av-burger-menu-ul li.lb-menu-cta { border: 0; }
#top.lb-refonte #av-burger-menu-ul li.lb-menu-cta > a { padding-top: 24px; }
#top.lb-refonte #av-burger-menu-ul li.lb-menu-cta > a .avia-menu-text { display: inline-block; padding: 15px 24px; background: #112534; color: #ffffff; font-family: 'Work Sans', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 1.4px; }
#top.lb-refonte .av-hamburger-inner, #top.lb-refonte .av-hamburger-inner::before, #top.lb-refonte .av-hamburger-inner::after { background-color: #112534; }
#top.lb-refonte .av-burger-menu-main.is-active .av-hamburger-inner::before, #top.lb-refonte .av-burger-menu-main.is-active .av-hamburger-inner::after { background-color: #ffffff; }

@media (prefers-reduced-motion: reduce) {
	#top.lb-refonte .lb-mega, #top.lb-refonte .lb-mega-col, #top.lb-refonte .av-main-nav > li > ul.sub-menu { transition: none; }
}
