/**
 * Builder case studies → FTS lab visual parity.
 * Loads last on non-React work pages (after case-study-fixes.css).
 */

/* ── Progress bar ── */
body.n92-cs-framework-v2 .n92-cs-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 130;
  background: transparent;
  pointer-events: none;
}

body.n92-cs-framework-v2 .n92-cs-progress__bar {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left center;
  background: linear-gradient(90deg, var(--n92-lab-pink), #ff0062);
}

/* ── Hide legacy builder chrome duplicated by React hero/process ── */
body.n92-cs-framework-v2 #content .themify_builder_content > .module_row.tb_first,
body.n92-cs-framework-v2 #content .themify_builder_content > .module_row.n92-cs-intro,
body.n92-cs-framework-v2 #content .themify_builder_content > .module_row.n92-cs-process--lifted,
body.n92-cs-framework-v2 #content .themify_builder_content > .module_row.n92-cs-empty {
  display: none !important;
}

/* ── Flat dark canvas (override fixes #171717 bands) ── */
body.n92-cs-framework-v2.n92-cs-redesign #content .themify_builder_content .module_row {
  background-color: var(--n92-lab-bg) !important;
  background-image: none !important;
}

body.n92-cs-framework-v2.n92-cs-redesign
  #content
  .themify_builder_content
  .module_row.tb_has_section,
body.n92-cs-framework-v2.n92-cs-redesign
  #content
  .themify_builder_content
  .module_row.n92-cs-chapter {
  background-color: var(--n92-lab-ink) !important;
  padding-top: var(--n92-lab-gap) !important;
  padding-bottom: var(--n92-lab-gap) !important;
  border-top: 1px solid rgba(239, 236, 232, 0.07);
}

body.n92-cs-framework-v2.n92-cs-redesign
  #content
  .themify_builder_content
  .module_row.n92-cs-chapter:nth-of-type(even) {
  background-color: var(--n92-lab-bg) !important;
}

/* Kill WP white / light gray section bands */
body.n92-cs-framework-v2 #content .themify_builder_content .module_row[style*="background-color:#fff"],
body.n92-cs-framework-v2 #content .themify_builder_content .module_row[style*="background-color: #fff"],
body.n92-cs-framework-v2 #content .themify_builder_content .module_row[style*="background-color:#f1f1f1"],
body.n92-cs-framework-v2 #content .themify_builder_content .module_row[style*="background-color: #f1f1f1"],
body.n92-cs-framework-v2 #content .themify_builder_content .module_row[style*="background-color:#ffffff"] {
  background-color: var(--n92-lab-bg) !important;
}

/* ── Section headers → lab chapter typography ── */
body.n92-cs-framework-v2 #content .themify_builder_content .tb_has_section .module-text h2,
body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-chapter .module-text h2,
body.n92-cs-framework-v2 #content .themify_builder_content .tb_has_section .module-text h2 strong,
body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-chapter .module-text h2 strong {
  font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
  font-weight: 900 !important;
  text-transform: lowercase !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  color: var(--n92-lab-cream) !important;
  text-align: left !important;
}

body.n92-cs-framework-v2 #content .themify_builder_content .tb_has_section .module-text h3,
body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-chapter .module-text h3 {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--n92-lab-green) !important;
  text-align: left !important;
  margin-bottom: 0.4rem !important;
}

/* Replace fat pink divider with lab rule */
body.n92-cs-framework-v2 #content .themify_builder_content .module-divider {
  max-width: var(--n92-lab-max) !important;
  margin-inline: auto !important;
  padding-inline: var(--n92-lab-pad) !important;
}

body.n92-cs-framework-v2 #content .themify_builder_content .module-divider hr,
body.n92-cs-framework-v2 #content .themify_builder_content .module-divider .tb_divider {
  height: 2px !important;
  background: var(--n92-lab-pink) !important;
  border: none !important;
  max-width: 100% !important;
}

/* Section copy */
body.n92-cs-framework-v2 #content .themify_builder_content .tb_has_section .module-text p,
body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-chapter .module-text p {
  color: var(--n92-lab-muted) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  max-width: 50ch;
}

body.n92-cs-framework-v2 #content .themify_builder_content .tb_has_section .row_inner,
body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-chapter .row_inner {
  max-width: min(1480px, 100%) !important;
  margin-inline: auto !important;
  padding-inline: var(--n92-lab-pad) !important;
}

/* ── Media blocks → lab moment frames ── */
body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-media-block__visual {
  padding-inline: var(--n92-lab-pad) !important;
  margin-bottom: clamp(1rem, 2.5vw, 1.75rem) !important;
}

body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-media-block__visual .row_inner {
  max-width: min(1480px, 100%) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.n92-cs-framework-v2
  #content
  .themify_builder_content
  .n92-cs-media-block__visual
  .image-wrap {
  background: var(--n92-lab-stage) !important;
  border: 1px solid rgba(239, 236, 232, 0.08) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  line-height: 0;
}

body.n92-cs-framework-v2
  #content
  .themify_builder_content
  .n92-cs-media-block__visual
  .module-image
  img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

body.n92-cs-framework-v2 #content .themify_builder_content .n92-cs-media-block__caption {
  padding-inline: var(--n92-lab-pad) !important;
  margin-bottom: clamp(3rem, 7vw, 5rem) !important;
}

body.n92-cs-framework-v2
  #content
  .themify_builder_content
  .n92-cs-media-block__caption
  .module-text
  h3,
body.n92-cs-framework-v2
  #content
  .themify_builder_content
  .n92-cs-media-block__caption
  .module-text
  h4 {
  font-size: clamp(1.1rem, 2vw, 1.45rem) !important;
  font-weight: 800 !important;
  text-transform: lowercase !important;
  color: var(--n92-lab-cream) !important;
  margin-bottom: 0.5rem !important;
}

body.n92-cs-framework-v2
  #content
  .themify_builder_content
  .n92-cs-media-block__caption
  .module-text
  p {
  color: var(--n92-lab-muted) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
}

/* Fullwidth image rows */
body.n92-cs-framework-v2 #content .themify_builder_content .module_row.fullwidth {
  padding-inline: var(--n92-lab-pad) !important;
  background: var(--n92-lab-bg) !important;
}

body.n92-cs-framework-v2 #content .themify_builder_content .module_row.fullwidth .row_inner {
  max-width: min(1480px, 100%) !important;
  margin-inline: auto !important;
}

body.n92-cs-framework-v2
  #content
  .themify_builder_content
  .module_row.fullwidth
  .image-wrap {
  background: var(--n92-lab-stage) !important;
  border: 1px solid rgba(239, 236, 232, 0.06) !important;
}

/* ── Video header on builder pages with meta video ── */
body.n92-cs-framework-v2 .n92-cs-video-header {
  background: #0c0c0c !important;
  border-bottom: 1px solid rgba(239, 236, 232, 0.08);
  aspect-ratio: unset !important;
  max-height: none !important;
}

body.n92-cs-framework-v2 .n92-cs-video-header__media {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: min(72vh, 820px) !important;
  object-fit: cover !important;
  background: var(--n92-lab-stage) !important;
}

/* ── Gallery anchor ── */
#n92-cs-gallery {
  scroll-margin-top: 5rem;
}

/* ── Legacy hero hidden (replaced by n92-lab-header) ── */
body.n92-cs-framework-v2 .n92-cs-hero {
  display: none !important;
}

/* ── Wider copy in gallery sections ── */
body.n92-cs-framework-v2.n92-cs-redesign
  #content
  .themify_builder_content
  .tb_has_section
  .module-text,
body.n92-cs-framework-v2.n92-cs-redesign
  #content
  .themify_builder_content
  .n92-cs-chapter
  .module-text {
  max-width: none !important;
}

/* ── Convert / explore bands ── */
body.n92-cs-framework-v2 .n92-cs-convert-band,
body.n92-cs-framework-v2 .n92-continue-rail {
  background: var(--n92-lab-ink) !important;
  border-color: rgba(239, 236, 232, 0.08) !important;
}
