/**
 * Project Whippoorwill — Phase 2 — Weather Brief player CSS.
 * Scoped under .hg-wx-brief to avoid colliding with the main audio player
 * or with third-party ad-injected widgets. Font sizes in px per site rules.
 */

.hg-wx-brief {
  margin: 24px 0;
  padding: 20px 22px;
  background: linear-gradient(135deg, #fafcff 0%, #f0f4fa 100%);
  border: 1px solid #cbd6e4;
  border-radius: 14px;
  box-sizing: border-box;
  font-family: inherit;
}

.hg-wx-brief-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.hg-wx-brief-head h3 {
  margin: 0;
  font-size: 20px;
  color: #1c3a5c;
  font-weight: 700;
}

.hg-wx-brief-head h3 i {
  color: #4f76a3;
  margin-right: 6px;
}

.hg-wx-brief-sub {
  color: #6a7d94;
  font-weight: 400;
  font-size: 15px;
  margin-left: 4px;
}

.hg-wx-brief-meta {
  margin: 0;
  padding: 8px 16px !important;
  /* !important on padding + font-size to defend against the .article-content p
     rule in 04-08-25-v1.css that forces 17-19px font-size and also against any
     wrapping article-content margin/padding rules that can shrink the pill. */
  font-size: 13px !important;
  line-height: 1.3 !important;
  color: #4f6480;
  background: rgba(255,255,255,0.6);
  border-radius: 999px;
}

.hg-wx-brief-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.hg-wx-brief-tab {
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid #b9c7d9;
  background: #fff;
  color: #334b68;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.hg-wx-brief-tab:hover {
  border-color: #4f76a3;
  color: #1c3a5c;
}

.hg-wx-brief-tab[aria-selected="true"] {
  background: #1c3a5c;
  border-color: #1c3a5c;
  color: #fff;
}

.hg-wx-brief-panel[aria-hidden="true"] {
  display: none;
}

.hg-wx-brief-player {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #dde4ee;
  border-radius: 10px;
}

.hg-wx-brief-play {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: #1c3a5c;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}

.hg-wx-brief-play:hover {
  background: #2a5485;
}

.hg-wx-brief-scrub {
  flex: 1;
  min-width: 160px;
}

.hg-wx-brief-progress-wrap {
  height: 6px;
  background: #e1e7ef;
  border-radius: 3px;
  overflow: hidden;
}

.hg-wx-brief-progress-bar {
  height: 100%;
  width: 0;
  background: #4f76a3;
  transition: width 0.1s linear;
}

.hg-wx-brief-times {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #6a7d94;
  margin-top: 4px;
}

.hg-wx-brief-voice-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.hg-wx-brief-voice-label {
  font-size: 12px;
  font-weight: 700;
  color: #4f6480;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  white-space: nowrap;
}

.hg-wx-brief-voice {
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid #cbd6e4;
  background: #fff;
  color: #4f6480;
  border-radius: 999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
}

.hg-wx-brief-voice.is-active {
  border-color: #1c3a5c;
  background: #1c3a5c;
  color: #fff;
}

.hg-wx-brief-voice-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.hg-wx-brief-voice-dot--f { background: #e87aa5; }
.hg-wx-brief-voice-dot--m { background: #5ba3d0; }

.hg-wx-brief-transcript-wrap {
  margin-top: 12px;
  font-size: 15px;
  color: #2f3e55;
}

.hg-wx-brief-transcript-wrap summary {
  cursor: pointer;
  font-size: 14px;
  color: #4f76a3;
  font-weight: 600;
  padding: 6px 0;
}

.hg-wx-brief-transcript {
  margin: 10px 0 0;
  padding: 18px 22px !important;
  background: #fff;
  border: 1px solid #e1e7ef;
  border-radius: 8px;
  /* !important on padding + font-size to defend against the .article-content p
     rule in 04-08-25-v1.css (forces 17-19px font-size and can collapse padding
     via cascading article-p margin rules). The transcript is a <p> element. */
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.hg-wx-brief-disclaimer {
  margin: 12px 0 0;
  padding: 8px 12px !important;
  /* !important on padding + font-size to defend against .article-content p
     rule in 04-08-25-v1.css (forces 17-19px and can collapse padding via
     cascading article-p margin rules). */
  font-size: 12px !important;
  line-height: 1.4 !important;
  color: #6a4c1a;
  background: #fff9e6;
  border: 1px solid #f4e4b0;
  border-radius: 6px;
}

@media (max-width: 540px) {
  .hg-wx-brief { padding: 16px; }
  .hg-wx-brief-head h3 { font-size: 17px; }
  .hg-wx-brief-player { gap: 10px; }
  .hg-wx-brief-voice-wrap { width: 100%; justify-content: flex-end; }
  .hg-wx-brief-voice-label { display: none; }
}

@media print {
  .hg-wx-brief { display: none; }
}

/* Drop-cap suppression. The legacy .firstpar p:first-of-type::first-letter
   rule in 04-08-25-v1.css uses a descendant selector, which leaks into any
   <p> that is first-of-type inside its own parent — including the brief's
   "Updated N ago" pill and the amber AI-disclosure callout when the brief
   is placed inside an article's .firstpar container. Defensive override so
   the brief's typography stays consistent regardless of where it's nested. */
.hg-wx-brief ::first-letter {
  font-size: inherit !important;
  font-weight: inherit !important;
  float: none !important;
  margin-right: 0 !important;
  line-height: inherit !important;
  color: inherit !important;
}
