html, body { margin: 0 !important; padding: 0 !important; min-height: 100%; } .recipe-bg, .landing-page { background-color: #5d4a36 !important; background-image: url("https://www.transparenttextures.com/patterns/tileable-wood-colored.png") !important; background-size: 500px; background-attachment: fixed; } .landing-wrapper { width: 100%; height: 100vh; display: flex; flex-direction: column; overflow: hidden; } .recipe-card { background-color: #f4e4bc !important; background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png"); border: 1px solid #dccca7 !important; border-radius: 4px !important; padding: 40px !important; box-shadow: 0 35px 60px rgba(0, 0, 0, 0.5) !important; transition: none !important; } .recipe-title { font-family: 'Libre Baskerville', serif; font-size: 1.5rem !important; color: #1e1408; } .v-app-bar { background: transparent !important; box-shadow: none !important; } .brand-title { font-family: 'Libre Baskerville', serif; font-weight: 700; font-size: 2.8rem; background: linear-gradient(to bottom, #8c4a32 20%, #4a2a14 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1.1 !important; letter-spacing: -0.5px; filter: drop-shadow(1px 1px 0px rgba(255,255,255,0.1)); } .chat-title { font-family: 'Libre Baskerville', serif; font-weight: 700; font-size: 2.2rem; margin-top: 5px !important; margin-bottom: 8px; line-height: 1.0 !important; background: linear-gradient(to bottom, #8c4a32 20%, #4a2a14 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(1px 1px 0px rgba(255,255,255,0.1)); line-height: 1.1 !important; letter-spacing: -0.5px; } .brand-subtitle { font-family: 'Libre Baskerville', serif; color: #6d5e4a; font-size: 1.1rem; text-transform: uppercase; letter-spacing: 3px; } .feature-text { font-family: 'Libre Baskerville', serif; color: #5d4a36 !important; line-height: 1.6; max-width: 260px; margin: 0 auto; } .clear-btn-solid { background-color: #dccca7 !important; color: #4a3a2a !important; min-width: 56px !important; height: 56px !important; border-radius: 8px !important; display: flex !important; align-items: center !important; justify-content: center !important; } .drop-zone { width: 100%; background-color: rgba(62, 42, 20, 0.03) !important; border: 2px dashed #8c857b; border-radius: 12px; padding: 40px 20px; transition: all 0.3s ease; display: flex; flex-direction: column; align-items: center; justify-content: center; } .drop-zone:hover { border-color: #556b2f; background-color: rgba(85, 107, 47, 0.05) !important; } .drop-text { font-family: 'Libre Baskerville', serif !important; color: #5d4a36 !important; font-size: 1.1rem; text-align: center; } .drop-text span { color: #8c4a32; font-weight: bold; } .analyze-btn { background-color: #556b2f !important; color: #f4e4bc !important; font-family: 'Libre Baskerville', serif !important; height: 56px !important; border-radius: 8px !important; text-transform: none !important; } .column-btn { font-family: 'Libre Baskerville', serif !important; font-size: 1.1rem !important; background-color: #556b2f !important; color: #f4e4bc !important; transition: all 0.3s ease !important; text-transform: none !important; } .column-btn:hover { background-color: #2e1e0a !important; text-shadow: none !important; border-radius: 4px; } .nav-auth-btn, .nav-home-btn, .nav-btn { font-family: 'Libre Baskerville', serif !important; font-size: 1.5rem !important; color: #f4e4bc !important; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8) !important; transition: all 0.3s ease !important; text-transform: none !important; } .nav-auth-btn:hover, .nav-home-btn:hover, .nav-btn:hover { background-color: #f4e4bc !important; color: #2e1e0a !important; text-shadow: none !important; border-radius: 4px; } .separator { border-color: #dccca7 !important; opacity: 1; } .menu-text { font-family: 'Libre Baskerville', serif !important; color: #2e1e0a !important; font-weight: 600 !important; font-size: 1.1rem !important; } .menu-card { background-color: #f4e4bc !important; background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png") !important; border: 1px solid #dccca7 !important; border-radius: 4px !important; padding: 8px !important; color: #2e1e0a !important; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important; } .v-list.menu-card { background: #f4e4bc !important; } .menu-card .v-list-item { border-radius: 6px !important; margin-bottom: 2px !important; transition: background-color 0.2s ease !important; } .menu-card .v-list-item:last-child { margin-bottom: 0 !important; } .menu-card .v-list-item:hover { background-color: rgba(85, 107, 47, 0.1) !important; } .v-list-item__prepend .v-icon { color: #2e1e0a !important; opacity: 1 !important; } .v-list-item:hover { background-color: rgba(85, 107, 47, 0.1) !important; } .v-list-item[color="error"] .menu-text { color: #8c4a32 !important; } .save-recipe-btn { background-color: #2e1e0a !important; color: #f4e4bc !important; font-family: 'Libre Baskerville', serif !important; text-transform: none !important; letter-spacing: 0; border-radius: 8px !important; } .save-recipe-btn:hover { background-color: #8c4a32 !important; color: #f4e4bc !important; text-shadow: none !important; border-radius: 4px; } .save-success-btn { opacity: 1 !important; color: #f4e4bc !important; font-family: 'Libre Baskerville', serif !important; text-transform: none !important; letter-spacing: 0; border-radius: 8px !important; } .transition-swing { transition: all 0.3s ease; } .print-btn { background-color: #3b4e1e !important; color: #f4e4bc !important; font-family: 'Libre Baskerville', serif !important; text-transform: none !important; letter-spacing: 0; border-radius: 8px !important; } .print-btn:hover { background-color: #2e1e0a !important; color: #f4e4bc !important; text-shadow: none !important; border-radius: 4px; } .share-btn { background-color: #8c4a32 !important; font-family: 'Libre Baskerville', serif !important; color: #f4e4bc !important; text-transform: none !important; letter-spacing: 0; border-radius: 8px !important; } .share-btn:hover { background-color: #3b4e1e !important; color: #f4e4bc !important; text-shadow: none !important; border-radius: 4px; } .share-success-btn { opacity: 1 !important; color: #f4e4bc !important; font-family: 'Libre Baskerville', serif !important; text-transform: none !important; letter-spacing: 0; border-radius: 8px !important; } .public-cta-container { background: rgba(255, 255, 255, 0.3); border-radius: 16px; border: 1px dashed #dccca7; } .cta-title { font-family: 'Libre Baskerville', serif !important; color: #2e1e0a; font-size: 1.8rem; } .cta-text { font-family: 'Libre Baskerville', serif !important; color: #5d4a36; font-size: 1.1rem; line-height: 1.6; } @media print { @page { margin: 0 !important; size: auto; } body { background: white !important; padding: 0.75in !important; margin: 0 !important; width: 100% !important; height: auto !important; min-height: 0 !important; box-sizing: border-box !important; overflow: visible !important; position: relative !important; } .chat-container, .v-app-bar, .no-print, .separator, .v-divider, .recipe-description, button, .v-btn, .drop-zone, .v-card-actions, .v-btn--variant-text, .v-btn--variant-elevated, footer, .v-footer, .recipe-actions-row, .share-btn, .public-cta-container { display: none !important; visibility: hidden !important; opacity: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; position: absolute !important; } .v-application, .v-application__wrap, main.v-main, .v-container, .recipe-card { height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; position: static !important; box-shadow: none !important; border: none !important; } html, body { height: auto !important; overflow: visible !important; } .v-application { display: block !important; } footer, .brand-subtitle { page-break-after: avoid !important; } .v-card, .recipe-card, .v-theme--light, .v-card--variant-elevated, .v-card__underlay, [class*="elevation-"], [class*="v-card--variant"] { box-shadow: none !important; -webkit-box-shadow: none !important; filter: none !important; --v-shadow-key-umbra: none !important; --v-shadow-key-penumbra: none !important; --v-shadow-key-ambient: none !important; border: 0px solid transparent !important; outline: none !important; background: transparent !important; background-image: none !important; display: contents !important; } header.text-center { margin-bottom: 0px !important; padding-bottom: 0px !important; } .recipe-content { margin: 0 !important; padding: 0 !important; } header.text-center img, .v-img, [class*="v-img"] { max-height: 65px !important; margin-bottom: 2px !important; } .recipe-title { margin-top: -20px !important; margin-bottom: 20px !important; font-size: 1.6rem !important; text-align: center; font-weight: bold !important; line-height: 1.2 !important; } .recipe-content .v-row { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; width: 100% !important; gap: 0.5in !important; align-items: flex-start !important; } .recipe-content .v-row > div:first-child { flex: 0 0 33% !important; max-width: 33% !important; } .recipe-content .v-row > div:last-child { flex: 0 0 62% !important; max-width: 62% !important; } .section-header { border: none !important; font-weight: bold !important; margin-bottom: 15px !important; text-transform: uppercase; } .ingredient-item, .step-text { font-size: 0.95rem !important; line-height: 1.4 !important; } .instruction-step { margin-bottom: 10px !important; display: flex !important; gap: 10px !important; } .recipe-content, .v-row, .v-col, * { overflow: visible !important; height: auto !important; } .step-number, .ingredient-item::before { color: #3b4e1e !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } } .section-header { font-family: 'Libre Baskerville', serif; font-weight: bold; font-size: 1.1rem; border-bottom: 2px solid #dccca7; color: #4a3a2a; display: flex; align-items: center; text-transform: uppercase; } .ingredients-list { background: transparent !important; } .ingredient-item { position: relative; padding-left: 45px; font-family: 'Libre Baskerville', serif !important; font-size: 1.1rem !important; line-height: 1.4 !important; color: #2c2925 !important; } .ingredients-container { display: flex; flex-direction: column; gap: 18px; padding-left:20px; margin-top: 10px; } .ingredient-item::before { content: "❦"; position: absolute; padding-left: 10px; left: 0; color: #3b4e1e; font-weight: bold; font-size: 1.4rem; top: -1px; } .instruction-step{ display: flex !important; align-items: flex-start !important; text-align: left; gap: 12px !important; margin-bottom: 24px !important; width: 100%; } .step-number { font-family: 'Libre Baskerville', serif !important; font-weight: bold !important; color: #3b4e1e !important; font-size: 1.1rem !important; min-width: 30px !important; text-align: center !important; line-height: 1.4 !important; padding-top: 0 !important; margin: 0 !important; } .step-text { font-family: 'Libre Baskerville', serif !important; font-size: 1.1rem !important; line-height: 1.6 !important; color: #2c2925 !important; margin: 0 !important; flex: 1; } .chat-container { width: 100%; background-color: rgba(62, 42, 20, 0.03) !important; border: 2px solid #544521; border-radius: 12px; padding: 20px; transition: all 0.3s ease; display: flex; flex-direction: column; } .chat-display { flex-grow: 1; overflow-y: auto; margin-bottom: 20px; padding: 10px; display: flex; flex-direction: column; gap: 12px; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; } .chat-display::-webkit-scrollbar { width: 6px; } .chat-display::-webkit-scrollbar-track { background: transparent; } .chat-display::-webkit-scrollbar-thumb { background: #dccca7; border-radius: 10px; } .chat-display::-webkit-scrollbar-thumb:hover { background: #8c7e6a; } .chat-input .v-field__input { font-family: 'Libre Baskerville', serif !important; font-size: 1.1rem; min-height: 56px !important; padding-top: 15px !important; color: #2c2925 !important; } .chat-container:focus-within { background-color: rgba(85, 107, 47, 0.05) !important; border-color: #556b2f; } .chat-placeholder { font-family: 'Libre Baskerville', serif !important; font-size: 1.1rem; color: #8c7e6a; text-align: center; padding: 20px; } .send-btn { color: #2e1e0a !important; transition: all 0.3s ease !important; border-radius: 6px !important; height: 36px !important; width: 36px !important; min-width: 36px !important; padding: 0 !important; } .send-btn:hover { background-color: #556b2f !important; color: #f4e4bc !important; border-radius: 6px !important; transform: scale(1.05); } .thinking-bubble { display: flex; align-items: center; padding: 10px 16px !important; width: fit-content; background-color: #fcf8ef !important; border: 1px solid #e8dec5 !important; border-radius: 15px 15px 15px 2px; } .typing { display: flex; align-items: center; gap: 4px; } .typing .dot { width: 6px; height: 6px; background-color: #e8dec5; border-radius: 50%; opacity: 0.4; animation: typing-bounce 1.4s infinite ease-in-out both; } .typing .dot:nth-child(1) { animation-delay: 0s; } .typing .dot:nth-child(2) { animation-delay: 0.2s; } .typing .dot:nth-child(3) { animation-delay: 0.4s; } @keyframes typing-bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1); opacity: 1; } } .message { max-width: 85%; padding: 12px 16px; font-family: 'Libre Baskerville', serif !important; font-size: 0.95rem; line-height: 1.5; box-shadow: 0 4px 10px rgba(0,0,0,0.03); } .message.user { background-color: #8c4a32 !important; color: #f4e4bc !important; align-self: flex-end; border-radius: 12px 12px 2px 12px; border: 1px solid #7a3e29 } .chat-display .message.assistant { background-color: #5d4a36 !important; color: #f4e4bc !important; align-self: flex-start; border-radius: 12px 12px 12px 2px; border: 1px solid #e8dec5 !important; } /* Mobile Experience: Full-screen Parchment */ @media (max-width: 959px) { .landing-wrapper { height: auto !important; min-height: 100vh !important; overflow: visible !important; } html, body { height: auto !important; overflow: visible !important; } /* 2. Kill the Wood Background and apply Parchment to the whole page */ .recipe-bg, .landing-page, .v-application { background-color: #f4e4bc !important; background-image: none !important; min-height: 100vh !important; } /* 3. Make the Card fill the width and remove the 'floating' shadow */ .v-container { padding: 0 !important; margin: 0 !important; max-width: 100% !important; } .recipe-card { margin: 0 !important; padding: 25px 15px !important; width: 100% !important; max-width: 100% !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; min-height: 100vh; /* Keeps the subtle paper texture without the wood peeking through */ background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png") !important; } /* 4. Force columns to stack so they don't squash */ .recipe-content .v-row { display: flex !important; flex-direction: column !important; } .recipe-content .v-col { max-width: 100% !important; width: 100% !important; padding-bottom: 20px !important; } .nav-auth-btn, .nav-home-btn, .nav-btn, .v-btn.v-btn--variant-text { color: #2e1e0a !important; font-size: 0.9rem; text-shadow: none !important; font-weight: 700 !important; text-shadow: none; } /* 2. Adjust the hover state for mobile (touch) */ .nav-auth-btn:hover, .nav-home-btn:hover, .nav-btn:hover { background-color: rgba(46, 30, 10, 0.1) !important; /* Subtle dark tint */ color: #8c4a32 !important; /* Use your rust-orange accent on hover */ } /* 3. If you have an App Bar, ensure it doesn't stay transparent with white text */ .v-app-bar { background-color: #f4e4bc !important; border-bottom: 1px solid #dccca7 !important; } /* 4. Fix the icon colors in the nav if they are white */ .v-app-bar .v-icon { color: #2e1e0a !important; } }