/* Cal.com Inline Button Integration Styles */

/* Container centré pour le bouton inline */
#cal-container {
  position: relative;
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0;
  contain: layout style;
}

/* Message d'information (masqué rapidement) */
.cal-booking-info {
  display: none; /* Masqué par défaut car chargement immédiat */
}

/* Styles pour le bouton inline Cal.com centré */
#cal-container button[data-cal-link] {
  /* Bouton Cal.com inline personnalisé */
  border-radius: 25px !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  padding: 15px 30px !important;
  min-width: 250px !important;
  box-shadow: 0 4px 20px rgba(226, 7, 117, 0.3) !important;
  transition: all 0.3s ease !important;
  border: none !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

#cal-container button[data-cal-link]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 25px rgba(226, 7, 117, 0.4) !important;
  filter: brightness(1.05) !important;
}

#cal-container button[data-cal-link]:active {
  transform: translateY(0px) !important;
  box-shadow: 0 2px 15px rgba(226, 7, 117, 0.5) !important;
}

/* Cal.com gère les couleurs via buttonColor et buttonTextColor */
/* Variables CSS maintenues pour compatibilité future */
:root {
  --cal-brand-color: #E20775;
  --cal-brand-text-color: #FFFFFF;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
  #cal-container {
    margin: 25px -15px; /* Pleine largeur sur mobile */
  }
  
  #cal-container button[data-cal-link] {
    font-size: 16px !important;
    padding: 12px 25px !important;
    min-width: 200px !important;
    width: 100% !important;
    max-width: 300px !important;
  }
}

@media (max-width: 480px) {
  #cal-container {
    margin: 20px -10px;
  }
  
  #cal-container button[data-cal-link] {
    font-size: 15px !important;
    padding: 10px 20px !important;
    min-width: 180px !important;
    letter-spacing: 0.3px !important;
  }
}

/* Styles pour la modal Cal.com */
[data-cal-modal] {
  backdrop-filter: blur(8px) !important;
  background: rgba(0, 0, 0, 0.7) !important;
  z-index: 999999 !important;
}

/* Ajustement section contact pour le bouton centré */
.contact {
  position: relative;
}

.contact #cal-container {
  /* Centrage parfait dans la section contact */
  text-align: center;
}

/* Animation de chargement pour le bouton (très rapide) */
#cal-container:empty::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-top: 2px solid #E20775;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

#cal-container:not(:empty)::before {
  display: none;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Focus et accessibilité pour le bouton inline */
#cal-container button[data-cal-link]:focus {
  outline: 2px solid #E20775 !important;
  outline-offset: 2px !important;
}

/* Amélioration visuelle du bouton */
#cal-container button[data-cal-link] {
  background: linear-gradient(135deg, #E20775 0%, #d40669 100%) !important;
  position: relative !important;
  overflow: hidden !important;
}

#cal-container button[data-cal-link]::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent) !important;
  transition: left 0.5s ease !important;
}

#cal-container button[data-cal-link]:hover::before {
  left: 100% !important;
}

/* Container section contact optimisé */
.contact .cal-booking-info,
.contact #cal-container {
  margin-left: auto;
  margin-right: auto;
}

/* Centrage parfait */
.contact > div {
  text-align: center;
}

.contact .email-contact {
  margin-bottom: 20px;
}

/* Style élégant pour le bouton avec espacement */
#cal-container {
  margin-top: 25px;
  margin-bottom: 15px;
} 