/**
 * Enclave de Foto - Estilos del Sistema de Reservas
 * Version: 3.0.0
 */

/* Animaciones y transiciones suaves */
.step-container {
  animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Location Cards - Hover Effects */
.location-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.location-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-color: #C4956A !important;
}

.location-card-selected {
  border-color: #C4956A !important;
  background: linear-gradient(135deg, #FDF6EF 0%, #FAE8D4 100%);
  box-shadow: 0 10px 15px -3px rgba(196, 149, 106, 0.2), 0 4px 6px -2px rgba(196, 149, 106, 0.1);
}

/* Service Cards - Hover Effects */
.service-card {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-color: #C4956A !important;
}

.service-card-selected {
  border-color: #C4956A !important;
  background: linear-gradient(135deg, #FDF6EF 0%, #FAE8D4 100%);
  box-shadow: 0 10px 15px -3px rgba(196, 149, 106, 0.2), 0 4px 6px -2px rgba(196, 149, 106, 0.1);
}

/* Booking Card Main */
.booking-card {
  animation: scaleIn 0.4s ease-out;
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Confetti Effect */
.confetti-active::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at 50% 50%, rgba(196, 149, 106, 0.05) 0%, transparent 70%);
  animation: confettiPulse 1s ease-out;
  pointer-events: none;
  z-index: 9999;
}

@keyframes confettiPulse {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(1.2);
  }
}

/* Chips con animación hover */
.v-chip {
  transition: all 0.2s ease !important;
}

.v-chip:hover {
  box-shadow: 0 2px 8px rgba(196, 149, 106, 0.3) !important;
}

/* Reset external input borders inside Vuetify */
.v-application input,
.v-application select,
.v-application textarea {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

.v-application input:focus,
.v-application input:hover,
.v-application input:active,
.v-application select:focus,
.v-application select:hover,
.v-application select:active,
.v-application textarea:focus,
.v-application textarea:hover,
.v-application textarea:active {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Forms mejorados */
.v-text-field .v-field,
.v-select .v-field,
.v-textarea .v-field {
  border-radius: 12px !important;
}

/* Better spacing for prepend-inner icons */
.v-field__prepend-inner .v-icon {
  opacity: 0.7;
}

.v-input:hover .v-field__prepend-inner .v-icon {
  opacity: 1;
}

/* Botones mejorados */
.v-btn:not(:disabled):hover {
  transform: translateY(-2px) !important;
}

.v-btn:not(:disabled):active {
  transform: translateY(0) !important;
}

/* Remove Vuetify app background so page shows through */
#enclave-booking-app .v-application {
  background: transparent !important;
  min-height: auto !important;
}

#enclave-booking-app .v-application__wrap {
  min-height: auto !important;
}

/* Fix: Chips de fecha/hora más grandes */
#enclave-booking-app .v-chip .v-chip__content {
  font-size: 16px !important;
}

/* Fix: Resumen de confirmación - evitar texto cortado */
#enclave-booking-app .v-list-item-subtitle {
  line-height: 1.4 !important;
}

/* Fix: Aumentar tamaño de opciones en v-select dropdowns */
/* Las opciones del dropdown se teleportan fuera de #enclave-booking-app */
.v-overlay .v-list-item-title {
  font-size: 16px !important;
}

#enclave-booking-app .v-list-item-title {
  font-size: 16px !important;
}

#enclave-booking-app .v-select .v-field__input,
#enclave-booking-app .v-select .v-select__selection-text {
  font-size: 16px !important;
}

/* Fix: Aumentar tamaño de placeholders, labels e inputs */
#enclave-booking-app .v-field input,
#enclave-booking-app .v-field textarea,
#enclave-booking-app .v-field .v-field__input {
  font-size: 16px !important;
}

#enclave-booking-app .v-field .v-label {
  font-size: 16px !important;
}

#enclave-booking-app .v-field input::placeholder,
#enclave-booking-app .v-field textarea::placeholder {
  font-size: 16px !important;
}

/* Responsive adjustments */
@media (max-width: 959px) {
  .booking-card {
    margin: 16px;
  }
}

@media (max-width: 599px) {
  h1 {
    font-size: 24px !important;
  }

  h2 {
    font-size: 22px !important;
  }
}
