/* ============================================================
   KLS SCHLAFSCHULE TYPOGRAPHY STANDARDIZATION
   Typography only. Loaded last on schlafschule.html so page-specific
   legacy font declarations cannot override the site-wide system.
   ============================================================ */

/* 1) Hero H1 */
html body .ss-page .ss-hero-copy .ss-h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 40px !important;
  font-weight: 500 !important;
  line-height: 0.95 !important;
  color: #33443A !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}

/* 2) Main section H2 titles — use the canonical site-wide responsive H2 size. */
html body .ss-page :is(.ss-h2, .ss-wk-title) {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: var(--kls-h2) !important;
  font-weight: 500 !important;
  line-height: var(--kls-h2-lh, 1.18) !important;
  color: #33443A !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}

/* 3) Eyebrow / upper-title labels */
html body .ss-page .ss-eyebrow {
  font-family: 'Jost', sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #B08D3E !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  line-height: 1.2 !important;
  font-style: normal !important;
}

/* 4) Normal body, intro/lead, card descriptions and explanatory copy. */
html body .ss-page :is(
  .ss-lead,
  .ss-sub,
  .ss-wcard > p,
  .ss-dcard > p,
  .ss-step > p,
  .ss-float-d,
  .ss-tcard > p,
  .ss-wk-list > li,
  .ss-sym-bar > p
) {
  font-family: 'Jost', system-ui, sans-serif !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;
  color: #33443A !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}

/* 5) Titles/headings contained inside cards. */
html body .ss-page :is(
  .ss-wcard > h3,
  .ss-dcard > h3,
  .ss-scard > b,
  .ss-step > h3,
  .ss-float > b,
  .ss-tcard > h3
) {
  font-family: 'Jost', system-ui, sans-serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: #4A4F48 !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}

/* 6) CTA button typography only; geometry/background remain untouched. */
html body .ss-page :is(.ss-b1, .ss-b2, .ss-b3) {
  font-family: 'Jost', system-ui, sans-serif !important;
  font-size: clamp(15.3px, 1.254vw, 20.8px) !important;
  font-weight: 500 !important;
  color: #fff !important;
  font-style: normal !important;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  html body .ss-page :is(
    .ss-lead,
    .ss-sub,
    .ss-wcard > p,
    .ss-dcard > p,
    .ss-step > p,
    .ss-float-d,
    .ss-tcard > p,
    .ss-wk-list > li,
    .ss-sym-bar > p
  ) {
    font-size: 17px !important;
  }

  html body .ss-page :is(
    .ss-wcard > h3,
    .ss-dcard > h3,
    .ss-scard > b,
    .ss-step > h3,
    .ss-float > b,
    .ss-tcard > h3
  ) {
    font-size: 20px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  html body .ss-page :is(
    .ss-lead,
    .ss-sub,
    .ss-wcard > p,
    .ss-dcard > p,
    .ss-step > p,
    .ss-float-d,
    .ss-tcard > p,
    .ss-wk-list > li,
    .ss-sym-bar > p
  ) {
    font-size: 16px !important;
  }

  html body .ss-page :is(
    .ss-wcard > h3,
    .ss-dcard > h3,
    .ss-scard > b,
    .ss-step > h3,
    .ss-float > b,
    .ss-tcard > h3
  ) {
    font-size: 18px !important;
  }
}
