@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Open+Sans:wght@400;700&family=Lato:wght@400;700&family=Montserrat:wght@400;700&family=Lora:wght@400;700&family=Playfair+Display:wght@400;700&family=EB+Garamond:wght@400;700&family=Noto+Sans:wght@400;700&display=swap');

@font-face {
  font-family: "FRLHAH+BentonSans-Light";
  src: local("Bentonsans Light"), local("Benton Sans Light"), local("Bentonsans"), local("Benton Sans"), url("../fonts/FRLHAH_BentonSans-Light.cff");
  font-display: block;
}

@font-face {
  font-family: "FRLHAH+BentonSans-Regular";
  src: local("Bentonsans Regular"), local("Benton Sans Regular"), local("Bentonsans"), local("Benton Sans"), url("../fonts/FRLHAH_BentonSans-Regular.cff");
  font-display: block;
}

@font-face {
  font-family: "FRLHAH+BentonSans-Book";
  src: local("Bentonsans Book"), local("Benton Sans Book"), local("Bentonsans"), local("Benton Sans"), url("../fonts/FRLHAH_BentonSans-Book.cff");
  font-display: block;
}

@font-face {
  font-family: "THVNOF+BentonSans-Medium";
  src: local("Bentonsans Medium"), local("Benton Sans Medium"), local("Bentonsans"), local("Benton Sans"), url("../fonts/THVNOF_BentonSans-Medium.cff");
  font-display: block;
}

@font-face {
  font-family: "THVNOF+BentonSans-BookItalic";
  src: local("Bentonsans Bookitalic"), local("Benton Sans Book Italic"), local("Benton Sans"), url("../fonts/THVNOF_BentonSans-BookItalic.cff");
  font-display: block;
}

@font-face {
  font-family: "THVNOF+MercuryDisplay-Roman";
  src: local("Mercurydisplay Roman"), local("Mercury Display Roman"), local("Mercurydisplay"), local("Mercury Display"), url("../fonts/THVNOF_MercuryDisplay-Roman.cff");
  font-display: block;
}

@font-face {
  font-family: "DZRVYL+FreightDispProSemibold-Regular";
  src: local("Freightdispprosemibold Regular"), local("Freight Disp Pro Semibold Regular"), local("Freightdispprosemibold"), local("Freight Disp Pro"), url("../fonts/DZRVYL_FreightDispProSemibold-Regular.cff");
  font-display: block;
}

@font-face {
  font-family: "DZRVYL+FreightDispProBook-Regular";
  src: local("Freightdispprobook Regular"), local("Freight Disp Pro Book Regular"), local("Freightdispprobook"), local("Freight Disp Pro"), url("../fonts/DZRVYL_FreightDispProBook-Regular.cff");
  font-display: block;
}

@font-face {
  font-family: "DZRVYL+ArialUnicodeMS";
  src: local("Arialunicodems"), local("Arial Unicode Ms"), url("../fonts/DZRVYL_ArialUnicodeMS.woff2") format("woff2"), url("../fonts/DZRVYL_ArialUnicodeMS.ttf");
  font-display: block;
}

@font-face {
  font-family: "SVLHAH+ArialUnicodeMS";
  src: local("Arialunicodems"), local("Arial Unicode Ms"), url("../fonts/SVLHAH_ArialUnicodeMS.woff2") format("woff2"), url("../fonts/SVLHAH_ArialUnicodeMS.ttf");
  font-display: block;
}

@font-face {
  font-family: "KKJLSX+ArialUnicodeMS";
  src: local("Arialunicodems"), local("Arial Unicode Ms"), url("../fonts/KKJLSX_ArialUnicodeMS.woff2") format("woff2"), url("../fonts/KKJLSX_ArialUnicodeMS.ttf");
  font-display: block;
}

@font-face {
  font-family: "KKJLSX+BentonSans-BookCyrillic";
  src: local("Bentonsans Bookcyrillic"), local("Benton Sans Book Cyrillic"), local("Benton Sans Cyrillic"), url("../fonts/KKJLSX_BentonSans-BookCyrillic.cff");
  font-display: block;
}

@font-face {
  font-family: "KKJLSX+BentonSans-Bold";
  src: local("Bentonsans Bold"), local("Benton Sans Bold"), local("Bentonsans"), local("Benton Sans"), url("../fonts/KKJLSX_BentonSans-Bold.cff");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+MercuryDisplay-Roman";
  src: local("Mercurydisplay Roman"), local("Mercury Display Roman"), local("Mercurydisplay"), local("Mercury Display"), url("../fonts/TEVNOF_MercuryDisplay-Roman.cff");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+BentonSans-Medium";
  src: local("Bentonsans Medium"), local("Benton Sans Medium"), local("Bentonsans"), local("Benton Sans"), url("../fonts/TEVNOF_BentonSans-Medium.cff");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+BentonSans-Light";
  src: local("Bentonsans Light"), local("Benton Sans Light"), local("Bentonsans"), local("Benton Sans"), url("../fonts/TEVNOF_BentonSans-Light.cff");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+BentonSans-Regular";
  src: local("Bentonsans Regular"), local("Benton Sans Regular"), local("Bentonsans"), local("Benton Sans"), url("../fonts/TEVNOF_BentonSans-Regular.cff");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+Helvetica";
  src: local("Helvetica"), url("../fonts/TEVNOF_Helvetica.cff");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+ArialUnicodeMS";
  src: local("Arialunicodems"), local("Arial Unicode Ms"), url("../fonts/TEVNOF_ArialUnicodeMS.woff2") format("woff2"), url("../fonts/TEVNOF_ArialUnicodeMS.ttf");
  font-display: block;
}

@font-face {
  font-family: "TEVNOF+Wingdings-Regular";
  src: local("Wingdings Regular"), local("Wingdings"), url("../fonts/TEVNOF_Wingdings-Regular.woff2") format("woff2"), url("../fonts/TEVNOF_Wingdings-Regular.ttf");
  font-display: block;
}

/* Default font for safety (no !important so per-zone fonts can apply) */
.text-content text,
.text-content tspan,
.text-layer text,
.text-layer tspan {
  font-family: "FRLHAH+BentonSans-Regular";
}


/* FXL page container — left align only; no justify; no injected word/letter spacing */
.page-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: left;
  text-align-last: left;
  word-spacing: normal;
  letter-spacing: normal;
}
.page-container img.page-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 0;
}
/* Reset Thorium default overlay so we control highlight */
:root {
  -epub-media-overlay-active-color: transparent !important;
}
.smil-target.-epub-media-overlay-active,
.smil-target.smilActive,
.smil-target.readium-smil-active {
  fill: #2196F3 !important;
  color: #2196F3 !important;
  opacity: 1 !important;
}
/* Optional: Background highlight for SVG text using a filter if needed, 
   but 'fill' change is the most robust across all readers. */
.text-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  text-align: left;
  text-align-last: left;
  white-space: normal;
  word-spacing: normal;
  letter-spacing: normal;
}
.smil-target,
.visible-word {
  position: absolute;
  white-space: nowrap;
  color: #000;
  text-align: left;
  text-align-last: left;
  word-spacing: normal;
  letter-spacing: normal;
}
/* Avoid artificial gaps between word spans (do not use inline-block on FXL text spans) */
.word-wrapper .glyph,
.sentence-wrapper .glyph { display: inline; }
.visible-word {
  pointer-events: none;
}
