@tailwind base;
@tailwind components;
@tailwind utilities;

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/fonts/Outfit-Light.ttf') format('truetype');
}

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/Outfit-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/Outfit-SemiBold.ttf') format('truetype');
}

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/Outfit-Bold.ttf') format('truetype');
}

@layer base {
  html {
    scroll-behavior: smooth;
  }

  body {
    @apply font-outfit bg-gray-dark text-white font-normal;
    line-height: 1.6;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
  }

  * {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
  }

  h1, h2, h3, h4, h5, h6 {
    @apply font-outfit font-semibold;
    margin-bottom: 1rem;
  }

  h1 {
    font-size: 3rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  h2 {
    font-size: 2.5rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  h3 {
    font-size: 1.875rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  h4 {
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  h5 {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
  }

  h6 {
    font-size: 1.125rem !important;
    font-weight: 600 !important;
  }
}

@layer components {
  .btn {
    display: inline-block;
    padding: 12px 30px;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    cursor: pointer;
    border-radius: 0;
  }

  .btn-primary {
    background-color: #fbe99d;
    color: #2c2c2b;
    border-color: #fbe99d;
  }

  .btn-primary:hover {
    background-color: transparent;
    color: #fbe99d;
    border-color: #fbe99d;
    transform: translateY(-2px);
  }

  .btn-secondary {
    background-color: #2c2c2b;
    color: #fbe99d;
    border-color: #2c2c2b;
  }

  .btn-secondary:hover {
    background-color: #fbe99d;
    color: #2c2c2b;
    transform: translateY(-2px);
  }

  .btn-transparent {
    background-color: transparent;
    color: #fff;
    border-color: #fff;
  }

  .btn-transparent:hover {
    background-color: #fff;
    color: #2c2c2b;
  }

  .btn-primary-on-yellow {
    background-color: #2c2c2b !important;
    color: #fbe99d !important;
    border-color: #2c2c2b !important;
  }

  .btn-primary-on-yellow:hover {
    background-color: #1a1a19 !important;
    color: #fbe99d !important;
    border-color: #fbe99d !important;
    transform: translateY(-2px);
  }

  .section-spacing {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@layer utilities {
  .section-padding {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  @media (min-width: 1024px) {
    .section-padding {
      padding-top: 80px;
      padding-bottom: 80px;
    }
  }
}