{% set route = app.request.attributes.get('_route') %}<header class="bg-white shadow-lg sticky top-0 z-50 border-b border-gray-100"><div class="container mx-auto px-4 md:px-6"><!-- Top bar — desktop uniquement --><div class="bg-gray-50 border-b border-gray-100 hidden lg:block"><div class="container mx-auto px-4 md:px-6 py-2"><div class="flex justify-between items-center text-sm"><!-- Infos contact --><div class="flex items-center space-x-6 text-gray-600"><span><i class="fas fa-phone-alt mr-2 text-[#006633]"></i>+269 123 45 67</span><span><i class="fas fa-envelope mr-2 text-[#006633]"></i>contact@journal-officiel.km</span><span><i class="fas fa-clock mr-2 text-[#006633]"></i>Lun - Ven: 8h00 - 16h30</span></div><!-- Réseaux sociaux + sélecteur de langue --><div class="flex items-center space-x-4"><a href="#" class="text-gray-500 hover:text-[#006633] transition"><i class="fab fa-facebook-f"></i></a><a href="#" class="text-gray-500 hover:text-[#006633] transition"><i class="fab fa-twitter"></i></a><a href="#" class="text-gray-500 hover:text-[#006633] transition"><i class="fab fa-linkedin-in"></i></a><span class="text-gray-300">|</span><!-- Sélecteur de langue --><div class="relative" id="lang-switcher"><button type="button" id="lang-btn"onclick="toggleLangMenu()"class="flex items-center gap-2 text-gray-600 hover:text-[#006633]transition font-medium border border-gray-200hover:border-[#006633]/40 rounded-xl px-3 py-1.5 bg-white"><img src="https://flagcdn.com/w20/fr.png"id="lang-flag" class="w-4 rounded-sm"><span id="lang-label" class="text-sm">Français</span><i id="lang-chevron"class="fas fa-chevron-down text-[10px] text-gray-400transition-transform duration-200"></i></button><!-- Dropdown --><div id="lang-menu"class="absolute right-0 top-full mt-2 w-44 bg-whiteborder border-gray-100 rounded-xl shadow-lgoverflow-hidden z-50 hidden"><button type="button" id="lang-opt-fr"onclick="switchLanguage('fr')"class="w-full flex items-center gap-3 px-4 py-3 text-smtransition text-[#006633] font-semiboldbg-emerald-50/60 hover:bg-emerald-50"><img src="https://flagcdn.com/w20/fr.png" class="w-4 rounded-sm"><span>Français</span><i class="fas fa-check text-[#006633] text-xs ml-auto lang-check-fr"></i></button><div class="h-px bg-gray-100"></div><button type="button" id="lang-opt-en"onclick="switchLanguage('en')"class="w-full flex items-center gap-3 px-4 py-3 text-smtransition text-gray-700hover:bg-gray-50 hover:text-[#006633]"><img src="https://flagcdn.com/w20/gb.png" class="w-4 rounded-sm"><span>English</span><i class="fas fa-check text-[#006633] text-xs ml-auto lang-check-en hidden"></i></button></div></div></div></div></div></div><!-- Navigation principale --><div class="flex justify-between items-center py-3 md:py-4"><!-- Logo --><a href="{{ path('app_home') }}"><div class="flex items-center space-x-2 md:space-x-3"><img src="{{ asset('images/path6.png') }}"alt="Logo Journal Officiel"class="w-10 h-10 md:w-12 md:h-12 object-contain rounded-lg shadow-md"><div><h1 class="text-base md:text-xl font-bold text-gray-800 tracking-tight"><span class="md:hidden">Journal Officiel</span><span class="hidden md:inline">JOURNAL OFFICIEL</span></h1><p class="hidden md:block text-xs text-gray-500">Union des Comores</p></div></div></a><!-- Menu desktop --><nav class="hidden lg:flex items-center space-x-1 xl:space-x-2"><a href="{{ path('app_home') }}"class="font-medium transition py-1.5 px-3 rounded-lg{{ route == 'app_home'? 'bg-[#006633] text-white shadow-sm': 'text-gray-700 hover:text-[#006633] hover:bg-green-50' }}">Accueil</a><a href="{{ path('app_journal_officiel') }}"class="font-medium transition py-1.5 px-3 rounded-lg{{ route == 'app_journal_officiel'? 'bg-[#006633] text-white shadow-sm': 'text-gray-700 hover:text-[#006633] hover:bg-green-50' }}">Journal Officiel</a><a href="{{ path('app_munganyo') }}"class="font-medium transition py-1.5 px-3 rounded-lg{{ route == 'app_munganyo'? 'bg-[#006633] text-white shadow-sm': 'text-gray-700 hover:text-[#006633] hover:bg-green-50' }}">Munganyo</a><a href="{{ path('app_publications') }}"class="font-medium transition py-1.5 px-3 rounded-lg{{ route == 'app_publications'? 'bg-[#006633] text-white shadow-sm': 'text-gray-700 hover:text-[#006633] hover:bg-green-50' }}">Publications</a><a href="{{ path('app_search') }}"class="font-medium transition py-1.5 px-3 rounded-lg{{ route == 'app_search'? 'bg-[#006633] text-white shadow-sm': 'text-gray-700 hover:text-[#006633] hover:bg-green-50' }}"><i class="fas fa-search mr-1"></i> Recherche</a></nav><!-- Actions droite --><div class="flex items-center space-x-2 md:space-x-4">{% if app.user %}<div class="relative group"><button class="flex items-center space-x-1 md:space-x-2text-gray-700 hover:text-[#006633] transition"><i class="fas fa-user-circle text-xl md:text-2xl"></i><span class="hidden md:inline text-sm">{{ app.user.firstName|default('Utilisateur') }}</span><i class="fas fa-chevron-down text-xs hidden md:inline"></i></button><div class="absolute right-0 mt-2 w-48 bg-white rounded-lg shadow-lgopacity-0 invisible group-hover:opacity-100group-hover:visible transition-all z-50"><a href="{{ path('app_dashboard') }}"class="block px-4 py-2 text-gray-700 hover:bg-gray-50"><i class="fas fa-tachometer-alt mr-2"></i> Tableau de bord</a><a href="{{ path('app_abonn') }}"class="block px-4 py-2 text-gray-700 hover:bg-gray-50"><i class="fas fa-crown mr-2"></i> Abonnement</a><div class="border-t"></div><a href="{{ path('app_logout') }}"class="block px-4 py-2 text-red-600 hover:bg-gray-50"><i class="fas fa-sign-out-alt mr-2"></i> Déconnexion</a></div></div>{% else %}<a href="{{ path('app_login') }}"class="text-gray-700 hover:text-[#006633] transition font-medium text-sm md:text-base"><i class="fas fa-user mr-0 md:mr-1"></i><span class="hidden sm:inline">Connexion</span></a><a href="{{ path('app_abonn') }}"class="bg-gradient-to-r from-[#006633] to-[#008844] text-whitepx-2 md:px-5 py-1.5 md:py-2 rounded-lghover:from-[#004d26] hover:to-[#006633]transition shadow-md hover:shadow-lgtext-xs md:text-base whitespace-nowrap"><i class="fas fa-gem mr-0 md:mr-1 text-xs md:text-base"></i><span class="hidden sm:inline">S'abonner</span><span class="sm:hidden">Abonner</span></a>{% endif %}<!-- Bouton menu mobile --><button id="mobileMenuButton"class="lg:hidden text-gray-700 hover:text-[#006633] transition p-2"><i class="fas fa-bars text-xl md:text-2xl"></i></button></div></div><!-- Menu mobile --><div id="mobileMenu"class="lg:hidden hidden border-t border-gray-100 bg-white shadow-lg"><nav class="flex flex-col py-4"><a href="{{ path('app_home') }}"class="py-3 px-4 transition flex items-center space-x-3 border-l-4 font-medium{{ route == 'app_home'? 'bg-green-50 text-[#006633] border-[#006633]': 'text-gray-700 hover:text-[#006633] hover:bg-green-50 border-transparent hover:border-[#006633]' }}"><i class="fas fa-home text-[#006633] w-5"></i><span>Accueil</span></a><a href="{{ path('app_journal_officiel') }}"class="py-3 px-4 transition flex items-center space-x-3 border-l-4 font-medium{{ route == 'app_journal_officiel'? 'bg-green-50 text-[#006633] border-[#006633]': 'text-gray-700 hover:text-[#006633] hover:bg-green-50 border-transparent hover:border-[#006633]' }}"><i class="fas fa-newspaper text-[#006633] w-5"></i><span>Journal Officiel</span></a><a href="{{ path('app_munganyo') }}"class="py-3 px-4 transition flex items-center space-x-3 border-l-4 font-medium{{ route == 'app_munganyo'? 'bg-green-50 text-[#006633] border-[#006633]': 'text-gray-700 hover:text-[#006633] hover:bg-green-50 border-transparent hover:border-[#006633]' }}"><i class="fas fa-file-alt text-[#006633] w-5"></i><span>Munganyo</span></a><a href="{{ path('app_publications') }}"class="py-3 px-4 transition flex items-center space-x-3 border-l-4 font-medium{{ route == 'app_publications'? 'bg-green-50 text-[#006633] border-[#006633]': 'text-gray-700 hover:text-[#006633] hover:bg-green-50 border-transparent hover:border-[#006633]' }}"><i class="fas fa-bullhorn text-[#006633] w-5"></i><span>Publications</span></a><a href="{{ path('app_search') }}"class="py-3 px-4 transition flex items-center space-x-3 border-l-4 font-medium{{ route == 'app_search'? 'bg-green-50 text-[#006633] border-[#006633]': 'text-gray-700 hover:text-[#006633] hover:bg-green-50 border-transparent hover:border-[#006633]' }}"><i class="fas fa-search text-[#006633] w-5"></i><span>Recherche avancée</span></a><!-- Sélecteur de langue mobile --><div class="border-t border-gray-100 mt-2 pt-3 px-4"><p class="text-xs text-gray-400 uppercase tracking-widest mb-2 font-semibold"data-no-translate>Langue / Language</p><div class="flex gap-2"><button onclick="switchLanguage('fr')"class="flex items-center gap-2 px-3 py-2 rounded-xlborder border-gray-200 text-sm text-gray-700hover:border-[#006633] hover:text-[#006633] transition"><img src="https://flagcdn.com/w20/fr.png" class="w-4 rounded-sm">Français</button><button onclick="switchLanguage('en')"class="flex items-center gap-2 px-3 py-2 rounded-xlborder border-gray-200 text-sm text-gray-700hover:border-[#006633] hover:text-[#006633] transition"><img src="https://flagcdn.com/w20/gb.png" class="w-4 rounded-sm">English</button></div></div><!-- Connexion / Déconnexion --><div class="border-t border-gray-100 mt-2 pt-2">{% if not app.user %}<a href="{{ path('app_login') }}"class="text-gray-700 hover:text-[#006633] hover:bg-green-50py-3 px-4 transition flex items-center space-x-3"><i class="fas fa-sign-in-alt text-[#006633] w-5"></i><span>Connexion</span></a><a href="{{ path('app_abonn') }}"class="bg-gradient-to-r from-[#006633] to-[#008844] text-whitemx-4 mt-2 mb-1 py-2.5 px-4 rounded-lg transitionflex items-center justify-center space-x-2 shadow-md"><i class="fas fa-gem"></i><span class="font-semibold">S'abonner maintenant</span></a>{% else %}<a href="{{ path('app_dashboard') }}"class="text-gray-700 hover:text-[#006633] hover:bg-green-50py-3 px-4 transition flex items-center space-x-3"><i class="fas fa-tachometer-alt text-[#006633] w-5"></i><span>Tableau de bord</span></a><a href="{{ path('app_logout') }}"class="text-red-600 hover:bg-red-50 py-3 px-4transition flex items-center space-x-3"><i class="fas fa-sign-out-alt text-red-600 w-5"></i><span>Déconnexion</span></a>{% endif %}</div></nav></div></div></header><style>@media (max-width: 480px) {.whitespace-nowrap { font-size: .7rem; padding-left: .5rem; padding-right: .5rem; }.whitespace-nowrap i { font-size: .65rem; }}#mobileMenu { max-height: 80vh; overflow-y: auto; scrollbar-width: thin; }#mobileMenu::-webkit-scrollbar { width: 4px; }#mobileMenu::-webkit-scrollbar-track { background: #f1f1f1; }#mobileMenu::-webkit-scrollbar-thumb { background: #006633; border-radius: 4px; }</style><script>// ââ Menu mobile ââââââââââââââââââââââââââââââââââââââââââââââconst mobileMenuButton = document.getElementById('mobileMenuButton');const mobileMenu = document.getElementById('mobileMenu');if (mobileMenuButton && mobileMenu) {mobileMenuButton.addEventListener('click', function () {const isHidden = mobileMenu.classList.contains('hidden');if (isHidden) {mobileMenu.classList.remove('hidden');mobileMenu.style.animation = 'slideDown 0.3s ease-out';this.innerHTML = '<i class="fas fa-times text-xl md:text-2xl"></i>';} else {mobileMenu.style.animation = 'slideUp 0.3s ease-out';setTimeout(() => mobileMenu.classList.add('hidden'), 250);this.innerHTML = '<i class="fas fa-bars text-xl md:text-2xl"></i>';}});mobileMenu.querySelectorAll('a').forEach(link => {link.addEventListener('click', () => {mobileMenu.classList.add('hidden');mobileMenuButton.innerHTML = '<i class="fas fa-bars text-xl md:text-2xl"></i>';});});}// Animations menu mobileconst _s = document.createElement('style');_s.textContent = `@keyframes slideDown {from { opacity: 0; transform: translateY(-10px); }to { opacity: 1; transform: translateY(0); }}@keyframes slideUp {from { opacity: 1; transform: translateY(0); }to { opacity: 0; transform: translateY(-10px); }}`;document.head.appendChild(_s);</script>