html, body{
overflow-x:hidden;
}

body{
margin:0;
font-family:Arial;
}

/* NAVBAR */

.navbar{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 40px;
background:linear-gradient(45deg,#2e7d32,#66bb6a);
color:white;
position:relative;
z-index:1000;
}

.nav-links{
list-style:none;
display:flex;
gap:20px;
}

.nav-links a{
color:white;
text-decoration:none;
}

/* dropdown */
.dropdown{
position:relative;
}

.dropdown-menu li{
padding:10px 20px;
}

.dropdown-menu li:hover{
background:#1b5e20;
}

.dropdown-menu{
display:none;
position:absolute;
top:100%;
left:0;
background:#2e7d32;
list-style:none;
padding:10px 0;
min-width:180px;
z-index:2000;
}

.dropdown:hover .dropdown-menu{
display:block;
}


/* SLIDER */
.slider{
margin:30px 6%;
position:relative;
overflow:hidden;

aspect-ratio:3 / 1;
border-radius:10px;

box-shadow:0 10px 25px rgba(0,0,0,0.2);
}
.slides{
position:relative;
height:100%;
width:100%;
overflow:hidden;
}

.slides img{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
transition:opacity 2s ease-in-out;
}

.slides img.active{
opacity:1;
}
/* SLIDER */


/* ABOUT */

.about{
padding:60px;
text-align:justify;
font-size: 1.2em;
}

/* GALLERY */

/* GALLERY IMPROVED */

.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;
padding:40px;
}

.card{
background:white;
box-shadow:0 8px 20px rgba(0,0,0,0.15);
border-radius:10px;
overflow:hidden;
transition:0.3s;
cursor:pointer;
}

.card:hover{
transform:translateY(-5px);
}

.card img{
width:100%;
aspect-ratio:1/1;   /* PERFECT 800x800 LOOK */
object-fit:cover;
}

.card p{
padding:15px;
font-size:15px;
text-align:justify;
font-family: 'Segoe UI', sans-serif;
color:#333;
line-height:1.5;
}

/* POPUP IMAGE STYLE */

/* LOCK BODY WHEN POPUP OPEN */
body.popup-open{
overflow:hidden;
}

/* BETTER POPUP */
.popup{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.7);
overflow:auto; /* enables scroll inside popup */
z-index:9999;
transition:0.3s ease;
}

.popup-content{
background:white;
padding:20px;
margin:50px auto;
width:70%;
max-height:80vh;
overflow-y:auto; /* scroll INSIDE popup */
border-radius:10px;
box-sizing:border-box;
}

.popup-content img{
width:100%;           /* FULL WIDTH */
height:auto;          /* KEEP RATIO */
display:block;
border-radius:8px;
margin-bottom:15px;
}

.popup-content p{
text-align:justify;
font-family:'Segoe UI', sans-serif;
line-height:1.6;
color:#333;
}
/* POPUP */


.close{
float:right;
font-size:25px;
cursor:pointer;
}

/* CONTACT */

#contact{
padding:60px;
background:#f5f5f5;
text-align:center;
}

form{
max-width:500px;
margin:auto;
display:flex;
flex-direction:column;
gap:10px;
}

input,textarea{
padding:10px;
}

button{
background:#2e7d32;
color:white;
border:none;
padding:12px;
cursor:pointer;
}

section:not(.slider){
padding:60px 8%;
}

section h2{
text-align:center;
margin-bottom:30px;
color:#2e7d32;
font-size:32px;
}

/* hamburger icon */

.menu-toggle{
display:none;
font-size:28px;
cursor:pointer;
}

/* mobile layout */

@media (max-width:768px){

.menu-toggle{
display:block;
color:white;
}

@media (max-width:768px){

.nav-links{
position:absolute;
top:70px;
right:10px;
width:220px;
background:#2e7d32;

flex-direction:column;
display:none;

border-radius:6px;
box-shadow:0 5px 15px rgba(0,0,0,0.3);
}

}

.nav-links.active{
display:flex;
}

.nav-links li{
padding:15px;
text-align:center;
}

.dropdown-menu{
position:static;
background:#1b5e20;
}

}

.footer{
background:linear-gradient(45deg,#2e7d32,#66bb6a); /* same as navbar */
color:white;
text-align:center;
padding:15px;
font-size:14px;
margin-top:40px;
}

.footer p{
margin:0;
letter-spacing:0.5px;
}