/* ---------- Base ---------- */

body {

margin:0;
font-family:'Poppins',sans-serif;
color:#4a4a4a;
background-color:#F6F2EC;
position:relative;
overflow-x:hidden;

}


/* ---------- Botanical decorations ---------- */

body::before{

content:"";
position:fixed;
top:0;
right:0;
width:600px;
height:600px;

background-image:url("assets/botanical-corner-top.png");
background-repeat:no-repeat;
background-size:contain;

pointer-events:none;
z-index:-1;

}

body::after{

content:"";
position:fixed;
bottom:0;
left:0;
width:520px;
height:520px;

background-image:url("assets/botanical-corner-bottom.png");
background-repeat:no-repeat;
background-size:contain;
background-position: bottom left;

pointer-events:none;
z-index:-1;

}


/* ---------- Typography ---------- */

h1{

font-family:'Playfair Display',serif;
font-size:64px;
font-weight:500;
margin-bottom:10px;

}

h2{

font-family:'Playfair Display',serif;
font-size:32px;
margin-bottom:20px;
color:#6E7753;

}

p{

line-height:1.6;
font-size:16px;

}


/* ---------- Hero section ---------- */

.hero{

padding:140px 20px 100px 20px;
text-align:center;

}

.date{

font-size:22px;
letter-spacing:2px;
margin-bottom:10px;

}

.subtitle{

font-size:18px;
opacity:0.7;

}


/* ---------- Cards ---------- */

.card{

background:white;

max-width:700px;

margin:50px auto;

padding:45px;

border-radius:20px;

box-shadow:0 20px 40px rgba(0,0,0,0.08);

text-align:center;

}


/* ---------- Divider ---------- */

.divider{

margin:30px auto;
width:160px;
opacity:0.9;

}


/* ---------- Dresscode ---------- */

.dresscode{

max-width:100%;
margin-top:20px;
border-radius:12px;

}


/* ---------- Buttons ---------- */

.button{

display:inline-block;
margin-top:20px;
padding:14px 28px;

background:#E58B8B;

color:white;

border-radius:8px;

text-decoration:none;

font-weight:500;

transition:0.25s;

}

.button:hover{

background:#D96B6B;

}


/* ---------- Footer ---------- */

footer{

text-align:center;
padding:80px 20px;
font-size:14px;
opacity:0.7;

}