/* Hallmark · component: optional manufacturer input · genre: modern-minimal
 * theme: established Cirnexa cool-white · pre-emit critique: P4 H4 E4 S5 R5 V3
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass for component text, placeholder, focus and feedback colors
 * Component-scope: no macrostructure or theme rotation.
 */
@import url("./tokens.css");
.manufacturer-field { min-width: 0; }
.manufacturer-field label { display: block; margin-block-end: var(--space-2xs); font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600; }
.manufacturer-field .optional-label { font-size: var(--text-xs); font-weight: 400; color: var(--color-muted); white-space: nowrap; }
.manufacturer-control { position: relative; }
.manufacturer-control .manufacturer-input {
  width: 100%; min-width: 0; min-height: var(--control-height);
  padding: var(--space-xs); padding-inline-end: var(--space-lg);
  border: var(--rule-thin) solid var(--color-rule-strong);
  border-radius: var(--radius-sm); outline: var(--rule-bold) solid var(--color-transparent); outline-offset: 1px;
  background: var(--color-paper); color: var(--color-ink);
  font-family: var(--font-body); font-size: var(--text-base); line-height: 1.6;
}
.manufacturer-input::placeholder { color: var(--color-muted); font-size: var(--text-sm); opacity: 1; }
.manufacturer-control .manufacturer-input:focus-visible,
.manufacturer-control .manufacturer-input.is-focus,
.manufacturer-control .manufacturer-input:active,
.manufacturer-control .manufacturer-input.is-active { outline-color: var(--color-focus); }
.manufacturer-control .manufacturer-input:disabled { opacity: .55; cursor: not-allowed; }
.manufacturer-control .manufacturer-input.is-hover { background: var(--color-paper-2); color: var(--color-ink); }
.manufacturer-control .manufacturer-input[aria-invalid="true"] { border-color: var(--color-error); background: var(--color-error-soft); color: var(--color-ink); }
.manufacturer-control .manufacturer-input[data-state="success"] { border-color: var(--color-success); }
.manufacturer-status { position: absolute; inset-inline-end: var(--space-2xs); inset-block-start: 50%; transform: translateY(-50%); width: var(--space-sm); height: var(--space-sm); pointer-events: none; font-size: var(--text-sm); line-height: 1; }
.manufacturer-input[data-state="loading"] + .manufacturer-status::after { content: ""; display: block; width: 100%; height: 100%; border: var(--rule-bold) solid var(--color-focus); border-inline-end-color: var(--color-transparent); border-radius: var(--radius-round); animation: manufacturer-spin 800ms linear infinite; }
.manufacturer-input[aria-invalid="true"] + .manufacturer-status::after { content: "⚠"; color: var(--color-error); }
.manufacturer-input[data-state="success"] + .manufacturer-status::after { content: "✓"; color: var(--color-success); }
.manufacturer-field .field-help { min-height: 1.6em; margin-block-start: var(--space-3xs); font-family: var(--font-body); font-size: var(--text-xs); color: var(--color-muted); }
.manufacturer-field .field-help.is-error { color: var(--color-error); }
.manufacturer-demo { max-width: 38rem; margin-inline: auto; padding: var(--space-lg) var(--space-md); }
.manufacturer-demo > p { margin-block: var(--space-sm) var(--space-lg); color: var(--color-muted); }
.manufacturer-demo .manufacturer-field + .manufacturer-field { margin-block-start: var(--space-md); }
.manufacturer-demo .state-name { display: block; margin-block-end: var(--space-3xs); font-size: var(--text-xs); color: var(--color-muted); }
@media (hover: hover) and (pointer: fine) { .manufacturer-control .manufacturer-input:hover:not(:disabled) { background: var(--color-paper-2); color: var(--color-ink); } }
@keyframes manufacturer-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .manufacturer-input[data-state="loading"] + .manufacturer-status::after { animation: none; } }

