/* PATCH : 1.1.1 — TEST DE CHARGEMENT HEADER GLOBAL */
/* =======================================================
   PiloteCSE — header-pilotecse-global.css
   VERSION : 1.1.0
   DATE    : 2026-05-14
   OBJET   : Header unique et stable sur toutes les pages

   Principe :
   - ce fichier est chargé en dernier depuis functions.php ;
   - il verrouille le header global ;
   - il neutralise les différences entre home, jurisprudence,
     édito, articles, encyclopédie et formations ;
   - il ne gère pas les contenus de page.

   Ne pas gérer ici :
   - les blocs de la home ;
   - les cartes articles ;
   - les pages formation ;
   - les largeurs internes des contenus.
   ======================================================= */


/* =======================================================
   0. Variables globales du header
   ======================================================= */

:root {
  --pcse-header-max-width: 1560px;
  --pcse-header-gutter: 64px;

  --pcse-header-bg: #fafafa;
  --pcse-header-blue: #0b63a8;
  --pcse-header-blue-dark: #07578f;
  --pcse-header-title: #0072b1;
  --pcse-header-text: #111827;

  --pcse-header-logo-size: 78px;
  --pcse-header-topbar-padding-y: 14px;
  --pcse-header-topbar-gap: 30px;

  --pcse-header-search-width: 340px;
  --pcse-header-search-height: 52px;

  --pcse-header-account-height: 66px;

  --pcse-header-menu-height: 42px;
  --pcse-header-menu-font-size: 14.5px;
}


/* =======================================================
   1. Socle global du header
   ======================================================= */

body header.wp-block-template-part,
body .site-header,
body .pcse-header,
body .masthead {
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: var(--pcse-header-bg) !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  position: relative !important;
  z-index: 9000 !important;
  overflow: visible !important;

  box-sizing: border-box !important;
}


/* Neutralisation des décors parasites du header */
body header.wp-block-template-part::before,
body header.wp-block-template-part::after,
body header.wp-block-template-part .header-magazine::before,
body header.wp-block-template-part .header-magazine::after,
body header.wp-block-template-part .header-nav-magazine::before,
body header.wp-block-template-part .header-nav-magazine::after,
body header.wp-block-template-part .pcse-topbar::before,
body header.wp-block-template-part .pcse-topbar::after,
body header.wp-block-template-part .pcse-navbar::before,
body header.wp-block-template-part .pcse-navbar::after {
  content: none !important;
  display: none !important;
}


/* =======================================================
   2. Conteneur haut : logo / titre / recherche / compte
   ======================================================= */

body header.wp-block-template-part .header-magazine,
body header.wp-block-template-part > .wp-block-group,
body header.wp-block-template-part .wp-block-group:has(.pcse-topbar),
body header.wp-block-template-part .pcse-topbar {
  width: min(var(--pcse-header-max-width), calc(100vw - var(--pcse-header-gutter))) !important;
  max-width: var(--pcse-header-max-width) !important;

  margin-left: auto !important;
  margin-right: auto !important;

  box-sizing: border-box !important;
  overflow: visible !important;
}


body header.wp-block-template-part .pcse-topbar,
body header .pcse-topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: var(--pcse-header-topbar-gap) !important;

  padding-top: var(--pcse-header-topbar-padding-y) !important;
  padding-bottom: var(--pcse-header-topbar-padding-y) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;

  min-height: 0 !important;
  height: auto !important;

  background: transparent !important;

  box-sizing: border-box !important;
  overflow: visible !important;
}


body header.wp-block-template-part .pcse-topbar > *,
body header .pcse-topbar > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  align-self: center !important;
  box-sizing: border-box !important;
}


/* =======================================================
   3. Logo : taille unique
   ======================================================= */

body header.wp-block-template-part .pcse-topbar .wp-block-site-logo,
body header.wp-block-template-part .pcse-topbar .custom-logo-link,
body header .pcse-topbar .wp-block-site-logo,
body header .pcse-topbar .custom-logo-link {
  width: var(--pcse-header-logo-size) !important;
  min-width: var(--pcse-header-logo-size) !important;
  max-width: var(--pcse-header-logo-size) !important;
  flex: 0 0 var(--pcse-header-logo-size) !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0 !important;
  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-topbar .wp-block-site-logo img,
body header.wp-block-template-part .pcse-topbar .custom-logo-link img,
body header.wp-block-template-part .pcse-topbar img.custom-logo,
body header.wp-block-template-part .pcse-topbar img[alt*="PiloteCSE" i],
body header.wp-block-template-part .pcse-topbar img[src*="pilotecse" i],
body header .pcse-topbar .wp-block-site-logo img,
body header .pcse-topbar .custom-logo-link img,
body header .pcse-topbar img.custom-logo,
body header .pcse-topbar img[alt*="PiloteCSE" i],
body header .pcse-topbar img[src*="pilotecse" i] {
  display: block !important;

  width: var(--pcse-header-logo-size) !important;
  max-width: var(--pcse-header-logo-size) !important;

  height: auto !important;
  max-height: var(--pcse-header-logo-size) !important;

  object-fit: contain !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  box-shadow: none !important;
}


/* =======================================================
   4. Titre et slogan
   ======================================================= */

body header.wp-block-template-part .wp-block-site-title,
body header.wp-block-template-part .wp-block-site-title a,
body header.wp-block-template-part .site-title,
body header.wp-block-template-part .site-title a,
body header.wp-block-template-part h1.wp-block-site-title,
body header.wp-block-template-part .logo-text,
body header .wp-block-site-title,
body header .wp-block-site-title a,
body header .site-title,
body header .site-title a,
body header h1.wp-block-site-title,
body header .logo-text {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--pcse-header-title) !important;

  font-size: 34px !important;
  line-height: 1.04 !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;

  text-decoration: none !important;
  text-transform: none !important;
}


body header.wp-block-template-part .wp-block-site-tagline,
body header.wp-block-template-part p.wp-block-site-tagline,
body header.wp-block-template-part .site-description,
body header.wp-block-template-part .tagline,
body header .wp-block-site-tagline,
body header p.wp-block-site-tagline,
body header .site-description,
body header .tagline {
  margin: 2px 0 0 !important;
  padding: 0 !important;

  color: var(--pcse-header-text) !important;

  font-size: 15px !important;
  line-height: 1.12 !important;
  font-weight: 750 !important;

  text-transform: none !important;
}


/* =======================================================
   5. Recherche et boutons du header
   ======================================================= */

body header.wp-block-template-part .pcse-topbar .wp-block-search,
body header.wp-block-template-part .pcse-topbar form[role="search"],
body header .pcse-topbar .wp-block-search,
body header .pcse-topbar form[role="search"] {
  width: var(--pcse-header-search-width) !important;
  max-width: var(--pcse-header-search-width) !important;
  flex: 0 0 var(--pcse-header-search-width) !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: center !important;
  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-topbar .wp-block-search__inside-wrapper,
body header .pcse-topbar .wp-block-search__inside-wrapper {
  min-height: var(--pcse-header-search-height) !important;
  height: var(--pcse-header-search-height) !important;
  max-height: var(--pcse-header-search-height) !important;

  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  border: 1px solid #8f969d !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  box-shadow: none !important;
  outline: 0 !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-topbar .wp-block-search__input,
body header.wp-block-template-part .pcse-topbar input[type="search"],
body header.wp-block-template-part .pcse-topbar .search-field,
body header .pcse-topbar .wp-block-search__input,
body header .pcse-topbar input[type="search"],
body header .pcse-topbar .search-field {
  min-height: calc(var(--pcse-header-search-height) - 2px) !important;
  height: calc(var(--pcse-header-search-height) - 2px) !important;
  max-height: calc(var(--pcse-header-search-height) - 2px) !important;

  margin: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;

  font-size: 15px !important;
  line-height: calc(var(--pcse-header-search-height) - 2px) !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-topbar .wp-block-search__button,
body header.wp-block-template-part .pcse-topbar button[type="submit"],
body header .pcse-topbar .wp-block-search__button,
body header .pcse-topbar button[type="submit"] {
  min-height: calc(var(--pcse-header-search-height) - 2px) !important;
  height: calc(var(--pcse-header-search-height) - 2px) !important;

  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-topbar .wp-block-buttons,
body header.wp-block-template-part .pcse-topbar .pcse-account-hub,
body header .pcse-topbar .wp-block-buttons,
body header .pcse-topbar .pcse-account-hub {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 14px !important;

  margin: 0 !important;
  padding: 0 !important;

  min-height: var(--pcse-header-account-height) !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-topbar .wp-block-button__link,
body header.wp-block-template-part .pcse-topbar .wp-block-button a,
body header.wp-block-template-part .pcse-topbar .pcse-account-hub a,
body header.wp-block-template-part .pcse-topbar button,
body header .pcse-topbar .wp-block-button__link,
body header .pcse-topbar .wp-block-button a,
body header .pcse-topbar .pcse-account-hub a,
body header .pcse-topbar button {
  min-height: var(--pcse-header-account-height) !important;
  height: var(--pcse-header-account-height) !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;
}


/* =======================================================
   6. Barre bleue du menu : même structure partout
   ======================================================= */

body header.wp-block-template-part .header-nav-magazine,
body header .header-nav-magazine {
  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  min-height: var(--pcse-header-menu-height) !important;
  height: var(--pcse-header-menu-height) !important;
  max-height: var(--pcse-header-menu-height) !important;

  padding: 0 !important;

  background: var(--pcse-header-blue) !important;
  background-color: var(--pcse-header-blue) !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: inset 0 -4px 0 var(--pcse-header-blue-dark) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  z-index: 9100 !important;
  overflow: visible !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-navbar,
body header.wp-block-template-part .pcse-navbar.wp-block-navigation,
body header .pcse-navbar,
body header .pcse-navbar.wp-block-navigation,
body header nav.pcse-navbar {
  width: auto !important;
  max-width: none !important;

  margin: 0 auto !important;
  padding: 0 !important;

  min-height: var(--pcse-header-menu-height) !important;
  height: var(--pcse-header-menu-height) !important;
  max-height: var(--pcse-header-menu-height) !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  position: relative !important;
  z-index: 9200 !important;
  overflow: visible !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-navbar .wp-block-navigation__responsive-container,
body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__responsive-container,
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__responsive-container-content,
body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__responsive-container-content,
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container,
body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__container,
body header .pcse-navbar .wp-block-navigation__responsive-container,
body header .pcse-navbar.wp-block-navigation .wp-block-navigation__responsive-container,
body header .pcse-navbar .wp-block-navigation__responsive-container-content,
body header .pcse-navbar.wp-block-navigation .wp-block-navigation__responsive-container-content,
body header .pcse-navbar .wp-block-navigation__container,
body header .pcse-navbar.wp-block-navigation .wp-block-navigation__container {
  min-height: var(--pcse-header-menu-height) !important;
  height: var(--pcse-header-menu-height) !important;
  max-height: var(--pcse-header-menu-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 0.45rem !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


/* Liens de premier niveau */
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item,
body header .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item {
  min-height: var(--pcse-header-menu-height) !important;
  height: var(--pcse-header-menu-height) !important;
  max-height: var(--pcse-header-menu-height) !important;

  display: flex !important;
  align-items: center !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > a,
body header .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
body header .pcse-navbar.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
body header .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > a {
  min-height: var(--pcse-header-menu-height) !important;
  height: var(--pcse-header-menu-height) !important;
  max-height: var(--pcse-header-menu-height) !important;

  margin: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0.85rem !important;
  padding-right: 0.85rem !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #ffffff !important;
  background: transparent !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  font-size: var(--pcse-header-menu-font-size) !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  letter-spacing: 0.01em !important;

  text-decoration: none !important;
  white-space: nowrap !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-navbar .wp-block-navigation-item__label,
body header .pcse-navbar .wp-block-navigation-item__label {
  color: #ffffff !important;

  font-size: var(--pcse-header-menu-font-size) !important;
  line-height: 1 !important;
  font-weight: 750 !important;

  transform: none !important;
  display: inline-block !important;
}


/* Hover et élément courant */
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > a:hover,
body header .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
body header .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > a:hover,
body header.wp-block-template-part .pcse-navbar .current-menu-item > a,
body header .pcse-navbar .current-menu-item > a {
  color: #ffffff !important;
  background: transparent !important;

  text-decoration: underline !important;
  text-underline-offset: 5px !important;
}


/* =======================================================
   7. Sous-menus
   ======================================================= */

body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container,
body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container,
body header .pcse-navbar .wp-block-navigation__submenu-container,
body header .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  min-width: 270px !important;

  margin: 0 !important;
  padding: 0.45rem !important;

  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;

  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;

  box-shadow: 0 12px 30px rgba(15, 41, 64, 0.15) !important;

  z-index: 99999 !important;
  overflow: visible !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container a,
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
body header .pcse-navbar .wp-block-navigation__submenu-container a,
body header .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: block !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  padding: 0.60rem 0.75rem !important;

  color: #0f2940 !important;
  background: transparent !important;

  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  white-space: nowrap !important;
  text-decoration: none !important;

  border-radius: 10px !important;

  box-sizing: border-box !important;
}


body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container a:hover,
body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
body header .pcse-navbar .wp-block-navigation__submenu-container a:hover,
body header .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  color: #ffffff !important;
  background: #094f86 !important;
}


/* =======================================================
   8. Neutralisation explicite des anciennes corrections home
   ======================================================= */

/*
   Ces règles servent à empêcher home-pilotecse-2026.css
   de garder une variante de header différente.
*/

body:has(.pcse-home-v2026) header.wp-block-template-part,
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-topbar,
body:has(.pcse-home-v2026) header.wp-block-template-part .header-nav-magazine,
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-navbar,
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-navbar.wp-block-navigation {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-topbar {
  padding-top: var(--pcse-header-topbar-padding-y) !important;
  padding-bottom: var(--pcse-header-topbar-padding-y) !important;
}


body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-navbar,
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-navbar.wp-block-navigation,
body:has(.pcse-home-v2026) header.wp-block-template-part .header-nav-magazine {
  height: var(--pcse-header-menu-height) !important;
  min-height: var(--pcse-header-menu-height) !important;
  max-height: var(--pcse-header-menu-height) !important;
}


body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-topbar input[type="search"],
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-topbar .search-field,
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-topbar .wp-block-search__input {
  height: calc(var(--pcse-header-search-height) - 2px) !important;
  min-height: calc(var(--pcse-header-search-height) - 2px) !important;
  max-height: calc(var(--pcse-header-search-height) - 2px) !important;
}


/* =======================================================
   9. Responsive
   ======================================================= */

@media (max-width: 1100px) {
  :root {
    --pcse-header-gutter: 32px;
    --pcse-header-topbar-gap: 18px;
    --pcse-header-logo-size: 70px;
    --pcse-header-search-width: 320px;
  }

  body header.wp-block-template-part .pcse-topbar,
  body header .pcse-topbar {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  body header.wp-block-template-part .pcse-topbar .wp-block-search,
  body header .pcse-topbar .wp-block-search {
    flex: 0 1 var(--pcse-header-search-width) !important;
    width: var(--pcse-header-search-width) !important;
    max-width: 100% !important;
  }
}


@media (max-width: 760px) {
  :root {
    --pcse-header-gutter: 24px;
    --pcse-header-logo-size: 64px;
    --pcse-header-menu-height: auto;
    --pcse-header-search-width: 100%;
    --pcse-header-account-height: 48px;
  }

  body header.wp-block-template-part .pcse-topbar,
  body header .pcse-topbar {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body header.wp-block-template-part .header-nav-magazine,
  body header .header-nav-magazine,
  body header.wp-block-template-part .pcse-navbar,
  body header.wp-block-template-part .pcse-navbar.wp-block-navigation,
  body header .pcse-navbar,
  body header .pcse-navbar.wp-block-navigation {
    min-height: 42px !important;
    height: auto !important;
    max-height: none !important;
  }

  body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container,
  body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__container,
  body header .pcse-navbar .wp-block-navigation__container,
  body header .pcse-navbar.wp-block-navigation .wp-block-navigation__container {
    height: auto !important;
    max-height: none !important;
    flex-wrap: wrap !important;
  }
}
/* =======================================================
   PiloteCSE — header-pilotecse-global.css
   PATCH REEL : 1.1.2
   DATE       : 2026-05-14
   OBJET      : normalisation des conteneurs WordPress du header

   Diagnostic console :
   - les hauteurs sont déjà cohérentes ;
   - les différences viennent des wrappers WordPress :
     .header-magazine, .has-global-padding, .alignwide,
     .is-layout-constrained ;
   - ce patch force le même cadre de départ pour home,
     jurisprudences, articles et éditos.
   ======================================================= */


/* =======================================================
   1. Header : cadre général identique
   ======================================================= */

html body header.wp-block-template-part {
  width: 100% !important;
  max-width: none !important;

  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  background: #fafafa !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


/* =======================================================
   2. Wrapper du header : sortie propre des contraintes WP
   ======================================================= */

html body header.wp-block-template-part .header-magazine,
html body header.wp-block-template-part .header-magazine.alignwide,
html body header.wp-block-template-part .header-magazine.has-global-padding,
html body header.wp-block-template-part > .wp-block-group {
  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  background: #fafafa !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


/* =======================================================
   3. Topbar : largeur interne unique
   ======================================================= */

html body header.wp-block-template-part .pcse-topbar {
  width: min(1560px, calc(100vw - 64px)) !important;
  max-width: 1560px !important;

  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-top: 14px !important;
  padding-bottom: 14px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 30px !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


/* =======================================================
   4. Barre bleue : pleine largeur réelle
   ======================================================= */

html body header.wp-block-template-part .header-nav-magazine,
html body header.wp-block-template-part .header-nav-magazine.alignwide,
html body header.wp-block-template-part .header-nav-magazine.has-background {
  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;

  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  background: #0b63a8 !important;
  background-color: #0b63a8 !important;
  background-image: none !important;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: inset 0 -4px 0 #07578f !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


/* =======================================================
   5. Menu : centré dans la barre bleue
   ======================================================= */

html body header.wp-block-template-part .pcse-navbar,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation {
  width: fit-content !important;
  max-width: none !important;

  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;

  padding: 0 !important;

  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  background: transparent !important;
  background-image: none !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__responsive-container-content,
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  box-sizing: border-box !important;
}


html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container > .wp-block-navigation-item > a {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;

  padding-top: 0 !important;
  padding-bottom: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;
}


/* =======================================================
   6. Suppression des marges parasites entre header et contenu
   ======================================================= */

html body .wp-site-blocks > header.wp-block-template-part + main,
html body .wp-site-blocks > header.wp-block-template-part + .wp-block-group,
html body main.wp-block-group {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}


/* =======================================================
   7. Responsive
   ======================================================= */

@media (max-width: 1100px) {
  html body header.wp-block-template-part .pcse-topbar {
    width: calc(100vw - 32px) !important;
    gap: 18px !important;
  }
}

@media (max-width: 760px) {
  html body header.wp-block-template-part .pcse-topbar {
    width: calc(100vw - 24px) !important;
    flex-wrap: wrap !important;
  }

  html body header.wp-block-template-part .header-nav-magazine,
  html body header.wp-block-template-part .pcse-navbar,
  html body header.wp-block-template-part .pcse-navbar.wp-block-navigation,
  html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__container {
    height: auto !important;
    max-height: none !important;
  }
}
/* =======================================================
   PiloteCSE — header-pilotecse-global.css
   PATCH REEL : 1.1.3
   DATE       : 2026-05-14
   OBJET      : micro-alignement vertical de la home
               sur les pages jurisprudence / édito

   Diagnostic :
   - jurisprudence et édito sont désormais alignés ;
   - seule la home reste légèrement plus basse ;
   - correction limitée à la home uniquement.
   ======================================================= */

body.home header.wp-block-template-part .pcse-topbar,
body:has(.pcse-home-v2026) header.wp-block-template-part .pcse-topbar {
  transform: translateY(-2px) !important;
}

body.home header.wp-block-template-part .header-nav-magazine,
body:has(.pcse-home-v2026) header.wp-block-template-part .header-nav-magazine {
  transform: translateY(-2px) !important;
}
/* =======================================================
   PiloteCSE — header-pilotecse-global.css
   PATCH REEL : 1.1.4
   DATE       : 2026-05-14
   OBJET      : restauration de la lisibilité des menus déroulants

   Diagnostic :
   - le panneau du sous-menu s'affiche ;
   - les liens semblent invisibles sur fond blanc ;
   - correction limitée aux sous-menus du header.
   ======================================================= */


/* Conteneur du sous-menu */
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container {
  display: block !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  min-width: 270px !important;

  padding: 8px !important;
  margin: 0 !important;

  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;

  border: 1px solid #d8e6f2 !important;
  border-radius: 12px !important;

  box-shadow: 0 14px 28px rgba(5, 43, 85, 0.14) !important;

  overflow: visible !important;
  z-index: 99999 !important;

  box-sizing: border-box !important;
}


/* Items internes du sous-menu */
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item {
  display: block !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  visibility: visible !important;
  opacity: 1 !important;

  box-sizing: border-box !important;
}


/* Liens des sous-menus */
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container a,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container a {
  display: block !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  width: 100% !important;

  padding: 10px 14px !important;
  margin: 0 !important;

  color: #052b55 !important;
  background: transparent !important;

  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  text-decoration: none !important;
  white-space: nowrap !important;

  visibility: visible !important;
  opacity: 1 !important;

  border-radius: 10px !important;

  box-sizing: border-box !important;
}


/* Texte interne des liens de sous-menu */
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__label,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
  color: #052b55 !important;

  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;

  visibility: visible !important;
  opacity: 1 !important;

  transform: none !important;
}


/* Survol des sous-menus */
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container a:hover,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container a:hover {
  color: #ffffff !important;
  background: #0b63a8 !important;
}


/* Texte au survol */
html body header.wp-block-template-part .pcse-navbar .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
html body header.wp-block-template-part .pcse-navbar.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
  color: #ffffff !important;
}
/* =======================================================
   PiloteCSE — header-pilotecse-global.css
   PATCH REEL : 1.1.5
   DATE       : 2026-05-14
   OBJET      : augmentation maîtrisée du logo header

   Principe :
   - ne modifie pas la structure du header ;
   - ne touche pas au menu ;
   - ne touche pas aux largeurs ;
   - agit uniquement sur la variable de taille du logo.
   ======================================================= */

/* Desktop large */
:root {
  --pcse-header-logo-size: 88px;
}

/* Écrans intermédiaires : éviter de casser l’alignement */
@media (max-width: 1100px) {
  :root {
    --pcse-header-logo-size: 78px;
  }
}

/* Mobile : on garde une taille raisonnable */
@media (max-width: 760px) {
  :root {
    --pcse-header-logo-size: 64px;
  }
}
/* =======================================================
   PiloteCSE — header-pilotecse-global.css
   PATCH REEL : 1.1.6
   DATE       : 2026-05-14
   OBJET      : augmentation supplémentaire du logo header
   ======================================================= */

/* Desktop large */
:root {
  --pcse-header-logo-size: 98px;
}

/* Écrans intermédiaires */
@media (max-width: 1100px) {
  :root {
    --pcse-header-logo-size: 88px;
  }
}

/* Mobile : on garde une taille raisonnable */
@media (max-width: 760px) {
  :root {
    --pcse-header-logo-size: 68px;
  }
}