/* RESET & BASE */
* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: serif;
  background: #f9f9f9;
  overflow-x: hidden;
  min-height: 100vh;
}
/* FIXED BLOSSOMS CONTAINER */
.blossoms {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
  user-select: none;
  z-index: 2;   /* above the panel */
}
/* TOP‑LEFT BLOSSOM */
.blossoms img.top {
  position: absolute;
  left: 10px;
  width: 40%;
  max-width: 950px;
}
/* BOTTOM‑RIGHT BLOSSOM */
.blossoms img.bottom {
  position: absolute;
  bottom: -30px;
  right: 0px;
  width: 50%;
  max-width: 300px;
}
/* CONTENT PANEL */
.container {
  position: relative;
  z-index: 1;   /* below the blossoms */
  background: white;
  max-width: 1000px;
  width: 95%;
  margin: 0 auto;
  padding: 120px 20px 140px; /* extra top & bottom so blossoms overlay nicely */
  text-align: center;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: rgba(68, 50, 93, 0.25) 0px 30px 60px -12px, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px;
}

/* FEATURED IMAGE STYLES */
.featured-image {
    margin: 1.5rem auto 2rem;
    width: 90%;
    max-width: 700px;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
  }
  
  .featured-image img {
    width: 100%;
    display: block;
  }

/* TYPOGRAPHY */
h1 {
  font-family: Tangerine;
  color: crimson;
  font-weight: bold;
  font-size: 5.55rem;
  line-height: .85;
  text-transform: none;
  letter-spacing: 0em;
  margin-bottom: 1rem;
}
.date { font-family: Crimson Pro;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.0625;
  text-transform: none;
  letter-spacing: 0em; }
.loc { font-family: "Crimson Pro";
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.23;
  text-transform: none;
  letter-spacing: 0em;
  margin-top: 1rem;
 }
.countdown {
  font-family: Crimson Pro;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-feature-settings: "tnum", "lnum";
    margin-top: 1rem;
}
.footer-text {
  font-family: Crimson Pro;
    font-weight: 400;
    font-size: 1.0625rem;
    line-height: 1.5;
    letter-spacing: 0em;
    text-align: center;
    margin-top: 1rem;
}
.footer-text .heart {
  color: #e25555;
}
/* HEART CONTAINER */
.heart-container {
  display: inline-block;
  width: 1.0625rem; /* Set a fixed width */
  height: 1.0625rem; /* Set a fixed height */
  position: relative;
}

/* HEART ANIMATION */
.heart {
  display: inline-block;
  font-size: 1.0625rem; /* Base size of the heart */
  animation: heartbeat 1s infinite;
  transform-origin: center;
}

@keyframes heartbeat {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.9); /* Increase size */
  }
}
/* MEDIA QUERIES */
@media (max-width: 768px) {
    .container {
      padding: 100px 15px 120px;
      width: 100%;
    }
  }
  
  @media (max-width: 480px) {
    .blossoms img.top {
      width: 60%; 
    }
    .blossoms img.bottom {
      width: 40%;
    }
    .container {
      padding: 60px 15px 100px;
      width: 100%;
    }
  }
  
  @media (max-height: 600px) {
    .container {
      padding: 60px 15px 80px;
      width: 100%;
    }
  }