/*
 * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

@reference '@accelint/design-foundation/styles';

@layer components.l1 {
  .field {
    @apply fg-primary-bold gap-s rounded-round p-s flex h-fit items-center outline;

    &.filled {
      @apply bg-surface-raised outline-static;

      @variant hover {
        @apply outline-interactive-hover;
      }

      @variant focus-visible-within {
        @apply outline-accent-primary-bold;
      }

      @variant pressed {
        @apply outline-interactive-pressed;
      }

      @variant disabled {
        @apply fg-disabled outline-interactive-disabled cursor-not-allowed;
      }
    }

    &.outline {
      @apply outline-interactive;

      @variant hover {
        @apply outline-interactive-hover;
      }

      @variant focus-visible-within {
        @apply outline-accent-primary-bold;
      }

      @variant pressed {
        @apply outline-interactive-pressed;
      }

      @variant disabled {
        @apply fg-disabled outline-interactive-disabled cursor-not-allowed;
      }
    }
  }
}

@layer components.l2 {
  .input {
    @apply font-display text-body-s block w-full outline-none;

    &::-webkit-search-cancel-button {
      @apply hidden;
    }

    @variant placeholder-shown {
      @apply fg-primary-muted;
    }

    @variant disabled {
      @apply fg-disabled cursor-not-allowed;
    }
  }

  .clear {
    @apply fg-info-bold cursor-pointer;

    @variant hover {
      @apply fg-info-hover;
    }

    @variant focus-visible {
      @apply fg-info-hover;
    }

    @variant group-empty/search-field {
      @apply invisible;
    }

    @variant group-disabled/search-field {
      @apply invisible;
    }
  }

  .loading {
    @variant motion-safe {
      @apply animate-spin;
    }
  }
}
