* { box-sizing: border-box; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #222; background: #fff; } .navbar { background: #1a1a1a; color: #fff; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 16px 24px; } .navbar-brand { font-size: 1.1rem; font-weight: 600; } .navbar-links a { color: #fff; text-decoration: none; margin-left: 24px; font-size: 0.95rem; } .navbar-links a:hover { text-decoration: underline; } .content { max-width: 1150px; margin: 0 auto; padding: 32px 24px 64px; } .route-label { text-align: center; margin: 0 0 4px; color: #666; } .round-heading { text-align: center; font-size: 2.2rem; margin: 0 0 24px; } .intro-text { text-align: center; max-width: 700px; margin: 0 auto 16px; line-height: 1.6; } .intro-text p { margin: 0 0 12px; } .signup-link { text-align: center; margin: 0 0 32px; color: #555; } .order-layout { display: flex; gap: 32px; align-items: flex-start; flex-wrap: wrap; } .catalog { flex: 3 1 600px; min-width: 0; } .wine-table { width: 100%; border-collapse: collapse; } .wine-table .category-row th { text-align: center; text-transform: uppercase; font-size: 0.95rem; padding: 16px 8px 8px; border-bottom: 1px solid #ddd; } .wine-table td { padding: 6px 8px; border-bottom: 1px solid #f0f0f0; vertical-align: middle; } .qty-cell { width: 56px; } .qty-input { width: 48px; padding: 4px; } .price-cell, .row-total-cell { text-align: right; white-space: nowrap; width: 80px; } .organic-badge { font-size: 0.75rem; color: #2e7d32; border: 1px solid #2e7d32; border-radius: 4px; padding: 0 4px; margin-left: 4px; } .order-sidebar { flex: 1 1 260px; min-width: 240px; position: sticky; top: 24px; } .total-line { font-weight: 600; margin: 0 0 4px; } .rate-note { font-size: 0.85rem; color: #666; margin: 0 0 20px; } .field-label { display: block; font-weight: 600; margin: 16px 0 4px; } .field-label input { display: block; width: 100%; margin-top: 4px; padding: 8px; font-size: 1rem; } .field-help { font-size: 0.85rem; color: #666; margin: 4px 0 0; } .checkbox-label { display: flex; align-items: flex-start; gap: 8px; margin: 20px 0; font-size: 0.9rem; } button[type="submit"] { width: 100%; padding: 12px; font-size: 1rem; background: #1a1a1a; color: #fff; border: none; border-radius: 4px; cursor: pointer; } button[type="submit"]:hover { background: #333; } .form-message { margin-top: 12px; padding: 10px; border-radius: 4px; font-size: 0.9rem; } .form-message.success { background: #e6f4ea; color: #1e4620; } .form-message.error { background: #fdecea; color: #611a15; } .signup-card { max-width: 420px; margin: 0 auto; } .signup-card form { margin-top: 24px; } .prose p { line-height: 1.6; } @media (max-width: 800px) { .order-layout { flex-direction: column; } .order-sidebar { position: static; width: 100%; } }