/*
Theme Name:   Taean Life
Theme URI:    https://taeanlife.com
Description:  GeneratePress child theme for taeanlife.com — 태안 사는 아빠의 여행·맛집·육아 기록. 로컬(태안) 콘텐츠 중심, 전기차·육아 양념.
Author:       Taean Life
Author URI:   https://taeanlife.com
Template:     generatepress
Version:      0.2.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  taeanlife
*/

/* ==========================================================================
   Taean Life — 디자인 시스템
   콘셉트: 바다 블루 + 모래 베이지, 한글 고딕(Noto Sans KR)
   부모 테마(GeneratePress) 스타일은 functions.php 에서 큐잉됩니다.
   ========================================================================== */

:root {
    /* 바다 */
    --tl-blue:        #0a6ebd;
    --tl-blue-dark:   #084f87;
    --tl-blue-soft:   #e8f3fb;
    /* 모래/베이지 */
    --tl-sand:        #f5efe2;
    --tl-sand-deep:   #e9dfc8;
    --tl-cream:       #fbf8f1;
    /* 텍스트 */
    --tl-text:        #20303a;
    --tl-muted:       #6b7280;
    /* 카테고리 색 (이름 확정되면 슬러그만 맞추면 됨) */
    --tl-cat-travel:  #0a6ebd; /* 태안 여행 */
    --tl-cat-food:    #e07a3f; /* 맛집·카페 */
    --tl-cat-kids:    #3aa675; /* 아이와 태안 */
    --tl-cat-life:    #8b6db5; /* 생활정보 */
    --tl-cat-ev:      #2b3a67; /* 전기차 */
}

/* ----- 기본 타이포 ----- */
body {
    font-family: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo",
                 "Malgun Gothic", sans-serif;
    color: var(--tl-text);
    background: var(--tl-cream);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.site-title {
    font-family: "Noto Sans KR", sans-serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* ----- 본문 가독성 ----- */
.entry-content {
    font-size: 1.06rem;
    line-height: 1.9;
    word-break: keep-all; /* 한글 단어 단위 줄바꿈 */
}

.entry-content h2 {
    margin-top: 2.2em;
    padding-bottom: 0.3em;
    border-bottom: 2px solid var(--tl-sand-deep);
}

.entry-content h3 {
    margin-top: 1.8em;
    color: var(--tl-blue-dark);
}

.entry-content a {
    color: var(--tl-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.entry-content a:hover { color: var(--tl-blue-dark); }

.entry-content blockquote {
    margin: 1.6em 0;
    padding: 0.6em 1.2em;
    background: var(--tl-blue-soft);
    border-left: 4px solid var(--tl-blue);
    border-radius: 0 8px 8px 0;
    color: var(--tl-text);
}

/* ----- 이미지 / 캡션 ----- */
.entry-content img {
    border-radius: 10px;
    height: auto;
    max-width: 100%;
}

.wp-caption-text,
figcaption {
    color: var(--tl-muted);
    font-size: 0.9rem;
    text-align: center;
    margin-top: 0.4em;
}

/* ==========================================================================
   글 목록 카드 스타일 (아카이브/블로그/검색)
   ========================================================================== */
.generate-columns-container article.post,
.generate-columns-container article.page {
    background: #fff;
    border: 1px solid var(--tl-sand-deep);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow: 0 1px 3px rgba(32, 48, 58, 0.06);
}

.generate-columns-container article.post:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(10, 110, 189, 0.12);
}

.generate-columns-container article .inside-article {
    padding: 1.1em 1.2em 1.4em;
}

.generate-columns-container article .post-image {
    margin: 0 0 0.4em;
}
.generate-columns-container article .post-image img {
    border-radius: 0;
    width: 100%;
    object-fit: cover;
}

.generate-columns-container article .entry-title {
    font-size: 1.18rem;
    line-height: 1.45;
    margin-bottom: 0.4em;
}

/* ----- 카테고리 배지/링크 색상 ----- */
.entry-meta a[rel~="category"],
.entry-terms a {
    display: inline-block;
    padding: 0.15em 0.7em;
    border-radius: 999px;
    background: var(--tl-blue-soft);
    color: var(--tl-blue-dark);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
}
.entry-meta a[rel~="category"]:hover { background: var(--tl-blue); color: #fff; }

/* 카테고리별 배지 색 (slug: travel / food / kids) */
.entry-meta a[rel~="category"][href*="/category/travel"] { background: var(--tl-blue-soft); color: var(--tl-cat-travel); }
.entry-meta a[rel~="category"][href*="/category/travel"]:hover { background: var(--tl-cat-travel); color: #fff; }
.entry-meta a[rel~="category"][href*="/category/food"]   { background: #fbeee4; color: var(--tl-cat-food); }
.entry-meta a[rel~="category"][href*="/category/food"]:hover { background: var(--tl-cat-food); color: #fff; }
.entry-meta a[rel~="category"][href*="/category/kids"]   { background: #e7f5ee; color: var(--tl-cat-kids); }
.entry-meta a[rel~="category"][href*="/category/kids"]:hover { background: var(--tl-cat-kids); color: #fff; }

/* ==========================================================================
   운영자 소개 박스 (single post 하단)
   ========================================================================== */
.tl-author-box {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    margin: 2.5rem 0 1rem;
    padding: 1.3rem 1.4rem;
    background: var(--tl-sand);
    border: 1px solid var(--tl-sand-deep);
    border-radius: 14px;
}

.tl-author-box__avatar {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: var(--tl-blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: 700;
}

.tl-author-box__body { flex: 1 1 auto; }

.tl-author-box__name {
    font-weight: 700;
    font-size: 1.05rem;
    margin: 0 0 0.2em;
    color: var(--tl-text);
}

.tl-author-box__desc {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--tl-muted);
}

/* 모바일 */
@media (max-width: 480px) {
    .tl-author-box { flex-direction: column; }
}
