:root{--bg: #f4f6f9;--bg-warm: #faf8f5;--card: #ffffff;--text: #1a2332;--muted: #5c6778;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff6ff;--accent-border: #bfdbfe;--line: #e2e8f0;--line-strong: #cbd5e1;--radius: 12px;--shadow: 0 2px 12px rgba(15, 23, 42, .07);--shadow-hover: 0 8px 28px rgba(15, 23, 42, .12)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg-warm);color:var(--text);line-height:1.45;min-height:100dvh}body.deal-modal-open{overflow:hidden}a{color:inherit;text-decoration:none}#app{min-height:100dvh}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 1px #0f172a0a}.brand{font-weight:700;letter-spacing:-.02em;font-size:1.05rem;color:var(--text)}.brand span{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:.75rem}.header-nav{display:flex;align-items:center;gap:.35rem 1rem;margin-left:auto;margin-right:.5rem}.header-nav-link{font-size:.88rem;font-weight:600;color:var(--muted);padding:.35rem .5rem;border-radius:8px;transition:color .12s ease,background .12s ease}.header-nav-link:hover{color:var(--accent);background:var(--accent-soft)}@media(max-width:480px){.header-nav-link{font-size:.82rem;padding:.3rem .4rem}}.count-pill{font-size:.8rem;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-border);padding:.35rem .75rem;border-radius:999px}.layout{max-width:1200px;margin:0 auto;padding:1.25rem 1rem 2.5rem}.affiliate-section{margin-bottom:1.75rem;padding:1.15rem 1.15rem 1.2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.affiliate-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.35rem}.affiliate-hub-link{font-size:.82rem;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.affiliate-hub-link:hover{color:var(--accent-hover)}.affiliate-review-link{display:inline-block;margin-top:.35rem;font-size:.78rem;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.affiliate-review-link:hover{color:var(--accent-hover)}.affiliate-heading{margin:0 0 .35rem;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.affiliate-heading:after{content:"";display:block;width:2.5rem;height:3px;margin-top:.45rem;background:var(--accent);border-radius:2px}.affiliate-sub{margin:0 0 .85rem;font-size:.85rem;color:var(--muted)}.affiliate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.affiliate-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.65rem .75rem;padding:.75rem .85rem;background:var(--bg);border:1px solid var(--line);border-radius:10px}@media(max-width:520px){.affiliate-row{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.affiliate-cta{grid-column:1 / -1;justify-self:stretch;text-align:center}}.affiliate-rank{display:flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;font-size:.85rem;font-weight:700;color:#fff;background:var(--accent);border-radius:8px}.affiliate-body{min-width:0}.affiliate-title{display:block;font-weight:600;font-size:.92rem;letter-spacing:-.01em;line-height:1.3;color:var(--text);text-decoration:underline;text-decoration-color:#2563eb4d;text-underline-offset:2px}.affiliate-title:hover{color:var(--accent);text-decoration-color:var(--accent)}.affiliate-blurb{margin:.3rem 0 0;font-size:.8rem;color:var(--muted);line-height:1.35}.affiliate-cta{flex-shrink:0;align-self:center;padding:.5rem .85rem;font-size:.75rem;font-weight:700;color:#fff;background:var(--accent);border-radius:8px;text-align:center;line-height:1.2;max-width:7.5rem}.affiliate-cta:hover{background:var(--accent-hover)}.affiliate-disclosure{margin:.85rem 0 0;font-size:.72rem;color:var(--muted);line-height:1.35}.hero{margin-bottom:1.25rem}.hero h1{margin:0 0 .4rem;font-size:clamp(1.5rem,4vw,2.1rem);letter-spacing:-.03em;color:var(--text)}.hero p{margin:0;color:var(--muted);font-size:.98rem;max-width:52ch}.filters-panel{margin-bottom:1rem;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.filters-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.filters-toolbar .search-wrap{flex:1;min-width:200px;margin:0}.filters-toolbar-right{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.search-wrap{margin-top:0}.search{width:100%;padding:.65rem .9rem;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search::placeholder{color:var(--muted)}.sort-label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--muted)}.sort-select{padding:.45rem .65rem;border-radius:8px;border:1px solid var(--line-strong);background:var(--card);color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.sort-select:focus{outline:none;border-color:var(--accent)}.filter-group{margin-bottom:.75rem}.filter-group:last-child{margin-bottom:0}.filter-group-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.45rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.4rem}.filter-chips--wrap{gap:.4rem .45rem}.filter-chip{padding:.38rem .75rem;font:inherit;font-size:.8rem;font-weight:500;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.filter-chip:hover{border-color:var(--accent-border);background:var(--accent-soft)}.filter-chip--active{color:#fff;background:var(--accent);border-color:var(--accent)}.filter-chip--active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-clear{padding:.45rem .75rem;font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);background:transparent;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer}.btn-clear:hover{color:var(--text);border-color:var(--muted)}.btn-primary{display:inline-block;padding:.75rem 1.5rem;font:inherit;font-size:.92rem;font-weight:700;color:#fff;background:var(--accent);border:none;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #2563eb40;transition:background .15s ease,transform .12s ease}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.load-more-wrap{display:flex;justify-content:center;margin-top:1.5rem}.results-bar{margin-bottom:.85rem}.results-count{margin:0;font-size:.85rem;font-weight:600;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}@media(min-width:720px){.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.15rem}}.card{display:flex;flex-direction:column;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card:hover{transform:translateY(-3px);border-color:var(--accent-border);box-shadow:var(--shadow-hover)}.card-image{aspect-ratio:4 / 3;width:100%;object-fit:cover;object-position:center;background:var(--bg);display:block}.card-body{padding:.65rem .85rem .8rem;display:flex;flex-direction:column;gap:.25rem;flex:1}.card-cat{display:inline-block;align-self:flex-start;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);padding:.2rem .45rem;border-radius:4px}.card-title{font-weight:600;font-size:.9rem;letter-spacing:-.01em;line-height:1.3;color:var(--text)}.card-meta{font-size:.76rem;color:var(--muted)}.recipe-top{max-width:480px;margin:0 auto}.recipe-hero{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.recipe-hero img{width:100%;aspect-ratio:9 / 16;max-height:min(72vh,640px);object-fit:cover;display:block;background:var(--bg)}@media(min-width:720px){.recipe-hero img{aspect-ratio:4 / 5;max-height:520px}}.recipe-panel{margin-top:1rem;padding:1rem 1.1rem 1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.recipe-cat-row{margin-bottom:.5rem}.recipe-panel h1{margin:0 0 .5rem;font-size:1.35rem;letter-spacing:-.02em}.recipe-intro{margin:0 0 .85rem;font-size:.9rem;line-height:1.55;color:var(--muted)}.recipe-actions{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.btn-download{width:100%;text-align:center}.share-group{display:flex;flex-direction:column;gap:.45rem}.share-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.share-buttons{display:flex;flex-wrap:wrap;gap:.45rem}.share-btn{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .75rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;text-decoration:none;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.share-btn:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}.share-btn--facebook:hover{border-color:#1877f2;background:#e7f3ff;color:#1877f2}.share-btn--copy{background:var(--card)}.recipe-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.fact{font-size:.85rem;padding:.35rem .65rem;border-radius:8px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.fact strong{color:var(--text);font-weight:600}.ingredients{margin:0;padding-left:1.1rem}.ingredients li{margin-bottom:.35rem;color:var(--text)}.ingredients li::marker{color:var(--accent)}.instructions{margin:0;padding-left:1.25rem}.instructions li{margin-bottom:.65rem;color:var(--text);line-height:1.5;font-size:.9rem}.instructions li::marker{color:var(--accent);font-weight:700}.section-label{margin:0 0 .5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.back-row{margin-bottom:1rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--muted)}.back-link:hover{color:var(--accent)}.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.footer-note{margin-top:2rem;font-size:.8rem;color:var(--muted);text-align:center}.explore-breadcrumb{font-size:.85rem;color:var(--muted);margin-bottom:1rem}.explore-breadcrumb a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.explore-hero{margin-bottom:1.25rem}.explore-hero h1{margin:0 0 .5rem;font-size:clamp(1.25rem,3.5vw,1.65rem);letter-spacing:-.02em;line-height:1.2}.explore-lead{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45}.explore-seo-intro{margin:.75rem 0 0;color:var(--text);font-size:.88rem;line-height:1.55;opacity:.92}.explore-related{margin-bottom:1.25rem}.explore-related-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.45rem;font-weight:700}.explore-chips{display:flex;flex-wrap:wrap;gap:.45rem}.explore-chips--inline{margin-top:.35rem}.explore-chip{display:inline-block;padding:.35rem .7rem;font-size:.78rem;font-weight:500;color:var(--text);background:var(--card);border:1px solid var(--line-strong);border-radius:999px;text-decoration:none;transition:border-color .12s ease,background .12s ease}.explore-chip:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.explore-chip--small{font-size:.72rem;padding:.28rem .55rem}.pseo-footer-nav{margin-bottom:1.15rem;padding:.85rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.pseo-footer-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.5rem;font-weight:700}.pseo-footer-links{display:flex;flex-wrap:wrap;gap:.5rem .75rem}.pseo-footer-link{font-size:.82rem;font-weight:500;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.pseo-footer-link:hover{color:var(--accent-hover)}.recipe-tags-row{margin-bottom:.75rem}.recipe-af-cta{margin:1rem 0 1.25rem;padding:.9rem 1rem;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius)}.recipe-af-cta-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.recipe-af-cta-text{margin:0 0 .75rem;font-size:.88rem;line-height:1.45;color:var(--text)}.recipe-af-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.recipe-af-cta-link{font-size:.82rem;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.recipe-af-cta-link:hover{color:var(--accent-hover)}.reel-hint{margin-top:.75rem;font-size:.78rem;color:var(--muted);line-height:1.4}.deal-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.deal-modal[hidden]{display:none}.deal-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.deal-modal-panel{position:relative;width:100%;max-width:400px;padding:1.35rem 1.25rem 1.25rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 80px #0f172a33;animation:deal-modal-in .2s ease-out}@keyframes deal-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.deal-modal-close{position:absolute;top:.5rem;right:.5rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer}.deal-modal-close:hover{color:var(--text);background:var(--bg)}.deal-modal-kicker{margin:0 0 .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700}.deal-modal-title{margin:0 0 .5rem;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;padding-right:2rem}.deal-modal-recipe{margin:0 0 1rem;font-size:.88rem;color:var(--muted)}.deal-modal-pick{padding:.85rem .9rem;margin-bottom:1rem;background:var(--bg);border:1px solid var(--line);border-radius:10px}.deal-modal-rank{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.35rem}.deal-modal-pick-title{margin:0 0 .35rem;font-size:.95rem;font-weight:600;line-height:1.25}.deal-modal-pick-blurb{margin:0;font-size:.8rem;color:var(--muted);line-height:1.35}.deal-modal-primary{display:block;width:100%;text-align:center;padding:.75rem 1rem;margin-bottom:.5rem;font-size:.95rem;font-weight:700;color:#fff;background:var(--accent);border-radius:10px;text-decoration:none}.deal-modal-primary:hover{background:var(--accent-hover)}.deal-modal-secondary{display:block;width:100%;padding:.65rem 1rem;font:inherit;font-size:.88rem;font-weight:600;color:var(--text);background:transparent;border:1px solid var(--line-strong);border-radius:10px;cursor:pointer}.deal-modal-secondary:hover{border-color:var(--accent);background:var(--accent-soft)}.deal-modal-foot{margin:.85rem 0 0;font-size:.68rem;color:var(--muted);line-height:1.35;text-align:center}.af-hero{margin-bottom:1.5rem}.af-section{margin-bottom:2rem}.af-section-title{margin:0 0 1rem;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.af-guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.af-guide-card{display:flex;flex-direction:column;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.af-guide-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.af-guide-card h3{margin:0 0 .45rem;font-size:.95rem;line-height:1.3;letter-spacing:-.01em}.af-guide-card p{margin:0;flex:1;font-size:.82rem;color:var(--muted);line-height:1.45}.af-guide-cta{margin-top:.75rem;font-size:.78rem;font-weight:700;color:var(--accent)}.af-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.af-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .15s ease,transform .12s ease}.af-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.af-card-link{display:block;color:inherit;flex:1}.af-card-image{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#fff;padding:.75rem;border-bottom:1px solid var(--line)}.af-card-body{padding:.85rem 1rem .65rem}.af-card-rank{display:inline-block;margin-bottom:.35rem;padding:.15rem .45rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:6px}.af-card-title{margin:0 0 .35rem;font-size:.92rem;line-height:1.35;letter-spacing:-.01em}.af-card-meta{margin:0 0 .4rem;font-size:.75rem;font-weight:600;color:var(--muted)}.af-card-blurb{margin:0;font-size:.8rem;color:var(--muted);line-height:1.4}.af-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem 1rem}.btn-outline{display:inline-block;padding:.45rem .85rem;font:inherit;font-size:.78rem;font-weight:600;color:var(--text);background:transparent;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.btn-outline:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btn-sm{padding:.45rem .85rem;font-size:.78rem}.af-review-chips{margin-top:.25rem}.af-article-body{margin-bottom:1.5rem}.af-article-p{margin:0 0 .85rem;font-size:.92rem;line-height:1.6;color:var(--text)}.af-faq{margin-bottom:1.5rem}.af-faq-item{margin-bottom:1rem;padding:.85rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:10px}.af-faq-item h3{margin:0 0 .35rem;font-size:.88rem;font-weight:700}.af-faq-item p{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.af-related{margin:1.25rem 0 .5rem}.af-review-hero{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:1.25rem 1.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}@media(max-width:640px){.af-review-hero{grid-template-columns:1fr}}.af-review-image{display:block;width:100%;max-width:280px;margin:0 auto;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:10px}.af-review-intro h1{margin:.35rem 0 .65rem;font-size:clamp(1.15rem,3vw,1.45rem);line-height:1.25;letter-spacing:-.02em}.af-review-verdict{margin:0 0 .65rem;font-size:.92rem;line-height:1.55;color:var(--text)}.af-review-bestfor{margin:0 0 .85rem;font-size:.85rem;color:var(--muted);line-height:1.45}.af-specs{display:flex;flex-wrap:wrap;gap:.45rem .75rem;margin-bottom:1rem}.af-specs .fact{font-size:.78rem;color:var(--muted)}.af-cta{margin-top:.25rem}.af-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}@media(max-width:560px){.af-pros-cons{grid-template-columns:1fr}}.af-pros,.af-cons{padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.af-pros{border-left:3px solid #22c55e}.af-cons{border-left:3px solid #f97316}.af-pros h2,.af-cons h2{margin:0 0 .55rem;font-size:.88rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.af-pros ul,.af-cons ul{margin:0;padding-left:1.1rem;font-size:.85rem;line-height:1.5;color:var(--text)}.af-review-section{margin-bottom:1.25rem}.af-review-section h2{margin:0 0 .55rem;font-size:1rem;font-weight:700;letter-spacing:-.01em}.af-review-section p{margin:0 0 .65rem;font-size:.9rem;line-height:1.6;color:var(--text)}.af-bottom-line{padding:1rem 1.1rem;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius)}.affiliate-note{margin-top:1rem;font-size:.72rem;color:var(--muted)}
