/* Shared typography & reading column for all *-core learning series (Inter + 700–800px) */

body.kafka-core,
body.k8s-core,
body.aws-core,
body.devsec-core,
body.applied-ai-core,
body.java-core,
body.spring-core,
body.service-core,
body.docker-core,
body.unix-core,
body.sysdesign-core,
body.devops-infra-core,
body.devops-obs-core,
body.production-core,
body.scrutin-core {
  --core-font-h1: clamp(1.75rem, 1.5rem + 1.5vw, 2.5rem);      /* 28–40 px */
  --core-font-h2: clamp(1.375rem, 1.2rem + 0.9vw, 1.875rem);    /* 22–30 px */
  --core-font-h3: clamp(1.125rem, 1rem + 0.55vw, 1.5rem);       /* 18–24 px */
  --core-font-size: clamp(1rem, 0.97rem + 0.2vw, 1.125rem);     /* 16–18 px */
  --core-font-small: 0.875rem;                                  /* 14 px */
  --core-font-code: clamp(0.8125rem, 0.78rem + 0.15vw, 0.9375rem); /* 13–15 px */
  --core-line-height: 1.75;
  --core-content-width: min(800px, 92vw);
  --core-doc-width: min(800px, 92vw);
  --core-main-max: var(--core-content-width);
  --core-side-pad: clamp(12px, 2.5vw, 24px);
}

body[class*="-core"] {
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  font-size: var(--core-font-size);
  line-height: var(--core-line-height);
}

/* Content pages — widen shell for sidebar on desktop */
body.kafka-core.kc-content-page,
body.k8s-core.k8c-content-page,
body.aws-core.awsc-content-page,
body.devsec-core.dsc-content-page,
body.applied-ai-core.aac-content-page,
body.java-core.jc-content-page,
body.spring-core.sp-content-page,
body.service-core.sc-content-page,
body.docker-core.dc-content-page,
body.sysdesign-core.sdc-content-page {
  --core-main-max: var(--core-doc-width);
}

@media (min-width: 1024px) {
  body.kafka-core.kc-content-page {
    --core-main-max: calc(var(--kc-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.k8s-core.k8c-content-page {
    --core-main-max: calc(var(--k8c-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.aws-core.awsc-content-page {
    --core-main-max: calc(var(--awsc-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.devsec-core.dsc-content-page {
    --core-main-max: calc(var(--dsc-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.applied-ai-core.aac-content-page {
    --core-main-max: calc(var(--aac-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.java-core.jc-content-page {
    --core-main-max: calc(var(--jc-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.spring-core.sp-content-page {
    --core-main-max: calc(var(--sp-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.service-core.sc-content-page {
    --core-main-max: calc(var(--sc-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.docker-core.dc-content-page {
    --core-main-max: calc(var(--dc-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }

  body.sysdesign-core.sdc-content-page {
    --core-main-max: calc(var(--sdc-sidebar-width, 240px) + 32px + var(--core-doc-width));
  }
}

/* Unix chapter pages (no *-content-page class) */
body.unix-core:has(.ux-page-hero) {
  --core-main-max: var(--core-doc-width);
}

@media (min-width: 1024px) {
  body.unix-core:has(.ux-page-hero) {
    --core-main-max: calc(var(--ux-sidebar-width, 220px) + 32px + var(--core-doc-width));
  }
}

/* Centered reading column */
body[class*="-core"] .kc-main,
body[class*="-core"] .k8c-main,
body[class*="-core"] .awsc-main,
body[class*="-core"] .aac-main,
body[class*="-core"] .dsc-main,
body[class*="-core"] .jc-main,
body[class*="-core"] .sp-main,
body[class*="-core"] .sc-main,
body[class*="-core"] .dc-main,
body[class*="-core"] .ux-main,
body[class*="-core"] .sdc-main,
body[class*="-core"] .kc-footer,
body[class*="-core"] .k8c-footer,
body[class*="-core"] .awsc-footer,
body[class*="-core"] .dsc-footer,
body[class*="-core"] .jc-footer,
body[class*="-core"] .sp-footer,
body[class*="-core"] .sc-footer,
body[class*="-core"] .dc-footer,
body[class*="-core"] .ux-footer,
body[class*="-core"] .sdc-footer,
body[class*="-core"] .aac-footer,
body[class*="-core"] .kc-topbar .site-topbar__inner,
body[class*="-core"] .k8c-topbar .site-topbar__inner,
body[class*="-core"] .dsc-topbar .site-topbar__inner,
body[class*="-core"] .jc-topbar .site-topbar__inner,
body[class*="-core"] .sp-topbar .site-topbar__inner,
body[class*="-core"] .sc-topbar .site-topbar__inner,
body[class*="-core"] .dc-topbar .site-topbar__inner,
body[class*="-core"] .ux-topbar .site-topbar__inner,
body[class*="-core"] .sdc-topbar .site-topbar__inner,
body[class*="-core"] .aac-topbar .site-topbar__inner {
  max-width: var(--core-main-max);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

body[class*="-core"] .kc-main,
body[class*="-core"] .k8c-main,
body[class*="-core"] .awsc-main,
body[class*="-core"] .aac-main,
body[class*="-core"] .dsc-main,
body[class*="-core"] .jc-main,
body[class*="-core"] .sp-main,
body[class*="-core"] .sc-main,
body[class*="-core"] .dc-main,
body[class*="-core"] .ux-main,
body[class*="-core"] .sdc-main,
body[class*="-core"] .kc-footer,
body[class*="-core"] .k8c-footer,
body[class*="-core"] .awsc-footer,
body[class*="-core"] .dsc-footer,
body[class*="-core"] .jc-footer,
body[class*="-core"] .sp-footer,
body[class*="-core"] .sc-footer,
body[class*="-core"] .dc-footer,
body[class*="-core"] .ux-footer,
body[class*="-core"] .sdc-footer {
  padding-left: var(--core-side-pad);
  padding-right: var(--core-side-pad);
}

body[class*="-core"] .kc-doc,
body[class*="-core"] .k8c-doc,
body[class*="-core"] .awsc-doc,
body[class*="-core"] .aac-doc,
body[class*="-core"] .dsc-doc,
body[class*="-core"] .jc-doc,
body[class*="-core"] .sp-doc,
body[class*="-core"] .sc-doc,
body[class*="-core"] .dc-doc,
body[class*="-core"] .sdc-doc {
  max-width: var(--core-doc-width);
}

/* Headings — Inter */
body[class*="-core"] [class$="__hero__title"],
body[class*="-core"] [class$="__page-hero__title"] {
  font-family: "Inter", system-ui, sans-serif;
  font-size: var(--core-font-h1);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

body[class*="-core"] [class$="__section__title"],
body[class*="-core"] [class$="__hero__why-title"] {
  font-family: "Inter", system-ui, sans-serif;
  font-size: var(--core-font-h2);
  font-weight: 700;
}

body[class*="-core"] [class*="-prose"] h3,
body[class*="-core"] [class*="-prose"] h4,
body[class*="-core"] [class$="__pillar__title"],
body[class*="-core"] [class$="__track-list__title"],
body[class*="-core"] [class$="__chapter-list__title"],
body[class*="-core"] [class$="__card__title"],
body[class*="-core"] [class$="__track-card__title"],
body[class*="-core"] [class$="__level__title"],
body[class*="-core"] [class$="__widget__title"],
body[class*="-core"] [class$="__pattern-card__title"] {
  font-family: "Inter", system-ui, sans-serif;
  font-size: var(--core-font-h3);
  font-weight: 600;
}

/* Body copy */
body[class*="-core"] [class$="__hero__lede"],
body[class*="-core"] [class$="__section__lede"],
body[class*="-core"] [class$="__page-hero__lede"],
body[class*="-core"] [class$="__hero__why-lede"],
body[class*="-core"] [class*="-prose"] p,
body[class*="-core"] [class*="-prose"] ul,
body[class*="-core"] [class*="-prose"] ol,
body[class*="-core"] [class$="__callout__body"] {
  font-size: var(--core-font-size);
  line-height: var(--core-line-height);
  max-width: none;
}

/* Small / meta text */
body[class*="-core"] [class$="__card__desc"],
body[class*="-core"] [class$="__pillar__desc"],
body[class*="-core"] [class$="__track-card__list"],
body[class*="-core"] [class$="__level__problems"] li,
body[class*="-core"] [class$="__radio__desc"],
body[class*="-core"] [class$="__prereq__topic"],
body[class*="-core"] [class$="__learning-path"],
body[class*="-core"] [class$="__pattern-card__tradeoff"],
body[class*="-core"] .footer.sdc-footer,
body[class*="-core"] .footer.kc-footer,
body[class*="-core"] .footer.k8c-footer,
body[class*="-core"] .footer.dsc-footer,
body[class*="-core"] .footer.jc-footer,
body[class*="-core"] .footer.sp-footer,
body[class*="-core"] .footer.sc-footer,
body[class*="-core"] .footer.dc-footer,
body[class*="-core"] .footer.ux-footer {
  font-size: var(--core-font-small);
  line-height: var(--core-line-height);
}

/* Code */
body[class*="-core"] pre,
body[class*="-core"] [class$="-codeblock"] pre,
body[class*="-core"] code:not(pre code) {
  font-family: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;
  font-size: var(--core-font-code);
}

body[class*="-core"] pre {
  line-height: 1.6;
}

/* Topbar brand — Inter */
body[class*="-core"] [class$="-topbar"] .site-brand {
  font-family: "Inter", system-ui, sans-serif;
}
