/* eg-forms — front-end form styles. Inherits design tokens from theme. */
.eg-form {
    display: grid;
    gap: 1rem;
    max-width: 560px;
}
.eg-form__row { display: grid; gap: 0.375rem; }
.eg-form label { font-weight: 600; font-size: 0.875rem; color: #0F172A; }
.eg-form input[type=text],
.eg-form input[type=email],
.eg-form input[type=tel],
.eg-form select,
.eg-form textarea {
    width: 100%;
    padding: 0.75rem 0.875rem;
    font: inherit; color: #0F172A;
    background: #fff; border: 1.5px solid #E2E8F0; border-radius: 8px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.eg-form input:focus, .eg-form select:focus, .eg-form textarea:focus {
    border-color: #3B5BFE;
    box-shadow: 0 0 0 3px rgba(59, 91, 254, 0.18);
    outline: none;
}
.eg-form textarea { min-height: 120px; resize: vertical; }
.eg-form .eg-form__hp { position: absolute; left: -9999px; top: -9999px; height: 0; width: 0; }
.eg-form__consent { display: flex; gap: 0.625rem; align-items: flex-start; font-size: 0.875rem; color: #334155; }
.eg-form__consent input[type=checkbox] { margin-top: 4px; flex-shrink: 0; }
.eg-form__feedback { padding: 0.75rem 1rem; border-radius: 8px; font-size: 0.9375rem; }
.eg-form__feedback[data-type="success"] { background: rgba(16,185,129,0.12); color: #065F46; border: 1px solid rgba(16,185,129,0.3); }
.eg-form__feedback[data-type="error"]   { background: rgba(245,158,11,0.12); color: #92400E; border: 1px solid rgba(245,158,11,0.3); }
.eg-form button[disabled] { opacity: 0.6; cursor: progress; }
