/* Public-facing forms (contact, newsletter) */

.zb-form { display: flex; flex-direction: column; gap: 12px; max-width: 480px; }
.zb-form label { font-size: 0.84rem; font-weight: 500; color: var(--text-secondary, #444); }
.zb-form input[type="text"],
.zb-form input[type="email"],
.zb-form textarea {
    padding: 10px 12px;
    border: 1px solid var(--rule-2, rgba(0,0,0,0.12));
    border-radius: 8px;
    background: var(--bg-light, #fff);
    font: inherit;
    font-size: 0.92rem;
    color: var(--text-primary, #111);
    transition: border-color 0.15s;
    width: 100%;
    box-sizing: border-box;
}
.zb-form input:focus,
.zb-form textarea:focus { outline: none; border-color: #1a73ff; }
.zb-form textarea { resize: vertical; min-height: 96px; }
.zb-form .hp { display: none; }       /* honeypot */
.zb-form button { align-self: flex-start; }

.zb-form-status {
    font-size: 0.85rem;
    padding: 8px 12px;
    border-radius: 6px;
}
.zb-form-status.ok    { background: #d6f5e0; color: #0a6633; }
.zb-form-status.err   { background: #ffe1e1; color: #8a0a0a; }
.zb-form-status.empty { display: none; }

/* Newsletter inline form */
.zb-newsletter {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    max-width: 380px;
}
.zb-newsletter input { flex: 1; min-width: 200px; }

@media (max-width: 640px) {
    .zb-newsletter { flex-direction: column; }
    .zb-newsletter input, .zb-newsletter button { width: 100%; }
}
