/* ProshnoMaker Typography v1 (Phase 3)
   Load AFTER assets/app.css. Only typography; no layout, colour or import-page rules.
   Font: SolaimanLipi (same family eProshnoBank uses for its UI), Latin/digits: Roboto -> system. */

/* SolaimanLipi (Bangla UI font, same family eProshnoBank uses): real Regular + Bold files. */
@font-face{
  font-family:"SolaimanLipi";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/SolaimanLipi-Regular.woff") format("woff"),
      url("fonts/SolaimanLipi-Regular.ttf") format("truetype");
  unicode-range:U+0980-09FF,U+0964-0965,U+200C-200D;   /* ZWJ/ZWNJ keep conjuncts shaped correctly */
  size-adjust:120%;                                    /* balances SolaimanLipi (small glyphs) with Roboto; tune 110-125 */
}
@font-face{
  font-family:"SolaimanLipi";font-style:normal;font-weight:700;font-display:swap;
  src:url("fonts/SolaimanLipi-Bold.woff") format("woff"),
      url("fonts/SolaimanLipi-Bold.ttf") format("truetype");
  unicode-range:U+0980-09FF,U+0964-0965,U+200C-200D;
  size-adjust:120%;
}

/* Roboto (OFL) for English letters/digits; Latin subset only (~21KB per weight). */
@font-face{font-family:"Roboto";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/Roboto-Regular-latin.woff") format("woff");
  unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2010-2015,U+2018-201E,U+2022,U+2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2190-2193,U+2212,U+00D7,U+00F7;}
@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:swap;
  src:url("fonts/Roboto-Medium-latin.woff") format("woff");
  unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2010-2015,U+2018-201E,U+2022,U+2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2190-2193,U+2212,U+00D7,U+00F7;}
@font-face{font-family:"Roboto";font-style:normal;font-weight:700;font-display:swap;
  src:url("fonts/Roboto-Bold-latin.woff") format("woff");
  unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2010-2015,U+2018-201E,U+2022,U+2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2190-2193,U+2212,U+00D7,U+00F7;}

/* Fallback = the font that was already in the project (Bangla.ttf), kept so nothing breaks */
@font-face{
  font-family:"PMBangla";font-style:normal;font-weight:400;font-display:swap;
  src:url("fonts/Bangla.ttf") format("truetype");
  unicode-range:U+0980-09FF,U+0964-0965,U+200C-200D;
  size-adjust:116%;
}

:root{
  --pm-font:Roboto,"SolaimanLipi","PMBangla",system-ui,-apple-system,"Segoe UI",Arial,"Noto Sans Bengali","Nirmala UI",sans-serif;
  --pm-fs-h1:26px;  --pm-fs-h2:22px; --pm-fs-h3:18px;
  --pm-fs-body:16px; --pm-fs-small:13.5px; --pm-fs-btn:15px; --pm-fs-label:14px;
  --pm-fs-question:19px; --pm-fs-option:17px; --pm-fs-meta:13px;
  --pm-lh-body:1.6; --pm-lh-question:1.6; --pm-lh-tight:1.35;
}

/* 1) One font stack everywhere (replaces the repeated "ProshnoMakerText",serif rules) */
html,body,button,input,select,textarea,.btn,
.en,.english,:lang(en),body :lang(en),body .en,body .english,
.sidebar a,.sidebar .nav-link,.sidebar .menu-item,.sidebar span,
.questions-area,.question-card,.stimulus-full,.finder-panel,.finder-panel *,
.builder-head,.filterbar,.result-head button,#questionModes .mode-btn,
.question-card .q-head .select-pill,.pm-home,
.pm-gen-sidebar,.pm-gen-sidebar *,.question-card *{
  font-family:var(--pm-font)!important;
  font-stretch:normal!important;
  font-synthesis:none;     /* real Bold file exists, so no faux-bold */
}

/* 2) Natural spacing: remove the negative letter/word spacing hacks */
html,body,.nav a,.q-text,.opt,.sidebar a,.questions-area,.question-card,.question-card *,
.stimulus-full,.finder-panel,.finder-panel *,.pm-gen-sidebar,.pm-gen-sidebar *,.pm-g-nav a,.pm-gen-sidebar .pm-g-nav a{
  letter-spacing:0!important;
  word-spacing:normal!important;
}

/* 3) Rendering + base size */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  font-size:var(--pm-fs-body);line-height:var(--pm-lh-body);font-weight:400!important;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;
}

/* 4) Hierarchy (true bold only via the 700 face) */
h1,h2,h3,h4,.btn,button,th,.nav-title,.brand{font-weight:700!important}
h1{font-size:var(--pm-fs-h1);line-height:1.3}
h2{font-size:var(--pm-fs-h2);line-height:1.3}
h3{font-size:var(--pm-fs-h3);line-height:1.35}
button,.btn{font-size:var(--pm-fs-btn)}
label,.form label{font-size:var(--pm-fs-label)}
small,.meta,.q-head{font-size:var(--pm-fs-meta)}

/* 5) Question card */
.question-card .q-text{font-size:var(--pm-fs-question)!important;line-height:var(--pm-lh-question)!important;font-weight:400!important}
.question-card .options .opt{font-size:var(--pm-fs-option)!important;line-height:1.5!important;font-weight:400!important}
.question-card .q-head{font-size:var(--pm-fs-meta)!important;line-height:1.4!important}
.stimulus-full{font-size:var(--pm-fs-question)!important;line-height:var(--pm-lh-question)!important}

/* 6) Navigation */
.nav a,.sidebar a,.pm-gen-sidebar .pm-g-nav a{font-size:15.5px!important;line-height:1.4!important}
