/* Side-rail sets (wordpress/theme/sfn-rails.php): headings, cards, story + video lists. Shared by every template with a rail. */
.rail-title{margin:0 0 6px;font-weight:700;font-size:0.9rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--navy-ink);display:flex;align-items:baseline;gap:14px}
.rail-title::after{content:"";flex:1;height:2px;background:var(--red)}
.rail-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;margin-bottom:22px}
.rail-box .art{aspect-ratio:16/9;border-radius:var(--r-sm);margin-bottom:12px}
.rail-box h4{font-weight:700;font-size:0.85rem;letter-spacing:0.02em;margin:0 0 4px;color:var(--ink)}
.rail-box h4 a{color:inherit}
.rail-box .live-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:#c23b30;margin-right:7px;box-shadow:0 0 0 0 rgba(194,59,48,0.7);animation:pulse 1.8s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(194,59,48,.6)}70%{box-shadow:0 0 0 8px rgba(194,59,48,0)}100%{box-shadow:0 0 0 0 rgba(194,59,48,0)}}
.related-list{list-style:none;margin:0;padding:0}
.related-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--border);align-items:start}
.related-item .art{aspect-ratio:1/1;border-radius:6px;font-size:0.48rem}
.related-item a{display:block;font-weight:700;color:var(--ink);line-height:1.32;font-size:0.86rem}
.related-item a:hover{color:var(--red-ink)}
.related-item time{display:block;margin-top:6px;font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint)}
.related-item .empty,.related-list .empty{color:var(--ink-faint);font-size:0.85rem;padding:10px 0}

/* Video list (Featured Videos sets): thumbnail + title, same rhythm as the related list. */
.video-list{list-style:none;margin:0;padding:0}
.video-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--border);align-items:start}
.video-item .art{aspect-ratio:16/9;border-radius:6px;font-size:0.44rem;position:relative}
.video-item .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.video-item .play svg{width:18px;height:18px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.video-item a.title{display:block;font-weight:700;color:var(--ink);line-height:1.32;font-size:0.86rem}
.video-item a.title:hover{color:var(--red-ink)}
.video-item .meta{display:block;margin-top:6px;font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint)}
.rail-set{margin-bottom:22px}
/* The first rail heading lines up with the main column's first section heading. Pages whose heading row is taller than text set --head-h on .layout and the title text is centred in that height (its rule stays on the text baseline, like .section-head). */
.rail-set:first-child .rail-title{padding-top:max(0px,calc((var(--head-h,0px) - 1lh) / 2))}
.rail-set .rail-box{margin-bottom:0}

/* Orbital Tracker preview (rail type "Orbital Tracker preview"): hidden until its script has data, so a rail never shows an empty card */
.rail-set--tracker:not(.is-ready){display:none}
.trk-lite{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;color:var(--ink);text-decoration:none}
.trk-lite:hover,.trk-lite:focus-visible{border-color:var(--border-2);text-decoration:none}
.trk-lite-map{position:relative;background:#061426;line-height:0}
.trk-lite-map canvas{display:block;width:100%;aspect-ratio:2/1}
.trk-lite-pill{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:rgba(6,20,38,.78);color:#fff;font:700 .62rem/1.4 "handel-gothic",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.trk-lite-pill i{width:7px;height:7px;border-radius:99px;background:#c23b30;animation:pulse 1.8s infinite}
.trk-lite.is-stale .trk-lite-pill i{background:#8a8f98;animation:none}
.trk-lite-body{padding:12px 16px 14px}
.trk-lite-name{display:block;font-weight:700;font-size:.95rem;color:var(--navy-ink);margin-bottom:8px}
.trk-lite-stats{display:flex;gap:16px;font-variant-numeric:tabular-nums}
.trk-lite-stats small{display:block;font:600 .6rem/1.3 "handel-gothic",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
.trk-lite-stats b{font-size:.86rem;color:var(--ink)}
.trk-lite-next{margin-top:10px;padding-top:9px;border-top:1px solid var(--border);font-size:.78rem;color:var(--ink-soft)}
.trk-lite-cta{display:block;margin-top:10px;font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--red)}
html[data-theme="dark"] .trk-lite-cta{color:#e0584b}
