@import url(https://fonts.googleapis.com/css2?family=Lora:wght@600;700&family=Poppins:wght@400;500;700&display=swap);.auth-modal-backdrop{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:modalSlideIn .3s ease-out;background:#faf8f5;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;padding:2rem;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{background:none;border:none;border-radius:50%;color:#718096;cursor:pointer;font-size:1.25rem;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s ease}.auth-modal-close:hover{background-color:#e2e8f0;color:#2d3748}.auth-modal-header{margin-bottom:2rem;text-align:center}.auth-modal-header h2{color:#2d3748;font-family:Lora,serif;font-size:1.875rem;font-weight:600;margin-bottom:.5rem}.auth-modal-header p{color:#718096;font-family:Poppins,sans-serif;font-size:.875rem}.auth-form{gap:1.5rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#2d3748;font-family:Poppins,sans-serif;font-size:.875rem}.form-group input{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:Poppins,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:all .2s ease}.form-group input:focus{border-color:#6b8e23;box-shadow:0 0 0 3px #6b8e231a;outline:none}.form-group input.error{border-color:#f56565}.form-group input.error:focus{border-color:#f56565;box-shadow:0 0 0 3px #f565651a}.error-message{color:#f56565;font-family:Poppins,sans-serif;font-size:.75rem;margin-top:.25rem}.submit-error{background-color:#fed7d7;border-radius:6px;margin:0;padding:.75rem;text-align:center}.auth-submit-btn{background-color:#6b8e23;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .2s ease}.auth-submit-btn:hover:not(:disabled){background-color:#5a7a1f;transform:translateY(-1px)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-submit-btn i{margin-right:.5rem}.auth-switch{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem;text-align:center}.auth-switch p{color:#718096;margin:0}.auth-switch p,.auth-switch-btn{font-family:Poppins,sans-serif;font-size:.875rem}.auth-switch-btn{background:none;border:none;color:#6b8e23;cursor:pointer;font-weight:500;text-decoration:underline}.auth-switch-btn:hover{color:#5a7a1f}.clerk-auth-container{margin-bottom:1rem;width:100%}.clerk-auth-form{max-width:100%!important;width:100%!important}.clerk-auth-card{background:#0000!important;box-shadow:none!important;padding:0!important}.clerk-avatar{align-items:center!important;border-radius:50%!important;display:flex!important;height:36px!important;justify-content:center!important;overflow:hidden!important;width:36px!important}@media (max-width:480px){.auth-modal{margin:1rem;padding:1.5rem}.auth-modal-header h2{font-size:1.5rem}.form-group input{padding:.625rem .875rem}.auth-submit-btn{padding:.75rem 1.25rem}}.navbar{background:linear-gradient(135deg,#ffecd2,#fcb69f);box-shadow:0 4px 12px #0000001a;position:fixed;top:0;transition:background .3s ease,box-shadow .3s ease;width:100%;z-index:999}.navbar-scrolled{background:linear-gradient(135deg,#fcb69f,#ffecd2);box-shadow:0 6px 16px #00000026}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:.75rem 1.5rem}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{color:#333;font-size:1.4rem;font-weight:700;text-decoration:none}.logo-icon{color:#ff7e5f;font-size:1.6rem;margin-right:8px}.nav-menu{gap:1.5rem}.nav-item,.nav-menu{align-items:center;display:flex}.nav-item{color:#444;font-size:1rem;font-weight:500;text-decoration:none;transition:color .3s ease}.nav-item.active,.nav-item:hover{color:#ff7e5f}.nav-icon{font-size:1.1rem;margin-right:6px}.nav-auth-btn{align-items:center;background:#1bb267;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;margin-left:1rem;padding:.5rem 1.2rem;transition:background .2s}.nav-auth-btn:hover{background:#007f4e}.nav-profile-wrapper{display:inline-block;margin-left:1rem;position:relative}.nav-profile-btn{align-items:center;background:none;border:none;border-radius:8px;color:#007f4e;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1rem;font-weight:500;padding:.5rem .8rem;transition:background .2s}.nav-profile-btn:hover{background:#e6f7f0}.nav-profile-avatar{align-items:center;background:#1bb267;border-radius:50%;color:#fff;display:flex;font-family:Lora,serif;font-size:1.2rem;height:2rem;justify-content:center;margin-right:.5rem;width:2rem}.nav-profile-dropdown{background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000014;min-width:160px;padding:.5rem 0;position:absolute;right:0;top:110%;z-index:10}.nav-profile-dropdown-item{align-items:center;background:none;border:none;color:#007f4e;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1rem;padding:.75rem 1.2rem;text-align:left;transition:background .2s;width:100%}.nav-profile-dropdown-item:hover{background:#e6f7f0}.mobile-menu-icon{color:#333;cursor:pointer;display:none;font-size:1.6rem}@media screen and (max-width:768px){.nav-menu{align-items:center;background:#fff8f3;flex-direction:column;gap:1rem;left:0;opacity:0;padding:1.2rem 0;pointer-events:none;position:absolute;right:0;top:100%;transform:translateY(-150%);transition:transform .4s ease,opacity .4s ease}.nav-menu.active{box-shadow:0 8px 20px #00000026;opacity:1;pointer-events:all;transform:translateY(0)}.mobile-menu-icon{display:block}}.recipe-card{background:#fff;border:1px solid #ececec;border-radius:16px;box-shadow:0 4px 16px #23252614;cursor:pointer;height:100%;margin-bottom:2rem}.recipe-card:hover{box-shadow:0 12px 32px #23252621;transform:translateY(-6px) scale(1.01)}.recipe-image-container{height:210px;width:100%}.recipe-image{transition:transform .3s}.recipe-card:hover .recipe-image{transform:scale(1.06)}.recipe-overlay{align-items:flex-end;background:linear-gradient(180deg,#2325260d,#2325262e);bottom:0;display:flex;justify-content:space-between;left:0;padding:1.1rem;position:absolute;right:0;top:0}.recipe-badges{gap:.4rem}.badge{background:#f5f6fa;border:1.5px solid #d1d5db;border-radius:16px;box-shadow:0 1px 4px #2325260a;color:#232526;font-family:Poppins,sans-serif;font-size:.82rem;letter-spacing:.5px;padding:.32rem .85rem;transition:background .2s,color .2s}.badge.vegetarian{background:#f3ffe6;border-color:#b6e388;color:#232526}.badge.vegan{background:#e6fff7;border-color:#7be0ad;color:#232526}.badge.gluten-free{background:#fffbe6;border-color:#ffe066;color:#232526}.save-button{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:0 1px 4px #23252612;color:#232526;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.save-button:hover{background:#fff;transform:scale(1.1)}.save-button.saved{background:#fff;color:#e53e3e}.recipe-match-info{background:#232526eb;border-radius:0 0 12px 12px;padding:.5rem;text-align:center}.match-count{font-family:Poppins,sans-serif;font-size:.78rem;font-weight:500}.recipe-content{flex-grow:1;gap:.7rem;padding:1.7rem 1.3rem 1.3rem}.recipe-title{color:#232526;font-family:Lora,serif;font-size:1.22rem;font-weight:700;margin-bottom:.7rem}.recipe-meta{align-items:center;color:#414345;font-family:Poppins,sans-serif;font-size:.93rem;gap:1.2rem;margin-bottom:1.2rem}.recipe-servings,.recipe-time{align-items:center;display:flex;gap:.5rem}.recipe-button{background:#232526;border-radius:8px;color:#fff;display:inline-block;font-family:Poppins,sans-serif;font-weight:600;letter-spacing:.5px;margin-top:auto;padding:.82rem 1rem;text-align:center;text-decoration:none;transition:background .2s,color .2s,transform .2s;width:100%}.recipe-button:hover{background:#414345;color:#fff;transform:translateY(-1px)}@media (max-width:768px){.recipe-image-container{height:160px}.recipe-content{gap:.5rem;padding:1rem}.recipe-title{font-size:1.08rem}.recipe-meta{font-size:.85rem;gap:.7rem}.save-button{height:36px;width:36px}.recipe-overlay{padding:.7rem}}.footer{background:linear-gradient(135deg,#232526,#414345);box-shadow:0 -4px 16px #00000014;color:#fff;font-family:Poppins,Segoe UI,Arial,sans-serif;padding:2.5rem 1rem 1.2rem}.footer-content{grid-gap:2.5rem;border-bottom:1px solid #333;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 auto;max-width:1200px;padding-bottom:1.5rem}.footer-section h3,.footer-section h4{color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:1px;margin-bottom:.7rem}.footer-section p{color:#e0e0e0;font-size:1rem;line-height:1.6}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section ul li{margin:.5rem 0}.footer-section ul li a{color:#e0e0e0;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s}.footer-section ul li a:hover{color:#fff}.social-links{display:flex;gap:1.2rem;margin-top:.7rem}.social-link{align-items:center;background:#333;border-radius:50%;color:#fff;display:flex;font-size:1.3rem;height:38px;justify-content:center;transition:background .2s,color .2s;width:38px}.social-link:hover{background:#fff;color:#232526}.footer-bottom{color:#e0e0e0;font-size:.95rem;letter-spacing:.5px;margin-top:1.2rem;text-align:center}.home{display:flex;flex-direction:column;min-height:100vh}.hero{background:linear-gradient(135deg,#232526,#414345);color:#fff;overflow:hidden;padding:120px 20px;position:relative;text-align:center}.hero:before{animation:zoomIn 20s infinite alternate;background:url(https://images.unsplash.com/photo-1490645935967-10de6ba17061?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80) 50%/cover;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.hero-content{margin:0 auto;max-width:800px;position:relative;z-index:1}.hero-title{animation:fadeInDown 1s ease;color:#fff;font-size:3.5rem;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px #0003}.hero-subtitle{animation:fadeInUp 1s ease;margin-bottom:40px}.search-container{animation:fadeIn 1.5s ease;background:#fff;border-radius:30px;box-shadow:0 5px 15px #23252614;display:flex;margin:0 auto 30px;max-width:600px;overflow:hidden;position:relative;transition:transform .3s ease}.search-container:hover{transform:translateY(-2px)}.search-input{border:none;color:#232526;flex:1 1;outline:none;padding:15px 20px}.search-button{align-items:center;background:#232526;display:flex;font-weight:600;gap:10px;padding:15px 30px;transition:all .3s ease}.search-button:hover{background:#414345}.quick-filters{display:flex;gap:15px;justify-content:center;margin-top:20px}.filter-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:25px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:10px 20px;transition:all .3s ease}.filter-btn:hover{background:#fff3;transform:translateY(-2px)}.quick-filters .filter-btn{background:#fff;border:1px solid #232526;color:#232526;font-weight:500}.quick-filters .filter-btn:hover{background:#232526;color:#fff}.section-title{color:#232526;font-size:2.5rem;font-weight:700;margin-bottom:40px;position:relative;text-align:center}.section-title:after{background:#ff7e5f;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:50px}.featured-recipes{background-color:#f5f6fa;padding:80px 20px}.recipe-grid{grid-gap:30px;background:none;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.trending-now{background-color:#fff;padding:80px 20px}.trending-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.trending-card{background:#f5f6fa;border:1px solid #e0e0e0;border-radius:15px;box-shadow:0 5px 15px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.trending-card:hover{box-shadow:0 15px 30px #00000026;transform:translateY(-5px) scale(1.02)}.trending-image{height:200px;object-fit:cover;transition:transform .3s ease;width:100%}.trending-card:hover .trending-image{transform:scale(1.1)}.trending-content{background:#fff;padding:20px}.trending-content h3{color:#232526;font-size:1.2rem;margin:0 0 10px}.trending-meta{color:#414345;display:flex;font-size:.9rem;justify-content:space-between}.trending-meta span{align-items:center;display:flex;gap:5px}.loading-spinner{color:#e74c3c;font-size:2rem;padding:40px;text-align:center}.categories{background-color:#f5f6fa;padding:80px 20px}.category-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1200px}.category-card{align-items:center;background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;color:#2c3e50;display:flex;flex-direction:column;gap:15px;padding:30px;position:relative;text-align:center;text-decoration:none;transition:all .3s ease}.category-card:before{background:linear-gradient(135deg,#ff47571a,#ff6b811a);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.category-card:hover:before{opacity:1}.category-card i{color:#ff4757;font-size:2.5rem;transition:transform .3s ease}.category-card:hover i{transform:scale(1.2)}.category-card span{font-size:1.2rem;font-weight:600}.category-card:hover{box-shadow:0 15px 30px #00000026;transform:translateY(-10px)}.testimonials{background-color:#fff;padding:80px 20px}.testimonial-cards{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}.testimonial-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.testimonial-card:before{background:linear-gradient(135deg,#ff47570d,#ff6b810d);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.testimonial-card:hover:before{opacity:1}.testimonial-card:hover{box-shadow:0 15px 30px #00000026;transform:translateY(-5px)}.testimonial-content{display:flex;flex-direction:column;gap:20px;position:relative}.quote-icon{color:#ff47571a;font-size:3rem;left:-10px;position:absolute;top:-20px}.testimonial-content p{color:#2c3e50;font-style:italic;line-height:1.6;position:relative;z-index:1}.testimonial-author{align-items:center;display:flex;gap:15px}.author-avatar{border:2px solid #ff4757;border-radius:50%;height:50px;object-fit:cover;transition:transform .3s ease;width:50px}.testimonial-card:hover .author-avatar{transform:scale(1.1)}.author-info h4{color:#2c3e50;font-weight:600;margin:0}.author-info span{color:#7f8c8d;font-size:.9rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{transform:scale(1)}to{transform:scale(1.1)}}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.section-title{font-size:2rem}.search-container{border-radius:15px;flex-direction:column}.search-button{border-radius:0 0 15px 15px}.quick-filters{flex-wrap:wrap}.filter-btn{font-size:.9rem;padding:8px 15px}}.suggestions-container{background:#fff;border-radius:0 0 15px 15px;box-shadow:0 5px 15px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{align-items:center;border-bottom:1px solid #0000000d;display:flex;gap:10px;padding:12px 20px;transition:all .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#f8f9fa;color:#e74c3c}.suggestion-item i{color:#7f8c8d;font-size:.9rem}.no-more-recipes{align-items:center;color:#232526;display:flex;flex-direction:column;font-size:1.2rem;font-weight:600;gap:1rem;margin:2.5rem 0 1.5rem;text-align:center}.no-more-recipes img{max-width:180px;opacity:.8}.about-page{display:flex;flex-direction:column;min-height:100vh;padding-top:80px}.about-container{flex:1 1;margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.about-hero{background:linear-gradient(135deg,#f5f6fa,#e9ecef);border-radius:16px;box-shadow:0 6px 24px #23252612;color:#232526;margin-bottom:3.5rem;padding:4rem 1rem 2.5rem;text-align:center}.hero-content h1{color:#232526;font-size:3rem;font-weight:800;letter-spacing:1px;margin-bottom:.5rem}.hero-subtitle{color:#414345;font-size:1.2rem;margin:0 auto;max-width:600px;opacity:.9}.about-mission{margin-bottom:4rem}.mission-content{align-items:center;display:flex;gap:2.5rem}.mission-text{flex:1 1}.mission-text h2{color:#232526;font-size:2.2rem;margin-bottom:1.5rem;position:relative}.mission-text h2:after{background-color:#ff7e5f;bottom:-.5rem;content:"";height:3px;left:0;position:absolute;width:60px}.mission-text p{color:#555;font-size:1.05rem;line-height:1.7;margin-bottom:1.2rem}.mission-image{border-radius:14px;box-shadow:0 6px 24px #23252612;flex:1 1;overflow:hidden}.mission-image img{display:block;height:100%;object-fit:cover;width:100%}.about-features{margin-bottom:4rem;text-align:center}.about-features h2{color:#232526;display:inline-block;font-size:2.2rem;margin-bottom:2.5rem;position:relative}.about-features h2:after{background-color:#ff7e5f;bottom:-.5rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:#fff;border-radius:14px;box-shadow:0 4px 16px #23252614;margin-bottom:1.5rem;padding:2.2rem 1.5rem}.feature-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-10px)}.feature-icon{color:#232526;font-size:2.5rem;margin-bottom:1.2rem}.feature-card h3{color:#232526;font-size:1.3rem;margin-bottom:1rem}.feature-card p{color:#414345;line-height:1.6}.about-story{margin-bottom:4rem}.story-content{align-items:center;display:flex;gap:2.5rem}.story-image{border-radius:14px;box-shadow:0 6px 24px #23252612;flex:1 1;overflow:hidden}.story-image img{display:block;height:100%;object-fit:cover;width:100%}.story-text{flex:1 1}.story-text h2{color:#232526;font-size:2.2rem;margin-bottom:1.5rem;position:relative}.story-text h2:after{background-color:#ff7e5f;bottom:-.5rem;content:"";height:3px;left:0;position:absolute;width:60px}.story-text p{color:#555;font-size:1.05rem;line-height:1.7;margin-bottom:1.2rem}.about-team{margin-bottom:4rem;text-align:center}.about-team h2{color:#232526;display:inline-block;font-size:2.2rem;margin-bottom:1rem;position:relative}.about-team h2:after{background-color:#ff7e5f;bottom:-.5rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.team-intro{color:#666;font-size:1.1rem;margin:0 auto 3rem;max-width:700px}.team-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.team-card{background-color:#fff;border-radius:12px;box-shadow:0 5px 20px #0000000d;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.team-image{height:250px;overflow:hidden}.team-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.team-card:hover .team-image img{transform:scale(1.05)}.team-info{padding:1.5rem;text-align:left}.team-info h3{color:#333;font-size:1.3rem;margin-bottom:.3rem}.team-role{color:#ff6b6b;font-size:.95rem;font-weight:500;margin-bottom:1rem}.team-bio{color:#666;font-size:.95rem;line-height:1.6}.about-values{margin-bottom:4rem;text-align:center}.about-values h2{color:#232526;display:inline-block;font-size:2.2rem;margin-bottom:2.5rem;position:relative}.about-values h2:after{background-color:#ff7e5f;bottom:-.5rem;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.values-container{grid-gap:2.2rem;display:grid;gap:2.2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.value-item{background-color:#fff;border-radius:12px;box-shadow:0 5px 20px #0000000d;padding:2rem;text-align:left}.value-item h3{color:#232526;font-size:1.3rem;margin-bottom:1rem;padding-bottom:.5rem;position:relative}.value-item h3:after{background-color:#ff6b6b;bottom:0;content:"";height:2px;left:0;position:absolute;width:40px}.value-item p{color:#414345;line-height:1.6}@media (max-width:992px){.mission-content,.story-content{flex-direction:column;gap:2rem}.story-content{flex-direction:column-reverse}.hero-content h1{font-size:2.5rem}}@media (max-width:768px){.about-hero{padding:3rem 1rem}.hero-content h1{font-size:2rem}.hero-subtitle{font-size:1rem}.about-features h2,.about-team h2,.about-values h2,.mission-text h2,.story-text h2{font-size:1.8rem}.features-grid,.team-grid,.values-container{grid-template-columns:1fr}}@media (max-width:480px){.about-hero{padding:2rem 1rem}.hero-content h1{font-size:1.8rem}.about-features h2,.about-team h2,.about-values h2,.mission-text h2,.story-text h2{font-size:1.6rem}}.contact-page{background:linear-gradient(135deg,#f5f6fa,#e9ecef);min-height:100vh;padding-top:80px}.contact-container{margin:0 auto;max-width:1200px;padding:2rem 1.5rem}.contact-header{margin-bottom:3rem;text-align:center}.contact-header h1{color:#232526;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.contact-header p{color:#414345;font-size:1.1rem;margin:0 auto;max-width:700px}.contact-content{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:4rem}.contact-info{flex:1 1}.contact-form-container,.contact-info{background:#fff;border-radius:16px;box-shadow:0 6px 24px #23252612;min-width:300px;padding:2.2rem}.contact-form-container{flex:1.5 1}.contact-form-container h2,.contact-info h2{color:#232526;font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.contact-form-container h2:after,.contact-info h2:after{background-color:#232526;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.contact-details{margin-bottom:2rem}.contact-item{align-items:flex-start;display:flex;margin-bottom:1.5rem}.contact-icon{align-items:center;background-color:#e9ecef;border-radius:50%;color:#232526;display:flex;font-size:1.5rem;height:40px;justify-content:center;margin-right:1rem;min-width:40px}.contact-text h3{color:#2e3e42;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.contact-text p{color:#666;margin:.2rem 0}.social-links h3{color:#232526;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.social-icons{display:flex;gap:1rem}.social-icon{align-items:center;background-color:#232526;border-radius:50%;color:#fff;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:background .2s,color .2s;width:40px}.social-icon:hover{background-color:#fff;border:1px solid #232526;color:#232526}.contact-form{display:flex;flex-direction:column}.form-group{margin-bottom:1.5rem}.form-group label{color:#232526;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background:#f5f6fa;border:1.5px solid #e0e0e0;border-radius:5px;color:#232526;font-family:Poppins,sans-serif;font-size:1rem;padding:.8rem 1rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#232526;outline:none}.form-group input.error,.form-group textarea.error{border-color:#e74c3c}.error-message{color:#e74c3c;display:block;font-size:.85rem;margin-top:.5rem}.submit-button{align-self:flex-start;background-color:#232526;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:.9rem 2rem;transition:background .2s,color .2s}.submit-button:hover{background-color:#414345;color:#fff;transform:translateY(-2px)}.submit-button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.form-success{background-color:#e8f5e9;border-left:4px solid #232526;border-radius:5px;margin-top:1rem;padding:1.5rem}.form-success h3{color:#232526;font-size:1.2rem;margin-bottom:.5rem}.form-success p{color:#414345}.faq-section{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d;margin-top:2rem;padding:2rem}.faq-section h2{color:#2e3e42;font-size:1.8rem;font-weight:600;margin-bottom:2rem;text-align:center}.faq-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}.faq-item{background-color:#f9f9f9;border-radius:8px;padding:1.5rem;transition:all .3s ease}.faq-item:hover{box-shadow:0 10px 20px #0000000d;transform:translateY(-5px)}.faq-item h3{color:#2e3e42;font-size:1.2rem;font-weight:600;margin-bottom:.8rem}.faq-item p{color:#666;line-height:1.6}@media (max-width:768px){.contact-header h1{font-size:2rem}.contact-content{flex-direction:column}.faq-container{grid-template-columns:1fr}.contact-form-container,.contact-info{width:100%}.submit-button{align-self:center;width:100%}}@media (max-width:576px){.contact-container{padding:1.5rem 1rem}.contact-header h1{font-size:1.8rem}.contact-header p{font-size:1rem}.contact-form-container h2,.contact-info h2,.faq-section h2{font-size:1.5rem}.faq-item{padding:1.2rem}}.categories-page{display:flex;flex-direction:column;min-height:100vh;padding-top:80px}.categories-container{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem 1rem;width:100%}.categories-header{margin-bottom:2.5rem;text-align:center}.categories-header h1{align-items:center;color:#333;display:flex;font-size:2.5rem;justify-content:center;margin-bottom:.5rem}.utensils-icon{color:#ff6b6b;margin-right:.75rem}.categories-header p{color:#666;font-size:1.1rem;margin:0 auto;max-width:600px}.categories-search-filter{margin-bottom:2.5rem}.search-input-container{margin:0 auto 1.5rem;max-width:600px}.filter-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.filter-button{background-color:#f5f5f5;border:1px solid #ddd;border-radius:20px;color:#555;cursor:pointer;font-size:.9rem;padding:.6rem 1.2rem;transition:all .2s ease}.filter-button:hover{background-color:#eee}.filter-button.active{background-color:#ff6b6b;border-color:#ff6b6b;color:#fff}.categories-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.category-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.category-card:hover{box-shadow:0 8px 25px #00000026}.category-link{color:inherit;display:block;text-decoration:none}.category-image-container{height:180px;overflow:hidden;position:relative}.category-image{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.category-card:hover .category-image{transform:scale(1.05)}.category-overlay{background:linear-gradient(0deg,#000000b3,#0000);bottom:0;display:flex;justify-content:flex-end;left:0;padding:1rem;position:absolute;right:0}.recipe-count{background-color:#ff6b6be6;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:.3rem .8rem}.category-content{padding:1.2rem}.category-title{color:#333;font-size:1.3rem;margin-bottom:.5rem}.category-description{color:#666;font-size:.9rem;line-height:1.5}.no-categories{padding:3rem 1rem;text-align:center}.no-categories h2{color:#333;font-size:1.8rem;margin-bottom:1rem}.no-categories p{color:#666;margin-bottom:1.5rem}.clear-search-btn{border-radius:30px;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:background-color .2s ease}@media (max-width:768px){.categories-header h1{font-size:2rem}.categories-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.filter-buttons{gap:.5rem}.filter-button{font-size:.85rem;padding:.5rem 1rem}}@media (max-width:480px){.categories-header h1{font-size:1.8rem}.categories-header p{font-size:1rem}.categories-grid{gap:1.2rem;grid-template-columns:1fr}.filter-buttons{flex-direction:row;justify-content:flex-start;overflow-x:auto;padding-bottom:.5rem}.filter-button{flex-shrink:0}}.favorites-page{background:#f6f7fb;min-height:80vh;padding-bottom:2rem}.favorites-container{margin:0 auto;max-width:1100px;padding:2.5rem 1.5rem 1rem}.favorites-header{margin-bottom:2rem;text-align:center}.favorites-header h1{align-items:center;color:#007f4e;display:flex;font-family:Lora,serif;font-size:2.2rem;gap:.5rem;justify-content:center;margin-bottom:.5rem}.favorites-header .heart-icon{color:#1bb267}.favorites-header p{color:#555;font-size:1.1rem}.favorites-search{display:flex;justify-content:center;margin-bottom:2rem}.search-input-container{max-width:400px;width:100%}.search-icon{color:#1bb267;left:14px}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:Poppins,sans-serif;padding:.75rem 1rem .75rem 2.5rem;transition:border .2s}.search-input:focus{border-color:#1bb267}.clear-search{color:#888;font-size:1.2rem;right:10px}.favorites-content{margin-top:1.5rem}.favorites-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.loading-container{min-height:300px}.loading-spinner{border:5px solid #ff6b6b33}.no-favorites{align-items:center;color:#555;display:flex;flex-direction:column;margin-top:3rem;text-align:center}.no-favorites h2{color:#007f4e;font-family:Lora,serif;font-size:1.5rem;margin-bottom:.5rem}.no-favorites p{color:#666;margin-bottom:1.5rem}.explore-btn{background:#1bb267;border-radius:8px;color:#fff;display:inline-block;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:500;padding:.7rem 1.5rem;text-decoration:none;transition:background .2s}.explore-btn:hover{background:#007f4e}@media (max-width:768px){.favorites-header h1{font-size:2rem}.favorites-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:480px){.favorites-container{padding:1.5rem 1rem}.favorites-header h1{font-size:1.8rem}.favorites-grid{grid-template-columns:1fr}}.search-results-page{display:flex;flex-direction:column;min-height:100vh;padding-top:80px}.search-results-container{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem 1rem;width:100%}.search-header{margin-bottom:2rem}.search-header h1{color:#333;font-size:2.2rem;margin-bottom:1.5rem}.search-header h1 span{color:#ff6b6b;font-weight:500}.search-form{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.search-input-container{flex:1 1;min-width:250px;position:relative}.search-icon{color:#666;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:1px solid #ddd;border-radius:30px;box-shadow:0 2px 8px #0000000d;font-size:1rem;padding:.9rem 1rem .9rem 2.5rem;transition:all .3s ease;width:100%}.search-input:focus{border-color:#ff6b6b;box-shadow:0 2px 12px #ff6b6b26;outline:none}.clear-search{background:none;border:none;color:#999;cursor:pointer;font-size:1rem;line-height:1;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.clear-search:hover{color:#ff6b6b}.search-button{background-color:#ff6b6b;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:1rem;padding:.9rem 1.5rem;transition:background-color .2s ease;white-space:nowrap}.search-button:hover{background-color:#ff5252}.filter-toggle{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:30px;color:#555;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.9rem 1.5rem;transition:all .2s ease;white-space:nowrap}.filter-toggle:hover{background-color:#eee}.filter-toggle.active{background-color:#ff6b6b;border-color:#ff6b6b;color:#fff}.filters-section{background-color:#f9f9f9;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:2rem;overflow:hidden;padding:1.5rem}.filters-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group h3{color:#333;font-size:1.1rem;margin-bottom:1rem}.filter-options{flex-direction:column;gap:.75rem}.filter-option{align-items:center;color:#555;display:flex;font-size:.95rem}.filter-option input[type=checkbox]{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.filter-checkbox{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:18px;margin-right:.75rem;position:relative;transition:all .2s ease;width:18px}.filter-option input[type=checkbox]:checked~.filter-checkbox{background-color:#ff6b6b;border-color:#ff6b6b}.filter-option input[type=checkbox]:checked~.filter-checkbox:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:5px}.range-slider-container{display:flex;flex-direction:column;gap:.5rem}.range-slider{-webkit-appearance:none;appearance:none;background:#ddd;border-radius:3px;height:6px;outline:none;width:100%}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#ff6b6b;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:18px;width:18px}.range-slider::-moz-range-thumb{background:#ff6b6b;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:18px;width:18px}.range-value{color:#666;font-size:.9rem;text-align:right}.filter-actions{border-top:1px solid #eee;display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.clear-filters{background-color:initial;border:1px solid #ddd;border-radius:30px;color:#666;cursor:pointer;font-size:.9rem;padding:.7rem 1.2rem;transition:all .2s ease}.clear-filters:hover{background-color:#f5f5f5}.apply-filters{background-color:#ff6b6b;border:none;border-radius:30px;color:#fff;cursor:pointer;font-size:.9rem;padding:.7rem 1.2rem;transition:background-color .2s ease}.apply-filters:hover{background-color:#ff5252}.results-info{color:#666;font-size:.95rem;margin-bottom:1.5rem}.loading-container{color:#666;padding:4rem 0}.loading-spinner{border:4px solid #ff6b6b33;margin-bottom:1.5rem}.no-results{padding:4rem 0;text-align:center}.no-results h2{color:#333;font-size:1.8rem;margin-bottom:1rem}.no-results p{color:#666;margin-bottom:1.5rem}.no-results-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.clear-filters-btn,.clear-search-btn{border-radius:30px;cursor:pointer;font-size:.95rem;padding:.8rem 1.5rem;transition:all .2s ease}.clear-search-btn{background-color:#ff6b6b;border:none;color:#fff}.clear-search-btn:hover{background-color:#ff5252}.clear-filters-btn{background-color:initial;border:1px solid #ddd;color:#666}.clear-filters-btn:hover{background-color:#f5f5f5}@media (max-width:768px){.search-header h1{font-size:1.8rem}.filters-container{gap:1.2rem;grid-template-columns:1fr}.recipes-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:480px){.search-form{align-items:stretch;flex-direction:column}.filter-toggle,.search-button{width:100%}.recipes-grid{gap:1.2rem;grid-template-columns:1fr}.filter-actions{flex-direction:column;gap:.75rem}.apply-filters,.clear-filters{width:100%}}.recipe-details-page{background-color:#f9f9f9;min-height:100vh;padding-bottom:2rem}.recipe-details-container{margin:0 auto;max-width:1200px;padding:2rem 1.5rem}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:2rem;text-align:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:5px solid #0000001a;height:50px;width:50px}.recipe-header{justify-content:space-between;margin-bottom:2rem}.back-button,.recipe-header{align-items:center;display:flex}.back-button{color:#333;font-weight:600;gap:.5rem;text-decoration:none;transition:color .3s}.back-button:hover{color:#ff6b6b}.recipe-actions{display:flex;gap:1rem}.action-button{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:50px;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.action-button:hover{background-color:#f0f0f0}.favorite-button.active{background-color:#ff6b6b;border-color:#ff6b6b;color:#fff}.recipe-hero{grid-gap:2rem;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem;overflow:hidden}.recipe-image-container{height:100%;min-height:400px}.recipe-badges{left:1rem;position:absolute;top:1rem}.badge{border-radius:50px;color:#fff;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.vegetarian{background-color:#4caf50}.vegan{background-color:#8bc34a}.gluten-free{background-color:#ff9800}.dairy-free{background-color:#2196f3}.recipe-info{display:flex;flex-direction:column;justify-content:center;padding:2rem}.recipe-title{color:#333;font-size:2.5rem;line-height:1.2;margin-bottom:1rem}.recipe-meta{gap:1.5rem;margin-bottom:1.5rem}.meta-item{align-items:center;color:#666;display:flex;gap:.5rem}.recipe-summary{color:#555;line-height:1.6}.recipe-tabs{border-bottom:1px solid #ddd;display:flex;margin-bottom:2rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-weight:600;padding:1rem 1.5rem;transition:all .3s}.tab-button:hover{color:#ff6b6b}.tab-button.active{border-bottom-color:#ff6b6b;color:#ff6b6b}.recipe-content{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.ingredients-section h2,.instructions-section h2,.nutrition-section h2{color:#333;margin-bottom:1rem}.servings-info{color:#666;font-style:italic;margin-bottom:1.5rem}.ingredients-list{list-style:none;padding:0}.ingredient-item{border-bottom:1px solid #eee;display:flex;padding:.75rem 0}.ingredient-amount{color:#333;font-weight:600;width:30%}.ingredient-name{color:#555;width:70%}.instructions-list{counter-reset:step-counter;list-style:none;padding:0}.instruction-step{display:flex;gap:1.5rem;margin-bottom:2rem;position:relative}.step-number{align-items:center;background-color:#ff6b6b;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:600;height:40px;justify-content:center;width:40px}.step-content{flex:1 1}.step-content p{color:#333;line-height:1.6;margin-bottom:1rem}.step-equipment,.step-ingredients{color:#666;font-size:.9rem;margin-bottom:.5rem}.step-time{align-items:center;color:#ff6b6b;display:flex;font-size:.9rem;font-weight:500;gap:.5rem}.nutrition-info{color:#666;font-style:italic}.nutrition-info,.nutrition-summary{margin-bottom:2rem}.nutrition-macros{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-around}.macro-chart{height:200px;position:relative;width:200px}.macro-chart-inner{border-radius:50%;height:100%;overflow:hidden;position:relative;width:100%}.macro-segment{height:100%;left:0;position:absolute;top:0;transform-origin:50% 50%;width:100%}.protein{background-color:#4caf50}.carbs{background-color:#2196f3}.fat{background-color:#ff9800}.macro-chart-center{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 0 10px #0000001a;display:flex;flex-direction:column;height:120px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:120px}.calories-value{color:#333;font-size:1.8rem;font-weight:700}.calories-label{color:#666;font-size:.9rem}.macro-legend{display:flex;flex-direction:column;gap:1rem}.macro-legend-item{align-items:center;display:flex;gap:.75rem}.legend-color{border-radius:4px;height:20px;width:20px}.legend-label{color:#333;font-weight:500}.legend-value{color:#333;font-weight:600;margin-left:auto}.nutrition-details{margin-top:3rem}.nutrition-details h3{color:#333;margin-bottom:1.5rem}.nutrition-table{display:flex;flex-direction:column;gap:.5rem}.nutrition-row{align-items:center;border-bottom:1px solid #eee;display:grid;grid-template-columns:2fr 1fr 2fr;padding:.75rem 0}.nutrition-name{color:#333;font-weight:500}.nutrition-amount{color:#666;text-align:center}.percent-bar{background-color:#eee;border-radius:5px;height:10px;overflow:hidden;position:relative}.percent-fill{background-color:#ff6b6b;border-radius:5px;height:100%;left:0;position:absolute;top:0}.percent-bar span{color:#666;font-size:.8rem;font-weight:600;position:absolute;right:0;top:-18px}.similar-recipes{margin-top:3rem}.similar-recipes h2{color:#333;margin-bottom:1.5rem}.similar-recipes-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.similar-recipe-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 15px #00000014;color:inherit;overflow:hidden;text-decoration:none;transition:transform .3s ease,box-shadow .3s ease}.similar-recipe-card:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-5px)}.similar-recipe-image{height:200px;overflow:hidden}.similar-recipe-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.similar-recipe-card:hover .similar-recipe-image img{transform:scale(1.05)}.similar-recipe-content{padding:1.5rem}.similar-recipe-content h3{color:#333;font-size:1.2rem;margin-bottom:1rem}.similar-recipe-meta{color:#666;display:flex;font-size:.9rem;justify-content:space-between}.similar-recipe-meta span{align-items:center;display:flex;gap:.5rem}@media (max-width:992px){.recipe-hero{grid-template-columns:1fr}.recipe-image-container{min-height:300px}.nutrition-row{grid-template-columns:1fr 1fr}.nutrition-percent{grid-column:span 2;margin-top:.5rem}}@media (max-width:768px){.recipe-header{align-items:flex-start;flex-direction:column;gap:1rem}.recipe-actions{justify-content:space-between;width:100%}.recipe-title{font-size:2rem}.recipe-meta{flex-direction:column;gap:.75rem}.similar-recipes-grid{grid-template-columns:1fr}}@media (max-width:576px){.recipe-details-container{padding:1rem}.recipe-content{padding:1.5rem}.ingredient-item{flex-direction:column;gap:.25rem}.ingredient-amount,.ingredient-name{width:100%}.instruction-step{flex-direction:column;gap:1rem}.step-number{margin-bottom:.5rem}.nutrition-macros{flex-direction:column}.tab-button{font-size:.9rem;padding:.75rem}}@media print{.recipe-header,.recipe-tabs,.similar-recipes,footer{display:none}.recipe-hero{grid-template-columns:1fr}.recipe-image-container{display:none}.recipe-content,.recipe-details-container{box-shadow:none;padding:0}.recipe-info{padding:0}.ingredients-section,.instructions-section,.nutrition-section{page-break-inside:avoid}}.ingredient-search-page{background-color:#f9f9f9;display:flex;flex-direction:column;min-height:100vh;padding-top:80px}.ingredient-search-container{flex:1 1;margin:0 auto;max-width:1200px;padding:2rem 1.5rem;width:100%}.page-header{margin-bottom:2.5rem;text-align:center}.page-header h1{color:#2e3e42;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.page-header p{color:#666;font-size:1.1rem;margin:0 auto;max-width:700px}.search-section{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d;margin-bottom:2.5rem;padding:2rem}.ingredients-input-container{margin-bottom:1.5rem;position:relative}.input-wrapper{align-items:center;display:flex}.ingredient-input{border:1px solid #ddd;border-radius:30px 0 0 30px;flex:1 1;font-size:1rem;outline:none;padding:.8rem 1rem;transition:border-color .3s}.ingredient-input:focus{border-color:#ff6b6b}.add-ingredient-btn{background-color:#ff6b6b;border:none;border-radius:0 30px 30px 0;color:#fff;cursor:pointer;padding:.8rem 1.2rem;transition:background-color .3s}.add-ingredient-btn:hover{background-color:#ff5252}.add-ingredient-btn:disabled{background-color:#ccc;cursor:not-allowed}.suggestions-list{background-color:#fff;border:1px solid #ddd;border-radius:0 0 10px 10px;border-top:none;box-shadow:0 5px 10px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.suggestion-item{cursor:pointer;padding:.8rem 1rem;transition:background-color .2s}.suggestion-item:hover{background-color:#f5f5f5}.ingredients-list-container{margin-bottom:1.5rem}.ingredients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.ingredients-header h3{color:#2e3e42;font-size:1.2rem;font-weight:600}.clear-all-btn{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:.9rem;transition:color .2s}.clear-all-btn:hover{color:#ff5252;text-decoration:underline}.selected-ingredients{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1rem}.ingredient-tag{align-items:center;background-color:#f0f0f0;border-radius:30px;color:#333;display:flex;font-size:.95rem;gap:.5rem;padding:.5rem 1rem}.remove-ingredient-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:.8rem;justify-content:center;padding:0;transition:color .2s}.remove-ingredient-btn:hover{color:#ff5252}.no-ingredients-message{color:#999;font-style:italic;padding:1.5rem;text-align:center}.search-controls{display:flex;gap:1rem;margin-top:1.5rem}.filter-toggle-btn{background-color:#f0f0f0;border:none;border-radius:30px;color:#333;cursor:pointer;font-size:.95rem;padding:.8rem 1.5rem;transition:background-color .2s}.filter-toggle-btn:hover{background-color:#e0e0e0}.search-btn{align-items:center;background-color:#ff6b6b;border:none;border-radius:30px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.8rem 1.5rem;transition:background-color .3s,transform .2s}.search-btn:hover{background-color:#ff5252;transform:translateY(-2px)}.search-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.filters-container{border-top:1px solid #eee;margin-top:1.5rem;overflow:hidden;padding-top:1.5rem}.filters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.2rem}.filters-header h3{color:#2e3e42;font-size:1.1rem;font-weight:600}.reset-filters-btn{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:.9rem;transition:color .2s}.reset-filters-btn:hover{color:#ff5252;text-decoration:underline}.filters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filter-group h4{color:#2e3e42;font-size:1rem;font-weight:500;margin-bottom:.8rem}.filter-options{display:flex;flex-wrap:wrap;gap:.5rem}.filter-option{background-color:#f0f0f0;border:none;border-radius:20px;color:#333;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.filter-option:hover{background-color:#e0e0e0}.filter-option.active{background-color:#ff6b6b;color:#fff}.error-message{background-color:#ffebee;border-left:4px solid #f44336;border-radius:4px;margin-bottom:1.5rem;padding:1rem 1.5rem}.error-message p{color:#d32f2f;margin:0}.results-section{margin-top:2rem}.results-section h2{color:#2e3e42;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ff6b6b4d;border-radius:50%;border-top-color:#ff6b6b;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{color:#666;font-size:1.1rem}.recipes-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s}.recipe-card:hover{box-shadow:0 10px 25px #0000001a;transform:translateY(-5px)}.recipe-image-container{overflow:hidden;padding-top:10%;position:relative}.recipe-image{height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .5s;width:100%}.recipe-card:hover .recipe-image{transform:scale(1.05)}.recipe-match-info{background:linear-gradient(0deg,#000000b3,#0000);bottom:0;color:#fff;font-size:.9rem;left:0;padding:1rem;position:absolute;right:0}.recipe-content{display:flex;flex:1 1;flex-direction:column;padding:1.2rem}.recipe-title{color:#2e3e42;font-size:1.1rem;font-weight:600;line-height:1.4;margin-bottom:.8rem}.recipe-meta{color:#666;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.8rem}.recipe-meta span{align-items:center;display:flex;gap:.3rem}.recipe-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.badge{border-radius:20px;font-size:.75rem;font-weight:500;padding:.3rem .6rem}.vegetarian{background-color:#e8f5e9;color:#2e7d32}.vegan{background-color:#f1f8e9;color:#558b2f}.gluten-free{background-color:#fff8e1;color:#ff8f00}.no-results-message{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0000000d;padding:3rem;text-align:center}.no-results-message h2{color:#2e3e42;font-size:1.5rem;margin-bottom:.8rem}.no-results-message p{color:#666;font-size:1rem}@media (max-width:768px){.page-header h1{font-size:2rem}.search-section{padding:1.5rem}.filters-grid{gap:1rem;grid-template-columns:1fr}.recipes-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.search-controls{flex-direction:column}.filter-toggle-btn,.search-btn{width:100%}}@media (max-width:576px){.ingredient-search-container{padding:1.5rem 1rem}.page-header h1{font-size:1.8rem}.page-header p{font-size:1rem}.recipes-grid{grid-template-columns:1fr}.ingredient-input{font-size:.9rem}.add-ingredient-btn{padding:.8rem 1rem}}.notfound-container{align-items:center;background:#f6f7fb;display:flex;flex-direction:column;font-family:Poppins,Segoe UI,Arial,sans-serif;justify-content:center;min-height:80vh;text-align:center}.notfound-icon{margin-bottom:1.5rem}.notfound-title{color:#007f4e;font-family:Lora,serif;font-size:2.5rem;margin-bottom:.5rem}.notfound-message{color:#555;font-size:1.1rem;margin-bottom:2rem}.notfound-home-btn{align-items:center;background:#1bb267;border-radius:8px;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:background .2s}.notfound-home-btn:hover{background:#007f4e}*{box-sizing:border-box;margin:0;padding:0}body{background:#f6f7fb;color:#22223b;font-family:Poppins,Segoe UI,Arial,sans-serif;line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{color:#007f4e;font-family:Lora,serif;font-weight:700}a{color:#1bb267;text-decoration:none;transition:color .2s}a:hover{color:#007f4e}#root{min-height:100vh}