/* ===== TITRE ===== */
h1{
  font-size:2.5rem; font-weight:800; text-align:left; margin:0.2em 0 .8em;
  background:linear-gradient(90deg,#7d731a,#b1a326 25%,#e2cc46 50%,#b1a326 75%,#7d731a);
  background-size:300% 100%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  -webkit-text-stroke:0.3px rgba(0,0,0,.15);
  text-shadow:0 2px 4px rgba(0,0,0,.25);
  animation:titleFlow 10s linear infinite; will-change:background-position;
}
@keyframes titleFlow{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@supports not (-webkit-background-clip:text){ h1{ color:#b1a326; -webkit-text-stroke:0; } }
@media (max-width:600px){
  h1{ font-size:1.6rem; background:none; color:#b1a326; -webkit-text-fill-color:initial; -webkit-text-stroke:0; animation:none; }
}
@media (prefers-reduced-motion:reduce){ h1{ animation:none !important; } }

/* ===== BASE/CONTENU ===== */
body,.content{ font:16px/1.6 system-ui,sans-serif; color:#222; text-align:left; }
.content h2{ font-size:1.4rem; margin:1.2em 0 .4em; }
.content h3{ font-size:1.2rem; margin:1em 0 .3em; }
.content p{ margin:.6em 0; }
.content ul,.content ol{ margin:.6em 0 .6em 1.2em; }
.fs-18{font-size:18px;} .fs-22{font-size:22px;} .fs-28{font-size:28px;}
.c-black{color:#111;} .c-gray-700{color:#374151;} .c-gray-500{color:#6b7280;}
.c-white{color:#fff;} .c-blue{color:#1967d2;} .c-red{color:#d93025;}
.c-green{color:#188038;} .c-gold{color:#d9c845;} .c-orange{color:#f59e0b;}
.c-purple{color:#7c3aed;} .c-teal{color:#0d9488;} .c-pink{color:#db2777;} .c-brown{color:#8b5e3c;}
.badge{padding:0 .2em;border-radius:3px;}
.bg-yellow{background:#fff3cd;} .bg-gray{background:#e9ecef;} .bg-dark{background:#111;color:#fff;}
.bg-blue{background:#e0ecff;} .bg-red{background:#ffe2e0;} .bg-green{background:#e5f6ea;}
.bg-gold{background:#fff7cc;} .bg-purple{background:#efe5ff;} .bg-teal{background:#d9f3f1;} .bg-pink{background:#ffe0ee;}
.content a{ text-decoration:underline; transition:color .15s, background .15s; }
.content a:hover{ color:#111; background:linear-gradient(180deg,transparent 60%, rgba(217,200,69,.25) 0); text-decoration:none; }
.content .align-left{text-align:left;} .content .align-center{text-align:center;}
.content .align-right{text-align:right;} .content .align-justify{text-align:justify;}
.content img{ max-width:100%; height:auto; display:block; margin:.8em auto; }
.content img.align-center{ margin:.8em auto; }
.content img.img-border{ border:2px solid #ddd; border-radius:6px; padding:3px; }
.content img.img-shadow{ box-shadow:0 4px 12px rgba(0,0,0,.25); }
.content img.img-half{ width:50%; max-width:600px; }
.content table{ border-collapse:collapse; width:100%; }
.content th,.content td{ border:1px solid #ddd; padding:.5em; }

/* Prévisualisation TinyMCE */
span.align-left,span.align-center,span.align-right{ display:inline-block; width:100%; }
span.align-left{text-align:left;} span.align-center{text-align:center;} span.align-right{text-align:right;}
span.img-border{ border:2px solid #ddd; border-radius:6px; padding:2px; }
span.img-shadow{ box-shadow:0 4px 12px rgba(0,0,0,.25); padding:2px; }
span.img-half{ transform:scale(0.8); transform-origin:left center; display:inline-block; }

/* ===== NAV ===== */
:root{
  --nav-bg:#0b1220;
  --nav-text:#e5e7eb;
  --nav-accent:#d9c845;
  --nav-ring:rgba(234,179,8,.22);
}
.site-header{ position:sticky; top:0; z-index:300; isolation:isolate; }
.wrap{ max-width:960px; margin:0 auto; padding:16px; }

.nav{
  position:relative; z-index:301;
  display:flex; gap:.6rem; flex-wrap:wrap; align-items:center;
  padding:.6rem .8rem; border-radius:999px;
  background:linear-gradient(180deg,rgba(15,23,42,.85),rgba(2,6,23,.85));
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 8px 30px rgba(0,0,0,.45);
  backdrop-filter:saturate(1.2) blur(8px);
}

/* Liens nav */
.nav__link{
  position:relative; z-index:0; /* crée la pile */
  display:inline-flex; align-items:center; justify-content:center;
  padding:.55rem .95rem; border-radius:999px;
  font-weight:600; line-height:1;
  color:var(--nav-text);
  text-decoration:none; cursor:pointer; overflow:hidden;
  transition:transform .15s ease, color .25s ease, box-shadow .25s ease, background .25s ease;
}
.nav__link:focus-visible{ outline:2px solid var(--nav-accent); outline-offset:2px; }

/* Fond doré derrière le texte */
.nav__link::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(135deg,#d9c845,#f1de5a);
  opacity:0; transform:scale(.98);
  transition:opacity .15s ease, transform .15s ease;
  z-index:-1; pointer-events:none; /* derrière le texte */
}

/* Survol: éclairage instantané + pulse + texte lisible */
.nav__link:hover{
  color:#111;
  box-shadow:0 0 0 6px rgba(217,200,69,.22), 0 12px 28px rgba(0,0,0,.35);
  animation:navGlowPulse 1.05s ease-out;
}
.nav__link:hover::before{ opacity:1; transform:scale(1); }

@keyframes navGlowPulse{
  0%{   box-shadow:0 0 0 0 rgba(217,200,69,.38), 0 10px 22px rgba(0,0,0,.25); }
  60%{  box-shadow:0 0 0 14px rgba(217,200,69,0), 0 16px 34px rgba(0,0,0,.35); }
  100%{ box-shadow:0 0 0 6px rgba(217,200,69,.22), 0 12px 28px rgba(0,0,0,.35); }
}

/* Actif: bronze sombre lisible, pas de voile au-dessus */
.nav__link.is-active{
  color:#fff;
  background:linear-gradient(135deg,#4a4618,#b3a326);
  box-shadow:0 0 0 6px var(--nav-ring), 0 12px 28px rgba(0,0,0,.35);
}
.nav__link.is-active::before{ opacity:0; transform:scale(1); }
.nav__link.is-active::after{
  content:""; position:absolute; inset:-4px; border-radius:inherit;
  background:radial-gradient(60% 60% at 50% 50%, var(--nav-ring), transparent 70%);
  filter:blur(12px); opacity:.9; pointer-events:none; z-index:-1;
}

/* CONTACT — doré + underline animé collé au texte */
.nav .nav__link.nav__link--cta{
  position:relative; overflow:visible;
  color:#111;
  background:linear-gradient(135deg,#d9c845,#f1de5a);
  border:none; text-decoration:none;
  box-shadow:0 0 0 4px var(--nav-ring), 0 8px 22px rgba(0,0,0,.35);
  transition:transform .15s ease, box-shadow .25s ease, background .25s ease;
}

/* CONTACT — underline blanc chaud accentué et plus dynamique */
.nav .nav__link.nav__link--cta::after{
  content:"";
  position:absolute;
  left:20%; right:20%;
  bottom:0.25em;
  height:3px;
  border-radius:2px;
  background:linear-gradient(90deg,#ffffff,#f5f5dc,#ffffff,#f0e68c);
  background-size:300% 100%;
  animation:underlineFlow 1.6s linear infinite; /* vitesse accrue */
  opacity:1;
  box-shadow:0 0 6px rgba(255,255,255,.6);
  pointer-events:none;
  transition:height .2s ease, opacity .2s ease;
}

.nav .nav__link.nav__link--cta:hover{
  transform:translateY(-1px);
  box-shadow:0 0 10px rgba(217,200,69,.35), 0 12px 26px rgba(0,0,0,.4);
}
.nav .nav__link.nav__link--cta:hover::after,
.nav .nav__link.nav__link--cta.is-active::after{
  height:3px; opacity:1;
}

/* animation */
@keyframes underlineFlow{
  0%{background-position:0% 0;}
  100%{background-position:300% 0;}
}

.nav .nav__link.nav__link--cta { will-change: transform, box-shadow; }

/* === Bouton Admin — bleu normal, rouge au survol === */
.nav__link--admin{
  position:relative;
  overflow:hidden;
  display:inline-flex; align-items:center; gap:.5rem;
  color:#fff;
  background:linear-gradient(135deg,#0ea5e9 0%,#6366f1 60%,#a78bfa 100%);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 0 0 4px rgba(14,165,233,.18), 0 10px 28px rgba(2,6,23,.6);
  transition:transform .15s ease, box-shadow .25s ease, background .25s ease;
  z-index:1;
}

/* survol — passage rouge vif avec halo */
.nav__link--admin:hover{
  background:linear-gradient(135deg,#dc2626 0%,#ef4444 50%,#f87171 100%);
  box-shadow:0 0 12px rgba(239,68,68,.5), 0 14px 34px rgba(2,6,23,.7);
  transform:translateY(-1px);
}

/* halo rouge au survol */
.nav__link--admin::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 50%, rgba(239,68,68,.35), transparent 70%);
  opacity:0;
  transition:opacity .3s ease;
  pointer-events:none;
}

.nav__link--admin:hover::after{
  opacity:1;
}

/* Option accessibilité */
@media (prefers-reduced-motion:reduce){
  .nav__link--admin:hover{ animation:none; transform:none; }
}

/* Icône masque */
.nav__icon{
  width:1.05em; height:1.05em; display:inline-block; background:#fff;
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2l7 3v6c0 5-3.4 9.7-7 11-3.6-1.3-7-6-7-11V5l7-3z"/></svg>') no-repeat center/contain;
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2l7 3v6c0 5-3.4 9.7-7 11-3.6-1.3-7-6-7-11V5l7-3z"/></svg>') no-repeat center/contain;
}

/* Accessibilité */
.skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ position:static; width:auto; height:auto; padding:.4rem; background:#111; color:#fff; border-radius:6px; }

/* Motion réduit */
@media (prefers-reduced-motion:reduce){
  .nav__link,.nav__link::after,.nav__link::before{ animation:none !important; transition:none !important; }
}

/* Mise en page hauteur totale */
html, body{
  height:100%;
  margin:0;
}
body{
  display:flex;
  flex-direction:column;
}

/* Footer public */
.site-footer{
  margin-top:auto;
  width:100%;
  text-align:center;
  padding:2.2rem 0;
  font-size:.9rem;
  background:rgba(255,255,255,.06);
  border-top:1px solid rgba(0,0,0,.08);
  backdrop-filter:blur(6px);
  color:#555;
  position:relative;
  z-index:100; /* reste au-dessus d’un overlay éventuel */
}

/* Liens */
.site-footer a{
  color:#b1a326;
  text-decoration:none;
  transition:color .2s;
}
.site-footer a:hover{
  color:#111;
  text-shadow:0 0 6px rgba(217,200,69,.4);
}

/* Sécurité clics */
.site-footer, .site-footer *{
  pointer-events:auto;
}

.intro-accueil {
  margin: 1.5em 0;
  text-align: center;
}
.intro-accueil h2 {
  font-size: 1.8rem;
  color: #b1a326;
  margin-bottom: .4em;
}
.intro-accueil p {
  line-height: 1.5;
}
