/* =============================================================
   VULABA — THÈME BLEU NUIT PREMIUM (étape 1 : en-tête + page d'accueil)
   Chargé EN DERNIER par _vb_theme.php. Toutes les couleurs passent par les variables --vbd-*.
   - En-tête : global (commun à toutes les pages).
   - Accueil : limité à body.vb-home-page (les autres pages suivront après validation).
   Orange réservé aux actions principales et aux accents importants.
   ============================================================= */
:root {
  --vbd-bg: #071F33;          /* fond principal */
  --vbd-card: #103550;        /* fond des cartes */
  --vbd-deep: #0B2940;        /* bleu nuit profond (bandeaux, menus) */
  --vbd-orange: #FF7043;      /* orange corail : actions principales, accents */
  --vbd-orange-hover: #F25A2B;
  --vbd-text: #FFFFFF;        /* texte principal */
  --vbd-text-2: #B8CEDC;      /* texte secondaire */
  --vbd-blue: #20B8ED;        /* bleu lumineux : surtitres, liens, focus */
  --vbd-line: rgba(184, 206, 220, .16);   /* bordures discrètes */
  --vbd-line-2: rgba(184, 206, 220, .32); /* bordures des boutons secondaires */
  --vbd-active: rgba(32, 184, 237, .14);  /* élément actif du menu */
  --vbd-shadow: 0 18px 44px rgba(0, 0, 0, .35);
  --vbd-ink: #FFFFFF;                       /* ex-« texte bleu nuit » (var(--vb-navy) en color) */
  --vbd-line-strong: rgba(184, 206, 220, .45); /* ex-bordures bleu nuit (survol, focus) */
  --vbd-raise: #16405F;                     /* surface surélevée : survol, puces, onglets */
  --vbd-placeholder: #8FA9BC;

  /* ---- Étape 2 : variables historiques (VULABA / InoPadel / EICAR) remappées sur la palette ---- */
  --vb-navy: #16405F;            /* n'est plus utilisé qu'en FOND (surface forte) : texte -> --vbd-ink */
  --vb-navy-2: #1D4A6B;
  --vb-ink: #FFFFFF;
  --vb-muted: #B8CEDC;
  --vb-soft: #071F33;
  --vb-bg: #071F33;
  --vb-white: #103550;
  --vb-line: rgba(184, 206, 220, .16);
  --vb-card-line: rgba(184, 206, 220, .16);
  --vb-chip: #16405F;
  --vb-eyebrow: #20B8ED;
  --vb-orange: #FF7043;
  --vb-orange-ink: #FF8A65;      /* orange lisible en texte sur bleu nuit */
  --vb-orange-soft: rgba(255, 112, 67, .14);
  --vb-action: #FF7043;
  --vb-action-hover: #F25A2B;
  --vb-lime: #FF7043; --vb-lime-hover: #F25A2B;
  --vb-green: #FF7043; --vb-green-hover: #F25A2B; --vb-green-ink: #FF8A65;
  --vb-blue: #20B8ED;
  --vb-blue-ink: #5CCBF2;
  --vb-blue-soft: rgba(32, 184, 237, .14);
  --vb-shadow: 0 1px 2px rgba(0, 0, 0, .25), 0 10px 28px rgba(0, 0, 0, .28);
  --vb-shadow-hover: 0 2px 4px rgba(0, 0, 0, .3), 0 18px 40px rgba(0, 0, 0, .38);
  /* noms EICAR */
  --red: #FF7043;
  --red-dark: #F25A2B;
  --black: #071F33;
  --dark: #0B2940;
  --grey: #103550;
  --mid: #16405F;
  --light: #8FA9BC;
  --white: #FFFFFF;
  --menu-bg: #071F33;
  --menu-text: rgba(255, 255, 255, .85);
  --menu-hover: #FFFFFF;
  --menu-border: #FF7043;
  --menu-border-top: rgba(184, 206, 220, .12);
  color-scheme: dark;
}

/* =================== SOCLE COMMUN (toutes les pages) =================== */
html, body.vb-site, body.vb-site .vb-page, body.vb-site .vb-home { background: var(--vbd-bg) !important; }
body.vb-site { color: var(--vbd-text); }
body.vb-site ::selection { background: rgba(32, 184, 237, .35); color: #fff; }
body.vb-site ::-webkit-scrollbar-track { background: var(--vbd-bg); }
body.vb-site ::-webkit-scrollbar-thumb { background: #285A7E; }
body.vb-site :focus-visible { outline: 2px solid var(--vbd-blue); outline-offset: 2px; }
/* Bascules clair/sombre héritées d'EICAR : VULABA n'a qu'un thème */
body.vb-site .auth-theme-toggle, body.vb-site .pub-theme-toggle, body.vb-site .up-theme-toggle,
body.vb-site #authThemeToggle, body.vb-site #pubThemeToggle, body.vb-site #upThemeToggle { display: none !important; }
/* Champs de formulaire */
body.vb-site input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),
body.vb-site textarea, body.vb-site select {
  background-color: var(--vbd-deep); color: var(--vbd-text); border-color: rgba(184, 206, 220, .22);
}
body.vb-site input::placeholder, body.vb-site textarea::placeholder { color: var(--vbd-placeholder); opacity: 1; }
body.vb-site input:focus, body.vb-site textarea:focus, body.vb-site select:focus { border-color: var(--vbd-blue); }
body.vb-site input:disabled, body.vb-site textarea:disabled, body.vb-site select:disabled, body.vb-site button:disabled { opacity: .55; cursor: not-allowed; }
body.vb-site input[type=checkbox], body.vb-site input[type=radio], body.vb-site input[type=range] { accent-color: var(--vbd-orange); }
body.vb-site input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 1000px var(--vbd-deep) inset; caret-color: #fff; }
/* Boutons de la charte (toutes pages) : orange = action principale ; ligne = secondaire */
body.vb-site .vb-btn-orange, body.vb-site .vb-btn-lime { background: var(--vbd-orange); color: #fff !important; }
body.vb-site .vb-btn-orange:hover, body.vb-site .vb-btn-lime:hover { background: var(--vbd-orange-hover); color: #fff !important; }
body.vb-site .vb-btn.vb-btn-line, body.vb-site .vb-btn-line { background: var(--vbd-deep); color: var(--vbd-text) !important; border: 1px solid var(--vbd-line-2); }
body.vb-site .vb-btn.vb-btn-line:hover, body.vb-site .vb-btn-line:hover { background: var(--vbd-raise); border-color: var(--vbd-line-strong); color: #fff !important; }
body.vb-site .vb-btn-line.vb-icon-btn, body.vb-site .vb-ehead .vb-btn-line.vb-icon-btn { color: var(--vbd-text) !important; }

/* =================== EN-TÊTE (toutes les pages) =================== */
body.vb-site .site-header {
  background: rgba(7, 31, 51, .96) !important; border-bottom: 1px solid var(--vbd-line) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .18); backdrop-filter: saturate(1.3) blur(10px);
}
body.vb-site .site-header.is-overlay { background: rgba(7, 31, 51, .96) !important; }
body.vb-site .site-header.header-menu-inline .header-inner .header-nav a { color: var(--vbd-text); opacity: .9; }
body.vb-site .site-header.header-menu-inline .header-inner .header-nav a:hover { background: rgba(255, 255, 255, .06); color: var(--vbd-text); opacity: 1; }
body.vb-site .site-header.header-menu-inline .header-inner .header-nav a.active { background: var(--vbd-active); color: var(--vbd-text); opacity: 1; box-shadow: inset 0 0 0 1px rgba(32, 184, 237, .25); }
body.vb-site .site-header .wl-search-mobile-btn,
body.vb-site .site-header .wl-notif-btn,
body.vb-site .site-header .wl-msg-btn { background: transparent !important; border: 1px solid var(--vbd-line-2) !important; color: var(--vbd-text) !important; }
body.vb-site .site-header .wl-search-mobile-btn svg, body.vb-site .site-header .wl-notif-btn svg, body.vb-site .site-header .wl-msg-btn svg { stroke: currentColor; color: var(--vbd-text); }
body.vb-site .site-header .wl-search-mobile-btn:hover,
body.vb-site .site-header .wl-notif-btn:hover,
body.vb-site .site-header .wl-msg-btn:hover { background: rgba(255, 255, 255, .08) !important; }
body.vb-site .site-header .btn-login { background: transparent !important; border: 1px solid var(--vbd-line-2) !important; color: var(--vbd-text) !important; }
body.vb-site .site-header .btn-login:hover { background: rgba(255, 255, 255, .08) !important; }
body.vb-site .site-header .vb-pub-cta, body.vb-site .vb-pub-cta { background: var(--vbd-orange) !important; color: #fff !important; }
body.vb-site .site-header .vb-pub-cta:hover, body.vb-site .vb-pub-cta:hover { background: var(--vbd-orange-hover) !important; }
body.vb-site .btn-hamburger span { background: var(--vbd-text) !important; }
@media (max-width: 960px) { body.vb-site .site-header .btn-hamburger { background: transparent !important; border-color: var(--vbd-line-2) !important; } }
/* Avatar / bouton « Vous » */
body.vb-site .site-header .wl-user-btn, body.vb-site .site-header .wl-user-trigger, body.vb-site .site-header .user-menu-btn {
  background: rgba(255, 255, 255, .06) !important; color: var(--vbd-text) !important; border: 1px solid var(--vbd-line-2) !important;
}
/* Menus déroulants harmonisés (compte, filtre de recherche, suggestions) */
body.vb-site .site-header .wl-user-menu, body.vb-site .wl-scope-menu, body.vb-site .wl-suggestions {
  background: var(--vbd-deep) !important; border: 1px solid var(--vbd-line) !important; box-shadow: var(--vbd-shadow) !important; color: var(--vbd-text);
}
body.vb-site .site-header .wl-user-menu a, body.vb-site .site-header .wl-user-menu button,
body.vb-site .wl-scope-menu a, body.vb-site .wl-sug, body.vb-site .wl-sug * { color: var(--vbd-text) !important; }
body.vb-site .site-header .wl-user-menu a:hover, body.vb-site .site-header .wl-user-menu button:hover,
body.vb-site .wl-scope-menu a:hover, body.vb-site .wl-sug:hover { background: rgba(255, 255, 255, .07) !important; }
body.vb-site .site-header .wl-user-menu .wl-menu-sep { background: var(--vbd-line) !important; border-color: var(--vbd-line) !important; }
body.vb-site .site-header .wl-user-menu svg { stroke: var(--vbd-text-2); }
/* Barre de recherche dépliée */
body.vb-site .site-header .wl-search, body.vb-site .site-header .wl-search-input { color: var(--vbd-text); }
/* Menu mobile (« Plus ») */
body.vb-site .wl-mobile { background: var(--vbd-bg) !important; color: var(--vbd-text); }
body.vb-site .wl-mobile a, body.vb-site .wl-mobile .wl-m-link { color: var(--vbd-text) !important; }
body.vb-site .wl-mobile a:hover { background: rgba(255, 255, 255, .06) !important; }
body.vb-site .wl-mobile-head { border-color: var(--vbd-line) !important; }
/* Bandeau d'aperçu */
body.vb-site .vb-preview-bar { background: var(--vbd-deep); color: var(--vbd-text-2); border-bottom: 1px solid var(--vbd-line); }
/* Barre du bas (mobile) */
body.vb-site .wl-bottombar { background: rgba(7, 31, 51, .97) !important; border-top: 1px solid var(--vbd-line) !important; }
body.vb-site .wl-bottombar .wl-bn { color: var(--vbd-text-2) !important; }
body.vb-site .wl-bottombar .wl-bn.active { color: var(--vbd-text) !important; }
body.vb-site .wl-bottombar .wl-bn-pub .wl-bn-pub-ic { background: var(--vbd-orange) !important; }
body.vb-site .wl-bottombar .wl-bn-pub span:last-child { color: var(--vbd-text) !important; }
/* Focus visible sur fond sombre */
body.vb-site .site-header a:focus-visible, body.vb-site .site-header button:focus-visible,
body.vb-home-page a:focus-visible, body.vb-home-page button:focus-visible { outline: 2px solid var(--vbd-blue); outline-offset: 3px; }

/* =================== PAGE D'ACCUEIL =================== */
html:has(body.vb-home-page), body.vb-home-page, body.vb-home-page .vb-home { background: var(--vbd-bg) !important; color: var(--vbd-text); }
body.vb-home-page .vb-home { padding: 0 0 70px; }

/* ---------- Hero pleine largeur : illustration à droite, dégradé bleu nuit à gauche ---------- */
body.vb-home-page .vb-homehero {
  position: relative; display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--vbd-bg);
  min-height: clamp(460px, calc(62vw / 1.777), 720px); overflow: hidden;
}
body.vb-home-page .vb-homehero-visual {
  position: absolute; top: 0; right: 0; bottom: 0; width: 64%; min-height: 0 !important; height: auto !important; aspect-ratio: auto !important; background: var(--vbd-bg);
}
body.vb-home-page .vb-homehero-visual picture, body.vb-home-page .vb-homehero-visual img { display: block; width: 100%; height: 100%; }
body.vb-home-page .vb-homehero-visual img { object-fit: cover; object-position: 70% 45%; filter: saturate(1.06); }
body.vb-home-page .vb-homehero-visual::before { display: none !important; }
body.vb-home-page .vb-homehero-visual::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, var(--vbd-bg) 0%, rgba(7, 31, 51, .86) 14%, rgba(7, 31, 51, .35) 32%, rgba(7, 31, 51, 0) 50%),
              linear-gradient(0deg, var(--vbd-bg) 0%, rgba(7, 31, 51, 0) 22%);
}
body.vb-home-page .vb-homehero-txt {
  position: relative; z-index: 2; max-width: 1450px; margin: 0 auto; padding: 64px 25px 44px; min-height: inherit;
  display: flex; flex-direction: column; justify-content: center;
}
body.vb-home-page .vb-homehero-txt > * { max-width: 600px; }
body.vb-home-page .vb-homehero .vb-eyebrow-line { color: var(--vbd-blue); }
body.vb-home-page .vb-homehero .vb-eyebrow-line::before { background: var(--vbd-orange); }
body.vb-home-page .vb-homehero-txt h1 { color: var(--vbd-text); font-size: clamp(40px, 4.4vw, 66px); line-height: 1.04; letter-spacing: -.04em; font-weight: 800; margin: 14px 0 16px; text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
body.vb-home-page .vb-homehero-txt h1 .vb-hl-orange { color: var(--vbd-orange); }
body.vb-home-page .vb-homehero-lead { color: var(--vbd-text-2); font-size: 16px; line-height: 1.7; max-width: 520px; }
body.vb-home-page .vb-homehero-cta { margin-top: 24px; gap: 12px; }
body.vb-home-page .vb-homehero .vb-btn-orange { background: var(--vbd-orange); color: #fff; box-shadow: 0 10px 28px rgba(255, 112, 67, .32); }
body.vb-home-page .vb-homehero .vb-btn-orange:hover { background: var(--vbd-orange-hover); }
/* vulaba.css force color:navy !important sur .vb-btn-line : on reprend la main ici (hero uniquement) */
body.vb-home-page .vb-homehero .vb-btn.vb-btn-line { background: transparent !important; color: var(--vbd-text) !important; border: 1px solid rgba(255, 255, 255, .55) !important; }
body.vb-home-page .vb-homehero .vb-btn.vb-btn-line:hover { background: rgba(255, 255, 255, .08) !important; border-color: #fff !important; }
body.vb-home-page .vb-homehero .vb-btn.vb-btn-line svg { color: inherit; stroke: currentColor; }
/* 4 points sous les boutons : icône colorée + 2 lignes */
body.vb-home-page .vb-homehero-chips { display: grid; grid-template-columns: repeat(2, max-content); gap: 16px 40px; margin-top: 30px; max-width: 600px !important; }
body.vb-home-page .vb-homehero-chips li { display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: none; color: var(--vbd-text); white-space: nowrap; }
body.vb-home-page .vb-homehero-chips b { display: block; font-size: 13px; font-weight: 800; color: var(--vbd-text); }
body.vb-home-page .vb-homehero-chips small { display: block; font-size: 11.5px; color: var(--vbd-text-2); }
body.vb-home-page .vb-hc-ic { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: rgba(32, 184, 237, .12); border: 1px solid rgba(32, 184, 237, .28); color: var(--vbd-blue); }
body.vb-home-page .vb-hc-orange { background: rgba(255, 112, 67, .12); border-color: rgba(255, 112, 67, .3); color: var(--vbd-orange); }
/* Carte flottante « vrai carnet » (verre sombre) */
body.vb-home-page .vb-homehero-float {
  z-index: 3; left: auto; right: 2.5%; top: 9%; bottom: auto; transform: none; max-width: 260px;
  background: rgba(16, 53, 80, .78); border: 1px solid var(--vbd-line-2); color: var(--vbd-text); backdrop-filter: blur(10px); box-shadow: var(--vbd-shadow);
}
body.vb-home-page .vb-homehero-float small, body.vb-home-page .vb-homehero-float em { color: var(--vbd-text-2); }
/* Tablette / mobile : texte puis illustration complète (16:9, aucun badge coupé) */
@media (max-width: 1099px) {
  body.vb-home-page .vb-homehero { min-height: 0; display: flex; flex-direction: column; }
  body.vb-home-page .vb-homehero-txt { padding: 40px 18px 26px; min-height: 0; order: 1; }
  body.vb-home-page .vb-homehero-visual { position: relative; width: 100%; order: 2; aspect-ratio: 1672 / 941 !important; }
  body.vb-home-page .vb-homehero-visual img { object-position: center; }
  body.vb-home-page .vb-homehero-visual::after { background: linear-gradient(180deg, var(--vbd-bg) 0%, rgba(7, 31, 51, 0) 16%, rgba(7, 31, 51, 0) 86%, var(--vbd-bg) 100%); }
  body.vb-home-page .vb-homehero-float { display: none; }
  body.vb-home-page .vb-homehero-chips li { white-space: normal; }
}
@media (max-width: 600px) {
  body.vb-home-page .vb-homehero-txt h1 { font-size: 38px; }
  body.vb-home-page .vb-homehero-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  body.vb-home-page .vb-homehero-cta .vb-btn { width: 100%; }
}

/* ---------- Sections ---------- */
body.vb-home-page .vb-wrap { max-width: 1450px; padding: 0 25px; }
@media (max-width: 950px) { body.vb-home-page .vb-wrap { padding: 0 16px; } }
body.vb-home-page .vb-sec { margin-top: 56px; }
body.vb-home-page .vb-eyebrow { color: var(--vbd-blue); }
body.vb-home-page .vb-sec-head .vb-eyebrow { display: flex; align-items: center; gap: 10px; }
body.vb-home-page .vb-sec-head .vb-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--vbd-orange); }
body.vb-home-page .vb-sec-title, body.vb-home-page .vb-h2, body.vb-home-page h2, body.vb-home-page h3 { color: var(--vbd-text); }
body.vb-home-page .vb-sec-more {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-radius: 999px; border: 1px solid var(--vbd-line-2);
  color: var(--vbd-text); font-size: 13px; font-weight: 700; text-decoration: none;
}
body.vb-home-page .vb-sec-more:hover { background: rgba(255, 255, 255, .07); color: var(--vbd-text); }

/* Les 4 fonctionnalités : cartes bleu profond */
body.vb-home-page .vb-values { margin-top: 34px; }
body.vb-home-page .vb-values li { background: var(--vbd-card); border: 1px solid var(--vbd-line); box-shadow: none; }
body.vb-home-page .vb-values b { color: var(--vbd-text); }
body.vb-home-page .vb-values small { color: var(--vbd-text-2); }
body.vb-home-page .vb-values-ic, body.vb-home-page .vb-values-ic-blue { background: rgba(32, 184, 237, .12); border: 1px solid rgba(32, 184, 237, .25); }

/* Récits : grandes cartes photographiques */
body.vb-home-page .vb-tcard { background: var(--vbd-card); border: 1px solid var(--vbd-line); box-shadow: none; }
body.vb-home-page .vb-tcard:hover { box-shadow: var(--vbd-shadow); }
body.vb-home-page .vb-tcard-media { aspect-ratio: 16 / 10; background: var(--vbd-deep); }
body.vb-home-page .vb-tcard-title a { color: var(--vbd-text); }
body.vb-home-page .vb-tcard-title a:hover { color: var(--vbd-blue); }
body.vb-home-page .vb-tcard-kicker { color: var(--vbd-blue); }
body.vb-home-page .vb-tcard-sum, body.vb-home-page .vb-tcard-countries, body.vb-home-page .vb-tcard-meta { color: var(--vbd-text-2); }
body.vb-home-page .vb-tcard-foot { border-top-color: var(--vbd-line); }
body.vb-home-page .vb-tcard-author { color: var(--vbd-text); }
body.vb-home-page .vb-tcard-steps { background: rgba(7, 31, 51, .78); color: var(--vbd-text); }
body.vb-home-page .vb-first { background: linear-gradient(120deg, var(--vbd-card) 0%, var(--vbd-deep) 100%); border: 1px solid var(--vbd-line); }
body.vb-home-page .vb-first h3 { color: var(--vbd-text); }
body.vb-home-page .vb-first p { color: var(--vbd-text-2); }

/* Destinations : photo (dernier carnet publié) + dégradé sombre, sinon tuile drapeau */
body.vb-site .vb-dest-row { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; }
body.vb-site .vb-dest {
  position: relative; min-height: 150px; overflow: hidden; justify-content: flex-end; padding: 14px;
  background: linear-gradient(160deg, var(--vbd-card) 0%, var(--vbd-deep) 100%); border: 1px solid var(--vbd-line); color: var(--vbd-text); box-shadow: none;
}
body.vb-site .vb-dest:hover { box-shadow: var(--vbd-shadow); border-color: var(--vbd-line-2); }
body.vb-site .vb-dest img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
body.vb-site .vb-dest:hover img { transform: scale(1.04); }
body.vb-site .vb-dest-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 31, 51, 0) 35%, rgba(7, 31, 51, .9) 100%); }
body.vb-site .vb-dest .vb-dest-flag { position: absolute; top: 12px; left: 14px; z-index: 1; font-size: 30px; }
body.vb-site .vb-dest-txt { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 2px; padding-right: 34px; }
body.vb-site .vb-dest b { font-size: 16px; color: var(--vbd-text); }
body.vb-site .vb-dest small { font-size: 12px; color: var(--vbd-text-2); }
body.vb-site .vb-dest-go { position: absolute; z-index: 1; right: 12px; bottom: 14px; width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .12); border: 1px solid var(--vbd-line-2); color: var(--vbd-text); }

/* Communautés */
body.vb-home-page .vb-theme { border: 1px solid var(--vbd-line); }

/* Voyageurs à suivre */
body.vb-home-page .vb-trav { background: var(--vbd-card); border: 1px solid var(--vbd-line); box-shadow: none; }
body.vb-home-page .vb-trav-link, body.vb-home-page .vb-trav-name { color: var(--vbd-text); }
body.vb-home-page .vb-trav-meta { color: var(--vbd-text-2); }
body.vb-home-page .vb-follow.is-on { background: transparent; color: var(--vbd-blue); border-color: rgba(32, 184, 237, .4); }

/* Actualités et podcasts : cartes adaptées */
body.vb-home-page .vb-cur-sec { background: var(--vbd-deep); border: 1px solid var(--vbd-line); }
body.vb-home-page .vb-cur-note { color: var(--vbd-text-2); }
body.vb-home-page .vb-cur { background: var(--vbd-card); border: 1px solid var(--vbd-line); box-shadow: none; }
body.vb-home-page .vb-cur-title a { color: var(--vbd-text); }
body.vb-home-page .vb-cur-title a:hover { color: var(--vbd-blue); }
body.vb-home-page .vb-cur-ex, body.vb-home-page .vb-cur-src, body.vb-home-page .vb-cur-cty { color: var(--vbd-text-2); }
body.vb-home-page .vb-curtag { color: #F7B39A; }
body.vb-home-page .vb-cur-go { color: var(--vbd-blue); }
body.vb-home-page .vb-cur-media { background: var(--vbd-deep); }

/* Rejoindre + chiffres */
body.vb-home-page .vb-join { background: linear-gradient(120deg, var(--vbd-card) 0%, var(--vbd-deep) 100%); border: 1px solid var(--vbd-line); }
body.vb-home-page .vb-join h2 .vb-hl-orange { color: var(--vbd-orange); }
body.vb-home-page .vb-join-steps span { background: var(--vbd-orange); color: #fff; }
body.vb-home-page .vb-stats-line { color: var(--vbd-text-2); }

/* Pied de page de l'accueil : même bleu nuit, séparé par un filet */
body.vb-home-page .site-footer { background: var(--vbd-deep) !important; border-top: 1px solid var(--vbd-line); }

@media (prefers-reduced-motion: reduce) { body.vb-site .vb-dest img { transition: none; } }

/* =================== ÉTAPE 2 : COMPOSANTS PARTAGÉS (toutes les pages) =================== */
/* Tiroir mobile : champ de recherche */
body.vb-site .wl-mobile-search { background: var(--vbd-deep) !important; border: 1px solid rgba(184, 206, 220, .22); color: var(--vbd-text-2) !important; }
body.vb-site .wl-mobile-search input[type=text] { color: var(--vbd-text) !important; background: transparent !important; border: 0 !important; }
body.vb-site .wl-mobile, body.vb-site .wl-m-drill-panel { background: var(--vbd-bg) !important; }
/* Visuels par défaut (sans image) : dégradé bleu nuit + halo corail discret, au lieu d'un aplat orange */
body.vb-site .pf-cover.no-img, body.vb-site .up-cover.no-img, body.vb-site .proj-card-cover.noimg, body.vb-site .proj-view-cover.noimg {
  background: radial-gradient(120% 140% at 85% 0%, rgba(255, 112, 67, .22) 0%, rgba(255, 112, 67, 0) 45%), linear-gradient(135deg, #1D4A6B 0%, #0B2940 55%, #071F33 100%) !important;
}
body.vb-site .pf-avatar-ph, body.vb-site .up-avatar.no-img { background: linear-gradient(135deg, #1D4A6B 0%, #0B2940 100%) !important; }
/* En-tête mobile d'un membre CONNECTÉ (cloche + avatar en plus) : il débordait (470 px pour 375),
   le bouton menu sortait de l'écran. Visiteur inchangé (accueil validé). */
@media (max-width: 520px) {
  body.vb-site .site-header:has(.wl-user) .header-inner { gap: 8px; padding-left: 12px; padding-right: 12px; }
  body.vb-site .site-header:has(.wl-user) .header-logo .vb-logo { --lh: 25px; gap: 6px; }
  body.vb-site .site-header:has(.wl-user) .header-logo .vb-logo-mark { height: 30px; }
  body.vb-site .site-header:has(.wl-user) .header-logo .vb-logo-text { height: 15px; }
  body.vb-site .site-header:has(.wl-user) .header-actions { gap: 6px; }
  body.vb-site .site-header:has(.wl-user) .wl-search-mobile-btn,
  body.vb-site .site-header:has(.wl-user) .lkh-action-btn,
  body.vb-site .site-header:has(.wl-user) .wl-msg-btn,
  body.vb-site .site-header:has(.wl-user) .btn-hamburger { width: 36px !important; height: 36px !important; min-width: 36px; padding: 0 !important; }
  body.vb-site .site-header:has(.wl-user) .wl-user-btn { height: 36px; padding: 0 2px !important; gap: 0; }
  body.vb-site .site-header:has(.wl-user) .wl-user-btn > :not(.wl-avatar-wrap) { display: none !important; }
}
@media (max-width: 359px) { body.vb-site .site-header:has(.wl-user) .wl-search-mobile-btn { display: none !important; } }
/* Notifications : non lues bien visibles (liseré bleu), panneau bleu profond */
body.vb-site .lkh-notifications-dropdown { background: var(--vbd-deep) !important; border: 1px solid var(--vbd-line) !important; color: var(--vbd-text); }
body.vb-site .lkh-notif-item.unread { background: rgba(32, 184, 237, .10) !important; box-shadow: inset 3px 0 0 var(--vbd-blue); }
body.vb-site .lkh-notif-item.unread:hover, body.vb-site .lkh-notif-item:hover { background: rgba(255, 255, 255, .06) !important; }
/* Modales partagées : surface carte, texte blanc, croix lisible */
body.vb-site .modal-connexion-content, body.vb-site .bugrep-box { border: 1px solid var(--vbd-line) !important; color: var(--vbd-text); }
