/*
Theme Name: LottoTools Community
Theme URI: https://lottotools.net/
Description: 이미지 없이 제목과 글 목록 중심으로 구성한 lottotools.net 전용 커뮤니티형 Twenty Twenty-Five 차일드 테마
Author: LottoTools
Template: twentytwentyfive
Version: 1.0.0
Text Domain: lottotools-community
*/

:root{
    --lt-blue:#1769ff;
    --lt-dark:#1f2937;
    --lt-text:#333;
    --lt-muted:#7a828d;
    --lt-line:#e2e5e9;
    --lt-soft:#f6f7f9;
    --lt-white:#fff;
}
*{box-sizing:border-box}
body{
    margin:0;
    background:#f4f5f7;
    color:var(--lt-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif;
}
a{text-decoration:none}
.lt-header{
    background:#fff;
    border-bottom:1px solid var(--lt-line);
}
.lt-header-inner{
    max-width:1180px;
    margin:0 auto;
    padding:17px 18px 13px;
}
.lt-brand-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.lt-header .wp-block-site-title{
    margin:0;
    font-size:25px;
    font-weight:850;
    letter-spacing:-.04em;
}
.lt-header .wp-block-site-title a{color:#111827}
.lt-header .wp-block-site-tagline{
    margin:3px 0 0;
    color:#8a9099;
    font-size:12px;
}
.lt-header .wp-block-navigation{
    margin-top:13px;
    padding-top:11px;
    border-top:1px solid #eef0f2;
    font-size:14px;
    font-weight:700;
}
.lt-header .wp-block-navigation a{color:#3f4650}
.lt-header .wp-block-navigation a:hover{color:var(--lt-blue)}

.lt-shell{
    max-width:1180px;
    margin:0 auto;
    padding:22px 16px 60px;
}
.lt-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:18px;
    align-items:start;
}
.lt-panel{
    margin-bottom:16px;
    background:#fff;
    border:1px solid var(--lt-line);
    border-radius:9px;
    overflow:hidden;
}
.lt-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:0 16px;
    border-bottom:1px solid var(--lt-line);
}
.lt-panel-head h1,
.lt-panel-head h2{
    margin:0;
    font-size:17px;
    line-height:1.3;
    letter-spacing:-.025em;
}
.lt-panel-head p{
    margin:0;
    color:var(--lt-muted);
    font-size:12px;
}

/* 메인 최신글 테이블형 */
.lt-board .wp-block-post-template{
    margin:0;
    padding:0;
}
.lt-board .wp-block-post{
    margin:0;
}
.lt-row{
    display:grid !important;
    grid-template-columns:90px minmax(0,1fr) 80px;
    gap:10px;
    align-items:center;
    min-height:48px;
    padding:9px 15px;
    border-bottom:1px solid #edf0f2;
}
.lt-board .wp-block-post:last-child .lt-row{border-bottom:0}
.lt-row:hover{background:#fafbfc}
.lt-row-category{
    min-width:0;
    color:var(--lt-blue);
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.lt-row .wp-block-post-title{
    min-width:0;
    margin:0;
    font-size:15px;
    line-height:1.45;
    font-weight:650;
    overflow:hidden;
}
.lt-row .wp-block-post-title a{
    display:block;
    overflow:hidden;
    color:#303640;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.lt-row .wp-block-post-title a:hover{color:var(--lt-blue)}
.lt-row .wp-block-post-date{
    color:#8b929c;
    font-size:12px;
    text-align:right;
    white-space:nowrap;
}

/* 강조글 */
.lt-feature-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.lt-feature-item{
    padding:17px 18px;
    border-right:1px solid #edf0f2;
    border-bottom:1px solid #edf0f2;
}
.lt-feature-item:nth-child(2n){border-right:0}
.lt-feature-item .wp-block-post-title{
    margin:4px 0 7px;
    font-size:17px;
    line-height:1.45;
}
.lt-feature-item .wp-block-post-title a{color:#202630}
.lt-feature-item .wp-block-post-excerpt{
    margin:0;
    color:#777f89;
    font-size:13px;
    line-height:1.6;
}
.lt-feature-item .wp-block-post-date{
    color:#999fa7;
    font-size:11px;
}

/* 사이드 */
.lt-side-panel{
    margin-bottom:15px;
    background:#fff;
    border:1px solid var(--lt-line);
    border-radius:9px;
    overflow:hidden;
}
.lt-side-title{
    margin:0;
    padding:14px 15px;
    border-bottom:1px solid var(--lt-line);
    font-size:15px;
}
.lt-side-list .wp-block-post-template{
    margin:0;
    padding:5px 14px;
    counter-reset:rank;
}
.lt-side-list .wp-block-post{
    margin:0;
    counter-increment:rank;
}
.lt-rank-row{
    display:grid !important;
    grid-template-columns:22px minmax(0,1fr);
    gap:6px;
    align-items:center;
    padding:9px 0;
    border-bottom:1px solid #f0f1f3;
}
.lt-side-list .wp-block-post:last-child .lt-rank-row{border-bottom:0}
.lt-rank-row:before{
    content:counter(rank);
    color:var(--lt-blue);
    font-size:12px;
    font-weight:850;
}
.lt-rank-row .wp-block-post-title{
    margin:0;
    min-width:0;
    font-size:13px;
    line-height:1.4;
}
.lt-rank-row .wp-block-post-title a{
    display:block;
    overflow:hidden;
    color:#444b55;
    text-overflow:ellipsis;
    white-space:nowrap;
}

/* 도구 */
.lt-tools{
    padding:10px 14px 14px;
}
.lt-tool{
    display:block;
    margin-top:8px;
    padding:12px 13px;
    background:#f6f8fb;
    border:1px solid #e7eaf0;
    border-radius:7px;
    color:#333;
}
.lt-tool strong{
    display:block;
    margin-bottom:3px;
    font-size:13px;
}
.lt-tool span{
    color:#858c96;
    font-size:11px;
}
.lt-tool:hover{
    border-color:#bcd0ff;
    background:#f2f6ff;
}

/* 카테고리 */
.lt-category-list{
    padding:8px 14px 14px;
}
.lt-category-list .wp-block-categories{
    margin:0;
    padding:0;
    list-style:none;
}
.lt-category-list .wp-block-categories li{
    border-bottom:1px solid #f0f1f3;
}
.lt-category-list .wp-block-categories li:last-child{border-bottom:0}
.lt-category-list .wp-block-categories a{
    display:block;
    padding:9px 2px;
    color:#555d67;
    font-size:13px;
}
.lt-category-list .wp-block-categories a:hover{color:var(--lt-blue)}

/* 페이지네이션 */
.lt-pagination{
    padding:17px 15px;
    border-top:1px solid var(--lt-line);
    font-size:13px;
}

/* 상세 */
.lt-single-shell{
    max-width:900px;
    margin:0 auto;
    padding:25px 14px 60px;
}
.lt-article{
    padding:30px 34px 38px;
    background:#fff;
    border:1px solid var(--lt-line);
    border-radius:9px;
}
.lt-article > .wp-block-post-title{
    margin:0 0 12px;
    font-size:32px;
    line-height:1.35;
    letter-spacing:-.04em;
}
.lt-article-meta{
    padding-bottom:18px;
    border-bottom:1px solid #eceef1;
    color:#888f99;
    font-size:12px;
}
.lt-article .wp-block-post-content{
    margin-top:27px;
    font-size:16px;
    line-height:1.9;
}
.lt-article .wp-block-post-content h2{
    margin-top:2.1em;
    font-size:24px;
}
.lt-article .wp-block-post-content h3{
    margin-top:1.7em;
    font-size:20px;
}

/* 일반 페이지 */
.lt-page-title{
    margin:0 0 20px;
    font-size:28px;
}

/* 푸터 */
.lt-footer{
    background:#fff;
    border-top:1px solid var(--lt-line);
}
.lt-footer-inner{
    max-width:1180px;
    margin:0 auto;
    padding:25px 16px 35px;
}
.lt-footer .wp-block-navigation{
    font-size:12px;
}
.lt-footer-copy{
    margin:14px 0 0;
    color:#9298a1;
    font-size:11px;
}

@media(max-width:850px){
    .lt-layout{grid-template-columns:1fr}
    .lt-sidebar{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }
    .lt-side-panel{margin:0}
}
@media(max-width:620px){
    .lt-header-inner{padding:14px 12px 10px}
    .lt-header .wp-block-site-title{font-size:21px}
    .lt-header .wp-block-site-tagline{display:none}
    .lt-shell{padding:12px 8px 40px}
    .lt-panel{border-radius:6px}
    .lt-panel-head{padding:0 12px}
    .lt-panel-head h1,.lt-panel-head h2{font-size:16px}
    .lt-row{
        grid-template-columns:64px minmax(0,1fr) 48px;
        gap:6px;
        min-height:44px;
        padding:8px 10px;
    }
    .lt-row-category{font-size:11px}
    .lt-row .wp-block-post-title{font-size:14px}
    .lt-row .wp-block-post-date{font-size:10px}
    .lt-feature-list{grid-template-columns:1fr}
    .lt-feature-item{
        border-right:0;
        padding:14px;
    }
    .lt-feature-item .wp-block-post-excerpt{display:none}
    .lt-sidebar{grid-template-columns:1fr}
    .lt-single-shell{padding:10px 7px 40px}
    .lt-article{
        padding:21px 15px 30px;
        border-radius:6px;
    }
    .lt-article > .wp-block-post-title{font-size:26px}
    .lt-article .wp-block-post-content{font-size:16px;line-height:1.85}
}


/* =========================================================
   MODERN ARTICLE VIEWER
   ========================================================= */

.lt-view-shell{
    max-width:1180px;
    margin:0 auto;
    padding:24px 16px 65px;
}

.lt-view-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:18px;
    align-items:start;
}

.lt-view-main{
    min-width:0;
}

.lt-view-card{
    padding:36px 42px 44px;
    background:#fff;
    border:1px solid #e1e5ea;
    border-radius:14px;
    box-shadow:0 3px 14px rgba(15,23,42,.035);
}

.lt-view-category{
    margin:0 0 10px;
    color:#1769ff;
    font-size:13px;
    font-weight:800;
}

.lt-view-category a{
    color:#1769ff;
}

.lt-view-title{
    margin:0 !important;
    color:#171b22;
    font-size:34px !important;
    line-height:1.35 !important;
    letter-spacing:-.045em;
    word-break:keep-all;
}

.lt-view-meta{
    margin-top:15px;
    color:#8a919b;
    font-size:12px;
}

.lt-view-divider{
    margin:22px 0 28px !important;
    border-color:#edf0f3 !important;
}

.lt-view-content{
    color:#30353c;
    font-size:16.5px;
    line-height:1.95;
    word-break:keep-all;
}

.lt-view-content p{
    margin-top:0;
    margin-bottom:1.45em;
}

.lt-view-content h2{
    margin:2.2em 0 .8em;
    padding:0 0 0 13px;
    border-left:4px solid #1769ff;
    color:#1e232b;
    font-size:24px;
    line-height:1.45;
    letter-spacing:-.035em;
}

.lt-view-content h3{
    margin:1.9em 0 .7em;
    color:#242a32;
    font-size:20px;
    line-height:1.5;
}

.lt-view-content blockquote{
    margin:1.7em 0;
    padding:17px 20px;
    background:#f6f8fb;
    border:1px solid #e6eaf0;
    border-left:4px solid #b9c9e9;
    border-radius:8px;
}

.lt-view-content ul,
.lt-view-content ol{
    padding-left:1.5em;
}

.lt-view-content a{
    color:#1769ff;
    text-decoration:underline;
}

.lt-view-tags{
    margin-top:32px;
    padding-top:20px;
    border-top:1px solid #edf0f3;
    color:#737b86;
    font-size:12px;
}

.lt-view-tags a{
    display:inline-block;
    margin:4px 5px 4px 0;
    padding:6px 10px;
    background:#f5f7fa;
    border:1px solid #e4e8ed;
    border-radius:999px;
    color:#626b76;
}

/* 관련글 박스 */
.lt-related-card{
    margin-top:16px;
    background:#fff;
    border:1px solid #e1e5ea;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 3px 14px rgba(15,23,42,.025);
}

.lt-related-title{
    margin:0 !important;
    padding:15px 18px;
    border-bottom:1px solid #e8ebef;
    font-size:16px !important;
}

.lt-related-list .wp-block-post-template{
    margin:0;
    padding:0;
}

.lt-related-list .wp-block-post{
    margin:0;
}

.lt-related-row{
    display:grid !important;
    grid-template-columns:82px minmax(0,1fr) 48px;
    gap:8px;
    align-items:center;
    min-height:45px;
    padding:8px 16px;
    border-bottom:1px solid #eef0f3;
}

.lt-related-list .wp-block-post:last-child .lt-related-row{
    border-bottom:0;
}

.lt-related-row:hover{
    background:#fafbfc;
}

.lt-related-category{
    overflow:hidden;
    color:#1769ff;
    font-size:11px;
    font-weight:750;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.lt-related-row .wp-block-post-title{
    min-width:0;
    margin:0;
    font-size:14px;
    line-height:1.4;
}

.lt-related-row .wp-block-post-title a{
    display:block;
    overflow:hidden;
    color:#3a414b;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.lt-related-row .wp-block-post-date{
    color:#999fa7;
    font-size:10px;
    text-align:right;
}

/* 상세 우측 박스 */
.lt-view-side{
    position:sticky;
    top:16px;
}

.lt-view-side-card{
    margin-bottom:14px;
    padding:0;
    background:#fff;
    border:1px solid #e1e5ea;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 3px 14px rgba(15,23,42,.025);
}

.lt-view-side-card > h2{
    margin:0 !important;
    padding:14px 15px;
    border-bottom:1px solid #e8ebef;
    font-size:15px !important;
}

.lt-view-side-card > .wp-block-categories{
    margin:0;
    padding:7px 14px 13px;
    list-style:none;
}

.lt-view-side-card > .wp-block-categories li{
    border-bottom:1px solid #f0f2f4;
}

.lt-view-side-card > .wp-block-categories li:last-child{
    border-bottom:0;
}

.lt-view-side-card > .wp-block-categories li a{
    display:inline-block;
    padding:9px 1px;
    color:#555e69;
    font-size:13px;
}

@media(max-width:900px){
    .lt-view-grid{
        grid-template-columns:1fr;
    }

    .lt-view-side{
        position:static;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .lt-view-side-card{
        margin:0;
    }
}

@media(max-width:620px){
    .lt-view-shell{
        padding:10px 7px 40px;
    }

    .lt-view-card{
        padding:22px 16px 30px;
        border-radius:9px;
        box-shadow:none;
    }

    .lt-view-title{
        font-size:26px !important;
        line-height:1.4 !important;
    }

    .lt-view-divider{
        margin:18px 0 22px !important;
    }

    .lt-view-content{
        font-size:16px;
        line-height:1.88;
    }

    .lt-view-content h2{
        font-size:21px;
    }

    .lt-related-card{
        border-radius:8px;
        box-shadow:none;
    }

    .lt-related-row{
        grid-template-columns:62px minmax(0,1fr) 40px;
        padding:8px 10px;
    }

    .lt-view-side{
        grid-template-columns:1fr;
    }
}
