*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:Inter,sans-serif;
background:#F8F5F0;
color:#2F2C28;
line-height:1.7;

}

nav{

display:flex;
justify-content:space-between;
align-items:center;
padding:20px 10%;
position:fixed;
top:0;
left:0;
width:100%;
z-index:100;
transition:.3s;

}

nav.scrolled{

background:#F8F5F0;
padding:14px 10%;
box-shadow:0 4px 20px rgba(0,0,0,.06);

}

nav.scrolled .logo,
nav.scrolled a{

color:#2F2C28;

}

.menu-toggle{

display:none;
flex-direction:column;
gap:5px;
background:none;
border:none;
cursor:pointer;
z-index:20;

}

.menu-toggle span{

width:26px;
height:2px;
background:currentColor;
color:black;
background-color:black;

}

nav.scrolled .menu-toggle span{

background-color:#2F2C28;

}

nav ul{

display:flex;
list-style:none;
gap:40px;

}

nav a{

text-decoration:none;
color:black;
font-weight:500;

}

.logo{

font-family:'Cormorant Garamond',serif;
font-size:32px;
color:black;

}

.hero{

height:100vh;
background:url("../images/hero_sunset_lotus_muted_preview.png") center center;
background-size:cover;
display:flex;
justify-content:center;
align-items:center;

}

.overlay{

background:rgba(0,0,0,.35);
padding:80px;
border-radius:15px;
text-align:center;
color:white;
backdrop-filter:blur(3px);

}

.hero h1{

font-size:72px;
font-family:'Cormorant Garamond',serif;
margin-bottom:20px;

}

.button{

display:inline-block;
margin-top:30px;
padding:16px 40px;
background:#C7A76A;
color:white;
text-decoration:none;
border-radius:40px;
transition:.4s;

}

.button:hover{

background:#B89354;

}

.container{

max-width:900px;
margin:auto;
padding:120px 40px;
text-align:center;

}

.container h2{

font-size:52px;
font-family:'Cormorant Garamond',serif;
margin-bottom:30px;

}

.cards{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:40px;
padding:100px;

}

.card{

background:white;
border-radius:15px;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,.08);
transition:.4s;

}

.card:hover{

transform:translateY(-8px);

}

.card{

cursor:pointer;

}

.modal-overlay{

position:fixed;
inset:0;
background:rgba(0,0,0,.6);
display:flex;
justify-content:center;
align-items:center;
padding:20px;
z-index:1000;
opacity:0;
visibility:hidden;
transition:.3s;

}

.modal-overlay.open{

opacity:1;
visibility:visible;

}

.modal{

background:white;
width:100%;
max-width:520px;
padding:50px 40px;
border-radius:15px;
position:relative;
text-align:left;
transform:translateY(20px);
transition:.3s;

}

.modal-overlay.open .modal{

transform:translateY(0);

}

.modal-close{

position:absolute;
top:12px;
right:16px;
background:none;
border:none;
font-size:30px;
line-height:1;
color:#999;
cursor:pointer;
transition:.3s;

}

.modal-close:hover{

color:#2F2C28;

}

.modal h3{

font-family:'Cormorant Garamond',serif;
font-size:32px;
margin-bottom:20px;
color:#C7A76A;

}

.modal p{

font-size:16px;
color:#2F2C28;

}

@media (max-width:768px){

.modal{

padding:40px 25px;

}

.modal h3{

font-size:26px;

}

}

.card img{

width:100%;
height:250px;
object-fit:cover;

}

.card h3{

padding:30px;
font-size:34px;
font-family:'Cormorant Garamond',serif;

}

.card p{

padding:0 30px 40px;

}

.quote{

padding:160px 20%;
background:#EFE8DD;
text-align:center;
font-size:42px;
font-family:'Cormorant Garamond',serif;
font-style:italic;

}

.events{

padding:120px;
text-align:center;

}

.event{

padding:30px;
border-bottom:1px solid #ddd;

}

footer{

padding:60px;
text-align:center;
background:#2F2C28;
color:white;

}

.card{

opacity:0;
transform:translateY(40px);
transition:.8s;

}

.card.show{

opacity:1;
transform:translateY(0);

}

/* GALLERY */

.gallery-section {
    padding: 5rem 2rem;
    background: #fafaf5;
}

.gallery-title {
    text-align: center;
    margin-bottom: 3rem;
}

/* Horizontale scroll */

.gallery-slider {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    scroll-snap-type: x mandatory;
}

/* Mooie scrollbar */

.gallery-slider::-webkit-scrollbar {
    height: 10px;
}

.gallery-slider::-webkit-scrollbar-thumb {
    background: #c7c7c7;
    border-radius: 20px;
}

/* Flyers */

.gallery-image {
    width: 300px;
    height: 420px;
    object-fit: cover;
    border-radius: 20px;
    cursor: pointer;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    scroll-snap-align: start;
    flex-shrink: 0;
    box-shadow: 0 5px 20px rgba(0,0,0,0.12);
}

.gallery-image:hover {
    transform: scale(1.03);
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* LIGHTBOX */

.lightbox {
    display: none;
    position: fixed;
    z-index: 2000;
    inset: 0;
    background: rgba(0,0,0,0.9);
    justify-content: center;
    align-items: center;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90%;

    border-radius: 10px;
}

.close {
    position: absolute;
    top: 30px;
    right: 40px;
    color: white;
    font-size: 3rem;
    cursor: pointer;
}

@media (max-width:768px){

.menu-toggle{

display:flex;

}

nav ul{

position:fixed;
top:0;
right:-100%;
height:100vh;
width:70%;
max-width:300px;
background:#F8F5F0;
flex-direction:column;
justify-content:center;
align-items:center;
gap:30px;
transition:.4s;

}

nav ul.open{

right:0;
box-shadow:-10px 0 30px rgba(0,0,0,.1);

}

nav ul a{

color:#2F2C28;
font-size:20px;

}

.hero h1{

font-size:44px;

}

.overlay{

padding:40px 30px;

}

.quote{

padding:100px 8%;
font-size:28px;

}

.cards,
.events{

padding:60px 30px;

}

}

.calendar-section{

padding:100px 10%;
text-align:center;

}

.calendar-section h2{

font-size:52px;
font-family:'Cormorant Garamond',serif;
margin-bottom:40px;

}

.calendar-legend{

display:flex;
justify-content:center;
gap:30px;
flex-wrap:wrap;
margin-bottom:50px;
font-size:15px;

}

.calendar-legend span{

display:flex;
align-items:center;
gap:8px;

}

.calendar-legend i{

width:12px;
height:12px;
border-radius:50%;
display:inline-block;

}

.calendar-wrap{

max-width:800px;
margin:auto;
background:white;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.06);
padding:40px;

}

.calendar-header{

display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;

}

.calendar-header h3{

font-family:'Cormorant Garamond',serif;
font-size:30px;
text-transform:capitalize;

}

.calendar-header button{

background:none;
border:none;
font-size:26px;
cursor:pointer;
color:#C7A76A;
width:40px;
height:40px;
border-radius:50%;
transition:.3s;

}

.calendar-header button:hover{

background:#F8F5F0;

}

.calendar-grid{

display:grid;
grid-template-columns:repeat(7,1fr);
gap:6px;

}

.calendar-grid .dow{

font-size:13px;
color:#999;
padding-bottom:10px;

}

.calendar-day{

aspect-ratio:1;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border-radius:10px;
cursor:default;
position:relative;
font-size:15px;

}

.calendar-day.empty{

visibility:hidden;

}

.calendar-day.has-event{

cursor:pointer;

}

.calendar-day.has-event:hover{

background:#F8F5F0;

}

.calendar-day .dots{

display:flex;
gap:3px;
margin-top:4px;

}

.calendar-day .dots span{

width:6px;
height:6px;
border-radius:50%;

}

.calendar-day.today{

background:#C7A76A;
color:white;
font-weight:600;

}

.day-panel{

max-width:800px;
margin:30px auto 0;
text-align:left;

}

.day-panel .item{

background:white;
border-radius:12px;
padding:20px 25px;
margin-bottom:12px;
box-shadow:0 6px 18px rgba(0,0,0,.05);
display:flex;
align-items:center;
gap:15px;

}

.day-panel .item i{

width:10px;
height:10px;
border-radius:50%;
flex-shrink:0;

}

.day-panel .item h4{

font-family:'Cormorant Garamond',serif;
font-size:20px;
font-weight:600;

}

.day-panel .item p{

font-size:13px;
color:#777;

}

@media (max-width:768px){

.calendar-wrap{

padding:20px;

}

.calendar-day{

font-size:12px;

}

}