/* Fix mobile text alignment and avoid word splits on single blog posts */
.single-post .entry-content,
.single-post .wp-block-paragraph,
.single-post p {
  text-align: left !important;
  hyphens: none !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.6 !important;
}

/* Fix list items specifically to avoid weird gaps */
.single-post li {
  text-align: left !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
  line-height: 1.6 !important;
}

/* Stop awkward heading breaks in blog posts */
.single-post h2,
.single-post h3 {
  display: block;
  text-align: left !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}

/* Paragraph styling */
body.single-post .wp-block-paragraph {
  line-height: 1.7 !important;
  margin-bottom: 1.25em !important;
}

/* Heading spacing */
body.single-post .wp-block-heading {
  margin-top: 2em !important;
  margin-bottom: 1em !important;
  line-height: 1.3 !important;
}

/* List styling */
body.single-post .wp-block-list {
  margin-bottom: 1.5em !important;
  padding-left: 1.5em !important;
}

/* Explicitly override global single-post text alignment for CTAs */
body.single-post .entry-content .post-cta p,
body.single-post .entry-content .post-cta h1,
body.single-post .entry-content .post-cta h2,
body.single-post .entry-content .post-cta h3 {
  text-align: left !important;
}

/* Allow Gutenberg text alignment utilities to work inside posts */
.single-post p.has-text-align-center {
  text-align: center !important;
}

.single-post p.has-text-align-left {
  text-align: left !important;
}

.single-post p.has-text-align-right {
  text-align: right !important;
}


/* ============================================
   TYPOGRAPHY OVERHAUL - PP Editorial New + Inter
   ============================================ */

/* Load PP Editorial New Ultralight (200) from CDN */
@font-face {
  font-family: 'Editorial New';
  src: url('https://db.onlinewebfonts.com/t/23ed6ab5114b3c4b57abae46cf8a5029.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

/* Load Inter from Google Fonts */

/* ---- Body / global defaults ---- */
body, p, li, td, input, textarea, select, button,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.7;
}

/* ---- H1 — Editorial New Ultralight ---- */
h1,
.elementor-heading-title.elementor-size-xxl,
.elementor-heading-title.elementor-size-xl {
  font-family: 'Editorial New', serif !important;
  font-weight: 200 !important;
  font-size: 56px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* ---- H2 — Editorial New Regular ---- */
h2,
.elementor-heading-title.elementor-size-large {
  font-family: 'Editorial New', serif !important;
  font-weight: 400 !important;
  font-size: 36px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

/* ---- H3/card titles — Inter SemiBold ---- */
h3,
.elementor-heading-title.elementor-size-medium {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 22px;
  line-height: 1.3;
  letter-spacing: 0;
}

/* ---- H4/H5/H6 — Inter Medium ---- */
h4, h5, h6,
.elementor-heading-title.elementor-size-small,
.elementor-heading-title.elementor-size-xs {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
}

/* ---- Nav — Inter Medium ---- */
.elementor-nav-menu a,
.elementor-nav-menu li a,
nav a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px;
  letter-spacing: 0.04em;
}

/* ---- Stat/counter numbers — Inter Bold ---- */
.elementor-counter-number,
.elementor-counter .elementor-counter-number-wrapper {
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
}

/* ---- Forms — Inter ---- */
.fd-form-container *,
input, textarea, select, button {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Eliminate Poppins everywhere ---- */
* {
  font-family: inherit;
}

/* ---- Kill remaining Poppins on buttons, spans, links, lists ---- */
.elementor-button,
.elementor-button-link,
.elementor-button-content-wrapper,
.elementor-button-text,
.elementor-icon-list-text,
.elementor-widget-button a,
.elementor-widget-button span,
a, span, li {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Accordion titles & post excerpts (final Poppins cleanup) ---- */
.e-n-accordion-item-title-text,
.e-n-accordion-item-title,
.elementor-widget-theme-post-excerpt,
.elementor-widget-theme-post-excerpt p,
.elementor-widget-theme-post-excerpt div {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Blog post content & figures ---- */
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p,
.elementor-widget-theme-post-content li,
.elementor-widget-theme-post-content div,
.elementor-widget-theme-post-content span,
.elementor-widget-theme-post-content blockquote,
.entry-content, .entry-content p,
figure, figcaption, .alignright, .alignleft, .aligncenter {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Jetpack carousel overlay ---- */
.jp-carousel-overlay,
.jp-carousel-container,
.jp-carousel-wrap,
.jp-carousel-info,
.jp-carousel-caption,
.jp-carousel-slide-caption,
.jp-carousel-comments-wrapper,
.jp-carousel-info-extra,
#jp-carousel-comment-form-submit-and-info-wrapper * {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Jetpack carousel — wildcard children override ---- */
.jp-carousel-overlay *,
.jp-carousel-container *,
.jp-carousel-wrap *,
#jp-carousel-comment-form-submit-and-info-wrapper *,
.jp-carousel-info *,
textarea.jp-carousel-comment-form-field {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Jetpack carousel — high-specificity override (beats Jetpack's !important) ---- */
body .jp-carousel-overlay,
body .jp-carousel-overlay *,
body div.jp-carousel-buttons a,
body .jp-carousel-photo-title,
body .jp-carousel-photo-caption,
body .jp-carousel-msg,
body .jp-carousel-has-comments-indicator,
body .jp-carousel-comment-form-field,
body .jp-carousel-info-extra * {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Jetpack carousel — full ID-level specificity overrides ---- */
body .jp-carousel-overlay,
body .jp-carousel-overlay *,
body .jp-carousel-msg,
body div.jp-carousel-buttons a,
body .jp-carousel-photo-title,
body .jp-carousel-photo-caption,
body .jp-carousel-image-meta,
body .jp-carousel-image-meta li,
body .jp-carousel-image-meta h5,
body .jp-carousel-comments,
body textarea#jp-carousel-comment-form-comment-field,
body #jp-carousel-comment-form-commenting-as input,
body #jp-carousel-comment-form-commenting-as p,
body #jp-carousel-comment-form-commenting-as label,
body #jp-carousel-comment-post-results span,
body #jp-carousel-comments-loading,
body .jp-carousel-has-comments-indicator {
  font-family: 'Inter', sans-serif !important;
}

/* ---- Spans/links inside headings must inherit the heading's font ---- */
h1 span, h1 a, h1 strong, h1 em,
h2 span, h2 a, h2 strong, h2 em,
.elementor-heading-title span,
.elementor-heading-title a,
.elementor-heading-title strong,
.elementor-heading-title em,
.fl-landing-accent {
  font-family: inherit !important;
  font-weight: inherit !important;
}

/* ---- Services page: large H3 section headings → Editorial New ---- */
.elementor-element-0f5d36a .elementor-heading-title,
.elementor-element-dbeeac3 .elementor-heading-title,
.elementor-element-6f18860 .elementor-heading-title,
.elementor-element-ea9ae48 .elementor-heading-title,
.elementor-element-50d8cc7 .elementor-heading-title {
  font-family: 'Editorial New', serif !important;
  font-weight: 200 !important;
  letter-spacing: -0.02em;
}
/* Guide card headings → Editorial New */
.elementor-element-567bf8b h3,
.elementor-element-567bf8b h2,
.elementor-element-567bf8b .guide-card-title {
  font-family: 'Editorial New', serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
}
/* Guide card UI labels — Inter Medium (500) */
.fl-landing-card-meta,
.fl-landing-card-arrow {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
}
/* Channel grid card titles → Editorial New */
.fl-card-name {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

/* Blog post CTA heading + callout heading → Editorial New (widget 637faf2f) */
.elementor-element-637faf2f p[style*="font-weight:700"],
.elementor-element-637faf2f p[style*="font-weight:600"] {
  font-family: 'Editorial New', serif !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em;
}

/* =============================================
   Floodlight Brand Typography — v2.0 Compliance
   Applied: 2026-04-18
   H1: Editorial New 300, 56px, lh 1.1, ls -0.02em
   H2: Editorial New 400, 36px, lh 1.2
   H3: Inter 600, 22px, lh 1.4
   Body: Inter 400, 17px, lh 1.7
   Nav: Inter 500, 14px, ls 0.04em
   ============================================= */

/* H1 — Editorial New Light 300, 56px */
h1 {
  font-family: "Editorial New", serif !important;
  font-weight: 300 !important;
  font-size: 56px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
}

/* H2 — Editorial New Regular 400, 36px */
h2 {
  font-family: "Editorial New", serif !important;
  font-weight: 400 !important;
  font-size: 36px !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
}

/* H3 — Inter SemiBold 600, 22px */
/* .elementor-element h3 (0,1,1) ties page-level overrides but loads later so wins */
h3,
.elementor-element h3,
.elementor-widget-heading h3.elementor-heading-title {
  font-family: Inter, sans-serif !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
}

/* H4–H6 — Inter */
h4, h5, h6 {
  font-family: Inter, sans-serif !important;
}

/* Body paragraphs — Inter Regular 400, 17px, lh 1.7 */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-text-editor p,
.entry-content p,
.entry-content li,
.wp-block-paragraph {
  font-family: Inter, sans-serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* Nav — Inter Medium 500, 14px, ls 0.04em */
.elementor-nav-menu a,
.elementor-nav-menu .elementor-item,
.elementor-nav-menu .menu-item > a {
  font-family: Inter, sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
}
/* =============================================
   TV Guide page — Full Inter enforcement
   All 22 fl-* custom element classes were using
   the system font stack — replaced with Inter.
   Sub-13px labels bumped to brand minimum (13px).
   ============================================= */

/* TV Guide page — Blanket Inter on all custom fl-* elements */
.fl-wrap,
.fl-wrap * {
  font-family: Inter, sans-serif !important;
}

/* Display headings → Editorial New (overrides blanket Inter above) */
.fl-wrap .fl-h1,
.fl-wrap .fl-h2,
.fl-wrap .fl-pitch-h2,
.fl-wrap .fl-month-name {
  font-family: "Editorial New", serif !important;
}

/* H1: Editorial New Light 300 */
.fl-wrap .fl-h1 {
  font-weight: 300 !important;
}

/* H2 / pitch H2 / month name: Editorial New Regular 400 */
.fl-wrap .fl-h2,
.fl-wrap .fl-pitch-h2,
.fl-wrap .fl-month-name {
  font-weight: 400 !important;
}

/* Stat & accent numbers: Inter Bold 700 (brand spec max) */
.fl-wrap .fl-month-num,
.fl-wrap .fl-stat-val,
.fl-wrap .fl-date,
.fl-wrap .fl-pitch-num,
.fl-wrap .fl-plat-name {
  font-weight: 700 !important;
}

/* UI labels → brand minimum 13px, Inter 500 */
.fl-kicker,
.fl-stat-label,
.fl-card-plat,
.fl-card-meta,
.fl-month-count,
.fl-row-plat,
.fl-plat-count,
.fl-pitch-eyebrow {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
}

/* Show titles in calendar rows — Inter SemiBold */
.fl-row-title {
  font-weight: 600 !important;
}

/* ============================================================
   Podcast Advertising Guide — fl2-* typography compliance
   Applied: 2026-04-18
   ============================================================ */

/* Blanket Inter on all fl2-* elements (fixes system font fallback) */
.fl-guide2,
.fl-guide2 * {
  font-family: Inter, sans-serif !important;
}

/* Display headings → Editorial New (overrides blanket Inter) */
.fl-guide2 .fl2-h1,
.fl-guide2 .fl2-h2,
.fl-guide2 .fl2-pitch-h2,
.fl-guide2 .fl2-cat-name {
  font-family: "Editorial New", serif !important;
}

/* H1: Editorial New Light 300 */
.fl-guide2 .fl2-h1 {
  font-weight: 300 !important;
}

/* H2 / pitch H2 / category name: Editorial New Regular 400 */
.fl-guide2 .fl2-h2,
.fl-guide2 .fl2-pitch-h2,
.fl-guide2 .fl2-cat-name {
  font-weight: 400 !important;
}

/* Stat & accent numbers: Inter Bold 700 (brand spec max, was 800–900) */
.fl-guide2 .fl2-callout-num,
.fl-guide2 .fl2-cat-num,
.fl-guide2 .fl2-pitch-num,
.fl-guide2 .fl2-footer-logo,
.fl-guide2 .fl2-logo-mark,
.fl-guide2 .fl2-pod-title,
.fl-guide2 .fl2-rank,
.fl-guide2 .fl2-stat-val {
  font-weight: 700 !important;
}

/* UI labels → brand minimum 13px */
.fl-guide2 .fl2-callout-sub,
.fl-guide2 .fl2-card-cat,
.fl-guide2 .fl2-card-host,
.fl-guide2 .fl2-card-meta,
.fl-guide2 .fl2-cat-count,
.fl-guide2 .fl2-dot,
.fl-guide2 .fl2-footer,
.fl-guide2 .fl2-footer-inner,
.fl-guide2 .fl2-pitch-eyebrow,
.fl-guide2 .fl2-pod-host,
.fl-guide2 .fl2-stat-label,
.fl-guide2 .fl2-tag {
  font-size: 13px !important;
}

/* Podcast Guide — card layout fixes
   Applied: 2026-04-18 */

/* Center the content wrapper properly at all viewport widths */
.fl-guide2 .fl2-wrap {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Force 3-column layout on the stat callout cards (31%, 2.5x, ~89%)
   — auto-fill creates a 4th empty column at wide viewports */
.fl-guide2 .fl2-callout-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

/* Equal 3-column layout for the featured show cards */
.fl-guide2 .fl2-big-three {
  grid-template-columns: repeat(3, 1fr) !important;
}
/* Hide fake footer logo bar on podcast guide */
.fl2-footer {
  display: none !important;
}

/* Work With Us - CTA button style */
.menu-cta-button > a {
  background-color: #646ef1 !important;
  color: #ffffff !important;
  padding: 10px 22px !important;
  border-radius: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  transition: background-color 0.2s ease !important;
  text-decoration: none !important;
}
.menu-cta-button > a:hover {
  background-color: #4f59e0 !important;
  color: #ffffff !important;
}
}
}

/* =============================================
   Blog Cards: Uniform Height + Title Truncation
   ============================================= */

/* Make each loop item a flex column so content stretches */
.e-loop-item > .elementor {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Inner content container stretches to fill remaining space */
.e-loop-item .elementor-element-1ec75be {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Push post-info (date/author) to the bottom of the card */
.e-loop-item .elementor-widget-post-info {
  margin-top: auto !important;
}

/* Truncate post titles to 2 lines with ellipsis */
.e-loop-item .elementor-heading-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Truncate excerpt to 3 lines */
.e-loop-item .elementor-widget-theme-post-excerpt .elementor-widget-container {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Home page hero gradient — extends through nav into hero */
body.home {
  position: relative;
  overflow-x: clip;
}
body.home::before {
  content: "";
  position: absolute;
  width: 700px;
  height: 700px;
  top: -80px;
  right: -80px;
  background: radial-gradient(circle, rgba(91, 79, 232, 0.12) 0%, rgba(91, 79, 232, 0) 70%);
  pointer-events: none;
  z-index: 0;
}
body.home .elementor-location-header,
body.home .elementor-location-header > * {
  background: transparent !important;
  background-color: transparent !important;
}

/* Gradient for Articles/Blog, Work With Us, Services pages */
body.blog,
body.page-id-96,
body.page-id-93 {
  position: relative;
  overflow-x: clip;
}
body.blog::before,
body.page-id-96::before,
body.page-id-93::before {
  content: "";
  position: absolute;
  width: 700px;
  height: 700px;
  top: -80px;
  right: -80px;
  background: radial-gradient(circle, rgba(91, 79, 232, 0.12) 0%, rgba(91, 79, 232, 0) 70%);
  pointer-events: none;
  z-index: 0;
}
body.blog .elementor-location-header,
body.blog .elementor-location-header > *,
body.page-id-96 .elementor-location-header,
body.page-id-96 .elementor-location-header > *,
body.page-id-93 .elementor-location-header,
body.page-id-93 .elementor-location-header > * {
  background: transparent !important;
  background-color: transparent !important;
}

/* Work With Us page — spacing between subheading and CTA buttons */
.elementor-element-01ceb1f,
.elementor-element-47c4aac {
  margin-top: 24px !important;
}

/* Work With Us button in mobile nav dropdown */
.elementor-nav-menu--dropdown-mobile .elementor-nav-menu--dropdown li.menu-cta-button {
  padding: 8px 16px !important;
  background: transparent !important;
}
.elementor-nav-menu--dropdown-mobile .elementor-nav-menu--dropdown li.menu-cta-button > a {
  background-color: #646ef1 !important;
  color: #fff !important;
  padding: 12px 22px !important;
  border-radius: 50px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}


/* ── Logo carousel: force height so SVGs without explicit dimensions render ── */
.press-logo img {
  height: 38px !important;
  width: auto !important;
  max-width: 160px !important;
}


/* ── Typography: Editorial New headings + Inter body ── */
p, .elementor-widget-text-editor, .elementor-widget-text-editor p,
.elementor-widget-text-editor span {
  font-family: 'Inter', sans-serif !important;
}

h1, h2 {
  font-family: 'Editorial New', serif !important;
}
h1 { font-weight: 300 !important; }
h2 { font-weight: 400 !important; }

h3, h4, h5, h6,
.elementor-widget-heading .elementor-heading-title.elementor-size-medium,
.elementor-widget-heading .elementor-heading-title.elementor-size-small {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
}
/* Cap bold weight to 700 — Inter loaded weights: 400, 500, 600, 700 */
strong, b {
  font-weight: 700 !important;
}
/* Match footer CTA text color to surrounding paragraph gray — links keep brand purple */
.elementor-element-3296dc6 p {
  color: #666666 !important;
}