/**
 * Paramour global readability — Knowledge Engine typography + FAQ look.
 * Marketing / Quitox pages clone knowledge-object type.
 * Knowledge objects themselves: pke-front.css only (do not retarget .ke-page here).
 * FAQ accordion look stays sitewide for Quitox accordions (Bootstrap JS unchanged).
 */

:root {
  --ke-font-body: "Outfit", sans-serif;
  --ke-font-heading: "Poppins", sans-serif;
  --ke-text: #62637D;
  --ke-text-muted: #8a90a2;
  --ke-heading: #151718;
  --ke-heading-blue: #141774;
  --ke-accent: #ec4f6a;
  --ke-accent-blue: #017EFA;
  --ke-surface: #ffffff;
  --ke-surface-soft: #E8F6FF;
  --ke-border: #DCEDF9;
  --ke-border-light: #e8e4f4;
  --ke-shadow: 0 4px 24px rgba(20, 23, 116, 0.07);
  --ke-shadow-card: 0 2px 16px rgba(20, 23, 116, 0.09);
  --ke-radius: 1rem;
  --ke-radius-sm: 0.625rem;
}

/* --------------------------------------------------------------------------- */
/* Marketing type — clone knowledge-object scale (NOT .ke-page; pke-front owns) */
/* --------------------------------------------------------------------------- */
body,
.pmb-preview-page,
.pmb-preview-page[data-quitox-pack],
.paramour-kb-article {
  font-family: var(--ke-font-body) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: var(--ke-text) !important;
}

body :is(p, li, td, th, label, input, textarea, select, button, .tp-el-box-desc, .tp-el-content, .tp-hero-lead, .tp-cta-lead),
.pmb-preview-page :is(p, li, td, th, label, .tp-el-box-desc, .tp-el-content, .tp-hero-lead, .tp-cta-lead) {
  font-family: var(--ke-font-body) !important;
}

body :is(h1, h2, h3, h4, h5, h6,
  .tp-section-title, .tp-section-title-sm, .tp-section-title-md,
  .tp-feature__title-sm, .tp-app__title-sm, .tp-hero__title, .tp-hero__title-lg,
  .tp-repeater-title, .ele-heading),
.pmb-preview-page :is(h1, h2, h3, h4, h5, h6,
  .tp-section-title, .tp-section-title-sm, .tp-section-title-md,
  .tp-feature__title-sm, .tp-app__title-sm, .tp-hero__title, .tp-hero__title-lg,
  .tp-repeater-title, .ele-heading),
.paramour-kb-article :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--ke-font-heading) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--ke-heading-blue) !important;
}

body h1,
body .tp-section-title,
body .tp-hero__title-lg,
.pmb-preview-page h1,
.pmb-preview-page .tp-section-title,
.pmb-preview-page .tp-hero__title-lg,
.paramour-kb-article h1 {
  font-size: clamp(1.6rem, 4vw, 2.25rem) !important;
  color: var(--ke-heading) !important;
  -webkit-text-fill-color: var(--ke-heading) !important;
}

body h2,
body .tp-section-title-sm,
body .tp-section-title-md,
body .tp-hero__title,
.pmb-preview-page h2,
.pmb-preview-page .tp-section-title-sm,
.pmb-preview-page .tp-section-title-md,
.pmb-preview-page .tp-hero__title,
.paramour-kb-article h2 {
  font-size: clamp(1.2rem, 3vw, 1.5rem) !important;
  color: var(--ke-heading-blue) !important;
  -webkit-text-fill-color: var(--ke-heading-blue) !important;
}

body h3,
body h4,
body .tp-feature__title-sm,
body .tp-app__title-sm,
body .tp-repeater-title,
body .tp-why-panel__title,
body .tp-faq__faq-sm-title,
.pmb-preview-page h3,
.pmb-preview-page h4,
.pmb-preview-page .tp-feature__title-sm,
.pmb-preview-page .tp-app__title-sm,
.pmb-preview-page .tp-repeater-title,
.pmb-preview-page .tp-why-panel__title,
.pmb-preview-page .tp-faq__faq-sm-title,
.paramour-kb-article h3,
.paramour-kb-article h4 {
  font-size: 1.1rem !important;
  color: var(--ke-heading) !important;
  -webkit-text-fill-color: var(--ke-heading) !important;
}

body :is(p, li, .tp-el-box-desc, .tp-el-content, .tp-hero-lead, .tp-cta-lead, .tp-why-panel__lead),
.pmb-preview-page :is(p, li, .tp-el-box-desc, .tp-el-content, .tp-hero-lead, .tp-cta-lead, .tp-why-panel__lead),
.paramour-kb-article :is(p, li) {
  font-size: 18px !important;
  line-height: 27px !important;
  color: var(--ke-text) !important;
  -webkit-text-fill-color: var(--ke-text) !important;
}

body :is(p, .tp-hero-lead) strong,
.pmb-preview-page :is(p, .tp-hero-lead) strong,
.paramour-kb-article p strong {
  color: var(--ke-heading-blue) !important;
  -webkit-text-fill-color: var(--ke-heading-blue) !important;
  font-weight: 600 !important;
}

/* Keep Cooper Black brand banner lockup */
.tp-paramour-banner__title.ele-heading,
.tp-paramour-banner .ele-heading {
  font-family: "Cooper Black", Georgia, serif !important;
  font-size: clamp(2rem, 5vw, 3.25rem) !important;
  color: #222222 !important;
  -webkit-text-fill-color: #222222 !important;
}

.header .logo a,
.site-title a,
a[rel="home"][title="Paramour"] {
  font-family: "Cooper Black", Georgia, serif !important;
}

/* White type on navy / fulltone bands */
.theme-bg :is(h1, h2, h3, h4, h5, h6, p, li, .tp-section-title, .tp-section-title-sm, .tp-el-box-desc, .tp-cta-lead),
.tp-cta__area.theme-bg :is(h1, h2, h3, h4, p, li),
.tp-why-payoff span,
.pmb-preview-page .theme-bg :is(h1, h2, h3, h4, h5, h6, p, li, .tp-section-title, .tp-section-title-sm, .tp-el-box-desc, .tp-cta-lead),
.pmb-preview-page .tp-cta__wrapper-2.theme-bg :is(h1, h2, h3, h4, p, li) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* --------------------------------------------------------------------------- */
/* FAQ — clone .ke__faq cards onto Quitox Bootstrap accordions (JS unchanged)  */
/* Beat parent Quitox FA icons + home-story flattening via !important resets.  */
/* --------------------------------------------------------------------------- */
.tp-custom-accordio,
.tp-custom-accordio-2,
.tp-custom-accordio-3,
.tp-faq__area .tp-custom-accordio-3,
body.home .tp-faq__area .tp-custom-accordio-3,
body.page-id-7448 .tp-faq__area .tp-custom-accordio-3,
.pmb-preview-page[data-quitox-pack] .tp-custom-accordio-3 {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.tp-custom-accordio .accordion,
.tp-custom-accordio-2 .accordion,
.tp-custom-accordio-3 .accordion,
.tp-faq__area .tp-custom-accordio-3 .accordion,
body.home .tp-faq__area .tp-custom-accordio-3 .accordion,
body.page-id-7448 .tp-faq__area .tp-custom-accordio-3 .accordion,
.pmb-preview-page[data-quitox-pack] .tp-custom-accordio-3 .accordion {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  box-shadow: none !important;
}

.tp-custom-accordio .accordion-items,
.tp-custom-accordio-2 .accordion-items,
.tp-custom-accordio-3 .accordion-items,
.tp-faq__area .accordion-items,
body.home .tp-faq__area .accordion-items,
body.page-id-7448 .tp-faq__area .accordion-items,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-items,
.pmb-preview-page[data-quitox-rhythm="home-story"] .tp-faq__area .accordion-items {
  border: 1px solid var(--ke-border) !important;
  border-bottom: 1px solid var(--ke-border) !important;
  border-radius: var(--ke-radius-sm) !important;
  margin-bottom: 0.875rem !important;
  overflow: hidden !important;
  background: var(--ke-surface) !important;
  box-shadow: none !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.tp-custom-accordio .accordion-items:last-child,
.tp-custom-accordio-2 .accordion-items:last-child,
.tp-custom-accordio-3 .accordion-items:last-child,
.tp-faq__area .accordion-items:last-child,
body.home .tp-faq__area .accordion-items:last-child,
body.page-id-7448 .tp-faq__area .accordion-items:last-child {
  margin-bottom: 0.875rem !important;
  border-bottom: 1px solid var(--ke-border) !important;
}

.tp-custom-accordio .accordion-items:has(.accordion-buttons:not(.collapsed)),
.tp-custom-accordio-2 .accordion-items:has(.accordion-buttons:not(.collapsed)),
.tp-custom-accordio-3 .accordion-items:has(.accordion-buttons:not(.collapsed)),
.tp-custom-accordio .accordion-items:has(.accordion-collapse.show),
.tp-custom-accordio-2 .accordion-items:has(.accordion-collapse.show),
.tp-custom-accordio-3 .accordion-items:has(.accordion-collapse.show),
.tp-faq__area .accordion-items:has(.accordion-buttons:not(.collapsed)),
.tp-faq__area .accordion-items:has(.accordion-collapse.show) {
  box-shadow: 0 4px 18px rgba(20, 23, 116, 0.08) !important;
  border-color: var(--ke-border) !important;
}

.tp-custom-accordio .accordion-header,
.tp-custom-accordio-2 .accordion-header,
.tp-custom-accordio-3 .accordion-header,
.tp-faq__area .accordion-header {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

.tp-custom-accordio .accordion-buttons,
.tp-custom-accordio-2 .accordion-buttons,
.tp-custom-accordio-3 .accordion-buttons,
.tp-faq__area .accordion-buttons,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-buttons {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  text-align: left !important;
  gap: 1rem !important;
  padding: 1.25rem 1.5rem !important;
  margin: 0 !important;
  background: var(--ke-surface) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--ke-font-heading) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--ke-heading) !important;
  -webkit-text-fill-color: var(--ke-heading) !important;
  cursor: pointer !important;
  transition: background 0.2s ease, color 0.2s ease;
}

.tp-custom-accordio .accordion-buttons:hover,
.tp-custom-accordio-2 .accordion-buttons:hover,
.tp-custom-accordio-3 .accordion-buttons:hover,
.tp-faq__area .accordion-buttons:hover,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-buttons:hover {
  background: var(--ke-surface-soft) !important;
  color: var(--ke-heading) !important;
  -webkit-text-fill-color: var(--ke-heading) !important;
}

.tp-custom-accordio .accordion-buttons:not(.collapsed),
.tp-custom-accordio-2 .accordion-buttons:not(.collapsed),
.tp-custom-accordio-3 .accordion-buttons:not(.collapsed),
.tp-faq__area .accordion-buttons:not(.collapsed),
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-buttons:not(.collapsed) {
  background: var(--ke-surface-soft) !important;
  color: var(--ke-heading-blue) !important;
  -webkit-text-fill-color: var(--ke-heading-blue) !important;
  box-shadow: none !important;
  padding-bottom: 1.25rem !important;
  border-radius: var(--ke-radius-sm) var(--ke-radius-sm) 0 0 !important;
}

/*
 * Plus / minus circle — match .ke__faq-q-icon.
 * Parent Quitox uses absolute Font Awesome \f067/\f00d; force flex circle instead.
 */
.tp-custom-accordio .accordion-buttons::after,
.tp-custom-accordio-2 .accordion-buttons::after,
.tp-custom-accordio-3 .accordion-buttons::after,
.tp-faq__area .accordion-buttons::after,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-buttons::after {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.5rem !important;
  height: 1.5rem !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  background-image: none !important;
  background-color: var(--ke-surface-soft) !important;
  border: 1.5px solid var(--ke-border) !important;
  border-radius: 50% !important;
  content: "+" !important;
  font-family: var(--ke-font-heading), "Poppins", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-align: center !important;
  color: var(--ke-accent) !important;
  -webkit-text-fill-color: var(--ke-accent) !important;
  opacity: 1 !important;
  transform: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.tp-custom-accordio .accordion-buttons.collapsed::after,
.tp-custom-accordio-2 .accordion-buttons.collapsed::after,
.tp-custom-accordio-3 .accordion-buttons.collapsed::after,
.tp-faq__area .accordion-buttons.collapsed::after {
  content: "+" !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  background-color: var(--ke-surface-soft) !important;
  border-color: var(--ke-border) !important;
  color: var(--ke-accent) !important;
  -webkit-text-fill-color: var(--ke-accent) !important;
}

.tp-custom-accordio .accordion-buttons:not(.collapsed)::after,
.tp-custom-accordio-2 .accordion-buttons:not(.collapsed)::after,
.tp-custom-accordio-3 .accordion-buttons:not(.collapsed)::after,
.tp-faq__area .accordion-buttons:not(.collapsed)::after,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-buttons:not(.collapsed)::after {
  content: "−" !important;
  background-color: var(--ke-accent) !important;
  border-color: var(--ke-accent) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  transform: none !important;
  opacity: 1 !important;
}

/* Answer panel — white like .ke__faq-a (soft wash stays on the open question) */
.tp-custom-accordio .accordion-body,
.tp-custom-accordio-2 .accordion-body,
.tp-custom-accordio-3 .accordion-body,
.tp-faq__area .accordion-body,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-body {
  padding: 0 1.5rem 1.25rem !important;
  font-family: var(--ke-font-body) !important;
  font-size: 0.9375rem !important;
  line-height: 1.75 !important;
  color: var(--ke-text-muted) !important;
  -webkit-text-fill-color: var(--ke-text-muted) !important;
  background: var(--ke-surface) !important;
  border: 0 !important;
  border-radius: 0 0 var(--ke-radius-sm) var(--ke-radius-sm) !important;
  position: relative !important;
  z-index: 1 !important;
}

.tp-custom-accordio .accordion-body p,
.tp-custom-accordio-2 .accordion-body p,
.tp-custom-accordio-3 .accordion-body p,
.tp-custom-accordio .accordion-body li,
.tp-custom-accordio-2 .accordion-body li,
.tp-custom-accordio-3 .accordion-body li,
.tp-faq__area .accordion-body p,
.tp-faq__area .accordion-body li,
.pmb-preview-page[data-quitox-pack] .tp-faq__area .accordion-body p {
  margin: 0 !important;
  font-size: 0.9375rem !important;
  line-height: 1.75 !important;
  color: var(--ke-text-muted) !important;
  -webkit-text-fill-color: var(--ke-text-muted) !important;
}

@media (max-width: 575px) {
  .tp-custom-accordio .accordion-buttons,
  .tp-custom-accordio-2 .accordion-buttons,
  .tp-custom-accordio-3 .accordion-buttons,
  .tp-faq__area .accordion-buttons {
    padding: 1rem !important;
    font-size: 0.9375rem !important;
  }

  .tp-custom-accordio .accordion-body,
  .tp-custom-accordio-2 .accordion-body,
  .tp-custom-accordio-3 .accordion-body,
  .tp-faq__area .accordion-body {
    padding: 0 1rem 1rem !important;
  }
}

/* Phone density block in style.css uses 16px / tight padding — keep KE scale */
@media (max-width: 575.98px) {
  .tp-faq__area .accordion-buttons,
  .tp-custom-accordio-3 .accordion-buttons {
    padding: 1rem !important;
    font-size: 0.9375rem !important;
    line-height: 1.4 !important;
  }

  .tp-faq__area .accordion-body,
  .tp-custom-accordio-3 .accordion-body {
    padding: 0 1rem 1rem !important;
    line-height: 1.75 !important;
  }
}
