/*
 * 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 gap-xs flex w-fit flex-col;
  }

  .control {
    @apply gap-xs rounded-medium px-s py-xs outline-interactive fg-primary-bold flex w-full items-center outline;

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

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

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

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

    @variant group-invalid/date-field {
      @apply outline-serious-bold;
    }

    @variant group-disabled/date-field {
      @apply fg-disabled outline-interactive-disabled;
    }

    @variant read-only {
      @apply px-0 outline-none;
    }
  }

  .input {
    @apply gap-xs font-display flex;

    @variant group-size-medium/date-field {
      @apply text-body-s;
    }

    @variant group-size-small/date-field {
      @apply text-body-xs;
    }
  }

  .segment {
    @apply text-right;

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

    @variant focus-visible {
      @apply fg-a11y-on-accent bg-accent-primary-bold outline-none;
    }

    @variant type-month {
      @variant group-size-medium/date-field {
        width: calc(2ch + (2 * var(--typography-body-s-spacing)));
      }

      @variant group-size-small/date-field {
        width: calc(2ch + (2 * var(--typography-body-xs-spacing)));
      }

      &.shortMonth {
        @variant group-size-medium/date-field {
          width: calc(3ch + (3 * var(--typography-body-s-spacing)));
        }

        @variant group-size-small/date-field {
          width: calc(3ch + (3 * var(--typography-body-xs-spacing)));
        }
      }
    }
  }

  .description {
    @apply fg-primary-muted text-body-xs;

    @variant group-disabled/date-field {
      @apply fg-disabled;
    }
  }

  .error {
    @apply fg-serious-bold text-body-xs;
  }
}
