/* ============================================
   Lifolio 게시물(피드) 정적 페이지 전용 스타일
   legal.css 위에 얹어서 사용합니다.
   ============================================ */

/* ---------- 카드뉴스 이미지 ---------- */
.post-cards{
    margin-top:16px;
    padding:18px;
    border:1px solid rgba(15,23,42,.06);
    border-radius:24px;
    background:var(--card);
    box-shadow:0 12px 34px rgba(15,23,42,.05);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
}

.post-cards img{
    display:block;
    width:100%;
    max-width:480px;
    height:auto;
    border-radius:16px;
    background:#F5F7F9;
}

/* ---------- 본문 ---------- */
.content-card > p{
    margin-top:10px;
    color:#374151;
    font-size:16px;
    line-height:1.8;
    font-weight:500;
}

.content-card > h2 + p{margin-top:6px;}

.content-card > h2:not(:first-child){margin-top:26px;}

/* ---------- 태그 ---------- */
.post-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid rgba(15,23,42,.07);
}

.post-tag{
    padding:6px 13px;
    border-radius:999px;
    background:var(--brand-soft);
    color:var(--brand-dark);
    font-size:13px;
    font-weight:800;
}

/* ---------- CTA ---------- */
.post-cta{
    border-color:rgba(5,150,105,.16);
    background:linear-gradient(135deg,#FFFFFF 0%,#F0FDF4 100%);
}

/* ---------- 함께 읽으면 좋은 글 ---------- */
.post-related{
    list-style:none;
    margin:6px 0 0;
    padding:0;
}

.post-related li + li{margin-top:10px;}

.post-related a{
    display:block;
    padding:15px 18px;
    border:1px solid rgba(15,23,42,.07);
    border-radius:14px;
    color:#111827;
    font-size:15px;
    font-weight:800;
    line-height:1.45;
    text-decoration:none;
    transition:background .15s ease, border-color .15s ease;
}

.post-related a:hover{
    background:#F8FAFC;
    border-color:rgba(5,150,105,.28);
}

/* ---------- 목록(index) ---------- */
.post-list{
    margin-top:16px;
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:16px;
}

.post-item{
    display:block;
    overflow:hidden;
    border:1px solid rgba(15,23,42,.06);
    border-radius:24px;
    background:var(--card);
    box-shadow:0 12px 34px rgba(15,23,42,.05);
    text-decoration:none;
    color:inherit;
    transition:transform .16s ease, box-shadow .2s ease;
}

.post-item:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 44px rgba(15,23,42,.09);
}

.post-item img{
    width:100%;
    height:auto;
    aspect-ratio:3 / 2;
    object-fit:cover;
    object-position:top center;
    display:block;
    background:#F5F7F9;
}

.post-item-body{padding:18px 20px 22px;}

.post-item-body h2{
    margin:0 0 8px;
    font-size:17px;
    line-height:1.4;
    letter-spacing:-.4px;
    color:#111827;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.post-item-body p{
    margin:0 0 10px;
    color:var(--muted);
    font-size:13.5px;
    line-height:1.6;
    font-weight:600;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.post-item-date{
    color:#94A3B8;
    font-size:12px;
    font-weight:800;
}

/* 모바일: 가로형 리스트로 전환 (썸네일 작게) */
@media (max-width:640px){
    .post-list{
        grid-template-columns:1fr;
        gap:12px;
    }
    .post-item{
        display:flex;
        flex-direction:row;
        align-items:stretch;
        border-radius:18px;
        box-shadow:0 6px 18px rgba(15,23,42,.05);
    }
    .post-item img{
        width:104px;
        flex:none;
        align-self:stretch;
        aspect-ratio:auto;
        height:auto;
    }
    .post-item-body{
        padding:14px 16px;
        flex:1;
        min-width:0;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }
    .post-item-body h2{font-size:15.5px;margin-bottom:5px;}
    .post-item-body p{font-size:12.5px;margin-bottom:6px;-webkit-line-clamp:2;}
    .post-item-date{font-size:11.5px;}
}

@media (max-width:640px){
    .post-cards{padding:12px;border-radius:20px;}
    .post-cards img{border-radius:12px;}
    .content-card > p{font-size:15.5px;}
}
