/* Typography & Fonts — Poppins/Rubik: self-host WOFF2 (kfb-labs-theme-fonts w inc/assets.php) */

/* Base text */
body {
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: var(--color-black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: var(--color-black);
}

/* Desktop heading scale (≥ 769px) */
h1 {
  font-size: 5rem; /* 80px */
  font-weight: 500;
  line-height: 5.5rem; /* 88px */
}

h2 {
  font-size: 4rem; /* 64px */
  font-weight: 500;
  line-height: 4.5rem; /* 72px */
}

h3 {
  font-size: 3rem; /* 48px */
  font-weight: 500;
  line-height: 3.5rem; /* 56px */
}

h4 {
  font-size: 2.5rem; /* 40px */
  font-weight: 500;
  line-height: 3rem; /* 48px */
}

h5 {
  font-size: 2rem; /* 32px */ 
  font-weight: 500;
  line-height: 2.5rem; /* 40px */
}

h6 {
  font-size: 1.5rem; /* 24px */
  font-weight: 500;
  line-height: 2rem; /* 32px */
}

/* Utility classes: apply heading styles to any element */
.h1-style {
  font-size: 5rem; /* 80px - same as h1 */
  font-weight: 500;
  line-height: 5.5rem; /* 88px - same as h1 */
}

.h2-style {
  font-size: 4rem; /* 64px - same as h2 */
  font-weight: 500;
  line-height: 4.5rem; /* 72px - same as h2 */
}

.h3-style {
  font-size: 3rem; /* 48px - same as h3 */
  font-weight: 500;
  line-height: 3.5rem; /* 56px - same as h3 */
}

.h4-style {
  font-size: 2.5rem; /* 40px - same as h4 */
  font-weight: 500;
  line-height: 3rem; /* 48px - same as h4 */
}

.h5-style {
  font-size: 2rem; /* 32px - same as h5 */
  font-weight: 500;
  line-height: 2.5rem; /* 40px - same as h5 */
}

.h6-style {
  font-size: 1.5rem; /* 24px - same as h6 */
  font-weight: 500;
  line-height: 2rem; /* 32px - same as h6 */
}

/* Paragraphs */
p {
  margin: 0 0 1.5rem; /* bottom 24px */
  font-size: 1rem; /* 16px - body standard */
  line-height: 1.6; /* ~26px */
}

p:last-child {
  margin-bottom: 0;
}

/* Links */
/* a {
  color: #0073aa;
  text-decoration: none;
  transition: color 0.2s ease;
} */

/* a:hover,
a:focus {
  color: #005177;
  text-decoration: underline;
} */

/* Lists */
ul,
ol {
  margin: 0 0 1.5rem;
  padding-left: 2rem;
}

li {
  margin-bottom: 0.5rem;
  line-height: 1.6; /* ~26px */
}

/* Strong & Emphasis */
strong,
b {
  font-weight: 600;
  color: #111111;
}

em,
i {
  font-style: italic;
}

/* Utility text sizes from the scale */
.text-body-large {
  font-size: 1.25rem; /* 20px */
  font-weight: 400;
  line-height: 1.875rem; /* 30px */
}

.text-body-large-bold {
  font-size: 1.25rem; /* 20px */
  font-weight: 500;
  line-height: 1.875rem; /* 30px */
  font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
}

.text-body-standard {
  font-size: 1rem; /* 16px */
  font-weight: 400;
  line-height: 1.6rem; /* ~26px */
}

.text-body-small {
  font-size: 0.875rem; /* 14px */
  font-weight: 400;
  line-height: 1.4rem; /* ~22px */
}

.text-highlight-large {
  font-size: 1.25rem; /* 20px */
  font-weight: 500; 
  line-height: 1.875rem; /* 30px */
}

.text-highlight-standard {
  font-size: 1rem; /* 16px */
  font-weight: 500;
  line-height: 1.6rem; /* ~26px */
}

.text-highlight-small {
  font-size: 0.875rem; /* 14px */
  font-weight: 500;
  line-height: 1.4rem; /* ~22px */
}

.text-light-large {
  font-size: 1.25rem; /* 20px */
  font-weight: 300;
  line-height: 1.875rem; /* 30px */
}

.text-light-standard {
  font-size: 1rem; /* 16px */
  font-weight: 300;   
  line-height: 1.6rem; /* ~26px */
}

.text-light-small {
  font-size: 0.875rem; /* 14px */
  font-weight: 300; 
  line-height: 1.4rem; /* ~22px */
}

.text-caption {
  font-size: 0.75rem; /* 12px */
  font-weight: 400;
  line-height: 1.2rem; /* ~19px */
  text-transform: uppercase;
}

.text-quote {
  font-size: 2rem; /* 32px */ 
  font-weight: 400;
  line-height: 3rem; /* 48px */
}

.text-quote-small {
  font-size: 1.5rem; /* 24px */ 
  font-weight: 400;
  line-height: 2rem; /* 32px */
}

/* Gutenberg heading block alignment with global scale */
.wp-block-heading {
  margin: 0 0 1rem; /* bottom 16px */
  font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: var(--color-black, #050505);
}

/* h1.wp-block-heading - uses all h1 parameters */
.wp-block-heading h1,
h1.wp-block-heading {
  font-size: 5rem; /* 80px */
  font-weight: 500;
  line-height: 5.5rem; /* 88px */
}

/* h2.wp-block-heading - uses all h2 parameters */
.wp-block-heading h2,
h2.wp-block-heading {
  font-size: 4rem; /* 64px */
  font-weight: 500;
  line-height: 4.5rem; /* 72px */
}

/* h3.wp-block-heading - uses all h3 parameters */
.wp-block-heading h3,
h3.wp-block-heading {
  font-size: 3rem; /* 48px */
  font-weight: 500;
  line-height: 3.5rem; /* 56px */
}

/* h4.wp-block-heading - uses all h4 parameters */
.wp-block-heading h4,
h4.wp-block-heading {
  font-size: 2.5rem; /* 40px */
  font-weight: 500;
  line-height: 3rem; /* 48px */
}

/* h5.wp-block-heading - uses all h5 parameters */
.wp-block-heading h5,
h5.wp-block-heading {
  font-size: 2rem; /* 32px */
  font-weight: 500;
  line-height: 2.5rem; /* 40px */
}

/* h6.wp-block-heading - uses all h6 parameters */
.wp-block-heading h6,
h6.wp-block-heading {
  font-size: 1.5rem; /* 24px */
  font-weight: 500;
  line-height: 2rem; /* 32px */
}

.wp-block-paragraph {
  margin: 0 0 1.5rem; /* bottom 24px */
  font-size: 1rem; /* 16px */
  line-height: 1.6; /* ~26px */
}

.wp-block-paragraph:last-child {
  margin-bottom: 0;
}

.wp-block-list {
  margin: 0 0 1.5rem; /* bottom 24px */
  padding-left: 2rem;
}

.wp-block-list li {
  margin-bottom: 0.5rem;
  line-height: 1.6; /* ~26px */
}

/* Highlight used by inline format in headings */
.kfb-heading-highlight {
  color: var(--color-blue-200);
}

.kfb-heading-highlight-darker {
  color: var(--color-blue-600);
}

/* Inline link style used by custom RichText format */
.kfb-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-blue-600);
  text-decoration: none;
  border-bottom: 1px solid var(--color-blue-600);
  padding-bottom: 0.05rem;
}

.kfb-inline-link::after {
  content: "\2192";
  font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1.2em;
  line-height: 1;
  flex-shrink: 0;
}

/* Mobile scale (≤ 768px) */
@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  h1 {
    font-size: 3rem; /* 48px */
    line-height: 3.5rem; /* 56px */
  }

  h2 {
    font-size: 2.25rem; /* 36px */
    line-height: 2.75rem; /* 44px */
  }

  h3 {
    font-size: 2rem; /* 32px */
    line-height: 2.375rem; /* 38px */
  }

  h4 {
    font-size: 1.5rem; /* 24px */
    line-height: 1.875rem; /* 30px */
  }

  h5 {
    font-size: 1.25rem; /* 20px */
    line-height: 1.5rem; /* 24px */
  }

  h6 {
    font-size: 1rem; /* 16px */
    line-height: 1.25rem; /* 20px */
  }

  /* Mobile styles for utility classes */
  .h1-style {
    font-size: 3rem; /* 48px - same as h1 mobile */
    line-height: 3.5rem; /* 56px - same as h1 mobile */
  }

  .h2-style {
    font-size: 2.25rem; /* 36px - same as h2 mobile */
    line-height: 2.75rem; /* 44px - same as h2 mobile */
  }

  .h3-style {
    font-size: 2rem; /* 32px - same as h3 mobile */
    line-height: 2.375rem; /* 38px - same as h3 mobile */
  }

  .h4-style {
    font-size: 1.5rem; /* 24px - same as h4 mobile */
    line-height: 1.875rem; /* 30px - same as h4 mobile */
  }

  .h5-style {
    font-size: 1.25rem; /* 20px - same as h5 mobile */
    line-height: 1.5rem; /* 24px - same as h5 mobile */
  }

  .h6-style {
    font-size: 1rem; /* 16px - same as h6 mobile */
    line-height: 1.25rem; /* 20px - same as h6 mobile */
  }

  /* Mobile styles for .wp-block-heading - uses all h1-h6 mobile parameters */
  .wp-block-heading h1,
  h1.wp-block-heading {
    font-size: 3rem; /* 48px */
    line-height: 3.5rem; /* 56px */
  }

  .wp-block-heading h2,
  h2.wp-block-heading {
    font-size: 2.25rem; /* 36px */
    line-height: 2.75rem; /* 44px */
  }

  .wp-block-heading h3,
  h3.wp-block-heading {
    font-size: 2rem; /* 32px */
    line-height: 2.375rem; /* 38px */
  }

  .wp-block-heading h4,
  h4.wp-block-heading {
    font-size: 1.5rem; /* 24px */
    line-height: 1.875rem; /* 30px */
  }

  .wp-block-heading h5,
  h5.wp-block-heading {
    font-size: 1.25rem; /* 20px */
    line-height: 1.5rem; /* 24px */
  }

  .wp-block-heading h6,
  h6.wp-block-heading {
    font-size: 1rem; /* 16px */
    line-height: 1.25rem; /* 20px */
  }

  /* Body / highlight / light — mobile: Large 16px, Standard 14px, Small 12px */
  .text-body-large,
  .text-body-large-bold,
  .text-highlight-large,
  .text-light-large {
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
  }

  .text-body-standard,
  .text-highlight-standard,
  .text-light-standard {
    font-size: 0.875rem; /* 14px */
    line-height: 1.3125rem; /* 21px */
  }

  .text-body-small,
  .text-highlight-small,
  .text-light-small {
    font-size: 0.75rem; /* 12px */
    line-height: 1.125rem; /* 18px */
  }

  p,
  .wp-block-paragraph {
    font-size: 0.875rem; /* 14px */
    line-height: 1.3125rem; /* 21px */
  }

  .text-quote {
    font-size: 1.25rem; /* 20px */
    line-height: 1.875rem; /* 30px */
  }

  .text-quote-small {
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
  }
}


