/* ===============================
   EMerriment Encyclopedia
================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f9f9f7;

    color:#333;

    line-height:1.6;

}

/* ===============================
Header
================================== */

.header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 8%;

    background:#ffffff;

    position:sticky;

    top:0;

    z-index:1000;

    box-shadow:0 2px 12px rgba(0,0,0,.08);

}

.logo{

    font-size:24px;

    font-weight:bold;

    color:#1f7a4d;

}

.logo span{

    margin-left:6px;

}

nav{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}

nav a{

    text-decoration:none;

    color:#555;

    font-weight:600;

    transition:.3s;

}

nav a:hover,

nav a.active{

    color:#1f7a4d;

}

/* ===============================
Hero
================================== */

.hero{

    padding:70px 8%;

    text-align:center;

    background:linear-gradient(135deg,#f5f9f4,#eaf6ee);

}

.hero h1{

    font-size:42px;

    margin-bottom:15px;

    color:#1f7a4d;

}

.hero p{

    max-width:700px;

    margin:auto;

    color:#666;

    font-size:18px;

}

/* ===============================
Search
================================== */

.search-section{

    padding:35px 8%;

}

#searchInput{

    width:100%;

    padding:16px 18px;

    border:1px solid #ddd;

    border-radius:12px;

    font-size:16px;

    outline:none;

    transition:.3s;

}

#searchInput:focus{

    border-color:#1f7a4d;

    box-shadow:0 0 10px rgba(31,122,77,.2);

}

/* ===============================
Categories
================================== */

.categories{

    padding:0 8% 30px;

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.category-btn{

    border:none;

    background:#ffffff;

    padding:12px 20px;

    border-radius:50px;

    cursor:pointer;

    font-weight:600;

    transition:.3s;

    box-shadow:0 2px 8px rgba(0,0,0,.08);

}

.category-btn:hover{

    transform:translateY(-2px);

}

.category-btn.active{

    background:#1f7a4d;

    color:#fff;

}

/* ===============================
Sections
================================== */

section{

    padding:20px 8%;

}

section h2{

    margin-bottom:20px;

    color:#1f7a4d;

}

/* ===============================
Article Grid
================================== */

.article-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:25px;

}

/* ===============================
Article Card
================================== */

.article-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 24px rgba(0,0,0,.08);

    transition:.3s;

    display:flex;

    flex-direction:column;

}

.article-card:hover{

    transform:translateY(-8px);

}

.article-card img{

    width:100%;

    height:200px;

    object-fit:cover;

}

.article-content{

    padding:20px;

    display:flex;

    flex-direction:column;

    gap:12px;

}

.article-category{

    display:inline-block;

    background:#eef8f1;

    color:#1f7a4d;

    padding:6px 12px;

    border-radius:30px;

    font-size:13px;

    font-weight:bold;

    width:fit-content;

}

.article-title{

    font-size:22px;

    font-weight:bold;

    color:#222;

}

.article-summary{

    color:#666;

    font-size:15px;

}

.article-meta{

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#777;

    font-size:14px;

}

.read-btn{

    margin-top:10px;

    background:#1f7a4d;

    color:#fff;

    text-decoration:none;

    text-align:center;

    padding:12px;

    border-radius:10px;

    transition:.3s;

}

.read-btn:hover{

    background:#16603c;

}

/* ===============================
Load More
================================== */

.load-more{

    text-align:center;

    padding:50px;

}

#loadMoreBtn{

    padding:15px 35px;

    border:none;

    background:#1f7a4d;

    color:white;

    font-size:16px;

    border-radius:10px;

    cursor:pointer;

    transition:.3s;

}

#loadMoreBtn:hover{

    background:#16603c;

}

/* ===============================
Footer
================================== */

footer{

    margin-top:60px;

    padding:40px;

    background:#1f7a4d;

    color:white;

    text-align:center;

}

/* ===============================
Responsive
================================== */

@media(max-width:768px){

.header{

    flex-direction:column;

    gap:20px;

}

nav{

    justify-content:center;

}

.hero{

    padding:50px 20px;

}

.hero h1{

    font-size:32px;

}

.hero p{

    font-size:16px;

}

.article-card img{

    height:180px;

}

}

@media(max-width:480px){

.hero h1{

    font-size:28px;

}

.article-title{

    font-size:20px;

}

#searchInput{

    padding:14px;

}

.category-btn{

    width:100%;

    text-align:center;

}

.load-more{

    padding:30px;

}

}

.no-results{

    text-align:center;

    padding:60px 20px;

    color:#666;

}

.no-results h2{

    color:#1f7a4d;

    margin-bottom:10px;

}

mark{

    background:#fff3a3;

    color:#222;

    padding:2px 4px;

    border-radius:4px;

}