﻿:root {
  --hb-gold: #d7a928;
  --hb-gold-bright: #f4d463;
  --hb-bg: #090909;
  --hb-panel: #141414;
  --hb-line: #37352f;
  --hb-text: #f4f1e7;
  --hb-muted: #aaa79d;
}
html { box-sizing: border-box; overflow-x: hidden; }
*, *::before, *::after { box-sizing: inherit; }
body { min-width: 0; overflow-x: hidden; }
img, video, iframe, svg { max-width: 100%; }
button, a, input, select, textarea { touch-action: manipulation; }
button, .button, .nav-toggle, .member-subnav a, .member-subnav button { min-height: 44px; }
:focus-visible { outline: 3px solid var(--hb-gold-bright); outline-offset: 3px; }
.shell { width: min(100% - 32px, 1480px); margin-inline: auto; }
.network-bar__inner, .masthead, .primary-nav__inner { min-width: 0; }
.network-links, .primary-nav__inner { overflow-x: auto; scrollbar-width: thin; }
.network-links a, .primary-nav a { flex: 0 0 auto; }
.story-grid, .feed-results, .incident-list, .feature-grid, .show-grid, .listing-grid { min-width: 0; }
.story-card, .incident-card, .news-story-card, .feature, .content-card { min-width: 0; overflow-wrap: anywhere; }
.story-card img, .news-story-card img, .incident-card img { width: 100%; height: auto; object-fit: cover; }
.form-row { min-width: 0; }
.form-row > *, .search-form > *, .toolbar > * { min-width: 0; }
@media (max-width: 760px) {
  .shell { width: min(100% - 24px, 1480px); }
  .network-bar__inner { min-height: 40px; }
  .network-links { width: 100%; gap: 14px; padding-bottom: 2px; }
  .masthead { min-height: 82px; padding-block: 12px; }
  .brand__name { font-size: clamp(2.3rem, 12vw, 3.8rem); line-height: .85; }
  .brand__tagline { max-width: 46vw; }
  .primary-nav__inner { width: 100%; }
  .primary-nav a { padding: 13px 8px; }
  .section, .page-hero { padding-block: clamp(32px, 9vw, 58px); }
  .hero__grid { padding-block: clamp(38px, 10vw, 70px); }
  .hero h1, .page-hero h1 { font-size: clamp(2.35rem, 13vw, 4.5rem); line-height: .98; }
  .button-row, .support-callout .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button, .button { width: 100%; text-align: center; }
  .footer-grid { gap: 28px; }
  .news-filterbar__controls, .news-filterbar__controls > *, .search-form input { width: 100%; }
  .news-story-card__footer, .incident-card__footer { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 479px) {
  .shell { width: min(100% - 20px, 1480px); }
  .network-bar { font-size: .76rem; }
  .network-mark strong { font-size: .88rem; }
  .network-links a { padding-block: 8px; }
  .hero__rail, .feature-grid, .bot-grid, .values-grid, .device-grid { grid-template-columns: 1fr; }
  .section-head h2 { font-size: clamp(1.5rem, 8vw, 2.2rem); }
  .arrest-card, .news-story-card, .incident-card { padding: 16px; }
  .arrest-charge-list { padding-left: 20px; }
  table { font-size: .9rem; }
}
/* Member Hub: one compact, scroll-safe navigation and card system. */
.member-hub-page .member-content { min-width: 0; }
.member-subnav__inner { min-width: 0; }
.member-subnav nav { min-width: 0; }
@media (max-width: 760px) {
  .member-subnav__inner { padding-inline: 12px; }
  .member-subnav__label { font-size: .68rem; }
  .member-content { padding-inline: 12px !important; }
  .member-hub-page .container, .member-hub-page .member-panel { width: 100%; }
  .member-hub-page table { display: block; max-width: 100%; overflow-x: auto; }
}
/* Bo TV shelves and players keep media inside the viewport. */
.bo-tv-library, .bo-watch, .vod-detail { width: 100%; max-width: 1700px; min-width: 0; margin-inline: auto; }
.bo-tv-row, .bo-tv-live-row { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.bo-tv-live-card, .vod-card, .tv-vod-card { min-width: 0; }
.bo-tv-live-card img, .vod-card img { display: block; width: 100%; height: auto; }
.watch-player-card video, .vod-player-panel video { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
@media (max-width: 800px) {
  .bo-tv-library, .bo-watch, .vod-detail { max-width: none; }
  .bo-tv-nav { gap: 10px; overflow-x: auto; }
  .bo-tv-nav nav { order: 3; flex-basis: 100%; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  .bo-tv-nav nav a { min-height: 44px; white-space: nowrap; }
  .bo-tv-hero { min-height: 190px; }
  .bo-tv-row { grid-auto-columns: minmax(62vw, 1fr); }
  .vod-grid { grid-auto-columns: minmax(42vw, 1fr); }
  .watch-head { gap: 12px; }
  .watch-head > div:nth-child(2) { margin-left: 0; }
  .watch-info h1 { font-size: clamp(1.7rem, 8vw, 2.6rem); }
  .watch-player-card, .vod-player-panel { border-radius: 8px; }
}
@media (max-width: 480px) {
  .bo-tv-hero { min-height: 180px; padding: 24px 18px; }
  .bo-tv-hero h1 { font-size: clamp(2.2rem, 12vw, 3.5rem); }
  .bo-tv-row { grid-auto-columns: minmax(78vw, 1fr); gap: 12px; }
  .vod-grid { grid-auto-columns: minmax(48vw, 1fr); }
  .watch-head { align-items: flex-start; flex-direction: column; }
  .watch-head a { width: 100%; text-align: center; }
  .watch-info { padding: 18px; }
  .watch-info button, #retry, .vod-watch-button { min-height: 48px; width: 100%; }
  .mini-guide { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; }
}

/* scanner mobile card hierarchy */
.scanner-incident-card{display:grid;gap:10px;text-align:left}
.scanner-incident-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.scanner-incident-time{font-size:.85rem;color:var(--bo-muted,#aaa);font-weight:700}
.scanner-incident-category{font-size:.72rem;letter-spacing:.08em;color:var(--bo-gold,#d7a928);font-weight:900}
.scanner-incident-title{font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.2;margin:0}
.scanner-incident-location{font-size:1rem;font-weight:700;margin:0}
.scanner-incident-summary{font-size:1rem;line-height:1.5;margin:0;color:var(--bo-muted,#aaa)}
.scanner-incident-badges{display:flex;flex-wrap:wrap;gap:8px}
.scanner-incident-pill{font-size:.72rem;line-height:1;padding:7px 9px;border:1px solid rgba(215,169,40,.45);border-radius:999px;color:var(--bo-gold,#d7a928);font-weight:800}
.scanner-incident-source{font-size:.78rem;margin:0;color:var(--bo-muted,#aaa)}
.bo-player-debug{white-space:pre-wrap;background:#050505;color:#f4d463;border:1px solid #8b6b17;border-radius:8px;padding:10px;font:12px/1.45 ui-monospace,monospace;max-height:220px;overflow:auto}
@media(max-width:600px){.scanner-incident-card{padding:16px}.scanner-incident-title{font-size:1.25rem}.scanner-incident-summary{font-size:1rem}.scanner-incident-location{font-size:.95rem}}

/* Chatterbox structured mobile cards */
.incident-card{display:grid;gap:10px;text-align:left}
.incident-card__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.incident-card__time{font-size:.85rem;font-weight:700;color:var(--bo-muted,#aaa)}
.incident-card__category{font-size:.72rem;letter-spacing:.08em;font-weight:900;color:var(--bo-gold,#d7a928)}
.incident-card h3{font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.2;margin:0}
.incident-card__facts{display:flex;flex-wrap:wrap;gap:8px;font-size:.86rem;color:var(--bo-muted,#aaa)}
.incident-card__facts span{padding:6px 9px;border:1px solid rgba(215,169,40,.4);border-radius:999px}
.incident-card p{font-size:1rem;line-height:1.5;margin:0;color:var(--bo-muted,#aaa)}
.incident-card small{font-size:.78rem;color:var(--bo-muted,#aaa)}
@media(max-width:600px){.incident-card{padding:16px}.incident-card h3{font-size:1.25rem}.incident-card p{font-size:1rem}}
