:root {
  --font-heading: "Sora", sans-serif;
  --font-body: "Inter", sans-serif;
  --apollo-page-max: 1280px;
  --apollo-focus: #1da3ff;
  --apollo-focus-soft: rgba(29, 163, 255, 0.22);
  --apollo-text-strong: #0f172a;
  --apollo-text-body: #334155;
  --apollo-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  scroll-behavior: smooth;
  scroll-padding-top: 84px;
  background: #ffffff;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background: #ffffff;
  color: var(--apollo-text-body);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color-scheme: light;
}

::selection {
  color: #ffffff;
  background: rgba(29, 163, 255, 0.86);
}

img, svg, video, canvas {
  max-width: 100%;
}

img {
  height: auto;
  image-rendering: auto;
}

svg {
  flex-shrink: 0;
}

a {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

a, button, summary {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

button, summary, [role="button"] {
  cursor: pointer;
}

:where(a, button, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--apollo-focus);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px var(--apollo-focus-soft);
}

:where(h1, h2, h3, h4, h5, h6, p, li, a, span) {
  max-width: 100%;
}

:where(h1, h2, h3, h4, h5, h6) {
  color: var(--apollo-text-strong);
  overflow-wrap: break-word;
  text-wrap: balance;
}

:where(p, li) {
  overflow-wrap: break-word;
  text-wrap: pretty;
}

h1, h2, h3, h4, h5, h6,
.apollo-iptv-hero-title,
.apollo-iptv-why-title,
.apollo-iptv-features-title,
.apollo-iptv-features-card-title,
.apollo-iptv-dual-title,
.apollo-iptv-dual-subtitle,
.apollo-iptv-title,
.apollo-iptv-lifetime-title,
.apollo-iptv-card-title,
.apollo-iptv-support-title,
.apollo-iptv-secure-payments-title,
.apollo-iptv-secure-payments-subtitle,
.apollo-iptv-faq-title,
.apollo-iptv-faq-question,
.apollo-iptv-faq-subtitle,
.apollo-iptv-testimonials-section h2,
.apollo-iptv-started-title,
.apollo-iptv-footer__title {
  font-family: var(--font-heading);
  letter-spacing: 0;
}

p, li,
.apollo-iptv-hero-desc,
.apollo-iptv-features-card-text,
.apollo-iptv-dual-text,
.apollo-iptv-lifetime-desc,
.apollo-iptv-card-sub,
.apollo-iptv-secure-payments-text,
.apollo-iptv-secure-payments-list-text,
.apollo-iptv-faq-paragraph,
.apollo-iptv-testimonial-text,
.apollo-iptv-started-text,
.apollo-iptv-footer__text,
.apollo-iptv-footer__trust,
.apollo-iptv-footer__copy {
  font-family: var(--font-body);
}

:where(section[id], .apollo-iptv-pricing, .apollo-iptv-faq-section) {
  scroll-margin-top: 88px;
}

.apollo-iptv-hero,
.apollo-iptv-why-section,
.apollo-iptv-features-section,
.apollo-iptv-dual-section,
.apollo-iptv-pricing,
.apollo-iptv-secure-payments-section,
.apollo-iptv-faq-section,
.apollo-iptv-testimonials-section,
.apollo-iptv-started-section,
.apollo-iptv-footer {
  isolation: isolate;
}

.apollo-iptv-why-section,
.apollo-iptv-features-section,
.apollo-iptv-dual-section,
.apollo-iptv-secure-payments-section,
.apollo-iptv-faq-section,
.apollo-iptv-started-section {
  content-visibility: auto;
  contain-intrinsic-size: 760px;
}

.apollo-iptv-hero-btn,
.apollo-iptv-features-btn,
.apollo-iptv-dual-btn,
.apollo-iptv-lifetime-btn,
.apollo-iptv-btn,
.apollo-iptv-support-btn,
.apollo-iptv-started-btn,
.apollo-iptv-header__cta {
  min-height: 44px;
  max-width: 100%;
  line-height: 1.1;
  text-align: center;
}

@media (max-width: 1120px) {
  html { scroll-padding-top: 78px; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 72px; }

  .apollo-iptv-hero-buttons,
  .apollo-iptv-features-actions,
  .apollo-iptv-dual-actions,
  .apollo-iptv-started-actions {
    width: 100%;
  }

  .apollo-iptv-hero-btn,
  .apollo-iptv-features-btn,
  .apollo-iptv-dual-btn,
  .apollo-iptv-started-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

@media print {
  .apollo-iptv-header,
  .apollo-iptv-header-overlay,
  .apollo-iptv-header-drawer,
  .apollo-iptv-footer,
  canvas {
    display: none !important;
  }

  body {
    color: #000000;
    background: #ffffff;
  }

  a {
    color: #000000;
    text-decoration: underline;
  }
}
