/* RESET */
*{
box-sizing:border-box;
margin:0;
padding:0;
}

body{
font-family:Arial, Helvetica, sans-serif;
background:#f5f7fb;
}

/* HEADER */
.top-header{
background:#0c3c78;
color:white;
display:flex;
justify-content:space-between;
align-items:center;
padding:10px 20px;
flex-wrap:wrap;
}

.logo{
display:flex;
align-items:center;
gap:10px;
font-weight:bold;
}

.logo img{
height:50px;
}

nav{
display:flex;
}

nav a{
color:white;
margin-left:20px;
text-decoration:none;
}

.menu-toggle{
display:none;
font-size:22px;
cursor:pointer;
}

/* SECTIONS */
.about,
.events,
.aimym-section,
.aimym-intro{
max-width:1200px;
margin:auto;
padding:40px 20px;
}

/* GRID */
.card-grid{
display:flex;
flex-wrap:wrap;
gap:20px;
}

.card{
background:white;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.1);
padding:15px;
width:32%;
transition:0.3s;
}

.card:hover{
transform:translateY(-4px);
}

/* BUTTON */
.btn{
background:#0c3c78;
color:white;
padding:8px 15px;
border-radius:5px;
text-decoration:none;
}

/* DIRECTORY */
.dir-header{
display:flex;
align-items:center;
gap:12px;
border-bottom:1px solid #eee;
padding-bottom:8px;
margin-bottom:8px;
}

.dir-logo{
width:60px;
height:60px;
object-fit:contain;
border:1px solid #eee;
padding:5px;
background:white;
border-radius:8px;
}

.logo-placeholder{
width:60px;
height:60px;
background:#0c3c78;
color:white;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
font-size:18px;
border-radius:8px;
}

.tagline{
font-size:12px;
color:#777;
}

.dir-body p{
margin:4px 0;
font-size:14px;
}

/* AIMYM */
.aimym-container{
display:flex;
gap:25px;
}

.aimym-content{
width:70%;
background:white;
padding:20px;
border-radius:8px;
}

.aimym-menu{
width:30%;
}

.aimym-item{
background:white;
padding:12px;
margin-bottom:10px;
border-radius:6px;
cursor:pointer;
}

.aimym-item.active{
background:#0c3c78;
color:white;
}

/* FILTER */
.filter-bar{
background:white;
padding:15px;
margin-bottom:20px;
border-radius:8px;
}

.filter-form{
display:flex;
gap:10px;
flex-wrap:wrap;
}

/* ADMIN */
.admin-wrapper{
max-width:1200px;
margin:auto;
padding:20px;
}

.dashboard-cards{
display:flex;
flex-wrap:wrap;
gap:20px;
}

.dash-card{
background:white;
padding:20px;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,0.1);
width:23%;
}

/* LOGIN */
.login-container{
width:350px;
max-width:90%;
margin:80px auto;
background:white;
padding:25px;
border-radius:10px;
}

/* FOOTER */
.footer{
background:#0c3c78;
color:white;
padding:30px;
text-align:center;
margin-top:40px;
}

/* MOBILE */
@media(max-width:768px){

nav{
display:none;
flex-direction:column;
background:#0c3c78;
width:100%;
}

nav.active{
display:flex;
}

.menu-toggle{
display:block;
}

.card{
width:100%;
}

.aimym-container{
flex-direction:column;
}

.aimym-content,
.aimym-menu{
width:100%;
}

.dash-card{
width:100%;
}

}