@layer base {
  :root {
    --primary: 216 78% 18%;
    --primary-foreground: 0 0% 100%;
    --accent: 43 96% 52%;
    --accent-foreground: 216 78% 18%;
    --secondary: 216 30% 95%;
    --secondary-foreground: 216 78% 18%;
    --background: 0 0% 100%;
    --foreground: 216 60% 12%;
    --muted: 216 20% 93%;
    --muted-foreground: 216 15% 45%;
    --border: 216 25% 88%;
    --card: 0 0% 100%;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  html {
    scroll-behavior: smooth;
  }

  body {
    font-family: "Inter", system-ui, sans-serif;
    background-color: hsl(var(--background));
    color: hsl(var(--foreground));
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: "Bricolage Grotesque", system-ui, sans-serif;
    font-weight: 700;
    line-height: 1.1;
  }
}

@layer utilities {
  .section-pad {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  @media (min-width: 768px) {
    .section-pad {
      padding-top: 7rem;
      padding-bottom: 7rem;
    }
  }

  .container-pad {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  @media (min-width: 640px) {
    .container-pad {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
  }

  @media (min-width: 1024px) {
    .container-pad {
      padding-left: 2rem;
      padding-right: 2rem;
    }
  }
}

/* Mobile Menu Animation */
#mobile-menu {
  overflow: hidden;
  transition:
    max-height 0.2s ease,
    opacity 0.2s ease;
  max-height: 0;
  opacity: 0;
}

#mobile-menu.open {
  max-height: 500px;
  opacity: 1;
}

/* Custom Logo Styling */
.custom-logo-link img {
  height: 7rem;
  width: auto;
}

/* Contact Form 7 Tailwind Fixes */
.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.wpcf7-spinner {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
}

.wpcf7-response-output {
  margin: 2rem 0 0 0 !important;
  padding: 1rem !important;
  border: 1px solid hsl(var(--border)) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  color: hsl(var(--foreground)) !important;
  background-color: hsl(var(--secondary) / 0.1) !important;
}

.wpcf7-mail-sent-ok {
  border-color: hsl(var(--accent)) !important;
  background-color: hsl(var(--accent) / 0.1) !important;
}

.wpcf7-not-valid-tip {
  font-size: 0.75rem !important;
  color: #ef4444 !important;
  margin-top: 0.25rem !important;
}
