.atom-search { display: inline-block; }
.atom-search__label { display: block; margin: 0; }
.atom-search__visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.atom-search__control { height: 48px; background: var(--bg-surface-low); border: 1px solid var(--border-color-default); border-radius: var(--border-radius-lg); display: flex; align-items: center; gap: .5rem; padding: 0 1rem; box-shadow: none; transition: box-shadow var(--transition-fast), transform var(--transition-fast); }
.atom-search__input { flex: 1 1 auto; background: transparent; border: none; outline: none; padding: 0; margin: 0; font-family: var(--font-body-md-family); font-size: var(--font-body-md-size); line-height: var(--font-body-md-line-height); color: var(--fg-on-default); }
.atom-search__input::placeholder { color: var(--fg-secondary); }
.atom-search__button { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 36px; border-radius: calc(var(--border-radius-lg) - 4px); background: transparent; color: var(--brand-primary); transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
.atom-search__button i { font-size: 1.05em; }
.atom-search__control:focus-within { box-shadow: 0 4px 12px rgba(26,103,204,0.12); transform: translateY(-1px); }
.atom-search__button:hover { background: rgba(26,103,204,0.06); color: var(--brand-primary-hover); }
.atom-search__button:active { transform: translateY(1px); }
.atom-search__button:disabled { color: var(--fg-disabled); cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .atom-search__control, .atom-search__button { transition: none; transform: none; } }
[data-theme="dark"] .atom-search__control { background: var(--bg-surface-high); border-color: var(--border-color-strong); }
[data-theme="dark"] .atom-search__input { color: var(--fg-on-default); }
[data-theme="dark"] .atom-search__input::placeholder { color: var(--fg-secondary); }
[data-theme="dark"] .atom-search__button { color: var(--brand-accent); }
