/**
 * MLWA unified typography — Plus Jakarta Sans (single professional family).
 * Loaded after style.css; overrides template font variables & sizes.
 */

:root {
  --mlwa-font-sans: var(--font-mlwa-sans), "Plus Jakarta Sans", system-ui, -apple-system,
    "Segoe UI", Roboto, sans-serif;

  --title-font: var(--mlwa-font-sans);
  --text-font: var(--mlwa-font-sans);
  --text-font2: var(--mlwa-font-sans);
  --text-font3: var(--mlwa-font-sans);
  --sec-title-subtitle-font-family: var(--mlwa-font-sans);
  --sec-title-font-family: var(--mlwa-font-sans);

  /* Type scale (16px base) */
  --body-font-size: 16px;
  --body-line-height: 1.7;
  --body-font-weight: 400;

  --h1-font-size: 2.625rem; /* 42px */
  --h2-font-size: 2rem; /* 32px */
  --h3-font-size: 1.5rem; /* 24px */
  --h4-font-size: 1.25rem; /* 20px */
  --h5-font-size: 1.125rem; /* 18px */
  --h6-font-size: 1rem; /* 16px */

  --h1-font-weight: 700;
  --h2-font-weight: 700;
  --h3-font-weight: 600;
  --h4-font-weight: 600;
  --h5-font-weight: 600;
  --h6-font-weight: 600;

  --sec-title-font-size: var(--h2-font-size);
  --sec-title-font-weight: 700;
  --sec-title-subtitle-font-size: 0.875rem; /* 14px */
  --sec-title-subtitle-font-weight: 600;

  --headings-color: #1e293b;
  --text-color: #334155;
  --link-color: #580868;
  --link-hover-color: #3d0650;
}

html {
  font-size: 16px;
}

body,
.page-wrapper {
  font-family: var(--mlwa-font-sans);
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  color: var(--text-color);
}

p,
.text,
li,
td,
th,
label,
input,
textarea,
select,
button:not(.slick-prev):not(.slick-next) {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: var(--mlwa-font-sans);
  color: var(--headings-color);
}

@media (max-width: 1199.98px) {
  :root {
    --h1-font-size: 2.25rem;
    --h2-font-size: 1.75rem;
  }
}

@media (max-width: 767.98px) {
  :root {
    --h1-font-size: 1.875rem;
    --h2-font-size: 1.5rem;
    --h3-font-size: 1.25rem;
  }
}

/* Page hero titles (inner pages) */
.page-title .title {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
}

@media (max-width: 767.98px) {
  .page-title .title {
    font-size: 1.75rem !important;
  }
}

.page-title .text,
.page-breadcrumb,
.page-breadcrumb li,
.page-breadcrumb li a {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
}

/* Section blocks */
.sec-title .sub-title {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  top: 0 !important;
}

.sec-title h2 {
  font-family: var(--mlwa-font-sans) !important;
  font-size: var(--h2-font-size) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

@media (max-width: 1199.98px) {
  .sec-title h2 {
    font-size: 1.75rem !important;
  }
}

@media (max-width: 575.98px) {
  .sec-title h2 {
    font-size: 1.5rem !important;
  }
}

.sec-title .text {
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

/* Navigation */
.main-menu .navigation > li > a,
.sticky-header .navigation > li > a,
.mobile-menu .navigation > li > a {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
}

/* Header: flex row — logo + single-line nav on desktop */
@media (min-width: 992px) {
  .header-style-three .main-box.style-two {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px 20px;
    min-height: 110px;
  }

  .header-style-three .main-box.style-two .logo-box {
    position: relative;
    left: auto;
    top: auto;
    flex: 0 0 auto;
    z-index: 2;
    max-width: 38%;
  }

  .header-style-three .main-box.style-two .logo-box .logo img {
    max-width: 100%;
    width: auto;
    height: auto;
    max-height: 72px;
  }

  .header-style-three .main-box.style-two .nav-outer {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    margin: 0;
    padding-left: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  .header-style-three .main-menu .navigation {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    float: none;
    width: 100%;
  }

  .header-style-three .main-menu .navigation > li {
    float: none;
    flex: 0 0 auto;
    margin-right: 0;
    padding: 0;
    white-space: nowrap;
  }

  .header-style-three .main-menu .navigation > li + li {
    margin-left: clamp(10px, 1.35vw, 22px);
  }

  .header-style-three .main-menu .navigation > li > a {
    font-size: 0.8125rem !important;
    letter-spacing: 0.04em !important;
    line-height: 1.4 !important;
    padding: 4px 0 !important;
  }

  .header-style-three .main-menu .navigation li.dropdown .dropdown-btn {
    margin-left: 2px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .header-style-three .main-box.style-two .logo-box {
    max-width: 34%;
  }

  .header-style-three .main-menu .navigation > li > a {
    font-size: 0.75rem !important;
    letter-spacing: 0.03em !important;
  }

  .header-style-three .main-menu .navigation > li + li {
    margin-left: 10px;
  }
}

@media (min-width: 1200px) {
  .header-style-three .main-box.style-two .logo-box .logo img {
    max-height: 80px;
  }
}

/* About / Admission dropdown — fit long labels inside the panel */
.header-style-three .main-menu .navigation > li > ul {
  width: max-content;
  min-width: 280px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 8px 0 4px;
  box-sizing: border-box;
}

.header-style-three .main-menu .navigation > li > ul > li > a {
  margin: 0 !important;
  padding: 10px 20px !important;
  line-height: 1.4 !important;
  font-size: 0.9375rem !important;
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
  box-sizing: border-box;
}

.header-style-three .sticky-header .navigation > li > ul {
  width: max-content;
  min-width: 280px;
  max-width: min(360px, calc(100vw - 32px));
}

.header-style-three .sticky-header .navigation > li > ul > li > a {
  margin: 0 !important;
  padding: 10px 20px !important;
  white-space: normal;
  overflow-wrap: break-word;
}

/* Services sidebar (Academic / Rules / Faculty pages): ensure link text contrasts on dark tiles */
.sidebar-service-list li a {
  color: #fff;
}

.sidebar-service-list li a span {
  color: inherit;
}

/* Buttons (exclude Slick carousel arrows — labels use ::before only) */
.theme-btn,
.btn-style-one,
.btn-style-two,
button:not(.slick-prev):not(.slick-next),
.button {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
}

.slick-prev,
.slick-next {
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}

/* Footer */
.main-footer,
.main-footer p,
.main-footer a,
.footer-widget,
.widget-title {
  font-family: var(--mlwa-font-sans) !important;
}

.footer-widget .widget-title {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
}

/* Stats / counters */
.count-text,
.counter-block-three .count-box {
  font-family: var(--mlwa-font-sans) !important;
  font-weight: 700 !important;
}

/* Marquee */
.marquee,
.marquee-section {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
}

/* Banner contact strip */
.banner-section-three .float-text a {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

/* Tables (staff list etc.) */
.page-wrapper table {
  font-family: var(--mlwa-font-sans) !important;
  font-size: 0.9375rem !important;
}

.page-wrapper table thead th {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Normalize stray inline heading sizes on homepage sections */
.page-wrapper [style*="font-size: 50px"],
.page-wrapper [style*="font-size: 45px"],
.page-wrapper [style*="font-size: 35px"] {
  font-size: var(--h2-font-size) !important;
  font-family: var(--mlwa-font-sans) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.page-wrapper [style*="font-size: 32px"],
.page-wrapper [style*="font-size: 28px"] {
  font-size: var(--h3-font-size) !important;
  font-family: var(--mlwa-font-sans) !important;
  font-weight: 600 !important;
}

.page-wrapper [style*="font-size: 20px"] {
  font-size: 1.125rem !important;
}

