@import url('https://fonts.googleapis.com/css2?family=Long+Cang&display=swap');
/*
 Theme Name:   Hanguocun Final Theme
 Author:       RYU YEONGGEON
 Version:      4.3.0
 Description:  A stable and custom WordPress theme built with Bootstrap.
*/

/* 1. 기본 & 폰트 */
body { font-family: 'Noto Sans SC', sans-serif; background-color: #f8f9fa; }
.site-main { padding-top: 2rem; }
.news-container { max-width: 1300px; margin: 0 auto; padding: 0 1rem; }

/* 2. 헤더 & 네비게이션 */
/* 2. 헤더 & 네비게이션 (Header & Navigation) */
.navbar-brand { 
    font-family: 'Long Cang', cursive;
    font-size: 2.5rem;
    font-weight: 400;
    background: linear-gradient(45deg, #d9534f, #0d6efd); 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    background-clip: text; 
    color: transparent; 
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); /* 그림자 추가 */
}
.logo-wrapper {
    line-height: 1.4; /* 줄 간격을 약간 확보합니다 */
}

.site-description {
    display: block;
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 0; /* 마이너스 마진을 제거하여 겹치지 않게 합니다 */
    font-family: 'Noto Sans SC', sans-serif;
    text-shadow: none;
}
.site-header .navbar > .container {
    align-items: center;
}
.navbar-nav .nav-item { margin: 0 0.25rem; }
.navbar-nav .nav-link { border-radius: 8px; font-weight: 500; transition: all 0.2s ease; }
.navbar-nav .nav-link:hover { color: #0d6efd !important; text-decoration: underline; background-color: #e9ecef; }
.navbar-nav .nav-item.active > .nav-link, .navbar-nav .nav-item.current-menu-item > .nav-link { background-color: #0d6efd; color: #fff !important; font-weight: 700; text-decoration: none; }
.navbar-toggler { border: none !important; font-size: 1.5rem; }
.navbar-toggler:focus { box-shadow: none !important; }

/* 3. 콘텐츠 & 목록 */
.list-group-item-action:hover { background-color: #f8f9fa; }
.entry-title a { color: #212529 !important; text-decoration: none !important; }
.entry-title a:hover .fw-bold { text-decoration: underline !important; }
.entry-meta a { color: inherit !important; text-decoration: none !important; }
.entry-meta a:hover { text-decoration: underline !important; }
article:not(.has-thumbnail) .entry-summary { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; }
.summary-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; }
.news-thumbnail-wrapper { width: 120px; height: auto; aspect-ratio: 16 / 9; }
.news-thumbnail-img { width: 100%; height: 100%; object-fit: cover; border-radius: 0.25rem; }

/* 4. 브레드크럼 & 카테고리 필터 */
.breadcrumb-wrapper { border: 1px solid #dee2e6; border-radius: 0.375rem; padding: 1rem; margin-bottom: 1.5rem; background-color: #fff; z-index: 10000; }
.breadcrumb-wrapper .breadcrumb { margin-bottom: 0; }
.category-filter .btn { margin-right: 0.5rem; }
.category-scroll-wrapper { overflow-x: auto; white-space: nowrap; -ms-overflow-style: none; scrollbar-width: none; }
.category-scroll-wrapper::-webkit-scrollbar { display: none; }
.category-filter { display: inline-block; }

/* 5. 모바일 메뉴 - 오프캔버스 */
.offcanvas-body .navbar-nav { font-size: 1.1rem; }
.offcanvas-body .navbar-nav .nav-item { margin-bottom: 0.25rem; }
.offcanvas-body .navbar-nav .nav-link { display: block; padding: 0.75rem 1rem; border-radius: 0.375rem; text-decoration: none; color: #343a40; font-weight: 500; transition: background-color 0.2s ease, color 0.2s ease; }
.offcanvas-body .navbar-nav .nav-link:hover { background-color: #f1f3f5; color: #0d6efd; }
.offcanvas-body .navbar-nav > .nav-item.current-menu-item > .nav-link { background-color: #0d6efd; color: #fff; font-weight: 700; }
.offcanvas-body .navbar-nav > .nav-item.current-menu-parent > .nav-link { background-color: #f8f9fa; color: #0d6efd; font-weight: 700; }
.offcanvas-body .navbar-nav .dropdown-menu .current-menu-item > .dropdown-item { background-color: #e7f1ff; color: #0d6efd; font-weight: 600; }
.offcanvas-body .navbar-nav .dropdown-menu { display: block !important; border: none; background-color: transparent; padding-left: 1.25rem; margin-top: 0.25rem; padding-top: 0; padding-bottom: 0.5rem; }
.offcanvas-body .navbar-nav .dropdown-item { font-size: 1rem; font-weight: 400; color: #495057; padding: 0.5rem 1rem; border-radius: 0.375rem; }
.offcanvas-body .navbar-nav .dropdown-item:hover { color: #0d6efd; background-color: #f1f3f5; }

/* 6. 워드프레스 관리자 바 */
.admin-bar .site-header.sticky-top { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .site-header.sticky-top { top: 46px; } }
@media screen and (max-width: 600px) { .admin-bar .site-header.sticky-top { top: 0; } }

/* 7. 댓글 디자인 */
#comments.comments-area { border-top: 1px solid #dee2e6; }
#comments .comment-list { padding-left: 0; }
#comments .comment-list li { margin-bottom: 1.5rem; }
#comments .comment-content { position: relative; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
#comments .comment-content::before { content: ''; position: absolute; top: 15px; left: -8px; width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-right: 8px solid #f8f9fa; }
#comments .comment-list .children { list-style: none; margin-top: 1.5rem; padding-left: 2.5rem; }
#comments .comment-reply-edit-links a { font-size: 0.875rem; color: #6c757d; text-decoration: none; transition: all 0.2s ease; }
#comments .comment-reply-edit-links a:hover { color: #212529; text-decoration: underline; }
#comments .comment-form .form-label { font-weight: 500; }
#reply-title { position: relative; padding-left: 1rem; font-weight: 700; border-bottom: none; margin-bottom: 1.5rem !important; }
#reply-title::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 60%; background-color: #0d6efd; border-radius: 2px; }
.comment-notes, .logged-in-as { font-size: 0.875rem; padding: 0.75rem 1rem; background-color: #f8f9fa; border: 1px solid #dee2e6; border-radius: 0.375rem; margin-bottom: 1rem; }
.logged-in-as a { font-weight: 500; }

/* 8. 상세 페이지 추가 수정 */
.single-news .entry-header .btn { font-size: 1rem; vertical-align: middle; padding: 0.25rem 0.6rem; }
.entry-content p { font-size: 1.05rem; line-height: 1.8; }
@media (min-width: 768px) { .entry-content p { font-size: 1.15rem; } }
@media (min-width: 992px) { .entry-content p { font-size: 1.25rem; line-height: 2.0; } }