/* Business Directory Card Flip Styles */

/* 3D Perspective and Transform Utilities */
.perspective-1000 {
  perspective: 1000px;
}

.preserve-3d {
  transform-style: preserve-3d;
}

.backface-hidden {
  backface-visibility: hidden;
}

.rotate-y-180 {
  transform: rotateY(180deg);
}

/* Card Flip Container */
.card-flip-container {
  position: relative;
}

/* Card Flip Inner Element */
.card-flip-inner {
  transition: transform 0.7s ease-in-out;
  transform-style: preserve-3d;
  width: 100%;
  height: 100%;
}

/* Hover Effect - Flip on Container Hover */
.card-flip-container:hover .card-flip-inner {
  transform: rotateY(180deg);
}

/* Manual Flip State - Activated by Lightbulb Click */
.card-flipped .card-flip-inner {
  transform: rotateY(180deg);
}

/* Lightbulb Trigger Styles */
.lightbulb-trigger {
  transition: all 0.3s ease;
  cursor: pointer;
}

.lightbulb-trigger:hover {
  color: #FFB347 !important;
  text-shadow: 0 0 10px rgba(255,179,71,.9), 
               0 0 20px rgba(255,179,71,.7), 
               0 0 30px rgba(255,165,0,.5) !important;
  transform: scale(1.1) !important;
}

/* Active Lightbulb State */
.lightbulb-active {
  color: #FFB347 !important;
  text-shadow: 0 0 10px rgba(255,179,71,.9), 
               0 0 20px rgba(255,179,71,.7), 
               0 0 30px rgba(255,165,0,.5) !important;
  transform: scale(1.1) !important;
}

/* Card Face Styles */
.card-face {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 0.5rem;
}

.card-front {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 4px solid #3498db;
}

.card-back {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  transform: rotateY(180deg);
  border: 2px solid #e2e8f0;
}

/* Contact Details Styling */
.contact-details {
  padding: 1rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-header {
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 0.5rem;
  margin-bottom: 0.75rem;
}

.contact-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  color: #64748b;
}

.contact-icon {
  color: #3498db;
  width: 0.75rem;
  flex-shrink: 0;
}

/* No Card Available Styling */
.no-card-placeholder {
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%);
  border: 2px dashed #94a3b8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
}

.no-card-icon {
  width: 4rem;
  height: 5rem;
  border: 2px dashed #64748b;
  border-radius: 0.375rem;
  margin-bottom: 0.75rem;
}

/* Responsive Design */
@media (max-width: 768px) {
  .card-flip-container {
    height: 180px;
  }
  
  .contact-details {
    padding: 0.75rem;
  }
  
  .contact-item {
    font-size: 0.7rem;
  }
}

@media (max-width: 480px) {
  .card-flip-container {
    height: 160px;
  }
  
  .contact-details {
    padding: 0.5rem;
  }
  
  .contact-item {
    font-size: 0.65rem;
    gap: 0.25rem;
  }
}

/* Animation Enhancements */
@keyframes cardFlipIn {
  from {
    transform: rotateY(-90deg);
    opacity: 0;
  }
  to {
    transform: rotateY(0deg);
    opacity: 1;
  }
}

@keyframes cardFlipOut {
  from {
    transform: rotateY(0deg);
    opacity: 1;
  }
  to {
    transform: rotateY(90deg);
    opacity: 0;
  }
}

/* Smooth entrance animations */
.card-flip-container.animate-in .card-flip-inner {
  animation: cardFlipIn 0.6s ease-out;
}

/* Enhanced hover effects */
.card-flip-container:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Accessibility improvements */
.card-flip-container:focus-within {
  outline: 2px solid #3498db;
  outline-offset: 2px;
}

.lightbulb-trigger:focus {
  outline: 2px solid #3498db;
  outline-offset: 2px;
  border-radius: 50%;
}