@import 'tailwindcss';

@plugin '@tailwindcss/forms';

/* Custom font faces */
@font-face {
  font-family: 'Quicking';
  src: url('/assets/fonts/quicking-font/QuickingRegular-gw5KY.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Source Sans 3';
  src: url('/assets/fonts/Source_Sans_3/SourceSans3-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}

/* Avenir font definition */
:root {
  --font-avenir: "Avenir", "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

@theme {
  --text-*: initial;
  --text-xs: 0.75rem;
  --text-xs--line-height: 1rem;
  --text-sm: 0.875rem;
  --text-sm--line-height: 1.5rem;
  --text-base: 1rem;
  --text-base--line-height: 1.5rem;
  --text-lg: 1.125rem;
  --text-lg--line-height: 1.75rem;
  --text-xl: 1.25rem;
  --text-xl--line-height: 1.75rem;
  --text-2xl: 1.5rem;
  --text-2xl--line-height: 1.75rem;
  --text-3xl: 2rem;
  --text-3xl--line-height: 2.5rem;
  --text-4xl: 2.5rem;
  --text-4xl--line-height: 3.5rem;
  --text-5xl: 3rem;
  --text-5xl--line-height: 3.5rem;
  --text-6xl: 3.75rem;
  --text-6xl--line-height: 1;
  --text-7xl: 4.5rem;
  --text-7xl--line-height: 1.1;
  --text-8xl: 6rem;
  --text-8xl--line-height: 1;
  --text-9xl: 8rem;
  --text-9xl--line-height: 1;

  --radius-4xl: 2rem;

  --font-sans: var(--font-avenir);
  --font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;

  --container-2xl: 40rem;
}

/* Custom component classes */
@layer components {
  .h1-default {
    @apply text-4xl font-display font-medium tracking-tight text-pretty leading-tight lg:text-6xl lg:leading-tight;
  }
  
  .h2-default {
    @apply text-2xl font-display font-medium tracking-tight text-pretty leading-tight lg:text-4xl lg:leading-tight;
  }
  
  .subtitle {
    @apply text-base/7 font-medium;
  }
  
  .p-default {
    @apply text-lg/8 lg:text-xl/8;
  }
  
  .button-outline {
    @apply bg-transparent border border-white text-white px-6 py-2 rounded-3xl font-medium transition-colors hover:bg-white/80 hover:text-black;
  }
}

@layer utilities {
  .font-quicking {
    font-family: 'Quicking', var(--font-display);
  }

  .font-source-sans-light {
    font-family: 'Source Sans 3', var(--font-sans);
    font-weight: 300;
  }

  .text-ivory {
    color: #FDF8F1;
  }

  .bg-ivory {
    background-color: #FDF8F1;
  }

  .text-green {
    color: #04B782;
  }

  .bg-green {
    background-color: #04B782;
  }

  .text-void {
    color: #1F1D1A;
  }

  .bg-void {
    background-color: #1F1D1A;
  }

  @keyframes draw-line {
    from {
      transform: scaleX(0);
    }
    to {
      transform: scaleX(1);
    }
  }

  .animate-draw-line {
    animation: draw-line 4s ease-out forwards;
    transform-origin: left;
  }
}
