:root {
  --font-primary: 'Geist', system-ui, -apple-system, blinkmacsystemfont, 'segoe ui', sans-serif;
  /* TODO: Check if we can delete these */
  --font-mono: 'Roboto Mono', 'menlo', 'monaco', monospace;
  --font-social: 'Roboto', 'Helvetica Neue', arial, sans-serif;
  --border-radius-base: 4px;
  --border-radius-secondary: 8px;
  --font-h1: 46px;
  --font-h2: 40px;
  --font-h3: 36px;
  --font-h4: 32px;
  --font-h5: 28px;
  --font-h6: 22px;
  --font-heading: 20px;
  --font-p-large: 18px;
  --font-p-medium: 16px;
  --font-p: 14px;
  --font-p-small: 12px;
  /*  */
  --space-128: 128px;
  --space-64: 64px;
  --space-40: 40px;
  --space-36: 36px;
  --space-32: 32px;
  --space-24: 24px;
  --space-22: 22px;
  --space-20: 20px;
  --space-18: 18px;
  --space-16: 16px;
  --space-14: 14px;
  --space-12: 12px;
  --space-10: 10px;
  --space-8: 8px;
  --space-4: 4px;
  --transition: all 0.25s ease;
  --mobile: 768px;
  --tablet: 1024px;
  --desktop: 1440px;
  --shadow-primary: 0px 4px 8px 0px rgb(0 0 0 / 0.08);

  --tile-box-shadow-default: 2px 2px 8px rgba(104 104 104 / 0.1);
  --tile-box-shadow-hover: 0 20px 46px rgba(0 0 0 / 0.1);

  --toolkit-width: 208px;
  --popover-width: 192px;
  --sidebar-width: 192px;
  --humanchat-menu-width: 200px;
  --messages-navbar-min-width: 253px;
  --messages-navbar-max-width: 300px;
  --header-height: 48px;
  --ai-agents-header-height: 57px;
  --newheader-height: 60px;
  --plainsubheader-height: 76px;
  --newsubheader-height: 108px;
  --subheader-height: 48px;
  --banner-height: 48px;
  --banner-small-height: 36px;
  --codeblock-width: 400px;
  --breadcrumbs-height: 32px;
  --global-container-width: 1272px;
  --ai-agent-tile-width: 600px;
  --layout-max-width: 1536px;
}

@layer {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricprecision;
  }

  html,
  body {
    color: var(--color-foreground);
    font-family: var(--font-primary);
    height: 100%;
    overflow: hidden;
  }

  img {
    display: inline-block;
    height: auto;
    max-width: 100%;
    outline: 0;
  }

  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
  }

  blockquote {
    margin: 0;
  }

  menu ul,
  menu li,
  nav ul,
  nav li {
    margin: 0;
    padding: 0;
  }

  hr {
    border: 0;
    border-bottom: 1px solid var(--color-stroke);
    height: 40px;
    margin: 0 0 40px;
    width: 100%;
  }

  button {
    appearance: none;
    border: 0;
    cursor: pointer;
    padding: 0;
  }

  a {
    text-decoration: none;
    transition: all 0.25s ease;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  a,
  p,
  small {
    font-family: var(--font-primary);
    letter-spacing: -0.3px;
  }

  h1 {
    font-size: var(--font-h1);
    line-height: 1.3;
    margin: 0 0 48px;
  }

  h2 {
    font-size: var(--font-h2);
    line-height: 1.3;
    margin: 0 0 32px;
  }

  h3 {
    font-size: var(--font-h3);
    line-height: 1.3;
    margin: 0 0 32px;
  }

  h4 {
    font-size: var(--font-h4);
    line-height: 1.3;
    margin: 0 0 24px;
  }

  h5 {
    font-size: var(--font-h5);
    line-height: 1.3;
    margin: 0 0 24px;
  }

  h6 {
    font-size: var(--font-h6);
    line-height: 1.3;
    margin: 0 0 16px;
  }

  p,
  p.small,
  p.medium,
  p.large {
    font-size: var(--font-p);
    line-height: 1.3;
    margin: 8px 0;
  }

  p.small {
    font-size: var(--font-p-small);
  }

  p.medium {
    font-size: var(--font-p-medium);
  }

  p.large {
    font-size: var(--font-p-large);
    font-weight: 500;
  }

  .button__container {
    margin-top: var(--space-36);
    text-align: right;
    display: flex;
    justify-content: end;
  }

  .inputModal__container {
    margin-bottom: var(--space-8);
  }

  .input__container {
    margin-bottom: var(--space-24);
  }

  .input__container .MuiTypography-body1 {
    width: 100%;
  }

  /* stylelint-disable-next-line selector-no-qualifying-type */
  .input__container input[type='number']::-webkit-inner-spin-button,
  .input__container input[type='number']::-webkit-outer-spin-button {
    appearance: none;
    margin: 0;
  }

  .input__container .MuiSelect-select {
    min-width: calc(var(--space-20) * 5);
  }

  .input__container .MuiInputBase-input {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .form__container.form__container--columns-2 {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .form__container.form__container--columns-2 .input__container {
    margin-bottom: 0;
    margin-right: var(--space-20);
    width: 45%;
  }

  .form__container.form__container--columns-2 .input__container:nth-child(even) {
    margin-right: 0;
  }

  .form__container.form__container--columns-2 .input__container > .MuiFormControl-fullWidth,
  .form__container.form__container--columns-2 .input__container > .MuiInputBase-fullWidth {
    width: 85%;
  }

  .form__container.form__container--columns-2 .input__container:nth-of-type(n + 3) {
    margin-top: var(--space-24);
  }

  .menu-custom .MuiPaper-root {
    left: 0 !important;
  }

  /* Feedback collector needs a higher z-index than contact nav */
  #atlwdg-trigger {
    z-index: 100;
  }

  ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  /* Markdown styles */
  h1.markdown {
    font-size: 32px;
    font-weight: 600;
    margin: 0px;
  }

  h2.markdown {
    font-size: 22px;
    font-weight: 600;
    margin: 0px;
  }

  h3.markdown {
    font-size: 18px;
    font-weight: 600;
    margin: 0px;
  }

  h4.markdown {
    font-size: 16px;
    font-weight: 600;
    margin: 0px;
  }

  h5.markdown {
    font-size: 14px;
    font-weight: 600;
    margin: 0px;
  }

  h6.markdown {
    font-size: 12px;
    font-weight: 600;
    margin: 0px;
  }

  p.markdown {
    font-size: 14px;
    font-weight: 400;
    margin: 0px;
  }

  hr.markdown {
    vertical-align: top;
    height: 10px;
    margin-bottom: 20px;
  }

  ul.markdown {
    list-style: disc;
    padding-left: 20px;
  }

  ol.markdown {
    list-style: decimal;
    padding-left: 20px;
  }

  .highlight {
    /* !important is applied on purpose in order to always
    override each style of the target scrolled element */
    background-color: #cce5ff !important;
  }

  .lucide.lucide-trash2:hover {
    color: var(--color-destructive);
  }
}
