@font-face {
  font-family: "MaithiliLegacy";
  src:
    url("./fonts/MAITHILI.woff2?v=2") format("woff2"),
    url("./fonts/MAITHILI.ttf?v=2") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "TirhutaUnicode";
  src:
    url("./fonts/NotoSansTirhuta-Regular.woff2?v=2") format("woff2"),
    url("./fonts/NotoSansTirhuta-Regular.ttf?v=2") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/*
  Apply only when explicitly requested.
  This avoids breaking the site's normal Latin/Hindi typography if the font is legacy-mapped.
*/
.mfs-maithili {
  font-family: "MaithiliLegacy", sans-serif;
}

/* Unicode Tirhuta support (U+11480..U+114DF) */
.mfs-tirhuta {
  font-family: "TirhutaUnicode", "Noto Sans", sans-serif;
  font-weight: 400;
}

/* Hindi/Tirhuta toggle block */
.mfs-bilingual {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  padding: 12px;
  margin: 14px 0;
  background: rgba(255, 255, 255, 0.65);
  position: relative;
}
.mfs-bilingual--auto {
  margin: 0 0 16px 0;
}
.mfs-bilingual__bar {
  display: inline-flex;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
}
.mfs-bilingual__btn {
  border: 0;
  background: transparent;
  padding: 8px 12px;
  border-radius: 999px;
  font: inherit;
  cursor: pointer;
  user-select: none;
}
.mfs-bilingual__btn.is-active {
  background: #111;
  color: #fff;
}
.mfs-bilingual__content {
  margin-top: 12px;
}
/* Some themes apply broad "div { display:block }" rules; keep this strong. */
.mfs-bilingual .mfs-pane {
  display: none !important;
}
.mfs-bilingual[data-mfs-show="hi"] .mfs-pane[data-mfs-lang="hi"] {
  display: block !important;
}
.mfs-bilingual[data-mfs-show="tir"] .mfs-pane[data-mfs-lang="tir"] {
  display: block !important;
}

/* CSS-only toggle (radio based) - works even when JS is delayed/blocked */
.mfs-bilingual__radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.mfs-bilingual__radio--hi:checked ~ .mfs-bilingual__content .mfs-pane[data-mfs-lang="hi"] {
  display: block !important;
}
.mfs-bilingual__radio--tir:checked ~ .mfs-bilingual__content .mfs-pane[data-mfs-lang="tir"] {
  display: block !important;
}
.mfs-bilingual__radio--hi:checked ~ .mfs-bilingual__bar .mfs-bilingual__btn--hi,
.mfs-bilingual__radio--tir:checked ~ .mfs-bilingual__bar .mfs-bilingual__btn--tir {
  background: #111;
  color: #fff;
}

/* Site-wide view toggle (floating) */
.mfs-site-toggle {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 99999;
  display: inline-flex;
  gap: 6px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.mfs-site-toggle__btn {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  font: 600 13px/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  cursor: pointer;
  background: transparent;
  color: #fff;
  opacity: 0.9;
}
.mfs-site-toggle__btn.is-active {
  background: #fff;
  color: #111;
  opacity: 1;
}

/* Header placement (Foxiz navbar-right) */
.mfs-site-toggle--header {
  position: static;
  right: auto;
  bottom: auto;
  z-index: auto;
  padding: 0;
  gap: 6px;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  margin-left: 10px;
  align-items: center;
}
.mfs-site-toggle--header .mfs-site-toggle__btn {
  padding: 6px 10px;
  font-weight: 600;
  font-size: 12px;
  border-radius: 999px;
  background: rgba(0,0,0,0.06);
  color: inherit;
  opacity: 1;
}
.mfs-site-toggle--header .mfs-site-toggle__btn.is-active {
  background: #111;
  color: #fff;
}

@media (max-width: 782px) {
  .mfs-site-toggle--header.mfs-site-toggle--mobile {
    margin-left: 6px;
    gap: 4px;
  }
  .mfs-site-toggle--header.mfs-site-toggle--mobile .mfs-site-toggle__btn {
    padding: 5px 8px;
    font-size: 11px;
    line-height: 1;
  }
}

/* "Tirhuta view" = font switch only (no HTML conversion). Keep layout/theme styles intact. */
html.mfs-view-tirhuta .site-outer,
html.mfs-view-tirhuta .site-wrap {
  font-family: "TirhutaUnicode", "Noto Sans", sans-serif;
}
html.mfs-view-tirhuta .site-outer :where(
  h1, h2, h3, h4, h5, h6,
  p, span, a, li, ul, ol, div, small, strong, em, b, time, figcaption, label
):not(.dashicons):not(.material-icons):not(.material-symbols-outlined):not([class*="icon"]):not([class*=" fa-"]):not([class^="fa-"]),
html.mfs-view-tirhuta .site-wrap :where(
  h1, h2, h3, h4, h5, h6,
  p, span, a, li, ul, ol, div, small, strong, em, b, time, figcaption, label
):not(.dashicons):not(.material-icons):not(.material-symbols-outlined):not([class*="icon"]):not([class*=" fa-"]):not([class^="fa-"]) {
  font-family: "TirhutaUnicode", "Noto Sans", sans-serif !important;
}
html.mfs-view-tirhuta [id^="ntb"],
html.mfs-view-tirhuta [id^="ntb"] *,
html.mfs-view-tirhuta [class*="ntb"],
html.mfs-view-tirhuta [class*="ntb"] *,
html.mfs-view-tirhuta .ditty,
html.mfs-view-tirhuta .ditty *,
html.mfs-view-tirhuta [class*="ditty"],
html.mfs-view-tirhuta [class*="ditty"] * {
  font-family: "TirhutaUnicode", "Noto Sans", sans-serif !important;
}
html.mfs-view-tirhuta .adsbygoogle,
html.mfs-view-tirhuta .adsbygoogle *,
html.mfs-view-tirhuta .google-auto-placed,
html.mfs-view-tirhuta .google-auto-placed *,
html.mfs-view-tirhuta .adace-slot,
html.mfs-view-tirhuta .adace-slot *,
html.mfs-view-tirhuta .ad-slot,
html.mfs-view-tirhuta .ad-slot *,
html.mfs-view-tirhuta .ad-wrapper,
html.mfs-view-tirhuta .ad-wrapper *,
html.mfs-view-tirhuta .advertisement,
html.mfs-view-tirhuta .advertisement *,
html.mfs-view-tirhuta ins.adsbygoogle,
html.mfs-view-tirhuta iframe[id^="google_ads_iframe"] {
  font-family: inherit !important;
}
html.mfs-view-tirhuta .entry-title,
html.mfs-view-tirhuta .entry-content,
html.mfs-view-tirhuta .entry-content p,
html.mfs-view-tirhuta .entry-content li,
html.mfs-view-tirhuta .entry-content h1,
html.mfs-view-tirhuta .entry-content h2,
html.mfs-view-tirhuta .entry-content h3,
html.mfs-view-tirhuta .entry-content h4,
html.mfs-view-tirhuta .entry-content blockquote,
html.mfs-view-tirhuta .comment-content {
  font-family: "TirhutaUnicode", "Noto Sans", sans-serif;
}

/* Converter tool page */
.mfs-converter-page .ruby-table-contents,
.mfs-converter-page .sidebar-wrap,
.mfs-converter-page .single-feat,
.mfs-converter-page .entry-meta {
  display: none !important;
}
.mfs-converter-page .grid-container,
.mfs-converter-page .s-ct,
.mfs-converter-page .s-ct-inner,
.mfs-converter-page .e-ct-outer,
.mfs-converter-page .entry-content.rbct {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
.mfs-converter-page .grid-container {
  display: block !important;
}
.mfs-converter-page .rb-container.edge-padding {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.mfs-converter-page .footer-columns,
.mfs-converter-page .footer-columns .block-inner,
.mfs-converter-page .footer-columns .footer-col,
.mfs-converter-page .footer-columns .widget,
.mfs-converter-page .footer-columns .widget_categories,
.mfs-converter-page .footer-columns .widget_archive {
  min-width: 0;
}
.mfs-converter-page .footer-columns {
  display: block !important;
}
.mfs-converter-page .footer-columns .block-inner {
  display: block !important;
}
.mfs-converter-page .footer-columns .footer-col {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
}
.mfs-converter-page .footer-columns .widget_archive,
.mfs-converter-page .footer-columns .widget_categories {
  max-width: 100% !important;
}
.mfs-converter-page .footer-columns .widget_block:has(blockquote:empty),
.mfs-converter-page .footer-columns .widget_block:has(ul:empty),
.mfs-converter-page .footer-columns .widget_block blockquote:empty,
.mfs-converter-page .footer-columns .widget_block ul:empty {
  display: none !important;
}

/* Global footer cleanup/layout */
.footer-columns .widget_block:has(blockquote:empty),
.footer-columns .widget_block:has(blockquote p:empty),
.footer-columns .widget_block:has(ul:empty),
.footer-columns .widget_block:has(ul li:empty),
.footer-columns .widget_block blockquote:empty,
.footer-columns .widget_block blockquote p:empty,
.footer-columns .widget_block ul:empty,
.footer-columns .widget_block ul li:empty {
  display: none !important;
}
.footer-columns .block-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.footer-columns.footer-5c .footer-col:first-child {
  display: none !important;
}
.footer-columns .footer-col {
  flex: 1 1 280px;
  min-width: 0;
}
.footer-columns.footer-5c .footer-col:nth-child(2) {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
}
.footer-columns .widget_archive,
.footer-columns .widget_categories {
  max-width: 100%;
}
.footer-columns .widget_archive select {
  max-width: 100%;
}
.footer-columns .widget_categories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.footer-columns .widget_categories li {
  margin: 0 !important;
  max-width: 100%;
}
.footer-columns .widget_categories li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  background: #f3f3f6;
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.footer-columns .widget_categories li a .count {
  flex: 0 0 auto;
}
.mfs-converter-page .footer-columns .widget_categories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.mfs-converter-page .footer-columns .widget_categories li {
  margin: 0 !important;
  max-width: 100%;
}
.mfs-converter-page .footer-columns .widget_categories li a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  padding: 10px 14px;
  border-radius: 999px;
  background: #f3f3f6;
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.mfs-converter-page .footer-columns .widget_categories li a .count {
  flex: 0 0 auto;
}
.mfs-converter-page .footer-columns .widget_archive select {
  max-width: 100%;
}
.mfs-converter--clean {
  --mfs-accent: #9b0044;
  --mfs-accent-2: #c2185b;
  --mfs-text: #1a1c1e;
  --mfs-muted: #594045;
  --mfs-surface: #f9f9fc;
  --mfs-surface-low: #ffffff;
  --mfs-surface-soft: #f3f3f6;
  --mfs-border: #e1bec4;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  box-sizing: border-box;
  color: var(--mfs-text);
  padding: 20px 24px 72px;
  overflow-x: clip;
}
.mfs-converter__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 72px;
  margin-bottom: 36px;
}
.mfs-converter__brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mfs-converter__brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--mfs-accent), var(--mfs-accent-2));
  color: #fff;
  font: 800 18px/1 "Encode Sans Condensed", sans-serif;
}
.mfs-converter__brand-text {
  color: var(--mfs-accent);
  font: 800 28px/1 "Encode Sans Condensed", sans-serif;
  letter-spacing: -.03em;
}
.mfs-converter__nav {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.mfs-converter__nav-item {
  color: var(--mfs-text);
  font: 700 15px/1.2 "Encode Sans Condensed", sans-serif;
}
.mfs-converter__nav-item.is-active {
  color: var(--mfs-accent);
}
.mfs-converter__heading {
  max-width: 920px;
}
.mfs-converter__hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}
.mfs-converter__hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.mfs-converter__title {
  margin: 0;
  font-family: "Encode Sans Condensed", sans-serif;
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: .96;
  letter-spacing: -.04em;
  word-break: break-word;
}
.mfs-converter__subtitle {
  margin: 14px 0 0;
  font-size: 19px;
  line-height: 1.7;
  color: var(--mfs-muted);
  max-width: 760px;
  word-break: break-word;
}
.mfs-converter__workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}
.mfs-converter__panel {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.mfs-converter__panel-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
}
.mfs-converter__panel-kicker {
  margin: 0 0 8px;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--mfs-surface-soft);
  color: var(--mfs-muted);
  font: 700 11px/1 "Inter", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.mfs-converter__panel-head h2 {
  margin: 0;
  font-family: "Encode Sans Condensed", sans-serif;
  font-size: 34px;
  line-height: 1;
}
.mfs-converter__panel-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.mfs-converter__btn {
  appearance: none;
  border: 1px solid var(--mfs-border);
  border-radius: 10px;
  padding: 14px 22px;
  background: transparent;
  color: var(--mfs-accent);
  font: 700 13px/1 "Inter", sans-serif;
  cursor: pointer;
}
.mfs-converter__panel--output .mfs-converter__btn:first-child {
  background: linear-gradient(180deg, var(--mfs-accent), var(--mfs-accent-2));
  color: #fff;
  border-color: transparent;
}
.mfs-converter__textarea,
.mfs-converter__output {
  width: 100%;
  box-sizing: border-box;
  min-height: 540px;
  padding: 28px;
  border: 1px solid rgba(155, 0, 68, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #fcfbfd 100%);
  box-shadow: 0 18px 40px rgba(26, 28, 30, 0.06);
  max-width: 100%;
}
.mfs-converter__textarea {
  resize: none;
  font: 400 20px/1.8 "Inter", sans-serif;
  color: var(--mfs-text);
}
.mfs-converter__output-wrap {
  position: sticky;
  top: 104px;
  width: 100%;
}
.mfs-converter__output {
  overflow: auto;
  white-space: pre-wrap;
  font-size: 28px;
  line-height: 1.9;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.mfs-converter__metric {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--mfs-surface-soft);
  color: var(--mfs-muted);
  font: 600 12px/1 "Inter", sans-serif;
}
.mfs-converter__warning {
  margin: 0;
  color: #8f003f;
  font: 600 13px/1.6 "Inter", sans-serif;
}
.mfs-converter__hint {
  color: var(--mfs-muted);
  font-size: 14px;
  line-height: 1.6;
}
.mfs-converter__faq {
  max-width: 920px;
  margin: 120px auto 0;
}
.mfs-converter__faq-head h2 {
  margin: 0 0 28px;
  text-align: center;
  font-family: "Encode Sans Condensed", sans-serif;
  font-size: 44px;
  line-height: 1;
}
.mfs-converter__faq-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mfs-converter__faq-item {
  border-radius: 16px;
  background: var(--mfs-surface-soft);
  overflow: hidden;
}
.mfs-converter__faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 22px 24px;
  font: 700 20px/1.3 "Encode Sans Condensed", sans-serif;
}
.mfs-converter__faq-item summary::-webkit-details-marker {
  display: none;
}
.mfs-converter__faq-item p {
  margin: 0;
  padding: 0 24px 22px;
  color: var(--mfs-muted);
  font: 400 16px/1.7 "Inter", sans-serif;
}
@media (max-width: 1024px) {
  .mfs-converter--clean {
    width: 100%;
    padding-top: 10px;
    padding-left: 18px;
    padding-right: 18px;
  }
  .mfs-converter__hero,
  .mfs-converter__workspace {
    grid-template-columns: 1fr;
  }
  .mfs-converter__topbar {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 22px;
  }
  .mfs-converter__hero {
    display: grid;
    gap: 16px;
    margin-bottom: 24px;
  }
  .mfs-converter__hero-meta {
    justify-content: flex-start;
  }
  .mfs-converter__nav {
    display: none;
  }
  .mfs-converter__textarea,
  .mfs-converter__output {
    min-height: 420px;
  }
  .mfs-converter__output-wrap {
    position: static;
  }
}
@media (max-width: 640px) {
  .mfs-converter--clean {
    width: 100%;
    padding-bottom: 36px;
    padding-left: 14px;
    padding-right: 14px;
  }
  .mfs-converter__topbar {
    margin-bottom: 26px;
    min-height: 0;
  }
  .mfs-converter__brand-text {
    font-size: 20px;
  }
  .mfs-converter__title {
    font-size: 30px;
    line-height: .94;
  }
  .mfs-converter__subtitle {
    font-size: 15px;
    line-height: 1.55;
  }
  .mfs-converter__hero-meta {
    justify-content: flex-start;
  }
  .mfs-converter__panel-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .mfs-converter__panel-head h2 {
    font-size: 24px;
  }
  .mfs-converter__panel-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .mfs-converter__btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: 14px 16px;
  }
  .mfs-converter__textarea,
  .mfs-converter__output {
    min-height: 280px;
    padding: 18px;
    border-radius: 14px;
  }
  .mfs-converter__textarea {
    font-size: 17px;
    line-height: 1.7;
  }
  .mfs-converter__output {
    font-size: 22px;
    line-height: 1.72;
  }
  .mfs-converter__hero-meta {
    gap: 8px;
  }
  .mfs-converter__faq {
    margin-top: 72px;
  }
  .mfs-converter__faq-head h2 {
    font-size: 34px;
  }
  .mfs-converter-page .footer-columns .widget_categories ul {
    gap: 8px;
  }
  .mfs-converter-page .footer-columns .widget_categories li {
    flex: 1 1 calc(50% - 8px);
  }
  .mfs-converter-page .footer-columns .widget_categories li a {
    width: 100%;
    justify-content: space-between;
    padding: 10px 12px;
  }
  .footer-columns .widget_categories ul {
    gap: 8px;
  }
  .footer-columns .block-inner {
    gap: 18px;
  }
  .footer-columns .footer-col {
    flex-basis: 100%;
  }
  .footer-columns .widget_categories li {
    flex: 1 1 calc(50% - 8px);
  }
  .footer-columns .widget_categories li a {
    width: 100%;
    justify-content: space-between;
    padding: 10px 12px;
  }
}

/* Homepage CLS guards: reserve text/meta space so card stacks don't jump after font/image swap. */
body.home .p-grid .entry-title,
body.blog .p-grid .entry-title {
  display: block;
  min-height: 3.6em;
}

body.home .p-grid .entry-title > a,
body.blog .p-grid .entry-title > a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

body.home .p-grid .entry-summary,
body.blog .p-grid .entry-summary {
  min-height: 3.4em;
}

body.home .p-grid .p-meta,
body.blog .p-grid .p-meta {
  min-height: 44px;
}

body.home .p-grid .meta-inner,
body.blog .p-grid .meta-inner {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}

body.home .p-grid .meta-avatar,
body.blog .p-grid .meta-avatar {
  flex: 0 0 44px;
}
