/**
 * Any CSS included here will be global. The classic template
 * bundles Infima by default. Infima is a CSS framework designed to
 * work well for content-centric websites.
 */

/* You can override the default Infima variables here. */

/**
 * Enable tailwindcss, preflight styles from tailwind are removed to avoid conflicts.
 */
@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --ifm-color-primary: #7497f7;
  --ifm-color-primary-dark: #5d7cd2;
  --ifm-color-primary-darker: #4c66ad;
  --ifm-color-primary-darkest: #3c5088;
  --ifm-color-primary-light: #99b3f9;
  --ifm-color-primary-lighter: #bdcefb;
  --ifm-color-primary-lightest: #dbe4fd;
  --ifm-code-font-size: 95%;
}

.docusaurus-highlight-code-line {
  background-color: rgba(0, 0, 0, 0.1);
  display: block;
  margin: 0 calc(-1 * var(--ifm-pre-padding));
  padding: 0 var(--ifm-pre-padding);
}

html[data-theme='dark'] .docusaurus-highlight-code-line {
  background-color: rgba(0, 0, 0, 0.3);
}

@media screen and (min-width: 576px) {
  .info {
    display: none;
  }
}

@layer components {
  .primary-button {
    @apply bg-primary-500 hover:bg-primary-light;
    @apply flex items-center justify-center w-[160px] h-[48px];
    @apply hover:no-underline hover:text-neutral-invert;
    @apply text-neutral-invert text-[16px] leading-[20px] font-semibold;
    @apply rounded-[10px] sm:text-[14px];
    @apply shadow-sm shadow-primary/20 ;
  }

  .section-title {
    @apply text-heading1 mb-[64px];
    @apply text-primary-800 font-semibold;
    @apply sm:text-heading3;
    @apply mobile:mb-4 sm:mt-3 sm:mb-[36px];
  }

  .floating-link-icon {
    transition: transform 0.2s ease-in-out;
  }

  .floating-link:hover .floating-link-icon {
    @apply transform translate-x-1;
  }

  .use-case-card {
    background: linear-gradient(105.48deg, #DBE4FD 16.79%, #F0F4FE 93.34%);
  }
}