body {
    background-color: #fdf6f9;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    font-family: 'Georgia', serif;
    overflow: hidden;
    position: relative;
}

.container {
    perspective: 1000px;
}

.invitation-card {
    display: none;
    background: white;
    padding: 40px;
    border-radius: 15px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1), 
                0 6px 6px rgba(0,0,0,0.1); /* Stacked effect */
    text-align: center;
    width: 400px; /*Orig: 350px*/
    position: relative;
    border: 2px solid #ff4d4d;
    z-index: 10;
}

h1 {
    color: #ff4d4d;
    font-size: 28px;
    margin-bottom: 10px;
}

.date {
    font-weight: bold;
    color: #555;
}

.message {
    color: #333;
    line-height: 1.5;
    margin-bottom: 30px;
}

.button-stack {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.btn {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: transform 0.2s;

    border: 1px solid #000000;
}

.yes {
    background-color: #ff4d4d;
    color: white;
}

.no {
    background-color: #ddd;
    color: #333;
    position: relative;
}

.btn:hover {
    transform: scale(1.1);
}

#response-text {
    margin-top: 20px;
    font-size: 18px;
    font-weight: bold;
    color: #ff4d4d;
}


.pwd-section {
    margin-top: 20px;
    padding: 20px;
    border-radius: 10px;
    background-color: #fce4ec;
    border: 2px dashed #ec407a
}

h2 {
    color: #8f3f3f;
    display: flex;    
    font-size: 22px;
    margin-bottom: 10px;
    justify-content: center;
    align-items: center;
}

 .input-group {
    display: flex;      
    justify-content: center;
    align-items: center;       
    gap: 10px;
    margin-top: 15px;
  }


  input[type="password"] {
      width: 50%;
      padding: 10px;
      font-size: 16px;
      border: 2px solid #f48fb1;
      border-radius: 8px;
      outline: none;
      transition: border-color 0.3s;
    }

    input[type="password"]:focus {
      border-color: #ec407a;
    }

    input[type="password"]::placeholder {
    font-size: 12px;
    font-style: italic;
    font-family: 'Courier New', monospace;
    color: #999;
  }


.styled-button1 {
    box-shadow: 0px 10px 14px -7px #f48fb1;
	background:linear-gradient(to bottom, #9b4b66 5%, #f48fb1 100%);
	background-color:#599bb3;
	border-radius:8px;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	padding:10px 10px;
	text-decoration:none;
	text-shadow:0px 1px 0px #3d768a;
}

.styled-button1:hover {
    background:linear-gradient(to bottom, #f48fb1 5%, #9b4b66 100%);
	background-color:#f48fb1;
    transform: scale(1.1);
}

.styled-button1:active {
	position:relative;
	top:1px;
}

.heart {
      position: absolute;
      width: 100%;
      height: 100%;
      background: center/cover no-repeat;
      /* Heart shape using clip-path */
      clip-path: path("M50 15 C50 -10, 0 -10, 0 25 C0 55, 50 90, 50 90 C50 90, 100 55, 100 25 C100 -10, 50 -10, 50 15 Z");
      animation: fall linear infinite;
      will-change: transform;
    }

    @keyframes fall {
      0% {
        transform: translateY(-150px);
        opacity: 1;
      }
      100% {
        transform: translateY(110vh);
        opacity: 0.8;
      }
    }


    .photo-center {
      margin-top: 25px;
      width: 150px;
      height: 150px;
      border-radius: 5px;
      overflow: hidden;
      display: inline-block;
    }

    .photo-center img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .outside-img {
      position: absolute;
      width: 120px;
      height: 120px;
      object-fit: contain;
      border-radius: 20px;
      /*box-shadow: 0 4px 12px rgba(0,0,0,0.2);*/
      z-index: 1;
      opacity: 0;
      animation: floatAndFade 6s ease forwards;
    }

    @keyframes floatAndFade {
      0%   { opacity: 0; transform: translateY(0) scale(0.8); }
      20%  { opacity: 1; transform: translateY(-20px) scale(1); }
      80%  { opacity: 1; transform: translateY(-60px) scale(1); }
      100% { opacity: 0; transform: translateY(-100px) scale(0.9); }
    }

