/* General Body Styles */ body { background-color: #FAF9F6; /* Light beige background */ color: #2D2D2D; /* Dark gray text */ font-family: 'Poppins', sans-serif; } /* Headings */ h1, h2, h3, h4, h5, h6 { color: #2D2D2D !important; font-weight: 700; } /* Buttons and Inputs */ input, button, .form-control, .form-select { border-radius: 12px; } .btn { border-radius: 50px !important; font-weight: 600; padding: 10px 24px; transition: all 0.3s ease; } /* Main Content */ .display-4 { font-weight: 700; color: #2D2D2D; } .lead { color: #666666; } /* Cards */ .card { background-color: #ffffff; border: none; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; } .card-body { color: #2D2D2D; } /* Forms */ .form-label { color: #2D2D2D; font-weight: 600; margin-bottom: 0.5rem; } .form-control, .form-select { background-color: #ffffff; border: 2px solid #EEEEEE; color: #2D2D2D; padding: 12px 16px; } .form-control:focus, .form-select:focus { background-color: #ffffff; border-color: #FF7F50; /* Orange accent */ box-shadow: 0 0 0 0.25rem rgba(255, 127, 80, 0.15); color: #2D2D2D; } .form-control::placeholder { color: #AAAAAA; } /* Buttons */ .btn-primary { background-color: #FF7F50 !important; /* Orange */ border-color: #FF7F50 !important; color: #ffffff !important; } .btn-primary:hover { background-color: #E66E45 !important; border-color: #E66E45 !important; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255, 127, 80, 0.3); } .btn-danger { background-color: #FF4B2B !important; border-color: #FF4B2B !important; color: #ffffff !important; } .btn-outline-secondary { border: 2px solid #EEEEEE; color: #666666; } .btn-outline-secondary:hover { background-color: #F8F8F8; color: #2D2D2D; border-color: #DDDDDD; } .btn-secondary { background-color: #EEEEEE; border: none; color: #666666; } .btn-secondary:hover { background-color: #DDDDDD; color: #2D2D2D; } /* Shopping List & Recipe Cards */ .recipe-card { background-color: #ffffff; border-radius: 20px; padding: 20px; margin-bottom: 20px; border: 1px solid #F0F0F0; } #recipe-cards-container, #shopping-list-container { max-height: 70vh; overflow-y: auto; padding: 10px; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: #DDDDDD; border-radius: 10px; } ::-webkit-scrollbar-thumb:hover { background: #CCCCCC; } /* Footer */ footer { border-top: 1px solid #EEEEEE; color: #999999; font-size: 0.9rem; } /* Shopping List Checkbox */ .list-group-item { background-color: transparent !important; border-bottom: 1px solid #F0F0F0 !important; padding: 15px 0 !important; color: #2D2D2D !important; } .list-group-item.checked .form-check-label { text-decoration: line-through; opacity: 0.5; } .form-check-input { width: 1.25em; height: 1.25em; border: 2px solid #DDDDDD; cursor: pointer; } .form-check-input:checked { background-color: #FF7F50; border-color: #FF7F50; } /* Unit buttons */ .unit-selector .btn { padding: 6px 12px !important; font-size: 0.85rem; } .unit-selector .btn-secondary { background-color: #FF7F50 !important; color: white !important; } /* Badges */ .bg-custom-green { background-color: #FFF0EB !important; color: #FF7F50 !important; font-weight: 700; border: 1px solid #FFE4DB; } /* Quantity Modifiers */ .btn-quantity-modifier { width: 28px; height: 28px; border-radius: 8px !important; display: inline-flex; align-items: center; justify-content: center; background-color: #F8F8F8; border: 1px solid #EEEEEE; color: #666666; padding: 0 !important; } .btn-quantity-modifier:hover { background-color: #FF7F50; color: white; border-color: #FF7F50; } /* Modal Styles */ .modal-content { background-color: #ffffff; border: none; border-radius: 24px; overflow: hidden; } .modal-header { border-bottom: 1px solid #F0F0F0; padding: 24px; } .modal-footer { border-top: 1px solid #F0F0F0; padding: 20px 24px; } /* Category Label */ .recipe-category-label { background-color: #FFF0EB; color: #FF7F50; padding: 4px 12px; border-radius: 8px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; } /* Category Filters */ #category-filters .btn { border: 2px solid #EEEEEE; background-color: #ffffff; color: #666666; font-size: 0.85rem; padding: 8px 16px !important; } #category-filters .btn.active { background-color: #FF7F50 !important; border-color: #FF7F50 !important; color: #ffffff !important; } /* Search Container */ #recipe-search { padding-left: 3rem; height: 54px; border-color: #EEEEEE; } .search-container .bi-search { left: 1.25rem; color: #AAAAAA; font-size: 1.1rem; } /* Recipe Card Image */ .card .card-img-top { height: 180px; object-fit: cover; border-top-left-radius: 20px; border-top-right-radius: 20px; } /* View Recipe Modal */ #view-recipe-ingredients { background-color: #F9F9F9; border-radius: 16px; padding: 20px; } #view-recipe-ingredients .list-group-item { border-bottom: 1px solid #EEEEEE !important; padding: 10px 0 !important; } #view-recipe-ingredients .list-group-item:last-child { border-bottom: none !important; } /* Auth Screen Styles */ .auth-screen { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; z-index: 1050; background-color: #ffffff; } .auth-image-container { background-image: url('../images/auth-bg.jpg'); background-size: cover; background-position: center; position: relative; } .auth-image-overlay { background: radial-gradient(circle at center, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 100%); width: 100%; height: 100%; } .auth-branding-content { background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 30px; padding: 60px 40px; max-width: 600px; box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2); } .auth-branding-content p.lead { color: rgba(255, 255, 255, 0.9) !important; } .auth-form-container { box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05); background-color: #ffffff; } .auth-form-container h2 { color: #2D2D2D; font-weight: 700; letter-spacing: -1px; } .auth-screen .form-control-lg { padding: 14px 20px; font-size: 1rem; border-radius: 14px; border: 2px solid #F5F5F5; background-color: #FAFAFA; } .auth-screen .form-control-lg:focus { background-color: #ffffff; border-color: #FF7F50; } #auth-nav.guest-nav { display: none !important; } body:has(#guest-view:not(.d-none)) .navbar { display: none !important; } /* Footer hidden on auth screen */ body:has(#guest-view:not(.d-none)) footer { display: none !important; } @media (max-width: 991.98px) { .auth-form-container { padding: 40px 20px !important; } } /* Print Styles */ @media print { body { background-color: white; } .card { box-shadow: none; border: 1px solid #EEE; } } @media (max-width: 768px) { .display-4 { font-size: 2rem; } }