/* ==========================================================================
   OMNI product pages (OMNINet, OMNIView, OMNIVoice)
   Loads after omni-home.css and reuses its tokens, buttons, lockup, hero,
   and closing call-to-action. Everything is scoped to #omni-home.
   ========================================================================== */

body.page-template-template-omni-net #page-sub-header,
body.page-template-template-omni-view #page-sub-header,
body.page-template-template-omni-voice #page-sub-header,
body.page-template-template-residential-bundles #page-sub-header,
body.page-template-template-business-bundles #page-sub-header,
body.page-template-template-omninet-resource-center #page-sub-header { display: none; }

/* ---------- Hero sphere (single sphere, no orbiting bubbles) ---------- */
#omni-home .omni-orbit--solo .omni-orbit__core { inset: 16%; }
#omni-home .omni-orbit--solo .omni-orbit__core svg { width: 32cqw; height: 32cqw; stroke-width: 1.5; }
#omni-home .omni-orbit--solo .omni-orbit__core span { margin-top: .9em; font-size: 5.6cqw; }
/* Exception: when the solo sphere holds the real OMNI logo + "SPHERE" (Residential/Business bundle pages), keep the tight gap that matches the real logo, instead of the wider icon-to-label gap used for NET/VIEW/VOICE */
#omni-home .omni-orbit--solo .omni-orbit__core img.omni-orbit__logo + span { margin-top: .2em; font-size: 3.4cqw; }

/* Net/View/Voice only: shrink the NET/VIEW/VOICE badge to 2/3 size, drop the ring that used
   to frame it, and tuck it right into the bottom-right corner of the hero photo instead of
   centering it, so it doesn't compete with the big product logo on the left and opens up
   more of the photo behind it. */
body.page-template-template-omni-net #omni-home .omni-hero__art,
body.page-template-template-omni-view #omni-home .omni-hero__art,
body.page-template-template-omni-voice #omni-home .omni-hero__art {
  position: absolute; right: -36px; bottom: -36px;
  width: min(66%, 313px); margin: 0;
  align-self: auto;
}
body.page-template-template-omni-net #omni-home .omni-orbit--solo,
body.page-template-template-omni-view #omni-home .omni-orbit--solo,
body.page-template-template-omni-voice #omni-home .omni-orbit--solo {
  width: 100%; margin: 0;
}
body.page-template-template-omni-net #omni-home .omni-orbit--solo .omni-orbit__net,
body.page-template-template-omni-view #omni-home .omni-orbit--solo .omni-orbit__net,
body.page-template-template-omni-voice #omni-home .omni-orbit--solo .omni-orbit__net {
  display: none;
}
@media (max-width: 991px) {
  body.page-template-template-omni-net #omni-home .omni-hero__art,
  body.page-template-template-omni-view #omni-home .omni-hero__art,
  body.page-template-template-omni-voice #omni-home .omni-hero__art {
    position: static; width: min(66%, 240px); margin: 32px auto 24px;
  }
}
@media (max-width: 600px) {
  body.page-template-template-omni-net #omni-home .omni-hero__art,
  body.page-template-template-omni-view #omni-home .omni-hero__art,
  body.page-template-template-omni-voice #omni-home .omni-hero__art {
    width: min(66%, 200px);
  }
}

#omni-home .omni-page .omni-hero__lead {
  display: block; margin-bottom: 4px;
  font-family: var(--omni-display); font-size: 24px; font-weight: 700; line-height: 1.25; color: var(--omni-ink);
}

/* OMNIView only: give the "Must have MIDTEL's Broadband service..." fine print a little breathing room above it */
body.page-template-template-omni-view #omni-home .omni-hero__fineprint { display: block; margin-top: 10px; }

/* ---------- OMNIView hero photo (same treatment as the Home page hero) ---------- */
/* OMNIView only: the banner photo that used to sit in its own section at the
   bottom of the page now lives behind the hero card, with the same cream
   scrim fading in from the copy side so the headline stays crisp while the
   photo shows through more openly behind the OMNI SPHERE orbit. */
body.page-template-template-omni-view #omni-home .omni-hero {
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(100deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 38%, rgba(248, 251, 249, .24) 62%, rgba(238, 245, 241, .05) 100%),
    url('/wp-content/uploads/2026/09/OMNIView-Banner.jpg') center/cover no-repeat,
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
/* Darken the constellation ring so it stands out against the photo behind it */
body.page-template-template-omni-view #omni-home .omni-orbit__net > g:first-of-type { stroke: var(--omni-green); }
body.page-template-template-omni-view #omni-home .omni-orbit__net > g:first-of-type > circle { opacity: .65; }
body.page-template-template-omni-view #omni-home .omni-orbit__net > g:first-of-type > line { opacity: .7; }
body.page-template-template-omni-view #omni-home .omni-orbit__net > g:last-of-type { fill: var(--omni-green); }
body.page-template-template-omni-view #omni-home .omni-orbit__net > g:last-of-type > circle { opacity: .85; }
@media (max-width: 991px) {
  /* Stacked layout: copy is now on top and the orbit below, so fade the scrim top-to-bottom instead of side-to-side */
  body.page-template-template-omni-view #omni-home .omni-hero {
    background:
      radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
      linear-gradient(180deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 36%, rgba(248, 251, 249, .22) 60%, rgba(238, 245, 241, .03) 100%),
      url('/wp-content/uploads/2026/09/OMNIView-Banner.jpg') center/cover no-repeat,
      linear-gradient(180deg, #f8fbf9, #eef5f1);
  }
}

/* ---------- OMNIVoice hero photo (same treatment as the Home page hero) ---------- */
/* OMNIVoice only: the banner photo that used to sit in its own section at the
   bottom of the page now lives behind the hero card. */
body.page-template-template-omni-voice #omni-home .omni-hero {
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(100deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 38%, rgba(248, 251, 249, .24) 62%, rgba(238, 245, 241, .05) 100%),
    url('/wp-content/uploads/2026/09/OMNIVoice-Banner.jpg') center/cover no-repeat,
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
/* Darken the constellation ring so it stands out against the photo behind it */
body.page-template-template-omni-voice #omni-home .omni-orbit__net > g:first-of-type { stroke: var(--omni-green); }
body.page-template-template-omni-voice #omni-home .omni-orbit__net > g:first-of-type > circle { opacity: .65; }
body.page-template-template-omni-voice #omni-home .omni-orbit__net > g:first-of-type > line { opacity: .7; }
body.page-template-template-omni-voice #omni-home .omni-orbit__net > g:last-of-type { fill: var(--omni-green); }
body.page-template-template-omni-voice #omni-home .omni-orbit__net > g:last-of-type > circle { opacity: .85; }
@media (max-width: 991px) {
  body.page-template-template-omni-voice #omni-home .omni-hero {
    background:
      radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
      linear-gradient(180deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 36%, rgba(248, 251, 249, .22) 60%, rgba(238, 245, 241, .03) 100%),
      url('/wp-content/uploads/2026/09/OMNIVoice-Banner.jpg') center/cover no-repeat,
      linear-gradient(180deg, #f8fbf9, #eef5f1);
  }
}

/* ---------- OMNINet hero photo (same treatment as the Home page hero) ---------- */
/* OMNINet only: the banner photo that used to sit in its own section at the
   bottom of the page now lives behind the hero card. */
body.page-template-template-omni-net #omni-home .omni-hero {
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(100deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 38%, rgba(248, 251, 249, .24) 62%, rgba(238, 245, 241, .05) 100%),
    url('/wp-content/uploads/2026/09/OMNINet-Page-Image.jpg') center/cover no-repeat,
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
/* Darken the constellation ring so it stands out against the photo behind it */
body.page-template-template-omni-net #omni-home .omni-orbit__net > g:first-of-type { stroke: var(--omni-green); }
body.page-template-template-omni-net #omni-home .omni-orbit__net > g:first-of-type > circle { opacity: .65; }
body.page-template-template-omni-net #omni-home .omni-orbit__net > g:first-of-type > line { opacity: .7; }
body.page-template-template-omni-net #omni-home .omni-orbit__net > g:last-of-type { fill: var(--omni-green); }
body.page-template-template-omni-net #omni-home .omni-orbit__net > g:last-of-type > circle { opacity: .85; }
@media (max-width: 991px) {
  body.page-template-template-omni-net #omni-home .omni-hero {
    background:
      radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
      linear-gradient(180deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 36%, rgba(248, 251, 249, .22) 60%, rgba(238, 245, 241, .03) 100%),
      url('/wp-content/uploads/2026/09/OMNINet-Page-Image.jpg') center/cover no-repeat,
      linear-gradient(180deg, #f8fbf9, #eef5f1);
  }
}

/* ---------- Residential / Business Bundles hero photo (same treatment as the Home page hero) ---------- */
/* Residential Bundles & Business Bundles only: the banner photo that used to sit in its own
   section at the bottom of the page now lives behind the hero card. */
body.page-template-template-residential-bundles #omni-home .omni-hero {
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(100deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 38%, rgba(248, 251, 249, .24) 62%, rgba(238, 245, 241, .05) 100%),
    url('/wp-content/uploads/2026/09/Residential-OMNI.jpg') center/cover no-repeat,
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
body.page-template-template-business-bundles #omni-home .omni-hero {
  background:
    radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
    linear-gradient(100deg, rgba(248, 251, 249, .52) 0%, rgba(248, 251, 249, .4) 38%, rgba(248, 251, 249, .05) 62%, rgba(238, 245, 241, 0) 100%),
    url('/wp-content/uploads/2026/09/OMNISphere-Business-Banner-scaled.jpg') center/cover no-repeat,
    linear-gradient(180deg, #f8fbf9, #eef5f1);
}
/* Darken the constellation ring so it stands out against the photo behind it */
body.page-template-template-residential-bundles #omni-home .omni-orbit__net > g:first-of-type,
body.page-template-template-business-bundles #omni-home .omni-orbit__net > g:first-of-type { stroke: var(--omni-green); }
body.page-template-template-residential-bundles #omni-home .omni-orbit__net > g:first-of-type > circle,
body.page-template-template-business-bundles #omni-home .omni-orbit__net > g:first-of-type > circle { opacity: .65; }
body.page-template-template-residential-bundles #omni-home .omni-orbit__net > g:first-of-type > line,
body.page-template-template-business-bundles #omni-home .omni-orbit__net > g:first-of-type > line { opacity: .7; }
body.page-template-template-residential-bundles #omni-home .omni-orbit__net > g:last-of-type,
body.page-template-template-business-bundles #omni-home .omni-orbit__net > g:last-of-type { fill: var(--omni-green); }
body.page-template-template-residential-bundles #omni-home .omni-orbit__net > g:last-of-type > circle,
body.page-template-template-business-bundles #omni-home .omni-orbit__net > g:last-of-type > circle { opacity: .85; }
@media (max-width: 991px) {
  body.page-template-template-residential-bundles #omni-home .omni-hero {
    background:
      radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
      linear-gradient(180deg, rgba(248, 251, 249, .68) 0%, rgba(248, 251, 249, .62) 36%, rgba(248, 251, 249, .22) 60%, rgba(238, 245, 241, .03) 100%),
      url('/wp-content/uploads/2026/09/Residential-OMNI.jpg') center/cover no-repeat,
      linear-gradient(180deg, #f8fbf9, #eef5f1);
  }
  body.page-template-template-business-bundles #omni-home .omni-hero {
    background:
      radial-gradient(ellipse at 88% 20%, rgba(18, 168, 216, .14), transparent 55%),
      linear-gradient(180deg, rgba(248, 251, 249, .52) 0%, rgba(248, 251, 249, .4) 36%, rgba(248, 251, 249, .04) 60%, rgba(238, 245, 241, 0) 100%),
      url('/wp-content/uploads/2026/09/OMNISphere-Business-Banner-scaled.jpg') center/cover no-repeat,
      linear-gradient(180deg, #f8fbf9, #eef5f1);
  }
}

/* ---------- Simple sub-page title (no hero/orbit) ----------
   Shared by lightweight OMNI sub-pages that don't get the full hero/orbit
   treatment (Calling Features, OMNIView Resource Center, and future ones):
   just an eyebrow + gradient title + lede above the page's own sections. */
#omni-home .omni-page-head { max-width: 720px; margin: 64px auto 0; text-align: center; }
#omni-home .omni-page-head__eyebrow { font-family: var(--omni-display); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--omni-teal-text); }
#omni-home .omni-page-head__title {
  margin-top: 10px; font-family: var(--omni-display); font-weight: 800;
  font-size: clamp(34px, 4.4vw, 52px); line-height: 1.25; padding-bottom: 0.08em; letter-spacing: -0.015em;
  background: var(--omni-grad); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: var(--omni-green);
}
#omni-home .omni-page-head .omni-lede { margin-top: 16px; margin-left: auto; margin-right: auto; }
#omni-home .omni-page-head + .omni-divider { margin-top: 40px; }
#omni-home .omni-page-head + .omni-divider + .omni-section { margin-top: 56px; }
@media (max-width: 991px) {
  #omni-home .omni-page-head { margin-top: 44px; }
  #omni-home .omni-page-head__title { font-size: 32px; }
}

/* Calling Features page only: its dividers run a little longer than the
   default site-wide divider, and the gap above the closing green CTA box
   is tighter since that page no longer has a divider right before it. */
body.page-template-template-calling-features #omni-home .omni-divider { width: 66%; max-width: 680px; }
@media (max-width: 600px) {
  body.page-template-template-calling-features #omni-home .omni-divider { width: 82%; }
}
body.page-template-template-calling-features #omni-home .omni-cta { margin-top: 40px; }

/* OMNIView / OMNINet Resource Center pages only: dividers run 50% longer than the default. */
body.page-template-template-omniview-resource-center #omni-home .omni-divider,
body.page-template-template-omninet-resource-center #omni-home .omni-divider { width: 82.5%; max-width: 840px; }
@media (max-width: 600px) {
  body.page-template-template-omniview-resource-center #omni-home .omni-divider,
  body.page-template-template-omninet-resource-center #omni-home .omni-divider { width: 95%; }
}

/* OMNIView / OMNINet Resource Center pages, the Equipment & Installation
   Info page, and the Calling Features page: make the eyebrow above the
   page title larger and more noticeable than the default page-head
   eyebrow size. */
body.page-template-template-omniview-resource-center #omni-home .omni-page-head__eyebrow,
body.page-template-template-omninet-resource-center #omni-home .omni-page-head__eyebrow,
body.page-template-template-equipment-installation #omni-home .omni-page-head__eyebrow,
body.page-template-template-calling-features #omni-home .omni-page-head__eyebrow { font-size: 30px; }

/* OMNINet Resource Center page only: keep the page-head lede on a single
   line instead of wrapping (the page-head's own max-width would otherwise
   force a break); falls back to normal wrapping on narrow screens. */
body.page-template-template-omninet-resource-center #omni-home .omni-page-head .omni-lede { max-width: none; white-space: nowrap; }
@media (max-width: 600px) {
  body.page-template-template-omninet-resource-center #omni-home .omni-page-head .omni-lede { white-space: normal; }
}

/* "Most Popular" pill above a plans__head heading */
#omni-home .omni-popular-tag {
  display: inline-block; margin-bottom: 14px; padding: 5px 14px; border-radius: 999px;
  background: var(--omni-teal-text); color: #fff;
  font-family: var(--omni-display); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}

/* ---------- Expandable feature list (Calling Features "All calling features") ---------- */
/* Column legend above a feature list: labels the Residential/Business prices
   shown in each row's summary, since the list itself isn't a real table.
   The legend and .omni-feat__price below share the exact same
   grid-template-columns/gap and the same 62px right-side reserve (the
   card's 24px padding + the 20px chevron + the 18px gap before it), and
   both grids are pushed flush to the right of their content box with
   justify-content: end — so each pill sits directly above its own price
   column in every row, not just above the row's right edge in general. */
#omni-home .omni-feat-list__legend {
  display: grid; grid-template-columns: 115px 115px; justify-content: end; gap: 16px;
  max-width: 860px; margin: 40px auto 0; padding: 0 56px 0 24px;
}
#omni-home .omni-feat-list__legend-tag {
  justify-self: center; padding: 5px 14px; border-radius: 999px;
  background: var(--omni-green); color: #fff;
  font-family: var(--omni-display); font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
}
#omni-home .omni-feat-list__legend + .omni-feat-list { margin-top: 16px; }
@media (max-width: 640px) {
  #omni-home .omni-feat-list__legend { display: none; } /* prices stack to their own lines on mobile, each with its own inline label instead */
}
#omni-home .omni-feat-list { max-width: 860px; margin: 40px auto 0; display: flex; flex-direction: column; gap: 14px; }
#omni-home .omni-feat { border: 2px solid rgba(26, 92, 58, .22); border-radius: 16px; padding: 0 24px; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
#omni-home .omni-feat[open] { border-color: var(--omni-teal-text); box-shadow: 0 6px 20px rgba(18, 168, 216, .08); }
#omni-home .omni-feat__summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 20px 0; cursor: pointer; list-style: none;
}
#omni-home .omni-feat__summary::-webkit-details-marker { display: none; }
#omni-home .omni-feat__name { font-family: var(--omni-display); font-weight: 700; font-size: 17px; color: var(--omni-ink); }
#omni-home .omni-feat__meta { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
/* Two fixed-width columns (matching the legend above) so each price sits in
   its own lane instead of running together as one string. */
#omni-home .omni-feat__price { display: grid; grid-template-columns: 115px 115px; gap: 16px; font-size: 14px; font-weight: 600; color: var(--omni-muted); }
#omni-home .omni-feat__price-col { text-align: right; white-space: nowrap; }
#omni-home .omni-feat__price-col--full { grid-column: 1 / -1; }
/* The "Residential"/"Business" word labels are redundant with the legend
   pills above on desktop, so they're hidden there and only reappear on
   mobile, where the legend itself is hidden. */
#omni-home .omni-feat__price-label { display: none; }
#omni-home .omni-feat__chev { width: 20px; height: 20px; color: var(--omni-teal-text); transition: transform .2s ease; flex-shrink: 0; }
#omni-home .omni-feat[open] .omni-feat__chev { transform: rotate(180deg); }
#omni-home .omni-feat__panel { padding: 0 0 24px; border-top: 1px solid var(--omni-line); }
#omni-home .omni-feat__panel p { margin-top: 16px; font-size: 15px; color: var(--omni-ink); line-height: 1.6; }
#omni-home .omni-feat__code { color: var(--omni-muted); font-size: 14px; }
#omni-home .omni-feat__code strong { color: var(--omni-ink); }
/* Day-code key (e.g. Reminder Service): a tidy two-column list of "digit = day" pairs */
#omni-home .omni-feat__daylist {
  list-style: none; margin: 14px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 32px;
  font-size: 15px; color: var(--omni-ink);
}
#omni-home .omni-feat__daylist strong { color: var(--omni-teal-text); }
@media (max-width: 480px) {
  #omni-home .omni-feat__daylist { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  #omni-home .omni-feat__summary { flex-wrap: wrap; row-gap: 6px; }
  #omni-home .omni-feat__name { flex: 1 1 100%; }
  /* Meta (price + chevron) drops to its own full-width row so the price has
     room to stack onto multiple lines without the chevron sitting on top of
     it or the text running past the card's edge. */
  #omni-home .omni-feat__meta { flex: 1 1 100%; justify-content: space-between; align-items: flex-start; gap: 12px; }
  #omni-home .omni-feat__price { grid-template-columns: 1fr; gap: 2px; flex: 1 1 auto; min-width: 0; }
  #omni-home .omni-feat__price-col { text-align: left; white-space: normal; }
  #omni-home .omni-feat__price-label { display: inline; } /* the legend's hidden here, so spell the label back out per line */
  #omni-home .omni-feat__chev { margin-top: 2px; }
}

/* ---------- Residential / Business bundle buttons flanking a plans head (OMNINet, OMNIView, OMNIVoice) ---------- */
#omni-home .omni-plans__flank { display: flex; align-items: center; justify-content: center; gap: 16px; }
#omni-home .omni-plans__flank .omni-plans__head { flex: none; }
#omni-home .omni-bundle-btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  flex: none; width: 190px; min-height: 84px; padding: 10px 12px; border-radius: 16px; text-align: center;
  font-family: var(--omni-display); line-height: 1.2;
  transition: background-color .18s ease;
}
#omni-home .omni-bundle-btn__eyebrow { font-size: 22px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
#omni-home .omni-bundle-btn__label { margin-top: 2px; font-size: 22px; font-weight: 700; }
#omni-home .omni-bundle-btn--green { background: var(--omni-green); color: #fff; }
#omni-home .omni-bundle-btn--green:hover, #omni-home .omni-bundle-btn--green:focus { background: var(--omni-green-deep); }
#omni-home .omni-bundle-btn--blue { background: var(--omni-teal-text); color: #fff; }
#omni-home .omni-bundle-btn--blue:hover, #omni-home .omni-bundle-btn--blue:focus { background: var(--omni-teal-hover); }
@media (max-width: 900px) {
  #omni-home .omni-plans__flank { flex-direction: column; gap: 20px; }
}

/* ---------- Plans ---------- */
#omni-home .omni-plans__head { max-width: 720px; margin: 0 auto; text-align: center; }
#omni-home .omni-plans__head .omni-lede { margin-left: auto; margin-right: auto; text-wrap: balance; }
#omni-home .omni-lede a { color: var(--omni-green); font-weight: 600; border-bottom: 1px solid rgba(26, 92, 58, .3); }
#omni-home .omni-lede a:hover { color: var(--omni-green-deep); border-color: var(--omni-green-deep); }
#omni-home .omni-tabs {
  display: inline-flex; gap: 4px; margin-top: 28px; padding: 5px;
  border: 1px solid var(--omni-line); border-radius: 999px; background: var(--omni-mist);
}
#omni-home .omni-tab {
  padding: 12px 28px; border: 0; border-radius: 999px; background: transparent; cursor: pointer;
  font-family: var(--omni-display); font-size: 16px; font-weight: 600; color: var(--omni-muted);
  transition: background-color .15s ease, color .15s ease;
}
#omni-home .omni-tab:hover { color: var(--omni-green); }
#omni-home .omni-tab[aria-selected="true"] { background: var(--omni-green); color: #fff; }
#omni-home .omni-tab:focus-visible { outline: 3px solid var(--omni-teal); outline-offset: 2px; }
#omni-home .omni-tabpanel[hidden] { display: none; }

/* Package selector (Internet Only, Internet & Phone, ...) inside each Residential / Business tab */
#omni-home .omni-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 900px; margin: 32px auto 0; padding: 0 20px; }
#omni-home .omni-chip {
  padding: 10px 20px; border: 1.5px solid var(--omni-line); border-radius: 999px; background: #fff; cursor: pointer;
  font-family: var(--omni-display); font-size: 15px; font-weight: 600; color: var(--omni-ink);
  transition: border-color .15s ease, color .15s ease, background-color .15s ease;
}
#omni-home .omni-chip:hover { border-color: var(--omni-teal); color: var(--omni-green); }
#omni-home .omni-chip[aria-selected="true"] { border-color: var(--omni-teal-text); background: #e8f5fa; color: var(--omni-green-deep); }
#omni-home .omni-chip:focus-visible { outline: 3px solid var(--omni-teal); outline-offset: 2px; }
#omni-home .omni-plans__pkgtitle { margin-top: 36px; text-align: center; font-family: var(--omni-display); font-size: 24px; font-weight: 700; color: var(--omni-teal-text); }
#omni-home .omni-plans__pkgtitle + .omni-plans__grid { margin-top: 24px; }
#omni-home .omni-plans__pkgnote { margin: 20px auto 0; max-width: 760px; text-align: center; font-size: 14px; color: var(--omni-muted); }
#omni-home .omni-plans__pkgnote a { color: var(--omni-green); font-weight: 600; border-bottom: 1px solid rgba(26, 92, 58, .3); }
#omni-home .omni-plans__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
  margin-top: 40px; padding: 0 40px;
}
#omni-home .omni-plans__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-left: auto; margin-right: auto; }
#omni-home .omni-plans__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#omni-home .omni-plans__grid--4 .omni-plan__name { font-size: 22px; letter-spacing: -0.01em; }
#omni-home .omni-plan {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  padding: 34px 28px 28px; border: 1px solid var(--omni-line); border-radius: 22px;
  background: linear-gradient(160deg, #ffffff 0%, #eef1f0 100%); /* subtle gray gradient for depth */
}
#omni-home .omni-plan__name {
  display: flex; align-items: center; justify-content: center; min-height: 2.6em;
  font-family: var(--omni-display); font-size: 26px; font-weight: 700; line-height: 1.3; color: var(--omni-ink);
} /* fixed height so the price divider lines up across every card, whether the name wraps or not */
#omni-home .omni-plan__speed { margin-top: 18px; font-family: var(--omni-display); line-height: 1; }
#omni-home .omni-plan__speed b {
  display: block; font-size: 72px; font-weight: 800; letter-spacing: -0.03em;
  background: var(--omni-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
#omni-home .omni-plan__speed span { display: block; margin-top: 8px; font-size: 17px; font-weight: 600; color: var(--omni-ink); }
#omni-home .omni-plan__up { margin-top: 4px; font-size: 18px; font-weight: 700; color: var(--omni-ink); }
#omni-home .omni-plan__price {
  align-self: stretch; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--omni-line);
  font-family: var(--omni-display); font-size: 38px; font-weight: 700; line-height: 1; color: var(--omni-ink);
}
#omni-home .omni-plan__price small { font-size: 28px; font-weight: 700; color: var(--omni-ink); }
#omni-home .omni-plan .omni-list { margin: 22px 0 0; }
#omni-home .omni-plan__bundle {
  align-self: stretch; margin-top: 22px; padding: 12px 14px; border-radius: 12px;
  background: var(--omni-mist); font-size: 15px; color: var(--omni-ink);
}
#omni-home .omni-plan__bundle strong { color: var(--omni-green); }
#omni-home .omni-plan__actions { display: flex; flex-direction: column; align-items: center; gap: 14px; align-self: stretch; margin-top: auto; padding-top: 26px; }
#omni-home .omni-plan__actions .omni-btn { align-self: stretch; }
#omni-home .omni-plan__facts { font-size: 14px; font-weight: 600; color: var(--omni-green); border-bottom: 1px solid rgba(26, 92, 58, .3); }
#omni-home .omni-plan--soon { border-color: var(--omni-line); background: linear-gradient(160deg, #f6f8f7 0%, #e6eae8 100%); }
#omni-home .omni-plan__badge {
  position: absolute; top: 16px; right: 16px; padding: 4px 10px; border-radius: 999px;
  background: var(--omni-teal-text); color: #fff;
  font-family: var(--omni-display); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
#omni-home .omni-plan { position: relative; }
#omni-home .omni-btn--disabled { opacity: .6; cursor: not-allowed; }
#omni-home .omni-plan__addon { align-self: stretch; margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--omni-teal-text); }
#omni-home .omni-plans__fine { max-width: 760px; margin: 28px auto 0; text-align: center; font-size: 14px; color: var(--omni-muted); }
#omni-home .omni-plans__fine a { color: var(--omni-green); font-weight: 600; border-bottom: 1px solid rgba(26, 92, 58, .3); }

/* ---------- Included with every plan ---------- */
#omni-home .omni-perks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 40px; border-top: 1px solid var(--omni-line); }
#omni-home .omni-perks--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#omni-home .omni-perks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#omni-home .omni-perk { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 22px 8px; }
#omni-home .omni-perk + .omni-perk { border-left: 1px solid var(--omni-line); }
#omni-home .omni-perk svg { width: 44px; height: 44px; color: var(--omni-ink); stroke-width: 1.5; }
#omni-home .omni-perk h3 { margin-top: 16px; font-family: var(--omni-display); font-size: 20px; font-weight: 700; color: var(--omni-teal-text); }
#omni-home .omni-perk p { margin-top: 6px; font-size: 15px; color: var(--omni-ink); }
#omni-home .omni-perk p a { color: var(--omni-green); font-weight: 600; border-bottom: 1px solid rgba(26, 92, 58, .3); }

/* ---------- Getting connected (a real sequence, so it's numbered) ---------- */
#omni-home .omni-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; padding: 0 40px; list-style: none; counter-reset: omni-step; }
#omni-home .omni-step { position: relative; padding: 30px 26px 26px; border-radius: 20px; background: var(--omni-mist); text-align: center; counter-increment: omni-step; }
#omni-home .omni-step::before {
  content: counter(omni-step); display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%; background: var(--omni-green); color: #fff;
  font-family: var(--omni-display); font-size: 20px; font-weight: 700;
}
#omni-home .omni-step h3 { margin-top: 14px; font-family: var(--omni-display); font-size: 20px; font-weight: 700; color: var(--omni-ink); }
#omni-home .omni-step p { margin-top: 6px; font-size: 15px; color: var(--omni-ink); }
#omni-home .omni-step a { color: var(--omni-green); font-weight: 600; border-bottom: 1px solid rgba(26, 92, 58, .3); }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  #omni-home .omni-plans__grid, #omni-home .omni-plans__grid--2 { grid-template-columns: 1fr; max-width: 460px; margin-left: auto; margin-right: auto; padding: 0; }
  #omni-home .omni-perks { grid-template-columns: 1fr 1fr; }
  #omni-home .omni-perk:nth-child(3) { border-left: 0; }
  #omni-home .omni-perk:nth-child(n+3) { border-top: 1px solid var(--omni-line); }
  #omni-home .omni-steps { grid-template-columns: 1fr; max-width: 520px; margin-left: auto; margin-right: auto; padding: 0; }
}
@media (max-width: 600px) {
  #omni-home .omni-tab { padding: 11px 20px; }
  #omni-home .omni-chip { padding: 9px 14px; font-size: 14px; }
  #omni-home .omni-plan__speed b { font-size: 60px; }
  #omni-home .omni-perks { grid-template-columns: 1fr; }
  #omni-home .omni-perk + .omni-perk { border-left: 0; border-top: 1px solid var(--omni-line); }
}
@media (prefers-reduced-motion: reduce) {
  #omni-home .omni-tab, #omni-home .omni-chip { transition: none; }
}

/* ---------- Installation rate table ---------- */
#omni-home .omni-rates__wrap { margin-top: 32px; overflow-x: auto; border: 1px solid var(--omni-line); border-radius: 16px; }
#omni-home table.omni-rates { width: 100%; border-collapse: collapse; min-width: 720px; font-size: 15px; }
#omni-home table.omni-rates thead th {
  padding: 16px 18px; background: var(--omni-green); color: #fff; text-align: left;
  font-family: var(--omni-display); font-weight: 700; font-size: 15px; white-space: nowrap;
}
#omni-home table.omni-rates thead th:not(:first-child) { text-align: center; }
#omni-home table.omni-rates thead th:first-child { border-top-left-radius: 15px; }
#omni-home table.omni-rates thead th:last-child { border-top-right-radius: 15px; }
#omni-home table.omni-rates thead th span { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; color: rgba(255, 255, 255, .8); text-transform: none; letter-spacing: 0; }
#omni-home table.omni-rates tbody th { padding: 14px 18px; text-align: left; font-family: var(--omni-display); font-weight: 700; color: var(--omni-ink); white-space: nowrap; }
#omni-home table.omni-rates tbody td { padding: 14px 18px; color: var(--omni-ink); text-align: center; }
#omni-home table.omni-rates tbody tr:nth-child(odd) { background: var(--omni-mist); }
/* Premium Channel Groups pick-pricing table on the OMNIView page: font 50% larger.
   Scoped to the OMNIView template specifically — #omni-plans is a generic anchor id
   reused by Voice, Net, and Calling Features for their own (normal-size) pricing
   tables, so an unscoped #omni-plans selector here was blowing up their tables too. */
body.page-template-template-omni-view #omni-home #omni-plans table.omni-rates { font-size: 22.5px; }
body.page-template-template-omni-view #omni-home #omni-plans table.omni-rates thead th { font-size: 22.5px; }
body.page-template-template-omni-view #omni-home #omni-plans table.omni-rates thead th span { font-size: 18px; }

/* Calling Features page only: make the dollar amounts in the pricing table (and the
   per-feature prices in the "All calling features" accordion) bigger and bolder so
   pricing reads at a glance. */
body.page-template-template-calling-features #omni-home table.omni-rates tbody td {
  font-family: var(--omni-display); font-size: 21px; font-weight: 800; color: var(--omni-green);
}
body.page-template-template-calling-features #omni-home table.omni-rates tbody td small {
  font-size: 14px; font-weight: 700; color: var(--omni-green);
}
body.page-template-template-calling-features #omni-home .omni-feat__price {
  font-size: 16px; font-weight: 800; color: var(--omni-green);
}
@media (max-width: 600px) {
  body.page-template-template-calling-features #omni-home table.omni-rates tbody td { font-size: 18px; }
}

#omni-home .omni-rates__note { margin-top: 20px; font-size: 15px; color: var(--omni-ink); }
#omni-home .omni-rates__note strong { color: var(--omni-green); }
#omni-home .omni-rates__fine { margin-top: 12px; font-size: 13px; color: var(--omni-muted); }
#omni-home #omni-install .omni-rates__note, #omni-home #omni-install .omni-rates__fine { text-align: center; }

/* Equipment & Installation Info page only: bigger item/column labels, taller header rows
   across all three tables so they match, a little extra breathing room under the small
   parenthetical notes so they read as a clear aside, and bold green pricing (matching the
   Calling Features page treatment) so the dollar amounts stand out from the item labels. */
body.page-template-template-equipment-installation #omni-home table.omni-rates thead th {
  padding-top: 20px; padding-bottom: 20px; font-size: 17px;
}
body.page-template-template-equipment-installation #omni-home table.omni-rates tbody th {
  font-size: 17px;
}
body.page-template-template-equipment-installation #omni-home table.omni-rates .omni-rates__aside {
  display: block; margin-top: 5px; font-size: 12px; white-space: nowrap;
}
body.page-template-template-equipment-installation #omni-home table.omni-rates tbody td {
  font-family: var(--omni-display); font-size: 21px; font-weight: 800; color: var(--omni-green);
  text-align: right; font-variant-numeric: tabular-nums;
}
body.page-template-template-equipment-installation #omni-home table.omni-rates tbody td:not(:last-child) {
  padding-right: 24px;
}
body.page-template-template-equipment-installation #omni-home table.omni-rates tbody td small {
  font-size: 14px; font-weight: 700; color: var(--omni-green);
}
/* Fiber Installation Charges (the top table) only: centered pricing instead of
   right-aligned, and keep "Please contact us" from wrapping to two lines. */
body.page-template-template-equipment-installation #omni-home #omni-install table.omni-rates tbody td {
  text-align: center; padding-right: 18px; vertical-align: top;
}
body.page-template-template-equipment-installation #omni-home #omni-install table.omni-rates tbody th {
  vertical-align: top;
}
body.page-template-template-equipment-installation #omni-home #omni-install table.omni-rates .omni-rates__nowrap {
  white-space: nowrap;
}
@media (max-width: 600px) {
  body.page-template-template-equipment-installation #omni-home table.omni-rates thead th { padding-top: 16px; padding-bottom: 16px; font-size: 16px; }
  body.page-template-template-equipment-installation #omni-home table.omni-rates tbody th { font-size: 16px; }
  body.page-template-template-equipment-installation #omni-home table.omni-rates tbody td { font-size: 18px; }
}

/* Equipment, Services & Miscellaneous Charges tables are only 2 columns (item + price) —
   the shared 720px min-width is meant for the wider multi-column fiber table, so narrow
   and center these specifically instead of letting them stretch full width. */
body.page-template-template-equipment-installation #omni-home #omni-equipment .omni-rates__wrap,
body.page-template-template-equipment-installation #omni-home #omni-services-charges .omni-rates__wrap,
body.page-template-template-equipment-installation #omni-home #omni-misc-charges .omni-rates__wrap {
  max-width: 520px; margin-left: auto; margin-right: auto;
}
body.page-template-template-equipment-installation #omni-home #omni-equipment table.omni-rates,
body.page-template-template-equipment-installation #omni-home #omni-services-charges table.omni-rates,
body.page-template-template-equipment-installation #omni-home #omni-misc-charges table.omni-rates {
  min-width: 0; width: 100%;
}

/* ---------- Equipment / add-ons ---------- */
#omni-home .omni-addons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 36px; }
#omni-home .omni-addons--4up { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#omni-home .omni-addon { padding: 22px 22px 20px; border: 1px solid var(--omni-line); border-radius: 16px; background: #fff; }
#omni-home .omni-addon h3 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; font-family: var(--omni-display); font-size: 17px; font-weight: 700; color: var(--omni-ink); }
#omni-home .omni-addon h3 span { font-size: 15px; font-weight: 700; color: var(--omni-teal-text); }
#omni-home .omni-addon p { margin-top: 8px; font-size: 14px; color: var(--omni-muted); }

@media (max-width: 991px) {
  #omni-home .omni-addons { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  #omni-home .omni-addons { grid-template-columns: 1fr; }
}

/* ---------- Lifestyle banner image, just below the hero ---------- */
#omni-home .omni-banner { margin-top: 96px; border-radius: 22px; overflow: hidden; }
#omni-home .omni-banner + .omni-section { margin-top: 32px; } /* tighter gap when the photo sits right above the closing CTA */
#omni-home .omni-banner--top { margin-top: 0; margin-bottom: 40px; }
#omni-home .omni-banner img { display: block; width: 100%; height: 500px; object-fit: cover; object-position: center 42%; }
@media (max-width: 991px) {
  #omni-home .omni-banner { margin-top: 72px; border-radius: 18px; }
  #omni-home .omni-banner + .omni-section { margin-top: 24px; }
  #omni-home .omni-banner--top { margin-top: 0; margin-bottom: 28px; }
  #omni-home .omni-banner img { height: 380px; }
}
@media (max-width: 600px) {
  #omni-home .omni-banner img { height: 300px; }
}

/* ---------- OMNIView: line-up code badge + price with no divider ---------- */
#omni-home .omni-plan__badge--code { position: static; display: inline-flex; margin-bottom: 12px; background: var(--omni-green); }
#omni-home .omni-plan__price--top { border-top: 0; margin-top: 0; padding-top: 0; }

/* ---------- OMNIView: premium channel group cards (HBO / Cinemax / Showtime / Starz) ---------- */
#omni-home .omni-plan--channel { padding: 32px 26px 28px; }
#omni-home .omni-plan__channel-title {
  font-family: var(--omni-display); font-size: 30px; font-weight: 800; letter-spacing: -0.01em;
  background: var(--omni-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
#omni-home .omni-plan__channel-count { display: block; margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--omni-teal-text); }
#omni-home .omni-list--channel { margin-top: 20px; }

/* ---------- Channel guide link cards ---------- */
#omni-home .omni-addons--links { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; margin: 36px auto 0; }
#omni-home .omni-addon--link {
  display: flex; flex-direction: column; align-items: flex-start; text-align: left;
  color: inherit; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
#omni-home .omni-addon--link svg { width: 30px; height: 30px; color: var(--omni-teal-text); }
#omni-home .omni-addon--link h3 { display: block; margin-top: 14px; font-size: 18px; }
#omni-home .omni-addon--link h3 span { display: none; }
#omni-home .omni-addon--link p { margin-top: 8px; }
#omni-home .omni-addon--link:hover {
  border-color: var(--omni-teal-text); box-shadow: 0 14px 28px -18px rgba(15, 61, 38, .4); transform: translateY(-2px);
}
@media (max-width: 600px) {
  #omni-home .omni-addons--links { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  #omni-home .omni-addon--link { transition: none; }
}


/* ---------- Bundle page: grouped package sections ---------- */
#omni-home .omni-group__logo { display: flex; align-items: flex-start; justify-content: center; gap: 3px; margin-top: 44px; }
#omni-home .omni-group__logo img { display: block; height: 58px; width: auto; }
#omni-home .omni-group__num { font-family: var(--omni-display); font-size: 28px; font-weight: 800; line-height: 1; color: var(--omni-ink); margin-top: -2px; }
#omni-home .omni-group__logo + .omni-plans__grid { margin-top: 24px; }
#omni-home .omni-group__rule { margin-top: 56px; border: none; border-top: 1px solid var(--omni-line); }

/* ---------- Bundle page: simple icon-pair cards + native Learn More disclosure ---------- */
#omni-home .omni-plan__pairs { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; align-self: center; width: fit-content; margin-top: 22px; }
#omni-home .omni-plan__pair { display: flex; align-items: center; gap: 30px; text-align: left; }
#omni-home .omni-plan__pair svg { width: 30px; height: 30px; color: var(--omni-ink); flex: none; }
#omni-home .omni-plan__pair b { display: block; font-family: var(--omni-display); font-size: 19px; font-weight: 700; color: var(--omni-ink); }
#omni-home .omni-plan__pair span { display: block; font-size: 14px; color: var(--omni-muted); }
#omni-home .omni-plan__price--top { margin-top: 22px; }
#omni-home .omni-plan__more { align-self: stretch; margin-top: 22px; }
#omni-home .omni-plan__more summary {
  display: flex; align-items: center; justify-content: center; list-style: none; cursor: pointer;
}
#omni-home .omni-plan__more summary::-webkit-details-marker { display: none; }
#omni-home .omni-plan__more-label--open { display: none; }
#omni-home .omni-plan__more[open] .omni-plan__more-label--closed { display: none; }
#omni-home .omni-plan__more[open] .omni-plan__more-label--open { display: inline; }
#omni-home .omni-plan__more-panel { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--omni-line); text-align: left; }
/* Bundle page only: don't stretch every card in a row to match whichever one has its details open */
#omni-home.omni-bundles-page .omni-plans__grid { align-items: start; }
/* Bundle page only: shiny "O2"/"O3" numeral above the plan name, matching the gradient number style used for speeds on the OMNINet page */
#omni-home.omni-bundles-page .omni-plan__num {
  font-family: var(--omni-display); font-size: 30px; font-weight: 800; letter-spacing: -0.02em; line-height: 1;
  background: var(--omni-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
#omni-home.omni-bundles-page .omni-plan__name { margin-top: 0; min-height: auto; align-items: flex-start; justify-content: flex-start; }
#omni-home.omni-bundles-page .omni-plan__marks { margin-left: 3px; font-size: 16px; font-weight: 700; color: var(--omni-ink); vertical-align: super; }
/* Reserve 2 lines for each pair's sub-label so cards in a row stay the same height whether text like "OMNIView Streaming Line-Up" wraps or not */
#omni-home.omni-bundles-page .omni-plan__pair span { min-height: 2.6em; line-height: 1.3; }
/* Bundle page only: the reserved 2-line space under longer labels (e.g. "OMNIView Streaming Line-Up")
   pushes the vertically-centered icon down; align it with the top (the bold text) instead */
#omni-home.omni-bundles-page .omni-plan__pair { align-items: flex-start; gap: 14px; }
#omni-home.omni-bundles-page .omni-plan__pair svg { margin-top: 2px; }
/* Speed value in each card: bigger and with the same green-to-blue gradient used for the big numbers on the OMNINet page */
#omni-home.omni-bundles-page .omni-plan__pair--speed b {
  font-size: 28px; letter-spacing: -0.01em;
  background: var(--omni-grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* ---------- App-store / Google Play QR codes (OMNIView) ---------- */
#omni-home .omni-qr__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 48px; margin-top: 40px; }
#omni-home .omni-qr__item { display: flex; flex-direction: column; align-items: center; gap: 14px; text-decoration: none; }
#omni-home .omni-qr__item img {
  width: 200px; height: 200px; object-fit: contain; background: #fff;
  border: 1px solid var(--omni-line); border-radius: 18px; padding: 16px;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#omni-home .omni-qr__item:hover img, #omni-home .omni-qr__item:focus img {
  transform: translateY(-2px); border-color: rgba(18, 168, 216, .45);
  box-shadow: 0 12px 28px rgba(20, 20, 19, .12);
}
#omni-home .omni-qr__item span { font-family: var(--omni-display); font-weight: 700; font-size: 16px; color: var(--omni-teal-text); }
@media (max-width: 600px) {
  #omni-home .omni-qr__grid { gap: 28px; }
  #omni-home .omni-qr__item img { width: 160px; height: 160px; }
}

/* ---------- Decorative fading divider between sections ---------- */
#omni-home .omni-divider {
  width: 55%; max-width: 560px; height: 2px; margin: 64px auto 0; border-radius: 2px;
  background: linear-gradient(to right, transparent, var(--omni-green) 18%, var(--omni-teal) 50%, var(--omni-green) 82%, transparent);
}
#omni-home .omni-divider + .omni-section { margin-top: 64px; }
@media (max-width: 600px) {
  #omni-home .omni-divider { width: 75%; margin-top: 48px; }
  #omni-home .omni-divider + .omni-section { margin-top: 48px; }
}

/* ---------- Premium channel groups: one channel per line with a dash marker ---------- */
#omni-home .omni-channel-list { list-style: none; margin-top: 10px; }
#omni-home .omni-channel-list li {
  position: relative; padding-left: 16px; margin-top: 5px; font-size: 14px; color: var(--omni-muted); line-height: 1.4;
}
#omni-home .omni-channel-list li::before { content: "\2013"; position: absolute; left: 0; color: var(--omni-teal-text); }

/* ---------- OMNINet streaming add-ons: card + button stacked, cards equal height ---------- */
#omni-home .omni-addon-stack { display: flex; flex-direction: column; height: 100%; }
#omni-home .omni-addon-stack .omni-plan { flex: 1; }