/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Enhanced button shimmer (Tailwind handles the rest via .tm-btn-primary) */
.tm-btn-primary {
  position: relative;
  overflow: hidden;
}

.tm-btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}

.tm-btn-primary:hover::before {
  left: 100%;
}

/* Form validation enhancements */
.tm-input:invalid:not(:placeholder-shown) {
  border-color: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.tm-input:valid:not(:placeholder-shown) {
  border-color: #10b981;
}

/* Mobile-specific improvements */
@media (max-width: 640px) {
  /* Prevent zoom on input focus on iOS */
  .tm-input, .tm-textarea {
    font-size: 16px;
  }
  
  /* Improve touch targets */
  .tm-btn-primary {
    min-height: 44px;
  }
  
  /* Better spacing on mobile */
  section {
    scroll-margin-top: 1rem;
  }
}

/* Animation for form appearance */
@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#lead_form {
  animation: slideUpFade 0.6s ease-out;
}

/* Custom number input styling */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* Textarea resize is handled via Tailwind (resize-none) in .tm-textarea */
