/* Navigation commune — design Voyages et Évasions.
   Grand écran : logo et recherche, barre encadrée, sous-menus en cadres.
   Téléphone : logo, menu et loupe sur une ligne. */
html body .ve2-header,
html body .ve2-header * { box-sizing:border-box; }
html body header.ve2-header {
  position:fixed !important;
  inset:0 0 auto !important;
  z-index:10000 !important;
  width:100% !important;
  margin:0 !important;
  transform:none !important;
  translate:none !important;
  background:#fff !important;
  color:#10253f !important;
  border-bottom:1px solid #dbe5ec;
  font:400 14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  text-align:left;
}
html.ve2-fixed body { margin-top:0 !important; padding-top:var(--ve2-header-height,76px) !important; }
html.ve2-fixed { scroll-padding-top:calc(var(--ve2-header-height,76px) + 16px); }
.ve2-header .ve2-top {
  display:flex;
  align-items:center;
  gap:14px;
  position:relative;
  flex-wrap:nowrap;
  width:min(calc(100% - 40px),1740px);
  margin:0 auto;
  padding:12px 0;
}
.ve2-header a { color:#334a60 !important; text-decoration:none; }
.ve2-header .ve2-brand { flex-shrink:0; display:flex; align-items:center; gap:12px; margin-right:auto; min-width:0; }
.ve2-header .ve2-brand img { display:block; flex:none; width:48px; height:48px; object-fit:contain; border-radius:50%; }
.ve2-header .ve2-brand strong { display:block; color:#10253f !important; font:800 16px/1.2 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.035em; text-transform:uppercase; }
.ve2-header .ve2-brand small { display:block; margin-top:5px; color:#087aa8 !important; font:800 10px/1.5 Inter,ui-sans-serif,system-ui,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.ve2-header .ve2-search {
  display:flex;
  align-items:center;
  gap:8px;
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:30;
  width:min(480px,calc(100vw - 24px));
  box-shadow:0 14px 36px #10253f26;
  margin:0;
  padding:6px;
  background:#f5f8fb !important;
  border:1px solid #dbe5ec;
  border-radius:999px;
}
.ve2-header .ve2-search input { min-width:0; width:100%; padding:8px 14px; border:0; background:transparent !important; color:#10253f !important; box-shadow:none; font:400 15px/1.5 Inter,Arial,sans-serif; }
.ve2-header .ve2-search input::placeholder { color:#5c6f82; }
.ve2-header .ve2-search button { flex:none; border:0; border-radius:999px; padding:11px 22px; background:#ff7657; color:#fff; font:800 14px/1.5 Inter,Arial,sans-serif; cursor:pointer; }
.ve2-header .ve2-search button:hover { background:#e8593c; }
.ve2-header .ve2-toggle,
.ve2-header .ve2-search-toggle { display:none; }
.ve2-header .ve2-menu-shell { flex:1; min-width:0; width:auto; margin:0; }
.ve2-header .ve2-nav {
  position:static;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff !important;
  box-shadow:none;
}
.ve2-header .ve2-group { position:static; width:auto; margin:0; padding:0; border:0; background:transparent; }
.ve2-header .ve2-group > summary,
.ve2-header .ve2-home { display:flex; align-items:center; gap:7px; list-style:none; margin:0; padding:10px 8px; border-radius:10px; color:#334a60 !important; font:750 13px/1.5 Inter,ui-sans-serif,system-ui,sans-serif; white-space:nowrap; cursor:pointer; }
.ve2-header .ve2-group > summary::-webkit-details-marker { display:none; }
.ve2-header .ve2-group > summary span { color:#087aa8 !important; }
.ve2-header .ve2-group > summary:hover,
.ve2-header .ve2-home:hover,
.ve2-header .ve2-group[open] > summary { background:#eaf5f8 !important; color:#07506f !important; }
.ve2-header .ve2-group[open] > summary { box-shadow:inset 0 -3px #ff7657; }
.ve2-header .ve2-sub {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:20;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
  max-height:calc(100dvh - var(--ve2-header-height,76px) - 24px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:16px;
  border:1px solid #cfe0e7;
  border-radius:18px;
  background:#fff !important;
  box-shadow:0 20px 60px #10253f26;
}
.ve2-header .ve2-sub[data-columns="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ve2-header .ve2-menu-card { min-width:0; margin:0; padding:14px; background:#f5fafc; border:1px solid #dbe7ec; border-radius:12px; }
.ve2-header .ve2-menu-card-title { display:block; margin:0 0 9px; color:#07506f; font:800 14px/1.5 Inter,Arial,sans-serif; }
.ve2-header .ve2-menu-card-title:before { content:""; display:inline-block; width:5px; height:5px; margin-right:9px; border-radius:50%; background:#ff7657; vertical-align:middle; }
.ve2-header .ve2-sub a { display:block; margin:2px 0; padding:9px 10px; border-radius:8px; color:#334a60 !important; font:500 13px/1.5 Inter,Arial,sans-serif; white-space:normal; overflow-wrap:anywhere; }
.ve2-header .ve2-sub a:hover { background:#e5f1f6 !important; color:#07506f !important; }
.ve2-header .ve2-sub .ve2-menu-overview { grid-column:1/-1; margin:0; background:#eaf5f8; color:#07506f !important; font-weight:800; }
.ve2-header .ve2-group:not([open]) > .ve2-sub { display:none; }
.ve2-header :focus-visible { outline:3px solid #087aa8; outline-offset:3px; }
.ve2-header .ve2-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (min-width:1250px) {
  html.ve2-fixed { --hero-shell-height:max(430px,calc(100svh - var(--ve2-header-height,76px) - 70px)); }
  .ve2-header .ve2-search-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 42px; width:42px; height:42px; padding:0; border:1px solid #087aa8; border-radius:50%; background:transparent; color:#07506f; cursor:pointer; }
  .ve2-header.ve2-enhanced .ve2-search:not(.ve2-search-open) { display:none; }
}
@media (max-width:1249px) {
  html.ve2-fixed body { padding-top:var(--ve2-header-height,76px) !important; }
  .ve2-header .ve2-top { width:100%; gap:10px; padding:12px 16px; }
  .ve2-header .ve2-menu-shell { display:contents; }
  .ve2-header .ve2-toggle,
  .ve2-header .ve2-search-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; margin:0; padding:0; background:transparent; color:#07506f; cursor:pointer; }
  .ve2-header .ve2-toggle { border:0; border-radius:10px; font:400 29px/1 Arial,sans-serif; }
  .ve2-header .ve2-search-toggle { border:1px solid #087aa8; border-radius:50%; }
  .ve2-header .ve2-search-toggle svg { width:22px; height:22px; }
  .ve2-header .ve2-nav { position:absolute; top:100%; left:12px; right:12px; display:block; max-height:calc(100dvh - var(--ve2-header-height,76px) - 16px); padding:8px; border:1px solid #dbe5ec; border-radius:16px; overflow:auto; overscroll-behavior:contain; box-shadow:0 16px 36px #10253f22; }
  .ve2-header.ve2-enhanced .ve2-nav:not(.ve2-open) { display:none; }
  .ve2-header .ve2-group { width:100%; }
  .ve2-header .ve2-group > summary { justify-content:space-between; }
  .ve2-header .ve2-sub,
  .ve2-header .ve2-sub[data-columns="2"] { position:static; width:100%; max-height:none; grid-template-columns:repeat(2,minmax(0,1fr)); margin:6px 0 10px; padding:10px; box-shadow:none; overflow:visible; }
  .ve2-header .ve2-search { position:absolute; top:calc(100% + 8px); right:12px; z-index:30; width:min(540px,calc(100vw - 24px)); box-shadow:0 14px 36px #10253f26; background:#fff !important; }
  .ve2-header.ve2-enhanced .ve2-search:not(.ve2-search-open) { display:none; }
}
@media (max-width:600px) {
  .ve2-header .ve2-top { gap:8px; padding:12px; }
  .ve2-header .ve2-brand { flex:1; gap:7px; }
  .ve2-header .ve2-brand img { width:34px; height:34px; }
  .ve2-header .ve2-brand span { min-width:0; }
  .ve2-header .ve2-brand strong { font-size:clamp(10px,3.3vw,14px); letter-spacing:0; white-space:nowrap; }
  .ve2-header .ve2-brand small { font-size:clamp(7px,2.1vw,9px); letter-spacing:0; white-space:nowrap; }
  .ve2-header .ve2-sub,
  .ve2-header .ve2-sub[data-columns="2"] { grid-template-columns:minmax(0,1fr); }
  .ve2-header .ve2-group > summary,
  .ve2-header .ve2-home { font-size:14px; padding:13px 10px; }
}
@media (prefers-reduced-motion:reduce) { .ve2-header * { scroll-behavior:auto; } }
