/* DEFAULT / SITE — form input, textarea, select */

.aho-form-group {
    display: flex;
    flex-direction: column;
    gap: var(--aho-space-2);
    margin-bottom: var(--aho-space-4);
}
.aho-form-label {
    font-size: var(--aho-text-sm);
    font-weight: 500;
    color: var(--aho-color-ink-800);
}
.aho-form-label--required::after {
    content: '*';
    color: var(--aho-color-danger);
    margin-left: 2px;
}
.aho-form-input,
.aho-form-select,
.aho-form-textarea {
    width: 100%;
    padding: var(--aho-space-3) var(--aho-space-4);
    background: var(--aho-color-bg);
    color: var(--aho-color-ink-900);
    border: 1px solid var(--aho-color-border);
    border-radius: var(--aho-radius-md);
    font-size: var(--aho-text-sm);
    transition: border-color var(--aho-motion-fast), box-shadow var(--aho-motion-fast);
}
.aho-form-input:focus,
.aho-form-select:focus,
.aho-form-textarea:focus {
    outline: none;
    border-color: var(--aho-color-accent-500);
    box-shadow: var(--aho-shadow-glow);
}
.aho-form-input::placeholder,
.aho-form-textarea::placeholder { color: var(--aho-color-ink-400); }
.aho-form-textarea { min-height: 100px; resize: vertical; }
.aho-form-help { font-size: var(--aho-text-xs); color: var(--aho-color-ink-500); }
.aho-form-error { font-size: var(--aho-text-xs); color: var(--aho-color-danger); }
.aho-form-input.is-invalid,
.aho-form-select.is-invalid,
.aho-form-textarea.is-invalid { border-color: var(--aho-color-danger); }
.aho-form-check {
    display: inline-flex;
    align-items: center;
    gap: var(--aho-space-2);
    cursor: pointer;
    user-select: none;
}
.aho-form-check input[type="checkbox"],
.aho-form-check input[type="radio"] {
    width: 18px; height: 18px;
    accent-color: var(--aho-color-accent-500);
    cursor: pointer;
}
