/* Menu commun du site FFGOSPEL : la barre « pilule de verre ».
   Une seule source pour TOUTES les pages : l'accueil et ses rubriques
   (resources/views/public/home.php) et le magazine Gospel News
   (resources/views/gospelnews/entete.php). Avant le 16/10/2026, le magazine
   avait sa propre copie de la barre : elle a divergé (autres entrées, pas de
   menus déroulants, autre bouton) et le lecteur changeait de site en ouvrant
   le magazine. Le balisage vit dans resources/views/public/menu-site.php. */
.ffg-sticky-top {
  --ffg-bleu: #1A4FA0; --ffg-bleu-nuit: #0D2B5E; --ffg-or: #D4A017; --ffg-or-fonce: #B8860B;
}
.ffg-nav, .ffg-nav .btn { font-family: 'Ubuntu', 'Segoe UI', sans-serif; }
.ffg-sticky-top { background: transparent !important; box-shadow: none !important; padding-top: 16px; }
.ffg-nav {
  position: relative; max-width: 1280px; margin: 0 auto; height: 74px; padding: 0 8px 0 16px;
  border-radius: 100px; background: rgba(10,22,51,.62) !important;
  border: 2px solid rgba(255,255,255,.12);
  backdrop-filter: blur(18px) saturate(180%); -webkit-backdrop-filter: blur(18px) saturate(180%);
  box-shadow: 0 10px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.08);
  overflow: visible;
}
.ffg-nav::after {
  content: ''; position: absolute; inset: 0; border-radius: 100px; pointer-events: none; opacity: 0;
  transition: opacity .35s;
  background: radial-gradient(320px 120px at var(--nx,50%) var(--ny,50%), rgba(212,160,23,.20), rgba(31,90,232,.12) 42%, transparent 68%);
}
.ffg-nav.lueur::after { opacity: 1; }
.ffg-nav > .container { display: flex; align-items: center; gap: 14px; position: relative; z-index: 2; }
.ffg-marque { display: flex; align-items: center; gap: 10px; text-decoration: none; flex-shrink: 0; }
.ffg-marque .sigle { width: 40px; height: 40px; border-radius: 12px; background: #fff; display: grid; place-items: center; overflow: hidden; }
.ffg-marque .sigle img { width: 34px; height: 34px; object-fit: contain; }
.ffg-marque .sigle b { color: var(--ffg-bleu-nuit); font-size: .8rem; font-weight: 800; }
.ffg-marque .txt b { display: block; color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
.ffg-marque .txt em { display: block; font-style: normal; font-size: .55rem; letter-spacing: .14em; text-transform: uppercase; color: #9DB0D8; margin-top: 4px; white-space: nowrap; }
.ffg-nav .nav-link { font-size: .78rem !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 8px 12px !important; }
.ffg-nav .nav-link i { display: none; }
.ffg-nav .dropdown-menu { background: rgba(10,22,51,.96); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; backdrop-filter: blur(16px); padding: 8px; }
.ffg-nav .dropdown-item { border-radius: 10px; font-size: .86rem; }
@media (max-width: 991px) {
  .ffg-nav { height: auto; padding: 10px 14px; border-radius: 26px; }
  .ffg-nav > .container { flex-wrap: wrap; }
  .ffg-marque .txt em { display: none; }
}

.ffg-nav-ancienne-regle {
  background: rgba(13,43,94,.95);
  border-top: 2px solid var(--ffg-or);
}
.ffg-nav .nav-link {
  color: rgba(255,255,255,.85) !important;
  font-size: .87rem; font-weight: 500;
  padding: .65rem 1rem !important;
  transition: all .2s;
  border-bottom: 2px solid transparent;
}
.ffg-nav .nav-link:hover,
.ffg-nav .nav-link.active {
  color: var(--ffg-or) !important;
  border-bottom-color: var(--ffg-or);
}
.ffg-nav .dropdown-menu {
  background: var(--ffg-bleu-nuit);
  border: 1px solid var(--ffg-or);
}
.ffg-nav .dropdown-item { color: rgba(255,255,255,.85); }
.ffg-nav .dropdown-item:hover { background: var(--ffg-bleu); color: var(--ffg-or); }

/* ===== STICKY HEADER+NAV ===== */
.ffg-sticky-top {
  position: sticky; top: 0; z-index: 1040;
  box-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.ffg-header { position: static; box-shadow: none; }

/* ===== BOUTON CONNEXION MEMBRE ===== */
.btn-connexion {
  background: linear-gradient(135deg, var(--ffg-or), var(--ffg-or-fonce));
  color: var(--ffg-bleu-nuit) !important; border: none;
  font-weight: 700; font-size: .82rem; border-radius: 50px;
  padding: .45rem 1.1rem; transition: all .2s;
  display: flex; align-items: center; gap: .4rem;
}
.btn-connexion:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(212,160,23,.4); }
.btn-connexion.connecte { background: linear-gradient(135deg, #2ecc71, #27ae60); color: white !important; }
