        <?php
        /* ═══════════════════════════════════════════════════════
           PAGE META  —  edit these values for each page
        ═══════════════════════════════════════════════════════ */
        $page_title       = "Buy TikTok Followers — Real, Instant & Safe | DiscordBooster (2026)";
        $meta_description = "Buy real TikTok followers from the most trusted growth service since 2019. Unlock TikTok LIVE, bio link, Creator Fund, and TikTok Shop. Instant delivery, 30-day refill guarantee. Starts at \$4.";
        $meta_keywords    = "buy tiktok followers, real tiktok followers, buy tiktok followers instant, cheap tiktok followers, tiktok followers service 2026, increase tiktok followers, grow tiktok account, tiktok live followers, tiktok creator fund followers, buy active tiktok followers, tiktok follower service, tiktok growth 2026";
        $canonical_url    = "https://discordbooster.com/buy-tiktok-followers";
        $og_title         = "Buy TikTok Followers — Real, Instant & Safe | DiscordBooster";
        $og_description   = "Real TikTok followers from \$4. Unlock LIVE, bio link, Creator Fund and TikTok Shop. Instant delivery, 30-day refill. No password needed. 120,000+ happy customers.";
        $og_image         = "https://discordbooster.com/og-tiktok-followers.jpg";
        $active_platform  = "tiktok";

        $schema_json = <<<'JSON'
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://discordbooster.com/buy-tiktok-followers#webpage",
      "url": "https://discordbooster.com/buy-tiktok-followers",
      "name": "Buy TikTok Followers — Real, Instant & Safe | DiscordBooster (2026)",
      "description": "Real TikTok followers from genuine accounts. Instant delivery with 30-day refill guarantee. No password required. Unlocks TikTok LIVE, bio link, Creator Fund eligibility, and TikTok Shop. Seeds FYP early engagement for every future video.",
      "inLanguage": "en-US",
      "dateModified": "2026-06-01",
      "breadcrumb": {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://discordbooster.com"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "TikTok",
            "item": "https://discordbooster.com/tiktok"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Buy TikTok Followers",
            "item": "https://discordbooster.com/buy-tiktok-followers"
          }
        ]
      }
    },
    {
      "@type": "Organization",
      "@id": "https://discordbooster.com#org",
      "name": "DiscordBooster",
      "url": "https://discordbooster.com",
      "foundingDate": "2019"
    },
    {
      "@type": "Product",
      "name": "TikTok Followers",
      "description": "Real TikTok followers from genuine accounts. Instant delivery with 30-day refill guarantee. Safe, no password required. Unlocks TikTok LIVE, bio link, Creator Fund, and TikTok Shop. Seeds early FYP engagement for stronger algorithmic distribution on every future video.",
      "brand": {
        "@type": "Brand",
        "name": "DiscordBooster"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "reviewCount": "5112",
        "bestRating": "5",
        "worstRating": "1"
      },
      "offers": [
        {
          "@type": "Offer",
          "name": "100 TikTok Followers",
          "price": "4.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "250 TikTok Followers",
          "price": "8.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "500 TikTok Followers",
          "price": "14.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "1,000 TikTok Followers",
          "price": "22.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "2,500 TikTok Followers",
          "price": "48.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "5,000 TikTok Followers",
          "price": "85.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "10,000 TikTok Followers",
          "price": "150.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "25,000 TikTok Followers",
          "price": "340.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Is it safe to buy TikTok followers?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. DiscordBooster only requires your public TikTok username — never your password or account credentials. Followers are added gradually to mimic organic growth. We've served 120,000+ customers since 2019 with zero account restrictions from our TikTok followers service."
          }
        },
        {
          "@type": "Question",
          "name": "How many TikTok followers do I need to go LIVE?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "TikTok requires 1,000 followers to unlock the LIVE feature. Our 1,000-follower package directly satisfies this threshold. You also need to be at least 16 years old to go LIVE and 18 to receive LIVE gifts."
          }
        },
        {
          "@type": "Question",
          "name": "How many TikTok followers do I need for the Creator Fund?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "TikTok's Creator Fund requires 10,000 followers plus 100,000 video views in the past 30 days. Our 10,000-follower package satisfies the follower requirement. You'll also need our TikTok views service to satisfy the view count threshold simultaneously."
          }
        },
        {
          "@type": "Question",
          "name": "Do TikTok followers help with FYP distribution?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. TikTok shows every new video to a test audience first — and your followers are part of that initial test group. A larger follower base generates more early organic likes and views on new videos, which improves the video's quality score before the algorithm makes its wider distribution decision. More followers = stronger initial test audience = better FYP performance."
          }
        },
        {
          "@type": "Question",
          "name": "How fast will I get my TikTok 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 in TikTok's analytics."
          }
        },
        {
          "@type": "Question",
          "name": "Do I need to give you my TikTok password?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Never. We only need your public TikTok username. Your password and account credentials are never requested or stored at any point in the order or delivery process."
          }
        },
        {
          "@type": "Question",
          "name": "Will the TikTok followers drop after delivery?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Our followers come from quality accounts built to persist through TikTok'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 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": "TikTok Followers Packages",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "100 TikTok Followers — $4.00"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "250 TikTok Followers — $8.00"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "500 TikTok Followers — $14.00"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "1,000 TikTok Followers — $22.00"
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "2,500 TikTok Followers — $48.00"
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "5,000 TikTok Followers — $85.00"
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "10,000 TikTok Followers — $150.00"
        },
        {
          "@type": "ListItem",
          "position": 8,
          "name": "25,000 TikTok Followers — $340.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;
      /* TikTok dual-colour */
      --cyan: #69c9d0;
      --cyan-soft: #edfbfc;
      --cyan-border: #b8ecf0;
      --cyan-dark: #0a8a95;
      --pink: #ee1d52;
      --pink-soft: #fff0f3;
      --pink-border: #f7a8b8;
      --pink-dark: #c01040;
      --gold: #c9920a;
      --gold-soft: #fdf6e3;
      --green: #1a7a4a;
      --green-soft: #eaf6ef;
      --tiktok-black: #010101;
      --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(--pink); 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(--pink); }
    .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); display: block; }
    .dropdown-content a:hover { background: var(--cyan-soft); color: var(--cyan-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(--cyan-dark); }
    .breadcrumb .sep { opacity: 0.4; }

    /* ── HERO — TikTok pure black ── */
    .hero-wrapper { background: var(--tiktok-black); padding: 1px 0 0; }
    .hero { padding: 56px 5% 60px; display: grid; grid-template-columns: 1fr 440px; gap: 4rem; align-items: start; max-width: 1240px; margin: 0 auto; position: relative; }
    .hero::before { content: ''; position: absolute; inset: 0;
      background: radial-gradient(ellipse 50% 70% at 20% 100%, rgba(238,29,82,0.14) 0%, transparent 60%),
                  radial-gradient(ellipse 50% 70% at 80% 100%, rgba(105,201,208,0.14) 0%, transparent 60%);
      pointer-events: none; }
    .hero-left { padding-top: 1rem; position: relative; z-index: 1; }
    .hero-eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); color: rgba(255,255,255,0.7); 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; color: #fff; }
    .hero h1 .pink { color: var(--pink); font-style: italic; }
    .hero h1 .cyan { color: var(--cyan); font-style: italic; }
    .hero-desc { font-size: 1.1rem; color: rgba(255,255,255,0.55); 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: rgba(255,255,255,0.5); }
    .hero-proof .rating-text strong { color: #fff; }
    .hero-proof .divider { width: 1px; height: 28px; background: rgba(255,255,255,0.2); }
    .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: rgba(105,201,208,0.15); color: var(--cyan); border: 1px solid rgba(105,201,208,0.3); border-radius: 100px; padding: 0.28rem 0.85rem; font-size: 0.78rem; font-weight: 600; }
    .pill::before { content: '✓'; font-weight: 800; }

    /* ── ORDER CARD — TikTok styled ── */
    .order-card { background: #1a1a1a; border: 1px solid rgba(255,255,255,0.12); border-radius: 20px; padding: 2rem; box-shadow: 0 12px 40px rgba(0,0,0,0.4); position: sticky; top: 82px; animation: fadeIn 0.5s 0.1s ease both; position: relative; z-index: 1; }
    .order-card-title { font-family: 'Sora', sans-serif; font-size: 1.2rem; font-weight: 800; margin-bottom: 0.4rem; color: #fff; }
    .order-card-sub { font-size: 0.82rem; color: rgba(255,255,255,0.45); margin-bottom: 1.2rem; }
    .pkg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-bottom: 1.4rem; }
    .pkg-btn { background: rgba(255,255,255,0.06); border: 1.5px solid rgba(255,255,255,0.12); 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(--cyan); background: rgba(105,201,208,0.1); }
    .pkg-btn.active { border-color: var(--cyan); background: rgba(105,201,208,0.15); }
    .pkg-btn .pkg-count { font-weight: 700; font-size: 0.88rem; color: #fff; display: block; }
    .pkg-btn .pkg-price { font-size: 0.8rem; color: rgba(255,255,255,0.45); }
    .pkg-btn .pkg-tag { position: absolute; top: -9px; right: 6px; background: var(--pink); color: #fff; font-size: 0.6rem; font-weight: 800; padding: 0.1rem 0.35rem; border-radius: 3px; letter-spacing: 0.5px; }
    .order-summary { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); 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: #fff; line-height: 1; }
    .order-saving { font-size: 0.82rem; color: var(--cyan); font-weight: 600; margin-top: 0.25rem; }
    .order-input-label { font-size: 0.75rem; font-weight: 700; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.4rem; display: block; }
    .order-input { width: 100%; border: 1.5px solid rgba(255,255,255,0.15); border-radius: 8px; padding: 0.85rem 1rem; font-family: 'Outfit', sans-serif; font-size: 0.97rem; background: rgba(255,255,255,0.06); color: #fff; transition: border-color 0.15s; margin-bottom: 0.6rem; }
    .order-input:focus { outline: none; border-color: var(--cyan); }
    .order-input::placeholder { color: rgba(255,255,255,0.3); }
    .order-hint { font-size: 0.74rem; color: rgba(255,255,255,0.35); margin-bottom: 1rem; display: block; line-height: 1.5; }
    .order-btn-cyan { width: 100%; background: var(--cyan); color: var(--ink); 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-cyan:hover { background: #4ab8bf; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(105,201,208,0.35); }
    .order-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 0.9rem; margin-top: 0.9rem; }
    .order-meta span { font-size: 0.74rem; color: rgba(255,255,255,0.35); display: flex; align-items: center; gap: 0.25rem; }
    .order-meta span::before { content: '🔒'; font-size: 0.7rem; }

    /* ── METRICS BAR ── */
    .metrics { background: var(--tiktok-black); color: #fff; padding: 1.4rem 5%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 4rem; border-top: 1px solid rgba(255,255,255,0.07); }
    .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-value.c { color: var(--cyan); }
    .metric-label { font-size: 0.8rem; color: rgba(255,255,255,0.4); margin-top: 0.2rem; }

    /* ── PAGE BODY ── */
    .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(--cyan-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(--cyan-soft); border-color: var(--cyan-border); color: var(--cyan-dark); }
    .rel-link.active { background: var(--tiktok-black); border-color: var(--tiktok-black); color: var(--cyan); }

    /* ── MILESTONE UNLOCK CARDS ── */
    .milestones-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
    .milestone-card { background: var(--tiktok-black); border-radius: 18px; padding: 1.8rem 1.5rem; text-align: center; position: relative; overflow: hidden; transition: all 0.18s; }
    .milestone-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; border-radius: 18px 18px 0 0; }
    .milestone-card.live::before { background: linear-gradient(90deg, var(--pink), #f87294); }
    .milestone-card.link::before { background: linear-gradient(90deg, var(--cyan), #4ab8bf); }
    .milestone-card.fund::before { background: linear-gradient(90deg, var(--cyan), var(--pink)); }
    .milestone-card.shop::before { background: linear-gradient(90deg, var(--pink), #f5a623); }
    .milestone-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,0.3); }
    .milestone-icon { font-size: 1.8rem; margin-bottom: 0.7rem; display: block; }
    .milestone-val { font-family: 'Sora', sans-serif; font-size: 1.8rem; font-weight: 800; line-height: 1; margin-bottom: 0.3rem; }
    .milestone-val.cyan { color: var(--cyan); }
    .milestone-val.pink { color: var(--pink); }
    .milestone-label { font-size: 0.88rem; font-weight: 700; color: #fff; margin-bottom: 0.4rem; }
    .milestone-desc { font-size: 0.82rem; color: rgba(255,255,255,0.48); line-height: 1.55; }
    .milestone-badge { display: inline-block; margin-top: 0.7rem; font-size: 0.68rem; font-weight: 700; padding: 0.12rem 0.5rem; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.5px; }
    .badge-cyan { background: rgba(105,201,208,0.15); color: var(--cyan); border: 1px solid rgba(105,201,208,0.3); }
    .badge-pink { background: rgba(238,29,82,0.15); color: #f87294; border: 1px solid rgba(238,29,82,0.3); }

    /* ── ALGO SECTION ── */
    .algo-section { background: var(--tiktok-black); padding: 80px 5%; position: relative; overflow: hidden; }
    .algo-section::before { content: ''; position: absolute; top: -100px; left: -100px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(238,29,82,0.1), transparent 70%); pointer-events: none; }
    .algo-section::after { content: ''; position: absolute; bottom: -80px; right: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(105,201,208,0.1), transparent 70%); pointer-events: none; }
    .algo-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; position: relative; z-index: 1; }
    .algo-inner .section-label { color: var(--cyan); }
    .algo-inner .section-title { color: #fff; }
    .algo-inner p { color: rgba(255,255,255,0.52); 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.08); }
    .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.48); 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.55); 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-cyan { height: 100%; border-radius: 100px; background: linear-gradient(90deg, var(--cyan), #45a8af); }
    .algo-meter-fill-pink { height: 100%; border-radius: 100px; background: linear-gradient(90deg, var(--pink), var(--pink-dark)); }
    .algo-meter-fill-mixed { height: 100%; border-radius: 100px; background: linear-gradient(90deg, var(--cyan), var(--pink)); }
    .algo-meter-val { font-size: 0.8rem; color: var(--cyan); 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(--cyan-soft); border-left: 4px solid var(--cyan); 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; }

    /* ── 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(--cyan); 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(--tiktok-black); color: var(--cyan); border-color: var(--cyan); }
    .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(--tiktok-black); }
    .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.6); }
    .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(--cyan-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(--pink); 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(--tiktok-black); color: var(--cyan); border: 1px solid var(--cyan); 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(--cyan); color: var(--ink); }

    /* ── 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(--cyan-soft); color: var(--cyan-dark); border: 1px solid var(--cyan-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(--cyan-soft); }
    .faq-icon { font-size: 1.3rem; color: var(--cyan-dark); 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(--cyan-soft); border: 1px solid var(--cyan-border); border-radius: 10px; padding: 1.2rem 1.5rem; margin: 2rem 0; font-size: 0.97rem; color: var(--ink-2); }

    /* ── CTA — TikTok dual button ── */
    .cta-banner { background: var(--tiktok-black); border-radius: 20px; padding: 3rem; text-align: center; position: relative; overflow: hidden; }
    .cta-banner::before { content: ''; position: absolute; inset: 0;
      background: radial-gradient(ellipse 50% 80% at 30% 110%, rgba(238,29,82,0.18), transparent 60%),
                  radial-gradient(ellipse 50% 80% at 70% 110%, rgba(105,201,208,0.18), transparent 60%);
      pointer-events: none; }
    .cta-banner h2 { color: #fff; font-size: clamp(1.5rem, 2.5vw, 2rem); margin-bottom: 0.5rem; position: relative; z-index: 1; }
    .cta-banner p { color: rgba(255,255,255,0.5); font-size: 1rem; margin-bottom: 2rem; position: relative; z-index: 1; }
    .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; }
    .cta-btn-cyan { background: var(--cyan); color: var(--ink); padding: 1rem 2.2rem; border-radius: 10px; font-weight: 700; font-size: 1rem; transition: all 0.18s; display: inline-block; }
    .cta-btn-cyan:hover { background: #4ab8bf; transform: translateY(-1px); box-shadow: 0 8px 24px rgba(105,201,208,0.35); }
    .cta-btn-ghost { background: rgba(255,255,255,0.08); color: #fff; border: 1px solid rgba(255,255,255,0.2); padding: 1rem 2.2rem; border-radius: 10px; font-weight: 600; font-size: 1rem; transition: all 0.18s; display: inline-block; }
    .cta-btn-ghost:hover { background: rgba(255,255,255,0.14); }

    /* ── 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(--pink); 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: var(--cyan); }
    .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; }
      .algo-inner { grid-template-columns: 1fr; gap: 2.5rem; }
      .why-grid { 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; }
      .milestones-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 768px) {
      .feat-grid { grid-template-columns: 1fr; }
      .reviews-grid { grid-template-columns: 1fr; }
      .faq-grid { grid-template-columns: 1fr; }
      .nav-links { display: none; }
    }
    @media (max-width: 480px) {
      .pkg-grid { grid-template-columns: 1fr 1fr; }
      .hero h1 { font-size: 2.5rem; }
      .why-stats { grid-template-columns: 1fr 1fr; }
      .milestones-grid { 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="tiktok-services">TikTok</a>
<span aria-hidden="true" class="sep">›</span>
<span aria-current="page">Buy TikTok Followers</span>
</nav>
<!-- ══ HERO ══ -->
<div class="hero-wrapper">
<section aria-labelledby="hero-h1" class="hero">
<div class="hero-left">
<div class="hero-eyebrow">🎵 #1 TikTok Followers Service — Real Accounts, FYP Safe, Instant Delivery</div>
<h1 id="hero-h1">Buy TikTok Followers<br/>&amp; Unlock <span class="pink">LIVE</span>, <span class="cyan">Creator Fund</span><br/>&amp; TikTok Shop</h1>
<p class="hero-desc">Real TikTok followers from genuine accounts, delivered safely and gradually. TikTok followers aren't just a vanity number — they unlock the platform features that make TikTok a viable income source: LIVE gifting, bio link traffic, Creator Fund payments, and TikTok Shop commissions. Every follower also seeds your future videos with early engagement — improving every FYP distribution decision TikTok ever makes about your content.</p>
<div class="hero-proof">
<span aria-hidden="true" class="stars-row">★★★★★</span>
<div class="rating-text"><strong>4.9 / 5</strong> from 5,112 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">Starts in 10–20 min</span>
<span class="pill" role="listitem">Real accounts</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 TikTok followers" class="order-card" id="order" role="region">
<div class="order-card-title">Grow Your TikTok Account</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="tiktokUsername">TikTok Username</label>
<input aria-required="true" autocomplete="off" class="order-input" id="tiktokUsername" placeholder="@yourusername" type="text"/>
<span class="order-hint">Enter your TikTok username (with or without @). Your profile must be set to public. No password or account access required — ever.</span>
<button class="order-btn-cyan" id="orderBtn">Get TikTok 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 BAR ══ -->
<div aria-label="Company statistics" class="metrics" role="list">
<div class="metric" role="listitem"><div class="metric-value">1.7B+</div><div class="metric-label">Monthly TikTok users</div></div>
<div class="metric" role="listitem"><div class="metric-value c">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 c">&lt;20 min</div><div class="metric-label">Delivery start</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="TikTok services" class="related-bar" role="navigation">
<span class="rel-label">TikTok Services</span>
<div class="rel-links">
<a class="rel-link active" href="buy-tiktok-followers">Followers</a>
<a class="rel-link" href="buy-tiktok-likes">Likes</a>
<a class="rel-link" href="buy-tiktok-views">Views</a>
</div>
</div>
</div>
<!-- ══ MILESTONE UNLOCKS ══ -->
<section aria-labelledby="milestones-heading" class="section">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">What followers unlock on TikTok</div>
<h2 class="section-title" id="milestones-heading">Every Follower Milestone. Every Feature It Unlocks.</h2>
<p class="section-sub">TikTok gates its most valuable features behind specific follower thresholds. Here's exactly what each milestone unlocks and how our packages get you there.</p>
</div>
<div class="milestones-grid">
<div class="milestone-card live">
<span class="milestone-icon">🔴</span>
<div class="milestone-val pink">1K</div>
<div class="milestone-label">TikTok LIVE + Gift Income</div>
<div class="milestone-desc">1,000 followers unlocks TikTok LIVE, where viewers send you virtual gifts that convert to real money. The fastest passive income stream on TikTok — available immediately once the threshold is crossed.</div>
<span class="milestone-badge badge-cyan">✓ Our 1K package</span>
</div>
<div class="milestone-card link">
<span class="milestone-icon">🔗</span>
<div class="milestone-val cyan">1K</div>
<div class="milestone-label">Clickable Bio Link</div>
<div class="milestone-desc">1,000 followers adds a clickable link to your TikTok bio — essential for driving traffic to your website, store, YouTube channel, or newsletter from your TikTok profile page.</div>
<span class="milestone-badge badge-cyan">✓ Our 1K package</span>
</div>
<div class="milestone-card fund">
<span class="milestone-icon">💰</span>
<div class="milestone-val pink">10K</div>
<div class="milestone-label">Creator Fund Eligibility</div>
<div class="milestone-desc">10,000 followers + 100,000 views in 30 days qualifies your account for TikTok's Creator Fund — direct per-view revenue paid monthly for qualifying content. Our 10K package satisfies the follower requirement.</div>
<span class="milestone-badge badge-pink">✓ Our 10K package</span>
</div>
<div class="milestone-card shop">
<span class="milestone-icon">🛍️</span>
<div class="milestone-val pink">10K</div>
<div class="milestone-label">TikTok Shop Access</div>
<div class="milestone-desc">10,000 followers opens TikTok Shop — in-video product link integration with commission income from every sale. The highest-value monetisation feature on TikTok for product creators and affiliates in 2026.</div>
<span class="milestone-badge badge-pink">★ Highest earning</span>
</div>
</div>
</section>
<!-- ══ WHY BUY ══ -->
<section aria-labelledby="why-heading" class="section" style="padding-top: 0;">
<div class="why-grid">
<div>
<div aria-hidden="true" class="section-label">The FYP follower advantage</div>
<h2 class="section-title" id="why-heading">Why TikTok Followers Still Matter on the Most Algorithm-Driven Platform on Earth</h2>
<div class="why-stats">
<div class="why-stat"><div class="val">Test</div><div class="lbl">TikTok shows every new video to a test audience first — your followers are the most important part of that initial group</div></div>
<div class="why-stat"><div class="val">Seed</div><div class="lbl">Followers who like and watch your videos in the first minutes provide the quality signal that triggers broader FYP distribution</div></div>
<div class="why-stat"><div class="val">Income</div><div class="lbl">1K followers unlocks LIVE gifting; 10K unlocks Creator Fund and TikTok Shop — the two most direct monetisation paths on TikTok</div></div>
<div class="why-stat"><div class="val">Traffic</div><div class="lbl">1K followers unlocks the bio link — converting every profile visit into clickable traffic to your website, store, or external content</div></div>
</div>
</div>
<div class="why-body">
<p>TikTok is unique among social platforms: unlike Instagram or Twitter, follower count has almost no direct bearing on whether a video reaches a large audience. A creator with 50 followers can go viral on TikTok; a creator with 5 million followers can post a video that reaches nobody. The FYP algorithm distributes content based on content quality signals — not follower count. So why do followers matter? <strong>Because followers are the test audience that generates those quality signals.</strong></p>
<p>Every time you post a video, TikTok shows it to a small initial audience first. The engagement from that audience — likes, watches, and completions — determines whether TikTok expands distribution to the broader FYP. Your followers are the primary source of that initial test audience. More followers means a larger, more engaged initial group that generates stronger early signals, which triggers wider FYP distribution from the very first minutes of every video you post.</p>
<div class="callout">
<strong>The follower-FYP compounding loop:</strong> more followers → stronger initial test audience → better early engagement signal → wider FYP distribution → more organic views → more organic followers. Each follower milestone raises the floor your next video starts from — making bought followers not a substitute for good content, but a multiplier for it. The same video, posted by the same creator, performs measurably better with 10,000 followers than with 1,000.
        </div>
<p>Beyond the FYP seeding advantage, followers unlock every TikTok monetisation feature: LIVE gifting at 1,000, bio link at 1,000, Creator Fund at 10,000, and TikTok Shop at 10,000. These aren't aspirational milestones — they're practical commercial thresholds with concrete income implications.</p>
</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 TikTok distributes content</div>
<h2 class="section-title" id="algo-heading">How Followers Improve Every Video's FYP Performance From the First Minute</h2>
<p>TikTok's For You Page algorithm works through a test-and-expand model. Every video starts with a small audience; engagement quality determines whether distribution expands. Your followers are the first audience shown. The stronger that first-wave engagement, the wider the distribution expands. Here's what the algorithm measures and how followers impact each signal.</p>
<div aria-label="TikTok FYP algorithm signal weights" class="algo-meter">
<div class="algo-meter-row">
<span class="algo-meter-label">Watch-through rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill-cyan" style="width:98%"></div></div>
<span class="algo-meter-val">98%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Like-to-view ratio</span>
<div class="algo-meter-track"><div class="algo-meter-fill-pink" style="width:94%"></div></div>
<span class="algo-meter-val">94%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Comment rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill-mixed" style="width:87%"></div></div>
<span class="algo-meter-val">87%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Share rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill-mixed" style="width:82%"></div></div>
<span class="algo-meter-val">82%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Follower authority</span>
<div class="algo-meter-track"><div class="algo-meter-fill-cyan" style="width:68%"></div></div>
<span class="algo-meter-val">68%</span>
</div>
</div>
</div>
<div>
<ul aria-label="How TikTok followers improve FYP performance" class="algo-signals">
<li>
<span aria-hidden="true" class="algo-signal-icon">🎯</span>
<div>
<div class="algo-signal-title">Initial test audience quality</div>
<div class="algo-signal-desc">TikTok's algorithm shows every new video to a fraction of your followers as the first test audience. Engaged, genuine followers who like your content — like those from our service — are more likely to watch through and interact, generating the high-quality initial signal that triggers FYP expansion. A larger, more engaged follower base consistently produces stronger first-wave performance across all your videos.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">📲</span>
<div>
<div class="algo-signal-title">Following feed guaranteed delivery</div>
<div class="algo-signal-desc">In addition to FYP distribution, TikTok shows your new videos to your followers in their Following feed — a guaranteed delivery channel that operates independently of the FYP algorithm. Every follower you gain today is a permanent member of your guaranteed audience for every future video you ever post, regardless of how the FYP performs on any given day.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🔴</span>
<div>
<div class="algo-signal-title">LIVE audience seeding</div>
<div class="algo-signal-desc">Once you cross the 1,000-follower threshold and go LIVE, your followers are notified and constitute the initial live audience. A larger follower base means more people in your LIVE from the start — which generates more gift income, more comments for engagement, and a more impressive viewer count that attracts additional organic viewers who see the LIVE in their recommendations.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">📈</span>
<div>
<div class="algo-signal-title">Profile authority and brand credibility</div>
<div class="algo-signal-desc">On TikTok, follower count is the primary credibility metric on every profile page. Brands evaluating TikTok creator partnerships check follower count as their first filter — before engagement rate, content quality, or niche fit. Crossing the 10,000-follower threshold opens the mid-tier creator commercial market, where paid brand partnerships, affiliate deals, and TikTok Shop collaborations become available.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🔗</span>
<div>
<div class="algo-signal-title">Bio link traffic generation</div>
<div class="algo-signal-desc">The 1,000-follower bio link unlock is underrated as a growth tool. Every profile visit from FYP video viewers — even those who don't follow — can now click through to your website, store, YouTube channel, or newsletter. High-performing TikTok creators consistently cite bio link traffic as a significant driver of off-platform revenue that compounds with every video that generates profile visits.</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 TikTok Followers Different</h2>
<p class="section-sub">Every TikTok followers package uses real accounts, natural delivery pacing, and complete account safety.</p>
</div>
<div class="feat-grid">
<div class="feat-item">
<span class="feat-icon">👤</span>
<div class="feat-title">Real Accounts with Profiles</div>
<div class="feat-desc">Our TikTok followers come from genuine accounts with profile photos, bios, and activity histories — not empty bot shells that TikTok's quality systems identify and remove within days. Real account followers persist through TikTok's periodic account quality audits and stay in your follower count long-term.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🔒</span>
<div class="feat-title">Zero Password Required</div>
<div class="feat-desc">We only ever need your public TikTok username. No TikTok password, no phone number, no account credentials of any kind. Your account security is completely intact throughout every order and delivery — a non-negotiable commitment we maintain without exception.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🌱</span>
<div class="feat-title">Natural Growth Pacing</div>
<div class="feat-desc">Followers are added gradually over days to mirror organic profile growth. A sudden large follower spike looks anomalous in TikTok's analytics and can trigger quality reviews. Gradual delivery looks like a profile naturally gaining momentum — keeping your account's growth history clean in TikTok's systems.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🎯</span>
<div class="feat-title">FYP Seed Quality</div>
<div class="feat-desc">Our followers are sourced specifically to provide meaningful FYP test audience quality — accounts that watch content and engage naturally. This means your purchased followers don't just sit as a number on your profile; they actively improve the initial quality signal on every future video you post, contributing to better FYP distribution outcomes over time.</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. TikTok periodically removes inactive and low-quality accounts; our guarantee ensures your follower count stays at the level you paid for regardless of platform-level cleanup activity. Contact support with your order reference to invoke.</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 grow on your TikTok profile. Larger orders are spread over 3–7 days for natural-looking growth that keeps your analytics looking organic to TikTok's monitoring systems and to brands reviewing your profile analytics.</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 TikTok 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 for your goal. The 1,000-follower package unlocks LIVE and bio link immediately. The 10,000-follower package unlocks Creator Fund and TikTok Shop — the highest-value threshold for monetisation.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">2</div>
<h3>Enter Your Username</h3>
<p>Enter your TikTok @username (with or without @). Your profile must be set to public. No password, TikTok credentials, or account access required at any point in the process.</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>Watch Your Account Grow</h3>
<p>Delivery begins within 20 minutes and followers arrive gradually. Watch your count grow and unlock TikTok features. Every order is covered by our 30-day refill guarantee from delivery completion.</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">TikTok Followers — Complete Pricing Table</h2>
<p class="section-sub">All packages include real account followers, natural gradual delivery, and a 30-day refill guarantee.</p>
</div>
<div style="overflow-x:auto;">
<table aria-label="TikTok 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">Feature Unlocked</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 TikTok Followers Service</h2>
<p class="section-sub">5,112 verified reviews from creators and brands who've used DiscordBooster to unlock TikTok's features and grow their audience.</p>
</div>
<div class="reviews-grid">
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Comedy Creator / LIVE Income</span></div>
<p class="review-text">I'd been stuck at 840 followers for two months despite posting every day. Bought 200 followers to push past 1,000, went LIVE that same day, and earned $47 in virtual gifts my first LIVE session. The bio link alone has driven hundreds of signups to my newsletter. The followers kept their count stable — I checked three months later and the number held. The investment paid itself back in my first LIVE. Genuinely changed my relationship with TikTok as an income platform.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background: linear-gradient(135deg, var(--pink), #f5a623);">MJ</div>
<div>
<div class="review-name">Marcus J.</div>
<div class="review-sub">Comedy Creator — 4.2K followers</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">E-commerce / TikTok Shop</span></div>
<p class="review-text">We launched a skincare brand on TikTok and needed to reach 10,000 followers to open TikTok Shop. We were at 4,200 after three months of organic posting. Bought 6,000 followers, crossed the threshold, opened TikTok Shop immediately, and in the first month of Shop being active we drove $3,400 in product sales directly from TikTok video links. The follower investment was the single best ROI decision we made in our TikTok strategy. TikTok Shop is a serious revenue channel when you can access it.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background: var(--cyan-dark);">ZP</div>
<div>
<div class="review-name">Zoe P.</div>
<div class="review-sub">Founder, Skincare Brand</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Fitness Creator / FYP Impact</span></div>
<p class="review-text">I was sceptical that followers would help FYP performance on TikTok since it's "algorithm first." But after growing from 1,200 to 12,000 followers using DiscordBooster, my average view count per video almost tripled. The first test audience TikTok gives you is your followers — and with 10x more followers, that initial audience generates 10x more early likes and watches, which triggers dramatically wider FYP distribution. The compounding effect is real and measurable in my TikTok analytics.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background: var(--pink-dark);">KL</div>
<div>
<div class="review-name">Kim L.</div>
<div class="review-sub">Fitness Creator — 12.8K followers</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 TikTok 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 TikTok followers? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. DiscordBooster only requires your public TikTok username — never your password, phone number, or account credentials. Followers are added gradually with natural pacing. We've served 120,000+ customers since 2019 with zero account restrictions from our TikTok followers service.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">How many TikTok followers do I need to go LIVE? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">TikTok requires 1,000 followers to unlock the LIVE feature, where viewers can send you virtual gifts that convert to real income. You also need to be at least 16 years old to go LIVE and 18 to receive gift income. The 1K bio link unlock happens at the same threshold — so our 1,000-follower package simultaneously unlocks both LIVE and the clickable bio link.</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 the TikTok Creator Fund? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">TikTok's Creator Fund requires 10,000 followers AND 100,000 video views in the past 30 days. Our 10,000-follower package satisfies the follower criterion. You'll need our TikTok views service to satisfy the view count criterion simultaneously. Both criteria must be met at the same time when you apply, so we recommend ordering both services together if Creator Fund access is your goal.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Do followers actually help with TikTok FYP performance? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. TikTok's algorithm shows every new video to a small test audience first — primarily your followers. That test audience's engagement (watches, likes, completions) determines whether TikTok expands distribution to the broader FYP. More followers means a larger, more engaged initial test audience, which consistently generates stronger first-wave engagement signals and triggers wider FYP distribution from the first minutes of every video you post.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Does my TikTok profile need to be public? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. Your TikTok profile must be set to public for followers to be delivered. If your account is currently private, go to Settings → Privacy → Private Account and switch it to public before placing your order. You can return to private after delivery completes if preferred — followers already delivered will remain unless they choose to unfollow.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">How many TikTok followers do I need for TikTok Shop? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">TikTok Shop requires 10,000 followers — the same threshold as the Creator Fund. Our 10,000-follower package satisfies this requirement. TikTok Shop allows you to add product links directly to your videos with commission income on every sale — it's the highest-value monetisation feature on TikTok for product creators, affiliates, and brand collaborators in 2026.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Will the TikTok 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 TikTok's periodic account quality audits. 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 number to invoke the guarantee.</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 TikTok Followers in 2026</h2>
<p>TikTok is the world's most algorithm-driven social platform — the app where a creator with zero followers can go viral on their first video while a creator with a million followers can post to near silence. This radical content-first meritocracy makes TikTok simultaneously the most exciting and the most misunderstood platform for creators building a following. <strong>Followers on TikTok serve a different purpose than on any other platform — and understanding that purpose explains exactly why buying TikTok followers is one of the most strategically sound investments a TikTok creator can make.</strong></p>
<h3>Why TikTok Followers Matter Differently Than on Other Platforms</h3>
<p>On Instagram or Twitter, follower count is the primary distribution variable — the more followers you have, the more people your posts reach through the Following feed. TikTok is fundamentally different: the FYP algorithm distributes content to non-followers based on engagement quality, making follower count secondary to content performance for reach. But followers still matter on TikTok — just for different reasons. They matter as test audience quality, as monetisation threshold gatekeepers, as guaranteed Following feed distribution, and as LIVE audience seeds.</p>
<div class="info-box">
<p><strong>The two different value systems of TikTok followers:</strong> Direct value — followers unlock platform features (LIVE at 1K, bio link at 1K, Creator Fund at 10K, TikTok Shop at 10K) that have concrete income implications. Indirect value — followers seed the initial test audience quality that determines how well each new video performs in TikTok's FYP algorithm, making bought followers a multiplier for organic content performance rather than a substitute for it.</p>
</div>
<h3>The Follower-FYP Synergy: Using Both Services Together</h3>
<p>For creators serious about TikTok growth, the optimal strategy combines followers with our TikTok likes service. Followers provide the initial test audience and unlock platform features; likes provide the FYP quality signal that triggers distribution from that test audience. Together they create the strongest possible starting conditions for each video — a large initial audience generating strong early engagement signals simultaneously. For Creator Fund eligibility, combine followers with our TikTok views service to satisfy both criteria concurrently.</p>
<ul>
<li>Profile must be public before ordering — private profiles cannot receive followers</li>
<li>1,000 followers unlocks TikTok LIVE (requires age 16+) and bio link</li>
<li>10,000 followers unlocks Creator Fund (also needs 100K views/30 days) and TikTok Shop</li>
<li>Gradual delivery over 3–7 days always looks more natural than instant bulk</li>
<li>Combine with TikTok likes for stronger FYP test audience engagement</li>
<li>Combine with TikTok views for Creator Fund complete eligibility</li>
<li>Never share your TikTok password with any service — it is never required</li>
<li>A 30-day refill guarantee is essential since TikTok periodically audits account quality</li>
</ul>
</div>
</section>
<!-- ══ CTA ══ -->
<section aria-labelledby="cta-heading" class="section" style="padding-top: 0;">
<div class="cta-banner">
<h2 id="cta-heading">Ready to Unlock TikTok's Full Monetisation Potential?</h2>
<p>Join 120,000+ creators and brands who trust DiscordBooster to grow their TikTok following. Followers begin arriving within 20 minutes.</p>
<div class="cta-buttons">
<a class="cta-btn-cyan" href="#order" onclick="document.getElementById('order').scrollIntoView({behavior:'smooth'}); return false;">Get TikTok Followers →</a>
<a class="cta-btn-ghost" href="buy-tiktok-likes">Get TikTok Likes →</a>
</div>
</div>
</section>
</div>
<!-- ══ FOOTER ══ -->

<script>
  const packages = [
    { count: 100,   label: "100",    price: 4.00,   original: 4.00,   discount: 0,  delivery: "< 24 hrs",  unlock: "Initial profile credibility",              wooid: "tkf100"  },
    { count: 250,   label: "250",    price: 8.00,   original: 10.00,  discount: 20, delivery: "1–2 days",  unlock: "Visible social proof",                     wooid: "tkf250"  },
    { count: 500,   label: "500",    price: 14.00,  original: 18.00,  discount: 22, delivery: "2–3 days",  unlock: "Approaching 1K threshold",                 wooid: "tkf500"  },
    { count: 1000,  label: "1,000",  price: 22.00,  original: 32.00,  discount: 31, delivery: "3–5 days",  unlock: "🔴 LIVE + 🔗 Bio Link unlocked",           wooid: "tkf1k"   },
    { count: 2500,  label: "2,500",  price: 48.00,  original: 75.00,  discount: 36, delivery: "5–7 days",  unlock: "Established creator credibility",           wooid: "tkf2500" },
    { count: 5000,  label: "5,000",  price: 85.00,  original: 140.00, discount: 39, delivery: "7–10 days", unlock: "Mid-tier brand partnership threshold",      wooid: "tkf5k"   },
    { count: 10000, label: "10,000", price: 150.00, original: 260.00, discount: 42, delivery: "10–14 days","unlock": "💰 Creator Fund + 🛍️ TikTok Shop",       wooid: "tkf10k"  },
    { count: 25000, label: "25,000", price: 340.00, original: 600.00, discount: 43, delivery: "14–21 days","unlock": "Elite creator authority",                 wooid: "tkf25k"  }
  ];

  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} TikTok 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)`
      : 'Best entry-level price';
  }

  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 is1k = p.count === 1000;
      const is10k = p.count === 10000;
      return `
        <tr class="${is1k || is10k ? 'featured' : ''}">
          <td class="pkg-name">
            ${p.label} Followers
            ${is1k ? '<span class="table-badge">LIVE UNLOCK</span>' : ''}
            ${is10k ? '<span class="table-badge">FUND + SHOP</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.unlock}</td>
          <td><button class="table-order-btn" onclick="jumpToOrder(${i})" aria-label="Order ${p.label} TikTok 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('tiktokUsername').value.trim().replace(/^@/, '');
    if (!username) {
      document.getElementById('tiktokUsername').focus();
      document.getElementById('tiktokUsername').style.borderColor = 'var(--cyan)';
      return;
    }
    const p = packages[selected];
    const url = `https://order.discordbooster.com/checkout/?add-to-cart=${p.wooid}&username=${encodeURIComponent(username)}&platform=tiktok&product=followers`;
    window.location.href = url;
  });

  document.getElementById('tiktokUsername').addEventListener('input', function() {
    this.style.borderColor = 'rgba(255,255,255,0.15)';
  });

  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'; ?>
