/* EDOUARGOT - correctif final header stable */

/* La vidéo reste le fond général, mais elle ne doit pas traverser la nav */
html,
body {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.edo-video-ciel0-global,
#video-bg {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  object-fit: cover !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body > *:not(.edo-video-ciel0-global):not(#video-bg) {
  position: relative !important;
  z-index: 1 !important;
}

/* Bande blanche défilante restaurée */
.top-banner {
  position: relative !important;
  width: 100% !important;
  min-height: 42px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #330705 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(51, 7, 5, 0.12) !important;
  z-index: 20 !important;
}

.scrolling-text-wrapper {
  width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
}

.scrolling-text {
  display: inline-block !important;
  white-space: nowrap !important;
  padding-left: 100% !important;
  color: #330705 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 42px !important;
  opacity: 1 !important;
  visibility: visible !important;
  animation: edo-scroll-text-stable 22s linear infinite !important;
}

@keyframes edo-scroll-text-stable {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

.contact-fixed {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #330705 !important;
  font-weight: 700 !important;
  padding: 0 4px !important;
  z-index: 25 !important;
}

.contact-fixed .phone-icon {
  width: auto !important;
  height: 24px !important;
  max-width: 28px !important;
  object-fit: contain !important;
}

/* NAV : fond uni, pas de vidéo visible derrière */
.custom-nav {
  background: #330705 !important;
  background-color: #330705 !important;
  background-image: none !important;
  border-top: 1px solid rgba(245, 192, 99, 0.35) !important;
  border-bottom: 2px solid rgba(245, 192, 99, 0.65) !important;
  box-shadow: 0 8px 20px rgba(51, 7, 5, 0.22) !important;
  position: relative !important;
  z-index: 20 !important;
}

.custom-nav a {
  background: transparent !important;
  color: #FFF6E3 !important;
  border: 1px solid rgba(245, 192, 99, 0.25) !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}

.custom-nav a:hover,
.custom-nav a:focus {
  background: #F5C063 !important;
  color: #330705 !important;
  border-color: rgba(255, 246, 227, 0.9) !important;
}

/* Bouton retour haut : image non déformée */
#scrollToTopButton {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255, 246, 227, 0.95) !important;
  box-shadow: 0 6px 18px rgba(51, 7, 5, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  cursor: pointer !important;
  z-index: 9999 !important;
}

#scrollToTopButton img {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

/* Zones qui doivent laisser voir la vidéo hors nav/bande blanche */
.header-animation,
.content-wrapper,
.actusaccueil,
.actusaccueil-header,
.tabs-content {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* EDOUARGOT NAV SANS GROSSISSEMENT START */
.custom-nav a,
.custom-nav a:hover,
.custom-nav a:focus,
.custom-nav a:active {
  transform: none !important;
  scale: 1 !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.custom-nav a:hover,
.custom-nav a:focus {
  background: #F5C063 !important;
  color: #330705 !important;
  border-color: rgba(255, 246, 227, 0.9) !important;
}
/* EDOUARGOT NAV SANS GROSSISSEMENT END */

/* EDOUARGOT NAV CLAIRE CARREE START */
/* Nav claire, gourmande, sans vidéo visible derrière */
.custom-nav {
  background: #FFF6E3 !important;
  background-color: #FFF6E3 !important;
  background-image: none !important;
  border-top: 1px solid rgba(51, 7, 5, 0.14) !important;
  border-bottom: 3px solid #F5C063 !important;
  box-shadow: 0 6px 18px rgba(51, 7, 5, 0.14) !important;
  position: relative !important;
  z-index: 20 !important;
}

/* Onglets rectangulaires, pas ronds */
.custom-nav a,
.custom-nav a:visited {
  background: #FFFFFF !important;
  color: #330705 !important;
  border: 1px solid rgba(51, 7, 5, 0.18) !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  box-shadow: 0 2px 8px rgba(51, 7, 5, 0.08) !important;
  transform: none !important;
  scale: 1 !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.custom-nav a:hover,
.custom-nav a:focus,
.custom-nav a:active {
  background: #F5C063 !important;
  color: #330705 !important;
  border-color: rgba(51, 7, 5, 0.28) !important;
  border-radius: 8px !important;
  transform: none !important;
  scale: 1 !important;
}
/* EDOUARGOT NAV CLAIRE CARREE END */

/* EDOUARGOT HALO SOLEIL HEADER START */
.edo-header-blog-title {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  isolation: isolate !important;
  animation: edo-sun-title-glow 4.8s ease-in-out infinite !important;
}

.edo-header-blog-title::after {
  content: "" !important;
  position: absolute !important;
  top: -40% !important;
  left: -35% !important;
  width: 26% !important;
  height: 180% !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 246, 227, 0.0) 15%,
    rgba(255, 246, 227, 0.85) 50%,
    rgba(245, 192, 99, 0.55) 68%,
    transparent 100%
  ) !important;
  filter: blur(1px) !important;
  transform: translateX(-160%) rotate(15deg) !important;
  animation: edo-sun-sweep-title 5.6s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

@keyframes edo-sun-title-glow {
  0%, 100% {
    text-shadow:
      0 2px 0 #330705,
      0 0 2px #330705,
      0 0 8px rgba(245, 192, 99, 0.35) !important;
  }

  50% {
    text-shadow:
      0 2px 0 #330705,
      0 0 2px #330705,
      0 0 15px rgba(245, 192, 99, 0.85),
      0 0 28px rgba(255, 246, 227, 0.55) !important;
  }
}

@keyframes edo-sun-sweep-title {
  0%, 18% {
    transform: translateX(-160%) rotate(15deg);
    opacity: 0;
  }

  32% {
    opacity: 1;
  }

  52% {
    transform: translateX(520%) rotate(15deg);
    opacity: 0.95;
  }

  70%, 100% {
    transform: translateX(520%) rotate(15deg);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .edo-header-blog-title,
  .edo-header-blog-title::after {
    animation: none !important;
  }
}
/* EDOUARGOT HALO SOLEIL HEADER END */

/* EDOUARGOT HALO SECOURS HEADER */
.header-animation .edo-header-blog-title {
  font-size: 64px !important;
  text-align: center !important;
  font-family: 'Snailets BRK', sans-serif !important;
  font-weight: 700 !important;
  padding: 35px 0 !important;
  color: #f5c063 !important;
  margin: 0 !important;
  letter-spacing: 0.045em !important;
  text-transform: lowercase !important;
  line-height: 1 !important;
  text-shadow:
    0 2px 0 #330705,
    0 0 2px #330705,
    0 0 12px rgba(245, 192, 99, 0.8) !important;
}

/* EDOUARGOT BANDEAU BOOMER NAV START */
/* Bande défilante plus lisible */
.top-banner {
  min-height: 56px !important;
}

.scrolling-text-wrapper {
  min-height: 56px !important;
}

.scrolling-text {
  font-size: clamp(20px, 2.2vw, 27px) !important;
  line-height: 56px !important;
  font-weight: 950 !important;
  letter-spacing: 0.02em !important;
  color: #330705 !important;
  text-shadow: 0 1px 0 rgba(245, 192, 99, 0.45) !important;
  animation-duration: 30s !important;
}

/* Téléphone à droite adapté au bandeau plus grand */
.contact-fixed {
  font-size: 18px !important;
  font-weight: 900 !important;
}

.contact-fixed .phone-icon {
  height: 28px !important;
  max-height: 28px !important;
}

/* Onglets de navigation plus grands, lisibles */
.custom-nav a,
.custom-nav a:visited {
  font-size: clamp(18px, 1.75vw, 23px) !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  padding: 13px 24px !important;
  border-radius: 8px !important;
  letter-spacing: 0.015em !important;
}

.custom-nav a:hover,
.custom-nav a:focus,
.custom-nav a:active {
  font-size: clamp(18px, 1.75vw, 23px) !important;
  line-height: 1.2 !important;
  padding: 13px 24px !important;
  border-radius: 8px !important;
  transform: none !important;
  scale: 1 !important;
}
/* EDOUARGOT BANDEAU BOOMER NAV END */

/* EDOUARGOT NAV BOOMER TRES L
cd /volume1/web2/blog.edouargot.fr_2024-2026_FIN

mkdir -p diag_txt sauvegardes

ts="$(date +%Y%m%d-%H%M%S)"
rapport="diag_txt/correctif-trait-connexion-nav-boomer-mexp-marron-$ts.txt"
backup="sauvegardes/sauvegarde-trait-connexion-nav-boomer-mexp-marron-$ts"

mkdir -p "$backup/includes" "$backup/css"

{
  echo "=== CORRECTIF TRAIT CONNEXION + NAV BOOMER + SOULIGNEMENT MEXP MARRON ==="
  date
  echo
  echo "Dossier : $(pwd)"
  echo "Rapport : $rapport"
  echo "Sauvegarde : $backup"
  echo

  echo "=== 1) Sauvegarde ==="
  for f in includes/footer.php includes/header.php css/footer-public.css css/correctif-header-stable.css; do
    if [ -f "$f" ]; then
      mkdir -p "$backup/$(dirname "$f")"
      cp -a "$f" "$backup/$f"
      echo "Sauvegardé : $f"
    fi
  done
  echo

  echo "=== 2) Remettre le trait long discret vers la connexion ==="
  php <<'PHP'
<?php
$file = 'includes/footer.php';

if (!is_file($file)) {
    echo "ERREUR : includes/footer.php introuvable\n";
    exit(1);
}

$html = file_get_contents($file);
$old = $html;

/* Supprime ancien trait de connexion si déjà présent */
$html = preg_replace(
    '#\s*<a\b[^>]*href=(["\'])/espace-membres/connexion\.php\1[^>]*class=(["\'])[^"\']*footer-admin-dash[^"\']*\2[^>]*>.*?</a>\s*#isu',
    '',
    $html
);

$dash = "\n          <a href=\"/espace-membres/connexion.php\" class=\"footer-admin-dash\" target=\"_blank\" aria-label=\"Connexion espace membres\">—</a>";

/* Insertion juste après © edouargot */
$pattern = '#(<span class="footer-edouargot-signature">\s*<span class="footer-copyright-symbol">©</span>\s*<span class="footer-edouargot-word">edouargot</span>\s*</span>)#isu';

if (preg_match($pattern, $html)) {
    $html = preg_replace($pattern, '$1' . $dash, $html, 1);
} elseif (preg_match('#(<span class="footer-edouargot-signature">.*?</span>)#isu', $html)) {
    $html = preg_replace('#(<span class="footer-edouargot-signature">.*?</span>)#isu', '$1' . $dash, $html, 1);
} else {
    $html = preg_replace('#(<div class="footer-signature-line">)#i', '$1' . $dash, $html, 1);
}

if ($html !== $old) {
    file_put_contents($file, $html);
    echo "OK : trait long de connexion ajouté\n";
} else {
    echo "INFO : aucun changement HTML appliqué\n";
}
PHP
  echo

  echo "=== 3) CSS footer : trait long + soulignement mexp marron ==="
  perl -0pi -e 's#/\* EDOUARGOT FOOTER TRAIT ADMIN MEXP MARRON START \*/.*?/\* EDOUARGOT FOOTER TRAIT ADMIN MEXP MARRON END \*/##s' css/footer-public.css

  cat >> css/footer-public.css <<'CSS'

/* EDOUARGOT FOOTER TRAIT ADMIN MEXP MARRON START */

/* Trait long discret pour cacher l’accès connexion */
.footer-admin-dash {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 56px !important;
  color: #330705 !important;
  font-size: 2.35rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  padding: 0 6px !important;
  transform: translateY(-1px) !important;
  opacity: 0.92 !important;
}

.footer-admin-dash:hover,
.footer-admin-dash:focus {
  color: #f5c063 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}

/* mexp : texte orange, soulignement marron */
.footer-mexp-link,
.footer-mexp-link:hover,
.footer-mexp-link:focus {
  text-decoration-line: underline !important;
  text-decoration-color: #330705 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 5px !important;
}

.footer-mexp-word,
.footer-mexp-link:hover .footer-mexp-word,
.footer-mexp-link:focus .footer-mexp-word {
  color: #f5c063 !important;
  text-decoration-line: underline !important;
  text-decoration-color: #330705 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 5px !important;
}

/* EDOUARGOT FOOTER TRAIT ADMIN MEXP MARRON END */





/* EDOUARGOT BANDEAU NOKIA TEXTE START */
.top-banner {
  min-height: 58px !important;
}

.scrolling-text-wrapper {
  min-height: 58px !important;
}

.scrolling-text {
  font-size: clamp(21px, 2.2vw, 28px) !important;
  line-height: 58px !important;
  font-weight: 950 !important;
  color: #330705 !important;
  letter-spacing: 0.015em !important;
  text-shadow: 0 1px 0 rgba(245, 192, 99, 0.45) !important;
  animation-duration: 34s !important;
}

.edo-scroll-message {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  white-space: nowrap !important;
}

.edo-scroll-message strong {
  color: #330705 !important;
  font-weight: 950 !important;
}

.edo-scroll-nokia {
  width: auto !important;
  height: 34px !important;
  max-height: 34px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  transform: translateY(-2px) !important;
}

/* Le bloc téléphone fixe est volontairement supprimé du HTML.
   Sécurité si une ancienne version reste en cache. */
.contact-fixed {
  display: none !important;
}
/* EDOUARGOT BANDEAU NOKIA TEXTE END */



/* EDOUARGOT BANDEAU TEXTE FINAL START */
.edo-scroll-message {
  display: inline-block !important;
  white-space: nowrap !important;
}

.edo-scroll-nokia {
  width: auto !important;
  height: 30px !important;
  max-height: 30px !important;
  object-fit: contain !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 7px 0 10px !important;
  transform: translateY(-2px) !important;
}
/* EDOUARGOT BANDEAU TEXTE FINAL END */



/* EDOUARGOT HEADER ANIMATION CLICKABLE START */
.header-animation[data-home-href] {
  cursor: pointer !important;
}

.header-animation[data-home-href] .edo-header-blog-title,
.header-animation[data-home-href] h1 {
  transition: transform .18s ease, filter .18s ease !important;
}

.header-animation[data-home-href]:hover .edo-header-blog-title,
.header-animation[data-home-href]:hover h1 {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
}
/* EDOUARGOT HEADER ANIMATION CLICKABLE END */











/* EDOUARGOT NAV FIXE PLUS 35 START */
.custom-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: clamp(30px, 4.4vw, 64px) !important;
  margin: 0 !important;
  padding: 22px 16px 28px !important;
  background: rgba(255, 246, 227, 0.78) !important;
  background-color: rgba(255, 246, 227, 0.78) !important;
  background-image: none !important;
  border-top: 1px solid rgba(51, 7, 5, 0.10) !important;
  border-bottom: 1px solid rgba(51, 7, 5, 0.10) !important;
  box-shadow: 0 8px 22px rgba(51, 7, 5, 0.08) !important;
  backdrop-filter: blur(4px) saturate(1.05) !important;
  -webkit-backdrop-filter: blur(4px) saturate(1.05) !important;
}

/* Même taille, même graisse, même padding dans tous les états */
.custom-nav a,
.custom-nav a:visited,
.custom-nav a:hover,
.custom-nav a:focus,
.custom-nav a:active {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 0 9px !important;
  min-height: auto !important;
  min-width: max-content !important;

  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  font-size: clamp(39px, 3.4vw, 49px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  font-family: inherit !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  text-shadow: none !important;

  transform: none !important;
  scale: 1 !important;
  transition: color .16s ease !important;
}

/* Normal : texte marron, soulignement orange */
.custom-nav a,
.custom-nav a:visited {
  color: #330705 !important;
}

/* Survol : texte orange, soulignement marron — sans mouvement ni changement de taille */
.custom-nav a:hover,
.custom-nav a:focus,
.custom-nav a:active {
  color: #f5c063 !important;
}

.custom-nav a::after,
.custom-nav a:visited::after,
.custom-nav a:hover::after,
.custom-nav a:focus::after,
.custom-nav a:active::after {
  content: "" !important;
  position: absolute !important;
  left: 4% !important;
  right: 4% !important;
  bottom: 0 !important;
  height: 4px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: background-color .16s ease !important;
}

/* Normal */
.custom-nav a::after,
.custom-nav a:visited::after {
  background: #f5c063 !important;
}

/* Survol */
.custom-nav a:hover::after,
.custom-nav a:focus::after,
.custom-nav a:active::after {
  background: #330705 !important;
}

@media (max-width: 900px) {
  .custom-nav {
    gap: 24px !important;
    padding: 18px 12px 24px !important;
  }

  .custom-nav a,
  .custom-nav a:visited,
  .custom-nav a:hover,
  .custom-nav a:focus,
  .custom-nav a:active {
    font-size: clamp(30px, 5.2vw, 40px) !important;
  }
}

@media (max-width: 560px) {
  .custom-nav {
    gap: 16px !important;
    padding: 15px 10px 20px !important;
  }

  .custom-nav a,
  .custom-nav a:visited,
  .custom-nav a:hover,
  .custom-nav a:focus,
  .custom-nav a:active {
    font-size: 25px !important;
  }
}
/* EDOUARGOT NAV FIXE PLUS 35 END */

/* EDOUARGOT HEADER TITRE HOME LINK START */

/*
  Le titre blog.edouargot.fr devient un vrai lien.
  Si le clic ne marche pas, vérifier qu'aucun élément absolu ne passe au-dessus.
*/

.edo-header-home-link {
  position: relative !important;
  z-index: 30 !important;
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.edo-header-home-link .edo-header-blog-title,
.edo-header-home-link h1 {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.edo-header-home-link:hover,
.edo-header-home-link:focus {
  text-decoration: none !important;
}

/* Secours : toute la zone header reste cliquable */
.header-animation[data-home-href] {
  cursor: pointer !important;
}

/* EDOUARGOT HEADER TITRE HOME LINK END */

/* Icône email dans le texte défilant du header */
.edo-scroll-email {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
  vertical-align: middle !important;
  margin: 0 4px 0 8px !important;
}
