:root {
    --primary-color: #ff4b6e;
    --bg-color: #ffe6eb;
    --text-color: #333;
}

body {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #ffe6eb 0%, #ffd1d8 100%);
    font-family: 'Poppins', sans-serif;
    overflow: hidden;
    /* Prevent scrolling when heart moves */
}

.container {
    text-align: center;
    background: white;
    padding: 2rem;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(255, 75, 110, 0.2);
    max-width: 90%;
    width: 400px;
    position: relative;
    z-index: 1;
}

h1 {
    font-family: 'Pacifico', cursive;
    color: var(--primary-color);
    margin-bottom: 1.5rem;
    font-size: 2.5rem;
}

.photo-container {
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 1.5rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border: 5px solid white;
}

.couple-photo {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.couple-photo:hover {
    transform: scale(1.05);
}

p {
    color: var(--text-color);
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

.heart-btn {
    position: absolute;
    /* Allows movement strictly within body or relative to initial position, but we'll use fixed or absolute on body for global movement */
    background: var(--primary-color);
    color: white;
    border: none;
    padding: 1rem 2rem;
    font-size: 1.2rem;
    border-radius: 50px;
    cursor: pointer;
    font-family: 'Pacifico', cursive;
    box-shadow: 0 5px 15px rgba(255, 75, 110, 0.4);
    transition: all 0.2s ease;
    z-index: 100;
    max-width: 80%;
    /* Ensure it doesn't overflow screen width on small devices */
}

.heart-btn:hover {
    /* Transform is handled by JS for movement, but we can add a pulse effect */
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 75, 110, 0.7);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(255, 75, 110, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 75, 110, 0);
    }
}

.heart-icon {
    margin-left: 10px;
}