import { css } from 'lit';
import componentStyles from '../../styles/component.styles.mjs';

const styles = css`
  ${componentStyles}

  :host {
    display: inline-flex;
  }

  .breadcrumb-item {
    display: inline-flex;
    align-items: center;
    font-family: var(--flow-ui-font-sans);
    font-size: var(--flow-ui-font-size-small);
    font-weight: var(--flow-ui-font-weight-semibold);
    color: var(--flow-ui-color-neutral-800);
    line-height: var(--flow-ui-line-height-normal);
    white-space: nowrap;
  }

  .breadcrumb-item__label {
    display: inline-block;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-decoration: none;
    color: inherit;
    background: none;
    border: none;
    border-radius: var(--flow-ui-border-radius-medium);
    padding: 0;
    margin: 0;
    cursor: pointer;
    transition: var(--flow-ui-transition-fast) --color;
  }

  :host(:not(:last-of-type)) .breadcrumb-item__label {
    color: var(--flow-ui-color-primary-500);
  }

  :host(:not(:last-of-type)) .breadcrumb-item__label:hover {
    color: var(--flow-ui-color-primary-400);
  }

  :host(:not(:last-of-type)) .breadcrumb-item__label:active {
    color: var(--flow-ui-color-primary-500);
  }

  .breadcrumb-item__label:focus {
    outline: none;
  }

  .breadcrumb-item__label:focus-visible {
    outline: var(--flow-ui-focus-ring);
    outline-offset: var(--flow-ui-focus-ring-offset);
  }

  .breadcrumb-item__prefix,
  .breadcrumb-item__suffix {
    display: none;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
  }

  .breadcrumb-item--has-prefix .breadcrumb-item__prefix {
    display: inline-flex;
    margin-inline-end: var(--flow-ui-spacing-x-small);
  }

  .breadcrumb-item--has-suffix .breadcrumb-item__suffix {
    display: inline-flex;
    margin-inline-start: var(--flow-ui-spacing-x-small);
  }

  :host(:last-of-type) .breadcrumb-item__separator {
    display: none;
  }

  .breadcrumb-item__separator {
    display: inline-flex;
    align-items: center;
    margin: 0 var(--flow-ui-spacing-x-small);
    user-select: none;
  }
`;

export { styles as default };
