/* Shared opt-in site palette. Existing Qode component geometry stays intact. */
body.ik-brand-preview {
  --ik-background: #000000;
  --ik-surface: #141414;
  --ik-light-section: #fafaf6;
  --ik-text: #dedbd5;
  --ik-muted: #bdbdbd;
  --ik-brand-gold: #dba521;
  --ik-gold: var(--ik-brand-gold);
  --ik-orange: #da8a4a;
  --ik-brand-hover: #f0c65a;
  --ik-hover: var(--ik-brand-hover);
  --ik-divider: #333333;
  --ik-body-font: "Montserrat", sans-serif;
  --ik-heading-font: "IK The Seasons", Georgia, serif;
  --ik-card-title-size: clamp(1.375rem, 1.6vw, 1.5rem);
  --ik-card-category-size: 0.8125rem;
  --ik-card-description-size: 1rem;
  --ik-card-overlay-background: #daa521;
  --ik-card-overlay-text: #fbfaf6;
  --ik-card-overlay-size: 1.5rem;
  --qode-main-color: var(--ik-gold);
  --e-global-color-primary: var(--ik-gold);
  --e-global-color-secondary: var(--ik-orange);
  --e-global-color-text: var(--ik-text);
  --e-global-color-accent: var(--ik-gold);
  --e-global-typography-primary-font-family: var(--ik-heading-font);
  --e-global-typography-secondary-font-family: var(--ik-heading-font);
  --e-global-typography-text-font-family: var(--ik-body-font);
  --e-global-typography-accent-font-family: var(--ik-body-font);
  color: var(--ik-text);
  font-family: var(--ik-body-font);
}

.ik-brand-preview #qodef-page-outer,
.ik-brand-preview #qodef-page-inner {
  background-color: transparent;
}

/* Content uses the native theme page background; header/footer keep dark tokens. */
.ik-brand-preview #qodef-page-outer {
  --ik-text: #4e4e4f;
  --ik-muted: #4e4e4f;
  --ik-divider: #d6ccbf;
  --ik-surface: var(--ik-light-section);
  --ik-gold: #da8a4c;
  --ik-orange: #da8a4c;
  --ik-hover: #744418;
  --qode-main-color: var(--ik-gold);
  color: var(--ik-text);
}

/* Filled CTA surfaces retain the original gold, with black text. */
.ik-brand-preview #qodef-page-inner .qodef-button.qodef-layout--filled {
  background-color: var(--ik-brand-gold) !important;
  border-color: var(--ik-brand-gold) !important;
}

.ik-brand-preview #qodef-page-inner .qodef-button.qodef-layout--filled:hover {
  background-color: var(--ik-brand-hover) !important;
  border-color: var(--ik-brand-hover) !important;
}

.ik-brand-preview :is(#qodef-page-header, #qodef-page-header-inner, #qodef-page-mobile-header, #qodef-page-mobile-header-inner, .qodef-mobile-header-navigation, .qodef-header-sticky) {
  background: var(--ik-background);
}

.ik-brand-preview :is(#qodef-page-header, #qodef-page-mobile-header, .qodef-page-title) a,
.ik-brand-preview .qodef-breadcrumbs {
  color: var(--ik-text);
}

.ik-brand-preview .qodef-page-title .qodef-breadcrumbs :is(span, a) {
  color: var(--ik-muted);
}

/* Temporary monochrome treatment of the existing black logo, not a replacement asset. */
.ik-brand-preview .qodef-header-logo-image:not(.qodef--light) {
  filter: brightness(0) invert(1);
}

/* The existing child theme forces sticky spans black with !important. */
.ik-brand-preview .qodef-header-sticky span {
  color: var(--ik-text) !important;
}

.ik-brand-preview .qodef-header-navigation > ul > li > a,
.ik-brand-preview .qodef-mobile-header-navigation > ul > li > a {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 2.5px;
}

.ik-brand-preview .qodef-header-navigation > ul > li > a .qodef-menu-item-text::after,
.ik-brand-preview .qodef-header-navigation > ul > li > a .qodef-menu-item-text-inner::after,
.ik-brand-preview .qodef-mobile-header-navigation > ul > li > a .qodef-menu-item-text-inner::after {
  content: none;
}

.ik-brand-preview :is(.qodef-header-navigation, .qodef-mobile-header-navigation) > ul > li > a:hover,
.ik-brand-preview :is(.qodef-header-navigation, .qodef-mobile-header-navigation) > ul > li > a:hover span {
  color: #da8a4c !important;
}

.ik-brand-preview :is(#qodef-page-header, #qodef-page-mobile-header, .qodef-header-sticky, #qodef-page-footer) :is(a, p, li):not(:where(h1 *, h2 *, h3 *, h4 *, h5 *, h6 *)),
.ik-brand-preview #qodef-page-inner :is(p, li, label, dt, dd) {
  font-family: var(--ik-body-font);
}

.ik-brand-preview #qodef-page-inner :is(p, li, label, dt, dd) {
  color: var(--ik-text);
}

.ik-brand-preview :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--ik-heading-font);
  font-weight: 700;
  color: var(--ik-orange);
}

.ik-brand-preview :is(h1, h2) {
  color: var(--ik-gold);
}

/* Title casing belongs to the training catalog, not global theme typography. */
.ik-brand-preview:is(.post-type-archive-ik_kb_item, .tax-ik_kb_category, .single-ik_kb_item) #qodef-page-inner :is(h1, h2, h3, h4, h5, h6) {
  text-transform: capitalize;
}

.ik-brand-preview #qodef-page-inner :is(h1, h2):not(.ik-kb-card__title, .ik-kb-single__title):not(:where(.elementor *)) {
  color: var(--ik-gold) !important;
  font-family: var(--ik-heading-font) !important;
}

.ik-brand-preview #qodef-page-inner a,
.ik-brand-preview #qodef-page-footer a {
  color: var(--ik-gold);
}

.ik-brand-preview :is(#qodef-page-inner, #qodef-page-footer) :is(h1, h2, h3, h4, h5, h6) a {
  color: inherit;
}

.ik-brand-preview .ik-kb-archive .ik-kb-card__title {
  font-size: var(--ik-card-title-size);
  line-height: 1.2;
  color: #000000;
}

.ik-brand-preview #qodef-page-inner .ik-kb-single__title {
  color: #000000;
}

.ik-brand-preview .ik-kb-card__taxonomy {
  font-family: var(--ik-body-font);
  font-size: var(--ik-card-category-size);
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.3;
}

.ik-brand-preview #qodef-page-inner .ik-kb-card__taxonomy a {
  color: #000;
}

.ik-brand-preview .ik-kb-card__body {
  gap: 6px;
}

.ik-brand-preview .ik-kb-card__excerpt {
  margin-top: 8px;
  font-size: var(--ik-card-description-size);
  line-height: 1.65;
}

.ik-brand-preview #qodef-page-inner a:hover,
.ik-brand-preview #qodef-page-footer a:hover {
  color: var(--ik-hover);
}

.ik-brand-preview :is(input, textarea, select, button, .qodef-button) {
  font-family: var(--ik-body-font);
}

.ik-brand-preview .ik-kb-archive__search #ik-kb-search {
  color: var(--ik-text);
  background: transparent;
  border-color: var(--ik-divider);
}

.ik-brand-preview .ik-kb-archive__search input::placeholder {
  color: var(--ik-muted);
  opacity: 1;
}

.ik-brand-preview .ik-kb-archive__search .qodef-button {
  color: var(--ik-gold);
}

.ik-brand-preview .ik-kb-archive__search {
  border-color: var(--ik-gold);
}

.ik-brand-preview .ik-kb-archive .ik-kb-archive__filter-group {
  border-color: var(--ik-divider);
}

.ik-brand-preview .ik-kb-archive__filter-group summary {
  font-family: var(--ik-body-font);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: var(--ik-text);
}

.ik-brand-preview #qodef-page-inner .ik-kb-archive__filter-group a,
.ik-brand-preview #qodef-page-inner .ik-kb-archive__reset-link {
  color: var(--ik-text);
}

.ik-brand-preview :is(.ik-kb-card__meta, .ik-kb-archive__results-summary, .ik-kb-single__meta) {
  color: var(--ik-muted);
}

.ik-brand-preview :is(.ik-kb-single__meta, .ik-kb-archive__empty) {
  border-color: var(--ik-divider);
}

.ik-brand-preview .qodef-button.qodef-layout--filled {
  background: var(--ik-gold);
  border-color: var(--ik-gold);
  color: var(--ik-background);
}

.ik-brand-preview .qodef-button.qodef-layout--filled:hover {
  background: var(--ik-hover);
  border-color: var(--ik-hover);
  color: var(--ik-background);
}

.ik-brand-preview .ik-kb-card__media-overlay {
  background: var(--ik-card-overlay-background);
  color: var(--ik-card-overlay-text);
  font-size: var(--ik-card-overlay-size);
  line-height: 1.3;
}

.ik-brand-preview :focus-visible {
  outline: 2px solid var(--ik-hover);
  outline-offset: 5px;
}

/* Elementor's saved page styles and inline widget colors override theme defaults.
   These shared role rules bridge those values while preserving layouts and images. */
.ik-brand-preview .elementor {
  --e-global-color-primary: var(--ik-gold);
  --e-global-color-secondary: var(--ik-orange);
  --e-global-color-text: var(--ik-text);
  --e-global-color-accent: var(--ik-gold);
  --e-global-typography-primary-font-family: var(--ik-heading-font);
  --e-global-typography-secondary-font-family: var(--ik-heading-font);
  --e-global-typography-text-font-family: var(--ik-body-font);
  --e-global-typography-accent-font-family: var(--ik-body-font);
}

.ik-brand-preview .elementor :where(.e-con, .elementor-section, .elementor-widget-wrap) {
  background-color: transparent;
}

.ik-brand-preview .elementor .ik-brand-image-surface {
  --ik-text: #dedbd5;
  --ik-muted: #bdbdbd;
  --ik-gold: var(--ik-brand-gold);
  --ik-orange: #da8a4a;
  --ik-surface: #141414;
  color: var(--ik-text);
  background-color: var(--ik-background) !important;
  background-image: linear-gradient(#0009, #0009), var(--ik-brand-image) !important;
  background-blend-mode: normal;
}

.ik-brand-preview .elementor :is(.elementor-widget-text-editor, p, li),
.ik-brand-preview #qodef-page-footer :is(p, li, .footer-copy),
.ik-brand-preview .qodef-team-list .qodef-e-role {
  color: var(--ik-text) !important;
  font-family: var(--ik-body-font) !important;
}

.ik-brand-preview .qodef-image-gallery .qodef-e-caption {
  font-family: var(--ik-heading-font);
  color: var(--ik-orange);
}

.ik-brand-preview .qodef-image-gallery .qodef-e-description {
  font-family: var(--ik-body-font);
  color: var(--ik-muted);
}

/* Defaults must lose to Elementor's per-widget and responsive generated CSS. */
.ik-brand-preview .elementor :where(h1, h2, h3, h4, h5, h6, .elementor-heading-title),
.ik-brand-preview .people .qodef-e-title {
  font-family: var(--ik-heading-font);
  font-weight: 700;
  color: var(--ik-orange);
}

.ik-brand-preview .elementor :where(h1, h2) {
  color: var(--ik-gold);
}

.ik-brand-preview .elementor :where(h1, h2, h3, h4, h5, h6) :where(span, a) {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.ik-brand-preview .qodef-icon-with-text .qodef-m-icon-wrapper svg {
  fill: currentColor;
  stroke: currentColor;
}

.ik-brand-preview .elementor-widget-text-editor :is(span, strong, em):not(:where(h1 *, h2 *, h3 *, h4 *, h5 *, h6 *)) {
  color: inherit !important;
  font-family: inherit !important;
}

.ik-brand-preview :is(.qodef-button.qodef-layout--filled, .elementor-button, input[type="submit"], button[type="submit"]:not(.qodef-layout--textual), #sgcc-accept-button) {
  background-color: var(--ik-gold) !important;
  border-color: var(--ik-gold) !important;
  color: var(--ik-background) !important;
  font-family: var(--ik-body-font);
}

.ik-brand-preview :is(.qodef-button, .elementor-button) :is(.qodef-m-text, .elementor-button-text) {
  color: inherit !important;
  font-family: var(--ik-body-font) !important;
}

.ik-brand-preview :is(.qodef-button.qodef-layout--filled, .elementor-button, input[type="submit"], #sgcc-accept-button):hover {
  background-color: var(--ik-hover) !important;
  border-color: var(--ik-hover) !important;
}

.ik-brand-preview :is(.qodef-button.qodef-layout--outlined, .qodef-button.qodef-layout--textual) {
  color: var(--ik-gold) !important;
  border-color: var(--ik-gold);
}

.ik-brand-preview :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select) {
  background-color: var(--ik-surface);
  color: var(--ik-text);
  border-color: var(--ik-divider);
}

.ik-brand-preview :is(input, textarea)::placeholder {
  color: var(--ik-muted);
  opacity: 1;
}

.ik-brand-preview :is(#qodef-page-footer-top-area, #qodef-page-footer-bottom-area, .qodef-fullscreen-menu-holder, .qodef-side-area, #sgcc-container) {
  background-color: var(--ik-surface);
  color: var(--ik-text);
}

.ik-brand-preview :is(#qodef-page-footer-top-area, #qodef-page-footer-bottom-area) {
  background-blend-mode: multiply;
  border-color: var(--ik-divider);
}

.ik-brand-preview #qodef-page-footer img[src*="logo"] {
  filter: brightness(0) invert(1);
}

.ik-brand-preview :is(.qodef-icon-holder, .qodef-icon-with-text .qodef-m-icon-wrapper, .qodef-social-icons-group, .qodef-opener-icon, .qodef-swiper-container .swiper-button-prev, .qodef-swiper-container .swiper-button-next) {
  color: var(--ik-gold) !important;
}

.ik-brand-preview .ik-c-sea {
  color: var(--ik-orange);
}

.ik-brand-preview .ik-c-sea-bg {
  background-color: var(--ik-surface) !important;
}

.ik-brand-preview .ik-tagline,
.ik-brand-preview .elementor .ik-tagline :is(h1, h2, h3, p, span) {
  font-family: "IK Billock Preview", var(--ik-heading-font);
  color: var(--ik-orange);
  font-weight: 400;
}
