/* BRIDGE MEDIA's poster system applied to the existing catalogue views.
   These rules deliberately do not touch the homepage or player mechanics. */
html:not([data-route="home"]) {
  --bm-orange: #ff4800;
  --bm-pink: #ff0082;
  --bm-yellow: #ffdb00;
  --bm-blue: #0098ff;
}

/* Strong type, clean rules and generous spacing echo the print layouts. */
html:not([data-route="home"]) :is(.page-hero, .search-heading, .library-hero) {
  padding-top: clamp(20px, 3vw, 44px);
}
html:not([data-route="home"]) :is(.page-hero, .search-heading) {
  padding-bottom: clamp(25px, 3vw, 42px);
  border-bottom: 2px solid var(--text);
}
html:not([data-route="home"]) :is(.page-hero h1, .search-heading h1, .library-hero h1) {
  max-width: 100%;
  font-size: clamp(43px, 6.4vw, 88px);
  font-weight: 850;
  letter-spacing: -.055em;
  line-height: .95;
}
html:not([data-route="home"]) .section-heading {
  padding-top: 17px;
  border-top: 2px solid var(--text);
}
html:not([data-route="home"]) .section-heading h2,
html:not([data-route="home"]) .library-section-heading h2 {
  font-size: clamp(26px, 2.7vw, 38px);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1.05;
}
html:not([data-route="home"]) :is(.page-hero, .section-heading, .search-heading, .library-hero) .eyebrow {
  display: inline-block;
  padding: 5px 8px 4px;
  background: var(--bm-orange);
  color: #101010;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
}
html:not([data-route="home"]) .section-link {
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--bm-orange);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

/* Channels stay identifiable by their existing logos and assigned colours. */
html:not([data-route="home"]) .channel-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--surface);
  box-shadow: none;
}
html:not([data-route="home"]) .channel-card::before { height: 6px; }
html:not([data-route="home"]) .channel-card:hover { transform: none; border-color: var(--channel-accent); }
html:not([data-route="home"]) .channel-card.is-active { box-shadow: inset 0 0 0 2px var(--channel-accent); }
html:not([data-route="home"]) .channel-card-footer b { letter-spacing: .09em; }
html:not([data-route="home"]) .channel-card-footer b::before { border-radius: 0; }
html:not([data-route="home"]) .live-channels-section .info-banner {
  border-radius: 0;
  background: var(--surface);
  box-shadow: inset 5px 0 0 var(--channel-accent);
}

/* Cropped imagery is retained; a small colour rule ties cards into the system. */
html:not([data-route="home"]) :is(.media-card-visual, .show-card__visual, .short-preview-card__visual, .show-detail__cover) {
  border-radius: 0;
  box-shadow: none;
}
html:not([data-route="home"]) :is(.media-card-visual, .short-preview-card__visual)::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 25%;
  height: 4px;
  background: var(--bm-orange);
  pointer-events: none;
  content: "";
}
html:not([data-route="home"]) :is(.media-card:nth-child(4n + 2) .media-card-visual, .short-preview-card:nth-child(4n + 2) .short-preview-card__visual)::before { background: var(--bm-pink); }
html:not([data-route="home"]) :is(.media-card:nth-child(4n + 3) .media-card-visual, .short-preview-card:nth-child(4n + 3) .short-preview-card__visual)::before { background: var(--bm-yellow); }
html:not([data-route="home"]) :is(.media-card:nth-child(4n + 4) .media-card-visual, .short-preview-card:nth-child(4n + 4) .short-preview-card__visual)::before { background: var(--bm-blue); }
html:not([data-route="home"]) :is(.media-card-copy > a > strong, .show-card__copy strong, .short-preview-card__copy strong) {
  font-weight: 800;
  letter-spacing: -.02em;
}
html:not([data-route="home"]) :is(.card-play, .short-preview-card__play, .card-favorite, .duration-pill, .short-preview-card__badge) {
  border-radius: 2px;
}
html:not([data-route="home"]) .short-preview-card__badge { -webkit-backdrop-filter: none; backdrop-filter: none; }

/* Square, clearly selected controls are easier to scan and tap. */
html:not([data-route="home"]) :is(.video-tabs, .video-tabs a, .chip, .sort-select, .search-box input, .library-tabs a, .channel-filters button) {
  border-radius: 0;
}
html:not([data-route="home"]) .video-tabs {
  gap: 0;
  padding: 0;
  border-color: var(--line-strong);
}
html:not([data-route="home"]) .video-tabs a { min-height: 44px; }
html:not([data-route="home"]) :is(.video-tabs a.is-active, .library-tabs a.is-active) {
  background: var(--text);
  color: var(--bg);
}
html:not([data-route="home"]) .chip { min-height: 44px; }
html:not([data-route="home"]) .search-box input {
  border: 2px solid var(--text);
  box-shadow: none;
}
html:not([data-route="home"]) .search-box input:focus { outline: 3px solid var(--bm-orange); outline-offset: 2px; }
html:not([data-route="home"]) :is(a, button, select):focus-visible {
  outline: 3px solid var(--bm-orange);
  outline-offset: 3px;
}

/* Creator and playlist pages retain their artwork; flat blocks replace glow. */
html:not([data-route="home"]) .library-page { --library-red: #ff4800; }
html:not([data-route="home"]) :is(.library-card, .library-profile, .library-playlist-cover, .library-item__art, .library-empty, .library-dialog, .channel-showcase .library-channel-cover) {
  border-radius: 0;
}
html:not([data-route="home"]) .library-card:hover { transform: none; border-color: var(--bm-orange); }
html:not([data-route="home"]) :is(.library-card__art, .library-card--playlist .library-card__art) {
  background: #191919;
}
html:not([data-route="home"]) .library-card:nth-child(4n + 1) .library-card__art { background-color: #ff4800; }
html:not([data-route="home"]) .library-card:nth-child(4n + 2) .library-card__art { background-color: #ff0082; }
html:not([data-route="home"]) .library-card:nth-child(4n + 3) .library-card__art { background-color: #0098ff; }
html:not([data-route="home"]) .library-card:nth-child(4n + 4) .library-card__art { background-color: #dfbd00; }
html:not([data-route="home"]) .library-card--playlist .library-card__art > span { color: #101010; }
html:not([data-route="home"]) .library-card--playlist .library-card__art i { background: #10101066; }
html:not([data-route="home"]) .library-card__art::after { display: none; }
html:not([data-route="home"]) .library-profile { background: var(--surface); }
html:not([data-route="home"]) .library-playlist-cover { background: var(--bm-orange); }
html:not([data-route="home"]) .library-empty { border: 1px solid var(--line-strong); }
html:not([data-route="home"]) :is(.library-empty__mark, .library-icon-button, .library-card__edit) { border-radius: 0; }

@media (max-width: 700px) {
  html:not([data-route="home"]) :is(.page-hero, .search-heading, .library-hero) { padding-top: 12px; }
  html:not([data-route="home"]) :is(.page-hero h1, .search-heading h1, .library-hero h1) { font-size: clamp(38px, 10vw, 58px); }
  html:not([data-route="home"]) .section-heading h2,
  html:not([data-route="home"]) .library-section-heading h2 { font-size: clamp(24px, 6vw, 32px); }
  html:not([data-route="home"]) .video-tabs { display: flex; width: 100%; }
  html:not([data-route="home"]) .video-tabs a { flex: 1; min-width: 0; padding-inline: 9px; }
  html:not([data-route="home"]) .channel-grid { gap: 10px; }
  html:not([data-route="home"]) .search-box input { height: 62px; font-size: 16px; }
}
@media (hover: none) {
  html:not([data-route="home"]) .media-card .card-play { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html:not([data-route="home"]) :is(.media-card-visual img, .show-card__visual img, .short-preview-card__visual img) { transition: none; }
}
