/* Mobile Home/News detail-card rules, shared only by popup News Cards. */
.dt-compact-news-overlay {
  align-items: center !important;
  justify-content: center !important;
  padding: calc(var(--dtbb-h, 0px) + max(12px, env(safe-area-inset-top, 0px))) min(12px, max(0px, (100vw - 334px)/2)) max(16px, env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
  overflow: hidden !important;
}
.dt-compact-nc.dt-popup-card {
  max-height: min(86vh, 720px, calc(100dvh - var(--dtbb-h, 0px) - 32px));
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  box-sizing: border-box;
}
.dt-compact-nc > * { flex-shrink: 0; }
.ncd-overlay .dt-compact-nc.dt-popup-card {
  width: 100%;
  max-width: calc(428px - 24px);
}
@media (max-width: 600px) {
  .dt-compact-nc.dt-popup-card {
    width: 100%;
    max-width: calc(428px - 24px);
  }
}
/* Desktop news keeps its original width; long stories scroll the overlay. */
@media (min-width: 601px) {
  .dt-compact-news-overlay:not(.ncd-overlay) {
    align-items: flex-start !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .dt-compact-news-overlay:not(.ncd-overlay) .dt-compact-nc.dt-popup-card {
    max-height: none;
    overflow: hidden;
    overscroll-behavior: auto;
  }
}
/* Desktop follows the Quote Card's viewport decision; native mobile keeps its default shell. */
.dt-compact-news-overlay[data-nc-compact]:not(.ncd-overlay) .dt-compact-nc.dt-popup-card {
  padding: 8px 14px;
}
.dt-compact-nc :is(.nc-bar, .er-nc-bar),
.dt-compact-nc > [hidden] { display: none !important; }
.dt-compact-nc :is(.nc-header, .nc-hdr, .er-nc-hdr, .ncd-hdr) {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: sticky; top: 0; background: #0d1320; z-index: 2;
  border-radius: 0;
}
.dt-compact-nc :is(.nc-header-left, .nc-hdr-left, .er-nc-hdr-left, .ncd-hdr-left) {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
  min-width: 0;
}
.dt-compact-nc :is(.nc-close, .er-nc-close, .ncd-close) {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: #fff; cursor: pointer; flex-shrink: 0;
}
.dt-compact-nc :is(.nc-headline, .er-nc-hl, .ncd-hl) {
  font-size: 21px; font-weight: 800; color: #fff; line-height: 1.25;
  padding: 16px 0 6px; letter-spacing: -.01em; border: 0;
  overflow-wrap: anywhere;
}
.dt-compact-nc :is(.nc-body, .er-nc-body, .ncd-body) {
  font-size: 15px; color: rgba(255,255,255,.8); line-height: 1.6;
  padding: 6px 0 20px; max-height: none; overflow: visible; border: 0;
  overflow-wrap: anywhere;
}
.dt-compact-nc :is(.nc-photo-placeholder, .nc-photo-ph, .nc-photo, .nc-video, .ncd-media) {
  position: relative; width: 100%; height: auto; aspect-ratio: 16/9;
  background-color: #000; overflow: hidden; object-fit: cover;
  border-radius: 8px;
}
.dt-compact-nc :is(.nc-photo-placeholder, .nc-photo-ph, .ncd-media) > :is(img, video, iframe) {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0;
}
.dt-compact-nc .nc-tickers { padding-left: 0; padding-right: 0; }
.dt-compact-nc .dt-popup-ad { display: flex !important; }
.dt-compact-nc .dt-nc-brand {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; padding: 14px 0 12px;
}
.dt-compact-nc .dt-nc-brand img { height: 22px; width: auto; max-width: 200px; opacity: .95; }
.dt-compact-nc .dt-nc-stamp {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  letter-spacing: .04em; color: rgba(255,255,255,.35); text-align: center; line-height: 1.2;
}
.dt-compact-nc :is(.nc-read-more-row, .dt-nc-read-row) {
  display: flex; justify-content: center; padding: 0 0 12px;
}
.dt-compact-nc .dt-nc-read-more {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; box-sizing: border-box;
  padding: 9px 12px; text-decoration: none;
  white-space: normal; overflow-wrap: anywhere; text-align: center;
}
.dt-compact-nc .dt-nc-read-more:hover { text-decoration: none; }
.dt-compact-nc :is(.nc-share, .er-nc-share, .ncd-share) {
  display: flex; justify-content: center; flex-wrap: wrap;
  gap: 8px; padding: 0; background: none; border: 0;
}
.dt-compact-nc :is(.nc-sfb, .er-nc-sfb, .ncd-share-btn) {
  flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; box-sizing: border-box;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 800;
  padding: 10px 12px; border-radius: 6px; cursor: pointer; letter-spacing: .04em;
  text-align: center; background: #1E90FF; color: #fff; border: none;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  white-space: normal; overflow-wrap: anywhere;
}
