/**
 * .ww-field — shared form control styling for FilterPanel, SearchAutocomplete,
 * and any account/review/complaint form. Every control state required by
 * docs/DESIGN-SYSTEM.md is defined here once.
 */

.ww-field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.ww-field__label {
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    color: var(--wp--preset--color--ink);
}

.ww-field__control {
    min-height: 44px;
    padding: 0.625rem 0.875rem;
    border-radius: var(--ww-radius-md);
    border: var(--ww-border-width) solid var(--ww-border-color);
    background: var(--wp--preset--color--surface);
    color: var(--wp--preset--color--ink);
    transition: border-color var(--ww-transition-fast);
}

.ww-field__control:hover     { border-color: var(--wp--preset--color--muted); }
.ww-field__control:focus     { border-color: var(--wp--preset--color--accent); outline: none; box-shadow: var(--ww-focus-ring); }
.ww-field__control:disabled  { background: var(--wp--preset--color--surface-alt); color: var(--wp--preset--color--muted); cursor: not-allowed; }

.ww-field--error .ww-field__control {
    border-color: var(--wp--preset--color--danger);
}

.ww-field__error {
    font-size: var(--wp--preset--font-size--caption);
    color: var(--wp--preset--color--danger);
}

.ww-field__hint {
    font-size: var(--wp--preset--font-size--caption);
    color: var(--wp--preset--color--muted);
}

.ww-field--success .ww-field__control {
    border-color: var(--wp--preset--color--success);
}
