/**
 * Elementor deactivation parity guardrails.
 *
 * Purpose: keep iKnowAviation-owned surfaces visually stable when Elementor is inactive.
 * This file intentionally focuses on global font ownership, wrapper-width resets, and
 * IKA-specific button/input inheritance. It should not become a redesign layer.
 */

:root {
  --ika-font-heading: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ika-font-body: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,
body {
  font-family: var(--ika-font-body);
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea {
  font-family: var(--ika-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.ika-site-header,
.ika-site-footer,
.ika-site-brand,
.ika-site-menu,
.ika-site-nav,
.ika-site-header__actions,
.ika-homepage,
.qoi-auth-shell,
.qoi-auth-page,
.quizops-shell,
.quizops-ui,
.quizops-quiz,
.quizops-results,
.ika-fd-next {
  font-family: var(--ika-font-heading);
}

p,
li,
.ika-homepage p,
.ika-site-footer p,
.qoi-auth-shell p,
.qoi-auth-shell label,
.quizops-shell p,
.quizops-ui p,
.quizops-results p,
.ika-fd-next p {
  font-family: var(--ika-font-body);
}

/* Homepage: own the full-width canvas that Elementor previously helped normalize. */
body.ika-homepage #page,
body.ika-homepage .site,
body.ika-homepage .site-content,
body.ika-homepage .content-area,
body.ika-homepage .site-main,
body.ika-homepage article,
body.ika-homepage .post,
body.ika-homepage .type-page,
body.ika-homepage .entry-content,
body.ika-homepage .ika-homepage-shell,
body.ika-homepage .ika-homepage-article,
body.ika-homepage .ika-homepage-content {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

body.ika-homepage .ika-homepage-main {
  display: block;
  overflow-x: clip;
}

/* Product surfaces: keep parent theme/Elementor container limits from constraining QuizOps pages. */
body.post-type-archive-quiz #page,
body.post-type-archive-quiz .site,
body.post-type-archive-quiz .site-content,
body.post-type-archive-quiz .content-area,
body.post-type-archive-quiz .site-main,
body.single-quiz #page,
body.single-quiz .site,
body.single-quiz .site-content,
body.single-quiz .content-area,
body.single-quiz .site-main,
body.ika-flightdeck-family:not(.ika-scope-flightdeck) #page,
body.ika-flightdeck-family:not(.ika-scope-flightdeck) .site,
body.ika-flightdeck-family:not(.ika-scope-flightdeck) .site-content,
body.ika-flightdeck-family:not(.ika-scope-flightdeck) .content-area,
body.ika-flightdeck-family:not(.ika-scope-flightdeck) .site-main {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}

body.post-type-archive-quiz .site-main,
body.single-quiz .site-main,
body.ika-flightdeck-family:not(.ika-scope-flightdeck) .site-main {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Shared IKA controls: preserve intentional controls without relying on Elementor globals. */
.ika-site-header a,
.ika-site-footer a,
.ika-homepage a,
.qoi-auth-shell a,
.quizops-shell a,
.quizops-ui a,
.quizops-results a {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

.ika-site-header button,
.ika-site-header .button,
.ika-site-header a[class*="button"],
.ika-site-header a[class*="cta"],
.ika-site-footer button,
.ika-homepage button,
.ika-homepage .ika-home-button,
.qoi-auth-shell button,
.qoi-auth-shell .qoi-auth-submit,
.quizops-shell button,
.quizops-shell .button,
.quizops-ui button,
.quizops-ui .button,
.quizops-results button,
.quizops-results .button {
  font-family: var(--ika-font-heading);
  box-sizing: border-box;
  text-decoration: none;
  cursor: pointer;
}

.ika-site-header input,
.ika-site-header select,
.ika-site-header textarea,
.qoi-auth-shell input,
.qoi-auth-shell select,
.qoi-auth-shell textarea,
.quizops-shell input,
.quizops-shell select,
.quizops-shell textarea,
.quizops-ui input,
.quizops-ui select,
.quizops-ui textarea {
  font-family: var(--ika-font-body);
  box-sizing: border-box;
}

.ika-site-brand__img,
.ika-homepage img,
.qoi-auth-shell img,
.quizops-shell img,
.quizops-ui img {
  max-width: 100%;
  height: auto;
}

/* PA-41N: Homepage typography parity correction after Elementor deactivation.
   Keep the font loader stable; tune the homepage visual system instead of changing fonts. */
body.ika-homepage .ika-home,
body.ika-homepage .ika-homepage-main,
body.ika-homepage .ika-homepage-content {
  font-family: var(--ika-font-body) !important;
}

body.ika-homepage .ika-home h1,
body.ika-homepage .ika-home h2,
body.ika-homepage .ika-home h3,
body.ika-homepage .ika-home h4,
body.ika-homepage .ika-home-section-heading__title,
body.ika-homepage .ika-home-hero__title,
body.ika-homepage .ika-home-pillar-card__title,
body.ika-homepage .ika-home-pathway-card__title,
body.ika-homepage .ika-home-poster__title,
body.ika-homepage .ika-home-stat-card__value,
body.ika-homepage .ika-home-support__title,
body.ika-homepage .ika-home-future__title,
body.ika-homepage .ika-home-closing__title {
  font-family: var(--ika-font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em;
}

body.ika-homepage .ika-home p,
body.ika-homepage .ika-home li,
body.ika-homepage .ika-home-section-heading__copy,
body.ika-homepage .ika-home-hero__lede,
body.ika-homepage .ika-home-pillar-card__text,
body.ika-homepage .ika-home-pathway-card__text,
body.ika-homepage .ika-home-cinematic-card__text,
body.ika-homepage .ika-home-poster__copy,
body.ika-homepage .ika-home-stat-card__label,
body.ika-homepage .ika-home-support__copy,
body.ika-homepage .ika-home-future__copy,
body.ika-homepage .ika-home-closing__copy {
  font-family: var(--ika-font-body) !important;
  font-weight: 400 !important;
}

body.ika-homepage .ika-home-hero__image {
  height: clamp(500px, 49vw, 650px);
}

body.ika-homepage .ika-home-hero__content {
  padding-top: clamp(86px, 7.2vw, 116px);
}

body.ika-homepage .ika-home-hero__copy {
  max-width: 920px;
  padding-top: clamp(12px, 1.2vw, 20px);
}

body.ika-homepage .ika-home-hero__title {
  max-width: 760px;
  font-size: clamp(2.02rem, 4.35vw, 3.45rem) !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  letter-spacing: -0.038em !important;
}

body.ika-homepage .ika-home-hero__lede {
  max-width: 720px;
  margin-top: 16px;
  font-size: clamp(0.92rem, 1.02vw, 1.02rem) !important;
  line-height: 1.68 !important;
}

body.ika-homepage .ika-home-section-heading__title {
  font-size: clamp(1.72rem, 3.18vw, 2.66rem) !important;
  line-height: 1.06 !important;
  font-weight: 500 !important;
}

body.ika-homepage .ika-home-panel--dark .ika-home-section-heading__title,
body.ika-homepage .ika-home-panel--soft .ika-home-section-heading__title,
body.ika-homepage .ika-home-panel--closing .ika-home-section-heading__title {
  font-size: clamp(1.66rem, 3vw, 2.42rem) !important;
}

body.ika-homepage .ika-home-section-heading__copy {
  font-size: clamp(0.91rem, 0.98vw, 1.03rem) !important;
  line-height: 1.68 !important;
}

body.ika-homepage .ika-home-pillar-card {
  padding: clamp(20px, 2.1vw, 26px) !important;
}

body.ika-homepage .ika-home-pillar-card__title {
  margin-top: 11px;
  font-size: clamp(1.02rem, 1.24vw, 1.2rem) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
}

body.ika-homepage .ika-home-pillar-card__text,
body.ika-homepage .ika-home-pathway-card__text {
  font-size: clamp(0.84rem, 0.9vw, 0.96rem) !important;
  line-height: 1.62 !important;
}

body.ika-homepage .ika-home-pathway-card__title {
  font-size: clamp(1.04rem, 1.3vw, 1.24rem) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
}

body.ika-homepage .ika-home-poster__title {
  font-size: clamp(1.9rem, 3.55vw, 2.82rem) !important;
  line-height: 1.08 !important;
  font-weight: 500 !important;
}

body.ika-homepage .ika-home-stat-card__value {
  font-size: clamp(1.12rem, 1.45vw, 1.45rem) !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
}

body.ika-homepage .ika-home-support__title,
body.ika-homepage .ika-home-future__title,
body.ika-homepage .ika-home-closing__title {
  font-size: clamp(1.66rem, 2.9vw, 2.38rem) !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
}

body.ika-homepage .ika-home-button,
body.ika-homepage .ika-home-button * {
  font-family: var(--ika-font-heading) !important;
  font-size: clamp(0.78rem, 0.82vw, 0.88rem) !important;
  font-weight: 600 !important;
  letter-spacing: -0.008em;
}

@media (max-width: 900px) {
  body.ika-homepage .ika-home-hero__image {
    height: clamp(540px, 100vw, 650px);
  }

  body.ika-homepage .ika-home-hero__title {
    max-width: 620px;
    font-size: clamp(1.88rem, 7.4vw, 2.85rem) !important;
  }
}

@media (max-width: 640px) {
  body.ika-homepage .ika-home-hero__content {
    padding-top: 78px;
  }

  body.ika-homepage .ika-home-hero__title {
    font-size: clamp(1.72rem, 9.1vw, 2.42rem) !important;
    line-height: 1.02 !important;
  }

  body.ika-homepage .ika-home-section-heading__title,
  body.ika-homepage .ika-home-panel--dark .ika-home-section-heading__title,
  body.ika-homepage .ika-home-panel--soft .ika-home-section-heading__title,
  body.ika-homepage .ika-home-panel--closing .ika-home-section-heading__title {
    font-size: clamp(1.54rem, 7.2vw, 2.08rem) !important;
  }
}


/* PA-41P: Homepage small-copy readability bump.
   Hero title scale is accepted; this pass only improves small/supporting text readability. */
body.ika-homepage .ika-home-eyebrow,
body.ika-homepage .ika-home-chip,
body.ika-homepage .ika-home-kicker,
body.ika-homepage .ika-home-card-eyebrow,
body.ika-homepage .ika-home-pillar-card__eyebrow,
body.ika-homepage .ika-home-pathway-card__eyebrow,
body.ika-homepage .ika-home-stat-card__label,
body.ika-homepage .ika-home-cinematic-card__eyebrow,
body.ika-homepage .ika-home-support__eyebrow,
body.ika-homepage .ika-home-future__eyebrow,
body.ika-homepage .ika-home-closing__eyebrow {
  font-size: clamp(0.72rem, 0.76vw, 0.8rem) !important;
  line-height: 1.35 !important;
}

body.ika-homepage .ika-home-hero__lede,
body.ika-homepage .ika-home-section-heading__copy,
body.ika-homepage .ika-home-pillar-card__text,
body.ika-homepage .ika-home-pathway-card__text,
body.ika-homepage .ika-home-cinematic-card__text,
body.ika-homepage .ika-home-poster__copy,
body.ika-homepage .ika-home-support__copy,
body.ika-homepage .ika-home-future__copy,
body.ika-homepage .ika-home-closing__copy {
  font-size: clamp(0.98rem, 1.05vw, 1.1rem) !important;
  line-height: 1.66 !important;
}

body.ika-homepage .ika-home-pillar-card__text,
body.ika-homepage .ika-home-pathway-card__text,
body.ika-homepage .ika-home-cinematic-card__text {
  font-size: clamp(0.94rem, 1vw, 1.04rem) !important;
  line-height: 1.58 !important;
}

@media (max-width: 640px) {
  body.ika-homepage .ika-home-hero__lede,
  body.ika-homepage .ika-home-section-heading__copy,
  body.ika-homepage .ika-home-pillar-card__text,
  body.ika-homepage .ika-home-pathway-card__text,
  body.ika-homepage .ika-home-cinematic-card__text,
  body.ika-homepage .ika-home-poster__copy,
  body.ika-homepage .ika-home-support__copy,
  body.ika-homepage .ika-home-future__copy,
  body.ika-homepage .ika-home-closing__copy {
    font-size: 0.98rem !important;
  }
}

/* PA-41Q: Homepage body/small-copy scale bump.
   Hero title scale is accepted; increase supporting text across the homepage. */
body.ika-homepage .ika-home p,
body.ika-homepage .ika-home li,
body.ika-homepage .ika-home-hero__lede,
body.ika-homepage .ika-home-section-heading__copy,
body.ika-homepage .ika-home-pillar-card__text,
body.ika-homepage .ika-home-pathway-card__text,
body.ika-homepage .ika-home-cinematic-card__text,
body.ika-homepage .ika-home-poster__copy,
body.ika-homepage .ika-home-support__copy,
body.ika-homepage .ika-home-future__copy,
body.ika-homepage .ika-home-closing__copy {
  font-size: clamp(1.08rem, 1.18vw, 1.22rem) !important;
  line-height: 1.7 !important;
}

body.ika-homepage .ika-home-pillar-card__text,
body.ika-homepage .ika-home-pathway-card__text,
body.ika-homepage .ika-home-cinematic-card__text {
  font-size: clamp(1rem, 1.08vw, 1.12rem) !important;
  line-height: 1.64 !important;
}

body.ika-homepage .ika-home-eyebrow,
body.ika-homepage .ika-home-chip,
body.ika-homepage .ika-home-kicker,
body.ika-homepage .ika-home-card-eyebrow,
body.ika-homepage .ika-home-pillar-card__eyebrow,
body.ika-homepage .ika-home-pathway-card__eyebrow,
body.ika-homepage .ika-home-stat-card__label,
body.ika-homepage .ika-home-cinematic-card__eyebrow,
body.ika-homepage .ika-home-support__eyebrow,
body.ika-homepage .ika-home-future__eyebrow,
body.ika-homepage .ika-home-closing__eyebrow {
  font-size: clamp(0.78rem, 0.86vw, 0.9rem) !important;
  line-height: 1.4 !important;
}

body.ika-homepage .ika-home-button,
body.ika-homepage .ika-home-button * {
  font-size: clamp(0.84rem, 0.9vw, 0.96rem) !important;
}

@media (max-width: 640px) {
  body.ika-homepage .ika-home p,
  body.ika-homepage .ika-home li,
  body.ika-homepage .ika-home-hero__lede,
  body.ika-homepage .ika-home-section-heading__copy,
  body.ika-homepage .ika-home-pillar-card__text,
  body.ika-homepage .ika-home-pathway-card__text,
  body.ika-homepage .ika-home-cinematic-card__text,
  body.ika-homepage .ika-home-poster__copy,
  body.ika-homepage .ika-home-support__copy,
  body.ika-homepage .ika-home-future__copy,
  body.ika-homepage .ika-home-closing__copy {
    font-size: 1.04rem !important;
    line-height: 1.66 !important;
  }
}

/* PA-41: homepage finishing fixes
   Lock current homepage typography scale as the reference baseline.
   Fix pathway image consistency and dark stat-card spacing. */
body.ika-homepage .ika-home-pathway-card {
  display: flex;
  flex-direction: column;
}

body.ika-homepage .ika-home-pathway-card__media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

body.ika-homepage .ika-home-pathway-card__media img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

body.ika-homepage .ika-home-pathway-card__body {
  flex: 1 1 auto;
}

body.ika-homepage .ika-home-stat-grid {
  align-items: stretch;
}

body.ika-homepage .ika-home-stat-card {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 172px;
  padding: 28px 28px 30px !important;
}

body.ika-homepage .ika-home-stat-card__label {
  display: block;
  margin: 0 0 14px;
}

body.ika-homepage .ika-home-stat-card__value {
  margin-top: 0 !important;
  line-height: 1.18 !important;
}

@media (max-width: 900px) {
  body.ika-homepage .ika-home-pathway-card__media {
    aspect-ratio: 16 / 10;
  }

  body.ika-homepage .ika-home-stat-card {
    min-height: 0;
    padding: 24px !important;
  }
}

