/*
 * Natural Spoken English - site-wide SolaimanLipi typography.
 * External font assets are loaded by the visitor's browser using HTTPS.
 * Icons intentionally retain their own font-family so that symbols do not disappear.
 * Regular & bold webfont CDN: github.com/qnabangla/font-solaimanlipi
 */
@font-face {
  font-family: 'SolaimanLipi';
  src: local('SolaimanLipi'),
       url('https://cdn.jsdelivr.net/gh/qnabangla/font-solaimanlipi@main/SolaimanLipi.woff2') format('woff2'),
       url('https://cdn.jsdelivr.net/gh/qnabangla/font-solaimanlipi@main/SolaimanLipi.woff') format('woff');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'SolaimanLipi';
  src: local('SolaimanLipi Bold'),
       url('https://cdn.jsdelivr.net/gh/qnabangla/font-solaimanlipi@main/SolaimanLipi-Bold.woff2') format('woff2'),
       url('https://cdn.jsdelivr.net/gh/qnabangla/font-solaimanlipi@main/SolaimanLipi-Bold.woff') format('woff');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

/* Replace the theme's older typography variable without touching font sizes or colors. */
:root {
  --cc-font: 'SolaimanLipi', 'Noto Sans Bengali', Arial, sans-serif !important;
  --nse-site-font: 'SolaimanLipi', 'Noto Sans Bengali', Arial, sans-serif;
}

/* WordPress public pages, WooCommerce, login, dashboards and admission pages.
 * Exclude known icon font elements (Font Awesome / Dashicons / material icons).
 * CSS loaded last overrides saved Redux font-family rules, not other styling.
 */
html body,
html body :not(:is(
  .fa, .fas, .far, .fal, .fab, .fad,
  .fa-solid, .fa-regular, .fa-brands, .fa-stack,
  .dashicons, .dashicons-before, .material-icons,
  .glyphicon, .swiper-button-next, .swiper-button-prev,
  [class^='fa-'], [class*=' fa-'],
  [class^='dashicons-'], [class*=' dashicons-'],
  [class^='eicon-'], [class*=' eicon-'],
  [class^='icon-'], [class*=' icon-']
)),
html body.cc-theme-body :not(:is(
  .fa, .fas, .far, .fal, .fab, .fad,
  .fa-solid, .fa-regular, .fa-brands, .fa-stack,
  .dashicons, .dashicons-before, .material-icons,
  .glyphicon, .swiper-button-next, .swiper-button-prev,
  [class^='fa-'], [class*=' fa-'],
  [class^='dashicons-'], [class*=' dashicons-'],
  [class^='eicon-'], [class*=' eicon-'],
  [class^='icon-'], [class*=' icon-']
)),
html body.dftc-lms-app :not(:is(
  .fa, .fas, .far, .fal, .fab, .fad,
  .fa-solid, .fa-regular, .fa-brands, .fa-stack,
  .dashicons, .dashicons-before, .material-icons,
  .glyphicon, .swiper-button-next, .swiper-button-prev,
  [class^='fa-'], [class*=' fa-'],
  [class^='dashicons-'], [class*=' dashicons-'],
  [class^='eicon-'], [class*=' eicon-'],
  [class^='icon-'], [class*=' icon-']
)) {
  font-family: var(--nse-site-font) !important;
}

/* Some theme/widget elements specify text typography more specifically. */
html body.cc-theme-body .cc-brand-copy :is(strong,small),
html body.cc-theme-body .cc-topbar :is(a,span,b,strong),
html body.cc-theme-body .cc-main-nav a,
html body.cc-theme-body .cc-mobile-nav a,
html body.cc-theme-body .cc-site-shell :is(h1,h2,h3,h4,h5,h6,p,small,strong,button,input,select,textarea,option,label,th,td),
html body.dftc-login-page :is(h1,h2,h3,p,button,input,label,strong,small),
html body.bdc-portal-page :is(h1,h2,h3,p,button,input,label,strong,small) {
  font-family: var(--nse-site-font) !important;
}

/* Icon fonts are vital for menus, login fields, buttons and dashboards. */
html body :is(.fa,.fas,.far,.fa-solid,.fa-regular,.fal,.fad),
html body [class^='fa-solid'],
html body [class*=' fa-solid'],
html body [class^='fa-regular'],
html body [class*=' fa-regular'] {
  font-family: 'Font Awesome 6 Free' !important;
}
html body :is(.fab,.fa-brands),
html body [class^='fa-brands'],
html body [class*=' fa-brands'] {
  font-family: 'Font Awesome 6 Brands' !important;
}
html body :is(.dashicons),
html body .dashicons-before::before,
html body #wpadminbar .ab-icon::before,
html body #wpadminbar .ab-item::before {
  font-family: dashicons !important;
}
html body .material-icons { font-family: 'Material Icons' !important; }

/* Font-family only: typography sizes, line heights, menu layout and logo untouched. */
