*{
margin:0;
padding:0;
box-sizing:border-box;
font-family: 'Segoe UI', sans-serif;
}

html, body{
height:100%;
margin:0;
}

/* BODY BACKGROUND IMAGE */

body{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;

background-image: url("rose.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;

overflow:hidden;
}

/* DARK OVERLAY FOR READABILITY */

body::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background: rgba(0,0,0,0.4);
z-index:0;
}

.container{
width:100%;
display:flex;
justify-content:center;
align-items:center;
}

.title{
position:absolute;
top:80px;

font-family:'Libre Baskerville', serif;
font-size:42px;
letter-spacing:2px;

color:white;
text-align:center;

text-shadow:0 4px 15px rgba(0,0,0,0.5);
}


.quote-card{
position:relative;
z-index:1;

background: rgba(255,255,255,0.18);
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);

border:1px solid rgba(255,255,255,0.25);

padding:40px;
width:500px;
border-radius:15px;
text-align:center;
color:white;

box-shadow:0 12px 35px rgba(0,0,0,0.35);

transition: transform 0.3s ease, opacity 0.3s ease;
animation: floatCard 6s ease-in-out infinite;
animation: floatCard 4s ease-in-out infinite;
}

.quote-card.animate{
transform: translateY(-8px) scale(1.03);
opacity:0.9;
}





@keyframes floatCard{
0%{ transform: translateY(0px); }
50%{ transform: translateY(-20px); }
100%{ transform: translateY(0px); }
}

.quote-card h1{
margin-bottom:20px;
font-weight:600;
}

/* QUOTE TEXT */

#quoteText{
font-family:'Playfair Display', serif;
font-style:italic;
line-height:1.6;
margin-bottom:20px;

min-height:90px;

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

transition: opacity 0.3s ease;

font-size:26px;
line-height:1.7;
font-weight:500;
}

/* AUTHOR */

#quoteAuthor{
font-family:'Playfair Display', serif;

font-style:italic;
margin-bottom:30px;

opacity:0.9;
min-height:24px;

font-size:18px;
}
/* BUTTON CONTAINER */

.buttons{
display:flex;
justify-content:center;
gap:15px;
}

/* BUTTON STYLE */

button{
padding:10px 20px;
border:none;
border-radius:8px;
font-size:15px;
cursor:pointer;
transition:0.3s;
}

/* NEW QUOTE BUTTON */

#newQuote{
background:#ffffff;
color:#333;
}

/* COPY BUTTON */

#copyQuote{
background:#333;
color:white;
}

/* BUTTON HOVER */

button:hover{
transform:scale(1.05);
}

/* CARD ANIMATION */

.quote-card.animate{
transform: scale(1.03);
opacity:0.9;
}