/* DobroDvor fonts locales — ZÉRO CDN externe (Yann, 01/09/2026) */
/* Fourni par Flask/nginx sous /fonts/ — chaque site référence <link href="/fonts/fonts.css"> */

/* === Montserrat 400-700 (statique, split latin/cyrillic) === */
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; font-display:swap; src:url(Montserrat-400.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:500; font-display:swap; src:url(Montserrat-500.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:600; font-display:swap; src:url(Montserrat-600.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:700; font-display:swap; src:url(Montserrat-700.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:400; font-display:swap; src:url(Montserrat-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:500; font-display:swap; src:url(Montserrat-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:600; font-display:swap; src:url(Montserrat-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:700; font-display:swap; src:url(Montserrat-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Montserrat'; font-style:normal; font-weight:800; font-display:swap; src:url(montserrat-800.woff2) format('woff2'); }

/* === Playfair Display (variable 400-700) === */
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400 700; font-display:swap; src:url(PlayfairDisplay-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400 700; font-display:swap; src:url(PlayfairDisplay-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

/* === Inter (variable 300-600 + 700 statique) === */
@font-face { font-family:'Inter'; font-style:normal; font-weight:300 600; font-display:swap; src:url(Inter-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-style:normal; font-weight:300 600; font-display:swap; src:url(Inter-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:700; font-display:swap; src:url(inter-700.woff2) format('woff2'); }

/* === Merriweather 300/300i/400/400i/700 === */
@font-face { font-family:'Merriweather'; font-style:normal; font-weight:300; font-display:swap; src:url(merriweather-300.woff2) format('woff2'); }
@font-face { font-family:'Merriweather'; font-style:italic; font-weight:300; font-display:swap; src:url(merriweather-300italic.woff2) format('woff2'); }
@font-face { font-family:'Merriweather'; font-style:normal; font-weight:400; font-display:swap; src:url(merriweather-400.woff2) format('woff2'); }
@font-face { font-family:'Merriweather'; font-style:italic; font-weight:400; font-display:swap; src:url(merriweather-italic.woff2) format('woff2'); }
@font-face { font-family:'Merriweather'; font-style:normal; font-weight:700; font-display:swap; src:url(merriweather-700.woff2) format('woff2'); }

/* === Fira Code 400/500 === */
@font-face { font-family:'Fira Code'; font-style:normal; font-weight:400; font-display:swap; src:url(fira-code-400.woff2) format('woff2'); }
@font-face { font-family:'Fira Code'; font-style:normal; font-weight:500; font-display:swap; src:url(fira-code-500.woff2) format('woff2'); }

/* === JetBrains Mono 400-700 === */
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400; font-display:swap; src:url(jetbrains-mono-400.woff2) format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500; font-display:swap; src:url(jetbrains-mono-500.woff2) format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:600; font-display:swap; src:url(jetbrains-mono-600.woff2) format('woff2'); }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:700; font-display:swap; src:url(jetbrains-mono-700.woff2) format('woff2'); }

/* === Bad Script + Marck Script (cursive DobroLingo) === */
@font-face { font-family:'Bad Script'; font-style:normal; font-weight:400; font-display:swap; src:url(BadScript-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Bad Script'; font-style:normal; font-weight:400; font-display:swap; src:url(BadScript-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Marck Script'; font-style:normal; font-weight:400; font-display:swap; src:url(MarckScript-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Marck Script'; font-style:normal; font-weight:400; font-display:swap; src:url(MarckScript-cyrillic.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
