.site-footer{margin-top:auto;background:#dce9d2;box-shadow:0 -2px 8px #00000014}.footer{padding:2.5rem 0 1.5rem}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.footer-column{display:flex;flex-direction:column;gap:.5rem}.footer-heading{font-size:1rem;font-weight:700;color:#374151;margin-bottom:.5rem}.footer-link{background:none;border:none;padding:0;text-align:left;font-size:.9rem;color:#1f2933;cursor:pointer;opacity:.9;transition:color .2s ease,transform .15s ease}.footer-link:hover{color:#0f766e;transform:translate(2px)}.footer-text{font-size:.9rem;color:#4b5563;line-height:1.6}.footer-cta{margin-top:.75rem;align-self:flex-start;padding:.5rem 1rem;border-radius:999px;border:2px solid #99ac8d;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .2s ease}.footer-cta:hover{background:#f7f4ea;border-color:#0f766e;color:#0f766e}.footer-bottom{max-width:1200px;margin:1.5rem auto 0;padding:0 2rem;font-size:.8rem;color:#6b7280;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--primary-cream)}.sticky-header{position:sticky;top:0;z-index:100}.sticky-header .header-auth-bar{position:sticky;top:0;z-index:101}.sticky-header .header{position:sticky;top:0;z-index:100}.header{background:#99ac8d;color:#fff;padding:.25rem 0 0;box-shadow:0 2px 8px var(--shadow);position:relative}.header-content{max-width:1200px;margin:0 auto;padding:.5rem 2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;z-index:1;gap:.5rem}.header-logo-container{display:flex;justify-content:center;align-items:center;width:100%;position:relative}.header-auth-bar{background:#99ac8df2;padding:.5rem 0;box-shadow:0 2px 4px #0000001a}.header-auth-bar-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.header-logo{max-height:120px;width:auto;object-fit:contain}.header-auth-buttons{display:flex;gap:.5rem;align-items:center}.header-auth-btn{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:15px;font-weight:600;transition:all .2s ease;background:transparent;border:2px solid transparent;font-size:.85rem;cursor:pointer;position:relative;display:flex;align-items:center;gap:.3rem}.header-auth-btn:hover{background:#ffffff26;transform:translateY(-1px)}.header-auth-btn.active{background:#fff;color:var(--sage-green);border:2px solid white}.header-auth-btn.active:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.nav{background:transparent;padding:.25rem 0;margin-bottom:0;position:relative;z-index:1}.nav-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:center;flex-wrap:nowrap;gap:.5rem}.mobile-menu-button{display:none;background:transparent;border:none;cursor:pointer;padding:.5rem;z-index:1001;position:relative;margin-left:auto}.hamburger-icon{display:flex;flex-direction:column;justify-content:space-around;width:24px;height:20px;background:transparent;border:none;cursor:pointer;padding:0}.hamburger-icon span{width:100%;height:3px;background:#fff;border-radius:3px;transition:all .3s ease;transform-origin:center}.hamburger-icon.open span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav.mobile-nav{position:fixed;top:0;right:-100%;width:280px;max-width:85vw;height:100vh;background:var(--sage-green);padding:0;margin:0;z-index:1000;transition:right .3s ease;box-shadow:-2px 0 8px #0003;overflow-y:auto;-webkit-overflow-scrolling:touch}.nav.mobile-nav-open{right:0}.nav.mobile-nav .nav-content{flex-direction:column;padding:4rem 0 2rem;gap:0;max-width:100%;height:100%}.nav.mobile-nav .nav-link{width:100%;padding:1rem 1.5rem;border-radius:0;border:none;border-bottom:1px solid rgba(255,255,255,.1);justify-content:flex-start;text-align:left;font-size:1rem}.nav.mobile-nav .nav-link:hover{background:#ffffff1a;transform:none}.nav.mobile-nav .nav-link.active{background:#fff3;border-left:4px solid white}.bottom-nav{margin-top:auto;background:#99ac8d;box-shadow:0 -2px 8px var(--shadow);padding:.5rem 0 1rem}.bottom-nav .nav{margin-bottom:0}.nav-link{color:#fff;text-decoration:none;padding:.3rem .8rem;border-radius:15px;font-weight:600;transition:all .2s ease;background:transparent;border:2px solid transparent;font-size:.85rem;cursor:pointer;position:relative;display:flex;align-items:center;gap:.3rem}.nav-icon{font-size:.9rem;line-height:1}.nav-link:hover{background:#ffffff26;transform:translateY(-1px)}.nav-link.active{background:#fff;color:var(--sage-green);border:2px solid white}.nav-link.active:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:0 2rem 4rem;background:var(--primary-cream)}.home-page{text-align:center;padding:3rem 0}.home-page h2{font-size:2.5rem;color:var(--sage-green);margin-bottom:1rem;font-weight:700}.home-page p{font-size:1.1rem;color:var(--text-light);margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto}.recipe-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:2rem}.section-header{text-align:center;margin:3rem 0 2rem}.section-header h2{font-size:2.5rem;color:var(--sage-green);margin-bottom:.5rem;font-weight:700}.section-header p{font-size:1.1rem;color:var(--text-light)}.recipe-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow);transition:all .3s ease;display:flex;flex-direction:column;border:2px solid var(--sage-green)}.recipe-image{width:100%;position:relative;overflow:hidden;aspect-ratio:3 / 2;background:linear-gradient(135deg,#9fd3b566,#fceecb99)}.recipe-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.recipe-card:hover .recipe-image img{transform:scale(1.05)}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px var(--shadow-medium)}.recipe-header{padding:1.5rem;background-color:var(--sage-green);background-image:linear-gradient(#00000059,#00000059),url(/assets/genericfoodimage-Buf4AT0N.png);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff}.recipe-header h3{font-size:1.5rem;margin-bottom:.5rem;font-weight:700}.recipe-header p{opacity:.95;font-size:.95rem}.recipe-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recipe-ingredients{margin-bottom:1.5rem}.recipe-ingredients h4{color:var(--sage-green);font-size:1.1rem;margin-bottom:.75rem;font-weight:700}.recipe-ingredients ul{list-style:none;padding-left:0}.recipe-ingredients li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:var(--text-dark)}.recipe-ingredients li:before{content:"•";position:absolute;left:0;color:var(--sage-green);font-weight:700;font-size:1.2rem}.recipe-instructions{margin-bottom:1.5rem}.recipe-instructions h4{color:var(--sage-green);font-size:1.1rem;margin-bottom:.75rem;font-weight:700}.recipe-instructions ol{padding-left:1.5rem;color:var(--text-dark)}.recipe-instructions li{padding:.5rem 0}.ingredient-info-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(153,172,141,.2)}.ingredient-info-section h4{color:var(--sage-green);font-size:1.1rem;margin-bottom:1rem;font-weight:700}.ingredient-benefits{display:flex;flex-wrap:wrap;gap:.75rem}.ingredient-tag{background:var(--sage-green);padding:.5rem 1rem;border-radius:20px;font-size:.9rem;color:#fff;border:1px solid transparent;font-weight:600}.ingredient-tag strong{color:#fff;margin-right:.25rem}.what-do-ya-fancy-card{background:#fff;border:2px solid var(--sage-green);border-radius:16px;padding:3rem;margin:2rem auto;max-width:900px;box-shadow:0 2px 8px var(--shadow)}.ingredient-info-page{max-width:900px;margin:0 auto}.ingredient-grid{display:grid;gap:2rem;margin-top:2rem}.ingredient-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px var(--shadow);border:2px solid rgba(153,172,141,.3)}.ingredient-card h3{color:var(--sage-green);font-size:1.8rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;font-weight:700}.ingredient-card ul{list-style:none;padding-left:0}.ingredient-card li{padding:.75rem 0 .75rem 1.5rem;position:relative;color:var(--text-dark);border-bottom:1px solid rgba(153,172,141,.15)}.ingredient-card li:before{content:"✓";position:absolute;left:0;color:var(--sage-green);font-weight:700;font-size:1.2rem}.ingredient-card li:last-child{border-bottom:none}.back-to-top-btn{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background:var(--sage-green);color:#fff;border:2px solid white;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px var(--shadow);transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center;font-weight:700}.back-to-top-btn:hover{background:var(--zesty-yellow);transform:translateY(-4px);box-shadow:0 8px 20px var(--shadow-medium)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:1100;background:#0f172ae6;color:#f9fafb;padding:.75rem 0}.cookie-banner-content{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cookie-banner-text{font-size:.85rem;line-height:1.5;margin:0;flex:1}.cookie-banner-link{background:none;border:none;padding:0;margin:0;color:#a5f3fc;text-decoration:underline;font-size:.85rem;cursor:pointer}.cookie-banner-button{padding:.45rem 1rem;border-radius:999px;border:none;background:#22c55e;color:#022c22;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s ease,transform .1s ease}.cookie-banner-button:hover{background:#16a34a;transform:translateY(-1px)}.signup-promo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:flex-end;justify-content:center;z-index:1150;pointer-events:none}.signup-promo-modal{pointer-events:auto;width:100%;max-width:420px;margin:0 1rem 5rem;background:#fdfdf9;border-radius:16px;box-shadow:0 10px 30px #0f172a4d;padding:1.5rem 1.25rem 1.25rem;border:2px solid #99ac8d}.signup-promo-title{font-size:1.3rem;margin:0 0 .5rem;color:#1f2933}.signup-promo-text{margin:0 0 1rem;font-size:.95rem;color:#4b5563}.signup-promo-actions{display:flex;gap:.75rem;flex-wrap:wrap}.signup-promo-primary,.signup-promo-secondary{flex:1;min-width:0;padding:.6rem .9rem;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.signup-promo-primary{border:2px solid #99ac8d;background:#99ac8d;color:#fff}.signup-promo-primary:hover{background:#facc15;border-color:#facc15;color:#365314}.signup-promo-secondary{border:2px solid #e5e7eb;background:#fff;color:#4b5563}.signup-promo-secondary:hover{border-color:#d1d5db;background:#f9fafb}@media (max-width: 768px){.footer-content{padding:0 1.5rem;grid-template-columns:1fr}.footer{padding:2rem 0 1.25rem}.footer-bottom{padding:0 1.5rem;justify-content:center;text-align:center}.header-content{padding:.5rem 1rem;flex-direction:row;justify-content:center;align-items:center;gap:0;position:relative}.header-logo-container{width:auto;flex:0;margin:0 auto}.header-logo{max-height:60px}.header-auth-bar-content{padding:0 1rem}.header-auth-btn{padding:.4rem .8rem;font-size:.75rem}.mobile-menu-button{display:flex!important;align-items:center;justify-content:center;position:absolute;right:1rem;top:.5rem;margin-left:0}.nav:not(.mobile-nav){display:none}.mobile-menu-overlay{display:block}.main-content{padding:0 1rem 4rem}.home-page{padding:2rem 0}.home-page h2,.section-header h2{font-size:1.8rem}.home-page p,.section-header p{font-size:1rem;padding:0 1rem}.recipe-list{grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem}.recipe-header{padding:1rem}.recipe-header h3{font-size:1.3rem}.recipe-header p{font-size:.9rem}.recipe-body{padding:1rem}.what-do-ya-fancy-card{padding:1.5rem;margin:1rem;border-radius:12px}.back-to-top-btn{width:45px;height:45px;bottom:1rem;right:1rem;font-size:1.3rem}.ingredient-card{padding:1.5rem}.ingredient-card h3{font-size:1.5rem}}@media (max-width: 480px){.header-logo{max-height:60px}.header-auth-btn{padding:.35rem .6rem;font-size:.7rem}.nav-link{padding:.4rem .6rem;font-size:.7rem}.nav-icon{font-size:.8rem}.home-page h2,.section-header h2{font-size:1.5rem}.recipe-header h3{font-size:1.2rem}.recipe-list{gap:1rem}.what-do-ya-fancy-card{padding:1rem;margin:.5rem}.main-content{padding:0 .75rem 4rem}.section-header{margin:2rem 0 1.5rem}.recipe-card .recipe-header>div{flex-direction:column!important;gap:.75rem!important}.recipe-card .recipe-header>div>div:first-child{width:100%}.recipe-card button[type=button]{min-height:44px;min-width:44px}.recipe-card .recipe-body>div:last-child>div{flex-direction:column!important;gap:.75rem!important}.recipe-card .recipe-body>div:last-child>div>div:first-child,.recipe-card .recipe-body>div:last-child>div>div:last-child{width:100%;justify-content:center}}@media (max-width: 768px){button,.nav-link,.header-auth-btn{min-height:44px;min-width:44px}input,textarea,select{font-size:16px!important}}.privacy-policy-page{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem;line-height:1.7;color:#1f2933}.privacy-hero{background:linear-gradient(135deg,#bdf0e133,#fcf7e899);border-radius:18px;padding:2.5rem 2rem;margin-bottom:2.5rem;text-align:center;box-shadow:0 16px 40px #1f293314}.privacy-hero h1{margin-bottom:.75rem;font-size:clamp(2rem,3vw,2.8rem);color:#0f172a}.privacy-policy-page section{margin-bottom:2.25rem}.privacy-policy-page h2{font-size:clamp(1.35rem,2.2vw,1.8rem);margin-bottom:.75rem;color:#0f172a}.privacy-policy-page p{margin-bottom:1rem}.privacy-policy-page ul{margin:0 0 1rem 1.5rem;padding:0;list-style:disc;display:grid;gap:.85rem}.privacy-policy-page li{background:#ffffffb3;border-left:4px solid #2fb080;padding:.75rem 1rem;border-radius:12px;box-shadow:0 12px 24px #2fb08014}.privacy-policy-page strong{color:#0f766e}@media (max-width: 640px){.privacy-policy-page{padding:2rem 1rem 3.5rem}.privacy-hero{padding:2rem 1.5rem}.privacy-policy-page ul{margin-left:1.25rem}}.about-page{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem;line-height:1.7;color:#1f2933}.about-hero{background:linear-gradient(135deg,#9fd3b540,#fceecba6);border-radius:18px;padding:2.75rem 2.25rem;margin-bottom:2.75rem;box-shadow:0 16px 40px #1f293314}.about-hero h1{font-size:clamp(2rem,3vw,2.8rem);color:#0f172a;margin-bottom:.85rem}.about-section{margin-bottom:2.25rem}.about-section h2,.about-contact h2{font-size:clamp(1.35rem,2.2vw,1.8rem);margin-bottom:.75rem;color:#0f172a}.about-section ul{margin:0 0 1.25rem 1.5rem;padding:0;list-style:disc;display:grid;gap:.85rem}.about-section li{background:#ffffffbf;border-left:4px solid #2fb080;padding:.75rem 1rem;border-radius:12px;box-shadow:0 12px 24px #2fb08014}.about-contact{background:#0f766e14;border-radius:16px;padding:2rem;box-shadow:0 12px 32px #0f766e1f}.about-contact a{color:#0f766e;font-weight:600;text-decoration:none;margin-left:.35rem}.about-contact a:hover{text-decoration:underline}@media (max-width: 640px){.about-page{padding:2rem 1rem 3.5rem}.about-hero{padding:2.25rem 1.75rem}.about-section ul{margin-left:1.25rem}}.contact-page{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem;line-height:1.7;color:#1f2933}.contact-hero{background:linear-gradient(135deg,#fff0d6a6,#d1e7dd99);border-radius:18px;padding:2.75rem 2.25rem;margin-bottom:2.75rem;box-shadow:0 16px 40px #1f293314}.contact-hero h1{font-size:clamp(2rem,3vw,2.8rem);color:#0f172a;margin-bottom:.85rem}.contact-section{margin-bottom:2.25rem}.contact-section h2{font-size:clamp(1.35rem,2.2vw,1.8rem);margin-bottom:.75rem;color:#0f172a}.contact-section a{color:#0f766e;font-weight:600;text-decoration:none;margin-left:.35rem}.contact-section a:hover{text-decoration:underline}.contact-section br{margin-bottom:.35rem}@media (max-width: 640px){.contact-page{padding:2rem 1rem 3.5rem}.contact-hero{padding:2.25rem 1.75rem}}.faq-page{max-width:900px;margin:0 auto;padding:2rem}.faq-hero{text-align:center;margin-bottom:3rem;padding:2rem 0}.faq-hero h1{color:var(--sage-green);font-size:2.5rem;font-weight:700;margin-bottom:1rem}.faq-hero p{color:var(--text-light);font-size:1.1rem;line-height:1.6}.faq-section{margin-bottom:3rem;background:#fff;padding:2rem;border-radius:15px;box-shadow:0 4px 6px var(--shadow)}.faq-section h2{color:var(--sage-green);font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(153,172,141,.2)}.faq-item{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(153,172,141,.1)}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-item h3{color:var(--sage-green);font-size:1.2rem;font-weight:600;margin-bottom:.75rem}.faq-item p{color:var(--text-dark);line-height:1.7;margin:0}.faq-item a{color:var(--sage-green);text-decoration:none;font-weight:600;transition:all .2s}.faq-item a:hover{text-decoration:underline;color:var(--zesty-yellow)}.faq-section:last-child{text-align:center;background:var(--primary-cream);border:2px solid var(--sage-green)}.faq-section:last-child p{font-size:1.1rem;color:var(--text-dark)}@media (max-width: 768px){.faq-page{padding:1rem}.faq-hero h1{font-size:2rem}.faq-section{padding:1.5rem}.faq-section h2{font-size:1.5rem}.faq-item h3{font-size:1.1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-cream: #faf7f2;--primary-white: #ffffff;--sage-green: #99AC8D;--zesty-yellow: #f9d423;--text-dark: #2c2416;--text-light: #5a5a5a;--shadow: rgba(0, 0, 0, .08);--shadow-medium: rgba(0, 0, 0, .12)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--primary-cream);color:var(--text-dark);line-height:1.6;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width: 768px){button,.nav-link,.header-auth-btn,a.button{min-height:44px;min-width:44px;touch-action:manipulation}input,textarea,select{font-size:16px!important}*{-webkit-overflow-scrolling:touch}.recipe-card .recipe-body button{padding:.75rem 1rem!important;font-size:.9rem!important}.recipe-overview-stats{gap:1rem!important}.recipe-overview-stats>div{padding:.75rem 1rem!important;min-width:120px;flex:1 1 calc(50% - .5rem)!important}.shopping-list-input-container{flex-direction:column!important}.shopping-list-item{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.shopping-list-item>div:first-of-type{width:100%}.shopping-list-item button{width:100%;margin-top:.5rem}.shopping-list-summary{flex-direction:column!important;align-items:flex-start!important}.shopping-list-summary>div:last-child{width:100%;justify-content:flex-start!important}.profile-form-section{padding:1.5rem!important}.what-do-ya-fancy-card>div>div{flex-direction:column!important}.what-do-ya-fancy-card button{width:100%;margin-top:.5rem}.recipe-detail-header{flex-direction:column!important;gap:1rem!important}.recipe-detail-stats{flex-direction:column!important;gap:.5rem!important}.header-auth-bar span{font-size:.8rem!important}.meal-type-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.favorites-grid{grid-template-columns:1fr!important;gap:1rem!important}.recipe-finder-input{flex-direction:column!important}.recipe-finder-input button{width:100%;margin-top:.5rem}iframe{max-width:100%!important;height:400px!important}}@media (max-width: 480px){.meal-type-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.meal-type-grid button{padding:.75rem .5rem!important;font-size:.8rem!important}.meal-type-grid span:first-child{font-size:1.5rem!important}.recipe-card .recipe-header>div>div:last-child{align-self:flex-end}.shopping-list-summary button{width:100%!important;margin-top:.5rem}.profile-form-section{padding:1.5rem!important}.recipe-detail-page{padding:1rem!important}.suggested-recipes-grid{grid-template-columns:1fr!important;gap:1rem!important}}
