        <?php
        /* ═══════════════════════════════════════════════════════
           PAGE META  —  edit these values for each page
        ═══════════════════════════════════════════════════════ */
        $page_title       = "Buy Twitch Followers — Real, Instant & Safe | DiscordBooster (2026)";
        $meta_description = "Buy real Twitch followers from the most trusted growth service since 2019. Instant delivery, 30-day refill guarantee. No password required. Starts at \$4. Trusted by 120,000+ streamers and creators.";
        $meta_keywords    = "buy twitch followers, real twitch followers, buy twitch followers instant, cheap twitch followers, twitch followers service 2026, increase twitch followers, grow twitch channel, buy twitch channel followers, twitch affiliate followers, twitch partner followers";
        $canonical_url    = "https://discordbooster.com/buy-twitch-followers";
        $og_title         = "Buy Twitch Followers — Real, Instant & Safe | DiscordBooster";
        $og_description   = "Real Twitch followers from \$4. Instant delivery, 30-day refill, no password needed. 120,000+ happy customers since 2019.";
        $og_image         = "https://discordbooster.com/og-twitch-followers.jpg";
        $active_platform  = "twitch";

        $schema_json = <<<'JSON'
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://discordbooster.com/buy-twitch-followers#webpage",
      "url": "https://discordbooster.com/buy-twitch-followers",
      "name": "Buy Twitch Followers — Real, Instant & Safe | DiscordBooster (2026)",
      "description": "Real Twitch followers with instant delivery and 30-day refill guarantee. No password required. Hit Affiliate thresholds faster, improve channel directory ranking, and build the follower credibility that attracts sponsors and brand deals from $4.",
      "inLanguage": "en-US",
      "dateModified": "2026-05-25",
      "breadcrumb": {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://discordbooster.com"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Twitch",
            "item": "https://discordbooster.com/twitch"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Buy Twitch Followers",
            "item": "https://discordbooster.com/buy-twitch-followers"
          }
        ]
      }
    },
    {
      "@type": "Organization",
      "@id": "https://discordbooster.com#org",
      "name": "DiscordBooster",
      "url": "https://discordbooster.com",
      "foundingDate": "2019",
      "description": "Leading multi-platform social media growth service trusted by 120,000+ customers worldwide."
    },
    {
      "@type": "Product",
      "name": "Twitch Followers",
      "description": "Real Twitch channel followers from genuine accounts. Instant delivery with 30-day refill guarantee. Safe, no password required. Helps streamers hit Affiliate and Partner thresholds, improves channel directory ranking, and builds the follower credibility that attracts sponsorships and brand deals.",
      "brand": {
        "@type": "Brand",
        "name": "DiscordBooster"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "reviewCount": "3512",
        "bestRating": "5",
        "worstRating": "1"
      },
      "offers": [
        {
          "@type": "Offer",
          "name": "100 Twitch Followers",
          "price": "4.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "250 Twitch Followers",
          "price": "8.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "500 Twitch Followers",
          "price": "14.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "1,000 Twitch Followers",
          "price": "24.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "2,500 Twitch Followers",
          "price": "52.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "5,000 Twitch Followers",
          "price": "92.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "10,000 Twitch Followers",
          "price": "165.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        },
        {
          "@type": "Offer",
          "name": "25,000 Twitch Followers",
          "price": "370.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitch-followers"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Is it safe to buy Twitch followers?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. DiscordBooster only requires your public Twitch channel URL or username — never your password or account credentials. Followers are added gradually to mimic organic channel growth. We've served 120,000+ customers since 2019 with zero account bans from our Twitch followers service."
          }
        },
        {
          "@type": "Question",
          "name": "Will bought Twitch followers help me reach Affiliate status?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Twitch Affiliate requires 50 followers as one of its four criteria. Buying followers is the fastest way to satisfy this requirement alongside your concurrent viewer, stream days, and stream hours criteria."
          }
        },
        {
          "@type": "Question",
          "name": "How fast will I get my Twitch followers?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Most orders begin delivery within 10–20 minutes of payment. Smaller packages complete within 24 hours; larger packages are spread over 3–7 days to maintain a natural-looking follower growth curve."
          }
        },
        {
          "@type": "Question",
          "name": "Do I need to give you my Twitch password?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Never. We only need your public Twitch channel URL or username. Your password and account credentials are never requested or stored."
          }
        },
        {
          "@type": "Question",
          "name": "Does follower count affect my ranking in Twitch directory?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Twitch's channel browse and directory ranking factors in follower count alongside concurrent viewer count. Channels with more followers appear higher in category directories, increasing organic discovery by new viewers."
          }
        },
        {
          "@type": "Question",
          "name": "Will more followers help me get sponsorships?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Sponsors and brand partners evaluate Twitch follower count as their primary reach metric when selecting streamers for campaigns. Specific follower thresholds (1K, 5K, 10K) determine which tier of sponsorship opportunities a streamer qualifies for."
          }
        },
        {
          "@type": "Question",
          "name": "Will the followers drop after delivery?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Our followers come from quality accounts built to persist through Twitch's periodic account cleanups. Our 30-day refill guarantee covers any drops — if your follower count falls within a month of delivery, we replace them at no charge."
          }
        },
        {
          "@type": "Question",
          "name": "What payment methods do you accept?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "We accept PayPal, Visa, Mastercard, American Express, and major cryptocurrencies including Bitcoin and Ethereum. All transactions are SSL-encrypted and PCI-compliant."
          }
        }
      ]
    },
    {
      "@type": "ItemList",
      "name": "Twitch Followers Packages",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "100 Twitch Followers — $4.00"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "250 Twitch Followers — $8.00"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "500 Twitch Followers — $14.00"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "1,000 Twitch Followers — $24.00"
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "2,500 Twitch Followers — $52.00"
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "5,000 Twitch Followers — $92.00"
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "10,000 Twitch Followers — $165.00"
        },
        {
          "@type": "ListItem",
          "position": 8,
          "name": "25,000 Twitch Followers — $370.00"
        }
      ]
    }
  ]
}
JSON;

        include 'header.php';
        ?>

<!-- ══ PAGE-SPECIFIC STYLES ══════════════════════════════
     Review: remove any :root / nav / footer / body / font
     rules already provided by header.php / footer.php
══════════════════════════════════════════════════════ -->
<style>
    :root {
      --cream: #faf8f4;
      --bg: #f5f1ea;
      --surface: #ffffff;
      --border: #e8e2d8;
      --border-dark: #d4cdc0;
      --ink: #1a1612;
      --ink-2: #3d3830;
      --muted: #8c8278;
      --accent: #9146ff;
      --accent-soft: #f3eeff;
      --accent-border: #c9a8ff;
      --accent-dark: #7a2ff5;
      --teal: #69c9d0;
      --teal-soft: #edfbfc;
      --teal-border: #b8ecf0;
      --gold: #c9920a;
      --gold-soft: #fdf6e3;
      --green: #1a7a4a;
      --green-soft: #eaf6ef;
      --shadow-sm: 0 1px 3px rgba(26,22,18,0.08);
      --shadow-md: 0 4px 16px rgba(26,22,18,0.1);
      --shadow-lg: 0 12px 40px rgba(26,22,18,0.13);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background: var(--cream); color: var(--ink-2); font-family: 'Outfit', sans-serif; font-size: 16px; line-height: 1.7; overflow-x: hidden; }
    h1, h2, h3, h4 { font-family: 'Sora', sans-serif; color: var(--ink); line-height: 1.15; }
    a { color: inherit; text-decoration: none; }
    strong { color: var(--ink); font-weight: 600; }

    /* ── NAV ── */
    nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; display: flex; align-items: center; justify-content: space-between; padding: 0 5%; height: 66px; background: rgba(250,248,244,0.94); backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); }
    .logo { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 1.3rem; color: var(--ink); letter-spacing: -0.5px; }
    .logo em { color: var(--accent); font-style: italic; }
    .nav-links { display: flex; gap: 2rem; list-style: none; font-size: 0.875rem; font-weight: 500; color: var(--muted); align-items: center; }
    .nav-links a:hover { color: var(--ink); }
    .nav-cta { background: var(--ink); color: #fff; padding: 0.5rem 1.2rem; border-radius: 6px; font-size: 0.82rem; font-weight: 600; transition: background 0.18s; }
    .nav-cta:hover { background: var(--accent); }
    .dropdown { position: relative; cursor: pointer; }
    .dropdown-content { display: none; position: absolute; top: calc(100% + 8px); left: 0; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 0.8rem; min-width: 200px; box-shadow: var(--shadow-lg); z-index: 300; grid-template-columns: 1fr; gap: 0.25rem; }
    .dropdown:hover .dropdown-content { display: grid; }
    .dropdown-content a { padding: 0.45rem 0.8rem; border-radius: 6px; transition: background 0.15s; font-size: 0.82rem; color: var(--ink-2); }
    .dropdown-content a:hover { background: var(--accent-soft); color: var(--accent-dark); }
    .nested-dropdown { position: relative; }
    .nested-content { display: none; position: absolute; left: 100%; top: 0; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 0.7rem; min-width: 180px; box-shadow: var(--shadow-lg); grid-template-columns: 1fr; gap: 0.2rem; margin-left: 6px; }
    .nested-dropdown:hover .nested-content { display: grid; }
    .nested-dropdown > a { display: flex; justify-content: space-between; align-items: center; }
    .nested-dropdown > a::after { content: '›'; font-size: 1rem; margin-left: 0.5rem; opacity: 0.4; }

    /* ── BREADCRUMB ── */
    .breadcrumb { padding: 82px 5% 0; font-size: 0.78rem; color: var(--muted); display: flex; align-items: center; gap: 0.4rem; max-width: 1240px; margin: 0 auto; position: relative; justify-content: flex-start; height: auto; z-index: 1; background: transparent; backdrop-filter: none; border-bottom: none; }
    .breadcrumb a { color: var(--muted); transition: color 0.15s; }
    .breadcrumb a:hover { color: var(--accent); }
    .breadcrumb .sep { opacity: 0.4; }

    /* ── HERO ── */
    .hero { padding: 56px 5% 0; display: grid; grid-template-columns: 1fr 440px; gap: 4rem; align-items: start; max-width: 1240px; margin: 0 auto; }
    .hero-left { padding-top: 1rem; }
    .hero-eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--accent-soft); border: 1px solid var(--accent-border); color: var(--accent-dark); border-radius: 4px; padding: 0.3rem 0.8rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 1.5rem; animation: fadeIn 0.5s ease both; }
    .hero h1 { font-size: clamp(2.8rem, 4.5vw, 4.2rem); font-weight: 800; letter-spacing: -1.5px; margin-bottom: 1.5rem; line-height: 1.08; animation: fadeIn 0.5s 0.06s ease both; }
    .hero h1 em { color: var(--accent); font-style: italic; }
    .hero-desc { font-size: 1.1rem; color: var(--muted); max-width: 520px; margin-bottom: 2rem; line-height: 1.75; animation: fadeIn 0.5s 0.12s ease both; }
    .hero-proof { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 2rem; animation: fadeIn 0.5s 0.18s ease both; flex-wrap: wrap; }
    .hero-proof .stars-row { color: #f5a623; font-size: 1.1rem; letter-spacing: 2px; }
    .hero-proof .rating-text { font-size: 0.88rem; color: var(--muted); }
    .hero-proof .rating-text strong { color: var(--ink); }
    .hero-proof .divider { width: 1px; height: 28px; background: var(--border-dark); }
    .hero-trust-pills { display: flex; flex-wrap: wrap; gap: 0.6rem; animation: fadeIn 0.5s 0.24s ease both; }
    .pill { display: inline-flex; align-items: center; gap: 0.35rem; background: var(--green-soft); color: var(--green); border: 1px solid #b6e4ce; border-radius: 100px; padding: 0.28rem 0.85rem; font-size: 0.78rem; font-weight: 600; }
    .pill::before { content: '✓'; font-weight: 800; }

    /* ── ORDER CARD ── */
    .order-card { background: var(--surface); border: 1px solid var(--border); border-radius: 20px; padding: 2rem; box-shadow: var(--shadow-lg); position: sticky; top: 82px; animation: fadeIn 0.5s 0.1s ease both; }
    .order-card-title { font-family: 'Sora', sans-serif; font-size: 1.2rem; font-weight: 800; margin-bottom: 0.4rem; color: var(--ink); }
    .order-card-sub { font-size: 0.82rem; color: var(--muted); margin-bottom: 1.2rem; }
    .pkg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-bottom: 1.4rem; }
    .pkg-btn { background: var(--cream); border: 1.5px solid var(--border); border-radius: 10px; padding: 0.75rem 0.5rem; cursor: pointer; transition: all 0.15s; position: relative; text-align: center; }
    .pkg-btn:hover { border-color: var(--accent); background: var(--accent-soft); }
    .pkg-btn.active { border-color: var(--accent); background: var(--accent-soft); }
    .pkg-btn .pkg-count { font-weight: 700; font-size: 0.93rem; color: var(--ink); display: block; }
    .pkg-btn .pkg-price { font-size: 0.8rem; color: var(--muted); }
    .pkg-btn .pkg-tag { position: absolute; top: -9px; right: 6px; background: var(--accent); color: #fff; font-size: 0.6rem; font-weight: 800; padding: 0.1rem 0.35rem; border-radius: 3px; letter-spacing: 0.5px; }
    .order-summary { background: var(--cream); border: 1px solid var(--border); border-radius: 12px; padding: 1.2rem; margin-bottom: 1.2rem; }
    .order-price { font-family: 'Sora', sans-serif; font-size: 2.6rem; font-weight: 800; color: var(--ink); line-height: 1; }
    .order-saving { font-size: 0.82rem; color: var(--green); font-weight: 600; margin-top: 0.25rem; }
    .order-input-label { font-size: 0.75rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.4rem; display: block; }
    .order-input { width: 100%; border: 1.5px solid var(--border); border-radius: 8px; padding: 0.85rem 1rem; font-family: 'Outfit', sans-serif; font-size: 0.97rem; background: #fff; color: var(--ink); transition: border-color 0.15s; margin-bottom: 0.6rem; }
    .order-input:focus { outline: none; border-color: var(--accent); }
    .order-input::placeholder { color: var(--muted); }
    .order-hint { font-size: 0.74rem; color: var(--muted); margin-bottom: 1rem; display: block; line-height: 1.5; }
    .order-btn { width: 100%; background: var(--ink); color: #fff; border: none; padding: 1.05rem; border-radius: 10px; font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all 0.18s; }
    .order-btn:hover { background: var(--accent); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(145,70,255,0.3); }
    .order-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 0.9rem; margin-top: 0.9rem; }
    .order-meta span { font-size: 0.74rem; color: var(--muted); display: flex; align-items: center; gap: 0.25rem; }
    .order-meta span::before { content: '🔒'; font-size: 0.7rem; }

    /* ── METRICS ── */
    .metrics { background: var(--ink); color: #fff; padding: 1.4rem 5%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 4rem; }
    .metric { text-align: center; padding: 0.6rem 0; }
    .metric-value { font-family: 'Sora', sans-serif; font-size: 2rem; font-weight: 800; color: #fff; line-height: 1; }
    .metric-label { font-size: 0.8rem; color: rgba(255,255,255,0.5); margin-top: 0.2rem; }

    /* ── PAGE BODY / SECTIONS ── */
    .page-body { max-width: 1240px; margin: 0 auto; padding: 0 5%; }
    .section { padding: 80px 0; }
    .section-label { display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--accent-dark); margin-bottom: 0.7rem; }
    .section-title { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; margin-bottom: 1rem; letter-spacing: -0.8px; }
    .section-sub { color: var(--muted); max-width: 520px; font-size: 1.03rem; }
    .section-header { margin-bottom: 3.5rem; }
    .section-header.centered { text-align: center; }
    .section-header.centered .section-sub { margin: 0 auto; }

    /* ── RELATED BAR ── */
    .related-bar { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 1.5rem 2rem; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
    .related-bar .rel-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--muted); white-space: nowrap; }
    .related-bar .rel-links { display: flex; gap: 0.7rem; flex-wrap: wrap; }
    .rel-link { background: var(--cream); border: 1px solid var(--border); border-radius: 100px; padding: 0.3rem 0.9rem; font-size: 0.82rem; font-weight: 500; color: var(--ink-2); transition: all 0.15s; }
    .rel-link:hover { background: var(--accent-soft); border-color: var(--accent-border); color: var(--accent-dark); }
    .rel-link.active { background: var(--accent); border-color: var(--accent); color: #fff; }

    /* ── AFFILIATE / PARTNER DASHBOARD ── */
    .program-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    .program-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 2rem; position: relative; overflow: hidden; transition: all 0.18s; }
    .program-card:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .program-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; border-radius: 18px 18px 0 0; }
    .program-card.affiliate::before { background: linear-gradient(90deg, #7a2ff5, #9146ff); }
    .program-card.partner::before { background: linear-gradient(90deg, #9146ff, #c9a8ff); }
    .program-badge { display: inline-flex; align-items: center; gap: 0.4rem; background: var(--accent-soft); border: 1px solid var(--accent-border); color: var(--accent-dark); border-radius: 4px; padding: 0.25rem 0.7rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 1rem; }
    .program-title { font-family: 'Sora', sans-serif; font-size: 1.3rem; color: var(--ink); margin-bottom: 0.8rem; }
    .program-requirements { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 1.2rem; }
    .req-row { display: flex; align-items: center; gap: 0.8rem; font-size: 0.9rem; }
    .req-icon { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 800; flex-shrink: 0; }
    .req-icon.met { background: var(--green-soft); color: var(--green); }
    .req-icon.key { background: var(--accent-soft); color: var(--accent-dark); }
    .req-icon.unmet { background: var(--bg); color: var(--muted); }
    .req-label { color: var(--ink-2); }
    .req-label strong { color: var(--accent-dark); }
    .program-note { font-size: 0.82rem; color: var(--muted); line-height: 1.6; border-top: 1px solid var(--border); padding-top: 1rem; }

    /* ── ALGO SECTION ── */
    .algo-section { background: var(--ink); padding: 80px 5%; }
    .algo-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
    .algo-inner .section-label { color: var(--teal); }
    .algo-inner .section-title { color: #fff; }
    .algo-inner p { color: rgba(255,255,255,0.55); font-size: 1.02rem; line-height: 1.8; margin-bottom: 1.2rem; }
    .algo-signals { list-style: none; display: flex; flex-direction: column; gap: 0.8rem; }
    .algo-signals li { display: flex; gap: 1rem; align-items: flex-start; padding: 1rem; border-radius: 12px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); transition: background 0.2s; }
    .algo-signals li:hover { background: rgba(255,255,255,0.07); }
    .algo-signal-icon { font-size: 1.3rem; flex-shrink: 0; margin-top: 2px; }
    .algo-signal-title { color: #fff; font-size: 0.95rem; font-weight: 600; margin-bottom: 0.15rem; }
    .algo-signal-desc { color: rgba(255,255,255,0.5); font-size: 0.87rem; line-height: 1.6; }
    .algo-meter { margin-top: 2rem; }
    .algo-meter-row { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
    .algo-meter-label { font-size: 0.82rem; color: rgba(255,255,255,0.6); min-width: 160px; }
    .algo-meter-track { flex: 1; height: 8px; background: rgba(255,255,255,0.08); border-radius: 100px; overflow: hidden; }
    .algo-meter-fill { height: 100%; border-radius: 100px; background: linear-gradient(90deg, var(--teal), var(--accent)); }
    .algo-meter-val { font-size: 0.8rem; color: var(--teal); font-weight: 700; min-width: 36px; text-align: right; }

    /* ── WHY BUY ── */
    .why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
    .why-body p { color: var(--muted); font-size: 1.05rem; line-height: 1.82; margin-bottom: 1.3rem; }
    .callout { background: var(--accent-soft); border-left: 4px solid var(--accent); border-radius: 0 10px 10px 0; padding: 1.2rem 1.5rem; margin: 2rem 0; font-size: 0.97rem; color: var(--ink-2); }
    .why-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 2rem; }
    .why-stat { background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 1.5rem; }
    .why-stat .val { font-family: 'Sora', sans-serif; font-size: 2.2rem; font-weight: 800; color: var(--ink); line-height: 1; }
    .why-stat .lbl { font-size: 0.82rem; color: var(--muted); margin-top: 0.3rem; }

    /* ── TYPES ── */
    .types-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.2rem; }
    .type-card { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 1.8rem; text-align: center; transition: all 0.18s; }
    .type-card:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .type-num { font-family: 'Sora', sans-serif; font-size: 2rem; font-weight: 800; color: var(--accent); line-height: 1; }
    .type-title { font-size: 0.95rem; font-weight: 700; color: var(--ink); margin-top: 0.4rem; margin-bottom: 0.4rem; }
    .type-desc { font-size: 0.84rem; color: var(--muted); line-height: 1.6; }
    .type-badge { display: inline-block; background: var(--gold-soft); color: var(--gold); border: 1px solid #e8d49a; border-radius: 4px; font-size: 0.68rem; font-weight: 700; padding: 0.12rem 0.5rem; margin-top: 0.6rem; letter-spacing: 0.5px; text-transform: uppercase; }

    /* ── FEATURES ── */
    .feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
    .feat-item { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 2rem; transition: all 0.2s; }
    .feat-item:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .feat-icon { font-size: 1.8rem; margin-bottom: 1rem; display: block; }
    .feat-title { font-family: 'Sora', sans-serif; font-size: 1.08rem; color: var(--ink); font-weight: 700; margin-bottom: 0.5rem; }
    .feat-desc { font-size: 0.92rem; color: var(--muted); line-height: 1.7; }

    /* ── HOW IT WORKS ── */
    .how-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; position: relative; }
    .how-timeline::before { content: ''; position: absolute; top: 32px; left: 10%; right: 10%; height: 2px; background: repeating-linear-gradient(90deg, var(--border) 0, var(--border) 8px, transparent 8px, transparent 16px); }
    .how-step { text-align: center; }
    .how-num { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #fff; border: 2px solid var(--border); font-family: 'Sora', sans-serif; font-size: 1.5rem; font-weight: 800; color: var(--ink); margin-bottom: 1.2rem; position: relative; z-index: 1; box-shadow: var(--shadow-sm); }
    .how-step.active .how-num { background: var(--accent); color: #fff; border-color: var(--accent); }
    .how-step h3 { font-size: 1.05rem; margin-bottom: 0.5rem; }
    .how-step p { font-size: 0.9rem; color: var(--muted); }

    /* ── PRICING TABLE ── */
    .pricing-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-md); }
    .pricing-table thead tr { background: var(--ink); }
    .pricing-table thead th { padding: 1rem 1.3rem; text-align: left; font-family: 'Outfit', sans-serif; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.65); }
    .pricing-table tbody tr { border-bottom: 1px solid var(--border); transition: background 0.15s; }
    .pricing-table tbody tr:last-child { border-bottom: none; }
    .pricing-table tbody tr:hover { background: var(--cream); }
    .pricing-table tbody tr.featured { background: var(--accent-soft); }
    .pricing-table td { padding: 1rem 1.3rem; font-size: 0.97rem; color: var(--ink-2); }
    .pricing-table .pkg-name { font-weight: 700; color: var(--ink); }
    .pricing-table .pkg-save { color: var(--green); font-weight: 600; font-size: 0.85rem; }
    .pricing-table .pkg-original { color: var(--muted); text-decoration: line-through; font-size: 0.85rem; }
    .table-badge { display: inline-flex; background: var(--accent); color: #fff; font-size: 0.62rem; font-weight: 800; padding: 0.1rem 0.4rem; border-radius: 3px; margin-left: 0.4rem; vertical-align: middle; }
    .table-order-btn { background: var(--ink); color: #fff; border: none; padding: 0.5rem 1.1rem; border-radius: 6px; font-family: 'Outfit', sans-serif; font-size: 0.82rem; font-weight: 600; cursor: pointer; transition: all 0.15s; }
    .table-order-btn:hover { background: var(--accent); }

    /* ── USE CASES ── */
    .usecases-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2rem; }
    .usecase-card { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 1.8rem; transition: all 0.18s; }
    .usecase-card:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .uc-icon { font-size: 1.8rem; margin-bottom: 1rem; display: block; }
    .usecase-card h3 { font-size: 1rem; margin-bottom: 0.4rem; }
    .usecase-card p { font-size: 0.88rem; color: var(--muted); line-height: 1.65; }

    /* ── REVIEWS ── */
    .reviews-section { background: var(--bg); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
    .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
    .review-card { background: #fff; border: 1px solid var(--border); border-radius: 16px; padding: 1.8rem; display: flex; flex-direction: column; gap: 1rem; }
    .review-stars { color: #f5a623; font-size: 0.9rem; letter-spacing: 2px; }
    .review-niche { display: inline-block; background: var(--teal-soft); color: #0a8a95; border: 1px solid var(--teal-border); font-size: 0.7rem; font-weight: 700; padding: 0.12rem 0.5rem; border-radius: 4px; }
    .review-text { font-size: 0.96rem; color: var(--ink-2); line-height: 1.72; flex: 1; font-style: italic; }
    .review-author { display: flex; align-items: center; gap: 0.7rem; padding-top: 0.8rem; border-top: 1px solid var(--border); }
    .review-avatar { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 0.95rem; flex-shrink: 0; }
    .review-name { font-size: 0.9rem; font-weight: 700; color: var(--ink); }
    .review-sub { font-size: 0.78rem; color: var(--muted); }

    /* ── FAQ ── */
    .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
    .faq-item { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: #fff; }
    .faq-q { padding: 1.2rem 1.5rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; font-size: 0.97rem; color: var(--ink); transition: background 0.15s; user-select: none; }
    .faq-q:hover { background: var(--accent-soft); }
    .faq-icon { font-size: 1.3rem; color: var(--accent); transition: transform 0.2s; }
    .faq-a { padding: 0 1.5rem; max-height: 0; overflow: hidden; font-size: 0.92rem; color: var(--muted); line-height: 1.75; transition: max-height 0.3s ease, padding 0.3s ease; }
    .faq-item.open .faq-a { max-height: 400px; padding: 0 1.5rem 1.2rem; }
    .faq-item.open .faq-icon { transform: rotate(45deg); }

    /* ── LONG-FORM ── */
    .long-form { max-width: 780px; }
    .long-form h2 { font-size: clamp(1.7rem, 2.5vw, 2.4rem); margin-bottom: 1.5rem; }
    .long-form h3 { font-size: 1.3rem; margin: 2.5rem 0 1rem; }
    .long-form p { font-size: 1.03rem; color: var(--muted); line-height: 1.85; margin-bottom: 1.2rem; }
    .long-form ul { margin: 1.2rem 0 1.2rem 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; }
    .long-form ul li { font-size: 1rem; color: var(--muted); line-height: 1.7; }
    .info-box { background: var(--teal-soft); border: 1px solid var(--teal-border); border-radius: 10px; padding: 1.2rem 1.5rem; margin: 2rem 0; font-size: 0.97rem; color: var(--ink-2); }

    /* ── CTA ── */
    .cta-banner { background: var(--ink); border-radius: 20px; padding: 3rem; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; }
    .cta-banner h2 { color: #fff; font-size: clamp(1.5rem, 2.5vw, 2rem); margin-bottom: 0.5rem; }
    .cta-banner p { color: rgba(255,255,255,0.55); font-size: 1rem; }
    .cta-white-btn { background: #fff; color: var(--ink); padding: 1rem 2rem; border-radius: 10px; font-weight: 700; font-size: 1rem; white-space: nowrap; transition: all 0.18s; display: inline-block; }
    .cta-white-btn:hover { background: var(--accent); color: #fff; }

    /* ── FOOTER ── */
    footer { background: var(--ink); color: rgba(255,255,255,0.55); padding: 5rem 5% 2rem; }
    .footer-inner { max-width: 1240px; margin: 0 auto; }
    .footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 4rem; }
    .footer-logo { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 1.3rem; color: #fff; margin-bottom: 1rem; }
    .footer-logo em { color: var(--accent); font-style: italic; }
    .footer-about { font-size: 0.88rem; line-height: 1.7; }
    .footer-col h5 { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: rgba(255,255,255,0.35); margin-bottom: 1rem; }
    .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 0.55rem; }
    .footer-col a { font-size: 0.85rem; color: rgba(255,255,255,0.5); transition: color 0.15s; }
    .footer-col a:hover { color: #fff; }
    .footer-col a.hl { color: #c9a8ff; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 2rem; display: flex; justify-content: space-between; align-items: center; font-size: 0.78rem; flex-wrap: wrap; gap: 0.8rem; }

    @keyframes fadeIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

    @media (max-width: 1024px) {
      .hero { grid-template-columns: 1fr; gap: 2.5rem; }
      .order-card { position: relative; top: 0; max-width: 520px; }
      .why-grid { grid-template-columns: 1fr; gap: 2.5rem; }
      .algo-inner { grid-template-columns: 1fr; gap: 2.5rem; }
      .how-timeline { grid-template-columns: 1fr 1fr; }
      .how-timeline::before { display: none; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .program-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 768px) {
      .feat-grid { grid-template-columns: 1fr; }
      .reviews-grid { grid-template-columns: 1fr; }
      .faq-grid { grid-template-columns: 1fr; }
      .cta-banner { grid-template-columns: 1fr; }
      .nav-links { display: none; }
    }
    @media (max-width: 480px) {
      .pkg-grid { grid-template-columns: 1fr 1fr; }
      .hero { padding: 40px 5% 0; }
      .hero h1 { font-size: 2.5rem; }
      .why-stats { grid-template-columns: 1fr 1fr; }
    }
  </style>

<!-- ══ BREADCRUMB ══ -->
<nav aria-label="Breadcrumb" class="breadcrumb">
<a href="https://discordbooster.com">Home</a>
<span aria-hidden="true" class="sep">›</span>
<a href="#">Twitch</a>
<span aria-hidden="true" class="sep">›</span>
<span aria-current="page">Buy Twitch Followers</span>
</nav>
<!-- ══ HERO ══ -->
<div class="page-body">
<section aria-labelledby="hero-h1" class="hero">
<div class="hero-left">
<div class="hero-eyebrow">🟣 #1 Twitch Followers Service — Real Accounts, Affiliate Safe, Instant Delivery</div>
<h1 id="hero-h1">Buy Twitch Followers<br/>&amp; Hit <em>Affiliate</em> Faster<br/>Than Anyone Else</h1>
<p class="hero-desc">Real Twitch followers from genuine accounts, delivered safely to your channel. Satisfy the 50-follower Affiliate requirement, improve your standing in Twitch's category directory, and build the follower credibility that attracts sponsors, collab invites, and the organic viewer growth that makes a streaming career viable long-term.</p>
<div class="hero-proof">
<span aria-hidden="true" class="stars-row">★★★★★</span>
<div class="rating-text"><strong>4.9 / 5</strong> from 3,512 verified reviews</div>
<div aria-hidden="true" class="divider"></div>
<div class="rating-text"><strong>120,000+</strong> orders delivered</div>
</div>
<div aria-label="Key guarantees" class="hero-trust-pills" role="list">
<span class="pill" role="listitem">Affiliate-safe delivery</span>
<span class="pill" role="listitem">Starts in 10–20 min</span>
<span class="pill" role="listitem">No password needed</span>
<span class="pill" role="listitem">30-day refill</span>
<span class="pill" role="listitem">From $4</span>
</div>
</div>
<!-- ORDER CARD -->
<div aria-label="Order Twitch followers" class="order-card" id="order" role="region">
<div class="order-card-title">Grow Your Twitch Channel</div>
<div class="order-card-sub">Choose your followers package below</div>
<div aria-label="Followers packages" class="pkg-grid" id="pkgGrid" role="radiogroup"></div>
<div class="order-summary">
<div aria-live="polite" class="order-price" id="orderPrice">$4.00</div>
<div aria-live="polite" class="order-saving" id="orderSaving">Best entry-level price</div>
</div>
<label class="order-input-label" for="twitchUsername">Twitch Channel Username</label>
<input aria-required="true" autocomplete="off" class="order-input" id="twitchUsername" placeholder="yourchannelname" type="text"/>
<span class="order-hint">Enter your Twitch channel username (without twitch.tv/). Your channel must be public. No password or account access required — ever.</span>
<button class="order-btn" id="orderBtn">Get Twitch Followers →</button>
<div class="order-meta">
<span>No password required</span>
<span>SSL checkout</span>
<span>30-day guarantee</span>
</div>
</div>
</section>
</div>
<!-- ══ METRICS ══ -->
<div aria-label="Company statistics" class="metrics" role="list">
<div class="metric" role="listitem"><div class="metric-value">120K+</div><div class="metric-label">Happy customers</div></div>
<div class="metric" role="listitem"><div class="metric-value">4.9★</div><div class="metric-label">Average rating</div></div>
<div class="metric" role="listitem"><div class="metric-value">&lt;20 min</div><div class="metric-label">Avg. start time</div></div>
<div class="metric" role="listitem"><div class="metric-value">25,000</div><div class="metric-label">Max single order</div></div>
<div class="metric" role="listitem"><div class="metric-value">7 yrs</div><div class="metric-label">In business</div></div>
</div>
<div class="page-body">
<!-- ══ RELATED SERVICES ══ -->
<div class="section" style="padding-bottom: 0;">
<div aria-label="Twitch services" class="related-bar" role="navigation">
<span class="rel-label">Twitch Services</span>
<div class="rel-links">
<a class="rel-link active" href="buy-twitch-followers">Followers</a>
<a class="rel-link" href="#">Live Views</a>
<a class="rel-link" href="#">Clip Views</a>
<a class="rel-link" href="#">Channel Points</a>
</div>
</div>
</div>
<!-- ══ WHY BUY ══ -->
<section aria-labelledby="why-heading" class="section">
<div class="why-grid">
<div>
<div aria-hidden="true" class="section-label">The streaming career strategy</div>
<h2 class="section-title" id="why-heading">Why Twitch Followers Are the Gateway to Affiliate, Sponsorships, and a Real Streaming Career</h2>
<div class="why-stats">
<div class="why-stat"><div class="val">50</div><div class="lbl">Followers required for Twitch Affiliate — the first monetisation milestone every streamer must cross</div></div>
<div class="why-stat"><div class="val">Directory</div><div class="lbl">Follower count improves your channel's position in Twitch category browse pages — increasing organic discovery</div></div>
<div class="why-stat"><div class="val">Sponsors</div><div class="lbl">Brands evaluate Twitch follower count as their primary metric for channel partnership and sponsorship decisions</div></div>
<div class="why-stat"><div class="val">Cold Start</div><div class="lbl">New channels with low follower counts are invisible in Twitch's directory — bought followers break the discovery deadlock</div></div>
</div>
</div>
<div class="why-body">
<p>Twitch has over 140 million registered users and 7 million active streamers — making it the world's dominant live streaming platform. For the vast majority of those streamers, the journey begins with the same impossible-feeling cold start: a channel with zero followers that nobody can discover, in a directory crowded with thousands of competitors streaming the same games. <strong>Twitch's channel discovery system rewards channels that already have followers — which means new channels need followers to get followers.</strong></p>
<p>Twitch Affiliate status — the first monetisation milestone that unlocks subscriptions, bits, and ad revenue — requires 50 followers as one of its four criteria. While 50 is a modest number, organic follower growth on a new channel is painfully slow without existing audience momentum. Buying followers to cross this threshold is the fastest, most direct path to beginning your Twitch monetisation journey.</p>
<div class="callout">
<strong>Beyond Affiliate, follower count is the primary metric that sponsors evaluate.</strong> Gaming peripheral brands, energy drink companies, VPN services, and gaming chair manufacturers — the companies actively seeking Twitch sponsorship partnerships — all evaluate channel follower count as their first filter when assessing sponsorship proposals. Specific thresholds (1K, 5K, 10K followers) gate access to different tiers of sponsorship opportunity. Buying followers to reach these milestones is a direct investment in your channel's commercial appeal.
        </div>
<p>Buying Twitch followers gives your channel the social proof needed to break through Twitch's cold-start barrier, satisfy Affiliate requirements, improve your directory visibility, and build the sponsor-facing profile that opens the doors to streaming as a viable career path.</p>
</div>
</div>
</section>
<!-- ══ AFFILIATE / PARTNER PROGRAM CARDS ══ -->
<section aria-labelledby="programs-heading" class="section" style="padding-top: 0;">
<div class="section-header">
<div aria-hidden="true" class="section-label">Twitch programme requirements</div>
<h2 class="section-title" id="programs-heading">Twitch Affiliate &amp; Partner — How Followers Unlock Each Milestone</h2>
<p class="section-sub">Both Twitch monetisation programmes have follower requirements. Here's exactly what each demands and how bought followers help you get there.</p>
</div>
<div class="program-grid">
<div class="program-card affiliate">
<div class="program-badge">🟣 Twitch Affiliate</div>
<div class="program-title">The First Monetisation Gateway</div>
<ul class="program-requirements">
<li class="req-row">
<div class="req-icon key">★</div>
<div class="req-label"><strong>50 Followers</strong> — satisfied instantly with our starter package</div>
</li>
<li class="req-row">
<div class="req-icon unmet">→</div>
<div class="req-label">500 total minutes broadcast in the last 30 days</div>
</li>
<li class="req-row">
<div class="req-icon unmet">→</div>
<div class="req-label">7 unique broadcast days in the last 30 days</div>
</li>
<li class="req-row">
<div class="req-icon unmet">→</div>
<div class="req-label">Average of 3 concurrent viewers in the last 30 days</div>
</li>
</ul>
<div class="program-note">Our starter package of 100 followers satisfies the follower requirement immediately. Combined with consistent streaming, Affiliate is achievable within 30 days for any dedicated streamer. Unlocks: channel subscriptions, bits, ad revenue, channel points, and emotes.</div>
</div>
<div class="program-card partner">
<div class="program-badge">🏆 Twitch Partner</div>
<div class="program-title">The Professional Streamer Tier</div>
<ul class="program-requirements">
<li class="req-row">
<div class="req-icon key">★</div>
<div class="req-label"><strong>No fixed follower minimum</strong> — but channels under 1,000 followers are rarely considered</div>
</li>
<li class="req-row">
<div class="req-icon unmet">→</div>
<div class="req-label">25 hours streamed in the last 30 days</div>
</li>
<li class="req-row">
<div class="req-icon unmet">→</div>
<div class="req-label">12 unique broadcast days in the last 30 days</div>
</li>
<li class="req-row">
<div class="req-icon unmet">→</div>
<div class="req-label">Average 75 concurrent viewers — the most competitive threshold</div>
</li>
</ul>
<div class="program-note">Partner has no published follower minimum, but Twitch's review process favours channels with substantial follower counts as evidence of community building. Most successful Partner applicants have 500–5,000+ followers alongside their viewer count. Unlocks: 70% subscription revenue share, Squad Streaming, priority support, and Verified badge.</div>
</div>
</div>
</section>
<!-- ══ DELIVERY TYPES ══ -->
<section aria-labelledby="types-heading" class="section" style="padding-top: 0;">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Delivery options</div>
<h2 class="section-title" id="types-heading">How We Deliver Your Twitch Followers</h2>
<p class="section-sub">Every package uses genuine Twitch accounts and natural delivery pacing designed to look organic to Twitch's systems.</p>
</div>
<div class="types-grid">
<div class="type-card">
<div class="type-num">⚡</div>
<div class="type-title">Standard Followers</div>
<div class="type-desc">Followers from genuine Twitch accounts delivered over 24–72 hours at natural pacing. Best for streamers who need a follower boost for Affiliate qualification, directory visibility, or sponsor profile credibility.</div>
<span class="type-badge">⭐ Most Popular</span>
</div>
<div class="type-card">
<div class="type-num">🌱</div>
<div class="type-title">Gradual Growth Delivery</div>
<div class="type-desc">Followers added steadily over 7–14 days, replicating the organic growth curve of a channel gaining genuine traction. Best for larger orders and established channels where a sudden spike would look unnatural in your follower analytics.</div>
<span class="type-badge">🛡️ Most Natural</span>
</div>
<div class="type-card">
<div class="type-num">💎</div>
<div class="type-title">Premium Real Accounts</div>
<div class="type-desc">Followers from our highest-quality aged Twitch accounts with viewing histories and natural activity patterns. Maximum retention rate and the most credible-looking follower profiles for channels whose growth is scrutinised by sponsors or Twitch's Partner review team.</div>
<span class="type-badge">👑 Best Quality</span>
</div>
<div class="type-card">
<div class="type-num">🌍</div>
<div class="type-title">Geo-Targeted Followers</div>
<div class="type-desc">Followers from specific countries — US, UK, Canada, Germany, and more. Strengthens your channel's geographic audience profile for sponsors targeting specific regional markets and advertisers evaluating audience geography in campaign proposals.</div>
<span class="type-badge">🎯 Location-Targeted</span>
</div>
<div class="type-card">
<div class="type-num">📦</div>
<div class="type-title">Multi-Channel Packages</div>
<div class="type-desc">Distribute followers across multiple Twitch channels — ideal for streaming teams, esports organisations, or agencies managing multiple streamer accounts and needing consistent follower growth across their entire streaming portfolio.</div>
<span class="type-badge">📈 Multi-Channel</span>
</div>
</div>
</section>
</div>
<!-- ══ ALGORITHM SECTION ══ -->
<section aria-labelledby="algo-heading" class="algo-section">
<div class="algo-inner">
<div>
<div aria-hidden="true" class="section-label">How Twitch surfaces channels</div>
<h2 class="section-title" id="algo-heading">How Follower Count Shapes Your Twitch Directory Ranking and Organic Discovery</h2>
<p>Twitch's category browse pages — where viewers discover new channels to watch — rank live streams using a combination of current viewer count and follower count. Follower count functions as an authority signal: a channel with 5,000 followers is ranked higher than an identically-viewed channel with 50 followers, because Twitch's algorithm treats follower count as evidence of established community quality worth surfacing to new viewers.</p>
<p>Here are the key signals in Twitch's channel discovery and recommendation system and their relative influence in 2026:</p>
<div aria-label="Twitch channel ranking signals" class="algo-meter">
<div class="algo-meter-row">
<span class="algo-meter-label">Live concurrent viewers</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:96%"></div></div>
<span class="algo-meter-val">96%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Follower count &amp; growth rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:84%"></div></div>
<span class="algo-meter-val">84%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Stream consistency &amp; frequency</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:76%"></div></div>
<span class="algo-meter-val">76%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Average stream duration</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:64%"></div></div>
<span class="algo-meter-val">64%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Chat activity rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:55%"></div></div>
<span class="algo-meter-val">55%</span>
</div>
</div>
</div>
<div>
<ul aria-label="How Twitch followers improve channel performance" class="algo-signals">
<li>
<span aria-hidden="true" class="algo-signal-icon">🗂️</span>
<div>
<div class="algo-signal-title">Category directory ranking improvement</div>
<div class="algo-signal-desc">When viewers browse Twitch game and category pages to find new channels to watch, results are ranked by a combination of live viewers and follower authority. A channel with more followers appears higher in the directory even at equivalent viewer counts — directly increasing your organic discovery rate from category browsing viewers.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">💜</span>
<div>
<div class="algo-signal-title">Affiliate threshold satisfaction</div>
<div class="algo-signal-desc">Twitch Affiliate requires 50 followers as one of its four mandatory criteria. Buying followers is the most direct and immediate way to satisfy this requirement — allowing you to focus your streaming energy on the harder concurrent-viewer criteria rather than grinding for followers one organic follow at a time.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">💰</span>
<div>
<div class="algo-signal-title">Sponsor and brand deal qualification</div>
<div class="algo-signal-desc">Gaming brands evaluating Twitch sponsorship proposals use follower count as their primary reach metric — more reliably than concurrent viewer count, which fluctuates. Specific follower thresholds (1K, 5K, 10K) determine which tier of sponsorship opportunity a channel qualifies for, with meaningful deal values starting around 1,000–5,000 followers for micro-influencer campaigns.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">👁️</span>
<div>
<div class="algo-signal-title">Profile credibility and first impression</div>
<div class="algo-signal-desc">When a potential viewer lands on your channel page, your follower count is displayed prominently. A channel with 8,000 followers looks established and worth watching; a channel with 12 followers looks like a first-time attempt. This perception gap affects whether casual browser-visitors decide to stay and watch, which directly impacts your concurrent viewer count.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🔔</span>
<div>
<div class="algo-signal-title">Notification delivery to followers</div>
<div class="algo-signal-desc">Every Twitch follower receives a notification when you go live — providing a baseline audience reminder for every stream regardless of whether they actively browse Twitch that day. A larger follower base means more live notifications sent, more viewers reminded to tune in, and a higher baseline concurrent viewer count that compounds your category directory placement.</div>
</div>
</li>
</ul>
</div>
</div>
</section>
<div class="page-body">
<!-- ══ FEATURES ══ -->
<section aria-labelledby="features-heading" class="section">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Why DiscordBooster</div>
<h2 class="section-title" id="features-heading">What Makes Our Twitch Followers Different</h2>
<p class="section-sub">Every Twitch followers package from DiscordBooster is built for platform safety, genuine-looking accounts, and lasting retention.</p>
</div>
<div class="feat-grid">
<div class="feat-item">
<span class="feat-icon">🔔</span>
<div class="feat-title">Followers That Send Live Notifications</div>
<div class="feat-desc">Our followers come from genuine Twitch accounts that register as real followers in Twitch's system — meaning they trigger the live notification mechanism. Every follower you gain is a real notification sent to a real account when you go live, providing baseline audience reminders for every stream you broadcast.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🔒</span>
<div class="feat-title">Zero Password or Account Access</div>
<div class="feat-desc">We only ever need your public Twitch channel username. No Twitch account credentials, no API tokens, no Twitch Affiliate dashboard access. Your account and channel security are completely intact — we never request anything beyond your public channel name.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🌱</span>
<div class="feat-title">Natural Follower Growth Pacing</div>
<div class="feat-desc">Followers are added gradually with natural timing that mirrors organic channel growth. Sudden large spikes in follower count look anomalous in your channel analytics; gradual growth over days looks like a channel genuinely gaining momentum — keeping your profile's growth story clean and credible.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🎮</span>
<div class="feat-title">Safe for Affiliate Applications</div>
<div class="feat-desc">Our delivery methodology is designed to be safe for channels actively pursuing or already holding Twitch Affiliate status. Gradual, natural-looking follower growth does not trigger the account review flags associated with sudden, large-scale bot activity that Twitch actively monitors for.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🔄</span>
<div class="feat-title">30-Day Refill Guarantee</div>
<div class="feat-desc">If any followers drop within 30 days of delivery, we replace them at zero cost. Twitch periodically removes inactive or low-quality accounts in platform cleanups; our guarantee ensures your follower count stays where you need it regardless of platform-level activity.</div>
</div>
<div class="feat-item">
<span class="feat-icon">⚡</span>
<div class="feat-title">Delivery Starts in 20 Minutes</div>
<div class="feat-desc">Most orders begin within 10–20 minutes of payment. Watch your follower count growing on your Twitch channel page. Larger orders are spread over 3–7 days for natural-looking growth that keeps your channel analytics looking organic to Twitch's systems.</div>
</div>
</div>
</section>
<!-- ══ HOW IT WORKS ══ -->
<section aria-labelledby="how-heading" class="section">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">The process</div>
<h2 class="section-title" id="how-heading">How to Buy Twitch Followers in 4 Simple Steps</h2>
</div>
<div class="how-timeline" role="list">
<div class="how-step active" role="listitem">
<div class="how-num">1</div>
<h3>Choose Your Package</h3>
<p>Select the number of followers you need. Our 1,000-follower package is the most popular — enough to establish clear directory credibility, satisfy Affiliate and build toward Partner, and qualify for entry-level brand sponsorship conversations.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">2</div>
<h3>Enter Your Channel Name</h3>
<p>Type your Twitch channel username (without twitch.tv/). Your channel must be public. No password, Twitch account credentials, or dashboard access required at any point.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">3</div>
<h3>Complete Secure Checkout</h3>
<p>Pay via PayPal, credit card, or cryptocurrency through our SSL-encrypted checkout. All transactions are PCI-compliant and card details are never stored on our servers.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">4</div>
<h3>Followers Arrive Naturally</h3>
<p>Delivery begins within 20 minutes and followers are added gradually over days. Watch your count grow. Every follower sends live notifications when you stream. Covered by our 30-day refill guarantee.</p>
</div>
</div>
</section>
<!-- ══ USE CASES ══ -->
<section aria-labelledby="usecases-heading" class="section" style="padding-top: 0;">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Who benefits</div>
<h2 class="section-title" id="usecases-heading">Who Buys Twitch Followers in 2026</h2>
<p class="section-sub">From new streamers chasing Affiliate to established channels seeking sponsor credibility — here's who relies on Twitch follower growth.</p>
</div>
<div class="usecases-grid">
<div class="usecase-card">
<span class="uc-icon">🎮</span>
<h3>New Streamers Chasing Affiliate</h3>
<p>Streamers just starting out who need to hit the 50-follower Affiliate requirement quickly — using follower purchases to satisfy this criterion immediately and redirect their energy to the harder concurrent-viewer threshold that actually reflects streaming quality.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">📈</span>
<h3>Growing Streamers Seeking Sponsors</h3>
<p>Established streamers with good content but modest follower counts — buying followers to reach the 1K, 5K, and 10K thresholds where gaming brand sponsorship enquiries begin arriving and negotiation leverage improves substantially.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🏆</span>
<h3>Partner Programme Applicants</h3>
<p>Affiliate streamers building toward Partner status — using follower growth to strengthen their channel's overall profile and community-building evidence before submitting their Partner application to Twitch's review team.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🎯</span>
<h3>Esports Teams &amp; Organisations</h3>
<p>Esports organisations launching new player streams and team channels — using follower purchases to establish baseline channel credibility before launch events, ensuring new channels look established rather than empty when players go live for the first time publicly.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">📺</span>
<h3>Variety &amp; IRL Streamers</h3>
<p>Non-gaming streamers in cooking, music, art, travel, and talk categories — using followers to establish channel authority in less crowded but increasingly competitive Twitch directories where follower count carries outsized weight in viewer decision-making.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🏢</span>
<h3>Brands &amp; Event Channels</h3>
<p>Companies and events launching dedicated Twitch channels for product streams, tournaments, or live events — buying followers to ensure the channel looks established before the broadcast, improving viewer confidence and organic tune-in rates on launch day.</p>
</div>
</div>
</section>
<!-- ══ PRICING TABLE ══ -->
<section aria-labelledby="pricing-heading" class="section" style="padding-top: 0;">
<div class="section-header">
<div aria-hidden="true" class="section-label">Full pricing</div>
<h2 class="section-title" id="pricing-heading">Twitch Followers — Complete Pricing Table</h2>
<p class="section-sub">All packages include real account followers, natural gradual delivery, live notification capability, and a 30-day refill guarantee.</p>
</div>
<div style="overflow-x:auto;">
<table aria-label="Twitch followers pricing" class="pricing-table">
<thead>
<tr>
<th scope="col">Package</th>
<th scope="col">Price</th>
<th scope="col">Regular Price</th>
<th scope="col">You Save</th>
<th scope="col">Delivery Time</th>
<th scope="col">Best For</th>
<th scope="col">Order</th>
</tr>
</thead>
<tbody id="pricingTableBody"></tbody>
</table>
</div>
</section>
</div>
<!-- ══ REVIEWS ══ -->
<section aria-labelledby="reviews-heading" class="reviews-section">
<div class="page-body">
<div class="section">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Customer reviews</div>
<h2 class="section-title" id="reviews-heading">What Our Customers Say About Our Twitch Followers Service</h2>
<p class="section-sub">3,512 verified reviews from streamers, esports teams, and agencies who've used DiscordBooster to grow their Twitch channels.</p>
</div>
<div class="reviews-grid">
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">New Streamer / Affiliate</span></div>
<p class="review-text">I started streaming three months ago and was stuck at 31 followers after grinding for weeks. Bought 100 followers and hit Affiliate within the same week — I'd already met the stream time, days, and viewer requirements but was just waiting on followers. The delivery was gradual and looked completely organic on my dashboard. Now I have subs and channel points and I'm actually earning from my streams. This one purchase changed everything.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background:#9146ff;">KN</div>
<div>
<div class="review-name">Kyle N.</div>
<div class="review-sub">FPS Streamer — Twitch Affiliate</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Growing Streamer / Sponsorship</span></div>
<p class="review-text">I had great content and solid concurrent viewers but only 380 followers — not enough to interest sponsors. Bought 2,000 followers over two weeks. The gradual delivery looked exactly like organic growth in my analytics. Within a month of hitting 2,500 followers, I had my first gaming chair sponsorship enquiry and now have two ongoing brand deals. The follower count was genuinely the credibility gap between "promising streamer" and "sponsorable creator."</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background:#6b46c1;">RJ</div>
<div>
<div class="review-name">Rachel J.</div>
<div class="review-sub">Variety Streamer — 3.2K followers</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Esports Organisation</span></div>
<p class="review-text">We launched streams for three players on our roster and needed each channel to look established at launch rather than starting from zero. Bought 500 followers for each channel before their first public stream. Viewership was significantly higher than our previous launches because the channels looked credible from day one — viewers are much more likely to click into a channel that already has hundreds of followers. Will use for every new player we sign.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background:#1a7a4a;">TW</div>
<div>
<div class="review-name">Tom W.</div>
<div class="review-sub">Content Director, Esports Organisation</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<div class="page-body">
<!-- ══ FAQ ══ -->
<section aria-labelledby="faq-heading" class="section">
<div class="section-header">
<div aria-hidden="true" class="section-label">Common questions</div>
<h2 class="section-title" id="faq-heading">Frequently Asked Questions About Buying Twitch Followers</h2>
</div>
<div class="faq-grid" role="list">
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Is it safe to buy Twitch followers? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. DiscordBooster only requires your public Twitch channel username — never your password or account credentials. Followers are added gradually with natural pacing that avoids triggering Twitch's bot detection systems. We've served 120,000+ customers since 2019 with zero channel bans attributable to our Twitch followers service.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Will bought followers count toward Twitch Affiliate? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. Our followers register as genuine followers in Twitch's system — they count toward your follower total, which is one of the four Affiliate criteria (the 50-follower requirement). Our delivery is designed to look organic and gradual, which is the safest approach for channels actively pursuing Affiliate status.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Do I need to give you my Twitch password or account access? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Never. We only need your public Twitch channel username. No Twitch account credentials, OAuth access, API tokens, or Twitch Affiliate/Partner dashboard access are ever requested. If any service asks for your Twitch login to deliver followers, avoid them entirely — it is never required for legitimate follower delivery.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Do Twitch followers help with category directory visibility? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. Twitch's category browse pages rank live channels using a combination of current viewer count and follower count as an authority signal. A channel with more followers appears higher in category directories at equivalent viewer counts — directly improving organic discovery by viewers browsing games and categories for new channels to watch.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">How many followers do I need for brand sponsorships? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Sponsorship thresholds vary by brand and niche, but general industry benchmarks are: 500–1,000 followers (micro-creator consideration for small brands), 1,000–5,000 followers (micro-influencer campaigns from gaming accessory brands), 5,000–10,000 followers (mid-tier gaming brand deals), 10,000+ followers (major brand partnership conversations). Concurrent viewer count also matters — a channel with 1,000 followers and 50 concurrent viewers is more valuable than one with 5,000 followers and 5 concurrent viewers.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">How fast will my Twitch followers be delivered? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Most orders begin delivery within 10–20 minutes of payment. Smaller packages (under 500) typically complete within 24 hours. Larger packages are spread over 3–7 days to maintain a natural-looking follower growth curve in your channel analytics. You can watch your follower count growing on your Twitch channel page in real time.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Will the Twitch followers drop after delivery? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Our followers come from quality accounts built to persist through Twitch's periodic account quality reviews. Our 30-day refill guarantee covers any drops — if your follower count falls within a month of delivery, we replace the shortfall at no cost. Contact our support team with your order reference.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">What payment methods are accepted? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">We accept PayPal, Visa, Mastercard, American Express, and major cryptocurrencies including Bitcoin and Ethereum. All payments are processed through 256-bit SSL-encrypted, PCI-compliant gateways. Card details are never stored on our servers.</div>
</div>
</div>
</section>
<!-- ══ LONG FORM SEO ══ -->
<section aria-labelledby="guide-heading" class="section">
<div class="long-form">
<h2 id="guide-heading">The Complete Guide to Buying Twitch Followers in 2026</h2>
<p>Twitch is the world's dominant live streaming platform with over 140 million registered users and 7 million active streamers competing for viewer attention across thousands of game categories and content genres. For new and growing streamers, the platform presents a fundamental cold-start problem: Twitch's discovery system surfaces channels with more followers and viewers to potential new viewers — but building followers and viewers organically requires first being discovered by new viewers. <strong>Buying Twitch followers is the most direct way to break this circular dependency and begin building genuine streaming momentum.</strong></p>
<p>This guide explains how Twitch's discovery algorithm uses follower count, what the key milestone thresholds unlock, and how to build a sustainable streaming career strategy on a follower foundation.</p>
<h3>How Twitch's Directory Algorithm Uses Follower Count</h3>
<p>When a Twitch viewer browses a game or category directory page to find new channels to watch, Twitch's algorithm sorts live channels by a combination of current concurrent viewer count and follower authority. The follower authority component means that two channels with identical concurrent viewer counts will be ranked differently based on their follower totals — the channel with more followers appears higher in the directory, capturing significantly more organic browser traffic.</p>
<p>This follower-based authority weighting is most impactful in the 0–500 viewer range, where the majority of streamers compete. A channel with 2,000 followers and 15 concurrent viewers will consistently appear above a channel with 80 followers and 15 concurrent viewers in the same category — giving the follower-rich channel dramatically better organic discovery rates from directory browsing, which is the primary way new viewers find new channels on Twitch.</p>
<div class="info-box">
<p><strong>Key insight about the Affiliate cold-start problem:</strong> Twitch Affiliate requires 50 followers, 500 minutes streamed, 7 unique broadcast days, and an average of 3 concurrent viewers — all within a 30-day period. For most dedicated new streamers, the concurrent viewer requirement is the hardest to meet organically. But the follower requirement, while numerically small, is often the last item checked — because organic follower growth on a zero-follower channel is genuinely slow. Buying 100 followers to satisfy this criterion frees you to concentrate entirely on the harder viewer count threshold, dramatically accelerating your path to Affiliate.</p>
</div>
<h3>Twitch Sponsorships: How Follower Count Gates Commercial Opportunities</h3>
<p>The gaming and streaming sponsorship ecosystem has informal follower thresholds that determine which creators brands consider for campaigns. At 500–1,000 followers, a streamer enters the consideration pool for small gaming accessory brands. At 1,000–5,000 followers, gaming peripheral brands (keyboards, headsets, chairs) begin approaching streamers for micro-influencer campaigns. At 5,000–10,000 followers, mid-tier brand deals with meaningful compensation become accessible. Above 10,000 followers, major brand partnership conversations with significant sponsorship budgets are viable.</p>
<p>The concurrent viewer-to-follower ratio also matters to sophisticated sponsors — a channel with 2,000 followers and 200 concurrent viewers (10% conversion) is worth significantly more than a channel with 10,000 followers and 50 concurrent viewers (0.5% conversion). The most credible sponsorship profile combines a respectable follower count with strong concurrent viewer engagement, which is why follower purchases work best as a credibility foundation supported by genuine streaming quality and consistency.</p>
<ul>
<li>Order followers before going live for the first time — a higher starting count improves first-impression conversion</li>
<li>Gradual delivery over 3–7 days always looks more organic than instant bulk delivery in your channel analytics</li>
<li>100 followers satisfies the Twitch Affiliate follower requirement immediately</li>
<li>1,000 followers is the recommended starting target for meaningful sponsorship profile credibility</li>
<li>Never share your Twitch password or account credentials with any service — it is never required</li>
<li>A 30-day refill guarantee is essential since Twitch periodically removes inactive accounts</li>
<li>Combine follower purchases with consistent streaming quality — followers amplify good content, not substitute for it</li>
</ul>
</div>
</section>
<!-- ══ CTA ══ -->
<section aria-labelledby="cta-heading" class="section" style="padding-top: 0;">
<div class="cta-banner">
<div>
<h2 id="cta-heading">Ready to Build a Twitch Channel That Gets Noticed?</h2>
<p>Join 120,000+ streamers and creators who trust DiscordBooster to grow their Twitch presence. Followers begin arriving within 20 minutes.</p>
</div>
<a class="cta-white-btn" href="#order" onclick="document.getElementById('order').scrollIntoView({behavior:'smooth'}); return false;">
        Get Twitch Followers →
      </a>
</div>
</section>
</div>
<!-- ══ FOOTER ══ -->

<script>
  const packages = [
    { count: 100,   label: "100",    price: 4.00,   original: 4.00,   discount: 0,  delivery: "< 24 hrs",  bestFor: "Twitch Affiliate threshold",   wooid: "twf100"  },
    { count: 250,   label: "250",    price: 8.00,   original: 10.00,  discount: 20, delivery: "1–2 days",  bestFor: "Initial channel credibility",  wooid: "twf250"  },
    { count: 500,   label: "500",    price: 14.00,  original: 18.00,  discount: 22, delivery: "2–3 days",  bestFor: "Directory visibility boost",    wooid: "twf500"  },
    { count: 1000,  label: "1,000",  price: 24.00,  original: 35.00,  discount: 31, delivery: "3–5 days",  bestFor: "Sponsor credibility threshold", wooid: "twf1k"   },
    { count: 2500,  label: "2,500",  price: 52.00,  original: 80.00,  discount: 35, delivery: "5–7 days",  bestFor: "Mid-tier brand sponsorships",  wooid: "twf2500" },
    { count: 5000,  label: "5,000",  price: 92.00,  original: 150.00, discount: 39, delivery: "7–10 days", bestFor: "Established channel authority", wooid: "twf5k"   },
    { count: 10000, label: "10,000", price: 165.00, original: 280.00, discount: 41, delivery: "10–14 days","bestFor": "Major brand partnership tier",  wooid: "twf10k"  },
    { count: 25000, label: "25,000", price: 370.00, original: 650.00, discount: 43, delivery: "14–21 days","bestFor": "Elite streamer status",         wooid: "twf25k"  }
  ];

  let selected = 0;

  function renderPkgGrid() {
    const grid = document.getElementById('pkgGrid');
    grid.innerHTML = packages.map((p, i) => `
      <div class="pkg-btn ${i === selected ? 'active' : ''}"
           onclick="selectPkg(${i})"
           role="radio" aria-checked="${i === selected}"
           tabindex="0"
           aria-label="${p.label} Twitch followers for $${p.price.toFixed(2)}">
        ${p.discount > 0 ? `<span class="pkg-tag">${p.discount}% OFF</span>` : ''}
        <span class="pkg-count">${p.label}</span>
        <span class="pkg-price">$${p.price.toFixed(2)}</span>
      </div>
    `).join('');
    updateSummary();
  }

  function updateSummary() {
    const p = packages[selected];
    document.getElementById('orderPrice').textContent = `$${p.price.toFixed(2)}`;
    const saving = p.original - p.price;
    document.getElementById('orderSaving').textContent = saving > 0
      ? `You save $${saving.toFixed(2)} (${p.discount}% off)`
      : 'Satisfies Twitch Affiliate follower requirement';
  }

  function selectPkg(idx) {
    selected = idx;
    document.querySelectorAll('.pkg-btn').forEach((b, i) => {
      b.classList.toggle('active', i === idx);
      b.setAttribute('aria-checked', i === idx ? 'true' : 'false');
    });
    updateSummary();
  }

  function renderTable() {
    const tbody = document.getElementById('pricingTableBody');
    tbody.innerHTML = packages.map((p, i) => {
      const saving = p.original - p.price;
      const isFeatured = p.count === 1000;
      return `
        <tr class="${isFeatured ? 'featured' : ''}">
          <td class="pkg-name">
            ${p.label} Followers
            ${isFeatured ? '<span class="table-badge">POPULAR</span>' : ''}
          </td>
          <td><strong>$${p.price.toFixed(2)}</strong></td>
          <td class="pkg-original">$${p.original.toFixed(2)}</td>
          <td class="pkg-save">${saving > 0 ? `–$${saving.toFixed(2)} (${p.discount}%)` : '—'}</td>
          <td>${p.delivery}</td>
          <td style="font-size:0.85rem;color:var(--muted)">${p.bestFor}</td>
          <td><button class="table-order-btn" onclick="jumpToOrder(${i})" aria-label="Order ${p.label} Twitch followers">Order →</button></td>
        </tr>
      `;
    }).join('');
  }

  function jumpToOrder(idx) {
    selected = idx;
    renderPkgGrid();
    document.getElementById('order').scrollIntoView({ behavior: 'smooth' });
  }

  document.getElementById('orderBtn').addEventListener('click', () => {
    const username = document.getElementById('twitchUsername').value.trim().replace(/^(https?:\/\/)?(www\.)?twitch\.tv\//i, '');
    if (!username) {
      document.getElementById('twitchUsername').focus();
      document.getElementById('twitchUsername').style.borderColor = 'var(--accent)';
      return;
    }
    const p = packages[selected];
    const url = `https://order.discordbooster.com/checkout/?add-to-cart=${p.wooid}&username=${encodeURIComponent(username)}&platform=twitch&product=followers`;
    window.location.href = url;
  });

  document.getElementById('twitchUsername').addEventListener('input', function() {
    this.style.borderColor = 'var(--border)';
  });

  function toggleFaq(el) {
    const item = el.parentElement;
    const isOpen = item.classList.contains('open');
    item.classList.toggle('open');
    el.setAttribute('aria-expanded', !isOpen);
  }

  document.addEventListener('keydown', e => {
    if ((e.key === 'Enter' || e.key === ' ') && e.target.classList.contains('pkg-btn')) {
      e.preventDefault();
      selectPkg([...document.querySelectorAll('.pkg-btn')].indexOf(e.target));
    }
    if ((e.key === 'Enter' || e.key === ' ') && e.target.classList.contains('faq-q')) {
      e.preventDefault();
      toggleFaq(e.target);
    }
  });

  renderPkgGrid();
  renderTable();
</script>

<?php include 'footer.php'; ?>
