/* =========================
   Romantic Website Style
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:linear-gradient(135deg,#fff5f7,#ffe4ec,#ffffff);
    color:#333;
    overflow-x:hidden;
}

/* Floating Hearts */

.hearts{
    position:fixed;
    width:100%;
    height:100%;
    top:0;
    left:0;
    pointer-events:none;
    overflow:hidden;
    z-index:0;
}

.hearts::before,
.hearts::after{
    content:"❤️";
    position:absolute;
    font-size:25px;
    animation:float 18s linear infinite;
    opacity:.3;
}

.hearts::before{
    left:10%;
}

.hearts::after{
    left:80%;
    animation-delay:8s;
}

@keyframes float{

0%{
transform:translateY(110vh) rotate(0deg);
}

100%{
transform:translateY(-120vh) rotate(360deg);
}

}

/* Hero */

.hero{

height:100vh;

display:flex;
justify-content:center;
align-items:center;

position:relative;

background:
linear-gradient(rgba(255,182,193,.25),
rgba(255,255,255,.55)),
url("images/together1.jpg");

background-size:cover;
background-position:center;

}

.overlay{

position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,.35);

}

.hero-content{

position:relative;
z-index:5;
text-align:center;
padding:20px;
color:white;

}

.hero-content h3{

font-family:'Great Vibes',cursive;
font-size:50px;
margin-bottom:10px;

}

.hero-content h1{

font-size:55px;
font-weight:700;
margin-bottom:20px;

}

.hero-content p{

max-width:650px;
margin:auto;
font-size:18px;
line-height:1.8;

}

.btn{

display:inline-block;
margin-top:35px;

padding:15px 35px;

border-radius:40px;

background:#ff4f81;

color:white;

text-decoration:none;

font-weight:600;

transition:.4s;

box-shadow:0 12px 30px rgba(255,79,129,.4);

}

.btn:hover{

transform:translateY(-5px);

background:#ff2969;

}

/* Sections */

.section{

padding:100px 10%;

position:relative;
z-index:2;

}

.section h2{

text-align:center;

font-size:40px;

margin-bottom:50px;

color:#ff4f81;

}

/* Cards */

.card{

background:white;

padding:45px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

line-height:2;

font-size:18px;

}

/* Gallery */

.gallery{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.photo{

overflow:hidden;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.15);

}

.photo img{

width:100%;

display:block;

transition:.5s;

}

.photo:hover img{

transform:scale(1.1);

}

/* Reasons */

.reasons{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:25px;

}

.reason{

background:white;

padding:30px;

border-radius:20px;

text-align:center;

font-size:18px;

font-weight:600;

box-shadow:0 12px 30px rgba(0,0,0,.08);

transition:.4s;

}

.reason:hover{

transform:translateY(-8px);

background:#ff4f81;

color:white;

}

/* Proposal */

.proposal{

padding:120px 20px;

text-align:center;

background:linear-gradient(135deg,#ff4f81,#ff7ea7);

color:white;

}

.proposal h1{

font-size:55px;

margin-bottom:20px;

}

.proposal p{

font-size:20px;

margin-bottom:40px;

}

.buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.buttons button{

padding:16px 35px;

border:none;

border-radius:50px;

font-size:18px;

cursor:pointer;

transition:.4s;

font-weight:600;

}

#yesBtn{

background:white;

color:#ff2969;

}

#yesBtn:hover{

transform:scale(1.08);

}

#thinkBtn{

background:transparent;

border:2px solid white;

color:white;

}

#thinkBtn:hover{

background:white;

color:#ff2969;

}

/* Popup */

.popup{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.65);

display:none;

justify-content:center;
align-items:center;

z-index:999;

}

.popup-box{

background:white;

padding:50px;

border-radius:30px;

text-align:center;

width:90%;
max-width:450px;

animation:pop .4s ease;

}

.popup-box h1{

font-size:60px;

margin-bottom:10px;

}

.popup-box h2{

color:#ff2969;

margin-bottom:20px;

}

.popup-box p{

line-height:1.8;

margin-bottom:30px;

}

.popup-box button{

padding:14px 30px;

border:none;

background:#ff4f81;

color:white;

border-radius:40px;

cursor:pointer;

font-size:16px;

}

@keyframes pop{

from{

transform:scale(.7);
opacity:0;

}

to{

transform:scale(1);
opacity:1;

}

}

/* Responsive */

@media(max-width:768px){

.hero-content h1{

font-size:38px;

}

.hero-content h3{

font-size:36px;

}

.section{

padding:70px 20px;

}

.section h2{

font-size:30px;

}

.card{

padding:30px;

}

.proposal h1{

font-size:38px;

}

.proposal p{

font-size:17px;

}

}
