Ninja Kitchen x Primal Kitchen Saucy Spring Giveaway — Win a CRISPi Air Fryer!

:root {
–primary: #22c55e;
–primary-dark: #16a34a;
–primary-deep: #14532d;
–primary-light: #86efac;
–primary-pale: #f0fdf4;
–accent: #f59e0b;
–accent-light: #fef3c7;
–purple: #7c3aed;
–cream: #fdfcf9;
–warm-white: #fafaf8;
–border: #e5e5e5;
–text-dark: #1c1c1c;
–text-gray: #555555;
–text-light: #888888;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: ‘Inter’, sans-serif;
background: var(–cream);
color: var(–text-dark);
font-size: 17px;
line-height: 1.85;
}
/* ── PROGRESS BAR ── */
#xp-bar-container {
position: fixed; top: 0; left: 0; right: 0;
height: 5px; background: #e5e5e5; z-index: 9999;
}
#xp-bar {
height: 100%; width: 0%;
background: linear-gradient(90deg, var(–primary), var(–accent));
transition: width 0.2s ease;
}
/* ── HEADER ── */
header {
background: linear-gradient(160deg, #14532d 0%, #16a34a 35%, #22c55e 70%, #86efac 100%);
color: #fff;
text-align: center;
padding: 60px 24px 52px;
position: relative;
overflow: hidden;
}
header::before {
content: ”;
position: absolute;
top: -60px; left: -60px; right: -60px; bottom: -60px;
background: radial-gradient(ellipse at 50% 0%, rgba(245,158,11,0.18) 0%, transparent 70%);
pointer-events: none;
}
header::after {
content: ‘🌷 🌱 🦋’;
position: absolute;
top: 16px; right: 20px;
font-size: 1.2rem;
opacity: 0.25;
pointer-events: none;
}
.status-tag {
display: inline-block;
background: rgba(255,255,255,0.15);
border: 1px solid rgba(255,255,255,0.3);
color: #fff;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
padding: 5px 14px;
border-radius: 20px;
margin-bottom: 18px;
}
header h1 {
font-family: ‘Nunito’, sans-serif;
font-size: clamp(2rem, 6vw, 3.4rem);
font-weight: 900;
line-height: 1.1;
margin-bottom: 16px;
text-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
header h1 span { color: var(–accent); }
header .sub {
font-size: clamp(0.95rem, 2.5vw, 1.15rem);
opacity: 0.9;
max-width: 600px;
margin: 0 auto 28px;
line-height: 1.6;
}
.prize-big {
font-family: ‘Nunito’, sans-serif;
font-size: clamp(2.5rem, 8vw, 4.5rem);
font-weight: 900;
color: var(–accent);
line-height: 1;
margin-bottom: 4px;
text-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.prize-label {
font-size: 0.85rem;
letter-spacing: 0.1em;
text-transform: uppercase;
opacity: 0.75;
margin-bottom: 24px;
}
/* ── COUNTDOWN ── */
.countdown {
display: flex;
justify-content: center;
gap: 12px;
margin-bottom: 28px;
flex-wrap: wrap;
}
.cd-box {
background: rgba(0,0,0,0.25);
border: 1px solid rgba(255,255,255,0.2);
border-radius: 10px;
padding: 10px 18px;
min-width: 72px;
text-align: center;
}
.cd-num {
font-family: ‘Nunito’, sans-serif;
font-size: 2rem;
font-weight: 900;
color: var(–accent);
display: block;
line-height: 1;
}
.cd-lbl { font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
/* ── HERO BUTTON ── */
.scroll-start-btn {
display: inline-block;
background: var(–accent);
color: #1c1c1c;
font-family: ‘Nunito’, sans-serif;
font-size: 1.15rem;
font-weight: 900;
padding: 16px 44px;
border-radius: 50px;
border: none;
cursor: pointer;
letter-spacing: 0.04em;
box-shadow: 0 6px 24px rgba(0,0,0,0.25);
transition: transform 0.15s, box-shadow 0.15s;
text-decoration: none;
margin-bottom: 24px;
}
.scroll-start-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(0,0,0,0.3); }
/* ── STAT PILLS ── */
.stat-pills {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px;
margin-top: 8px;
}
.pill {
background: rgba(255,255,255,0.12);
border: 1px solid rgba(255,255,255,0.25);
border-radius: 20px;
padding: 6px 16px;
font-size: 0.8rem;
font-weight: 600;
color: #fff;
}
.pill strong { color: var(–accent); }
/* ── CONTENT WRAP ── */
.content-wrap { max-width: 780px; margin: 0 auto; padding: 0 20px; }
/* ── TOC ── */
.toc {
background: var(–warm-white);
border: 1px solid var(–border);
border-left: 4px solid var(–primary);
border-radius: 10px;
padding: 22px 26px;
margin: 36px 0;
}
.toc-title {
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(–text-light);
margin-bottom: 12px;
}
.toc ol { padding-left: 18px; }
.toc li { margin-bottom: 6px; }
.toc a { color: var(–primary-dark); text-decoration: none; font-size: 0.92rem; font-weight: 500; }
.toc a:hover { text-decoration: underline; }
/* ── SECTIONS ── */
section {
padding: 44px 0 36px;
border-bottom: 1px solid var(–border);
}
section h2 {
font-family: ‘Nunito’, sans-serif;
font-size: clamp(1.5rem, 4vw, 2rem);
font-weight: 900;
color: var(–text-dark);
margin-bottom: 18px;
line-height: 1.2;
}
section h2 span { color: var(–primary-dark); }
section h3 {
font-family: ‘Nunito’, sans-serif;
font-size: 1.1rem;
font-weight: 800;
color: var(–text-dark);
margin: 28px 0 10px;
}
section p { color: var(–text-gray); margin-bottom: 16px; }
section p:last-child { margin-bottom: 0; }
blockquote {
border-left: 4px solid var(–primary);
background: var(–primary-pale);
padding: 16px 20px;
border-radius: 0 8px 8px 0;
margin: 20px 0;
color: var(–text-dark);
font-style: italic;
}
/* ── PRIZE CARDS ── */
.prize-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 16px;
margin: 24px 0;
}
.prize-card {
background: #fff;
border: 1px solid var(–border);
border-top: 4px solid var(–primary);
border-radius: 12px;
padding: 22px 18px;
text-align: center;
}
.prize-card.gold { border-top-color: var(–accent); }
.prize-card .pc-icon { font-size: 2.4rem; margin-bottom: 10px; }
.prize-card .pc-name { font-weight: 700; font-size: 0.95rem; color: var(–text-dark); margin-bottom: 6px; }
.prize-card .pc-val { font-family: ‘Nunito’, sans-serif; font-size: 1.3rem; font-weight: 900; color: var(–primary-dark); }
.prize-card.gold .pc-val { color: var(–accent); }
.prize-card .pc-desc { font-size: 0.82rem; color: var(–text-light); margin-top: 6px; line-height: 1.5; }
/* ── STEPS ── */
.steps { list-style: none; padding: 0; margin: 20px 0; }
.steps li {
display: flex;
gap: 16px;
margin-bottom: 20px;
align-items: flex-start;
}
.step-num {
flex-shrink: 0;
width: 36px; height: 36px;
background: var(–primary);
color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-family: ‘Nunito’, sans-serif;
font-weight: 900;
font-size: 0.95rem;
}
.step-body { flex: 1; padding-top: 4px; }
.step-body strong { display: block; font-weight: 700; margin-bottom: 4px; }
.step-body span { color: var(–text-gray); font-size: 0.92rem; }
/* ── TABLE ── */
.elig-table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 0.92rem; }
.elig-table th {
background: var(–primary);
color: #fff;
padding: 10px 14px;
text-align: left;
font-weight: 700;
}
.elig-table td { padding: 10px 14px; border-bottom: 1px solid var(–border); color: var(–text-gray); }
.elig-table tr:nth-child(even) td { background: var(–warm-white); }
/* ── TIMELINE ── */
.timeline { list-style: none; padding: 0; margin: 20px 0; }
.timeline li {
display: flex;
gap: 16px;
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px dashed var(–border);
align-items: flex-start;
}
.timeline li:last-child { border-bottom: none; }
.tl-dot {
flex-shrink: 0;
width: 12px; height: 12px;
background: var(–primary);
border-radius: 50%;
margin-top: 6px;
}
.tl-date { font-weight: 700; font-size: 0.88rem; color: var(–primary-dark); margin-bottom: 2px; }
.tl-desc { color: var(–text-gray); font-size: 0.9rem; }
/* ── FAQ ── */
.faq-item { margin-bottom: 10px; }
.faq-q {
width: 100%;
text-align: left;
background: var(–warm-white);
border: 1px solid var(–border);
border-radius: 10px;
padding: 16px 20px;
font-size: 0.97rem;
font-weight: 600;
color: var(–text-dark);
cursor: pointer;
font-family: ‘Inter’, sans-serif;
}
.faq-q:hover { background: var(–primary-pale); }
.faq-a {
display: none;
background: var(–primary-pale);
border: 1px solid var(–border);
border-top: none;
border-radius: 0 0 10px 10px;
padding: 16px 20px;
font-size: 0.92rem;
color: var(–text-gray);
line-height: 1.7;
}
.faq-item.open .faq-a { display: block; }
/* ── RELATED ── */
.related-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 14px;
margin-top: 20px;
}
.related-card {
background: #fff;
border: 1px solid var(–border);
border-radius: 10px;
padding: 16px;
text-decoration: none;
color: var(–text-dark);
transition: box-shadow 0.15s, transform 0.15s;
}
.related-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.1); transform: translateY(-2px); }
.rc-cat { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(–primary-dark); margin-bottom: 6px; }
.rc-title { font-size: 0.88rem; font-weight: 600; line-height: 1.4; }
/* ── ENTRY SECTION ── */
.entry-section {
background: linear-gradient(135deg, #14532d 0%, #16a34a 40%, #22c55e 100%);
color: #fff;
text-align: center;
padding: 56px 24px;
}
.entry-section h2 {
font-family: ‘Nunito’, sans-serif;
font-size: clamp(1.6rem, 4vw, 2.2rem);
font-weight: 900;
margin-bottom: 14px;
color: #fff;
}
.entry-section h2 span { color: var(–accent); }
.entry-section p { opacity: 0.9; max-width: 560px; margin: 0 auto 28px; font-size: 1rem; }
.cta-btn {
display: inline-block;
background: var(–accent);
color: #1c1c1c;
font-family: ‘Nunito’, sans-serif;
font-size: 1.1rem;
font-weight: 900;
padding: 16px 44px;
border-radius: 50px;
text-decoration: none;
letter-spacing: 0.04em;
box-shadow: 0 6px 24px rgba(0,0,0,0.25);
transition: transform 0.15s, box-shadow 0.15s;
margin: 8px;
}
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(0,0,0,0.3); }
/* ── FACT POPUPS ── */
.fact-popup {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff;
border: 3px solid var(–primary);
border-radius: 16px;
padding: 24px 28px;
max-width: 320px;
width: 90%;
text-align: center;
z-index: 10000;
box-shadow: 0 16px 48px rgba(0,0,0,0.18);
font-family: ‘Inter’, sans-serif;
font-size: 0.92rem;
color: var(–text-dark);
line-height: 1.6;
}
.fact-icon { display: block; font-size: 2rem; margin-bottom: 8px; }
.fact-title { display: block; font-family: ‘Nunito’, sans-serif; font-weight: 900; font-size: 1.1rem; color: var(–primary-dark); margin-bottom: 8px; }
/* ── SKIP POPUP ── */
#skip-popup {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff;
border: 3px solid var(–primary);
border-radius: 16px;
padding: 28px 24px;
max-width: 320px;
width: 90%;
text-align: center;
z-index: 10000;
box-shadow: 0 16px 48px rgba(0,0,0,0.18);
font-family: ‘Inter’, sans-serif;
}
.skip-icon { display: block; font-size: 2rem; margin-bottom: 10px; }
#skip-popup h3 { font-family: ‘Nunito’, sans-serif; font-size: 1.2rem; font-weight: 900; margin-bottom: 8px; color: var(–text-dark); }
#skip-popup p { font-size: 0.88rem; color: var(–text-gray); margin-bottom: 18px; line-height: 1.5; }
.popup-btn-yes {
display: block; width: 100%;
background: var(–primary); color: #fff;
border: none; border-radius: 50px;
padding: 12px 20px;
font-family: ‘Nunito’, sans-serif; font-weight: 800; font-size: 0.95rem;
cursor: pointer; margin-bottom: 8px;
}
.popup-btn-no {
display: block; width: 100%;
background: transparent; color: var(–text-light);
border: 1px solid var(–border); border-radius: 50px;
padding: 10px 20px;
font-family: ‘Inter’, sans-serif; font-size: 0.85rem;
cursor: pointer;
}
@media (max-width: 600px) {
.prize-grid { grid-template-columns: 1fr; }
.related-grid { grid-template-columns: 1fr 1fr; }
}
Ninja Kitchen x Primal Kitchen
Saucy Spring Giveaway
Ninja Kitchen and Primal Kitchen are teaming up to give 3 lucky winners a Ninja CRISPi glass air fryer plus Primal Kitchen Grass-Fed Dairy Dressings — everything you need for fresh, flavorful spring meals!
What Is the Ninja x Primal Kitchen Saucy Spring Giveaway?
Two of the biggest names in clean eating and kitchen tech are joining forces for one of the most exciting spring giveaways of 2026. Ninja Kitchen and Primal Kitchen Foods are teaming up to give three lucky winners everything they need to cook fresh, flavorful, real-ingredient meals this season.
Each winner receives a Ninja CRISPi glass air fryer — Ninja’s sleek, compact countertop air fryer with a glass cooking vessel — plus a set of Primal Kitchen Grass-Fed Dairy Dressings to keep meals saucy and delicious. The total approximate retail value of each prize bundle is $269.90.
Entry is completely free and takes less than a minute on Instagram. The giveaway runs from March 7 through March 15, 2026 — so you have a very short window to enter. Act fast!
“No Purchase Necessary. 18+. Ends 3/15/2026 at 11:59 pm ET. See link in bio for rules and complete details.” — Official Rules
The Prizes — Ninja CRISPi + Primal Kitchen Dressings
Each of the 3 winners receives the same prize bundle — a Ninja CRISPi glass air fryer paired with a set of Primal Kitchen Grass-Fed Dairy Dressings. Here’s a breakdown of what’s included:
The total approximate retail value of each prize bundle is $269.90. Prizes are non-transferable and cannot be exchanged for cash. Three separate winners will each receive the full bundle — so your odds are 3x better than a single-winner giveaway of the same size!
About the Ninja CRISPi
The Ninja CRISPi is one of Ninja’s most popular compact air fryers, featuring a see-through glass cooking vessel so you can watch your food cook without opening the lid. It delivers crispy, golden results with significantly less oil than traditional frying — perfect for spring meals like roasted veggies, chicken, fish, and more.
About Primal Kitchen Grass-Fed Dairy Dressings
Primal Kitchen is known for making clean, real-ingredient condiments and dressings. Their Grass-Fed Dairy Dressings are made with grass-fed dairy and contain no artificial sweeteners, refined sugars, or soy. They’re perfect for salads, dipping, and drizzling over air-fried proteins — exactly the kind of “saucy” spring meals this giveaway is all about.
How to Enter Step by Step
Entry is via Instagram and requires three simple actions. Here’s exactly what to do:
-
1Share the Giveaway Post
Go to the official Ninja Kitchen Instagram post at instagram.com/p/DVmIysdCayt/ and share it to your Instagram Stories or feed. This is the first required entry action. -
2Comment and Tag a Friend
Leave a comment on the post and tag your favorite foodie friend. This is your entry comment — tag someone you’d love to cook with this spring! -
3Follow Both Accounts
Follow both @ninjakitchen AND @primalkitchenfoods on Instagram. Both follows are required — following only one account will not complete your entry. -
4Keep Your Account Public
Make sure your Instagram account is set to public during the giveaway period. Private accounts cannot be verified for entry requirements and may be disqualified. -
5Wait for the Winner Announcement
The giveaway closes March 15, 2026 at 11:59 PM ET. Winners will be contacted via Instagram DM. Keep an eye on your message requests!
Who Can Enter — Eligibility
This giveaway is open to most U.S. residents — but note that Alaska and Hawaii are excluded. Here’s the full breakdown:
| Requirement | Details |
|---|---|
| Residency | 48 contiguous U.S. states + Washington, D.C. — Void in Alaska & Hawaii |
| Age | 18 years of age or older |
| Entry Method | Share post + comment/tag + follow both @ninjakitchen & @primalkitchenfoods |
| Account Requirement | Public Instagram account required during giveaway period |
| Entry Limit | One entry per person |
| Sponsor | SharkNinja / Ninja Kitchen & Primal Kitchen Foods |
| Instagram Affiliation | Not sponsored, administered, or associated with Instagram |
If you live in Alaska or Hawaii, unfortunately this giveaway is void in your state. All other U.S. residents 18+ are eligible to enter.
Timeline & Key Dates
-
March 7, 2026Giveaway opens — Ninja Kitchen posts the giveaway on Instagram
-
March 7–15, 2026Entry window — share, comment/tag, and follow both accounts to enter
-
March 15, 2026 — 11:59 PM ETEntry deadline — all entries must be completed before this time
-
After March 15, 2026Winner selection — 3 winners randomly chosen from all eligible entries
-
Winner NotificationWinners contacted via Instagram DM — check your message requests and respond promptly
-
Prize FulfillmentAllow 4–6 weeks for prize delivery after winner verification
Tips to Maximize Your Chances
📱 Make Your Account Public Right Now
This is the most important tip. If your Instagram account is set to private, Ninja Kitchen cannot verify that you completed the entry requirements (sharing, following, commenting). Switch your account to public before entering and keep it public until the winners are announced after March 15.
👥 Tag a Real Foodie Friend
The comment/tag step is required for entry. Tag someone who would genuinely love this prize — a friend who’s into healthy cooking, clean eating, or kitchen gadgets. Tagging real, active accounts is better than tagging inactive ones.
✅ Follow BOTH Accounts
You must follow both @ninjakitchen AND @primalkitchenfoods. Following only one account will not complete your entry. Double-check that you’re following both before the deadline — and stay following through the winner announcement.
📬 Check Your Instagram DMs After March 15
Winners are notified via Instagram DM. If you don’t follow Ninja Kitchen, their message may land in your Message Requests folder rather than your main inbox. After March 15, check both your main DMs and your Message Requests folder regularly so you don’t miss a win notification.
⏰ Enter Before March 15 — Only 3 Days Left!
This is a very short giveaway — only about 8 days total. With the deadline on March 15, you need to act now. The sooner you enter, the more time you have to make sure all three entry requirements are properly completed.
Frequently Asked Questions
More Free Sweepstakes to Enter
Ready to Enter Free?
Click below to go to the official Ninja Kitchen Instagram giveaway post. Share it, comment and tag a foodie friend, and follow both @ninjakitchen and @primalkitchenfoods to enter for a chance to win! Closes March 15, 2026.
Enter on Instagram 🌷
Ninja CRISPi Air Fryer!
Each winner gets a Ninja CRISPi glass air fryer worth ~$179.99 — see your food cook in real time!
3 Winners!
Three separate winners each get the full prize bundle — your odds are 3x better than a single-winner giveaway!
Closes March 15!
Only a few days left to enter — share, comment/tag, and follow both accounts before the deadline!
Check Your DMs!
Winners are notified via Instagram DM — check your Message Requests folder after March 15!
Ready to Enter?
Jump to the entry button — 3 winners each get a Ninja CRISPi air fryer + Primal Kitchen Dressings!
document.addEventListener(‘DOMContentLoaded’, function() {
// ── COUNTDOWN ──
var deadline = new Date(‘2026-03-15T23:59:00-04:00’).getTime();
function updateCountdown() {
var now = Date.now();
var diff = deadline – now;
if (diff 0 ? (scrollTop / docHeight) * 100 : 0;
var bar = document.getElementById(‘xp-bar’);
if (bar) bar.style.width = Math.min(pct, 100) + ‘%’;
});
// ── FAQ ACCORDION ──
document.querySelectorAll(‘.faq-q’).forEach(function(btn) {
btn.addEventListener(‘click’, function() {
var item = this.closest(‘.faq-item’);
if (!item) return;
var isOpen = item.classList.contains(‘open’);
document.querySelectorAll(‘.faq-item.open’).forEach(function(el) { el.classList.remove(‘open’); });
if (!isOpen) item.classList.add(‘open’);
});
});
// ── AUTO-SCROLL ──
var scrolling = false;
var scrollInterval = null;
var factTimers = [];
var skipShown = false;
var skipPopup = document.getElementById(‘skip-popup’);
function triggerFact(id) {
var el = document.getElementById(id);
if (el) {
el.style.display = ‘block’;
setTimeout(function() { el.style.display = ‘none’; }, 4500);
}
}
function startAutoScroll() {
if (scrolling) return;
scrolling = true;
scrollInterval = setInterval(function() {
var scrollTop = window.scrollY || document.documentElement.scrollTop;
var docHeight = document.documentElement.scrollHeight – window.innerHeight;
if (scrollTop >= docHeight – 10) { stopAutoScroll(); return; }
window.scrollBy(0, 5);
var pct = docHeight > 0 ? (scrollTop / docHeight) * 100 : 0;
if (!skipShown && pct >= 50) {
skipShown = true;
if (skipPopup) skipPopup.style.display = ‘block’;
}
}, 16);
factTimers.push(setTimeout(function() { triggerFact(‘fact1’); }, 6000));
factTimers.push(setTimeout(function() { triggerFact(‘fact2’); }, 16000));
factTimers.push(setTimeout(function() { triggerFact(‘fact3’); }, 28000));
factTimers.push(setTimeout(function() { triggerFact(‘fact4’); }, 40000));
}
function stopAutoScroll() {
scrolling = false;
if (scrollInterval) { clearInterval(scrollInterval); scrollInterval = null; }
factTimers.forEach(function(t) { clearTimeout(t); });
factTimers = [];
}
var startBtn = document.getElementById(‘scroll-start-btn’);
if (startBtn) {
startBtn.addEventListener(‘click’, function(e) {
e.preventDefault();
startAutoScroll();
});
}
window.addEventListener(‘wheel’, function() { stopAutoScroll(); });
window.addEventListener(‘touchmove’, function() { stopAutoScroll(); });
var skipYes = document.getElementById(‘skip-yes’);
var skipNo = document.getElementById(‘skip-no’);
if (skipYes) {
skipYes.addEventListener(‘click’, function() {
stopAutoScroll();
if (skipPopup) skipPopup.style.display = ‘none’;
var enterSection = document.getElementById(‘enter-now’);
if (enterSection) enterSection.scrollIntoView({ behavior: ‘smooth’ });
});
}
if (skipNo) {
skipNo.addEventListener(‘click’, function() {
if (skipPopup) skipPopup.style.display = ‘none’;
startAutoScroll();
});
}
});
Helpful Freebie Mom Guides
Keep going