/* Café Bach Email Generator - Minimalist Styling */ /* Reset & Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; line-height: 1.6; color: #333; background-color: #fafafa; } /* Header */ .site-header { background-color: #fff; border-bottom: 1px solid #e0e0e0; padding: 2rem 1rem; text-align: center; } .site-header h1 { font-size: 1.75rem; font-weight: 600; color: #2c3e50; margin-bottom: 0.5rem; } .site-header .subtitle { font-size: 1rem; color: #7f8c8d; font-weight: 400; } /* Container */ .container { max-width: 900px; margin: 2rem auto; padding: 0 1rem; } /* Form Styles */ .form-container { background-color: #fff; border-radius: 8px; padding: 2rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); } .form-container h2 { font-size: 1.5rem; color: #2c3e50; margin-bottom: 1.5rem; border-bottom: 2px solid #3498db; padding-bottom: 0.5rem; } .form-group { margin-bottom: 1.25rem; } .form-group label { display: block; font-weight: 500; margin-bottom: 0.5rem; color: #2c3e50; } .form-group input, .form-group textarea { width: 100%; padding: 0.75rem; border: 1px solid #d0d0d0; border-radius: 6px; font-size: 1rem; font-family: inherit; transition: border-color 0.2s, box-shadow 0.2s; } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: #3498db; box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.1); } .form-group input.error, .form-group textarea.error { border-color: #e74c3c; } .form-group .error-message { display: block; color: #e74c3c; font-size: 0.875rem; margin-top: 0.25rem; min-height: 1.25rem; } .char-count { display: block; text-align: right; font-size: 0.875rem; color: #95a5a6; margin-top: 0.25rem; } /* Button Styles */ .btn { padding: 0.75rem 1.5rem; border: none; border-radius: 6px; font-size: 1rem; font-weight: 500; cursor: pointer; transition: background-color 0.2s, transform 0.1s; } .btn:active { transform: scale(0.98); } .btn-primary { background-color: #3498db; color: #fff; } .btn-primary:hover { background-color: #2980b9; } .btn-secondary { background-color: #2ecc71; color: #fff; } .btn-secondary:hover { background-color: #27ae60; } .btn-outline { background-color: transparent; color: #7f8c8d; border: 1px solid #d0d0d0; } .btn-outline:hover { background-color: #f5f5f5; color: #333; } .form-actions { display: flex; gap: 0.75rem; margin-top: 1.5rem; flex-wrap: wrap; } /* Preview Section */ .preview-section { margin-top: 2rem; padding-top: 2rem; border-top: 2px solid #e0e0e0; } .email-preview { background-color: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 2rem; margin-top: 1rem; min-height: 200px; } .email-preview h1 { font-size: 1.5rem; color: #2c3e50; margin-bottom: 0.5rem; } .email-preview h2 { font-size: 1.25rem; color: #34495e; margin-top: 1rem; margin-bottom: 0.5rem; } .email-preview p { margin-bottom: 0.75rem; color: #555; } .email-preview .event-details { background-color: #f8f9fa; padding: 1rem; border-radius: 6px; margin: 1rem 0; } .email-preview .event-details strong { display: block; margin-bottom: 0.25rem; color: #2c3e50; } .email-preview .cta-button { display: inline-block; background-color: #3498db; color: #fff; padding: 0.75rem 1.5rem; text-decoration: none; border-radius: 6px; font-weight: 500; margin-top: 1rem; } .email-preview .cta-button:hover { background-color: #2980b9; } .email-preview .event-image { max-width: 100%; height: auto; border-radius: 8px; margin: 1rem 0; } /* Preview Container */ .preview-container { background-color: #fff; border-radius: 8px; padding: 2rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); } #copyContainer { margin-bottom: 1.5rem; text-align: right; } /* Footer */ .site-footer { text-align: center; padding: 2rem 1rem; color: #95a5a6; font-size: 0.875rem; } /* Responsive Design */ @media (max-width: 768px) { .container { padding: 0 0.75rem; } .form-container { padding: 1.5rem; } .form-actions { flex-direction: column; } .btn { width: 100%; } .site-header h1 { font-size: 1.5rem; } } /* Accessibility - High Contrast Mode Support */ @media (prefers-contrast: high) { body { background-color: #000; color: #fff; } .form-container, .preview-container { background-color: #1a1a1a; border: 2px solid #fff; } .form-group input, .form-group textarea { background-color: #1a1a1a; color: #fff; border-color: #fff; } .email-preview { background-color: #1a1a1a; border-color: #fff; color: #fff; } } /* Focus visible for keyboard navigation */ *:focus-visible { outline: 2px solid #3498db; outline-offset: 2px; }