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

/* Next.js error overlay styles */
[data-nextjs-dialog-backdrop] {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

/* Prevent white flash on admin pages */
@layer base {
  html {
    background-color: rgb(249 250 251);
  }
  
  html.dark {
    background-color: rgb(17 24 39);
  }
  
  body {
    @apply bg-gray-50 dark:bg-gray-900 transition-none;
  }
  
  /* Disable transitions on page load to prevent flash */
  .no-transitions * {
    transition: none !important;
  }
}

/* Shimmer animation for sale banner */
@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(200%);
  }
}

.animate-shimmer {
  animation: shimmer 3s ease-in-out infinite;
}

/* Safari form styling fixes */
@layer base {
  /* Remove Safari's default styling for form inputs */
  input[type="text"],
  input[type="email"],
  input[type="url"],
  input[type="tel"],
  input[type="number"],
  input[type="password"],
  input[type="search"],
  select,
  textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  
  /* Fix Safari select arrow */
  select {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
    background-size: 1em;
    padding-right: 2.5rem;
  }
  
  /* Dark mode select arrow */
  .dark select {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d1d5db' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  }
  
  /* Ensure consistent border radius on iOS */
  input,
  select,
  textarea {
    border-radius: 0.375rem;
  }
  
  /* Remove iOS zoom on focus */
  @media screen and (max-width: 768px) {
    input[type="text"],
    input[type="email"],
    input[type="url"],
    input[type="tel"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    select,
    textarea {
      font-size: 16px;
    }
  }
}