{% extends 'base.html.twig' %}{% block title %}Accueil - Journal Officiel de l'Union des Comores{% endblock %}{% block body %}<!-- Hero Section avec effet de parallaxe --><section class="relative bg-gradient-to-br from-[#006633] via-[#007a3d] to-[#008844] text-white overflow-hidden"><div class="absolute inset-0 opacity-20"><div class="absolute top-20 left-10 w-64 h-64 bg-[#00aa55] rounded-full blur-3xl"></div><div class="absolute bottom-20 right-10 w-96 h-96 bg-[#00aa55] rounded-full blur-3xl"></div></div><div class="container mx-auto px-4 py-16 md:py-24 relative z-10"><div class="max-w-5xl mx-auto text-center"><!-- Badge officiel --><div class="inline-flex items-center bg-white/10 backdrop-blur-sm rounded-full px-4 md:px-5 py-1.5 md:py-2 mb-6 md:mb-8 border border-white/20"><span class="relative flex h-2 w-2 mr-2"><span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"></span><span class="relative inline-flex rounded-full h-2 w-2 bg-green-500"></span></span><span class="text-xs md:text-sm font-medium">Portail officiel de l'Union des Comores</span></div><h1 class="text-3xl md:text-5xl lg:text-7xl font-bold mb-4 md:mb-6 leading-tight">Journal Officiel<span class="block text-transparent bg-clip-text bg-gradient-to-r from-green-200 to-emerald-200 text-2xl md:text-4xl lg:text-5xl">de l'Union des Comores</span></h1><p class="text-base md:text-xl text-green-100 mb-8 md:mb-10 max-w-3xl mx-auto leading-relaxed hidden sm:block">La plateforme officielle de publication et de consultation des textes juridiques,des actes administratifs et des annonces légales de la République.</p><!-- Barre de recherche professionnelle --><div class="max-w-3xl mx-auto"><form action="{{ path('app_search') }}" method="GET" class="relative"><div class="relative"><i class="fas fa-search absolute left-4 md:left-5 top-1/2 transform -translate-y-1/2 text-gray-400 text-base md:text-lg"></i><input type="text"name="q"placeholder="Rechercher une loi, un décret, un arrêté..."class="w-full pl-10 md:pl-14 pr-36 md:pr-44 py-3 md:py-5 text-gray-800 text-sm md:text-lg rounded-full border-none shadow-2xl focus:outline-none focus:ring-4 focus:ring-[#006633]/50 focus:shadow-xl transition-all duration-300"value="{{ app.request.query.get('q') }}"><div class="absolute right-1 md:right-2 top-1/2 transform -translate-y-1/2 flex gap-1"><select name="type" class="hidden sm:block px-2 md:px-3 py-1.5 md:py-2 text-gray-700 text-xs md:text-sm rounded-full border border-gray-200 focus:outline-none focus:ring-2 focus:ring-[#006633] bg-white"><option value="">Tous</option><option value="loi">Lois</option><option value="decret">Décrets</option><option value="arrete">Arrêtés</option><option value="annonce">Annonces</option></select><button type="submit" class="bg-gradient-to-r from-[#006633] to-[#008844] text-white px-3 md:px-5 py-1.5 md:py-2 rounded-full font-semibold hover:from-[#004d26] hover:to-[#006633] transition-all duration-300 shadow-md hover:shadow-lg text-sm md:text-base"><i class="fas fa-search md:mr-1"></i><span class="hidden md:inline">OK</span></button></div></div></form></div><!-- Liens rapides - BOUTONS VERTS PROFESSIONNELS --><div class="mt-8 md:mt-10 flex flex-wrap justify-center gap-3 md:gap-4"><a href="{{ path('app_journal_officiel') }}" class="bg-gradient-to-r from-[#006633] to-[#008844] hover:from-[#004d26] hover:to-[#006633] transition-all duration-300 px-5 md:px-6 py-2.5 md:py-3 rounded-full font-semibold text-white shadow-lg hover:shadow-xl flex items-center gap-2 text-sm md:text-base"><i class="fas fa-newspaper text-sm md:text-base"></i>Derniers numéros</a><a href="{{ path('app_munganyo') }}" class="bg-gradient-to-r from-[#006633] to-[#008844] hover:from-[#004d26] hover:to-[#006633] transition-all duration-300 px-5 md:px-6 py-2.5 md:py-3 rounded-full font-semibold text-white shadow-lg hover:shadow-xl flex items-center gap-2 text-sm md:text-base"><i class="fas fa-file-alt text-sm md:text-base"></i>Actes exécutifs</a><a href="{{ path('app_publications') }}" class="bg-gradient-to-r from-[#006633] to-[#008844] hover:from-[#004d26] hover:to-[#006633] transition-all duration-300 px-5 md:px-6 py-2.5 md:py-3 rounded-full font-semibold text-white shadow-lg hover:shadow-xl flex items-center gap-2 text-sm md:text-base"><i class="fas fa-bullhorn text-sm md:text-base"></i>Publier une annonce</a></div><!-- Informations supplémentaires professionnelles --></div></div><!-- Vague décorative --><div class="absolute bottom-0 left-0 right-0"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320" class="w-full"><path fill="#f3f4f6" fill-opacity="1" d="M0,96L48,112C96,128,192,160,288,160C384,160,480,128,576,122.7C672,117,768,139,864,154.7C960,171,1056,181,1152,170.7C1248,160,1344,128,1392,112L1440,96L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg></div></section><!-- Section Statistiques --><section class="py-12 md:py-16 bg-gray-50"><div class="container mx-auto px-4"><div class="grid grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-4 md:gap-8"><div class="bg-white rounded-2xl shadow-lg p-4 md:p-6 text-center transform hover:-translate-y-2 transition-all duration-300"><div class="w-12 h-12 md:w-16 md:h-16 bg-[#006633]/10 rounded-full flex items-center justify-center mx-auto mb-2 md:mb-4"><i class="fas fa-file-alt text-xl md:text-2xl text-[#006633]"></i></div><div class="text-2xl md:text-4xl font-bold text-gray-800 mb-1 md:mb-2">12,5K</div><div class="text-gray-600 font-medium text-xs md:text-base">Actes publiés</div><div class="text-xs text-gray-400 mt-1 hidden md:block">Lois, décrets, arrêtés</div></div><div class="bg-white rounded-2xl shadow-lg p-4 md:p-6 text-center transform hover:-translate-y-2 transition-all duration-300"><div class="w-12 h-12 md:w-16 md:h-16 bg-[#006633]/10 rounded-full flex items-center justify-center mx-auto mb-2 md:mb-4"><i class="fas fa-calendar-alt text-xl md:text-2xl text-[#006633]"></i></div><div class="text-2xl md:text-4xl font-bold text-gray-800 mb-1 md:mb-2">245</div><div class="text-gray-600 font-medium text-xs md:text-base">Numéros JO</div><div class="text-xs text-gray-400 mt-1 hidden md:block">Depuis 1975</div></div><div class="bg-white rounded-2xl shadow-lg p-4 md:p-6 text-center transform hover:-translate-y-2 transition-all duration-300"><div class="w-12 h-12 md:w-16 md:h-16 bg-[#006633]/10 rounded-full flex items-center justify-center mx-auto mb-2 md:mb-4"><i class="fas fa-users text-xl md:text-2xl text-[#006633]"></i></div><div class="text-2xl md:text-4xl font-bold text-gray-800 mb-1 md:mb-2">1,3K</div><div class="text-gray-600 font-medium text-xs md:text-base">Abonnés actifs</div><div class="text-xs text-gray-400 mt-1 hidden md:block">Institutions & particuliers</div></div><div class="bg-white rounded-2xl shadow-lg p-4 md:p-6 text-center transform hover:-translate-y-2 transition-all duration-300"><div class="w-12 h-12 md:w-16 md:h-16 bg-[#006633]/10 rounded-full flex items-center justify-center mx-auto mb-2 md:mb-4"><i class="fas fa-chart-line text-xl md:text-2xl text-[#006633]"></i></div><div class="text-2xl md:text-4xl font-bold text-gray-800 mb-1 md:mb-2">45K</div><div class="text-gray-600 font-medium text-xs md:text-base">Consultations/mois</div><div class="text-xs text-gray-400 mt-1 hidden md:block">+23% vs mois dernier</div></div></div></div></section><!-- Derniers numéros du Journal Officiel --><section class="py-12 md:py-20"><div class="container mx-auto px-4"><div class="text-center mb-8 md:mb-12"><h2 class="text-2xl md:text-4xl font-bold text-gray-800 mb-4">Derniers numéros publiés</h2><div class="w-24 h-1 bg-gradient-to-r from-[#006633] to-[#008844] mx-auto rounded-full"></div><p class="text-gray-600 mt-4 max-w-2xl mx-auto text-sm md:text-base hidden md:block">Consultez les dernières éditions du Journal Officiel avec tous les actes et annonces officielles</p></div><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 md:gap-6"><!-- Carte JO 1 --><div class="group bg-white rounded-2xl shadow-lg overflow-hidden transform hover:-translate-y-2 transition-all duration-300" data-jo-number="JO 2026-015" data-jo-date="01 Mars 2026" data-jo-pdf="pdfs/JO_2026_015.pdf"><div class="bg-gradient-to-r from-[#006633] to-[#008844] p-4 md:p-5"><div class="flex justify-between items-start text-white"><div><i class="fas fa-gavel text-2xl md:text-3xl opacity-80"></i><div class="text-xl md:text-3xl font-bold mt-2 md:mt-3">JO 2026-015</div></div><div class="text-right"><div class="text-xs md:text-sm">01 Mars 2026</div></div></div></div><div class="p-4 md:p-5"><div class="space-y-2 mb-3 md:mb-4"><div class="flex justify-between text-xs md:text-sm"><span class="text-gray-500"><i class="fas fa-file-alt mr-1"></i> Actes publiés</span><span class="font-semibold text-gray-700">12 actes</span></div><div class="flex justify-between text-xs md:text-sm hidden sm:flex"><span class="text-gray-500"><i class="fas fa-building mr-1"></i> Institutions</span><span class="font-semibold text-gray-700">5 émetteurs</span></div><div class="flex justify-between text-xs md:text-sm hidden sm:flex"><span class="text-gray-500"><i class="fas fa-eye mr-1"></i> Consultations</span><span class="font-semibold text-gray-700">1,234 vues</span></div></div><div class="flex space-x-2"><a href="#" class="flex-1 text-center bg-[#006633] text-white px-2 md:px-3 py-2 rounded-xl hover:bg-[#004d26] transition text-xs md:text-sm font-medium btn-consulter"><i class="fas fa-eye mr-1"></i> Consulter</a><a href="#" class="flex-1 text-center bg-gray-200 text-gray-700 px-2 md:px-3 py-2 rounded-xl hover:bg-gray-300 transition text-xs md:text-sm font-medium btn-pdf"><i class="fas fa-download mr-1"></i> PDF</a></div></div></div><!-- Carte JO 2 --><div class="group bg-white rounded-2xl shadow-lg overflow-hidden transform hover:-translate-y-2 transition-all duration-300" data-jo-number="JO 2026-014" data-jo-date="25 Fév 2026" data-jo-pdf="pdfs/JO_2026_014.pdf"><div class="bg-gradient-to-r from-[#006633] to-[#008844] p-4 md:p-5"><div class="flex justify-between items-start text-white"><div><i class="fas fa-gavel text-2xl md:text-3xl opacity-80"></i><div class="text-xl md:text-3xl font-bold mt-2 md:mt-3">JO 2026-014</div></div><div class="text-right"><div class="text-xs md:text-sm">25 Fév 2026</div></div></div></div><div class="p-4 md:p-5"><div class="space-y-2 mb-3 md:mb-4"><div class="flex justify-between text-xs md:text-sm"><span class="text-gray-500"><i class="fas fa-file-alt mr-1"></i> Actes publiés</span><span class="font-semibold text-gray-700">8 actes</span></div><div class="flex justify-between text-xs md:text-sm hidden sm:flex"><span class="text-gray-500"><i class="fas fa-building mr-1"></i> Institutions</span><span class="font-semibold text-gray-700">4 émetteurs</span></div></div><div class="flex space-x-2"><a href="#" class="flex-1 text-center bg-[#006633] text-white px-2 md:px-3 py-2 rounded-xl hover:bg-[#004d26] transition text-xs md:text-sm font-medium btn-consulter"><i class="fas fa-eye mr-1"></i> Consulter</a><a href="#" class="flex-1 text-center bg-gray-200 text-gray-700 px-2 md:px-3 py-2 rounded-xl hover:bg-gray-300 transition text-xs md:text-sm font-medium btn-pdf"><i class="fas fa-download mr-1"></i> PDF</a></div></div></div><!-- Carte JO 3 --><div class="group bg-white rounded-2xl shadow-lg overflow-hidden transform hover:-translate-y-2 transition-all duration-300" data-jo-number="JO 2026-013" data-jo-date="20 Fév 2026" data-jo-pdf="pdfs/JO_2026_013.pdf"><div class="bg-gradient-to-r from-[#006633] to-[#008844] p-4 md:p-5"><div class="flex justify-between items-start text-white"><div><i class="fas fa-gavel text-2xl md:text-3xl opacity-80"></i><div class="text-xl md:text-3xl font-bold mt-2 md:mt-3">JO 2026-013</div></div><div class="text-right"><div class="text-xs md:text-sm">20 Fév 2026</div></div></div></div><div class="p-4 md:p-5"><div class="space-y-2 mb-3 md:mb-4"><div class="flex justify-between text-xs md:text-sm"><span class="text-gray-500"><i class="fas fa-file-alt mr-1"></i> Actes publiés</span><span class="font-semibold text-gray-700">15 actes</span></div><div class="flex justify-between text-xs md:text-sm hidden sm:flex"><span class="text-gray-500"><i class="fas fa-building mr-1"></i> Institutions</span><span class="font-semibold text-gray-700">6 émetteurs</span></div></div><div class="flex space-x-2"><a href="#" class="flex-1 text-center bg-[#006633] text-white px-2 md:px-3 py-2 rounded-xl hover:bg-[#004d26] transition text-xs md:text-sm font-medium btn-consulter"><i class="fas fa-eye mr-1"></i> Consulter</a><a href="#" class="flex-1 text-center bg-gray-200 text-gray-700 px-2 md:px-3 py-2 rounded-xl hover:bg-gray-300 transition text-xs md:text-sm font-medium btn-pdf"><i class="fas fa-download mr-1"></i> PDF</a></div></div></div><!-- Carte JO 4 --><div class="group bg-white rounded-2xl shadow-lg overflow-hidden transform hover:-translate-y-2 transition-all duration-300" data-jo-number="JO 2026-012" data-jo-date="15 Fév 2026" data-jo-pdf="pdfs/JO_2026_012.pdf"><div class="bg-gradient-to-r from-[#006633] to-[#008844] p-4 md:p-5"><div class="flex justify-between items-start text-white"><div><i class="fas fa-gavel text-2xl md:text-3xl opacity-80"></i><div class="text-xl md:text-3xl font-bold mt-2 md:mt-3">JO 2026-012</div></div><div class="text-right"><div class="text-xs md:text-sm">15 Fév 2026</div></div></div></div><div class="p-4 md:p-5"><div class="space-y-2 mb-3 md:mb-4"><div class="flex justify-between text-xs md:text-sm"><span class="text-gray-500"><i class="fas fa-file-alt mr-1"></i> Actes publiés</span><span class="font-semibold text-gray-700">10 actes</span></div><div class="flex justify-between text-xs md:text-sm hidden sm:flex"><span class="text-gray-500"><i class="fas fa-building mr-1"></i> Institutions</span><span class="font-semibold text-gray-700">3 émetteurs</span></div></div><div class="flex space-x-2"><a href="#" class="flex-1 text-center bg-[#006633] text-white px-2 md:px-3 py-2 rounded-xl hover:bg-[#004d26] transition text-xs md:text-sm font-medium btn-consulter"><i class="fas fa-eye mr-1"></i> Consulter</a><a href="#" class="flex-1 text-center bg-gray-200 text-gray-700 px-2 md:px-3 py-2 rounded-xl hover:bg-gray-300 transition text-xs md:text-sm font-medium btn-pdf"><i class="fas fa-download mr-1"></i> PDF</a></div></div></div></div><div class="text-center mt-8 md:mt-10"><a href="{{ path('app_journal_officiel') }}" class="inline-flex items-center text-[#006633] font-semibold hover:text-[#004d26] transition group text-sm md:text-base">Voir tous les numéros<i class="fas fa-arrow-right ml-2 group-hover:translate-x-1 transition-transform"></i></a></div></div></section><!-- Accès rapide par catégories --><section class="py-12 md:py-20 bg-gradient-to-br from-gray-50 to-gray-100"><div class="container mx-auto px-4"><div class="text-center mb-8 md:mb-12"><h2 class="text-2xl md:text-4xl font-bold text-gray-800 mb-4">Accès par thématique</h2><div class="w-24 h-1 bg-gradient-to-r from-[#006633] to-[#008844] mx-auto rounded-full"></div><p class="text-gray-600 mt-4 text-sm md:text-base">Retrouvez rapidement les informations selon vos besoins</p></div><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6"><div class="group bg-white rounded-2xl shadow-lg p-4 md:p-6 hover:shadow-xl transition-all transform hover:-translate-y-1"><div class="flex items-start space-x-3 md:space-x-4"><div class="w-12 h-12 md:w-14 md:h-14 bg-[#006633]/10 rounded-xl flex items-center justify-center group-hover:bg-[#006633]/20 transition"><i class="fas fa-chart-line text-xl md:text-2xl text-[#006633]"></i></div><div class="flex-1"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-1 md:mb-2">Appels d'offres</h3><p class="text-gray-600 text-xs md:text-sm mb-2 md:mb-3">Marchés publics, consultations, délégations</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center group-hover:text-[#004d26]">Voir les annonces<i class="fas fa-chevron-right ml-1 text-xs"></i></a></div></div></div><div class="group bg-white rounded-2xl shadow-lg p-4 md:p-6 hover:shadow-xl transition-all transform hover:-translate-y-1"><div class="flex items-start space-x-3 md:space-x-4"><div class="w-12 h-12 md:w-14 md:h-14 bg-[#006633]/10 rounded-xl flex items-center justify-center group-hover:bg-[#006633]/20 transition"><i class="fas fa-home text-xl md:text-2xl text-[#006633]"></i></div><div class="flex-1"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-1 md:mb-2">Actes fonciers</h3><p class="text-gray-600 text-xs md:text-sm mb-2 md:mb-3">Réquisitions foncières, transactions immobilières</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center group-hover:text-[#004d26]">Voir les actes<i class="fas fa-chevron-right ml-1 text-xs"></i></a></div></div></div><div class="group bg-white rounded-2xl shadow-lg p-4 md:p-6 hover:shadow-xl transition-all transform hover:-translate-y-1"><div class="flex items-start space-x-3 md:space-x-4"><div class="w-12 h-12 md:w-14 md:h-14 bg-[#006633]/10 rounded-xl flex items-center justify-center group-hover:bg-[#006633]/20 transition"><i class="fas fa-building text-xl md:text-2xl text-[#006633]"></i></div><div class="flex-1"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-1 md:mb-2">Actes de sociétés</h3><p class="text-gray-600 text-xs md:text-sm mb-2 md:mb-3">Création, modification, dissolution RCCM/OHADA</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center group-hover:text-[#004d26]">Voir les actes<i class="fas fa-chevron-right ml-1 text-xs"></i></a></div></div></div><div class="group bg-white rounded-2xl shadow-lg p-4 md:p-6 hover:shadow-xl transition-all transform hover:-translate-y-1"><div class="flex items-start space-x-3 md:space-x-4"><div class="w-12 h-12 md:w-14 md:h-14 bg-[#006633]/10 rounded-xl flex items-center justify-center group-hover:bg-[#006633]/20 transition"><i class="fas fa-handshake text-xl md:text-2xl text-[#006633]"></i></div><div class="flex-1"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-1 md:mb-2">Associations</h3><p class="text-gray-600 text-xs md:text-sm mb-2 md:mb-3">Récépissés de déclaration, modifications statuts</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center group-hover:text-[#004d26]">Voir les récépissés<i class="fas fa-chevron-right ml-1 text-xs"></i></a></div></div></div><div class="group bg-white rounded-2xl shadow-lg p-4 md:p-6 hover:shadow-xl transition-all transform hover:-translate-y-1"><div class="flex items-start space-x-3 md:space-x-4"><div class="w-12 h-12 md:w-14 md:h-14 bg-[#006633]/10 rounded-xl flex items-center justify-center group-hover:bg-[#006633]/20 transition"><i class="fas fa-gavel text-xl md:text-2xl text-[#006633]"></i></div><div class="flex-1"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-1 md:mb-2">Ventes aux enchères</h3><p class="text-gray-600 text-xs md:text-sm mb-2 md:mb-3">Biens immobiliers, mobiliers, véhicules admin</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center group-hover:text-[#004d26]">Voir les enchères<i class="fas fa-chevron-right ml-1 text-xs"></i></a></div></div></div><div class="group bg-white rounded-2xl shadow-lg p-4 md:p-6 hover:shadow-xl transition-all transform hover:-translate-y-1"><div class="flex items-start space-x-3 md:space-x-4"><div class="w-12 h-12 md:w-14 md:h-14 bg-[#006633]/10 rounded-xl flex items-center justify-center group-hover:bg-[#006633]/20 transition"><i class="fas fa-balance-scale text-xl md:text-2xl text-[#006633]"></i></div><div class="flex-1"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-1 md:mb-2">Textes réglementaires</h3><p class="text-gray-600 text-xs md:text-sm mb-2 md:mb-3">Lois, décrets, arrêtés, circulaires en vigueur</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center group-hover:text-[#004d26]">Voir les textes<i class="fas fa-chevron-right ml-1 text-xs"></i></a></div></div></div></div></div></section><!-- Section Munganyo --><section class="py-12 md:py-20 bg-white"><div class="container mx-auto px-4"><div class="grid grid-cols-1 lg:grid-cols-2 gap-8 md:gap-12 items-center"><div><div class="inline-flex items-center bg-[#006633]/10 rounded-full px-3 md:px-4 py-1.5 md:py-2 mb-4 md:mb-6"><i class="fas fa-file-alt text-[#006633] mr-1 md:mr-2 text-sm md:text-base"></i><span class="text-xs md:text-sm font-medium text-[#006633]">Munganyo</span></div><h2 class="text-2xl md:text-4xl font-bold text-gray-800 mb-3 md:mb-4">Derniers actes exécutifs</h2><p class="text-gray-600 mb-4 md:mb-6 leading-relaxed text-sm md:text-base">Accédez rapidement aux derniers décrets et arrêtés publiés.La plateforme Munganyo centralise tous les actes exécutifs en vigueur.</p><ul class="space-y-2 md:space-y-3 mb-6 md:mb-8"><li class="flex items-center text-gray-600 text-sm md:text-base"><i class="fas fa-check-circle text-[#006633] mr-2 md:mr-3 text-sm md:text-base"></i>Décrets présidentiels et gouvernementaux</li><li class="flex items-center text-gray-600 text-sm md:text-base"><i class="fas fa-check-circle text-[#006633] mr-2 md:mr-3 text-sm md:text-base"></i>Arrêtés interministériels et ministériels</li><li class="flex items-center text-gray-600 text-sm md:text-base"><i class="fas fa-check-circle text-[#006633] mr-2 md:mr-3 text-sm md:text-base"></i>Circulaires et instructions officielles</li></ul><a href="{{ path('app_munganyo') }}" class="inline-flex items-center bg-gradient-to-r from-[#006633] to-[#008844] text-white px-5 md:px-6 py-2.5 md:py-3 rounded-xl font-semibold hover:from-[#004d26] hover:to-[#006633] transition shadow-lg text-sm md:text-base">Accéder à Munganyo<i class="fas fa-arrow-right ml-2"></i></a></div><div class="bg-gradient-to-br from-gray-50 to-gray-100 rounded-2xl p-4 md:p-6 shadow-lg"><h3 class="text-lg md:text-xl font-bold text-gray-800 mb-3 md:mb-4">Derniers décrets publiés</h3><div class="space-y-3 md:space-y-4"><div class="bg-white rounded-xl p-3 md:p-4 hover:shadow-md transition cursor-pointer" data-acte-ref="Décret n°2026-045/PR"><div class="flex items-start justify-between"><div class="flex-1"><span class="inline-block px-2 py-0.5 md:py-1 text-xs font-semibold bg-[#006633]/10 text-[#006633] rounded mb-1 md:mb-2">Décret</span><h4 class="font-semibold text-gray-800 mb-0.5 md:mb-1 text-sm md:text-base">Décret n°2026-045/PR</h4><p class="text-xs md:text-sm text-gray-600">Portant nomination des membres du gouvernement</p><p class="text-xs text-gray-400 mt-1 md:mt-2">Publié le 01 mars 2026</p></div><i class="fas fa-chevron-right text-gray-400 text-xs md:text-sm"></i></div></div><div class="bg-white rounded-xl p-3 md:p-4 hover:shadow-md transition cursor-pointer" data-acte-ref="Arrêté n°2026-089/MF"><div class="flex items-start justify-between"><div class="flex-1"><span class="inline-block px-2 py-0.5 md:py-1 text-xs font-semibold bg-[#006633]/10 text-[#006633] rounded mb-1 md:mb-2">Arrêté</span><h4 class="font-semibold text-gray-800 mb-0.5 md:mb-1 text-sm md:text-base">Arrêté n°2026-089/MF</h4><p class="text-xs md:text-sm text-gray-600">Fixant les modalités de paiement des impôts 2026</p><p class="text-xs text-gray-400 mt-1 md:mt-2">Publié le 25 février 2026</p></div><i class="fas fa-chevron-right text-gray-400 text-xs md:text-sm"></i></div></div><div class="bg-white rounded-xl p-3 md:p-4 hover:shadow-md transition cursor-pointer" data-acte-ref="Décret n°2026-044/PR"><div class="flex items-start justify-between"><div class="flex-1"><span class="inline-block px-2 py-0.5 md:py-1 text-xs font-semibold bg-[#006633]/10 text-[#006633] rounded mb-1 md:mb-2">Décret</span><h4 class="font-semibold text-gray-800 mb-0.5 md:mb-1 text-sm md:text-base">Décret n°2026-044/PR</h4><p class="text-xs md:text-sm text-gray-600">Portant création de l'Agence Nationale du Numérique</p><p class="text-xs text-gray-400 mt-1 md:mt-2">Publié le 20 février 2026</p></div><i class="fas fa-chevron-right text-gray-400 text-xs md:text-sm"></i></div></div></div></div></div></div></section><!-- Section Barème des tarifs --><section class="py-12 md:py-20 bg-gray-50"><div class="container mx-auto px-4"><div class="text-center mb-8 md:mb-12"><h2 class="text-2xl md:text-4xl font-bold text-gray-800 mb-4">Barème des publications</h2><div class="w-24 h-1 bg-gradient-to-r from-[#006633] to-[#008844] mx-auto rounded-full"></div><p class="text-gray-600 mt-4 max-w-2xl mx-auto text-sm md:text-base">Tarifs progressifs selon le type d'annonce et le nombre de caractères</p></div><div class="max-w-4xl mx-auto"><div class="bg-white rounded-2xl shadow-xl overflow-hidden"><div class="overflow-x-auto"><table class="w-full min-w-[500px]"><thead><tr class="bg-gradient-to-r from-[#006633] to-[#008844] text-white"><th class="px-4 md:px-6 py-3 md:py-4 text-left font-semibold text-sm md:text-base">Type d'annonce</th><th class="px-4 md:px-6 py-3 md:py-4 text-left font-semibold text-sm md:text-base">Tarif de base</th><th class="px-4 md:px-6 py-3 md:py-4 text-left font-semibold text-sm md:text-base">Tarif par tranche</th></tr></thead><tbody class="divide-y divide-gray-200"><tr class="hover:bg-gray-50 transition"><td class="px-4 md:px-6 py-3 md:py-4 font-medium text-gray-800 text-sm md:text-base">Marchés publics & DAO</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">25 000 KMF</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">+5 000 KMF / 500 caractères</td></tr><tr class="hover:bg-gray-50 transition"><td class="px-4 md:px-6 py-3 md:py-4 font-medium text-gray-800 text-sm md:text-base">Actes fonciers & réquisitions</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">15 000 KMF</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">+3 000 KMF / 300 caractères</td></tr><tr class="hover:bg-gray-50 transition"><td class="px-4 md:px-6 py-3 md:py-4 font-medium text-gray-800 text-sm md:text-base">Actes de sociétés (RCCM/OHADA)</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">20 000 KMF</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">+4 000 KMF / 400 caractères</td></tr><tr class="hover:bg-gray-50 transition"><td class="px-4 md:px-6 py-3 md:py-4 font-medium text-gray-800 text-sm md:text-base">Ventes aux enchères publiques</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">18 000 KMF</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">+3 500 KMF / 300 caractères</td></tr><tr class="hover:bg-gray-50 transition"><td class="px-4 md:px-6 py-3 md:py-4 font-medium text-gray-800 text-sm md:text-base">Récépissés d'associations</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">12 000 KMF</td><td class="px-4 md:px-6 py-3 md:py-4 text-gray-600 text-sm md:text-base">+2 000 KMF / 200 caractères</td></tr><tr class="bg-[#006633]/5"><td class="px-4 md:px-6 py-3 md:py-4 font-medium text-[#006633] text-sm md:text-base">â ï¸ Réduction 1ère année</td><td class="px-4 md:px-6 py-3 md:py-4 text-[#006633] font-semibold text-sm md:text-base" colspan="2">-20% sur tous les tarifs pour la première année</td></tr></tbody></table></div></div><div class="mt-6 md:mt-8 text-center"><a href="{{ path('app_publications') }}" class="inline-flex items-center bg-gradient-to-r from-[#006633] to-[#008844] text-white px-6 md:px-8 py-3 md:py-4 rounded-xl font-semibold hover:from-[#004d26] hover:to-[#006633] transition shadow-lg text-sm md:text-base"><i class="fas fa-cloud-upload-alt mr-2"></i>Publier une annonce maintenant</a><p class="text-xs md:text-sm text-gray-500 mt-3 md:mt-4"><i class="fas fa-shield-alt mr-1"></i> Publication certifiée avec valeur légale opposable</p></div></div></div></section><!-- Section Avantages abonnement --><section class="py-12 md:py-20 bg-gradient-to-br from-[#006633] to-[#008844] text-white"><div class="container mx-auto px-4"><div class="text-center mb-8 md:mb-12"><h2 class="text-2xl md:text-4xl font-bold mb-3 md:mb-4">Pourquoi s'abonner ?</h2><div class="w-24 h-1 bg-white mx-auto rounded-full"></div><p class="text-green-100 mt-4 max-w-2xl mx-auto text-sm md:text-base">Accédez à tous les contenus et bénéficiez de fonctionnalités exclusives</p></div><div class="grid grid-cols-1 md:grid-cols-3 gap-6 md:gap-8"><div class="bg-white/10 backdrop-blur-sm rounded-2xl p-5 md:p-6 text-center transform hover:scale-105 transition-all"><div class="w-14 h-14 md:w-16 md:h-16 bg-white/20 rounded-full flex items-center justify-center mx-auto mb-3 md:mb-4"><i class="fas fa-search text-xl md:text-2xl"></i></div><h3 class="text-lg md:text-xl font-bold mb-2 md:mb-3">Recherche avancée</h3><p class="text-green-100 text-xs md:text-sm">Moteur de recherche enrichi par IA avec OCR dans le contenu des actes</p></div><div class="bg-white/10 backdrop-blur-sm rounded-2xl p-5 md:p-6 text-center transform hover:scale-105 transition-all"><div class="w-14 h-14 md:w-16 md:h-16 bg-white/20 rounded-full flex items-center justify-center mx-auto mb-3 md:mb-4"><i class="fas fa-archive text-xl md:text-2xl"></i></div><h3 class="text-lg md:text-xl font-bold mb-2 md:mb-3">Archives complètes</h3><p class="text-green-100 text-xs md:text-sm">Accès à tous les textes archivés depuis 1975 avec version PDF/A</p></div><div class="bg-white/10 backdrop-blur-sm rounded-2xl p-5 md:p-6 text-center transform hover:scale-105 transition-all"><div class="w-14 h-14 md:w-16 md:h-16 bg-white/20 rounded-full flex items-center justify-center mx-auto mb-3 md:mb-4"><i class="fas fa-bell text-xl md:text-2xl"></i></div><h3 class="text-lg md:text-xl font-bold mb-2 md:mb-3">Alertes personnalisées</h3><p class="text-green-100 text-xs md:text-sm">Notifications par email des nouvelles publications selon vos thèmes</p></div></div><div class="mt-8 md:mt-10 bg-white/5 rounded-2xl p-5 md:p-6 max-w-2xl mx-auto"><div class="grid grid-cols-1 md:grid-cols-2 gap-5 md:gap-6"><div class="text-center"><div class="text-xl md:text-2xl font-bold">Standard</div><div class="text-2xl md:text-3xl font-bold mt-2">50 000 KMF<span class="text-base font-normal">/an</span></div><div class="text-green-200 text-xs md:text-sm mt-1 line-through">62 500 KMF</div><div class="text-green-300 text-xs md:text-sm">-20% la première année</div><ul class="mt-3 md:mt-4 space-y-1 md:space-y-2 text-left text-xs md:text-sm"><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Accès numéros complets PDF</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Moteur de recherche par filtres</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Textes isolés moins de 5 ans</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Notifications veille</li></ul></div><div class="text-center border-t md:border-t-0 md:border-l border-white/20 pt-4 md:pt-0 md:pl-6"><div class="text-xl md:text-2xl font-bold text-yellow-300">Premium</div><div class="text-2xl md:text-3xl font-bold mt-2">90 000 KMF<span class="text-base font-normal">/an</span></div><div class="text-green-200 text-xs md:text-sm mt-1 line-through">112 500 KMF</div><div class="text-green-300 text-xs md:text-sm">-20% la première année</div><ul class="mt-3 md:mt-4 space-y-1 md:space-y-2 text-left text-xs md:text-sm"><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Tout Standard +</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Textes isolés plus de 5 ans</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Réquisitions foncières</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Moteur Ibunas.IA enrichi</li><li class="flex items-center"><i class="fas fa-check-circle text-green-400 mr-2 w-3 md:w-4"></i> Alertes personnalisées</li></ul></div></div><div class="text-center mt-5 md:mt-6"><a href="" class="inline-flex items-center bg-white text-[#006633] px-6 md:px-8 py-2.5 md:py-3 rounded-xl font-bold hover:bg-gray-100 transition shadow-lg text-sm md:text-base">Voir les offres d'abonnement<i class="fas fa-arrow-right ml-2"></i></a></div></div></div></section><!-- Section Actualités juridiques --><section class="py-12 md:py-20 bg-gray-50"><div class="container mx-auto px-4"><div class="text-center mb-8 md:mb-12"><h2 class="text-2xl md:text-4xl font-bold text-gray-800 mb-4">Actualités juridiques</h2><div class="w-24 h-1 bg-gradient-to-r from-[#006633] to-[#008844] mx-auto rounded-full"></div><p class="text-gray-600 mt-4 text-sm md:text-base">Restez informé des dernières évolutions législatives et réglementaires</p></div><div class="grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8"><div class="flex bg-white rounded-2xl overflow-hidden hover:shadow-lg transition"><div class="w-24 md:w-32 bg-gradient-to-br from-[#006633] to-[#008844] flex items-center justify-center"><i class="fas fa-gavel text-white text-2xl md:text-4xl"></i></div><div class="flex-1 p-4 md:p-5"><div class="text-xs md:text-sm text-[#006633] mb-1 md:mb-2">Nouvelle loi</div><h3 class="font-bold text-gray-800 mb-1 md:mb-2 text-sm md:text-base">Loi sur la modernisation du Journal Officiel</h3><p class="text-gray-600 text-xs md:text-sm">Publication numérique obligatoire, valeur légale renforcée...</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center mt-2 md:mt-3">Lire la suite <i class="fas fa-arrow-right ml-1"></i></a></div></div><div class="flex bg-white rounded-2xl overflow-hidden hover:shadow-lg transition"><div class="w-24 md:w-32 bg-gradient-to-br from-[#006633] to-[#008844] flex items-center justify-center"><i class="fas fa-chart-line text-white text-2xl md:text-4xl"></i></div><div class="flex-1 p-4 md:p-5"><div class="text-xs md:text-sm text-[#006633] mb-1 md:mb-2">Réforme fiscale</div><h3 class="font-bold text-gray-800 mb-1 md:mb-2 text-sm md:text-base">Nouveau code général des impôts 2026</h3><p class="text-gray-600 text-xs md:text-sm">Modifications des taux et nouvelles exonérations...</p><a href="#" class="text-[#006633] text-xs md:text-sm font-medium inline-flex items-center mt-2 md:mt-3">Lire la suite <i class="fas fa-arrow-right ml-1"></i></a></div></div></div></div></section><!-- Section Newsletter --><section class="py-12 md:py-16 bg-gradient-to-r from-[#006633] to-[#008844] text-white"><div class="container mx-auto px-4 text-center"><div class="max-w-3xl mx-auto"><i class="fas fa-envelope-open-text text-3xl md:text-5xl mb-4 md:mb-6 opacity-80"></i><h2 class="text-xl md:text-3xl font-bold mb-3 md:mb-4">Restez informé</h2><p class="text-green-100 mb-6 md:mb-8 text-sm md:text-base hidden md:block">Recevez chaque semaine les dernières publications et les actualités juridiques</p><div class="flex flex-col sm:flex-row gap-3 md:gap-4 max-w-2xl mx-auto px-4 md:px-0"><input type="email"placeholder="Votre adresse email professionnelle"class="flex-1 px-4 md:px-6 py-2.5 md:py-3 rounded-xl text-gray-800 focus:outline-none focus:ring-2 focus:ring-green-400 text-sm md:text-base"><button class="bg-white text-[#006633] px-6 md:px-8 py-2.5 md:py-3 rounded-xl font-semibold hover:bg-gray-100 transition shadow-lg text-sm md:text-base">S'abonner</button></div><p class="text-xs text-green-200 mt-4 md:mt-6"><i class="fas fa-lock mr-1"></i> Votre adresse est sécurisée. Aucun spam.</p></div></div></section><!-- MODAL DE CONSULTATION --><div id="consultationModal" class="fixed inset-0 bg-black/50 backdrop-blur-sm z-50 hidden items-center justify-center p-4 transition-all duration-300" style="overflow-y: auto;"><div class="bg-white rounded-2xl max-w-5xl w-full max-h-[90vh] overflow-hidden shadow-2xl transform transition-all duration-300 scale-95 opacity-0 modal-content my-auto"><!-- En-tête du modal --><div class="bg-gradient-to-r from-[#006633] to-[#008844] text-white px-6 py-4 flex justify-between items-center sticky top-0 z-10"><div><h3 id="modalTitle" class="text-xl md:text-2xl font-bold">Journal Officiel</h3><p id="modalDate" class="text-green-100 text-sm mt-1"></p></div><button id="closeModalBtn" class="text-white hover:text-gray-200 transition-all hover:rotate-90 duration-300"><i class="fas fa-times text-2xl"></i></button></div><!-- Corps du modal avec onglets --><div class="border-b border-gray-200 sticky top-[73px] bg-white z-10"><div class="flex px-6 gap-2"><button id="tabSommaire" class="py-3 px-4 font-semibold text-[#006633] border-b-2 border-[#006633] transition"><i class="fas fa-list mr-2"></i>Sommaire</button><button id="tabTextes" class="py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent"><i class="fas fa-file-alt mr-2"></i>Textes officiels</button><button id="tabAnnonces" class="py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent"><i class="fas fa-bullhorn mr-2"></i>Annonces</button></div></div><!-- Contenu du modal --><div id="modalContent" class="p-6 overflow-y-auto" style="max-height: calc(90vh - 140px);"><!-- Le contenu sera chargé dynamiquement --><div class="text-center py-8"><i class="fas fa-spinner fa-spin text-3xl text-[#006633]"></i><p class="mt-2 text-gray-600">Chargement du contenu...</p></div></div><!-- Pied du modal --><div class="border-t px-6 py-4 bg-gray-50 flex justify-between items-center sticky bottom-0 bg-white z-10"><div class="text-sm text-gray-500"><i class="fas fa-certificate text-[#006633] mr-1"></i> Document officiel certifié</div><div class="flex gap-3"><button id="downloadPdfFromModal" class="bg-[#006633] text-white px-5 py-2 rounded-lg hover:bg-[#004d26] transition flex items-center gap-2"><i class="fas fa-download"></i> Télécharger PDF</button><button id="closeModalFooterBtn" class="px-5 py-2 border border-gray-300 rounded-lg hover:bg-gray-100 transition">Fermer</button></div></div></div></div>{% endblock %}{% block javascripts %}{{ parent() }}<script>document.addEventListener('DOMContentLoaded', function() {// Éléments du modalconst modal = document.getElementById('consultationModal');const modalContent = document.getElementById('modalContent');const modalTitle = document.getElementById('modalTitle');const modalDate = document.getElementById('modalDate');const closeModalBtn = document.getElementById('closeModalBtn');const closeModalFooterBtn = document.getElementById('closeModalFooterBtn');const downloadPdfFromModal = document.getElementById('downloadPdfFromModal');// Ongletsconst tabSommaire = document.getElementById('tabSommaire');const tabTextes = document.getElementById('tabTextes');const tabAnnonces = document.getElementById('tabAnnonces');let currentJoNumber = '';let currentJoDate = '';let currentJoPdf = '';let scrollPosition = 0;// Fonction pour bloquer le scroll du bodyfunction blockBodyScroll() {scrollPosition = window.pageYOffset;document.body.style.overflow = 'hidden';document.body.style.position = 'fixed';document.body.style.top = `-${scrollPosition}px`;document.body.style.width = '100%';}// Fonction pour restaurer le scroll du bodyfunction restoreBodyScroll() {document.body.style.overflow = '';document.body.style.position = '';document.body.style.top = '';document.body.style.width = '';window.scrollTo(0, scrollPosition);}// Fonction pour fermer le modalfunction closeModal() {const modalContentDiv = document.querySelector('.modal-content');modalContentDiv.classList.remove('scale-100', 'opacity-100');modalContentDiv.classList.add('scale-95', 'opacity-0');setTimeout(() => {modal.classList.add('hidden');modal.classList.remove('flex');restoreBodyScroll();}, 300);}// Fonction pour ouvrir le modalfunction openModal() {blockBodyScroll();modal.classList.remove('hidden');modal.classList.add('flex');setTimeout(() => {const modalContentDiv = document.querySelector('.modal-content');modalContentDiv.classList.remove('scale-95', 'opacity-0');modalContentDiv.classList.add('scale-100', 'opacity-100');}, 50);}// Fonction pour afficher une notificationfunction showNotification(message, type = 'info') {const existingNotif = document.querySelector('.custom-notification');if (existingNotif) existingNotif.remove();const notification = document.createElement('div');notification.className = `custom-notification fixed top-20 right-4 z-[100] px-6 py-3 rounded-lg shadow-lg transform transition-all duration-300 flex items-center gap-3 ${type === 'success' ? 'bg-green-500 text-white' :type === 'error' ? 'bg-red-500 text-white' :'bg-blue-500 text-white'}`;const icon = type === 'success' ? 'fa-check-circle' : type === 'error' ? 'fa-exclamation-circle' : 'fa-info-circle';notification.innerHTML = `<i class="fas ${icon}"></i><span>${message}</span>`;document.body.appendChild(notification);setTimeout(() => {notification.style.transform = 'translateX(100%)';setTimeout(() => notification.remove(), 300);}, 3000);}// Fonction pour télécharger le PDFfunction telechargerPDF(pdfPath, joNumber) {if (pdfPath && pdfPath !== '') {const link = document.createElement('a');link.href = pdfPath;link.download = `${joNumber.replace(/\s/g, '_')}.pdf`;document.body.appendChild(link);link.click();document.body.removeChild(link);showNotification(`Téléchargement de ${joNumber} démarré`, 'success');} else {showNotification(`Génération du PDF pour ${joNumber}...`, 'info');setTimeout(() => {showNotification(`${joNumber} téléchargé avec succès !`, 'success');}, 1500);}}// Fonction pour charger le contenu du modalfunction chargerContenuJO(joNumber, joDate, joPdf) {currentJoNumber = joNumber;currentJoDate = joDate;currentJoPdf = joPdf;modalTitle.innerHTML = joNumber;modalDate.innerHTML = joDate;const contenuSommaire = `<div class="space-y-6"><div class="bg-gradient-to-r from-gray-50 to-white rounded-xl p-5 border border-gray-100"><h4 class="text-lg font-bold text-[#006633] mb-4 flex items-center"><i class="fas fa-book-open mr-2"></i> Sommaire détaillé</h4><ul class="space-y-3"><li class="flex items-start gap-3 p-2 hover:bg-gray-50 rounded-lg transition"><span class="font-bold text-[#006633] bg-[#006633]/10 w-8 h-8 rounded-full flex items-center justify-center">1</span><div class="flex-1"><span class="font-semibold text-gray-800">Textes législatifs</span><span class="text-gray-500 text-sm ml-2">Pages 2-15</span><p class="text-xs text-gray-400 mt-1">Lois votées par l'Assemblée nationale</p></div></li><li class="flex items-start gap-3 p-2 hover:bg-gray-50 rounded-lg transition"><span class="font-bold text-[#006633] bg-[#006633]/10 w-8 h-8 rounded-full flex items-center justify-center">2</span><div class="flex-1"><span class="font-semibold text-gray-800">Décrets et arrêtés</span><span class="text-gray-500 text-sm ml-2">Pages 16-28</span><p class="text-xs text-gray-400 mt-1">Actes exécutifs et réglementaires</p></div></li><li class="flex items-start gap-3 p-2 hover:bg-gray-50 rounded-lg transition"><span class="font-bold text-[#006633] bg-[#006633]/10 w-8 h-8 rounded-full flex items-center justify-center">3</span><div class="flex-1"><span class="font-semibold text-gray-800">Annonces officielles</span><span class="text-gray-500 text-sm ml-2">Pages 29-35</span><p class="text-xs text-gray-400 mt-1">Communications et avis divers</p></div></li><li class="flex items-start gap-3 p-2 hover:bg-gray-50 rounded-lg transition"><span class="font-bold text-[#006633] bg-[#006633]/10 w-8 h-8 rounded-full flex items-center justify-center">4</span><div class="flex-1"><span class="font-semibold text-gray-800">Avis divers</span><span class="text-gray-500 text-sm ml-2">Pages 36-40</span><p class="text-xs text-gray-400 mt-1">Informations générales</p></div></li></ul></div><div class="bg-yellow-50 rounded-xl p-4 border border-yellow-200"><div class="flex items-start gap-3"><i class="fas fa-info-circle text-yellow-600 mt-1"></i><div><p class="text-sm text-gray-700">Ce document officiel est certifié conforme par les services de la Présidence de l'Union des Comores.</p><p class="text-xs text-gray-500 mt-2">Date de publication : ${joDate}</p></div></div></div></div>`;const contenuTextes = `<div class="space-y-4"><div class="bg-white rounded-xl p-4 border border-gray-200 hover:shadow-md transition"><div class="flex items-start justify-between"><div class="flex-1"><span class="inline-block px-2 py-1 text-xs font-semibold bg-blue-100 text-blue-700 rounded mb-2">LOI</span><h4 class="font-bold text-gray-800">Loi n°2026-001 du 15 janvier 2026</h4><p class="text-sm text-gray-600 mt-1">Portant modification du code des investissements</p><div class="flex items-center gap-4 mt-2 text-xs text-gray-400"><span><i class="far fa-file-pdf mr-1"></i> PDF - 245 KB</span><span><i class="far fa-eye mr-1"></i> 1,234 vues</span></div></div><button class="text-[#006633] hover:text-[#004d26] transition consulter-texte" data-texte="LOI-2026-001"><i class="fas fa-chevron-right"></i></button></div></div><div class="bg-white rounded-xl p-4 border border-gray-200 hover:shadow-md transition"><div class="flex items-start justify-between"><div class="flex-1"><span class="inline-block px-2 py-1 text-xs font-semibold bg-purple-100 text-purple-700 rounded mb-2">DÉCRET</span><h4 class="font-bold text-gray-800">Décret n°2026-045/PR du 20 janvier 2026</h4><p class="text-sm text-gray-600 mt-1">Portant nomination des membres du gouvernement</p><div class="flex items-center gap-4 mt-2 text-xs text-gray-400"><span><i class="far fa-file-pdf mr-1"></i> PDF - 156 KB</span><span><i class="far fa-eye mr-1"></i> 2,567 vues</span></div></div><button class="text-[#006633] hover:text-[#004d26] transition consulter-texte" data-texte="DECRET-2026-045"><i class="fas fa-chevron-right"></i></button></div></div><div class="bg-white rounded-xl p-4 border border-gray-200 hover:shadow-md transition"><div class="flex items-start justify-between"><div class="flex-1"><span class="inline-block px-2 py-1 text-xs font-semibold bg-green-100 text-green-700 rounded mb-2">ARRÊTÉ</span><h4 class="font-bold text-gray-800">Arrêté n°2026-089/MF du 25 janvier 2026</h4><p class="text-sm text-gray-600 mt-1">Fixant les modalités de paiement des impôts 2026</p><div class="flex items-center gap-4 mt-2 text-xs text-gray-400"><span><i class="far fa-file-pdf mr-1"></i> PDF - 189 KB</span><span><i class="far fa-eye mr-1"></i> 892 vues</span></div></div><button class="text-[#006633] hover:text-[#004d26] transition consulter-texte" data-texte="ARRETE-2026-089"><i class="fas fa-chevron-right"></i></button></div></div></div>`;const contenuAnnonces = `<div class="space-y-4"><div class="bg-white rounded-xl p-4 border border-gray-200 hover:shadow-md transition"><div class="flex items-start gap-4"><div class="w-10 h-10 bg-orange-100 rounded-full flex items-center justify-center"><i class="fas fa-gavel text-orange-600"></i></div><div class="flex-1"><h4 class="font-bold text-gray-800">Appel d'offres n°2026-001/AO</h4><p class="text-sm text-gray-600 mt-1">Travaux de construction de la nouvelle Présidence</p><div class="flex flex-wrap gap-3 mt-2 text-xs text-gray-500"><span><i class="far fa-calendar-alt mr-1"></i> Date limite : 30/04/2026</span><span><i class="fas fa-map-marker-alt mr-1"></i> Moroni</span></div></div></div></div><div class="bg-white rounded-xl p-4 border border-gray-200 hover:shadow-md transition"><div class="flex items-start gap-4"><div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center"><i class="fas fa-building text-blue-600"></i></div><div class="flex-1"><h4 class="font-bold text-gray-800">Avis de recrutement - Fonction publique</h4><p class="text-sm text-gray-600 mt-1">100 postes à pourvoir dans l'administration</p><div class="flex flex-wrap gap-3 mt-2 text-xs text-gray-500"><span><i class="far fa-calendar-alt mr-1"></i> Date limite : 15/04/2026</span><span><i class="fas fa-file-alt mr-1"></i> Dossier à déposer en ligne</span></div></div></div></div><div class="bg-white rounded-xl p-4 border border-gray-200 hover:shadow-md transition"><div class="flex items-start gap-4"><div class="w-10 h-10 bg-green-100 rounded-full flex items-center justify-center"><i class="fas fa-handshake text-green-600"></i></div><div class="flex-1"><h4 class="font-bold text-gray-800">Consultation publique - Code du travail</h4><p class="text-sm text-gray-600 mt-1">Recueil des observations sur l'avant-projet</p><div class="flex flex-wrap gap-3 mt-2 text-xs text-gray-500"><span><i class="far fa-calendar-alt mr-1"></i> Jusqu'au 31/05/2026</span><span><i class="fas fa-users mr-1"></i> Ouvert à tous</span></div></div></div></div></div>`;modalContent.innerHTML = contenuSommaire;tabSommaire.onclick = () => {tabSommaire.className = "py-3 px-4 font-semibold text-[#006633] border-b-2 border-[#006633] transition";tabTextes.className = "py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent";tabAnnonces.className = "py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent";modalContent.innerHTML = contenuSommaire;modalContent.scrollTop = 0;};tabTextes.onclick = () => {tabTextes.className = "py-3 px-4 font-semibold text-[#006633] border-b-2 border-[#006633] transition";tabSommaire.className = "py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent";tabAnnonces.className = "py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent";modalContent.innerHTML = contenuTextes;modalContent.scrollTop = 0;document.querySelectorAll('.consulter-texte').forEach(btn => {btn.addEventListener('click', function(e) {const texteRef = this.getAttribute('data-texte');showNotification(`Consultation du texte ${texteRef}`, 'info');});});};tabAnnonces.onclick = () => {tabAnnonces.className = "py-3 px-4 font-semibold text-[#006633] border-b-2 border-[#006633] transition";tabSommaire.className = "py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent";tabTextes.className = "py-3 px-4 font-semibold text-gray-500 hover:text-[#006633] transition border-b-2 border-transparent";modalContent.innerHTML = contenuAnnonces;modalContent.scrollTop = 0;};}// Gestionnaire pour les boutons "Consulter"document.querySelectorAll('.btn-consulter').forEach(button => {button.addEventListener('click', function(e) {e.preventDefault();const card = this.closest('.group');if (!card) return;const joNumber = card.getAttribute('data-jo-number');const joDate = card.getAttribute('data-jo-date');const joPdf = card.getAttribute('data-jo-pdf');if (joNumber) {chargerContenuJO(joNumber, joDate, joPdf);openModal();}});});// Gestionnaire pour les boutons "PDF" dans les cartesdocument.querySelectorAll('.btn-pdf').forEach(button => {button.addEventListener('click', function(e) {e.preventDefault();e.stopPropagation();const card = this.closest('.group');if (!card) return;const joNumber = card.getAttribute('data-jo-number');const joPdf = card.getAttribute('data-jo-pdf');if (joNumber) {telechargerPDF(joPdf, joNumber);}});});// Télécharger depuis le modaldownloadPdfFromModal.addEventListener('click', function() {if (currentJoNumber) {telechargerPDF(currentJoPdf, currentJoNumber);}});// Fermeture du modalcloseModalBtn.addEventListener('click', closeModal);closeModalFooterBtn.addEventListener('click', closeModal);// Fermer en cliquant à l'extérieurmodal.addEventListener('click', function(e) {if (e.target === modal) {closeModal();}});// Gestionnaire pour les actes exécutifs (Munganyo)document.querySelectorAll('[data-acte-ref]').forEach(card => {card.addEventListener('click', function() {const acteRef = this.getAttribute('data-acte-ref');showNotification(`Consultation de ${acteRef}`, 'info');});});// Gestionnaire pour la newsletterconst newsletterBtn = document.querySelector('.bg-white.text-\\[\\#006633\\]');if (newsletterBtn) {newsletterBtn.addEventListener('click', function() {const emailInput = document.querySelector('input[type="email"]');if (emailInput && emailInput.value) {if (emailInput.value.includes('@') && emailInput.value.includes('.')) {showNotification('Inscription à la newsletter réussie !', 'success');emailInput.value = '';} else {showNotification('Veuillez entrer une adresse email valide', 'error');}} else {showNotification('Veuillez entrer votre adresse email', 'error');}});}});</script><style>@keyframes fadeInUp {from {opacity: 0;transform: translateY(20px);}to {opacity: 1;transform: translateY(0);}}.custom-notification {animation: fadeInUp 0.3s ease-out;z-index: 9999;}.btn-consulter, .btn-pdf {cursor: pointer;}[data-acte-ref] {cursor: pointer;}.modal-content {transition: all 0.3s ease-out;}/* Scrollbar personnalisée pour le modal */#modalContent::-webkit-scrollbar {width: 8px;}#modalContent::-webkit-scrollbar-track {background: #f1f1f1;border-radius: 4px;}#modalContent::-webkit-scrollbar-thumb {background: #006633;border-radius: 4px;}#modalContent::-webkit-scrollbar-thumb:hover {background: #004d26;}/* Empêcher le scroll du body quand le modal est ouvert */body.modal-open {overflow: hidden;position: fixed;width: 100%;}</style>{% endblock %}