/* 1-Stream colour system: midnight navy, cobalt and cool slate. */
:root {
  --one-navy: #0d1930;
  --one-navy-raised: #152a48;
  --one-blue: #275ae8;
  --one-blue-hover: #1948ca;
  --one-sky: #8ecbff;
  --one-page: #e9eff7;
  --one-surface: #f7faff;
  --one-tint: #dce7f5;
  --one-line: #c1d0e3;
  --one-ink: #122541;
  --one-muted: #4b607b;
  --background: var(--one-page);
  --foreground: var(--one-ink);
  --primary: var(--one-blue);
  --primary-foreground: #fff;
  --ring: var(--one-blue);
  --border: var(--one-line);
}
body, .journal-page, .about, .platform, .pricing, .support {
  background: var(--one-page);
  color: var(--one-ink);
}
::selection { background: #b5d5ff; color: #0d1930; }
.nav.shared-navigation, .mobile-nav, .legal-links, body footer:not(.one-assistant-footer) {
  background: var(--one-navy);
  color: #d1dff1;
  border-color: #29405f;
}
.nav.shared-navigation { color: #f2f7ff; border-bottom-color: #293a56; }
.nav-dropdown, .nav.shared-navigation .mobile-menu nav {
  background: #15243d; border-color: #3b5274;
  box-shadow: 0 16px 40px #06122533;
}
.nav.shared-navigation .nav-dropdown a:hover,
.nav.shared-navigation .nav-dropdown a:focus-visible { background: #243d63; }
.nav.shared-navigation nav a.nav-client {
  background: var(--one-blue); border-color: #597ff1;
}
.nav.shared-navigation nav a.nav-client:hover { background: var(--one-blue-hover); opacity: 1; }
.hero.carousel-hero.iptv-hero {
  color: #f7faff;
  background: radial-gradient(ellipse at 93% 12%, #264d7d 0, transparent 53%),
    radial-gradient(ellipse at 12% 100%, #193757 0, transparent 58%),
    linear-gradient(125deg, #0d1930, #152a48);
  border-color: #344a68;
}
.carousel-hero:before {
  background-image: linear-gradient(#9acaff06 1px, transparent 1px),
    linear-gradient(90deg, #9acaff06 1px, transparent 1px);
}
.iptv-hero .iptv-copy h1, .iptv-hero .iptv-copy .slide-title { color: #f7faff; }
.iptv-hero .iptv-copy h1 span, .iptv-hero .iptv-copy .slide-title span { color: var(--one-sky); }
.iptv-hero .iptv-copy > p:not(.eyebrow), .iptv-hero .hero-bottom p { color: #c2d2e7; }
.iptv-hero .eyebrow { color: #a9c9eb; }
.iptv-hero .status-dot { background: #8ecbff; }
.iptv-hero .iptv-tags li {
  color: #e1edfc; background: #253e60; border-color: #4c6688; box-shadow: none;
}
.button, .carousel-hero .button, .contact-refresh .contact-email-button,
.one-assistant-launcher, .one-assistant-footer form button {
  background: var(--one-blue); color: #fff; border-color: #567ef0;
}
.carousel-hero .button { box-shadow: 0 7px 22px #06152c26; }
.button:hover, .carousel-hero .button:hover, .contact-refresh .contact-email-button:hover,
.one-assistant-launcher:hover, .one-assistant-footer form button:not(:disabled):hover {
  background: var(--one-blue-hover); color: #fff; opacity: 1;
}
.iptv-hero .carousel-controls { border-color: #4b62824d; }
.iptv-hero .slide-counter, .iptv-hero .iptv-software-note { color: #bdcfe6; }
.iptv-hero .slide-dots button span { background: #7186a4; }
.iptv-hero .slide-dots button[aria-current=true] span { background: #8ecbff; }
.iptv-hero .slide-arrows button, .iptv-hero .slideshow-play {
  background: #1c3353; color: #e1edfc; border-color: #587293;
}
.iptv-hero .slide-arrows button:hover, .iptv-hero .slideshow-play:hover { background: #2d4c76; }
.iptv-hero .iptv-visual { background: #15243e; border-color: #4c6587; box-shadow: 0 22px 54px #040e202e; }
.iptv-hero .iptv-visual img { background-color: #15243e; }
.iptv-hero .player-showcase { background: linear-gradient(145deg, #152a48, #25436a); }
.player-tile { background: #edf3fc; color: var(--one-ink); border-color: #c4d4e9; }
.iptv-hero .p2p-showcase {
  background: linear-gradient(140deg, #deebfa, #c6d9ef);
  border-color: #9eb9d7;
}
.hero-p2p-art .signal-p2p .eyebrow { color: #295c9c; }
.hero-p2p-art .signal-p2p { background: transparent; }
/* Match the P2P artwork to the neighbouring 1.45:1 slide images. */
.iptv-hero .hero-p2p-art {
  aspect-ratio: 1.45;
  display: flex;
  flex-direction: column;
  padding: 18px 18px 4px;
  overflow: hidden;
}
.iptv-hero .hero-p2p-art .hero-oneplay-logo { width: 42px; height: 42px; border-radius: 11px; flex-shrink: 0; }
.iptv-hero .hero-p2p-art .signal-p2p {
  display: flex; flex-direction: column; flex: 1; min-height: 0;
  padding: 8px 0 0; gap: 0;
}
.iptv-hero .hero-p2p-art .signal-p2p-heading { flex-shrink: 0; }
.iptv-hero .hero-p2p-art .signal-p2p-heading .eyebrow { margin: 0; font-size: 10px; justify-content: center; }
.iptv-hero .hero-p2p-art .signal-p2p-heading h3 { font-size: 19px; margin: 7px 0; }
.iptv-hero .hero-p2p-art .peer-motion { margin-top: 0; min-height: 36px; padding: 7px 11px; }
.iptv-hero .hero-p2p-art .peer-visual { flex: 1; width: 100%; min-height: 0; display: flex; flex-direction: column; }
.iptv-hero .hero-p2p-art .peer-scroll { flex: 1; min-height: 0; display: flex; justify-content: center; }
.iptv-hero .hero-p2p-art .signal-peer-diagram { width: 100%; height: 100%; min-width: 0; margin-top: 0; }
@media (min-width: 851px) and (max-width: 1200px) {
  .iptv-hero .hero-p2p-art { padding-top: 10px; }
  .iptv-hero .hero-p2p-art .hero-oneplay-logo { width: 32px; height: 32px; }
  .iptv-hero .hero-p2p-art .signal-p2p-heading h3 { font-size: 16px; margin: 5px 0; }
}
@media (max-width: 850px) {
  .iptv-hero .hero-p2p-art { aspect-ratio: auto; height: 410px; padding: 16px 6% 4px; }
  .iptv-hero .hero-p2p-art .peer-scroll { justify-content: flex-start; }
  .iptv-hero .hero-p2p-art .signal-peer-diagram { min-width: 450px; }
}
.p2p-showcase figcaption { background: #dce8f6; border-color: #b0c6df; }
.about div > p, .features p, .section-heading > p, .addons p,
.pricing-note, .support p:not(.eyebrow), .faq-grid p, .product-preview > p {
  color: var(--one-muted);
}
.features article, .resources a, .addons, .addons dl > div, .faq-grid article { border-color: var(--one-line); }
.feature-icon { color: #255ac5; background: #d6e4f9; border-color: #b7ccec; }
.feature-topline .feature-number { color: #536b88; }
.text-link { border-color: #587492; color: #234e8e; }
.product-preview, .signal-path-section {
  background: linear-gradient(140deg, #cfdef0, #dce7f5);
  border-color: #b6c9e0; color: var(--one-ink);
}
.signal-path-section:before { background: linear-gradient(90deg, transparent, #9ab6db 20%, #416fae 50%, #9ab6db 80%, transparent); }
.signal-dashboard.signal-management-card, .signal-stage-button {
  background: linear-gradient(145deg, #f4f8fe, #e2ecf8);
  color: var(--one-ink); border-color: #a9bfdc;
}
.signal-stage-button[aria-pressed=true] {
  background: #d7e7fc; border-color: #386dc4; box-shadow: 0 0 22px #2b65bd12;
}
.signal-detail, .signal-p2p { background: #e5eef9; border-color: #acc2de; }
.signal-detail { border-left-color: #386dc4; }
.signal-motion, .peer-motion { background: #eaf1fb; color: #254e85; border-color: #91acd1; }
.plan { background: var(--one-surface); border-color: var(--one-line); box-shadow: 0 8px 24px #16325a08; }
.plan > p, .plan .billing-caption, .plan .price > span { color: var(--one-muted); }
.plan > a { background: #e6eefb; color: #234e9e; border-color: #b6cae9; }
.plan > a:hover { background: #d8e6fc; opacity: 1; }
.plan.featured { background: linear-gradient(145deg, #203f70, #122a4d); border-color: #3a6097; color: #fff; box-shadow: 0 12px 32px #15376124; }
.plan.featured > p, .plan.featured .billing-caption, .plan.featured .price > span { color: #cad9ed; }
.plan.featured .plan-top > span { color: #a8d7ff; }
.plan.featured > a { background: var(--one-blue); border-color: #6489f4; color: #fff; }
.plan.featured > a:hover { background: var(--one-blue-hover); }
.plan li:before { color: #225ab4; }
.plan.featured li:before { color: #98d2ff; }
.billing-toggle { background: #dbe5f3; border-color: #b8c9e0; }
.billing-toggle [role=tab] { color: #324d72; }
.billing-toggle [role=tab][data-active] { background: var(--one-blue); color: #fff; }
.annual-offer { color: #2656a3; }
.custom, .contact.contact-refresh, .journal-intro {
  background: linear-gradient(125deg, #0e203b, #1b3659); color: #f4f8ff; border-color: #3d5678;
}
.custom > p:not(.eyebrow), .contact-intro > p:last-child { color: #c2d2e7; }
.custom > .eyebrow, .contact-refresh .eyebrow { color: #9bccfb; }
.contact-mail-symbol { background: #294569; color: #a7d8ff; }
.contact-label { color: #b5cce7; }
.customer-feedback { background: #e1eaf6; border-color: #bbcee6; }
.feedback-fields input, .feedback-fields textarea { background: #f7faff; border-color: #aebfd7; color: var(--one-ink); }
.payment-intro, .payment-groups .payment-group, .release-controls, .journal-editorial { background: #dce7f5; border-color: #b4c7e0; }
.payment-group li, .journal-card, .feedback-card { background: var(--one-surface); border-color: var(--one-line); }
.journal-feature { background: #182f50; border-color: #3c5d88; }
.one-assistant { background: #f4f8fe; border-color: #afc5e1; }
.one-assistant-header { background: linear-gradient(125deg, #122747, #24446e); }
.one-assistant-suggestions button { background: #e4edf9; border-color: #c0d1e8; color: #244b7b; }
.one-assistant-suggestions button:hover { background: #d7e6fb; }
.one-assistant-user { background: #deebff; border-color: #b9cff3; }
.one-assistant::backdrop { background: #0d193040; }
.iptv-hero :is(a,button):focus-visible, .nav.shared-navigation :is(a,summary):focus-visible,
.custom a:focus-visible, .contact a:focus-visible, .legal-links a:focus-visible, footer a:focus-visible {
  outline-color: #8ecbff;
}
