/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: May 11 2026 | 20:00:33 */
/* ============================================
   BASE
============================================ */
body {
  margin: 0;
}


/* ============================================
   POPUP OVERLAY
============================================ */
#music-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  transition: opacity 0.8s ease;
}

#music-popup.hidden {
  opacity: 0;
  pointer-events: none;
}


/* ============================================
   CANVAS ÉTOILES
============================================ */
#popup-stars {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

#music-popup.opening #popup-stars {
  opacity: 0;
  transition: opacity 0.8s ease;
}


/* ============================================
   VOLETS
============================================ */
.door {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  transition: transform 1.2s ease-in-out;
  z-index: 1;
}
.door-left {
  left: 0;
  background-image: url("https://gala-bl.fr/wp-content/uploads/2026/05/left_bg_gala_bl.jpg");
  background-position: left center;
}
.door-right {
  right: 0;
  background-image: url("https://gala-bl.fr/wp-content/uploads/2026/05/right_bg_gala_bl.jpg");
  background-position: right center;
}

/* ============================================
   MOBILE : on garde le bord extérieur visible
============================================ */
@media (max-width: 768px) {
  .door-left {
    background-position: 80% center;   /* garde la partie GAUCHE de l'image */
  }
  .door-right {
    background-position: 20% center; /* garde la partie DROITE de l'image */
  }
}

/* Ouverture des volets */
#music-popup.opening .door-left {
  transform: translateX(-100%);
}

#music-popup.opening .door-right {
  transform: translateX(100%);
}


/* ============================================
   CONTENU CENTRAL
============================================ */
.popup-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 3;
  transition: opacity 0.5s ease;
}

#music-popup.opening .popup-content {
  opacity: 0;
}


/* ============================================
   TEXTE DORÉ (utilitaire)
============================================ */
.golden-text {
  background: linear-gradient(45deg, #6c3114, #8f502c);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


/* ============================================
   LOGO POPUP
============================================ */
.popup-content img.logo {
  max-width: 520px;
  margin-bottom: 80px;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
  animation: fadeInScale 0.8s ease forwards;
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}


/* ============================================
   TITRE
============================================ */
.title {
  font-size: 52px;
  font-weight: 700;
  margin-bottom: 40px;
  text-shadow: 0 3px 15px rgba(0, 0, 0, 0.5);
  animation: fadeInUp 1s ease 0.3s forwards;
  opacity: 0;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ============================================
   BOUTON "VOIR L'INVITATION"
============================================ */
button {
  padding: 18px 45px;
  font-size: 18px;
  font-weight: 600;
  background: linear-gradient(135deg, #c50003, #930001);
  color: #ffffff;
  border: 0;
  border-radius: 50px;
  cursor: pointer;
  box-shadow: 0 5px 20px rgba(197, 0, 3, 0.4);
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
  animation: fadeInUp 1s ease 0.6s forwards;
  opacity: 0;
}
button::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}
button:hover::before {
  width: 400px;
  height: 400px;
}
button:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #d4000a, #a30002);
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 8px 30px rgba(197, 0, 3, 0.6);
}
button:active {
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 3px 12px rgba(147, 0, 1, 0.5);
}


/* ============================================
   ANIMATIONS HERO (chorégraphie d'ouverture)
   
   Ordre visuel d'apparition :
   1. hero-reveal-1 (badge)            → 0.2s
   2. hero-reveal-6 (titre Yéchiva)    → 0.4s
   3. hero-reveal-2 (logo gala)        → 0.6s
   4. hero-reveal-3 (titre)            → 1.0s
   5. hero-reveal-4 (countdown)        → 1.4s
   6. hero-reveal-5 (date + lieu)      → 1.8s
============================================ */

/* État initial : tous masqués */
.hero-reveal-1,
.hero-reveal-2,
.hero-reveal-3,
.hero-reveal-4,
.hero-reveal-5,
.hero-reveal-6 {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1),
              transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Le badge : zoom + fade au lieu d'un slide */
.hero-reveal-1 {
  transform: scale(0.6);
}

/* Révélations déclenchées par la classe sur body */
body.invitation-revealed .hero-reveal-1 {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.2s;
}

body.invitation-revealed .hero-reveal-6 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.4s;
}

body.invitation-revealed .hero-reveal-2 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.6s;
}

body.invitation-revealed .hero-reveal-3 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1s;
}

body.invitation-revealed .hero-reveal-4 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.4s;
}

body.invitation-revealed .hero-reveal-5 {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 1.8s;
}


/* ============================================
   ÉDITEUR ELEMENTOR
   Désactive popup et affiche les hero pour pouvoir éditer
============================================ */
body.elementor-editor-active .hero-reveal-1,
body.elementor-editor-active .hero-reveal-2,
body.elementor-editor-active .hero-reveal-3,
body.elementor-editor-active .hero-reveal-4,
body.elementor-editor-active .hero-reveal-5,
body.elementor-editor-active .hero-reveal-6 {
  opacity: 1 !important;
  transform: none !important;
}

body.elementor-editor-active #music-popup {
  display: none !important;
}


/* ============================================
   RESPONSIVE
============================================ */
@media (max-width: 768px) {
  .title {
    font-size: 38px;
    margin-bottom: 30px;
  }
  
  .popup-content img.logo {
    max-width: 320px;
    margin-bottom: 60px;
  }
  
  button {
    padding: 15px 35px;
    font-size: 16px;
  }
}