/* Styles du document de cours — partagés par l'appli et le PDF */
@font-face { font-family: 'Amiri'; font-weight: 400; src: url('../fonts/amiri-arabic-400-normal.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'Amiri'; font-weight: 700; src: url('../fonts/amiri-arabic-700-normal.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'Amiri'; font-weight: 400; src: url('../fonts/amiri-latin-400-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Amiri'; font-weight: 700; src: url('../fonts/amiri-latin-700-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-weight: 400; src: url('../fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 400; font-style: italic; src: url('../fonts/inter-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 600; src: url('../fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 700; src: url('../fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 700; src: url('../fonts/montserrat-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 800; src: url('../fonts/montserrat-latin-800-normal.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 700; src: url('../fonts/jetbrains-mono-latin-700-normal.woff2') format('woff2'); }

:root {
  --rouge: #B3261E;
  --vert: #1E7B3A;
  --orange: #E08604;
  --jaune: #FDCA31;
  --noir: #111111;
}

.doc { font-family: 'Inter', 'Amiri', sans-serif; font-size: 16px; line-height: 1.7; color: #1d1d1d; }
.doc p, .doc h3, .doc h4, .doc li { unicode-bidi: plaintext; }
.doc p { margin: 0 0 .75em; }
.doc strong { font-weight: 700; }

/* Arabe : une seule police (Amiri), toutes les harakat */
.doc [dir="rtl"], .doc .ar, .doc .b-lecon, .doc .b-passage, .doc .b-titre-ar { font-family: 'Amiri', serif; }
.doc .ar { unicode-bidi: isolate; font-size: 1.2em; line-height: 1; }

.doc h3 { font-family: 'Montserrat', 'Amiri', sans-serif; font-weight: 700; font-size: 1.05em; letter-spacing: .3px; margin: 1.4em 0 .5em; color: var(--noir); padding-bottom: .2em; border-bottom: 2px solid var(--orange); }
.doc h4 { font-family: 'Inter', 'Amiri', sans-serif; font-weight: 700; font-size: 1em; margin: 1.1em 0 .4em; color: var(--noir); }

.doc .b-texte { }
.doc .b-lecon { font-size: 1.6em; line-height: 2.1; text-align: right; direction: rtl; margin: .2em 0 .5em; }
.doc .b-passage { font-size: 1.45em; line-height: 1.9; text-align: right; direction: rtl; color: var(--rouge); margin: 1.2em 0 .25em; }
.doc .b-titre-ar { font-size: 2em; font-weight: 700; text-align: center; color: var(--rouge); margin: .4em 0 .6em; }
.doc .b-titre-expl { font-weight: 700; color: var(--vert); margin: .3em 0 .35em; }
.doc .b-definition { padding-left: .9em; border-left: 3px solid var(--jaune); }
.doc .b-citation { background: #F3F2EF; border-radius: 8px; padding: .55em .9em; text-align: center; font-family: 'Amiri', serif; font-size: 1.35em; line-height: 1.9; margin: .6em 0 .1em; }
.doc .b-traduction { font-style: italic; text-align: center; margin: .2em 0 .9em; }
.doc .b-reference { font-size: .85em; color: #555; text-align: right; }
.doc .accent { color: var(--rouge); }
.doc ul, .doc ol { margin: .2em 0 .8em; padding-inline-start: 1.6em; }
.doc li { margin: .15em 0; }
/* Titre entièrement en arabe (ex. sourate) : grand, centré, en Amiri */
.doc h3[dir="rtl"], .doc h4[dir="rtl"] { font-family: 'Amiri', serif; font-size: 1.8em; font-weight: 700; text-align: center; border-bottom: 0; letter-spacing: 0; line-height: 1.7; }
