        <?php
        /* ═══════════════════════════════════════════════════════
           PAGE META  —  edit these values for each page
        ═══════════════════════════════════════════════════════ */
        $page_title       = "Buy YouTube Subscribers — Real, Instant & Safe | DiscordBooster (2026)";
        $meta_description = "Buy real YouTube subscribers from the most trusted growth service since 2019. Hit the 1,000-subscriber YPP threshold, build channel authority, and unlock monetisation. Instant delivery, 30-day refill. Starts at \$5.";
        $meta_keywords    = "buy youtube subscribers, real youtube subscribers, buy youtube subscribers instant, cheap youtube subscribers, youtube subscribers service 2026, youtube monetisation subscribers, youtube partner programme, buy 1000 youtube subscribers, increase youtube subscribers, grow youtube channel, youtube channel growth 2026";
        $canonical_url    = "https://discordbooster.com/buy-youtube-subscribers";
        $og_title         = "Buy YouTube Subscribers — Real, Instant & Safe | DiscordBooster";
        $og_description   = "Real YouTube subscribers from \$5. Hit the 1,000-sub YPP threshold and unlock monetisation. Instant delivery, 30-day refill. No password needed. 120,000+ happy customers.";
        $og_image         = "https://discordbooster.com/og-youtube-subscribers.jpg";
        $active_platform  = "youtube";

        $schema_json = <<<'JSON'
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://discordbooster.com/buy-youtube-subscribers#webpage",
      "url": "https://discordbooster.com/buy-youtube-subscribers",
      "name": "Buy YouTube Subscribers — Real, Instant & Safe | DiscordBooster (2026)",
      "description": "Real YouTube channel subscribers from genuine accounts. Instant delivery with 30-day refill guarantee. No password required. Satisfies the 1,000-subscriber YouTube Partner Programme threshold and builds the channel authority that improves search ranking and brand partnership credibility.",
      "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": "YouTube",
            "item": "https://discordbooster.com/youtube"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Buy YouTube Subscribers",
            "item": "https://discordbooster.com/buy-youtube-subscribers"
          }
        ]
      }
    },
    {
      "@type": "Organization",
      "@id": "https://discordbooster.com#org",
      "name": "DiscordBooster",
      "url": "https://discordbooster.com",
      "foundingDate": "2019"
    },
    {
      "@type": "Product",
      "name": "YouTube Subscribers",
      "description": "Real YouTube channel subscribers from genuine accounts. Instant delivery with 30-day refill guarantee. Safe, no password required. Satisfies the 1,000-subscriber YouTube Partner Programme threshold, delivers bell notifications to subscribers, and builds the channel authority that improves search ranking and recommended video placement.",
      "brand": {
        "@type": "Brand",
        "name": "DiscordBooster"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "reviewCount": "5280",
        "bestRating": "5",
        "worstRating": "1"
      },
      "offers": [
        {
          "@type": "Offer",
          "name": "100 YouTube Subscribers",
          "price": "5.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "250 YouTube Subscribers",
          "price": "10.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "500 YouTube Subscribers",
          "price": "18.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "1,000 YouTube Subscribers",
          "price": "30.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "2,500 YouTube Subscribers",
          "price": "65.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "5,000 YouTube Subscribers",
          "price": "115.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "10,000 YouTube Subscribers",
          "price": "200.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        },
        {
          "@type": "Offer",
          "name": "25,000 YouTube Subscribers",
          "price": "450.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Is it safe to buy YouTube subscribers?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. DiscordBooster only requires your public YouTube channel URL — never your password or Google account credentials. Subscribers are added gradually to mimic organic growth. We've served 120,000+ customers since 2019 with zero channel strikes or restrictions from our YouTube subscribers service."
          }
        },
        {
          "@type": "Question",
          "name": "Do bought YouTube subscribers count toward YPP?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Our subscribers come from genuine YouTube accounts that count toward your channel's subscriber total in YouTube Analytics. The 1,000-subscriber YPP threshold counts all subscribers from real accounts — and ours qualify. Combined with 4,000 watch hours, you become eligible to apply for the YouTube Partner Programme."
          }
        },
        {
          "@type": "Question",
          "name": "How many YouTube subscribers do I need for monetisation?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "YouTube Partner Programme requires 1,000 subscribers plus 4,000 watch hours in the past 12 months for standard ad revenue monetisation. Our 1,000-subscriber package satisfies the subscriber criterion directly. Combine with our YouTube Watch Hours service to satisfy both thresholds simultaneously."
          }
        },
        {
          "@type": "Question",
          "name": "How fast will I get my YouTube subscribers?",
          "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 subscriber growth curve in YouTube Analytics."
          }
        },
        {
          "@type": "Question",
          "name": "Do I need to give you my YouTube or Google password?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Never. We only need your public YouTube channel URL. Your Google account, YouTube credentials, and AdSense account are never requested or accessed at any point."
          }
        },
        {
          "@type": "Question",
          "name": "Do YouTube subscribers help with search ranking?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Subscriber count is a component of YouTube's channel authority score, which influences search ranking. Channels with higher subscriber counts receive higher baseline distribution priority for new videos in search results and Suggested Videos — improving the performance of every future video you publish."
          }
        },
        {
          "@type": "Question",
          "name": "Will the YouTube subscribers drop after delivery?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Our subscribers come from quality accounts built to persist through YouTube's periodic account quality reviews. Our 30-day refill guarantee covers any drops — if your subscriber 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": "YouTube Subscribers Packages",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "100 YouTube Subscribers — $5.00"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "250 YouTube Subscribers — $10.00"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "500 YouTube Subscribers — $18.00"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "1,000 YouTube Subscribers — $30.00"
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "2,500 YouTube Subscribers — $65.00"
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "5,000 YouTube Subscribers — $115.00"
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "10,000 YouTube Subscribers — $200.00"
        },
        {
          "@type": "ListItem",
          "position": 8,
          "name": "25,000 YouTube Subscribers — $450.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: #ff0000;
      --accent-soft: #fff0f0;
      --accent-border: #ffb0b0;
      --accent-dark: #cc0000;
      --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); display: block; }
    .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.88rem; 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; }

    /* YPP progress bar */
    .ypp-progress { background: var(--accent-soft); border: 1px solid var(--accent-border); border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: 1.2rem; }
    .ypp-progress-label { font-size: 0.75rem; color: var(--accent-dark); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 0.5rem; display: block; font-weight: 700; }
    .ypp-progress-val { color: var(--accent-dark); font-size: 0.9rem; font-weight: 700; margin-bottom: 0.4rem; display: block; }
    .ypp-bar-track { height: 8px; background: rgba(255,0,0,0.1); border-radius: 100px; overflow: hidden; }
    .ypp-bar-fill { height: 100%; border-radius: 100px; background: linear-gradient(90deg, var(--accent), #ff6b6b); transition: width 0.4s ease; }

    .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(255,0,0,0.25); }
    .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 BAR ── */
    .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-value.r { color: var(--accent); }
    .metric-label { font-size: 0.8rem; color: rgba(255,255,255,0.5); 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(--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; }

    /* ── YPP DASHBOARD ── */
    .ypp-section { background: var(--accent-soft); border: 1px solid var(--accent-border); border-radius: 22px; padding: 3rem; }
    .ypp-label { font-size: 0.72rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--accent-dark); margin-bottom: 0.6rem; display: block; }
    .ypp-section h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 800; color: var(--ink); margin-bottom: 0.8rem; }
    .ypp-section p { color: var(--muted); font-size: 1rem; line-height: 1.8; margin-bottom: 2rem; max-width: 700px; }
    .ypp-requirements { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
    .ypp-req { background: #fff; border: 1px solid var(--accent-border); border-radius: 14px; padding: 1.5rem; text-align: center; position: relative; overflow: hidden; transition: all 0.18s; }
    .ypp-req::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; border-radius: 14px 14px 0 0; }
    .ypp-req.serviceable::before { background: linear-gradient(90deg, var(--accent-dark), var(--accent)); }
    .ypp-req.manual::before { background: linear-gradient(90deg, #bbb, #888); }
    .ypp-req:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .ypp-req-icon { font-size: 1.5rem; margin-bottom: 0.6rem; display: block; }
    .ypp-req-val { font-family: 'Sora', sans-serif; font-size: 1.6rem; font-weight: 800; line-height: 1; margin-bottom: 0.3rem; }
    .ypp-req-val.red { color: var(--accent-dark); }
    .ypp-req-val.grey { color: var(--muted); }
    .ypp-req-label { font-size: 0.82rem; color: var(--muted); line-height: 1.4; margin-bottom: 0.6rem; }
    .ypp-req-status { display: inline-block; font-size: 0.68rem; font-weight: 700; padding: 0.1rem 0.45rem; border-radius: 4px; text-transform: uppercase; letter-spacing: 0.5px; }
    .status-green { background: var(--green-soft); color: var(--green); border: 1px solid #b6e4ce; }
    .status-gold { background: var(--gold-soft); color: var(--gold); border: 1px solid #e8d49a; }

    /* ── ALGO SECTION ── */
    .algo-section { background: var(--ink); padding: 80px 5%; position: relative; overflow: hidden; }
    .algo-section::before { content: ''; position: absolute; top: -80px; right: -80px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(255,0,0,0.12), 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(--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.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.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; }

    /* ── 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); }

    /* ── 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; position: relative; overflow: hidden; }
    .cta-banner::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 70% 110%, rgba(255,0,0,0.18), transparent 70%); 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.55); font-size: 1rem; position: relative; z-index: 1; }
    .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; position: relative; z-index: 1; }
    .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: #ffb0b0; }
    .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; }
      .ypp-requirements { grid-template-columns: 1fr 1fr; }
      .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; }
    }
    @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; }
      .ypp-requirements { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 480px) {
      .pkg-grid { grid-template-columns: 1fr 1fr; }
      .hero h1 { font-size: 2.5rem; }
      .why-stats { grid-template-columns: 1fr 1fr; }
      .ypp-requirements { 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="youtube-services">YouTube</a>
<span aria-hidden="true" class="sep">›</span>
<span aria-current="page">Buy YouTube Subscribers</span>
</nav>
<!-- ══ HERO ══ -->
<div class="page-body">
<section aria-labelledby="hero-h1" class="hero">
<div class="hero-left">
<div class="hero-eyebrow">▶ #1 YouTube Subscribers Service — Real Accounts, YPP Safe, Instant Delivery</div>
<h1 id="hero-h1">Buy YouTube Subscribers<br/>&amp; Unlock <em>Monetisation</em><br/>with 1,000 Subs</h1>
<p class="hero-desc">Real YouTube channel subscribers from genuine accounts, delivered gradually and safely. The 1,000-subscriber threshold is YouTube's first YPP monetisation gate — the milestone that unlocks ad revenue, channel memberships, Super Thanks, and the full YouTube partner ecosystem. Each subscriber also delivers permanent bell notifications for every future video, building the loyal audience that compounds indefinitely.</p>
<div class="hero-proof">
<span aria-hidden="true" class="stars-row">★★★★★</span>
<div class="rating-text"><strong>4.9 / 5</strong> from 5,280 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 $5</span>
</div>
</div>
<!-- ORDER CARD -->
<div aria-label="Order YouTube subscribers" class="order-card" id="order" role="region">
<div class="order-card-title">Grow Your YouTube Channel</div>
<div class="order-card-sub">Choose your subscribers package below</div>
<div aria-label="Subscribers packages" class="pkg-grid" id="pkgGrid" role="radiogroup"></div>
<!-- YPP progress bar -->
<div aria-live="polite" class="ypp-progress" id="yppProgress" role="status">
<span class="ypp-progress-label">YPP subscriber threshold (1,000 required)</span>
<span class="ypp-progress-val" id="yppProgressVal">100 subscribers — 10% of YPP threshold</span>
<div class="ypp-bar-track">
<div class="ypp-bar-fill" id="yppBarFill" style="width:10%"></div>
</div>
</div>
<div class="order-summary">
<div aria-live="polite" class="order-price" id="orderPrice">$5.00</div>
<div aria-live="polite" class="order-saving" id="orderSaving">Best entry-level price</div>
</div>
<label class="order-input-label" for="ytChannelUrl">YouTube Channel URL</label>
<input aria-required="true" autocomplete="off" class="order-input" id="ytChannelUrl" placeholder="https://www.youtube.com/@yourchannel" type="url"/>
<span class="order-hint">Paste your YouTube channel URL or handle. Your channel must be public. No Google password or YouTube credentials required — ever.</span>
<button class="order-btn" id="orderBtn">Get YouTube Subscribers →</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">2.7B+</div><div class="metric-label">Monthly YouTube users</div></div>
<div class="metric" role="listitem"><div class="metric-value r">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 r">&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="YouTube services" class="related-bar" role="navigation">
<span class="rel-label">YouTube Services</span>
<div class="rel-links">
<a class="rel-link active" href="buy-youtube-subscribers">Subscribers</a>
<a class="rel-link" href="buy-youtube-views">Views</a>
<a class="rel-link" href="buy-youtube-watch-hours">Watch Hours</a>
<a class="rel-link" href="buy-youtube-likes">Likes</a>
</div>
</div>
</div>
<!-- ══ YPP DASHBOARD ══ -->
<section aria-labelledby="ypp-heading" class="section">
<div class="ypp-section">
<span class="ypp-label">YouTube Partner Programme requirements</span>
<h2 id="ypp-heading">The Complete YPP Checklist — What Each Requirement Means &amp; How to Satisfy It</h2>
<p>The YouTube Partner Programme (YPP) unlocks ad revenue, channel memberships, Super Thanks, merchandise shelf integration, and the full YouTube monetisation ecosystem. There are four requirements — and our services directly satisfy two of them. Here's the complete picture.</p>
<div class="ypp-requirements">
<div class="ypp-req serviceable">
<span class="ypp-req-icon">🔔</span>
<div class="ypp-req-val red">1,000</div>
<div class="ypp-req-label">Subscribers — YouTube Partner Programme subscriber threshold</div>
<span class="ypp-req-status status-green">✓ This service</span>
</div>
<div class="ypp-req serviceable">
<span class="ypp-req-icon">⏱️</span>
<div class="ypp-req-val red">4,000</div>
<div class="ypp-req-label">Public watch hours in the past 12 months required for YPP</div>
<span class="ypp-req-status status-green">✓ Watch Hours service</span>
</div>
<div class="ypp-req manual">
<span class="ypp-req-icon">✅</span>
<div class="ypp-req-val grey">2-Step</div>
<div class="ypp-req-label">Google account verification and linked AdSense account in good standing</div>
<span class="ypp-req-status status-gold">Do yourself</span>
</div>
<div class="ypp-req manual">
<span class="ypp-req-icon">📋</span>
<div class="ypp-req-val grey">Policy</div>
<div class="ypp-req-label">Community Guidelines, Terms of Service, and monetisation policies complied with</div>
<span class="ypp-req-status status-gold">Do yourself</span>
</div>
</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">Why YouTube subscribers matter</div>
<h2 class="section-title" id="why-heading">Three Reasons YouTube Subscribers Are the Foundation Every Creator Needs First</h2>
<div class="why-stats">
<div class="why-stat"><div class="val">YPP</div><div class="lbl">1,000 subscribers is the first YPP gate — directly unlocking ad revenue, memberships, Super Thanks, and the entire monetisation ecosystem</div></div>
<div class="why-stat"><div class="val">🔔 Bell</div><div class="lbl">Every subscriber receives push notifications for new uploads — guaranteed delivery to a loyal audience that compounds with every video published</div></div>
<div class="why-stat"><div class="val">Search</div><div class="lbl">Subscriber count improves channel authority in YouTube's search and Suggested Videos algorithm — raising every video's baseline distribution probability</div></div>
<div class="why-stat"><div class="val">Brands</div><div class="lbl">Brand sponsors evaluate subscriber count as the primary audience size signal — key thresholds at 1K, 10K, 100K, and 1M unlock progressively better deals</div></div>
</div>
</div>
<div class="why-body">
<p>YouTube is the world's largest video platform — with 2.7 billion monthly active users watching over 1 billion hours of video daily — and the highest-earning creator platform available to independent content producers. The combination of AdSense ad revenue, channel memberships, Super Thanks, merchandise shelf, and brand sponsorships makes a monetised YouTube channel the most commercially valuable content format in existence. And accessing all of it starts with one threshold: <strong>1,000 subscribers.</strong></p>
<p>Subscribers on YouTube are fundamentally different from followers on other platforms. They don't just sit as a number — they actively deliver your content. Every subscriber who has the bell notification enabled receives a push notification the moment you publish a new video. This is guaranteed delivery that bypasses the algorithm entirely, building a loyal returning audience that generates early views and watch time on every video — improving search ranking and Suggested Video placement independently of any other metric.</p>
<div class="callout">
<strong>The YPP monetisation package:</strong> Combine this service (1,000 subscribers) with our <a href="buy-youtube-watch-hours" style="color:var(--accent-dark);">YouTube Watch Hours service</a> (4,000 hours) to satisfy both YPP criteria simultaneously. Both services deliver within their respective timeframes — once both thresholds appear simultaneously in your YouTube Studio monetisation dashboard, you become eligible to apply. Applying typically takes 1–4 weeks for YouTube to review and approve.
        </div>
<p>Beyond the YPP threshold, subscriber count is the channel authority signal that YouTube's algorithm uses to weight every new video's initial distribution. A channel with 10,000 subscribers receives higher initial distribution to its subscriber base on every upload — more views, more watch time, better search ranking — than an identical channel with 100 subscribers. Every subscriber you gain today improves every video you ever publish for as long as they stay subscribed.</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 YouTube's algorithm uses subscribers</div>
<h2 class="section-title" id="algo-heading">How Subscribers Improve Every Video's Performance in YouTube's Search &amp; Suggested Algorithm</h2>
<p>YouTube's recommendation algorithm — which drives approximately 70% of all YouTube watch time — uses subscriber count as a channel authority signal that influences every video's initial distribution, search ranking position, and Suggested Videos placement. Here's what the algorithm measures and how subscribers affect each signal.</p>
<div aria-label="YouTube algorithm signal weights" class="algo-meter">
<div class="algo-meter-row">
<span class="algo-meter-label">Watch time &amp; retention</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:98%"></div></div>
<span class="algo-meter-val">98%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Click-through rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:91%"></div></div>
<span class="algo-meter-val">91%</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" style="width:83%"></div></div>
<span class="algo-meter-val">83%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">View count velocity</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:77%"></div></div>
<span class="algo-meter-val">77%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Channel authority (subscribers)</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:70%"></div></div>
<span class="algo-meter-val">70%</span>
</div>
</div>
</div>
<div>
<ul aria-label="How YouTube subscribers improve video performance" class="algo-signals">
<li>
<span aria-hidden="true" class="algo-signal-icon">🔔</span>
<div>
<div class="algo-signal-title">Bell notification guaranteed delivery</div>
<div class="algo-signal-desc">Every subscribed viewer who enables bell notifications receives a push notification the moment you publish. This is guaranteed delivery independent of YouTube's recommendation algorithm — a direct distribution channel to your most engaged audience that generates early views and watch time on every upload, contributing to the initial velocity that drives search ranking and Suggested Video placement.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">📊</span>
<div>
<div class="algo-signal-title">Channel authority score</div>
<div class="algo-signal-desc">YouTube's algorithm assigns every channel an authority score that influences the baseline distribution weight given to new videos. Subscriber count is a key component of this score — channels with more subscribers receive higher initial distribution to the Subscriptions feed, better search ranking positions for relevant keywords, and higher priority in Suggested Videos placement alongside related content.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🔍</span>
<div>
<div class="algo-signal-title">Search ranking improvement</div>
<div class="algo-signal-desc">YouTube search results factor in channel authority signals when ranking videos for queries. A video from a channel with 10,000 subscribers ranks higher than an otherwise identical video from a channel with 500 subscribers for the same keywords. Buying subscribers directly improves your channel's search authority — raising every video's ranking position for the keywords you're targeting.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">💰</span>
<div>
<div class="algo-signal-title">YPP monetisation unlock</div>
<div class="algo-signal-desc">1,000 subscribers is the first hard gate to YouTube monetisation. No subscriber purchase brings you closer to the YPP threshold and the ad revenue, channel memberships, Super Thanks, and merchandise shelf integration that become available once you apply and are approved. Combined with 4,000 watch hours, crossing this threshold is the single most commercially significant milestone available on YouTube.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🤝</span>
<div>
<div class="algo-signal-title">Brand partnership credibility</div>
<div class="algo-signal-desc">Brand sponsors evaluate YouTube subscriber count as the primary audience size metric when assessing partnership proposals. Key thresholds are 1K (micro, product collaborations), 10K (small, paid posts), 100K (mid, significant fees), and 1M (macro, major campaign budgets). Crossing each threshold opens a qualitatively different commercial tier — directly unlocking sponsorship categories that weren't available at lower subscriber counts.</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 YouTube Subscribers Different</h2>
<p class="section-sub">Every YouTube subscribers package uses real accounts, natural gradual delivery, 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 Watch History</div>
<div class="feat-desc">Our subscribers come from genuine YouTube accounts with watch histories, profile photos, and channel activity — not empty shells that YouTube's quality systems identify and remove. Real account subscribers persist through YouTube's periodic account quality reviews and stay in your subscriber count long-term.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🔒</span>
<div class="feat-title">Zero Google Credentials Required</div>
<div class="feat-desc">We only ever need your public YouTube channel URL or handle. No YouTube password, Google account login, or AdSense credentials. Since YouTube accounts are linked to Google accounts — which in turn link to Gmail, Drive, and other Google services — this security commitment is especially important, and we maintain it without exception.</div>
</div>
<div class="feat-item">
<span class="feat-icon">🌱</span>
<div class="feat-title">Natural Gradual Delivery</div>
<div class="feat-desc">Subscribers are added gradually over days to mirror organic channel growth. A sudden large subscriber spike looks anomalous in YouTube Analytics and can trigger quality reviews. Gradual delivery looks like a channel naturally gaining momentum — keeping your channel's growth history clean and credible to YouTube's monitoring systems and to brands reviewing your channel analytics.</div>
</div>
<div class="feat-item">
<span class="feat-icon">💰</span>
<div class="feat-title">YPP-Qualified Subscribers</div>
<div class="feat-desc">Our subscribers come from genuine YouTube accounts that count toward your channel's YPP subscriber total in YouTube Analytics. YouTube's Partner Programme review counts all subscribers from real accounts — and ours qualify. The subscriber count that appears in your YouTube Studio monetisation dashboard will reflect the delivered subscribers accurately.</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 subscribers drop within 30 days of delivery, we replace them at zero cost. YouTube periodically removes inactive and low-quality accounts; our guarantee ensures your subscriber count stays at the level you paid for regardless of platform-level cleanup. Contact support with your order reference to invoke the guarantee at any time.</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 subscriber count growing in YouTube Studio. Smaller packages complete within 24 hours; larger packages spread over 3–7 days for natural-looking growth that keeps your analytics looking organic to YouTube's monitoring 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 YouTube Subscribers 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 subscribers for your goal. The 1,000-subscriber package satisfies the YPP threshold directly. The YPP progress bar shows exactly how close each package gets you to the monetisation milestone.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">2</div>
<h3>Enter Your Channel URL</h3>
<p>Paste your YouTube channel URL or @handle. Your channel must be set to public. No Google password, YouTube credentials, or AdSense 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 Channel Grow</h3>
<p>Delivery begins within 20 minutes and subscribers are added gradually. Track progress in YouTube Studio. Once the 1,000 threshold is met alongside 4,000 watch hours, apply for YPP in YouTube Studio → Monetisation.</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">YouTube Subscribers — Complete Pricing Table</h2>
<p class="section-sub">All packages include real account subscribers, natural gradual delivery, and a 30-day refill guarantee.</p>
</div>
<div style="overflow-x:auto;">
<table aria-label="YouTube subscribers 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">YPP Progress</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 YouTube Subscribers Service</h2>
<p class="section-sub">5,280 verified reviews from creators and brands who've used DiscordBooster to grow their YouTube channels and unlock monetisation.</p>
</div>
<div class="reviews-grid">
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Gaming Creator / YPP Monetisation</span></div>
<p class="review-text">I'd been at 870 subscribers for four months — posting twice a week but not breaking through. Bought 200 subscribers to push past 1,000 and immediately applied for YPP (I already had my 4,000 watch hours). Approved in 12 days. My first month of ad revenue was $43 — modest, but that's money I couldn't access before. Six months later I'm at 4,200 organic subscribers and earning consistently. The $30 investment to cross the threshold genuinely changed the trajectory of my channel. Delivery was gradual, completely natural-looking.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background: var(--accent);">LT</div>
<div>
<div class="review-name">Luke T.</div>
<div class="review-sub">Gaming Creator — 4.2K subscribers</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Business / Brand Channel</span></div>
<p class="review-text">We launched a YouTube channel for our SaaS company and needed it to look established quickly for brand credibility — prospective customers were checking it out as part of their due diligence. Bought 2,500 subscribers at launch. Our sales team reported that "video content" started appearing in customer research mentions within weeks. Three enterprise clients have specifically cited our YouTube channel as part of their confidence in our brand. The subscriber count sends a signal of legitimacy that product demos and case studies alone can't create.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background: var(--green);">PK</div>
<div>
<div class="review-name">Priya K.</div>
<div class="review-sub">Head of Marketing, SaaS Company</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Education Creator / Search Ranking</span></div>
<p class="review-text">I make tutorial videos for graphic designers. After growing from 1,100 to 8,000 subscribers using DiscordBooster, my average video ranking in YouTube search jumped significantly. I now regularly appear in the top 3 results for "Illustrator tutorial" and similar queries — positions I couldn't reach before regardless of video quality or SEO. The subscriber count genuinely influences search authority. Combined with their watch hours service for YPP, this has been the most impactful investment in my creator business. Zero issues with delivery quality or account safety.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background: #9b2566;">MW</div>
<div>
<div class="review-name">Marco W.</div>
<div class="review-sub">Design Tutorial Creator — 8.3K subscribers</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 YouTube Subscribers</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 YouTube subscribers? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. DiscordBooster only requires your public YouTube channel URL or @handle — never your password, Google account, or YouTube credentials. Subscribers are added gradually with natural pacing. We've served 120,000+ customers since 2019 with zero channel strikes or restrictions from our YouTube subscribers service.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Do bought YouTube subscribers count toward YPP? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. Our subscribers come from genuine YouTube accounts that count toward your channel's subscriber total in YouTube Analytics and YouTube Studio's monetisation dashboard. YouTube's YPP review counts all subscribers from real accounts — and ours qualify. The 1,000-subscriber threshold that appears in your monetisation settings will reflect our delivered subscribers accurately.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">How many YouTube subscribers do I need for monetisation? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">YouTube Partner Programme (YPP) requires 1,000 subscribers plus 4,000 watch hours in the past 12 months for standard ad revenue monetisation. Our 1,000-subscriber package satisfies the subscriber criterion directly. Combine with our YouTube Watch Hours service to satisfy both YPP thresholds simultaneously — then apply through YouTube Studio → Monetisation → Apply for YPP.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Will I need to give you my YouTube or Google password? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Never. We only need your public YouTube channel URL or @handle. No YouTube password, Google account login, or AdSense credentials are ever requested. Since YouTube accounts are linked to Google accounts — which connect to Gmail, Drive, and other Google services — this security commitment is absolute and non-negotiable.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Do YouTube subscribers help with search and Suggested Videos? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. Subscriber count is a component of YouTube's channel authority score, which influences search ranking and Suggested Videos placement. Channels with higher subscriber counts receive higher baseline distribution priority for new videos — improving search position for targeted keywords and increasing placement in Suggested Videos alongside related content from other channels. Every subscriber gained today improves every future video's algorithmic performance.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Does my YouTube channel need to be public? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. Your YouTube channel must be public for subscribers to be delivered. If your channel is currently hidden or set to private, go to YouTube Studio → Customisation → Basic Info and ensure your channel is public before placing your order. Channels in "Made for Kids" mode may have delivery limitations — contact support if you have a Kids-mode channel.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Will the YouTube subscribers drop after delivery? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Our subscribers come from quality accounts built to persist through YouTube's periodic account quality reviews. Our 30-day refill guarantee covers any drops — if your subscriber 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 YouTube Subscribers in 2026</h2>
<p>YouTube is the world's second most visited website, the largest video platform, and — for creators who cross the monetisation threshold — the most commercially valuable content channel available. With ad revenue, channel memberships, Super Thanks, merchandise shelf, and brand sponsorships all locked behind subscriber and watch hour thresholds, YouTube subscriber count isn't just a vanity metric: it's a commercial gateway with concrete income implications at every milestone. <strong>Buying YouTube subscribers is the most direct lever available for accelerating toward the monetisation thresholds that transform YouTube from a content hobby into a revenue stream.</strong></p>
<h3>The YPP Monetisation Stack — Subscribers + Watch Hours</h3>
<p>YouTube Partner Programme eligibility requires two thresholds to be met simultaneously: 1,000 subscribers and 4,000 watch hours in the past 12 months. Of the two, watch hours is typically harder to achieve organically — growing a new channel to 4,000 watch hours can take months even with consistent posting. Subscribers is the faster threshold to cross with a purchase. The optimal strategy is to buy subscribers to satisfy the 1,000 threshold and buy watch hours to satisfy the 4,000-hour threshold simultaneously — then apply for YPP as soon as both milestones are visible in your YouTube Studio monetisation dashboard.</p>
<div class="info-box">
<p><strong>YouTube Shorts alternative YPP path:</strong> YouTube also offers a Shorts-based YPP pathway requiring 500 subscribers and 3 million Shorts views in 90 days. Our subscribers service satisfies the 500-subscriber Shorts threshold with a much smaller package. The Shorts path provides a reduced monetisation package (Shorts bonuses rather than full AdSense ad revenue) but is accessible with significantly lower thresholds — useful for channels that primarily produce short-form content.</p>
</div>
<h3>Subscribers vs Views vs Watch Hours — the Complete YouTube Growth Strategy</h3>
<p>Each YouTube service targets a different dimension of channel growth. Subscribers build permanent channel authority and deliver guaranteed notifications to every future video. Watch hours satisfy the second YPP criterion and improve video search ranking. Views increase individual video credibility and click-through rates from search results. Likes improve the like-to-view ratio that drives Suggested Video placement. The complete YouTube growth strategy uses all four: subscribers for authority and YPP, watch hours for monetisation eligibility and ranking, views for video-level credibility, and likes for Suggested Video algorithmic placement.</p>
<ul>
<li>Channel must be public for subscribers to be delivered — check YouTube Studio → Customisation</li>
<li>The 1,000-subscriber package directly satisfies the YPP subscriber threshold</li>
<li>Combine with Watch Hours service for complete YPP eligibility</li>
<li>Gradual delivery over 3–7 days always looks more natural than instant bulk</li>
<li>Combine with Views and Likes for the complete YouTube channel growth package</li>
<li>Never share your YouTube or Google password with any service — it is never required</li>
<li>A 30-day refill guarantee is essential since YouTube periodically audits account quality</li>
<li>Track progress in YouTube Studio → Analytics → Subscribers</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 Unlock YouTube Monetisation?</h2>
<p>Join 120,000+ creators and brands who trust DiscordBooster to grow their YouTube channels. Subscribers begin arriving within 20 minutes.</p>
</div>
<a class="cta-white-btn" href="#order" onclick="document.getElementById('order').scrollIntoView({behavior:'smooth'}); return false;">
        Get YouTube Subscribers →
      </a>
</div>
</section>
</div>
<!-- ══ FOOTER ══ -->

<script>
  const packages = [
    { count: 100,   label: "100",    price: 5.00,   original: 5.00,   discount: 0,  delivery: "< 24 hrs",  yppNote: "10% of YPP threshold",              wooid: "yts100"  },
    { count: 250,   label: "250",    price: 10.00,  original: 12.50,  discount: 20, delivery: "1–2 days",  yppNote: "25% of YPP threshold",              wooid: "yts250"  },
    { count: 500,   label: "500",    price: 18.00,  original: 22.00,  discount: 18, delivery: "2–3 days",  yppNote: "50% of YPP threshold",              wooid: "yts500"  },
    { count: 1000,  label: "1,000",  price: 30.00,  original: 44.00,  discount: 32, delivery: "3–5 days",  yppNote: "✓ Satisfies YPP subscriber requirement", wooid: "yts1k"   },
    { count: 2500,  label: "2,500",  price: 65.00,  original: 98.00,  discount: 34, delivery: "5–7 days",  yppNote: "Established channel credibility",   wooid: "yts2500" },
    { count: 5000,  label: "5,000",  price: 115.00, original: 180.00, discount: 36, delivery: "7–10 days", yppNote: "Mid-tier brand partnership threshold", wooid: "yts5k"   },
    { count: 10000, label: "10,000", price: 200.00, original: 320.00, discount: 38, delivery: "10–14 days","yppNote": "Strong channel authority",          wooid: "yts10k"  },
    { count: 25000, label: "25,000", price: 450.00, original: 740.00, discount: 39, delivery: "14–21 days","yppNote": "Elite creator level",               wooid: "yts25k"  }
  ];

  let selected = 0;

  function getPct(count) {
    return Math.min(Math.round((count / 1000) * 100), 100);
  }

  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} YouTube subscribers 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';
    // Update YPP progress bar
    const pct = getPct(p.count);
    document.getElementById('yppBarFill').style.width = pct + '%';
    document.getElementById('yppProgressVal').textContent =
      p.count >= 1000
        ? `${p.label} subscribers — ✓ Satisfies YPP 1,000 subscriber requirement`
        : `${p.label} subscribers — ${pct}% of 1,000 YPP threshold`;
  }

  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} Subscribers
            ${isFeatured ? '<span class="table-badge">YPP THRESHOLD</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.yppNote}</td>
          <td><button class="table-order-btn" onclick="jumpToOrder(${i})" aria-label="Order ${p.label} YouTube subscribers">Order →</button></td>
        </tr>
      `;
    }).join('');
  }

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

  document.getElementById('orderBtn').addEventListener('click', () => {
    const channelUrl = document.getElementById('ytChannelUrl').value.trim();
    if (!channelUrl) {
      document.getElementById('ytChannelUrl').focus();
      document.getElementById('ytChannelUrl').style.borderColor = 'var(--accent)';
      return;
    }
    const p = packages[selected];
    const url = `https://order.discordbooster.com/checkout/?add-to-cart=${p.wooid}&channel_url=${encodeURIComponent(channelUrl)}&platform=youtube&product=subscribers`;
    window.location.href = url;
  });

  document.getElementById('ytChannelUrl').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'; ?>
