/* JKC v2.3.5 theme shield.
 * The page is embedded in arbitrary WordPress themes/page builders. The #jkc-page
 * ID gives our component a stronger namespace than generic content selectors.
 * Important declarations are intentionally limited to collision-prone properties.
 */
#jkc-page,
#jkc-page * {
  box-sizing: border-box !important;
}
#jkc-page {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #292522 !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: normal !important;
  text-align: left !important;
  text-transform: none !important;
  text-decoration: none !important;
  isolation: isolate !important;
  direction: ltr !important;
  unicode-bidi: normal !important;
}

#jkc-page section,
#jkc-page article,
#jkc-page div,
#jkc-page header,
#jkc-page footer,
#jkc-page figure,
#jkc-page nav,
#jkc-page main {
  border: 0 !important;
  outline: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

#jkc-page h1,
#jkc-page h2,
#jkc-page h3,
#jkc-page h4,
#jkc-page h5,
#jkc-page h6 {
  font-family: inherit !important;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  max-width: none !important;
}
#jkc-page p,
#jkc-page ul,
#jkc-page ol,
#jkc-page li {
  font-family: inherit !important;
  background: transparent !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  max-width: none !important;
}
#jkc-page ul,
#jkc-page ol {
  list-style-position: outside !important;
}

/* Hard-reset theme/page-builder list pseudo-elements. Many WordPress themes
 * inject checkmarks, bullets, icons or background content with li::before/after.
 * Those rules must never leak into JKC lists. */
#jkc-page ul li::before,
#jkc-page ul li::after,
#jkc-page ol li::before,
#jkc-page ol li::after {
  box-sizing: border-box !important;
}
#jkc-page .jkc-check-list > li::after,
#jkc-page .jkc-note-list > li::after {
  content: none !important;
  display: none !important;
}
#jkc-page .jkc-note-list > li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.72em !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #ed3c22 !important;
  box-shadow: none !important;
  transform: none !important;
}

#jkc-page img {
  max-width: 100% !important;
}

/* Final heading isolation: some themes/page builders use position, float,
 * display, transform, or !important typography rules on bare headings.
 * Reset the complete heading box first, then apply only JKC-owned values. */
#jkc-page .jkc-heading {
  all: unset !important;
  box-sizing: border-box !important;
  display: block !important;
  position: static !important;
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
  inset: auto !important;
  color: #292522 !important;
  font-family: inherit !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  text-align: left !important;
  text-indent: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  vertical-align: baseline !important;
}

/* Restore explicit JKC typography after the shield. */
#jkc-page .jkc-page-title {
  margin: 0 0 22px !important;
  padding: 0 !important;
  max-width: 900px !important;
  color: #292522 !important;
  font-size: clamp(42px,6vw,72px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  font-weight: 800 !important;
}
#jkc-page .jkc-section-title {
  margin: 0 0 11px !important;
  padding: 0 !important;
  color: #292522 !important;
  font-size: clamp(30px,4vw,46px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.03em !important;
  font-weight: 750 !important;
}
#jkc-page .jkc-content-title {
  margin: 0 0 21px !important;
  padding: 0 !important;
  color: #292522 !important;
  font-size: clamp(29px,4vw,43px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.03em !important;
  font-weight: 750 !important;
}
#jkc-page .jkc-reward-title {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  font-weight: 750 !important;
}
#jkc-page .jkc-page-intro p,
#jkc-page .jkc-section-heading p,
#jkc-page .jkc-reward-card p,
#jkc-page .jkc-reward-card li {
  font-family: inherit !important;
}
#jkc-page .jkc-page-intro p {
  max-width: 930px !important;
  margin: 0 0 17px !important;
  padding: 0 !important;
  color: #635b52 !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}
#jkc-page .jkc-page-intro p:last-child { margin-bottom: 0 !important; }
#jkc-page .jkc-section-heading { max-width: 820px !important; margin: 0 auto 34px !important; padding: 0 !important; text-align: center !important; }
#jkc-page .jkc-section-heading p { margin: 0 !important; color: #6b6258 !important; font-size: 16px !important; line-height: 1.65 !important; }
#jkc-page .jkc-check-list,
#jkc-page .jkc-note-list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#jkc-page .jkc-note-list > li {
  position: relative !important;
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 0 0 24px !important;
  color: #6b6256 !important;
  list-style: none !important;
}
#jkc-page .jkc-note-list > li:last-child { margin-bottom: 0 !important; }
#jkc-page .jkc-check-list > li {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 0 13px 30px !important;
  color: #514a42 !important;
  list-style: none !important;
}
#jkc-page .jkc-check-list > li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  display: block !important;
  width: 18px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ed3c22 !important;
  font-family: inherit !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  transform: none !important;
  box-shadow: none !important;
}
#jkc-page .jkc-reward-card { color: #fff !important; }
#jkc-page .jkc-reward-card p,
#jkc-page .jkc-reward-card li { color: rgba(255,255,255,.94) !important; }
#jkc-page .jkc-reward-card ul { margin: 0 !important; padding: 0 0 0 21px !important; list-style: disc outside !important; }
#jkc-page .jkc-reward-card li { margin-bottom: 8px !important; padding: 0 !important; }
#jkc-page .jkc-reward-card li:last-child { margin-bottom: 0 !important; }

/* Prevent page-builder link rules from turning content into underlined buttons. */
#jkc-page a,
#jkc-page a:hover,
#jkc-page a:focus,
#jkc-page a:visited {
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Mobile overrides. */
@media (max-width:800px) {
  #jkc-page .jkc-page-title { font-size: clamp(38px,11vw,56px) !important; }
  #jkc-page .jkc-section-title { font-size: clamp(30px,8vw,40px) !important; }
  #jkc-page .jkc-content-title { font-size: clamp(29px,8vw,38px) !important; }
  #jkc-page .jkc-page-intro p { font-size: 16px !important; line-height: 1.68 !important; }
}
