/* General Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to right, #f9c1d9, #f0e6f1); /* Soft pink to lavender gradient */
  font-family: 'Poppins', sans-serif;
  overflow: hidden;
  position: relative;
}

/* Main container styling */
.wrapper {
  text-align: center;
  position: relative;
  z-index: 2;
}

/* Main Message Styling */
.message-box h1 {
  font-size: 3.5rem;
  color: #4a4a4a;
  text-shadow: 2px 2px 8px rgba(255, 105, 180, 0.6); /* Soft shadow for depth */
  animation: bounceIn 1.5s ease;
}

.message-box p {
  font-size: 1.4rem;
  color: #4a4a4a;
  margin-top: 20px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  animation: fadeInText 2s ease-in-out;
}

/* Button Styling */
.next-button {
  display: inline-block;
  margin-top: 30px;
  padding: 12px 24px;
  background-color: #ff69b4;
  color: white;
  text-decoration: none;
  font-size: 1.3rem;
  border-radius: 10px;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.next-button:hover {
  background-color: #ff3366;
  transform: scale(1.05); /* Slight scaling effect on hover */
}

/* Heart Container and Floating Hearts */
.heart-container {
  position: relative;
  display: inline-block;
  animation: growHeart 3s ease-in-out infinite alternate;
}

.floating-heart {
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: #ff69b4;
  transform: rotate(45deg);
  animation: floatHearts 10s ease-in-out infinite;
  opacity: 0.8;
}

.floating-heart:before,
.floating-heart:after {
  content: '';
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: #ff69b4;
  border-radius: 50%;
}

.floating-heart:before {
  top: -25px;
  left: 0;
}

.floating-heart:after {
  top: 0;
  left: 25px;
}

/* Heartbeat Animation */
@keyframes bounceIn {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes fadeInText {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

/* Heart Grow Animation */
@keyframes growHeart {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}

/* Floating Hearts Animation */
@keyframes floatHearts {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 1;
  }
  25% {
    transform: translateY(-50px) rotate(10deg);
    opacity: 0.8;
  }
  50% {
    transform: translateY(0) rotate(20deg);
    opacity: 1;
  }
  75% {
    transform: translateY(50px) rotate(30deg);
    opacity: 0.8;
  }
  100% {
    transform: translateY(0) rotate(40deg);
    opacity: 1;
  }
}

/* Confetti Animation (for extra charm) */
@keyframes confettiFall {
  0% {
    transform: translateY(-100px) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(360deg);
    opacity: 0;
  }
}

/* Confetti Container Styling */
.confetti {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('https://cdn.pixabay.com/photo/2017/08/30/13/22/balloons-2690176_960_720.jpg') no-repeat center center;
  background-size: cover;
  z-index: -1;
  pointer-events: none;
}

/* Styling for confetti pieces */
.confetti div {
  position: absolute;
  width: 10px;
  height: 10px;
  background-color: #ffb6c1;
  opacity: 0;
  animation: confettiFall 3s ease-in-out infinite;
}

/* Make floating hearts in the page */
.floating-heart-1 { top: 10%; left: 15%; }
.floating-heart-2 { top: 20%; left: 35%; }
.floating-heart-3 { top: 50%; left: 55%; }
.floating-heart-4 { top: 40%; left: 80%; }
.floating-heart-5 { top: 70%; left: 10%; }