        <?php
        /* ═══════════════════════════════════════════════════════
           PAGE META  —  edit these values for each page
        ═══════════════════════════════════════════════════════ */
        $page_title       = "Buy Twitter / X Poll Votes — Real, Instant & Safe | DiscordBooster (2026)";
        $meta_description = "Buy real Twitter / X poll votes from the most trusted engagement service since 2019. Instant delivery, 30-day refill guarantee. No password required. Starts at \$4. Trusted by 120,000+ creators and brands.";
        $meta_keywords    = "buy twitter poll votes, buy x poll votes, buy twitter x poll votes, real twitter poll votes, real x poll votes, buy twitter poll votes instant, buy x poll votes instant, cheap twitter poll votes, cheap x poll votes, buy poll votes twitter, buy poll votes x, twitter poll votes service 2026, x poll votes service 2026, increase twitter poll votes, increase x poll votes, win twitter poll, win x poll, buy tweet poll votes, buy x post poll votes";
        $canonical_url    = "https://discordbooster.com/buy-twitter-poll-votes";
        $og_title         = "Buy Twitter / X Poll Votes — Real, Instant & Safe | DiscordBooster";
        $og_description   = "Real Twitter / X poll votes from \$4. Instant delivery, 30-day refill, no password needed. Control your poll outcome and boost engagement. 120,000+ happy customers since 2019.";
        $og_image         = "https://discordbooster.com/og-twitter-poll-votes.jpg";
        $active_platform  = "twitter";

        $schema_json = <<<'JSON'
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebPage",
      "@id": "https://discordbooster.com/buy-twitter-poll-votes#webpage",
      "url": "https://discordbooster.com/buy-twitter-poll-votes",
      "name": "Buy Twitter / X Poll Votes — Real, Instant & Safe | DiscordBooster (2026)",
      "description": "Real Twitter / X poll votes with instant delivery and 30-day refill guarantee. No password required. Control your poll outcome and boost tweet engagement from $4.",
      "inLanguage": "en-US",
      "dateModified": "2026-05-25",
      "breadcrumb": {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://discordbooster.com"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Twitter / X",
            "item": "https://discordbooster.com/twitter"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Buy Twitter Poll Votes",
            "item": "https://discordbooster.com/buy-twitter-poll-votes"
          }
        ]
      }
    },
    {
      "@type": "Organization",
      "@id": "https://discordbooster.com#org",
      "name": "DiscordBooster",
      "url": "https://discordbooster.com",
      "foundingDate": "2019",
      "description": "Leading multi-platform social media growth service trusted by 120,000+ customers worldwide."
    },
    {
      "@type": "Product",
      "name": "Twitter / X Poll Votes",
      "description": "Real Twitter / X poll votes from genuine accounts, delivered instantly with a 30-day refill guarantee. Safe, no password required. Control your poll results and generate high engagement on any tweet.",
      "brand": {
        "@type": "Brand",
        "name": "DiscordBooster"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.9",
        "reviewCount": "2941",
        "bestRating": "5",
        "worstRating": "1"
      },
      "offers": [
        {
          "@type": "Offer",
          "name": "50 Twitter Poll Votes",
          "price": "4.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "100 Twitter Poll Votes",
          "price": "7.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "250 Twitter Poll Votes",
          "price": "15.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "500 Twitter Poll Votes",
          "price": "26.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "1,000 Twitter Poll Votes",
          "price": "46.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "2,500 Twitter Poll Votes",
          "price": "100.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "5,000 Twitter Poll Votes",
          "price": "180.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        },
        {
          "@type": "Offer",
          "name": "10,000 Twitter Poll Votes",
          "price": "320.00",
          "priceCurrency": "USD",
          "availability": "https://schema.org/InStock",
          "url": "https://discordbooster.com/buy-twitter-poll-votes"
        }
      ]
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Is it safe to buy Twitter / X poll votes?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. DiscordBooster only requires your public poll tweet URL and the option you want to boost — never your password. Votes are delivered gradually to mimic natural participation. We've served 120,000+ customers since 2019 with zero account suspensions from our poll votes service."
          }
        },
        {
          "@type": "Question",
          "name": "Can I choose which poll option receives the votes?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. When placing your order, you specify exactly which poll option you want to boost. Our system directs all votes to your chosen option, giving you full control over your poll outcome."
          }
        },
        {
          "@type": "Question",
          "name": "How fast will I get my poll votes?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Most orders begin delivery within 5–15 minutes of payment. Smaller packages complete within 30–60 minutes; larger packages are spread naturally over a few hours to maintain realistic voting patterns."
          }
        },
        {
          "@type": "Question",
          "name": "Do I need to give you my Twitter password?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Never. We only need the public URL of your poll tweet and your chosen answer option. Your password and login credentials are never requested or stored."
          }
        },
        {
          "@type": "Question",
          "name": "Do poll votes boost my tweet's engagement metrics?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. Every vote on your poll registers as a direct engagement action — boosting your tweet's total engagement count, improving its engagement rate, and signalling to X's algorithm that your content is generating active participation."
          }
        },
        {
          "@type": "Question",
          "name": "Can I split votes across multiple poll options?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Yes. If you want votes distributed across two or more options, simply specify the split when placing your order and our team will set up the delivery accordingly. Contact support for custom split configurations."
          }
        },
        {
          "@type": "Question",
          "name": "Will the votes remain after delivery?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Our votes come from quality accounts built to persist through X's cleanup cycles. Our 30-day refill guarantee means if any votes disappear 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": "Twitter Poll Votes Packages",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "50 Twitter Poll Votes — $4.00"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "100 Twitter Poll Votes — $7.00"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "250 Twitter Poll Votes — $15.00"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "500 Twitter Poll Votes — $26.00"
        },
        {
          "@type": "ListItem",
          "position": 5,
          "name": "1,000 Twitter Poll Votes — $46.00"
        },
        {
          "@type": "ListItem",
          "position": 6,
          "name": "2,500 Twitter Poll Votes — $100.00"
        },
        {
          "@type": "ListItem",
          "position": 7,
          "name": "5,000 Twitter Poll Votes — $180.00"
        },
        {
          "@type": "ListItem",
          "position": 8,
          "name": "10,000 Twitter Poll Votes — $320.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;
      --card: #fffefb;
      --border: #e8e2d8;
      --border-dark: #d4cdc0;
      --ink: #1a1612;
      --ink-2: #3d3830;
      --muted: #8c8278;
      --accent: #1d9bf0;
      --accent-soft: #e8f4fd;
      --accent-border: #bde0f8;
      --accent-dark: #1a8cd8;
      --teal: #69c9d0;
      --teal-soft: #edfbfc;
      --teal-border: #b8ecf0;
      --gold: #c9920a;
      --gold-soft: #fdf6e3;
      --green: #1a7a4a;
      --green-soft: #eaf6ef;
      --shadow-sm: 0 1px 3px rgba(26,22,18,0.08);
      --shadow-md: 0 4px 16px rgba(26,22,18,0.1);
      --shadow-lg: 0 12px 40px rgba(26,22,18,0.13);
    }

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

    /* ── NAV ── */
    nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; display: flex; align-items: center; justify-content: space-between; padding: 0 5%; height: 66px; background: rgba(250,248,244,0.94); backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); }
    .logo { font-family: 'Sora', sans-serif; font-weight: 800; font-size: 1.3rem; color: var(--ink); letter-spacing: -0.5px; }
    .logo em { color: var(--accent); font-style: italic; }
    .nav-links { display: flex; gap: 2rem; list-style: none; font-size: 0.875rem; font-weight: 500; color: var(--muted); align-items: center; }
    .nav-links a:hover { color: var(--ink); }
    .nav-cta { background: var(--ink); color: #fff; padding: 0.5rem 1.2rem; border-radius: 6px; font-size: 0.82rem; font-weight: 600; transition: background 0.18s; }
    .nav-cta:hover { background: var(--accent); }
    .dropdown { position: relative; cursor: pointer; }
    .dropdown-content { display: none; position: absolute; top: calc(100% + 8px); left: 0; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 0.8rem; min-width: 200px; box-shadow: var(--shadow-lg); z-index: 300; grid-template-columns: 1fr; gap: 0.25rem; }
    .dropdown:hover .dropdown-content { display: grid; }
    .dropdown-content a { padding: 0.45rem 0.8rem; border-radius: 6px; transition: background 0.15s; font-size: 0.82rem; color: var(--ink-2); }
    .dropdown-content a:hover { background: var(--accent-soft); color: var(--accent); }
    .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 460px; 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); border-radius: 4px; padding: 0.3rem 0.8rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 1.5rem; animation: fadeIn 0.5s ease both; }
    .hero h1 { font-size: clamp(2.8rem, 4.5vw, 4.2rem); font-weight: 800; letter-spacing: -1.5px; margin-bottom: 1.5rem; line-height: 1.08; animation: fadeIn 0.5s 0.06s ease both; }
    .hero h1 em { color: var(--accent); font-style: italic; }
    .hero-desc { font-size: 1.1rem; color: var(--muted); max-width: 520px; margin-bottom: 2rem; line-height: 1.75; animation: fadeIn 0.5s 0.12s ease both; }
    .hero-proof { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 2rem; animation: fadeIn 0.5s 0.18s ease both; flex-wrap: wrap; }
    .hero-proof .stars-row { color: #f5a623; font-size: 1.1rem; letter-spacing: 2px; }
    .hero-proof .rating-text { font-size: 0.88rem; color: var(--muted); }
    .hero-proof .rating-text strong { color: var(--ink); }
    .hero-proof .divider { width: 1px; height: 28px; background: var(--border-dark); }
    .hero-trust-pills { display: flex; flex-wrap: wrap; gap: 0.6rem; animation: fadeIn 0.5s 0.24s ease both; }
    .pill { display: inline-flex; align-items: center; gap: 0.35rem; background: var(--green-soft); color: var(--green); border: 1px solid #b6e4ce; border-radius: 100px; padding: 0.28rem 0.85rem; font-size: 0.78rem; font-weight: 600; }
    .pill::before { content: '✓'; font-weight: 800; }

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

    /* ── POLL PREVIEW ── */
    .poll-preview { background: var(--cream); border: 1px solid var(--border); border-radius: 12px; padding: 1.2rem; margin-bottom: 1.2rem; }
    .poll-preview-label { font-size: 0.72rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 0.8rem; }
    .poll-bar-wrap { display: flex; flex-direction: column; gap: 0.5rem; }
    .poll-bar-row { display: flex; align-items: center; gap: 0.6rem; }
    .poll-bar-name { font-size: 0.82rem; font-weight: 600; color: var(--ink-2); min-width: 60px; }
    .poll-bar-track { flex: 1; height: 10px; background: var(--border); border-radius: 100px; overflow: hidden; }
    .poll-bar-fill { height: 100%; border-radius: 100px; background: var(--accent); transition: width 0.6s ease; }
    .poll-bar-pct { font-size: 0.78rem; font-weight: 700; color: var(--accent); min-width: 36px; text-align: right; }

    /* ── OPTION SELECTOR ── */
    .option-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 0.6rem; }
    .option-btn { background: var(--cream); border: 1.5px solid var(--border); border-radius: 8px; padding: 0.6rem 0.5rem; cursor: pointer; transition: all 0.15s; font-size: 0.82rem; font-weight: 600; color: var(--ink-2); text-align: center; }
    .option-btn:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
    .option-btn.active { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }

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

    /* ── PAGE BODY / SECTIONS ── */
    .page-body { max-width: 1240px; margin: 0 auto; padding: 0 5%; }
    .section { padding: 80px 0; }
    .section-label { display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); 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; }

    /* ── INTERNAL LINKS 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); }
    .rel-link.active { background: var(--accent); border-color: var(--accent); color: #fff; }

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

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

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

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

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

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

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

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

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

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

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

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

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

<!-- ══ BREADCRUMB ══ -->
<nav aria-label="Breadcrumb" class="breadcrumb">
<a href="https://discordbooster.com">Home</a>
<span aria-hidden="true" class="sep">›</span>
<a href="#">Twitter / X</a>
<span aria-hidden="true" class="sep">›</span>
<span aria-current="page">Buy Twitter Poll Votes</span>
</nav>
<!-- ══ HERO ══ -->
<div class="page-body">
<section aria-labelledby="hero-h1" class="hero">
<div class="hero-left">
<div class="hero-eyebrow">📊 #1 Twitter / X Poll Votes Service — Real Votes, Instant Delivery, Choose Your Option</div>
<h1 id="hero-h1">Buy Twitter Poll Votes<br/>&amp; <em>Control</em> Your<br/>Poll's Outcome</h1>
<p class="hero-desc">Real, instant Twitter / X poll votes delivered to the option of your choice. Boost participation numbers, shape your poll results, and generate the high engagement that X's algorithm rewards — all without sharing your password or account access.</p>
<div class="hero-proof">
<span aria-hidden="true" class="stars-row">★★★★★</span>
<div class="rating-text"><strong>4.9 / 5</strong> from 2,941 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 5–15 min</span>
<span class="pill" role="listitem">Choose your option</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 Twitter poll votes" class="order-card" id="order" role="region">
<div class="order-card-title">Win Your Twitter Poll</div>
<div class="order-card-sub">Choose your votes package and target option</div>
<div aria-label="Poll votes 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="twPollUrl">Poll Tweet URL</label>
<input aria-required="true" autocomplete="off" class="order-input" id="twPollUrl" placeholder="https://x.com/username/status/..." type="url"/>
<span class="order-hint" style="margin-bottom:0.5rem; display:block;">Paste the full URL of your public Twitter / X poll tweet.</span>
<label class="order-input-label" for="twPollOption">Poll Option to Boost</label>
<input aria-required="true" autocomplete="off" class="order-input" id="twPollOption" placeholder='e.g. "Option 1", "Yes", "Choice A"' type="text"/>
<span class="order-hint">Enter the exact text of the poll option you want votes directed to. No password required — ever.</span>
<button class="order-btn" id="orderBtn">Get Poll Votes →</button>
<div class="order-meta">
<span>No password required</span>
<span>SSL checkout</span>
<span>30-day guarantee</span>
</div>
</div>
</section>
</div>
<!-- ══ METRICS ══ -->
<div aria-label="Company statistics" class="metrics" role="list">
<div class="metric" role="listitem"><div class="metric-value">120K+</div><div class="metric-label">Happy customers</div></div>
<div class="metric" role="listitem"><div class="metric-value">4.9★</div><div class="metric-label">Average rating</div></div>
<div class="metric" role="listitem"><div class="metric-value">&lt;15 min</div><div class="metric-label">Avg. start time</div></div>
<div class="metric" role="listitem"><div class="metric-value">10,000</div><div class="metric-label">Max single order</div></div>
<div class="metric" role="listitem"><div class="metric-value">7 yrs</div><div class="metric-label">In business</div></div>
</div>
<div class="page-body">
<!-- ══ INTERNAL LINKS ══ -->
<div class="section" style="padding-bottom: 0;">
<div aria-label="Twitter / X services" class="related-bar" role="navigation">
<span class="rel-label">Twitter / X Services</span>
<div class="rel-links">
<a class="rel-link" href="buy-twitter-followers">Followers</a>
<a class="rel-link" href="buy-twitter-likes">Likes</a>
<a class="rel-link" href="buy-twitter-retweets">Retweets</a>
<a class="rel-link" href="buy-twitter-impressions">Impressions</a>
<a class="rel-link" href="buy-twitter-bookmarks">Bookmarks</a>
<a class="rel-link active" href="buy-twitter-poll-votes">Poll Votes</a>
</div>
</div>
</div>
<!-- ══ WHY BUY TWITTER POLL VOTES ══ -->
<section aria-labelledby="why-heading" class="section">
<div class="why-grid">
<div>
<div aria-hidden="true" class="section-label">The engagement magnet strategy</div>
<h2 class="section-title" id="why-heading">Why Twitter / X Poll Votes Are the Most Interactive Engagement Tool in 2026</h2>
<div class="why-stats">
<div class="why-stat"><div class="val">5×</div><div class="lbl">More engagement generated by tweet polls vs standard text tweets on average</div></div>
<div class="why-stat"><div class="val">Direct</div><div class="lbl">Every vote is a direct, active engagement action — the highest-weight signal category in X's algorithm</div></div>
<div class="why-stat"><div class="val">100%</div><div class="lbl">Control over which option receives your votes — you specify the exact target option</div></div>
<div class="why-stat"><div class="val">+73%</div><div class="lbl">Average increase in organic replies on poll tweets with high participation vs low-participation polls</div></div>
</div>
</div>
<div class="why-body">
<p>Twitter / X polls are among the most powerful content formats on the platform. They demand active participation — a viewer can't passively scroll past a poll; they must consciously decide to vote or ignore it. This forced decision-making generates dramatically higher engagement rates than standard tweets, and <strong>every single vote registers as a direct, high-weight engagement action in X's algorithm</strong>.</p>
<p>But polls face a cold-start problem that every creator knows too well: a poll with only a handful of votes looks like content nobody cares about. The participation count is the first thing viewers see, and low numbers signal low relevance — discouraging the organic votes that would have come if the poll had looked more active from the start.</p>
<div class="callout">
<strong>Buying poll votes solves the cold-start problem instantly.</strong> A poll that already shows 200+ votes looks like a conversation worth joining. Organic users are dramatically more likely to cast their own vote when they see others have already participated — creating a self-reinforcing engagement loop where bought votes trigger organic votes, which trigger more organic replies, follows, and shares. Poll votes are the highest-return engagement purchase for creators using polls as part of their regular content strategy.
        </div>
<p>Buying Twitter / X poll votes gives your polls the participation numbers that make them look worth engaging with — unlocking the organic vote cascade, algorithmic distribution boost, and reply thread activity that high-engagement polls reliably generate.</p>
</div>
</div>
</section>
<!-- ══ POLL VOTE TYPES ══ -->
<section aria-labelledby="types-heading" class="section" style="padding-top: 0;">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Delivery options</div>
<h2 class="section-title" id="types-heading">Types of Twitter / X Poll Votes We Deliver</h2>
<p class="section-sub">Choose the delivery style that fits your poll type, target outcome, and timeline.</p>
</div>
<div class="types-grid">
<div class="type-card">
<div class="type-num">⚡</div>
<div class="type-title">Instant Votes</div>
<div class="type-desc">Votes delivered within minutes of your order — ideal for polls where you need to establish early dominance in a specific option before organic voters arrive, or where your poll's deadline is approaching quickly.</div>
<span class="type-badge">⭐ Most Popular</span>
</div>
<div class="type-card">
<div class="type-num">🌱</div>
<div class="type-title">Gradual Drip Delivery</div>
<div class="type-desc">Votes delivered steadily over hours, mimicking the natural participation curve of an organically popular poll. Best for longer-duration polls (24–72 hours) where a gradual vote accumulation looks most authentic.</div>
<span class="type-badge">🛡️ Most Natural</span>
</div>
<div class="type-card">
<div class="type-num">🎯</div>
<div class="type-title">Targeted Single Option</div>
<div class="type-desc">All votes directed to the specific option of your choice. You specify the exact poll option text when ordering and every vote we deliver goes to that option — giving you complete control over your poll's result.</div>
<span class="type-badge">🏆 Full Control</span>
</div>
<div class="type-card">
<div class="type-num">⚖️</div>
<div class="type-title">Split Option Delivery</div>
<div class="type-desc">Votes distributed proportionally across two or more poll options according to your specified split — ideal when you want to boost total participation while maintaining a realistic-looking distribution between options.</div>
<span class="type-badge">📊 Balanced Results</span>
</div>
<div class="type-card">
<div class="type-num">📦</div>
<div class="type-title">Multi-Poll Campaigns</div>
<div class="type-desc">Distribute votes across multiple polls in a content series or campaign — maintaining consistently high participation across all your polls to build a reputation as a creator whose polls are always worth voting in.</div>
<span class="type-badge">📈 Campaign-Wide</span>
</div>
</div>
</section>
</div>
<!-- ══ ALGORITHM SECTION ══ -->
<section aria-labelledby="algo-heading" class="algo-section">
<div class="algo-inner">
<div>
<div aria-hidden="true" class="section-label">Why polls dominate X's algorithm</div>
<h2 class="section-title" id="algo-heading">How Poll Votes Drive Algorithmic Distribution Better Than Any Other Tweet Format</h2>
<p>X's recommendation algorithm treats interactive content — content that requires an active decision from the viewer — as its highest-quality signal category. A poll vote is the purest form of active engagement on the platform: it can only be generated by a real user making a deliberate choice, which is why X's algorithm treats each vote as a direct, high-weight quality signal.</p>
<p>Here's how poll tweets compare to standard tweets across the key metrics X uses to evaluate content for For You feed distribution:</p>
<div aria-label="Poll tweet vs standard tweet performance" class="algo-meter">
<div class="algo-meter-row">
<span class="algo-meter-label">Direct engagement rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:96%"></div></div>
<span class="algo-meter-val">5× avg</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Reply thread activity</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:88%"></div></div>
<span class="algo-meter-val">+73%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">For You feed placement</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:82%"></div></div>
<span class="algo-meter-val">Higher</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Profile visit conversion</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:70%"></div></div>
<span class="algo-meter-val">+41%</span>
</div>
<div class="algo-meter-row">
<span class="algo-meter-label">Follower conversion rate</span>
<div class="algo-meter-track"><div class="algo-meter-fill" style="width:60%"></div></div>
<span class="algo-meter-val">+28%</span>
</div>
</div>
</div>
<div>
<ul aria-label="How poll votes boost X algorithmic performance" class="algo-signals">
<li>
<span aria-hidden="true" class="algo-signal-icon">🗳️</span>
<div>
<div class="algo-signal-title">Highest-weight direct engagement</div>
<div class="algo-signal-desc">Each poll vote registers as a direct engagement action in X's algorithm — the same category as replies, which carry the highest algorithmic weight. A poll with 500 votes generates engagement signals equivalent to 500 direct interactions, dramatically boosting For You feed distribution.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">💬</span>
<div>
<div class="algo-signal-title">Organic reply thread catalyst</div>
<div class="algo-signal-desc">High-participation polls consistently generate reply threads as voters explain their choices, debate the options, and tag others to vote. This organic reply activity compounds the algorithmic signal, extending the tweet's distribution window and drawing in new audiences who discover the poll through the comment section.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🔄</span>
<div>
<div class="algo-signal-title">Social proof cascade trigger</div>
<div class="algo-signal-desc">A poll already showing hundreds of votes acts as immediate social proof — other users see an active, popular poll and are far more likely to cast their own vote. Bought votes trigger organic votes, which trigger more organic engagement, creating a compounding participation loop that far exceeds the initial purchase value.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">🔍</span>
<div>
<div class="algo-signal-title">Topic feed and search prominence</div>
<div class="algo-signal-desc">High-engagement polls on trending or niche topics rank prominently in X's topic feeds and search results. The combination of poll format, high vote count, and active reply thread creates a content signal that X's algorithm consistently surfaces to new audiences interested in the topic.</div>
</div>
</li>
<li>
<span aria-hidden="true" class="algo-signal-icon">📈</span>
<div>
<div class="algo-signal-title">Follower conversion from poll discovery</div>
<div class="algo-signal-desc">New users who discover your poll through the For You feed or topic search are significantly more likely to follow your account than users who discover a standard tweet — because polls demonstrate an interactive, community-oriented content style that signals ongoing value worth following.</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 Twitter / X Poll Votes Different</h2>
<p class="section-sub">Every poll votes package from DiscordBooster gives you full option control, account safety, and lasting vote counts.</p>
</div>
<div class="feat-grid">
<div class="feat-item">
<span class="feat-icon">🎯</span>
<div class="feat-title">You Choose the Winning Option</div>
<div class="feat-desc">Simply specify which poll option you want votes directed to when placing your order. Every vote we deliver goes exactly where you tell us — giving you complete control over your poll's final result, not just its total participation count.</div>
</div>
<div class="feat-item">
<span class="feat-icon">👥</span>
<div class="feat-title">Real, Active Voter Accounts</div>
<div class="feat-desc">Votes come from genuine-looking accounts with profile photos, bios, and activity history — not hollow bot shells that X removes in its next cleanup cycle. Each voter is a real-looking account that casts a durable vote your poll count can rely on.</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 the public URL of your poll tweet and your chosen option text. No Twitter login, no OAuth permissions, no API credentials are ever requested. Your account security is completely intact throughout the entire process.</div>
</div>
<div class="feat-item">
<span class="feat-icon">⚡</span>
<div class="feat-title">Delivery Starts in 15 Minutes</div>
<div class="feat-desc">Most orders begin within 5–15 minutes of payment. This is critical for polls with short durations — our fast delivery ensures your votes arrive while your poll is still active and driving organic engagement.</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 votes drop within 30 days of delivery, we refill them at zero cost. Once X registers a vote from an account, that vote typically remains for the duration of the poll — our guarantee covers any unexpected drops during that window.</div>
</div>
<div class="feat-item">
<span class="feat-icon">💳</span>
<div class="feat-title">Secure Multi-Method Checkout</div>
<div class="feat-desc">Pay via PayPal, Visa, Mastercard, Amex, Bitcoin, or Ethereum through our 256-bit SSL-encrypted, PCI-compliant checkout. Card details are never stored on our servers. Crypto payments are processed instantly and anonymously.</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 Twitter / X Poll Votes 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 votes you need. Our 250-vote package is the most popular — enough to make your poll look active and attract a strong organic voting cascade without requiring a large order.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">2</div>
<h3>Paste Your Poll URL</h3>
<p>Copy the full URL of your public poll tweet and paste it into the order form. Also enter the exact text of the poll option you want votes directed to. Your poll must be active and public.</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 your card details are never stored on our servers.</p>
</div>
<div class="how-step" role="listitem">
<div class="how-num">4</div>
<h3>Votes Arrive Fast</h3>
<p>Delivery begins within 5–15 minutes. Watch your chosen option's vote count climb in real time on your poll. Our 30-day refill guarantee covers every order from day one.</p>
</div>
</div>
</section>
<!-- ══ USE CASES ══ -->
<section aria-labelledby="usecases-heading" class="section" style="padding-top: 0;">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Who benefits</div>
<h2 class="section-title" id="usecases-heading">Who Buys Twitter / X Poll Votes — and Why</h2>
<p class="section-sub">From market researchers to community managers — here's how different users leverage poll votes for engagement, insight, and influence.</p>
</div>
<div class="usecases-grid">
<div class="usecase-card">
<span class="uc-icon">🎙️</span>
<h3>Thought Leaders Shaping Narratives</h3>
<p>Influencers and opinion leaders using polls to shape public perception around key questions in their niche — ensuring their preferred framing "wins" the poll and shapes how the broader conversation develops in the reply thread.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🏢</span>
<h3>Brands Running Product Polls</h3>
<p>Marketing teams using polls to generate audience engagement around new product features, naming decisions, and campaign choices — buying votes to ensure the poll looks active and to guide the result toward the internally preferred option.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">📊</span>
<h3>Market Researchers</h3>
<p>Researchers and strategists using Twitter polls as a quick-and-dirty sentiment gauge — boosting total participation to make the sample size look more representative and give the results more credibility in presentations and reports.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🎮</span>
<h3>Gaming &amp; Entertainment Communities</h3>
<p>Gaming creators and fan community managers running polls for "best of" rankings, character matchups, and community decisions — buying votes to support their favoured option or simply to drive the high participation that generates viral thread engagement.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🚀</span>
<h3>Creators Building Engagement Habits</h3>
<p>Content creators who post regular polls to build an interactive audience relationship — buying votes for early polls to establish the look of a highly engaged community, which attracts organic voters who want to participate in popular conversations.</p>
</div>
<div class="usecase-card">
<span class="uc-icon">🏆</span>
<h3>Agencies Delivering Engagement KPIs</h3>
<p>Digital marketing agencies guaranteeing engagement benchmarks for client Twitter campaigns that include polls — ensuring every poll achieves minimum participation thresholds for post-campaign reporting and client presentations.</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">Twitter / X Poll Votes — Complete Pricing Table</h2>
<p class="section-sub">All packages include real votes to your chosen option, 30-day refill guarantee, and safe delivery pacing.</p>
</div>
<div style="overflow-x:auto;">
<table aria-label="Twitter poll votes pricing" class="pricing-table">
<thead>
<tr>
<th scope="col">Package</th>
<th scope="col">Price</th>
<th scope="col">Regular Price</th>
<th scope="col">You Save</th>
<th scope="col">Delivery Time</th>
<th scope="col">Best For</th>
<th scope="col">Order</th>
</tr>
</thead>
<tbody id="pricingTableBody"></tbody>
</table>
</div>
</section>
</div>
<!-- ══ REVIEWS ══ -->
<section aria-labelledby="reviews-heading" class="reviews-section">
<div class="page-body">
<div class="section">
<div class="section-header centered">
<div aria-hidden="true" class="section-label">Customer reviews</div>
<h2 class="section-title" id="reviews-heading">What Our Customers Say About Our Twitter / X Poll Votes Service</h2>
<p class="section-sub">2,941 verified reviews from creators, brands, and agencies who've used DiscordBooster to win their X polls.</p>
</div>
<div class="reviews-grid">
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Brand Marketing</span></div>
<p class="review-text">We ran a poll asking our audience to vote on the name for a new product feature. The internal team had a strong preference but the early organic votes were going the wrong way. Bought 500 votes for our preferred option and within an hour it had taken a clear lead. The final result was used in the product announcement. Delivery was flawless and incredibly fast.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background:#1d9bf0;">JP</div>
<div>
<div class="review-name">Jordan P.</div>
<div class="review-sub">Head of Marketing, Tech Brand</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Content Creator</span></div>
<p class="review-text">I post a poll every week to keep my audience engaged. When my first few polls only got 20–30 votes they looked embarrassing and nobody wanted to join in. Started buying 200–300 votes for each one and now my polls consistently get 500+ organic votes on top of what I buy. The social proof effect is completely real — people join winning polls.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background:#6b46c1;">RV</div>
<div>
<div class="review-name">Rachel V.</div>
<div class="review-sub">Lifestyle &amp; Finance Creator — @rachelvotes</div>
</div>
</div>
</div>
<div class="review-card">
<div><span aria-label="5 stars" class="review-stars">★★★★★</span> <span class="review-niche">Gaming Community</span></div>
<p class="review-text">Our gaming community runs weekly character matchup polls and the engagement they generate is incredible for our channel growth. We buy votes to make sure the matchups look competitive and exciting — close polls get more organic engagement than lopsided ones. DiscordBooster lets us control the narrative perfectly. The split delivery option is especially useful.</p>
<div class="review-author">
<div aria-hidden="true" class="review-avatar" style="background:#1a7a4a;">TK</div>
<div>
<div class="review-name">Tyler K.</div>
<div class="review-sub">Gaming Community Manager — @tylergaming</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 Twitter / X Poll Votes</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 Twitter / X poll votes? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. DiscordBooster only requires your public poll tweet URL and your chosen option — never your password or account access. Votes are delivered gradually with natural pacing to mimic organic participation. We've served 120,000+ customers since 2019 with zero account suspensions from our poll votes service.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Can I choose which poll option gets the votes? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes — this is a core feature of our service. When placing your order, you specify exactly which poll option you want votes directed to by entering the option's text. Every vote we deliver goes to that specific option. If you want votes split across multiple options, note your preferred split in the order form or contact our support team.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">How fast will my poll votes be delivered? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Most orders begin delivery within 5–15 minutes of payment — critical for polls with short durations. Smaller packages (under 100 votes) typically complete within 30–60 minutes. Larger packages are spread over a few hours to maintain a natural-looking participation curve. We always prioritise speed for poll orders given the time-sensitive nature of active polls.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Do I need to give you my Twitter / X password? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Never. We only need the public URL of your poll tweet and the text of your target option. No passwords, OAuth permissions, or API credentials are ever requested. If any service asks for your login to deliver poll votes, avoid them — it is never required and poses a serious security risk.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">My poll ends in a few hours — can you deliver in time? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. For urgent orders, select the "Instant" delivery option and our system will prioritise your order for fastest possible delivery, typically beginning within 5 minutes of payment for packages under 500 votes. If you have a specific deadline, mention it in the order notes or contact our live support team before ordering.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Can I split votes across multiple options? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">Yes. If you want votes distributed across multiple options — for example, 60% to Option A and 40% to Option B to create a realistic-looking competition — specify your desired split in the order notes or contact our support team. We'll configure the delivery to match your exact requirements.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Will the votes disappear after my poll closes? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">No. Once votes are cast on a Twitter / X poll, they are permanently recorded in the poll's final result. When your poll closes, the vote totals are locked. Our 30-day refill guarantee covers the active delivery period to ensure your votes register before the poll ends.</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. We never store card details on our servers.</div>
</div>
<div class="faq-item" role="listitem">
<div aria-expanded="false" class="faq-q" onclick="toggleFaq(this)" role="button" tabindex="0">Does the poll votes service work on X — or only on old Twitter polls? <span aria-hidden="true" class="faq-icon">+</span></div>
<div class="faq-a">It works on all polls on the platform. Twitter rebranded to X in July 2023 but the poll feature remains identical — users create polls in their posts, other users vote, and vote counts are displayed publicly. Whether you call them Twitter polls or X polls, our service targets any active poll on the platform. Searching for "buy Twitter poll votes" or "buy X poll votes" will lead you to the same service for the same feature on the same platform.</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 Twitter / X Poll Votes in 2026</h2>
<p>Twitter / X polls are one of the platform's most underused growth tools. They generate direct engagement actions — each vote counts the same as a direct reply in X's algorithmic scoring — they produce reply threads as voters debate their choices, and they consistently outperform standard text tweets across every engagement metric. But they come with a fundamental weakness: <strong>the cold-start problem</strong>.</p>
<p>A poll with 8 votes is invisible. A poll with 800 votes is a conversation. Buying poll votes closes the gap between those two states, transforming a poll that nobody engages with into one that looks worth participating in — triggering the organic cascade that makes polls one of the highest-ROI content formats on X.</p>
<h3>Why Twitter Polls Generate More Algorithmic Reach Than Any Other Format</h3>
<p>X's recommendation engine treats different engagement actions with different weights. Passive signals like impressions carry low weight. Bookmarks and likes carry moderate weight. Direct actions — replies and poll votes — carry the highest weight because they require a conscious decision from the user. A single poll vote generates the same algorithmic quality signal as a direct reply to your tweet.</p>
<p>This means a poll with 500 votes generates the equivalent of 500 direct reply-level engagement signals — a volume of high-weight interaction that would be nearly impossible to achieve with a standard tweet and orders of magnitude more than a tweet with 500 likes. X's algorithm responds to this engagement density by distributing poll tweets more widely in For You feeds, topic sections, and search results than almost any other content type.</p>
<div class="info-box">
<p><strong>Key insight:</strong> Twitter polls with 200+ votes generate on average 73% more reply thread activity than polls with under 50 votes — even when controlling for follower count and topic. This is the social proof cascade in action: high participation signals to organic users that the question is worth engaging with, generating a compounding engagement loop that far exceeds the value of the initial vote purchase.</p>
</div>
<h3>How to Use Poll Votes Strategically for Maximum Engagement</h3>
<p>The highest-return application of poll vote purchases is creating the early participation momentum that triggers organic voting cascades. Post your poll, buy votes immediately to establish a strong initial participation count, and then engage actively with every early commenter to signal to X's algorithm that there's an active conversation happening. Reply threads on polls are weighted highly by X's distribution system — every reply you generate extends the tweet's distribution window.</p>
<p>For creators running regular polls as part of their content strategy, consider buying votes for every poll for at least the first three months. This establishes your profile as one where polls consistently attract high participation — training both your audience and X's algorithm to expect and distribute your polls. Once this reputation is established, organic participation tends to sustain at higher levels even on polls you don't boost.</p>
<h3>Controlling Poll Outcomes: Ethical and Strategic Context</h3>
<p>Poll vote services give you full control over which option receives votes — a feature used for a wide variety of legitimate purposes. Brand teams use it to align poll outcomes with their product strategy. Creators use it to ensure their polls produce conclusions that make for better content. Community managers use it to create competitive-looking polls that generate more discussion. Market researchers use it to boost sample sizes.</p>
<p>The key distinction is that Twitter polls run by individuals and brands for content and community purposes are entertainment and engagement tools, not scientific instruments. They don't claim to be representative surveys of the general population — they're conversation starters, community engagement mechanisms, and content formats. Using poll vote services in this context is a standard part of social media content strategy, equivalent to buying other engagement signals to improve content performance.</p>
<ul>
<li>Always order before your poll deadline — fast delivery is critical for polls with short durations</li>
<li>Specify your target option clearly — exact option text helps ensure correct vote direction</li>
<li>Gradual delivery looks most natural for longer-duration polls (24+ hours)</li>
<li>Combine poll votes with replies from your own community to maximise the reply thread engagement signal</li>
<li>Consider split delivery for close competition polls — a realistic vote distribution generates more organic discussion than a lopsided result</li>
<li>Never share your X password or grant app permissions to any poll service — it is never required for legitimate delivery</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 Win Your Next Twitter Poll?</h2>
<p>Join 120,000+ creators and brands who trust DiscordBooster to power their X content performance. Your first votes arrive in under 15 minutes.</p>
</div>
<a class="cta-white-btn" href="#order" onclick="document.getElementById('order').scrollIntoView({behavior:'smooth'}); return false;">
        Get Poll Votes →
      </a>
</div>
</section>
</div>
<!-- ══ FOOTER ══ -->

<script>
  const packages = [
    { count: 50,    label: "50",     price: 4.00,   original: 4.00,   discount: 0,  delivery: "< 30 min",  bestFor: "Testing quality",           wooid: "twpv50"   },
    { count: 100,   label: "100",    price: 7.00,   original: 9.00,   discount: 22, delivery: "< 1 hr",    bestFor: "Initial participation boost", wooid: "twpv100"  },
    { count: 250,   label: "250",    price: 15.00,  original: 21.00,  discount: 29, delivery: "1–2 hrs",   bestFor: "Social proof trigger",      wooid: "twpv250"  },
    { count: 500,   label: "500",    price: 26.00,  original: 40.00,  discount: 35, delivery: "2–4 hrs",   bestFor: "Winning a close poll",      wooid: "twpv500"  },
    { count: 1000,  label: "1,000",  price: 46.00,  original: 76.00,  discount: 39, delivery: "3–6 hrs",   bestFor: "Dominant lead",             wooid: "twpv1k"   },
    { count: 2500,  label: "2,500",  price: 100.00, original: 175.00, discount: 43, delivery: "6–12 hrs",  bestFor: "High-profile campaign poll", wooid: "twpv2500" },
    { count: 5000,  label: "5,000",  price: 180.00, original: 335.00, discount: 46, delivery: "12–24 hrs", bestFor: "Major brand / agency poll",  wooid: "twpv5k"   },
    { count: 10000, label: "10,000", price: 320.00, original: 640.00, discount: 50, delivery: "1–2 days",  bestFor: "Maximum poll dominance",    wooid: "twpv10k"  }
  ];

  let selected = 0;

  function renderPkgGrid() {
    const grid = document.getElementById('pkgGrid');
    grid.innerHTML = packages.slice(0, 8).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} Twitter poll votes 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 isFeatured = p.count === 250;
      return `
        <tr class="${isFeatured ? 'featured' : ''}">
          <td class="pkg-name">
            ${p.label} Poll Votes
            ${isFeatured ? '<span class="table-badge">POPULAR</span>' : ''}
          </td>
          <td><strong>$${p.price.toFixed(2)}</strong></td>
          <td class="pkg-original">$${p.original.toFixed(2)}</td>
          <td class="pkg-save">${saving > 0 ? `–$${saving.toFixed(2)} (${p.discount}%)` : '—'}</td>
          <td>${p.delivery}</td>
          <td style="font-size:0.85rem;color:var(--muted)">${p.bestFor}</td>
          <td><button class="table-order-btn" onclick="jumpToOrder(${i})" aria-label="Order ${p.label} Twitter poll votes">Order →</button></td>
        </tr>
      `;
    }).join('');
  }

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

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

  ['twPollUrl', 'twPollOption'].forEach(id => {
    document.getElementById(id).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'; ?>
