/* 2026 additions: CSS-only dropdowns (replaces jQuery dropotron), content pages, news desk */
#nav > ul > li { position: relative; }
#nav > ul > li > ul { display: none; position: absolute; top: 100%; left: 0; min-width: 14em; background: #fff; border-radius: 6px; box-shadow: 0 0.5em 1.5em rgba(0,0,0,0.25); padding: 0.75em 0; z-index: 1000; list-style: none; text-align: left; }
#nav > ul > li:hover > ul { display: block; }
#nav > ul > li > ul > li { display: block; padding: 0; }
#nav > ul > li > ul > li > a { display: block; color: #484d55; padding: 0.35em 1.25em; text-decoration: none; border: 0; }
#nav > ul > li > ul > li > a:hover { color: #63c7d8; background: #f3f3f3; }
.post-list { list-style: none; padding: 0; }
.post-list li { border-bottom: solid 1px #e5e5e5; padding: 1.25em 0; }
.post-list h3 { margin: 0 0 0.25em 0; }
.post-meta { color: #999; font-size: 0.85em; }
.post-body pre, .post-body .w3-code { background: #2f333b; color: #e6e6e6; padding: 1em; border-radius: 6px; overflow-x: auto; white-space: pre-wrap; font-family: Consolas, monospace; font-size: 0.85em; }
.post-body img { max-width: 100%; height: auto; }
.tag { display: inline-block; background: #63c7d8; color: #fff; border-radius: 4px; padding: 0 0.5em; margin: 0 0.25em 0.25em 0; font-size: 0.8em; }
.subject-box { display: flex; gap: 0.75em; margin: 1.5em 0; }
.subject-box input { flex: 1; }
.disclosure { background: #f3f3f3; border-left: 4px solid #63c7d8; padding: 0.75em 1em; font-size: 0.9em; }
/* News Desk (DIKW posts, charts, archive) */
.nd-wide { max-width: 1240px; }
.nd-head { margin-bottom: 1em; }
.nd-draft-banner { background: #fff8e1; border-left: 4px solid #c9a227; padding: 0.75em 1em; font-size: 0.9em; }
.nd-draft-banner code { background: #f3f3f3; padding: 0 0.3em; border-radius: 3px; }
.nd-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1em; border-bottom: solid 2px #63c7d8; margin-bottom: 1em; }
.nd-section-head h3 { margin: 0; }
.nd-section-head .button { margin-bottom: 0.5em; white-space: nowrap; }
.nd-badge { display: inline-block; background: #c9a227; color: #fff; font-size: 0.7em; font-weight: 700; letter-spacing: 0.1em; padding: 0.1em 0.6em; border-radius: 4px; text-transform: uppercase; vertical-align: middle; margin: 0 0.5em 0.4em 0; }
.nd-badge.approved { background: #63c7d8; }
.nd-badge.big { font-size: 0.85em; padding: 0.35em 0.9em; }
.nd-card { border: solid 1px #e5e5e5; border-radius: 8px; padding: 1.5em 1.75em; margin: 0 0 2em 0; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,0.04); }
.nd-card.status-draft { border-top: 4px solid #c9a227; }
.nd-card h3 { margin: 0 0 0.25em 0; line-height: 1.3em; }
.nd-card h3 a { color: #484d55; text-decoration: none; border: 0; }
.nd-card h3 a:hover { color: #63c7d8; }
.nd-card-body { margin-top: 1em; }
.nd-card-body p { margin-bottom: 1em; font-size: 0.95em; line-height: 1.65em; }
.nd-card-chart { border: solid 1px #eee; border-radius: 6px; padding: 0.9em 1em 0.25em 1em; margin-bottom: 1em; }
.nd-bottomline { background: #f3f3f3; border-left: 4px solid #63c7d8; padding: 0.75em 1em; }
.nd-card footer { display: flex; justify-content: space-between; align-items: center; gap: 1em; margin-top: 0.5em; }
.nd-card footer .button { margin: 0; white-space: nowrap; flex: none; padding-left: 1.5em; padding-right: 1.5em; }
.nd-tags { margin: 0; }
a.tag { text-decoration: none; border: 0; color: #fff; }
.nd-chart { margin: 0 0 1em 0; }
.nd-chart svg { width: 100%; height: auto; display: block; font-family: 'Source Sans Pro', sans-serif; }
.nd-chart .ax { font-size: 12px; fill: #919499; }
.nd-chart .val { font-size: 13px; font-weight: 700; fill: #484d55; }
.nd-chart .lv { font-size: 13px; fill: #606167; }
.nd-chart .hl { fill: #a07d10; font-weight: 700; }
.nd-chart-title { font-weight: 700; color: #484d55; font-size: 0.95em; margin-bottom: 0.5em; }
.nd-unit { font-weight: 400; color: #999; }
.nd-chart.compact .nd-chart-title { font-size: 0.85em; }
.nd-chart-note { font-size: 0.8em; color: #919499; line-height: 1.5em; margin-top: 0.5em; }
.nd-legend { list-style: none; padding: 0; margin: 0.25em 0 0 0; display: flex; flex-wrap: wrap; gap: 1em; font-size: 0.8em; color: #606167; }
.nd-legend span { display: inline-block; width: 12px; height: 12px; border-radius: 2px; margin-right: 0.4em; vertical-align: -1px; }
.nd-timeline { list-style: none; padding: 0; margin: 0; border-left: 3px solid #63c7d8; }
.nd-timeline li { position: relative; padding: 0 0 0.9em 1.1em; font-size: 0.88em; line-height: 1.45em; }
.nd-timeline li:before { content: ''; position: absolute; left: -8px; top: 0.3em; width: 13px; height: 13px; border-radius: 50%; background: #fff; border: 3px solid #63c7d8; }
.nd-when { display: block; font-weight: 700; color: #484d55; }
.nd-what { color: #606167; }
.nd-src { font-size: 0.9em; }
.nd-side .nd-headlines { background: #f8f8f8; border-radius: 8px; padding: 1.25em 1.5em; }
.nd-side .nd-headlines h3 { margin-bottom: 0.25em; }
.nd-side .post-list li { padding: 0.75em 0; font-size: 0.9em; line-height: 1.4em; }
.nd-crumbs { font-size: 0.85em; color: #999; margin-bottom: 1em; }
.nd-post-head h2 { line-height: 1.25em; margin-bottom: 0.25em; }
.nd-layer { border-top: solid 1px #e5e5e5; padding-top: 1.5em; margin-top: 1.5em; }
.nd-layer h3 { margin-bottom: 0.75em; }
.nd-step { display: inline-block; background: #63c7d8; color: #fff; font-size: 0.65em; letter-spacing: 0.15em; text-transform: uppercase; padding: 0.2em 0.7em; border-radius: 4px; margin-right: 0.6em; vertical-align: middle; }
.nd-wisdom .nd-step { background: #c9a227; }
.nd-bottomline-big { font-size: 1.1em; line-height: 1.7em; background: #f3f3f3; border-left: 4px solid #c9a227; padding: 1em 1.25em; }
.nd-source { font-size: 0.9em; color: #606167; }
.nd-facts { width: 100%; border-collapse: collapse; font-size: 0.88em; margin-bottom: 0.75em; }
.nd-facts th { text-align: left; border-bottom: 2px solid #63c7d8; padding: 0.4em 0.6em; color: #484d55; }
.nd-facts td { border-bottom: 1px solid #eee; padding: 0.45em 0.6em; vertical-align: top; line-height: 1.4em; }
.nd-facts td.num { font-weight: 700; white-space: nowrap; }
.nd-facts tr.verify td { background: #fff8e1; }
.nd-flag { display: inline-block; font-size: 0.75em; background: #eee; color: #606167; border-radius: 3px; padding: 0 0.4em; margin-right: 0.3em; }
.nd-flag.warn { background: #c9a227; color: #fff; }
.nd-factcard { display: grid; grid-template-columns: auto 1fr; gap: 0.3em 1em; font-size: 0.9em; }
.nd-factcard dt { font-weight: 700; }
.nd-filters { display: flex; flex-wrap: wrap; gap: 0.75em; align-items: center; margin: 1.5em 0 0.5em 0; }
.nd-filters input[type=search] { flex: 1 1 100%; }
.nd-filters label { font-size: 0.85em; color: #606167; display: flex; align-items: center; gap: 0.4em; }
.nd-filters input[type=date], .nd-filters select { width: auto; padding: 0.4em 0.6em; border: solid 1px #ddd; border-radius: 6px; font-size: 0.9em; background: #fff; }
.nd-filters .button { margin: 0; padding: 0.4em 1.2em; font-size: 0.9em; }
.nd-results h3 a { color: #484d55; border: 0; text-decoration: none; }
.nd-facts td.nd-asof { white-space: nowrap; color: #606167; }
.nd-results h3 .nd-badge { margin-left: 0.6em; }
.nd-filters input[type=search] { padding: 0.6em 0.9em; border: solid 1px #ddd; border-radius: 6px; font-size: 1em; }
.nd-filters .button { height: auto; line-height: 1.8em; }
/* semantic headings styled like the 2018 h2/h3 */
.nd-h1 { font-size: 2em; font-weight: 700; margin: 0 0 0.5em 0; color: #484d55; line-height: 1.3em; }
.nd-h1.left { font-size: 1.6em; text-align: left; margin-bottom: 0.25em; }
.nd-h2 { font-size: 1.15em; font-weight: 700; margin: 0; color: #484d55; }
.nd-headlines .nd-h2 { margin-bottom: 0.25em; }
.nd-h3 { font-size: 1.2em; font-weight: 700; margin: 0 0 0.75em 0; color: #484d55; }
.nd-h4 { font-size: 1em; font-weight: 700; margin: 0 0 0.5em 0; color: #484d55; }
/* Tools panel */
.nd-step.tools { background: #484d55; }
.nd-tools .nd-tool { border: solid 1px #eee; border-radius: 8px; padding: 1.25em 1.5em; margin-bottom: 1.25em; }
.ndt-controls { display: flex; flex-wrap: wrap; gap: 1em; align-items: center; margin-bottom: 0.75em; font-size: 0.9em; }
.ndt-controls select, .ndt-controls input[type=search] { width: auto; padding: 0.4em 0.6em; border: solid 1px #ddd; border-radius: 6px; font-size: 0.95em; background: #fff; }
.ndt-controls input[type=search] { flex: 1 1 260px; }
.ndt-controls label { display: flex; align-items: center; gap: 0.35em; color: #606167; }
.nd-facts.small { font-size: 0.82em; }
.nd-facts tr.mine td { background: #fff8e1; }
.ndt-related { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 2em; }
.ndt-related li { break-inside: avoid; padding: 0.5em 0; border-bottom: 1px solid #eee; font-size: 0.85em; line-height: 1.45em; }
.ndt-val { font-weight: 700; color: #484d55; }
.ndt-sub { display: inline-block; font-size: 0.8em; background: #63c7d8; color: #fff; border-radius: 3px; padding: 0 0.4em; }
.ndt-sub.other { background: #484d55; }
.ndt-why { color: #999; font-size: 0.85em; }
/* Reliability */
.nd-rel-badge { display: inline-block; font-size: 0.78em; font-weight: 700; border-radius: 4px; padding: 0.05em 0.55em; color: #fff; background: #b1b4b9; vertical-align: middle; }
.nd-rel-badge.high { background: #3c9d6e; } .nd-rel-badge.medium { background: #63c7d8; } .nd-rel-badge.low { background: #d0743c; }
.nd-rel-badge.none { background: #eee; color: #777; font-weight: 400; }
a:has(> .nd-rel-badge) { border: 0; text-decoration: none; }
.nd-rel-head { display: flex; gap: 1.5em; align-items: center; margin-bottom: 1em; }
.nd-rel-score { flex: none; min-width: 7.5em; text-align: center; border-radius: 10px; padding: 0.6em 0.9em; background: #f3f3f3; color: #484d55; }
.nd-rel-score b { font-size: 2.2em; line-height: 1em; } .nd-rel-score span { color: #999; }
.nd-rel-score.high { background: #e6f4ec; } .nd-rel-score.high b { color: #3c9d6e; }
.nd-rel-score.medium { background: #e8f7fa; } .nd-rel-score.medium b { color: #3aa6b9; }
.nd-rel-score.low { background: #fbeee5; } .nd-rel-score.low b { color: #d0743c; }
.nd-rel-score .na { font-size: 0.9em; color: #777; line-height: 1.3em; display: block; max-width: 9em; }
.nd-rel-grade { font-weight: 700; margin: 0; color: #484d55; } .nd-rel-explain { margin: 0; font-size: 0.92em; }
.nd-verdict { display: inline-block; font-weight: 700; font-size: 0.9em; margin-right: 0.4em; }
.nd-verdict.agree { color: #3c9d6e; } .nd-verdict.conflict, .nd-verdict.self-contradiction { color: #d0743c; } .nd-verdict.uncompared { color: #999; font-weight: 400; }
.nd-rel-checks tr.v-conflict td, .nd-rel-checks tr.v-self-contradiction td { background: #fdf3ec; }
.nd-rel-unchecked { font-size: 0.85em; margin: 0.5em 0 1em 0; } .nd-rel-unchecked summary { cursor: pointer; color: #606167; } .nd-rel-unchecked ul { margin: 0.5em 0 0 1.2em; }

/* ---- News Desk: Bias & Claims check ---- */
.nd-label-analysis { display: inline-block; margin-left: .5em; padding: .1em .55em; font-size: .62em; letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; background: #484d55; color: #fff; border-radius: 3px; font-weight: 600; }
.nd-bias-badge { display: inline-block; padding: .1em .5em; font-size: .78em; border-radius: 3px; border: 1px solid #d8dadd; color: #484d55; background: #f6f6f6; white-space: nowrap; }
.nd-bias-badge.flags { border-color: #c9a227; background: #fbf6e6; }
.nd-bias-badge.clear { border-color: #63c7d8; background: #eef9fb; }
.nd-bias-head { display: flex; gap: 1.25em; align-items: flex-start; margin-bottom: 1em; }
.nd-bias-count { min-width: 6em; text-align: center; padding: .8em .6em; background: #fbf6e6; border: 1px solid #ecdca6; border-radius: 6px; }
.nd-bias-count strong { display: block; font-size: 2em; line-height: 1; color: #484d55; }
.nd-bias-count span { font-size: .8em; color: #6b7078; }
.nd-bias-summary { margin: 0 0 .5em; }
.nd-bias-cats { margin: 0; }
.nd-bias-chip { display: inline-block; margin: 0 .35em .35em 0; padding: .1em .55em; font-size: .78em; border-radius: 999px; background: #f0f1f2; color: #484d55; cursor: help; }
.nd-bias-list { list-style: none; margin: .5em 0 1.25em; padding: 0; }
.nd-bias-list li { border-left: 3px solid #c9a227; padding: .55em .9em; margin: 0 0 .7em; background: #fcfcfc; }
.nd-bias-list li p { margin: .25em 0 0; font-size: .92em; }
.nd-bias-list blockquote { margin: .35em 0 0; padding: 0; border: 0; font-style: italic; color: #333; }
.nd-bias-cat { display: inline-block; font-size: .72em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a6d0b; }
.nd-bias-cat.c-partisan_framing, .nd-bias-cat.c-inconsistency { color: #a6461b; }
.nd-bias-cat.c-vague_source, .nd-bias-cat.c-missing_context { color: #2f7f8d; }
.nd-bias-speaker { font-size: .8em; color: #6b7078; }
.nd-bias-own { margin-top: 1em; padding: .9em 1.1em; background: #eef9fb; border-radius: 6px; }
.nd-bias-own details summary { cursor: pointer; font-weight: 600; }
.nd-bias-list.own li { border-left-color: #63c7d8; background: #fff; }
.nd-bias-before span, .nd-bias-after span { display: inline-block; min-width: 4em; font-size: .72em; font-weight: 700; text-transform: uppercase; color: #6b7078; }
.nd-bias-before { color: #8a8f96; text-decoration: line-through; text-decoration-color: rgba(166,70,27,.5); }
.nd-bias-before span { text-decoration: none; }
.nd-bias-foot { margin-top: 1em; }
@media (max-width: 700px) { .nd-bias-head { flex-direction: column; } }

/* ---- Header: the world map "lights up" as a soft band sweeps left to right ----
   ::after carries worldmap-glow.jpg (the same map with edge-detected coastlines brightened; built by tools/make_glow.py)
   with the SAME box, background-size and background-position as #header-wrapper's worldmap.jpg, so the two line up
   pixel for pixel. A mask-image gradient reveals it only inside a ~18%-wide band. The overlay.png texture from ::before
   is repeated on top so the band keeps the same grain. Pure CSS; no animation for prefers-reduced-motion. */
#header-wrapper::after {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0;
  background: url('images/overlay.png'), url('../images/worldmap-glow.jpg') center center / cover no-repeat;
  /* mask is 300% wide; the band (47%-53% of the mask) = ~18% of the header. Position 80% → band left of view, 20% → right of view. */
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 46%, rgba(0,0,0,.55) 48.5%, #000 50%, rgba(0,0,0,.55) 51.5%, transparent 54%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0%, transparent 46%, rgba(0,0,0,.55) 48.5%, #000 50%, rgba(0,0,0,.55) 51.5%, transparent 54%, transparent 100%);
  -webkit-mask-size: 300% 100%; mask-size: 300% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: 80% 0; mask-position: 80% 0;
  opacity: .85;
  animation: iam-map-sweep 7.5s cubic-bezier(.45,.05,.55,.95) 1s infinite;
}
#header-wrapper > #header { position: relative; z-index: 1; }
@keyframes iam-map-sweep {   /* 4.5s sweep, then ~3s rest with the band parked off-screen */
  0%   { -webkit-mask-position: 80% 0; mask-position: 80% 0; }
  60%  { -webkit-mask-position: 20% 0; mask-position: 20% 0; }
  100% { -webkit-mask-position: 20% 0; mask-position: 20% 0; }
}
@media (prefers-reduced-motion: reduce) {
  #header-wrapper::after { animation: none; display: none; }
}

/* ---- Monetization: ad slots + affiliate Resources box (policy: /advertising-policy/) ----
   Slots reserve their exact size up front (label + box), so nothing shifts when a network fills them.
   content-visibility skips rendering off-screen slots (lazy); contain-intrinsic-size keeps the reserved height. */
.ad-slot { --ad-label-h: 22px; display: block; margin: 2em auto; padding: .6em 0 .8em; border-top: 1px solid #e3e5e8; border-bottom: 1px solid #e3e5e8; text-align: center; clear: both;
  content-visibility: auto; contain-intrinsic-size: auto calc(var(--ad-h) + var(--ad-label-h) + 1.4em); }
.ad-label { height: var(--ad-label-h); line-height: var(--ad-label-h); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: #9a9fa6; }
.ad-box { position: relative; width: var(--ad-w); max-width: 100%; height: var(--ad-h); margin: 0 auto; overflow: hidden; contain: strict; background: #f4f5f6; border-radius: 4px; }
.ad-network, .ad-network ins { width: 100%; height: 100%; }
@media (max-width: 760px) { .ad-box { width: var(--ad-mw); height: var(--ad-mh); } .ad-slot { contain-intrinsic-size: auto calc(var(--ad-mh) + var(--ad-label-h) + 1.4em); } }
/* House promos: 2018 palette, dark map card with the IAM mark */
.ad-house { display: flex; align-items: center; gap: 14px; width: 100%; height: 100%; padding: 0 18px; box-sizing: border-box; text-align: left; text-decoration: none; color: #e9eef0;
  background: linear-gradient(90deg, rgba(40,43,52,.94), rgba(40,43,52,.78)), url('/images/worldmap.jpg') center / cover; border: 0; }
.ad-house:hover { color: #fff; } .ad-house:hover .ad-cta { background: #7fd3e1; }
.ad-house-logo img { display: block; width: 56px; height: 56px; opacity: .9; }
.ad-house-text { display: flex; flex-direction: column; min-width: 0; flex: 1; line-height: 1.25; }
.ad-kicker { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #63c7d8; }
.ad-title { font-size: 17px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-body { font-size: 13px; color: rgba(255,255,255,.7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-cta { flex: none; padding: 7px 14px; border-radius: 4px; background: #63c7d8; color: #1f2329; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ad-rectangle .ad-house, .ad-infeed .ad-house { flex-direction: column; justify-content: center; text-align: center; padding: 18px; gap: 10px; }
.ad-rectangle .ad-house-text, .ad-infeed .ad-house-text { align-items: center; flex: none; }
.ad-rectangle .ad-title, .ad-rectangle .ad-body, .ad-infeed .ad-title, .ad-infeed .ad-body { white-space: normal; }
.ad-rectangle .ad-title { font-size: 19px; } .ad-rectangle .ad-body { font-size: 13.5px; margin-top: 4px; }
.ad-infeed .ad-title { font-size: 21px; } .ad-infeed .ad-body { font-size: 14px; margin-top: 4px; }
.ad-infeed { margin: 2.5em 0; }
@media (max-width: 760px) { .ad-leaderboard .ad-house { padding: 0 10px; gap: 10px; } .ad-leaderboard .ad-house-logo { display: none; } .ad-leaderboard .ad-title { font-size: 15px; white-space: normal; } .ad-leaderboard .ad-body { display: none; } }
.nd-side .ad-slot { margin-top: 0; }
.nd-post-side .nd-toc { background: #f8f8f8; border-radius: 8px; padding: 1em 1.4em; font-size: .92em; }
.nd-toc ol { margin: .4em 0 0 1.1em; list-style: decimal; } .nd-toc li { padding: .15em 0; }
/* Affiliate box: disclosure directly above, separate from editorial content */
.aff-wrap { margin: 2.5em 0 1em; padding-top: 1em; border-top: 1px solid #e3e5e8; }
.aff-disclosure { font-size: .82em; color: #6b7078; margin: 0 0 .5em; }
.aff-box { background: #fafafa; border: 1px solid #e3e5e8; border-radius: 6px; padding: 1em 1.4em; }
.aff-box.preview { border: 2px dashed #c9a227; }
.aff-preview { margin: 0 0 .6em; font-size: .78em; font-weight: 700; color: #8a6d0b; letter-spacing: .03em; }
.aff-h { font-size: 1em; letter-spacing: .12em; text-transform: uppercase; color: #484d55; margin: 0 0 .4em; }
.aff-list { list-style: none; margin: 0; padding: 0; }
.aff-list li { padding: .55em 0; border-top: 1px solid #eee; } .aff-list li:first-child { border-top: 0; }
.aff-list p { margin: .15em 0 0; font-size: .88em; color: #6b7078; }
.aff-cat { margin-left: .6em; font-size: .72em; text-transform: uppercase; letter-spacing: .08em; color: #9a9fa6; }
@media print { .ad-slot, .aff-wrap, .nd-toc { display: none !important; } }

/* Contextual sponsored line: one per post, between the Information block and the facts */
.nd-suggest { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35em .8em; margin: -0.5em 0 2em; padding: .7em 1em; border: 1px solid #e3e5e8; border-left: 3px solid #c9a227; border-radius: 4px; background: #fcfbf6; font-size: .92em; }
.nd-suggest.preview { border-style: dashed; }
.nd-suggest-label { font-size: .85em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6f5708; }
.nd-suggest-pitch { color: #484d55; }
.nd-suggest-link { font-weight: 600; }
.nd-suggest-paid { flex-basis: 100%; font-size: .92em; color: #484d55; } /* visible disclosure, body-size text, ordinary contrast */
.nd-suggest-paid a { color: inherit; text-decoration: underline; }
.nd-suggest-prev { flex-basis: 100%; font-size: .72em; font-weight: 700; color: #8a6d0b; }
@media print { .nd-suggest { display: none !important; } }

/* ---- News Desk: Watch section (click-to-load video) ---- */
.nd-watch .nd-videos { list-style: none; margin: 0 0 .5em; padding: 0; display: grid; gap: 1.1em; }
.nd-video { border: 1px solid #e3e5e8; border-radius: 6px; padding: .8em 1em; background: #fff; }
.nd-video-meta { display: flex; flex-wrap: wrap; gap: .3em .8em; align-items: center; margin: 0 0 .2em; font-size: .85em; color: #606167; }
.nd-kind { font-weight: 900; text-transform: uppercase; letter-spacing: .06em; font-size: .85em; padding: .05em .55em; border-radius: 3px; color: #fff; background: #606167; }
.nd-kind.live { background: #d9534f; } .nd-kind.replay { background: #2f333b; } .nd-kind.upcoming { background: #63c7d8; }
.nd-official { color: #2e7d4f; font-weight: 700; } .nd-official::before { content: '✓ '; }
.nd-channel { font-weight: 700; color: #484d55; }
.nd-video-title { margin: 0 0 .6em; font-weight: 700; color: #2f333b; line-height: 1.35em; } .nd-video-note { font-weight: 400; color: #717479; }
.nd-yt { position: relative; aspect-ratio: 16 / 9; max-width: 640px; background: #2f333b url('/images/worldmap.jpg') center / cover; border-radius: 4px; overflow: hidden; }
.nd-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nd-yt-btn { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7em; color: #fff !important; text-decoration: none; background: rgba(31,35,43,.55); text-align: center; padding: 1em; }
.nd-yt-btn:hover { background: rgba(31,35,43,.4); }
.nd-yt-play { width: 68px; height: 48px; border-radius: 12px; background: #63c7d8; position: relative; box-shadow: 0 2px 10px rgba(0,0,0,.35); }
.nd-yt-play::after { content: ''; position: absolute; left: 27px; top: 14px; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; }
.nd-yt-txt { display: flex; flex-direction: column; gap: .2em; font-size: .9em; max-width: 28em; } .nd-yt-txt span { font-size: .85em; opacity: .9; } .nd-yt-txt a { color: #fff; text-decoration: underline; }
.nd-video-out { display: inline-block; font-weight: 700; padding: .35em .9em; border: 1px solid #63c7d8; border-radius: 4px; text-decoration: none; }
.nd-video-out:hover { background: #63c7d8; color: #fff !important; }
@media print { .nd-yt { display: none; } }

/* ---- Privacy policy draft ---- */
.pp-draft { background: #fff8e1; border: 2px dashed #c9a227; border-left-width: 6px; padding: .8em 1.1em; border-radius: 4px; color: #484d55; margin-bottom: 1.5em; }
.pp-draft strong { color: #8a6d00; text-transform: uppercase; letter-spacing: .04em; }
mark.pp-ph { background: #ffe9a8; color: #5c4700; padding: 0 .25em; border-radius: 2px; font-size: .95em; }
.pp h2.nd-h3 { margin-top: 1.6em; }
.nd-yt-txt strong { color: #fff !important; font-size: 1.1em; } .nd-yt-txt span { color: #e6e6e6; }

/* "Coming soon" forms: nothing is collected until a provider is chosen (contact + newsletter/join). */
.iam-coming-soon fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.iam-coming-soon fieldset[disabled] input, .iam-coming-soon fieldset[disabled] textarea { opacity: .55; cursor: not-allowed; }
.iam-coming-soon input[type="submit"][disabled] { opacity: .6; cursor: not-allowed; }
.iam-soon-note { margin: 0 0 1em; }

/* Privacy policy: opt-out-of-counting control */
.pp-optout { border: 1px solid #e3e5e8; border-left: 3px solid #63c7d8; border-radius: 4px; padding: .8em 1em; margin: 0 0 2em; background: #f7fbfc; }
.pp-optout p:last-child { margin-bottom: 0; }
/* Archived posts: image that could not be self-hosted (third-party host gone) */
.img-gone { display: inline-flex; align-items: center; justify-content: center; min-width: 9em; min-height: 4.5em; padding: .75em 1em; margin: .25em .75em .5em 0; vertical-align: middle; text-align: center; border: 1px dashed #c8ccd1; border-radius: 4px; background: #f6f7f8; color: #6b7178; font-size: .85em; font-style: italic; }
