/* === Footer bottom restructuré (3 lignes) === */
  .footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding-top: 32px !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--border) !important;
    align-items: center !important;
    text-align: center !important;
  }
  .footer-credits-line,
  .footer-legal-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .footer-credits-line {
    color: var(--text-secondary) !important;
  }
  .footer-credits-line a {
    color: var(--text) !important;
    text-decoration: none !important;
    border-bottom: 1px dotted transparent !important;
    transition: border-color 0.2s !important;
  }
  .footer-credits-line a:hover {
    border-bottom-color: var(--text-secondary) !important;
  }
  .footer-legal-line {
    color: var(--text-muted) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 11px !important;
  }
  .footer-legal-line a {
    color: #8b91a8 !important;
    text-decoration: none !important;
    border-bottom: 1px dotted transparent !important;
    transition: color 0.2s, border-color 0.2s !important;
  }
  .footer-legal-line a:hover {
    color: var(--text) !important;
    border-bottom-color: currentColor !important;
  }
  .footer-credit-sep {
    color: var(--text-muted) !important;
    opacity: 0.5 !important;
  }
  
  @media (max-width: 700px) {
    .footer-credits-line,
    .footer-legal-line {
      flex-direction: column !important;
      gap: 6px !important;
    }
    .footer-credit-sep { display: none !important; }
  }



  /* ============================================================
     === SPRINT γ - nav sur une seule ligne + réseaux sociaux
     === + footer bottom sur une seule ligne
     === (bloc final : prévaut sur tout ce qui précède)
     ============================================================ */

  /* --- 1. La barre de nav ne passe JAMAIS sur 2 lignes --- */
  .nav-inner {
    flex-wrap: nowrap !important;
    gap: 20px !important;
  }
  .logo { flex-shrink: 0 !important; }
  .logo-name, .logo-tag { white-space: nowrap !important; }
  .nav-links {
    flex-wrap: nowrap !important;
    gap: 30px !important;
    margin: 0 auto !important;
  }
  .nav-links a { white-space: nowrap !important; }
  .nav-right {
    flex-shrink: 0 !important;
    gap: 14px !important;
  }
  .nav-cta, .lang-switch { white-space: nowrap !important; }

  /* --- 2. Icônes réseaux sociaux dans la nav --- */
  .nav-social {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .nav-social a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px; height: 32px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    color: var(--text-muted);
    transition: color .2s, border-color .2s, background .2s;
  }
  .nav-social a:hover {
    color: var(--text);
    border-color: var(--accent);
    background: var(--accent-soft);
  }
  .nav-social svg { width: 14px; height: 14px; fill: currentColor; display: block; }

  /* --- 3. Palier compact (petits laptops 1100→1340px) --- */
  @media (max-width: 1340px) {
    .logo-tag { display: none !important; }
    .nav-links { gap: 22px !important; }
    .nav-links a { font-size: 13.5px !important; }
    .nav-cta { padding: 8px 15px !important; font-size: 13px !important; }
    .nav-right { gap: 10px !important; }
    .nav-social { gap: 6px !important; }
    .nav-social a { width: 30px; height: 30px; }
    .nav-inner { padding: 16px 20px !important; }
  }

  /* --- 4. Menu sandwich en dessous de 1100px --- */
  @media (max-width: 1100px) {
    .nav-links { display: none !important; }
    .nav-right .lang-switch,
    .nav-right .nav-cta,
    .nav-social { display: none !important; }
    .mobile-menu-toggle { display: flex !important; }
    .logo-tag { display: none !important; }
  }

  /* --- 5. Réseaux sociaux dans le menu mobile --- */
  .mobile-menu-social {
    display: flex !important;
    gap: 10px !important;
    margin-top: 10px !important;
  }
  .mobile-menu-social a {
    flex: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 0 !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--text) !important;
  }
  .mobile-menu-social a:hover {
    border-color: var(--accent) !important;
    background: var(--accent-soft) !important;
    color: var(--accent) !important;
  }
  .mobile-menu-social svg { width: 15px; height: 15px; fill: currentColor; flex-shrink: 0; }

  /* --- 6. Réseaux sociaux dans le footer (colonne marque) --- */
  .footer-social {
    display: flex !important;
    gap: 10px !important;
    margin: 0 0 24px !important;
  }
  .footer-social a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px; height: 36px;
    border: 1px solid var(--border) !important;
    border-radius: 9px !important;
    color: var(--text-muted) !important;
    transition: color .2s, border-color .2s, background .2s;
  }
  .footer-social a:hover {
    color: var(--text) !important;
    border-color: var(--accent) !important;
    background: var(--accent-soft) !important;
  }
  .footer-social svg { width: 15px; height: 15px; fill: currentColor; display: block; }

  /* --- 7. Bas de footer sur UNE seule ligne --- */
  .footer-bottom {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px 28px !important;
    padding-top: 28px !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--border) !important;
    text-align: left !important;
    grid-column: 1 / -1 !important;
  }
  .footer-bottom-left,
  .footer-bottom-right {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
  }
  .footer-bottom-left {
    color: var(--text-muted) !important;
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 11.5px !important;
  }
  .footer-bottom-right {
    color: var(--text-secondary) !important;
  }
  .footer-bottom a {
    color: #a7adc0 !important;
    text-decoration: none !important;
    border-bottom: 1px dotted transparent !important;
    transition: color .2s, border-color .2s !important;
  }
  .footer-bottom-right a { color: var(--text) !important; }
  .footer-bottom a:hover {
    color: var(--text) !important;
    border-bottom-color: currentColor !important;
  }
  .footer-credit-sep { color: var(--text-muted) !important; opacity: .45 !important; }

  @media (max-width: 1200px) {
    .footer-bottom-left, .footer-bottom-right { font-size: 11px !important; gap: 7px !important; }
  }
  @media (max-width: 980px) {
    .footer-bottom {
      flex-direction: column !important;
      align-items: center !important;
      text-align: center !important;
      gap: 12px !important;
    }
    .footer-bottom-left, .footer-bottom-right {
      flex-wrap: wrap !important;
      justify-content: center !important;
      white-space: normal !important;
    }
  }
  @media (max-width: 600px) {
    .footer-bottom-left .footer-credit-sep,
    .footer-bottom-right .footer-credit-sep { display: none !important; }
    .footer-bottom-left, .footer-bottom-right {
      flex-direction: column !important;
      gap: 6px !important;
    }
  }


  /* --- 8. Ajustement final : baseline du logo nav (le tagline reste au footer) --- */
  nav .logo-tag { display: none !important; }
  nav .logo-name { font-size: 19px !important; }


  /* === Baseline du logo rétabli dans la nav (demande client) === */
  nav .logo-tag {
    display: block !important;
    white-space: nowrap !important;
    font-size: 10.5px !important;
    letter-spacing: 0.14em !important;
  }
  nav .logo-name { font-size: 20px !important; }
  .nav-links { gap: 24px !important; }

  /* En dessous de 1240px le baseline ne tient plus : on le masque */
  @media (max-width: 1240px) {
    nav .logo-tag { display: none !important; }
    nav .logo-name { font-size: 19px !important; }
    .nav-links { gap: 20px !important; }
    .nav-links a { font-size: 13.5px !important; }
  }


  /* === Barre de navigation : largeur et baseline ===
     La barre porte 6 entrées, le bouton d'accessibilité, 2 icônes
     sociales, 2 langues et l'appel à l'action : elle a besoin d'un peu
     plus de largeur que le contenu des pages. */
  nav .nav-inner { max-width: 1340px !important; }

  nav .logo-tag { display: block !important; }
  @media (min-width: 1101px) and (max-width: 1299px) {
    nav .logo-tag { display: none !important; }
  }
  @media (max-width: 1299px) {
    .nav-links { gap: 20px !important; }
    .nav-links a { font-size: 13.5px !important; }
  }
  @media (max-width: 620px) {
    nav .logo-tag { font-size: 9px !important; letter-spacing: 0.1em !important; }
    nav .logo-name { font-size: 18px !important; }
  }

  /* === Drapeaux emoji masqués ===
     Les emoji drapeaux (indicateurs régionaux Unicode) ne s'affichent pas
     sous Windows ni sur Android ancien : le système les rend sous forme de
     deux lettres encadrées (« QA », « TN », « GB »), ce qui ressemble à un
     bug. La ville ou le pays étant toujours nommé juste à côté, aucune
     information n'est perdue en les masquant. */
  .market-flag,
  .about-office-flag,
  .contact-office-flag,
  .office-flag-large,
  .careers-stat-flag,
  .recruitment-stat-flag {
    display: none !important;
  }
