/*
 Theme Name: GeneratePress Child
 Template: generatepress
 Version: 1.0
*/

/* Reset & Accessibility */
/* .main-title,
.site-description,
.customize-partial-edit-shortcut {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
} */
 .main-title, .site-description {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Base Typography */
body {
    font-size: 17px;
    font-family: "Noto Sans KR", sans-serif;
    line-height: 1.7;
    color: #373e4a;
}
h1 {
    font-size: 38px;
    font-weight: 600;
    color: #1f2937;
}
h2 {
    font-size: 26px;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.4;
    margin-bottom: 15px;
}
h3 {
    font-size: 20px;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.4;
}
a {
    color: #1f2937;
    text-decoration: none;
}
a:hover {
    color: #1275f0 !important;
}

/* Header & Navigation layout */
.inside-header {
    padding: 15px 40px;
}
.site-header {
    border-bottom: 1px solid #eaecef;
    background-color: #fff;
}
.main-navigation .main-nav ul li a {
    color: #373e4a;
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: #1275f0;
}

/* Layout (Main / Sidebar) */
.one-container .container {
    background-color: var(--base-2);
}
.site-content .content-area {
    width: 78%;
}
.is-right-sidebar {
    width: 22%;
}
.entry-content .alignwide {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
    gap: 20px;
}
.site-footer .site-info {
    background-color: #373e4a;
}
.site-footer .site-info .copyright-bar, 
.site-footer .site-info .copyright-bar a {
    color: #ccc;
}

/*  Sidebar */
.wp-block-heading {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}
.widget ul li {
    font-size: 14px;
    margin-bottom: 5px;
}
.sidebar .widget {
    border: 1px solid #eee;
    padding: 20px 30px;
}

/* Home Card Layout */
.entry-content:not(:first-child) {
   margin-top: 0; 
}
.inside-article .entry-content ul.wp-block-post-template {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-left: 0;
}
.wp-block-post-template > li {
    border: 1px solid #eee;
    background-color: #fff;
    padding: 20px;
}
:where(.wp-block-columns) {
    margin-bottom: 0;
}
.wp-block-post-terms a {
    color: #1275f0;
    font-size: 15px;
    font-weight: 600;
    display: inline-block;
    line-height: 1.6;
}
.wp-block-post-excerpt__excerpt {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;      /* 3줄 제한 */
    -webkit-box-orient: vertical;
    line-height: 1.6;
    max-height: calc(1.6em * 3); /* 3줄 높이 */
    font-size: 16px;
}
.wp-block-post-featured-image {
    width: 100%;
    height: 100%;
}

/* Archive Card Layout */
.archive-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.archive-card {
    display: flex;
    gap: 20px;
    align-items: stretch;
    border: 1px solid #eee;
    background: #fff;
    padding: 20px;
}
.archive-thumb {
    flex: 0 0 35%;
}
.archive-thumb img {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
}
.archive-content {        
    flex-basis: 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
.entry-meta.entry-categories {
    margin: 3px 0 1px 0;
    line-height: 1.7;
}
.archive-content .entry-categories a {
    color: #1275f0;
    font-size: 15px;
    font-weight: 600;
    display: inline-block;
    line-height: 1.6;
}
.archive-excerpt {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;      /* 3줄 제한 */
    -webkit-box-orient: vertical;
    line-height: 1.6;
    max-height: calc(1.6em * 3); /* 3줄 높이 */
    font-size: 16px;
}
.archive-excerpt .read-more {
    display: none;
}
.wp-block-post-excerpt__more-text a,
.archive-readmore a {
    font-size: 14px;
    color: #1275f0;
}
.wp-block-post-excerpt__more-text a:hover,
.archive-readmore a:hover {
    text-decoration: underline;
}
.archive-excerpt .korea-sns {
    display: none;
}

/* Single Content Styling */
.featured-image {
    display: none;
}
.inside-article:has(.korea-sns) {
    padding: 30px;
    background-color: #fff;
    border: 1px solid #eee;
}
.entry-header .entry-meta.entry-categories {
    margin: 0px 0 10px 0;
}
.entry-header h1+.entry-meta {
    padding: 15px 0 20px;
    font-size: 15px;
    color: #6c717a;
}
.entry-meta .byline {
    margin-left: 10px;
}
.entry-meta .byline .author a {
    color: #6c717a;
}
.entry-content .korea-sns {
    border-bottom: 1px solid #d4d6da;
    padding: 0 0 5px 0;
    margin: 0px 0 50px 0;
}
.korea-sns-button {
    margin-right: 0;
    margin-left: 8px;
}
.entry-categories a {
    color: #1275f0;
    font-size: 16px;
    font-weight: 600;
    display: inline-block;
    line-height: 1.6;
}
.entry-tags {
    margin-top: 60px;
    padding-top: 10px;
    color: #fff;
    border-top: 1px solid #eaecef;
}
.entry-tags a {
    display: inline-block;
    font-size: 14px;
    background: #e2e6eb;
    padding: 5px 12px;
    margin: 5px 0 0 0;
    border-radius: 4px;
    color: #373e4a;
}
/* 기본 하단 항목 숨김 */
.entry-meta .tags-links, 
.entry-meta .cat-links,
.entry-meta .post-navigation {
    display: none;
}
/* 목록 */
.inside-article .entry-content ul, 
.inside-article .entry-content ol  {
    margin-left: 25px;
}

/* Related Posts */
.entry-meta+h3 {
    font-size: 20px;
    font-weight: 500;
    margin: 60px 0 10px; 
}
.related-item h4 {
    font-size: 14px;
    margin-top: 5px;
}
.related-posts {
    display: flex;
    gap: 20px;
}
.related-item {
    width: 25%;
}
.related-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
}
.related-posts h3 {
    margin-bottom: 15px;
}

/* image link effect */
.wp-block-post-featured-image img,
.archive-thumb img,
.related-item img {
    transition: opacity 0.4s ease;
    will-change: opacity;
    border-radius: 4px;
}
.wp-block-post-featured-image a:hover img,
.archive-thumb a:hover img,
.related-item a:hover img {
    opacity: 0.85;
}


/* Responsive  */
@media (max-width: 1280px) {
    .inside-header {
        padding: 10px 40px;
    }
    .site-header .header-image {
        width: 180px;
    }
}

@media (max-width: 1023px) {
    .site-branding-container {
        margin-left: 3%;
    }
    .has-inline-mobile-toggle #site-navigation.toggled {
        margin-top: 0;
        border-top: solid 1px #eaecef;
        background-color: #fff;
    }
    .site-logo a {
        display: block;
    }
    .site-header .header-image {
        width: 160px;
    }
    .inside-header {
        padding: 0;
    }
    .main-navigation.toggled .main-nav li {
        text-align: center;
        border-top: solid 1px #f2f3f4;
    }
    .main-navigation.toggled .main-nav li:first-child {
        border-top: none;
    }

    .mobile-menu-control-wrapper {display: block;}
	.main-navigation .menu-toggle {display: block;}
	.main-navigation.toggled .inside-navigation {display: block;}

	.main-navigation .inside-navigation {display: none;}
    .inside-navigation .menu-toggle {display: none;}
	.main-navigation.has-menu-bar-items.toggled .menu-bar-items {display: none;}

	.has-inline-mobile-toggle .inside-header {
        flex-direction: row;
        text-align: left;
        flex-wrap: wrap;
    }
	.has-inline-mobile-toggle .mobile-menu-control-wrapper {
        display: flex;
        flex-wrap: wrap;
    }
	.has-inline-mobile-toggle #site-navigation {
        flex-basis: 100%;
    }
    .gp-icon.icon-menu-bars  svg {
        height: 1.1em;
        width: 1.1em;
    }
    .one-container .site-content {
        padding: 20px 3% 20px 3%;
    }
    .site-content {
        flex-direction: column;
    }
    .one-container.right-sidebar .site-main {
        margin-right: 0;
    }
    .site-content .content-area {
        width: auto;
    }
    .wp-block-post-template, .archive-grid {
        gap: 10px;
    }
    .is-right-sidebar {
        width: auto;
        margin-top: 40px;
    }
    .sidebar .widget {
        margin-bottom: 10px;
        padding: 20px 20px;
    }
    .inside-article:has(.korea-sns) {
        padding-right: 3%;
        padding-left: 3%;
    }
}

@media (max-width: 781px) {
    .archive-card {
       flex-direction: column;
    }
}

@media (max-width: 767px) {
    .related-posts {
        flex-direction: column;
        gap: 10px;
    }
    .related-item {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .related-item a {
        width: 80px;
    }
    .related-item h4 {
        width: calc(100% - 90px);
        position: relative;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;      /* 2줄 제한 */
        -webkit-box-orient: vertical;
        line-height: 1.6;
        max-height: calc(1.6em * 2); /* 2줄 높이 */
        margin-top: 0;
        margin-bottom: 0;
    }
 }





 