/* ===================================================================
   V4 OVERRIDES — chargé APRÈS style.css dans <head> de base.html.
   Objectif : forcer la charte pro sur header/footer, sans FOUC ni
   perturbation du reste du code hérité V3.
   =================================================================== */

/* --------------- HEADER : fond ivoire clair --------------- */
.site-header {
  background: #faf7ec !important;
  border-top: 1px solid rgba(201,162,39,0.55) !important;
  border-bottom: 1px solid rgba(201,162,39,0.35) !important;
  box-shadow: 0 4px 14px rgba(13,45,90,0.05) !important;
}

/* Neutralisation stricte des liserés dorés hérités (background + box-shadow) */
.site-header .gold-line,
.site-header .gold-line-top,
.site-header .gold-line-bottom {
  background: transparent !important;
  box-shadow: none !important;
  height: 0 !important;
  display: none !important;
}

/* Nav en marine sur fond clair */
.site-header .main-nav,
.site-header .nav-container {
  background: transparent !important;
}
.site-header .nav-menu a {
  color: #0d2d5a !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-shadow: none !important;
  transition: color 0.15s !important;
}
.site-header .nav-menu a:hover {
  color: #c9a227 !important;
}

/* Petits liens admin/CGP à droite, en gris sobre bordé */
.site-header .nav-admin-links a {
  color: #6b7280 !important;
  border: 1px solid rgba(107,114,128,0.4) !important;
  background: transparent !important;
  font-size: 10.5px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 5px 10px !important;
  transition: color 0.15s, border-color 0.15s !important;
}
.site-header .nav-admin-links a:hover {
  color: #0d2d5a !important;
  border-color: #0d2d5a !important;
}

/* Liserés autour du logo central (héritage V3) — neutralisation */
.site-header .logo-line,
.site-header .logo-line-top,
.site-header .logo-line-bottom {
  background: transparent !important;
  box-shadow: none !important;
  height: 0 !important;
  display: none !important;
}

/* Logo : retirer le halo doré drop-shadow qui donne un effet d'étirement */
.site-header .nav-logo {
  filter: none !important;
  height: 64px !important;   /* taille fixe raisonnable */
  width: auto !important;
  max-width: 260px !important;
  display: block !important;
}
.site-header .logo-wrapper {
  gap: 0 !important;
}
@media (max-width: 768px) {
  .site-header .nav-logo {
    height: 52px !important;
    max-height: 52px !important;
    max-width: 200px !important;
  }
}

/* Entrée « ESPACE conseillers » sur fond clair */
.site-header .nav-cgp {
  color: #0d2d5a !important;
  border: 1px solid #c9a227 !important;
  background: transparent !important;
  text-shadow: none !important;
}
.site-header .nav-cgp .nav-cgp-label {
  color: #c9a227 !important;
}
.site-header .nav-cgp:hover {
  background: #c9a227 !important;
  color: #fff !important;
}
.site-header .nav-cgp:hover .nav-cgp-label {
  color: #fff !important;
}

/* Overlay burger mobile en fond ivoire */
#mobile-nav-overlay {
  background: #faf7ec !important;
  border-bottom: 1px solid rgba(201,162,39,0.55) !important;
}
#mobile-nav-list a {
  color: #0d2d5a !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
}
#mobile-nav-list a:active,
#mobile-nav-list a:hover {
  color: #c9a227 !important;
}
#mobile-nav-list li {
  border-bottom-color: rgba(13,45,90,0.08) !important;
}
.mobile-nav-cgp a {
  color: #c9a227 !important;
  border-top-color: rgba(201,162,39,0.4) !important;
  border-bottom-color: rgba(201,162,39,0.4) !important;
}
#mobile-nav-admin {
  border-top-color: rgba(201,162,39,0.4) !important;
}
#mobile-nav-admin a {
  color: #6b7280 !important;
  border-color: rgba(107,114,128,0.4) !important;
}

/* Blocs dépliés mobile-open — fond ivoire aussi */
@media (max-width: 768px) {
  .nav-container.mobile-open .nav-left,
  .nav-container.mobile-open .nav-right,
  .nav-container.mobile-open .nav-admin-links {
    background: #faf7ec !important;
    border-bottom-color: rgba(201,162,39,0.4) !important;
  }
  .nav-container.mobile-open .nav-menu a { color: #0d2d5a !important; }
}

/* --------------- FOOTER : accord marine + or --------------- */
/* Neutraliser la règle héritée style.css .site-footer { background: var(--color-navy); } */
.site-footer.v4-footer {
  background: #0d2d5a !important;   /* fond plat marine (pas de dégradé) */
  color: #cfd4e0 !important;
  padding: 56px 0 0 !important;
  border-top: none !important;
}

/* La barre or au-dessus du footer (élément séparé pour être sûr qu'elle n'est pas mangée) */
.v4-footer-goldbar {
  height: 4px !important;
  background: linear-gradient(90deg,
    rgba(201,162,39,0.15) 0%,
    #c9a227 15%,
    #d4af37 50%,
    #c9a227 85%,
    rgba(201,162,39,0.15) 100%) !important;
  box-shadow: 0 0 12px rgba(201,162,39,0.35) !important;
  margin: 0 !important;
  border: none !important;
}

/* Footer inner grille */
.v4-footer .v4-footer-inner {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 4vw, 40px) 40px !important;
  display: grid !important;
  grid-template-columns: 1.3fr 2fr !important;
  gap: clamp(28px, 5vw, 64px) !important;
  align-items: start !important;
}
@media (max-width: 720px) {
  .v4-footer .v4-footer-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
}

/* Burger mobile : marine sur fond ivoire au lieu de blanc invisible */
.site-header .mobile-menu-toggle .hamburger,
.site-header .mobile-menu-toggle .hamburger::before,
.site-header .mobile-menu-toggle .hamburger::after {
  background: #0d2d5a !important;
}


/* --------------- BODY : forcer ivoire pour V4 --------------- */
/* Le body herit de style.css avec fond marine (--color-navy=#0d1b2a).
   En V4, on force ivoire pour eviter la bande marine visible a gauche
   et a droite des sections quand la fenetre depasse la largeur du contenu
   (Sullivan 06/07/2026 — bug PC signale). */
body {
  background: #faf7ec !important;
}

/* --------------- NAV HEADER : eviter debordement PC --------------- */
/* Bugs signales par Sullivan 06/07/2026 :
   - 1er lien nav (Defiscalisation) rogne a gauche sur PC ~1440px
   - Boutons Admin/CGP trop eloignes de Contact
   Cause : .main-nav max-width=1400 + gap=3rem + margin-left=1rem sur admin-links
   Fix : elargir main-nav a viewport, reduire gap, rapprocher admin-links. */
.site-header .main-nav {
  max-width: 100% !important;
  padding: 1rem clamp(16px, 3vw, 40px) !important;
}
.site-header .nav-container {
  gap: 1.75rem !important;
  max-width: 1600px;
  margin: 0 auto;
}
.site-header .nav-menu.nav-left,
.site-header .nav-menu.nav-right {
  gap: 1.1rem !important;
}
.site-header .nav-admin-links {
  margin-left: 0.5rem !important;
  gap: 0.4rem !important;
}

/* --------------- NAV : compact 1366px (Sullivan 08/07) --------------- */
.site-header .nav-container {
  gap: 1.1rem !important;
}
.site-header .nav-menu.nav-left,
.site-header .nav-menu.nav-right {
  gap: 0.75rem !important;
}
.site-header .nav-menu a {
  font-size: 0.82rem !important;
}
.site-header .nav-admin-links {
  margin-left: 0.3rem !important;
  gap: 0.3rem !important;
}
.site-header .nav-admin-links a {
  padding: 4px 7px !important;
  letter-spacing: 0.8px !important;
  font-size: 9.5px !important;
}
.site-header .nav-cgp {
  padding: 4px 10px !important;
}
.site-header .nav-cgp,
.site-header .nav-cgp .nav-cgp-label {
  font-size: 0.82rem !important;
}
.logo-link {
  margin: 0 0.75rem !important;
}

/* --------------- NAV : refonte 08/07 (equilibre) --------------- */
/* CTA Partenariat CGP : bouton d action, fond creme + bordure or */
.site-header .nav-cta-cgp {
  display: flex;
  align-items: center;
  margin-left: 0.5rem;
}
.site-header .nav-cta-cgp .nav-cgp-btn {
  display: inline-block;
  background: linear-gradient(180deg, #fffbe9 0%, #faf3d3 100%) !important;
  border: 1.5px solid #c9a227 !important;
  color: #0d2d5a !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 7px 16px !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  white-space: nowrap;
}
.site-header .nav-cta-cgp .nav-cgp-btn:hover {
  background: #c9a227 !important;
  color: #fff !important;
}

/* Liens persos : encore plus discrets (gris pale, sans bordure) */
.site-header .nav-admin-links {
  margin-left: 1rem !important;
  gap: 0.5rem !important;
  align-items: center;
}
.site-header .nav-admin-links a {
  color: #9ca3af !important;
  border: none !important;
  background: transparent !important;
  padding: 4px 2px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border-bottom: 1px dotted transparent !important;
  transition: color 0.15s, border-color 0.15s !important;
}
.site-header .nav-admin-links a:hover {
  color: #0d2d5a !important;
  border-bottom-color: #c9a227 !important;
}

/* Fix flex order : CTA CGP entre nav-right et persos */
.site-header .nav-cta-cgp { order: 4 !important; }
.site-header .nav-admin-links { order: 5 !important; }
.site-header .mobile-menu-toggle { order: 6 !important; }

/* --------------- NAV DROPDOWN condense (Laurent 08/07) --------------- */
.site-header .nav-dropdown {
  position: relative;
  list-style: none;
}
.site-header .nav-dropdown-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: #0d2d5a;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 0.9rem;
  font-weight: 700;
  padding: 6px 10px;
  cursor: pointer;
  letter-spacing: 0.01em;
  transition: color 0.15s;
}
.site-header .nav-dropdown-trigger:hover,
.site-header .nav-dropdown-trigger[aria-expanded="true"] {
  color: #c9a227;
}
.site-header .nav-dropdown-caret {
  font-size: 0.7em;
  transition: transform 0.2s;
  display: inline-block;
}
.site-header .nav-dropdown-trigger[aria-expanded="true"] .nav-dropdown-caret {
  transform: rotate(180deg);
}
.site-header .nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid rgba(201,162,39,0.5);
  border-top: 3px solid #c9a227;
  box-shadow: 0 8px 24px rgba(13,45,90,0.15);
  padding: 8px 0;
  margin: 0;
  list-style: none;
  z-index: 1500;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
}
/* Ouvert : hover, focus clavier, ou aria-expanded=true (JS mobile/tap) */
.site-header .nav-dropdown:hover .nav-dropdown-menu,
.site-header .nav-dropdown:focus-within .nav-dropdown-menu,
.site-header .nav-dropdown-trigger[aria-expanded="true"] + .nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.site-header .nav-dropdown-menu li {
  margin: 0;
  padding: 0;
}
.site-header .nav-dropdown-menu a {
  display: block;
  padding: 9px 18px;
  color: #0d2d5a !important;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 0.9rem;
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: background 0.12s, border-left-color 0.12s, color 0.12s;
}
.site-header .nav-dropdown-menu a:hover,
.site-header .nav-dropdown-menu a:focus {
  background: #faf7ec;
  border-left-color: #c9a227;
  color: #c9a227 !important;
  outline: none;
}

/* --------------- Trigger = meme graphisme que Partenariat CGP --------------- */
.site-header .nav-dropdown-trigger {
  background: linear-gradient(180deg, #fffbe9 0%, #faf3d3 100%) !important;
  border: 1.5px solid #c9a227 !important;
  color: #0d2d5a !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 7px 16px !important;
  cursor: pointer !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.15s, color 0.15s !important;
}
.site-header .nav-dropdown-trigger:hover,
.site-header .nav-dropdown-trigger[aria-expanded="true"] {
  background: #c9a227 !important;
  color: #fff !important;
}
.site-header .nav-dropdown-trigger[aria-expanded="true"] .nav-dropdown-caret {
  color: #fff !important;
}

/* --------------- MOBILE : dropdown remplace burger --------------- */
@media (max-width: 768px) {
  /* Cacher burger + overlay burger */
  .site-header .mobile-menu-toggle,
  #mobile-nav-overlay,
  #mobile-nav-list,
  #mobile-nav-admin { display: none !important; }

  /* Header en pile : logo, 2 boutons cote a cote, persos */
  .site-header .main-nav {
    padding: 0.5rem 1rem !important;
  }
  .site-header .nav-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  /* Logo en haut */
  .site-header .logo-link {
    order: 1 !important;
    margin: 0 !important;
    display: block !important;
    position: static !important;
    transform: none !important;
  }
  .site-header .nav-logo {
    height: 48px !important;
    max-height: 48px !important;
    width: auto !important;
    max-width: none !important;
  }

  /* Rangee des 2 boutons dores : Girardin + Partenariat CGP */
  .site-header .nav-left {
    order: 2 !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    background: transparent !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    flex-direction: row !important;
  }
  .site-header .nav-left .nav-dropdown {
    display: block !important;
  }
  .site-header .nav-cta-cgp {
    order: 3 !important;
    margin: 0 !important;
  }
  /* Alignement des 2 boutons cote a cote */
  .site-header .nav-container > .nav-left,
  .site-header .nav-container > .nav-cta-cgp {
    display: inline-flex !important;
  }
  /* Force les 2 sur meme ligne via un wrapper visuel */
  .site-header .nav-container {
    align-items: stretch !important;
  }

  /* Dropdown menu : plein largeur mobile, sous le trigger */
  .site-header .nav-dropdown-menu {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(-6px) !important;
    top: calc(100% + 4px) !important;
    width: calc(100vw - 24px) !important;
    max-width: 340px !important;
    min-width: 0 !important;
    z-index: 1500 !important;
  }
  .site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header .nav-dropdown:focus-within .nav-dropdown-menu,
  .site-header .nav-dropdown-trigger[aria-expanded="true"] + .nav-dropdown-menu {
    transform: translateX(-50%) translateY(0) !important;
  }

  /* Persos Admin/CGP en bas discret */
  .site-header .nav-admin-links {
    order: 4 !important;
    margin: 4px 0 0 !important;
    display: flex !important;
    gap: 0.75rem !important;
    justify-content: center !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    position: static !important;
  }
}

/* --------------- MOBILE FIX 08/07 : cacher burger + layout propre --------------- */
@media (max-width: 768px) {
  /* Cacher burger avec specificite max (bat les selecteurs internes) */
  .site-header .main-nav .nav-container .mobile-menu-toggle,
  .site-header .main-nav .mobile-menu-toggle,
  .mobile-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    left: -9999px !important;
  }

  /* Container : logo en haut, boutons rangee milieu, persos en bas */
  .site-header .main-nav .nav-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 8px 0 !important;
    width: 100% !important;
  }

  /* Logo tout en haut */
  .site-header .logo-link {
    order: 1 !important;
    display: block !important;
    position: static !important;
    margin: 0 !important;
    transform: none !important;
    text-align: center !important;
  }

  /* Rangee 2 : les 2 boutons dores cote a cote */
  .site-header .nav-left {
    order: 2 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
  }
  .site-header .nav-cta-cgp {
    order: 3 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  /* Alterner order pour mettre les 2 boutons cote a cote via flex-wrap sur le container */
  /* Approche : container en column MAIS les 2 boutons dans un flex-row */

  /* Persos en bas */
  .site-header .nav-admin-links {
    order: 4 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: none !important;
  }
  .site-header .nav-admin-links a {
    font-size: 9px !important;
    padding: 2px 4px !important;
  }

  /* Boutons dores un peu plus compacts sur mobile */
  .site-header .nav-dropdown-trigger,
  .site-header .nav-cta-cgp .nav-cgp-btn {
    font-size: 0.78rem !important;
    padding: 6px 12px !important;
  }
}

/* Wrap trigger + CTA CGP sur meme rangee mobile via une astuce order equal + wrap */
@media (max-width: 768px) {
  .site-header .main-nav .nav-container {
    flex-wrap: wrap !important;
  }
  .site-header .nav-left,
  .site-header .nav-cta-cgp {
    order: 2 !important;
    flex: 0 0 auto !important;
  }
}

/* --------------- MOBILE : 2 boutons cote a cote sur meme rangee --------------- */
@media (max-width: 768px) {
  .site-header .main-nav .nav-container {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
  }
  /* Logo prend 100% -> force les boutons a passer sur nouvelle ligne */
  .site-header .logo-link { flex: 0 0 100% !important; }
  /* Rangee des 2 boutons */
  .site-header .nav-left,
  .site-header .nav-cta-cgp { flex: 0 0 auto !important; }
  /* Persos sur 100% en bas */
  .site-header .nav-admin-links { flex: 0 0 100% !important; }
}

/* --------------- Egaliser largeur des 2 boutons dores --------------- */
.site-header .nav-dropdown-trigger,
.site-header .nav-cta-cgp .nav-cgp-btn {
  min-width: 250px !important;
  text-align: center !important;
  justify-content: center !important;
}

/* Mobile : 2 boutons partagent la row (flex 1) pour rester cote a cote */
@media (max-width: 768px) {
  .site-header .nav-dropdown-trigger,
  .site-header .nav-cta-cgp .nav-cgp-btn {
    min-width: 0 !important;
    width: 100% !important;
  }
  .site-header .nav-left,
  .site-header .nav-cta-cgp {
    flex: 1 1 0 !important;
    max-width: calc(50% - 4px) !important;
  }
}

/* --------------- ACCORDEON V4 (portage V3, CSS ivoire/marine/or) --------------- */
.v4 .accordion-section {
  background: #faf7ec !important;
  padding: clamp(56px, 8vw, 88px) 0 !important;
  border-top: 1px solid rgba(201,162,39,0.35) !important;
  border-bottom: 1px solid rgba(201,162,39,0.35) !important;
}
.v4 .accordion-container {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 4vw, 40px) !important;
}
.v4 .accordion-section .section-title {
  font-family: 'Libre Baskerville', Georgia, serif !important;
  color: #0d2d5a !important;
  text-align: center !important;
  font-size: clamp(1.35rem, 2.6vw, 1.7rem) !important;
  font-weight: 700 !important;
  margin: 0 0 36px !important;
}
.v4 .accordion {
  gap: 10px !important;
}
.v4 .accordion details {
  background: #fff !important;
  border: 1px solid rgba(13,45,90,0.10) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  transition: border-color 0.18s !important;
}
.v4 .accordion details:hover {
  border-color: rgba(201,162,39,0.5) !important;
}
.v4 .accordion details[open] {
  border-color: #c9a227 !important;
  border-left-width: 3px !important;
}
.v4 .accordion summary {
  font-family: 'Libre Baskerville', Georgia, serif !important;
  padding: 16px 22px !important;
  font-weight: 700 !important;
  font-size: 0.98rem !important;
  color: #0d2d5a !important;
  cursor: pointer !important;
  list-style: none !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transition: color 0.15s !important;
}
.v4 .accordion summary:hover {
  color: #c9a227 !important;
}
.v4 .accordion summary::-webkit-details-marker { display: none !important; }
.v4 .accordion summary::after {
  content: '+' !important;
  font-size: 1.4rem !important;
  color: #c9a227 !important;
  font-weight: 400 !important;
  transition: transform 0.2s !important;
  margin-left: 1rem !important;
  line-height: 1 !important;
}
.v4 .accordion details[open] summary::after {
  content: '\2212' !important;
  transform: none !important;
}
.v4 .accordion-content {
  padding: 4px 22px 18px !important;
  color: #374151 !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  line-height: 1.7 !important;
  font-size: 0.95rem !important;
}
.v4 .accordion-content p { margin: 0 0 0.8rem !important; }
.v4 .accordion-content strong { color: #0d2d5a !important; font-weight: 700 !important; }
.v4 .accordion-content ul, .v4 .accordion-content ol {
  margin: 0.5rem 0 0.8rem 1.4rem !important;
  padding: 0 !important;
}
.v4 .accordion-content li { margin: 0.35rem 0 !important; }
.v4 .accordion-content a { color: #0d2d5a !important; border-bottom: 1px solid #c9a227 !important; text-decoration: none !important; }
.v4 .accordion-content a:hover { color: #c9a227 !important; }

/* --------------- CGP SIMU CHIP (Piste A) --------------- */
html { scroll-behavior: smooth; }

.cgp-simu-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 20px;
  padding: 8px 18px;
  font-family: 'Libre Baskerville', Georgia, serif;
  font-size: 0.85rem;
  font-weight: 400;
  color: #fff !important;
  background: rgba(201,162,39,0.20);
  border: 1px solid rgba(201,162,39,0.55);
  text-decoration: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  letter-spacing: 0.01em;
}
.cgp-simu-chip:hover {
  background: #c9a227;
  border-color: #c9a227;
  color: #0d2d5a !important;
}

/* --------------- MOBILE : egaliser strictement les 2 boutons dores --------------- */
@media (max-width: 768px) {
  /* Chaque conteneur = 50% de la row */
  .site-header .nav-left,
  .site-header .nav-cta-cgp {
    flex: 1 1 0 !important;
    max-width: calc(50% - 4px) !important;
    display: flex !important;
    align-items: stretch !important;
  }
  /* Le <li> nav-dropdown doit prendre 100% de nav-left */
  .site-header .nav-left .nav-dropdown {
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
  }
  /* Les 2 boutons memes dimensions + memes paddings + memes hauteurs */
  .site-header .nav-dropdown-trigger,
  .site-header .nav-cta-cgp .nav-cgp-btn {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 9px 12px !important;
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* --------------- PAGE HERO : padding + centrage inner --------------- */
/* Bug remonte 08/07 : titre colle au bord gauche PC (page.html). */
.page-hero {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.page-hero-inner {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 clamp(40px, calc(4vw + 44px), 84px) !important;
  box-sizing: border-box;
}
.page-wrap .page-layout {
  padding-left: clamp(20px, 4vw, 40px);
  padding-right: clamp(20px, 4vw, 40px);
  box-sizing: border-box;
}

/* --------------- Alignement hero page.html sur le TEXTE de article --------------- */
/* .page-content article a padding-left 44px + .page-layout padding 40px + offset ~33px
   du grid/container. On aligne le hero sur 117px sur PC (>= 900) et 40 sur mobile. */
@media (min-width: 900px) {
  .page-hero-inner {
    padding-left: 117px !important;
    padding-right: 117px !important;
  }
}
@media (max-width: 899px) {
  .page-hero-inner {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* --------------- HERO : agrement prefectoral (Sullivan 08/07) --------------- */
.v4 .v4-hero .agrement {
  display: block;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 10.5px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #c9a227;
  font-weight: 700;
  margin-top: 12px;
  font-style: normal;
}

/* --------------- HEADER : 4 boutons dores equilibres (Laurent 08/07 v2) --------------- */
/* .nav-dore-btn = style commun 4 boutons dores (Parlons Girardin, Partenariat CGP,
   Votre espace dedie, Nous contacter). Meme largeur, meme graphisme. */
.site-header .nav-dore-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #fffbe9 0%, #faf3d3 100%) !important;
  border: 1.5px solid #c9a227 !important;
  color: #0d2d5a !important;
  font-family: 'Libre Baskerville', Georgia, serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 7px 16px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  min-width: 260px !important;
  text-align: center;
  box-sizing: border-box;
  transition: background 0.15s, color 0.15s !important;
}
.site-header .nav-dore-btn:hover {
  background: #c9a227 !important;
  color: #fff !important;
}

/* nav-left : dropdown + Partenariat CGP */
.site-header .nav-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.site-header .nav-left .nav-cta-lg { list-style: none; }

/* nav-right : Votre espace dedie + Nous contacter */
.site-header .nav-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.site-header .nav-right .nav-cta-rg { list-style: none; }

/* Le trigger dropdown reprend le meme style dore */
.site-header .nav-dropdown-trigger {
  min-width: 260px !important;
}

/* --------------- BIO LAURENT : nouvelle photo agrandie + bouton Admin --------------- */
/* Portrait Laurent 2026 (Saint-Martin, Tipalm) — agrandir cadre + coin discret. */
.v4-bio-photo-frame {
  width: 320px !important;
  height: 400px !important;
  border-radius: 160px / 200px !important;
}
.v4-bio-photo-frame img {
  border-radius: 160px / 200px !important;
  object-position: center 20% !important;  /* cadrer sur le visage */
}
.v4-bio-inner {
  grid-template-columns: 360px 1fr !important;
  gap: clamp(30px, 5vw, 56px) !important;
}
@media (max-width: 780px) {
  .v4-bio-photo-frame { width: 240px !important; height: 300px !important; }
  .v4-bio-inner { grid-template-columns: 1fr !important; }
}

/* Bouton Admin discret dans le bloc CTA bio */
.v4-bio-link.v4-bio-link-admin {
  border-color: rgba(107,114,128,0.4) !important;
  color: #6b7280 !important;
  font-size: 0.85rem !important;
  padding: 9px 16px !important;
}
.v4-bio-link.v4-bio-link-admin:hover {
  border-color: #0d2d5a !important;
  color: #0d2d5a !important;
  background: transparent !important;
}

/* --------------- MOBILE : 4 boutons dores en 2x2, sans debordement --------------- */
@media (max-width: 768px) {
  .site-header .nav-admin-links,
  .site-header .nav-admin-links a { display: none !important; }
  .site-header .nav-cta-cgp { display: none !important; }

  /* Container en column : logo, puis 2x2 boutons */
  .site-header .main-nav .nav-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .site-header .logo-link { order: 1 !important; }
  .site-header .nav-left  { order: 2 !important; }
  .site-header .nav-right { order: 3 !important; }

  /* Chaque row de 2 boutons prend toute la largeur */
  .site-header .nav-left,
  .site-header .nav-right {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .site-header .nav-left li,
  .site-header .nav-right li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: 50% !important;
    list-style: none !important;
    display: flex !important;
  }
  .site-header .nav-dore-btn,
  .site-header .nav-dropdown-trigger {
    min-width: 0 !important;
    width: 100% !important;
    padding: 8px 6px !important;
    font-size: 0.78rem !important;
    box-sizing: border-box !important;
  }
}

/* --------------- Uniformisation 4 boutons + hover lisible (Sullivan 09/07) --------------- */
.site-header .nav-dropdown-trigger,
.site-header .nav-dore-btn {
  font-weight: 700 !important;
  color: #0d2d5a !important;
}
/* Hover : intensifier le fond dore mais garder texte marine LISIBLE */
.site-header .nav-dropdown-trigger:hover,
.site-header .nav-dropdown-trigger[aria-expanded="true"],
.site-header .nav-dore-btn:hover {
  background: linear-gradient(180deg, #faedb0 0%, #f4dc7d 100%) !important;
  border-color: #a68a1f !important;
  color: #0d2d5a !important;
}
.site-header .nav-dropdown-trigger[aria-expanded="true"] .nav-dropdown-caret,
.site-header .nav-dropdown-trigger:hover .nav-dropdown-caret {
  color: #0d2d5a !important;
}

/* --------------- Simulateur : aligner les 2 inputs + entetes G3F --------------- */
.v4-simu-fields {
  align-items: flex-end !important;
}
.v4-simu-fields .v4-simu-field {
  width: 320px !important;
  max-width: 320px !important;
  flex: 0 0 320px !important;
}
.v4-simu-fields .v4-simu-input-wrap,
.v4-simu-fields .v4-simu-input-wrap input {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
.v4-simu-fields > span,
.v4-simu-fields .v4-simu-field > span {
  min-height: 2.6em;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

/* Correction hover boutons dores : preserver contraste texte (Sullivan 09/07 v2) */
.site-header .nav-dropdown-trigger:hover,
.site-header .nav-dropdown-trigger[aria-expanded="true"],
.site-header .nav-dore-btn:hover {
  background: #fffbe9 !important;
  border-color: #0d2d5a !important;
  color: #0d2d5a !important;
  box-shadow: 0 2px 8px rgba(13,45,90,0.15);
}
.site-header .nav-dropdown-trigger[aria-expanded="true"] .nav-dropdown-caret,
.site-header .nav-dropdown-trigger:hover .nav-dropdown-caret {
  color: #c9a227 !important;
}

/* --------------- Alignement HAUT des labels du simulateur (Sullivan 09/07 v3) --------------- */
/* Correction : les 2 titres doivent commencer a la meme hauteur (top-aligned).
   Le label court "Taux de commission CGP" doit s afficher en haut, aligne
   avec la 1ere ligne du label long "Economie d impot souhaitee". */
.v4-simu-fields .v4-simu-field > span {
  min-height: 2.6em !important;
  align-items: flex-start !important;
}
/* Les inputs restent alignes en bas des labels (flex-end sur le container conserve) */
