/*
 * Kinis Typography Guarantee — mirrors src/index.css EXACTLY (fluid clamp values).
 * Enqueued LAST so heading/text sizes always win over WP block-library / theme.json / plugins.
 * DO NOT use raw Tailwind defaults here — they are MUCH larger than the Lovable site.
 */

html { font-size: 16px; }

/* ============ Tailwind text-* — fluid (matches index.css) ============ */
html .text-xs   { font-size: 0.8125rem !important; line-height: 1.5  !important; }
html .text-sm   { font-size: 0.9375rem !important; line-height: 1.55 !important; }
html .text-base { font-size: 1rem      !important; line-height: 1.65 !important; }
html .text-lg   { font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem) !important; line-height: 1.6  !important; }
html .text-xl   { font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem) !important; line-height: 1.5  !important; }
html .text-2xl  { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem)    !important; line-height: 1.3  !important; }
html .text-3xl  { font-size: clamp(1.5rem, 1.3rem + 0.9vw, 1.75rem)    !important; line-height: 1.2  !important; }
html .text-4xl  { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem)   !important; line-height: 1.15 !important; }
html .text-5xl  { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem)       !important; line-height: 1.1  !important; }
html .text-6xl  { font-size: clamp(2.5rem, 1.85rem + 3vw, 3.5rem)      !important; line-height: 1.05 !important; }
html .text-7xl  { font-size: clamp(2.5rem, 1.7rem + 4vw, 4rem)         !important; line-height: 1    !important; }

/* sm:/md:/lg: variants — same fluid scale (clamp handles viewport already, so just keep parity) */
@media (min-width: 640px) {
  html .sm\:text-xs   { font-size: 0.8125rem !important; line-height: 1.5  !important; }
  html .sm\:text-sm   { font-size: 0.9375rem !important; line-height: 1.55 !important; }
  html .sm\:text-base { font-size: 1rem      !important; line-height: 1.65 !important; }
  html .sm\:text-lg   { font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem) !important; line-height: 1.6  !important; }
  html .sm\:text-xl   { font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem) !important; line-height: 1.5  !important; }
  html .sm\:text-2xl  { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem)    !important; line-height: 1.3  !important; }
  html .sm\:text-3xl  { font-size: clamp(1.5rem, 1.3rem + 0.9vw, 1.75rem)    !important; line-height: 1.2  !important; }
  html .sm\:text-4xl  { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem)   !important; line-height: 1.15 !important; }
  html .sm\:text-5xl  { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem)       !important; line-height: 1.1  !important; }
}
@media (min-width: 768px) {
  html .md\:text-xs   { font-size: 0.8125rem !important; }
  html .md\:text-sm   { font-size: 0.9375rem !important; }
  html .md\:text-base { font-size: 1rem      !important; line-height: 1.65 !important; }
  html .md\:text-lg   { font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem) !important; }
  html .md\:text-xl   { font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem) !important; }
  html .md\:text-3xl  { font-size: clamp(1.5rem, 1.3rem + 0.9vw, 1.75rem)    !important; }
  html .md\:text-4xl  { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem)   !important; }
  html .md\:text-5xl  { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem)       !important; }
  html .md\:text-6xl  { font-size: clamp(2.5rem, 1.85rem + 3vw, 3.5rem)      !important; }
}
@media (min-width: 1024px) {
  html .lg\:text-sm   { font-size: 0.9375rem !important; }
  html .lg\:text-base { font-size: 1rem      !important; line-height: 1.65 !important; }
  html .lg\:text-lg   { font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem) !important; }
  html .lg\:text-xl   { font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem) !important; }
  html .lg\:text-2xl  { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem)    !important; }
  html .lg\:text-3xl  { font-size: clamp(1.5rem, 1.3rem + 0.9vw, 1.75rem)    !important; }
  html .lg\:text-4xl  { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem)   !important; }
  html .lg\:text-5xl  { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem)       !important; }
}

/* Arbitrary sizes used in the pre-rendered HTML (mirror index.css mapping) */
html .text-\[1\.125rem\]      { font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem) !important; line-height: 1.6 !important; }
html .text-\[1\.375rem\]      { font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.25rem) !important; line-height: 1.4 !important; }
html .\!text-\[1\.75rem\]     { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem) !important; line-height: 1.15 !important; }
@media (min-width: 640px) {
  html .sm\:\!text-\[2\.25rem\] { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem) !important; line-height: 1.15 !important; }
}
@media (min-width: 768px) {
  html .md\:\!text-\[2\.5rem\]  { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem) !important; line-height: 1.1 !important; }
}
@media (min-width: 1024px) {
  html .lg\:text-\[2\.25rem\]   { font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem) !important; }
  html .lg\:text-\[2\.5rem\]    { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem) !important; }
  html .lg\:text-\[3\.75rem\]   { font-size: clamp(2.5rem, 1.85rem + 3vw, 3.5rem) !important; }
  html .lg\:text-\[5\.5rem\]    { font-size: clamp(2.5rem, 1.7rem + 4vw, 4rem) !important; }
  html .lg\:\!text-\[2\.75rem\] { font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem) !important; }
}

/* ===== HOME HERO h1 — 40 → 64px (matches index.css) ===== */
html main > section:first-child h1[class*="text-6xl"],
html main > section:first-child h1[class*="text-7xl"],
html main > section:first-child h1[class*="text-[5.5rem]"] {
  font-size: clamp(2.5rem, 1.7rem + 4vw, 4rem) !important;
  line-height: 1.02 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
html main > section:first-child h1[class*="text-6xl"] + p,
html main > section:first-child h1[class*="text-7xl"] + p,
html main > section:first-child h1[class*="text-[5.5rem]"] + p {
  font-size: clamp(1.0625rem, 1rem + 0.2vw, 1.125rem) !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}

/* ===== Subpage hero h1 — 32 → 44px ===== */
html main > section:first-child h1:not([class*="text-6xl"]):not([class*="text-7xl"]):not([class*="text-[5.5rem]"]) {
  font-size: clamp(2rem, 1.55rem + 2vw, 2.75rem) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
}

/* ===== h2 — 28 → 36px (matches index.css) ===== */
html main > section h2.font-display:not(.sr-only),
html main > section[aria-labelledby] > div > h2,
html main > section > div > h2:not(.sr-only),
html main > section > div > div > h2:not(.sr-only) {
  font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem) !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
}

/* FAQ category headings */
html main > section .faq-category-heading { font-size: 1.25rem !important; line-height: 1.15 !important; font-weight: 600 !important; }
@media (min-width: 640px)  { html main > section .faq-category-heading { font-size: 1.5rem  !important; } }
@media (min-width: 1024px) { html main > section .faq-category-heading { font-size: 1.625rem !important; } }

/* Reset WP/plugin heading defaults that leak in */
main h1, main h2, main h3, main h4, main h5, main h6,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
  font-family: inherit;
  margin: 0;
}
