/* Polices auto-hébergées (RGPD) — télécharger les .woff2 via gwfh.mranftl.com/fonts
   Latin+latin-ext : Lora 400/500/600/italic, Karla 400/500/600/700, Marcellus 400
   Arabic          : Amiri 400/700, Amiri Quran 400, Aref Ruqaa 400/700
   Placer les fichiers dans /fonts/ et ajuster les noms si besoin.
   NB : ce fichier n'est PAS encore lié dans index.html (séquençage progressif).
        Google Fonts reste actif tant que /fonts/*.woff2 n'existent pas.          */

/* ===== Latin ===== */
@font-face{font-family:'Lora';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/lora-latin-ext-400.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/lora-latin-ext-italic.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/lora-latin-ext-500.woff2') format('woff2')}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/lora-latin-ext-600.woff2') format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/karla-latin-ext-400.woff2') format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/karla-latin-ext-500.woff2') format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/karla-latin-ext-600.woff2') format('woff2')}
@font-face{font-family:'Karla';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/karla-latin-ext-700.woff2') format('woff2')}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/marcellus-latin-ext-400.woff2') format('woff2')}

/* ===== Arabe (unicode-range => évite de charger l'arabe pour du texte latin) ===== */
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/amiri-arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/amiri-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Amiri Quran';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/amiri-quran-arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Aref Ruqaa';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/aref-ruqaa-arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:'Aref Ruqaa';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/aref-ruqaa-arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}

/* ===== #6 États de chargement / erreur ===== */
.skeleton .sk-line,.sk-line{display:block;height:1rem;margin:.5rem 0;border-radius:6px;background:linear-gradient(90deg,#1a2c52 25%,#25406e 50%,#1a2c52 75%);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.error-box{border:1px solid #7a2c2c;background:#2a1414;color:#f3d6d6;padding:1rem;border-radius:10px;text-align:center}
.error-box .retry-btn{margin-top:.75rem;padding:.5rem 1.25rem;border:none;border-radius:999px;background:#C9A24B;color:#101F40;font:inherit;cursor:pointer}
.error-box .retry-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.sk-line{animation:none}}
