@import url('https://fonts.cdnfonts.com/css/leviwindows');
*{
      font-family: 'LeviWindows', sans-serif;
}
body {
    background-image: url("/asset/bg.jpg");
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;  /* Centers container horizontally */
    align-items: flex-start;  /* Aligns to top so it doesn't float mid-screen */
    min-height: 100vh;
}
.hearts2-layer {
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;

    height: 365px; 
    z-index: 0;    
    
    background-image: url('asset/hearts2.gif');
    /* 2. Make it only repeat horizontally along with the bows */
    background-repeat: repeat; 
    pointer-events: none;
}
.UpDiv {
    background-image: url('asset/bow.gif');
    background-repeat: repeat; 
    height: 45px; 
    width: 100%;  
    
    /* Absolute positioning removes it from the document flow so it won't push things down */
    position: absolute;
    top: 430px;
    left: 0;
    z-index:1; 
}


.button-row {
    position: absolute;
    top: 380px; /* Adjust this value depending on where exactly between UpDiv2 and UpDiv you want them */
    left: 0;
    width: 100%;

    z-index: 1; /* Keeps them layered on top and clickable */
    
    display: flex;
    justify-content: center; /* Centers the buttons horizontally */
    align-items: center;
  
}

.button-row img {
    cursor: pointer;
    max-height: 65px; 
    flex: 1; /* Forces each button to grow equally to fill the entire row width */
    width: 100%; /* Stretches the image width horizontally */
    object-fit: fill; /* Forces the graphic to stretch and distort to perfectly fit the space */
}
.UpDiv2 {
    background-image: url('asset/bow.gif');
    background-repeat: repeat; 
    height: 45px; 
    width: 100%;  
    
    /* Absolute positioning removes it from the document flow so it won't push things down */
    position: absolute;
    top: 350px;
    left: 0;
    z-index:1; 
}
.container {
    position: relative;
    margin: 20px auto; /* Centers horizontally, small top margin */
    
    filter: drop-shadow(0 0 2px gray);
    border-radius: 7px;
    border-style: solid;
    border-image: url(/asset/lacebox.png) 40% fill / 22 round;
    border-image-outset: 20px 20px;
    outline: 1px dashed #2c30ff2a;
    outline-offset: -12px;
    text-align: center;
    background: white;
    width: 90vw;        /* Fluid: takes 90% of viewport width on mobile */
    max-width: 500px;   /* Caps at 500px on larger screens */
    height: 800px;
    z-index: 1;

    overflow: auto;
}


.Couple {
    position: relative; /* Establishes a positioning context */
    display: inline-block; /* Keeps the container wrapped tightly around the frame */
/* 1. Control the overall size here */
    width: 350px; /* Or use percentages, e.g., 50% */
    height: auto; 
}

/* 2. Make sure the base layers scale down to fit the container's width */
.Couple img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}
/* Ensures the frame layer stays in the background */
.Couple img[src*="layer1.png"] {
    position: relative; /* Keeps default document flow so the div has a height */
    z-index: 1;
}
.Couple img[src*="layer2.png"] {
    /* Keeps default document flow so the div has a height */
    z-index: 2;
}
/* Forces the hearts GIF to stack directly on top */
.hearts-grid {
    position: absolute;
    z-index: 2;
    left: 25%;
    top: 20%;
    width: 50%;  
    height: 70%; 
    
    background-image: url('/asset/hearts.gif');
    background-size: 50% 50%; 
    background-repeat: repeat;
    pointer-events: none;

    /* Adds the rounded corners */
    border-radius: 100px; /* Adjust the pixels to change how round it looks */
}
.Content {
  
    position: absolute;
    /* 1. Sets it right under your 50px high UpDiv (or 100px depending on your layer height) */
    top: 470px; 
    left: 0;
    width: 100%;
    font-size: clamp(18px, 6vw, 35px); /* Scales down on small screens */
    font-style: bold;

    z-index: 3; /* Keeps it on top of the backgrounds so text is readable */

    /* 2. Centers the text horizontally */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    
    /* Optional: Style your text */
    color: #000;

}
.Paragraph-Content {
    position: absolute;
    top: 600px; /* Positioned right below your date layer */
    left: 0;
    width: 100%;
    z-index: 3;
    font-size: clamp(14px, 5vw, 35px); /* Scales down on small screens */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.5; /* Adds comfortable spacing between the lines */
    
    color: #000;
    /* Uses your global font, but falls back to sans-serif if it fails to load */
    font-family: 'LeviWindows', sans-serif; 
}