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

@layer base {
  body {
    @apply bg-matteBlack text-white antialiased;
    overflow-x: hidden;
  }
  
  h1, h2, h3, h4, h5, h6 {
    @apply font-heading tracking-tighter leading-none;
  }

  p {
    @apply font-sans leading-relaxed text-silver;
  }

  /* Lenis setup */
  html.lenis, html.lenis body {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  .lenis.lenis-smooth iframe {
    pointer-events: none;
  }
}

@layer components {
  /* Architectural borders */
  .border-arch {
    @apply border-white/10;
  }
  .border-arch-b {
    @apply border-b border-white/10;
  }
  .border-arch-t {
    @apply border-t border-white/10;
  }
  .border-arch-l {
    @apply border-l border-white/10;
  }
  .border-arch-r {
    @apply border-r border-white/10;
  }

  /* Buttons */
  .btn-primary {
    @apply relative inline-flex items-center justify-center px-10 py-5 bg-accentOrange text-white font-heading font-bold uppercase tracking-widest overflow-hidden group;
  }
  .btn-primary::before {
    content: '';
    @apply absolute inset-0 bg-white scale-x-0 origin-left transition-transform duration-500 ease-[cubic-bezier(0.76,0,0.24,1)];
  }
  .btn-primary:hover::before {
    @apply scale-x-100;
  }
  .btn-primary span {
    @apply relative z-10 transition-colors duration-500;
  }
  .btn-primary:hover span {
    @apply text-matteBlack;
  }

  .btn-outline {
    @apply relative inline-flex items-center justify-center px-10 py-5 bg-transparent text-white border border-white/20 font-heading font-bold uppercase tracking-widest overflow-hidden group;
  }
  .btn-outline::before {
    content: '';
    @apply absolute inset-0 bg-white scale-y-0 origin-bottom transition-transform duration-500 ease-[cubic-bezier(0.76,0,0.24,1)];
  }
  .btn-outline:hover::before {
    @apply scale-y-100;
  }
  .btn-outline span {
    @apply relative z-10 transition-colors duration-500;
  }
  .btn-outline:hover span {
    @apply text-matteBlack;
  }

  /* Clip text for reveal animations */
  .clip-text {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
  
  .char-wrap {
    overflow: hidden;
    display: inline-block;
  }
  .char {
    display: inline-block;
    transform: translateY(100%);
  }
  /* Contact Form 7 Styling */
  .wpcf7 form input[type="text"],
  .wpcf7 form input[type="email"],
  .wpcf7 form input[type="tel"],
  .wpcf7 form select,
  .wpcf7 form textarea {
    @apply w-full bg-black/20 border border-white/10 rounded-xl px-4 py-4 text-white focus:outline-none focus:border-[#EF4423] transition-colors;
  }
  
  .wpcf7 form select {
    @apply appearance-none;
  }

  .wpcf7 form select option {
    @apply text-black;
  }

  .wpcf7 form input[type="submit"] {
    @apply bg-[#EF4423] w-full py-4 rounded-xl text-lg font-bold hover:bg-[#D43715] transition-colors shadow-lg text-white cursor-pointer;
  }
}

@layer utilities {
  .text-huge {
    font-size: clamp(4rem, 10vw, 12rem);
  }
  .text-mega {
    font-size: clamp(6rem, 15vw, 18rem);
  }
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #111111;
}
::-webkit-scrollbar-thumb {
  background: #3E434B;
}
::-webkit-scrollbar-thumb:hover {
  background: #F97316;
}

/* Swiper overrides */
.swiper-pagination-bullet-active {
  background-color: #F97316 !important;
}
