/* Reset CSS */

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



body {

    font-family: 'Noto Sans KR', sans-serif;

    line-height: 1.6;

    color: #333;

}



/* Navigation */

.main-nav {

    background: #fff;

    box-shadow: 0 2px 5px rgba(0,0,0,0.1);

    position: fixed;

    width: 100%;

    top: 0;

    z-index: 1000;

}



.nav-wrapper {

    max-width: 1200px;

    margin: 0 auto;

    padding: 1rem;

    display: flex;

    justify-content: space-between;

    align-items: center;

}



.nav-menu {

    display: flex;

    list-style: none;

    gap: 2rem;

}



.nav-menu a {

    text-decoration: none;

    color: #333;

    font-weight: 500;

}



/* Main Content */

main {

    margin-top: 60px;

    padding: 2rem;

}



.main-banner {

    background: #f8f9fa;

    padding: 3rem;

    text-align: center;

    margin-bottom: 2rem;

}



.news-grid {

    display: grid;

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

    gap: 2rem;

    margin: 2rem 0;

}



/* Footer */

footer {

    background: #333;

    color: #fff;

    padding: 2rem;

    margin-top: 3rem;

}



.footer-content {

    max-width: 1200px;

    margin: 0 auto;

    display: flex;

    justify-content: space-between;

}



.footer-links ul {

    list-style: none;

}



.footer-links a {

    color: #fff;

    text-decoration: none;

}



/* News Card Styles */

.news-card {

    background: #fff;

    border-radius: 8px;

    box-shadow: 0 2px 4px rgba(0,0,0,0.1);

    overflow: hidden;

    transition: transform 0.2s;

}



.news-card:hover {

    transform: translateY(-5px);

}



.news-card-image {

    width: 100%;

    height: 200px;

    object-fit: cover;

}



.news-card-content {

    padding: 1rem;

}



.news-card-title {

    font-size: 1.2rem;

    font-weight: 600;

    margin-bottom: 0.5rem;

}



.news-card-excerpt {

    font-size: 0.9rem;

    color: #666;

    margin-bottom: 1rem;

}



.news-card-meta {

    display: flex;

    justify-content: space-between;

    align-items: center;

    font-size: 0.8rem;

    color: #888;

}



/* Login Modal Styles */

.modal-overlay {

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    background: rgba(0,0,0,0.5);

    display: none;

    justify-content: center;

    align-items: center;

    z-index: 2000;

}



.modal {

    background: #fff;

    padding: 2rem;

    border-radius: 8px;

    width: 90%;

    max-width: 400px;

}



.modal-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 1.5rem;

}



.modal-close {

    background: none;

    border: none;

    font-size: 1.5rem;

    cursor: pointer;

}



.login-form {

    display: flex;

    flex-direction: column;

    gap: 1rem;

}



.form-group {

    display: flex;

    flex-direction: column;

    gap: 0.5rem;

}



.form-group input {

    padding: 0.8rem;

    border: 1px solid #ddd;

    border-radius: 4px;

}



.login-submit {

    background: #007bff;

    color: #fff;

    padding: 0.8rem;

    border: none;

    border-radius: 4px;

    cursor: pointer;

}



.login-submit:hover {

    background: #0056b3;

}



/* Search Form Styles */

.search-form {

    display: flex;

    gap: 0.5rem;

}



.search-form input {

    padding: 0.5rem;

    border: 1px solid #ddd;

    border-radius: 4px;

    width: 200px;

}



.search-form button {

    padding: 0.5rem 1rem;

    background: #007bff;

    color: #fff;

    border: none;

    border-radius: 4px;

    cursor: pointer;

} 



/* 네비게이션 active 상태 스타일 */

.nav-menu li.active a {

    color: #007bff;

    font-weight: 700;

    position: relative;

}



.nav-menu li.active a::after {

    content: '';

    position: absolute;

    bottom: -5px;

    left: 0;

    width: 100%;

    height: 2px;

    background-color: #007bff;

}



/* 링크 호버 효과 */

.nav-menu a:hover {

    color: #0056b3;

}



.footer-links a:hover {

    text-decoration: underline;

} 
