/* ========================= Global variables ========================= */ :root { --bg: #0b1220; --card: #0f172a; --text: #e5e7eb; --muted: #9ca3af; --accent: #22c55e; --border: #1f2937; --radius: 18px; } /* ========================= Reset ========================= */ * { box-sizing: border-box; } body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; background: radial-gradient(circle at top, #1e293b, var(--bg)); color: var(--text); } /* ========================= Header (GLOBAL) ========================= */ .site-header { text-align: center; padding: 4rem 1.5rem 3rem; } .site-header h1 { margin: 0; font-size: clamp(2.3rem, 4vw, 3rem); display: inline-flex; align-items: center; } /* Plant icon — charset-safe */ .site-header h1::before { content: "\1F331"; font-size: 1.2em; margin-right: 0.5rem; } .tagline { margin-top: 0.75rem; color: var(--muted); } /* ========================= INDEX PAGE ========================= */ .recipe-index { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; } .recipe-card { background: linear-gradient(180deg, #020617, var(--card)); border: 1px solid var(--border); border-radius: var(--radius); padding: 2rem; text-decoration: none; color: var(--text); transition: transform 0.25s ease, box-shadow 0.25s ease; } .recipe-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(0,0,0,0.45); } .recipe-card h2 { margin: 0 0 0.75rem; font-size: 1.5rem; } .recipe-card p { margin: 0; color: var(--muted); } /* ========================= BADGES ========================= */ .badge { display: inline-block; padding: 0.35rem 0.85rem; font-size: 0.75rem; border-radius: 999px; text-transform: uppercase; background: rgba(34,197,94,0.15); color: var(--accent); border: 1px solid rgba(34,197,94,0.35); } /* ========================= FOOTER ========================= */ .site-footer { text-align: center; padding: 1.5rem; color: var(--muted); font-size: 0.9rem; } /* ========================= RECIPE PAGE LAYOUT ========================= */ .recipe-page { max-width: 1100px; margin: 0 auto; padding: 2.5rem 1.5rem 4rem; } /* IMPORTANT: mobile-first single column */ .recipe-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; } .recipe-section { background: linear-gradient(180deg, #020617, var(--card)); border: 1px solid var(--border); border-radius: var(--radius); padding: 2rem; } /* ========================= FORCE MOBILE SINGLE COLUMN ========================= */ @media screen and (max-width: 899px) { .recipe-grid { grid-template-columns: 1fr !important; } } /* ========================= DESKTOP TWO COLUMNS ONLY ========================= */ @media screen and (min-width: 900px) { .recipe-grid { grid-template-columns: 1fr 1fr; } } /* ========================= PRINT (PDF SAFE) ========================= */ @media print { body { background: #fff; color: #000; } .site-header, .site-footer, .btn { display: none !important; } .recipe-page { max-width: none; padding: 0; } /* FORCE single column for PDF */ .recipe-grid { grid-template-columns: 1fr !important; } * { box-shadow: none !important; text-shadow: none !important; } } /* ========================= TABLET TWEAKS ========================= */ @media (max-width: 768px) { .recipe-page { padding: 1.5rem 1rem 3rem; } .recipe-section { padding: 1.25rem; } } /* ========================= PHONE TWEAKS ========================= */ @media (max-width: 420px) { .recipe-section { padding: 1rem; } .recipe-section ul, .recipe-section ol { padding-left: 1rem; } .recipe-section li { margin-bottom: 0.5rem; } }