/* Base text styles */
.Text-module_text__HfVuS {
  color: var(--color-black);
}

/* Center alignment */
.Text-module_center__YvawN {
  text-align: center;
}

/* ==================== BODY TEXT ==================== */

/* Default body text */
.Text-module_body__a32aA {
  line-height: var(--text-body-line-height);
  color: var(--color-black);
}

/* Large body text */
.Text-module_bodyLarge__rO6Oy {
  font-size: var(--text-body);
  line-height: 30px;
  color: var(--color-black);
}

/* Small body text */
.Text-module_bodySmall__rTA-w {
  font-size: var(--text-small);
  line-height: 24px;
  color: var(--color-black);
}

/* White body text (for dark backgrounds) */
.Text-module_bodyWhite__HxxRh {
  font-size: 16px;
  line-height: var(--text-body-line-height);
  color: var(--color-white);
}

/* ==================== SPECIALIZED TEXT ==================== */

/* Description text (used in cards, etc.) */
.Text-module_description__XzNZR {
  font-size: var(--text-small);
  line-height: 1.5;
  color: var(--color-black);
}

.Text-module_heroDescription__IBeJ- {
  font-size: var(--text-body);
  line-height: var(--text-body-line-height);
  color: var(--color-text-secondary);
}

.Text-module_hostCardDescription__ryuBt,
.Text-module_articleCardSubtitle__75RPy {
  font-size: var(--text-body);
  line-height: var(--text-body-line-height);
  color: var(--color-text-secondary);
}

/* Caption text (small, muted) */
.Text-module_caption__RqQYH {
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-text-secondary);
}

/* Label text (form labels, etc.) */
.Text-module_label__cY9BP {
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  line-height: 1.5;
  color: var(--color-black);
}

/* Episode item overline (on accent backgrounds) */
.Text-module_episodeItemOverline__m-Oqs {
  font-size: var(--text-h6);
  font-weight: var(--font-weight-semibold);
  line-height: var(--text-h6-line-height);
  letter-spacing: var(--tracking-wider);
  color: var(--color-text-on-accent);
  text-transform: uppercase;
}

/* Error text */
.Text-module_error__VeOuM {
  font-size: var(--text-small);
  line-height: 1.5;
  color: var(--color-error);
}

/* Link text (inline) */
.Text-module_link__7SWm7 {
  font-size: inherit;
  font-weight: var(--font-weight-semibold);
  line-height: inherit;
  color: var(--color-black);
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
  transition: color var(--duration-20) ease;
}

.Text-module_link__7SWm7:hover {
  color: var(--color-text-secondary);
  text-decoration-thickness: 2px;
}

.Text-module_textButtonLink__jEE4- {
  color: var(--color-text-secondary);
  font-size: var(--text-body);
  font-style: normal;
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--tracking-wider);
  line-height: 20px;
  text-transform: uppercase;
  position: relative;
  display: inline-block;
}

.Text-module_textButtonLink__jEE4-::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: currentColor;
}
/* Overline text (small labels above content) */
.Text-module_overline__E-im7 {
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

/* Hero Overline */
.Text-module_heroOverline__FeGFk {
  font-size: var(--text-body);
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

/* Hero Emojis - Large emoji text for hero sections */
.Text-module_heroEmojis__v9a6M {
  font-size: var(--text-h1);
  line-height: var(--text-h1-line-height);
}

/* Hero Station Overline - Light text for station hero sections (theme-independent) */
.Text-module_heroStationOverline__PWMCW {
  font-size: var(--text-body);
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-text-on-accent);
  font-variation-settings:
    "CTGR" 100,
    "wdth" 100;
}

/* Hero Station Description - Light text for station hero sections (theme-independent) */
.Text-module_heroStationDescription__Ik7J- {
  font-size: var(--text-body);
  line-height: var(--text-body-line-height);
  letter-spacing: normal;
  color: var(--color-text-on-accent);
  white-space: pre-wrap;
  font-variation-settings:
    "CTGR" 100,
    "wdth" 100;
}

/* ==================== TRACK INFO (TRUNCATED) ==================== */

/* Track artist text - larger, white, single line truncated */
.Text-module_trackArtist__-agjl {
  font-size: var(--text-body);
  line-height: var(--text-body-line-height);
  color: var(--color-white);
  /* Single line truncation in flex container */
  display: block;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Track title text - smaller, white, single line truncated */
.Text-module_trackTitle__2H-Mn {
  font-size: var(--text-small);
  line-height: 16px;
  color: var(--color-white);
  /* Single line truncation in flex container */
  display: block;
  min-width: 0;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==================== BADGES & TAGS ==================== */

/* Badge text (uppercase labels) */
.Text-module_badge__Rx-7J {
  color: var(--color-text-on-accent);
  font-size: var(--text-body);
  font-style: normal;
  font-weight: var(--font-weight-semibold);
  line-height: 20px;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
}

/* Tag text */
.Text-module_tag__D2neU {
  font-size: 12px;
  font-weight: var(--font-weight-semibold);
  line-height: 1.5;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--color-text-tertiary);
}

/* ==================== CREDITS ==================== */

/* Image credit */
.Text-module_imageCredit__wYXbK {
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-text-tertiary);
  font-style: italic;
}

/* Author credit */
.Text-module_authorCredit__b6u2x {
  font-size: var(--text-small);
  line-height: 1.5;
  color: var(--color-text-tertiary);
}

/* ==================== RESPONSIVE ADJUSTMENTS ==================== */

@media (max-width: 767px) {
  .Text-module_body__a32aA {
    font-size: 15px;
    line-height: 26px;
  }

  .Text-module_bodyLarge__rO6Oy {
    font-size: 17px;
    line-height: var(--text-body-line-height);
  }

  .Text-module_bodySmall__rTA-w {
    font-size: 13px;
    line-height: 22px;
  }
}

@media (max-width: 640px) {
  .Text-module_episodeItemOverline__m-Oqs {
    font-size: var(--text-small);
  }
}

@media (max-width: 480px) {
  .Text-module_body__a32aA {
    font-size: var(--text-small);
    line-height: 24px;
  }

  .Text-module_bodyLarge__rO6Oy {
    font-size: 16px;
    line-height: 26px;
  }

  .Text-module_bodySmall__rTA-w {
    font-size: 12px;
    line-height: 20px;
  }

  .Text-module_description__XzNZR {
    font-size: 13px;
  }
}
