/* ===========================
   Mobile Typography Overrides
   Scoped for Homepage vs Articles
   =========================== */
@media (max-width: 768px) {
  /* HOMEPAGE */
  body.home h1,
  body.home h2,
  body.home h3,
  body.home .entry-title,
  body.home .post-title,
  body.home .ruby-entry-title,
  body.home .headline {
    font-size: 24px !important;
    line-height: 1.4;
  }

  body.home .ruby-block-title,
  body.home .section-title,
  body.home .module-heading,
  body.home .widget-title {
    font-size: 18px !important;
    line-height: 1.4;
  }

  body.home p,
  body.home .entry-excerpt,
  body.home .post-excerpt,
  body.home .meta,
  body.home .post-meta {
    font-size: 17px !important;
    line-height: 1.6;
  }

  body.home .elementor-widget-heading .elementor-heading-title {
    font-size: 24px !important;
    line-height: 1.4;
  }

  body.home .elementor-widget-text-editor {
    font-size: 17px !important;
    line-height: 1.6;
  }

  /* SINGLE ARTICLE PAGES */
  body.single-post h1.entry-title {
    font-size: 30px;
    line-height: 1.3;
  }

  body.single-post .entry-excerpt,
  body.single-post .post-excerpt,
  body.single-post .single-excerpt {
    font-size: 17px;
    line-height: 1.6;
  }

  body.single-post p {
    font-size: 18px;
    line-height: 1.7;
  }
}

/* ===========================
   Sidebar Widget Styling
   =========================== */
.sidebar-widget {
  margin: 32px 0;
  padding: 18px 16px;
  border: 1px solid #cce0ee;
  border-top: 4px solid #005c99;
  border-radius: 6px;
  background: #f9fcfe;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.sidebar-widget h3 {
  margin: 0 0 14px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #005c99;
}

.sidebar-widget p {
  margin: 0 0 14px;
  line-height: 1.55;
}
.sidebar-widget p:last-child {
  margin-bottom: 0;
}

.sidebar-widget a {
  font-weight: 600;
  color: #003d66;
  text-decoration: none;
}
.sidebar-widget a:hover {
  color: #0099cc;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .sidebar-widget {
    margin: 24px 0;
    padding: 14px;
  }
  .sidebar-widget h3 {
    font-size: 1.2rem;
  }
}

:is(.sidebar-widget.related-articles,
    .sidebar.related-articles,
    .related-articles-sidebar) {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #e5e5e5;
  background: #fafafa;
}
:is(.sidebar-widget.related-articles,
    .sidebar.related-articles,
    .related-articles-sidebar) h3 {
  margin: 0 0 .5rem;
  font-size: 1rem;
}

/* ===========================
   Pullquote Styling (amended)
   =========================== */
blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.25rem 1rem 2rem;
  border-left: 4px solid #005c99;
  border-radius: 4px;
  background: #f5f9fc;
  font-size: 19px;
  line-height: 1.6;
  font-weight: 400;
  color: #003d66;
}

/* ===========================
   Live Updates Panel
   =========================== */
.live-updates {
  margin: 1.25rem 0;
  padding: 1rem;
  border: 1.5px solid #f6c200;
  border-left: 6px solid #f6c200;
  border-radius: 8px;
  background: #fff8d7;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.live-updates__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .5rem;
}

.live-updates__title {
  margin: 0 .5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #9c7a00;
}

.live-updates__time {
  display: block;
  margin-bottom: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 700;
  color: #9c7a00;
  background: rgba(246, 194, 0, 0.15);
}

.live-updates__statement {
  margin: .5rem 0 .75rem;
  padding: .5rem .75rem;
  border-left: 4px solid #f6c200;
  background: rgba(246,194,0,0.12);
}

.live-updates__subhead {
  margin: 0.25rem 0 0.75rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #333;
}

.live-updates__list {
  margin: 0 0 .75rem;
  padding-left: 1.25rem;
}

.live-updates__list li {
  margin: .35rem 0;
}

.live-updates__next {
  color: #5b5b5b;
}