/* Button hover effects */
.btn-hover {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.btn-hover: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;
}

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

/* Card hover effects */
.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Enhanced Modal Styles */
.modal-backdrop {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(92, 64, 52, 0.4);
}

/* Tab buttons */
.tab-button-modern {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.tab-button-modern:hover::before {
  left: 100%;
}

/* Button Upload Styles */
.btn-upload {
  background: linear-gradient(135deg, var(--brown-light) 0%, var(--brown) 100%);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.btn-upload:hover {
  background: linear-gradient(135deg, var(--brown) 0%, var(--brown-dark) 100%);
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(140, 109, 98, 0.3);
}

.btn-upload:active {
  transform: translateY(0);
}

.btn-upload::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;
}

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

/* Loading states */
.loading {
  position: relative;
  overflow: hidden;
}

.loading::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: loading 1.5s infinite;
}

.loading-overlay {
  background: rgba(245, 242, 237, 0.95);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.loading-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--beige);
  border-top: 3px solid var(--brown);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* Success and Error States */
.success-glow {
  box-shadow: 0 0 20px rgba(34, 197, 94, 0.3);
  animation: successPulse 2s ease-in-out;
}

.error-shake {
  animation: shake 0.5s ease-in-out;
}

/* Hero Card Component - No shadows */
.hero-card {
  border-radius: 1rem;
  background: #d7eaff;
  padding: 2.5rem;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  /* Remove all shadow and filter effects */
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hero-card:hover {
  /* No hover effects */
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

/* Navigation buttons keep minimal shadows */
.hero-nav-button {
  background: white;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.hero-nav-button:hover {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
