/*
Theme Name: BridgeMatrixLab
Theme URI: https://market.bridgematrixlab.com
Author: BridgeMatrixLab
Description: 데이터 기반 국내 주식 분석 및 조건부 시장 전망 전용 테마
Version: 1.0.0
Text Domain: bridgematrix-market
*/

:root{
    --bml-navy:#142342;
    --bml-navy-2:#1d3158;
    --bml-text:#202630;
    --bml-muted:#6b7280;
    --bml-bg:#f5f7fa;
    --bml-card:#ffffff;
    --bml-border:#dfe4ea;
    --bml-soft:#eef2f7;
    --bml-positive:#edf7f1;
    --bml-neutral:#f5f5f3;
    --bml-negative:#fbefef;
    --bml-max:1120px;
    --bml-article:820px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--bml-bg);
    color:var(--bml-text);
    font-family:
        Pretendard,
        -apple-system,
        BlinkMacSystemFont,
        "Apple SD Gothic Neo",
        "Noto Sans KR",
        "Segoe UI",
        sans-serif;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
}

a{
    color:var(--bml-navy);
    text-decoration:none;
}

a:hover{
    text-decoration:underline;
}

img{
    max-width:100%;
    height:auto;
}

/* ----------------------------------
   HEADER
---------------------------------- */

.bml-site-header{
    background:#fff;
    border-bottom:1px solid var(--bml-border);
    position:sticky;
    top:0;
    z-index:100;
}

.bml-header-inner{
    max-width:var(--bml-max);
    margin:0 auto;
    padding:0 24px;
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
}

.bml-brand{
    display:flex;
    flex-direction:column;
    line-height:1.15;
}

.bml-brand-name{
    color:var(--bml-navy);
    font-size:21px;
    font-weight:800;
    letter-spacing:-0.5px;
}

.bml-brand-desc{
    margin-top:5px;
    color:var(--bml-muted);
    font-size:12px;
}

.bml-nav ul{
    list-style:none;
    display:flex;
    align-items:center;
    gap:25px;
    margin:0;
    padding:0;
}

.bml-nav a{
    color:#343c48;
    font-size:14px;
    font-weight:650;
}

/* ----------------------------------
   LAYOUT
---------------------------------- */

.bml-container{
    width:100%;
    max-width:var(--bml-max);
    margin:0 auto;
    padding:36px 24px 70px;
}

.bml-article-shell{
    max-width:var(--bml-article);
    margin:0 auto;
}

.bml-post-header{
    margin-bottom:32px;
}

.bml-post-kicker{
    display:inline-block;
    margin-bottom:12px;
    color:var(--bml-navy);
    font-size:13px;
    font-weight:750;
}

.bml-post-title{
    margin:0;
    font-size:38px;
    line-height:1.3;
    letter-spacing:-1.4px;
    color:#172033;
}

.bml-post-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    margin-top:17px;
    color:var(--bml-muted);
    font-size:13px;
}

.bml-post-description{
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid var(--bml-border);
    font-size:16px;
    color:#48515f;
}

/* ----------------------------------
   ARTICLE V2
---------------------------------- */

.bml-market-article{
    font-size:17px;
    letter-spacing:-0.18px;
}

.bml-market-article p{
    margin:0 0 22px;
}

.bml-market-article h2{
    margin:48px 0 18px;
    padding-bottom:12px;
    border-bottom:2px solid var(--bml-navy);
    color:#18243b;
    font-size:25px;
    line-height:1.4;
    letter-spacing:-0.6px;
}

.bml-market-article h3{
    margin:28px 0 12px;
    color:#26354f;
    font-size:18px;
}

.bml-market-article ul{
    margin:12px 0 24px;
    padding-left:21px;
}

.bml-market-article li{
    margin:8px 0;
}

/* 핵심 요약 */

.bml-market-summary{
    margin:0 0 32px;
    padding:25px 27px;
    background:#fff;
    border:1px solid #ccd5e2;
    border-left:5px solid var(--bml-navy);
    border-radius:12px;
}

.bml-market-summary-label{
    margin-bottom:10px;
    color:var(--bml-navy);
    font-size:13px;
    font-weight:800;
    letter-spacing:.02em;
}

.bml-market-summary p{
    margin:0;
    font-size:18px;
    font-weight:600;
    line-height:1.7;
}

.bml-market-lead{
    margin-bottom:38px;
    color:#434c59;
    font-size:17px;
}

/* 전망 */

.bml-market-outlook{
    margin-top:52px;
    padding:30px;
    background:#fff;
    border:1px solid #cfd8e5;
    border-radius:14px;
}

.bml-market-outlook h2{
    margin-top:0;
}

.bml-market-outlook-bias{
    display:inline-block;
    margin:0 0 20px;
    padding:7px 12px;
    background:var(--bml-soft);
    color:var(--bml-navy);
    border-radius:999px;
    font-size:13px;
    font-weight:800;
}

/* 시나리오 */

.bml-market-scenarios{
    margin-top:52px;
}

.bml-market-scenario{
    margin:18px 0;
    padding:24px 26px;
    background:#fff;
    border:1px solid var(--bml-border);
    border-radius:12px;
}

.bml-market-scenario h3{
    margin-top:0;
}

.bml-market-scenario-bullish{
    background:var(--bml-positive);
}

.bml-market-scenario-neutral{
    background:var(--bml-neutral);
}

.bml-market-scenario-bearish{
    background:var(--bml-negative);
}

/* 체크포인트 */

.bml-market-checkpoints{
    margin-top:50px;
}

.bml-market-checkpoints ul{
    padding:0;
    list-style:none;
}

.bml-market-checkpoints li{
    margin:10px 0;
    padding:18px 20px;
    background:#fff;
    border:1px solid var(--bml-border);
    border-radius:10px;
}

/* 결론 */

.bml-market-conclusion{
    margin-top:52px;
}

/* 분석 방법 / 면책 */

.bml-market-methodology,
.bml-market-disclaimer{
    margin-top:30px;
    padding:19px 21px;
    border-radius:9px;
    color:#555e6c;
    font-size:13px;
    line-height:1.7;
}

.bml-market-methodology{
    background:#eef3f8;
}

.bml-market-disclaimer{
    background:#f1f2f4;
}

.bml-market-methodology p,
.bml-market-disclaimer p{
    margin:7px 0 0;
}

/* ----------------------------------
   ARCHIVE / HOME
---------------------------------- */

.bml-page-title{
    margin:0 0 28px;
    color:var(--bml-navy);
    font-size:30px;
}

.bml-post-list{
    display:grid;
    gap:16px;
}

.bml-post-card{
    padding:25px;
    background:#fff;
    border:1px solid var(--bml-border);
    border-radius:12px;
}

.bml-post-card h2{
    margin:0;
    font-size:21px;
    line-height:1.45;
}

.bml-post-card-meta{
    margin-top:9px;
    color:var(--bml-muted);
    font-size:13px;
}

.bml-post-card-excerpt{
    margin-top:12px;
    color:#515a67;
    font-size:15px;
}

/* ----------------------------------
   FOOTER
---------------------------------- */

.bml-site-footer{
    border-top:1px solid var(--bml-border);
    background:#fff;
}

.bml-footer-inner{
    max-width:var(--bml-max);
    margin:0 auto;
    padding:32px 24px 42px;
    color:#69717d;
    font-size:13px;
}

.bml-footer-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px 20px;
    margin-bottom:15px;
}

/* ----------------------------------
   MOBILE
---------------------------------- */

@media (max-width:760px){

    .bml-header-inner{
        min-height:64px;
        padding:0 17px;
    }

    .bml-brand-name{
        font-size:18px;
    }

    .bml-brand-desc{
        display:none;
    }

    .bml-nav{
        display:none;
    }

    .bml-container{
        padding:25px 17px 50px;
    }

    .bml-post-title{
        font-size:29px;
        line-height:1.35;
        letter-spacing:-1px;
    }

    .bml-market-article{
        font-size:16px;
        line-height:1.75;
    }

    .bml-market-article h2{
        margin-top:40px;
        font-size:22px;
    }

    .bml-market-summary{
        padding:21px 20px;
    }

    .bml-market-summary p{
        font-size:16px;
    }

    .bml-market-outlook{
        padding:22px 19px;
        border-radius:10px;
    }

    .bml-market-scenario{
        padding:20px 18px;
    }
}

/* ==========================================
   BridgeMatrixLab Korean Market Direction
   상승·증가·순매수 = RED
   하락·감소·순매도 = BLUE
========================================== */

.bml-market-up{
    color:#d92d20;
    font-weight:750;
}

.bml-market-down{
    color:#2563c7;
    font-weight:750;
}


/* ==========================================
   BridgeMatrix Market Site UX V1
========================================== */

/* ----------------------------------
   MOBILE MENU
---------------------------------- */

.bml-mobile-menu{
    display:none;
    position:relative;
}

.bml-mobile-menu summary{
    list-style:none;
    cursor:pointer;
    border:1px solid var(--bml-border);
    border-radius:8px;
    padding:8px 12px;
    color:var(--bml-navy);
    background:#fff;
    font-size:13px;
    font-weight:700;
}

.bml-mobile-menu summary::-webkit-details-marker{
    display:none;
}

.bml-mobile-menu-panel{
    position:absolute;
    top:45px;
    right:0;
    width:220px;
    padding:10px;
    border:1px solid var(--bml-border);
    border-radius:12px;
    background:#fff;
    box-shadow:0 16px 40px rgba(20,35,66,.13);
}

.bml-mobile-menu-panel a{
    display:block;
    padding:10px 11px;
    border-radius:7px;
    color:#343c48;
    font-size:14px;
    font-weight:650;
}

.bml-mobile-menu-panel a:hover{
    background:#f5f7fa;
}

.bml-mobile-menu-divider{
    display:block;
    height:1px;
    margin:7px 5px;
    background:var(--bml-border);
}


/* ----------------------------------
   HOME
---------------------------------- */

.bml-home-hero{
    padding:36px 0 42px;
    border-bottom:1px solid var(--bml-border);
}

.bml-home-eyebrow{
    margin-bottom:12px;
    color:var(--bml-navy);
    font-size:13px;
    font-weight:800;
}

.bml-home-hero h1{
    margin:0;
    max-width:720px;
    color:var(--bml-navy);
    font-size:38px;
    line-height:1.25;
    letter-spacing:-1.5px;
}

.bml-home-hero p{
    max-width:720px;
    margin:18px 0 0;
    color:#515a67;
    font-size:17px;
    line-height:1.75;
}

.bml-home-trust-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.bml-home-trust-links a{
    padding:9px 14px;
    border:1px solid var(--bml-border);
    border-radius:8px;
    color:var(--bml-navy);
    background:#fff;
    font-size:13px;
    font-weight:700;
}

.bml-home-section{
    margin-top:44px;
}

.bml-home-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.bml-home-section-head h2{
    margin:0;
    color:var(--bml-navy);
    font-size:24px;
}

.bml-home-section-head span{
    color:var(--bml-muted);
    font-size:13px;
}

.bml-category-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
}

.bml-category-card{
    display:flex;
    min-height:135px;
    flex-direction:column;
    justify-content:space-between;
    padding:21px;
    border:1px solid var(--bml-border);
    border-radius:12px;
    background:#fff;
    transition:.18s ease;
}

.bml-category-card:hover{
    transform:translateY(-2px);
    border-color:#b7c0ce;
    box-shadow:0 9px 26px rgba(20,35,66,.07);
}

.bml-category-card strong{
    color:var(--bml-navy);
    font-size:17px;
}

.bml-category-card span{
    color:#626b77;
    font-size:13px;
    line-height:1.55;
}

.bml-post-card-category{
    margin-bottom:7px;
    color:var(--bml-navy);
    font-size:12px;
    font-weight:750;
}

.bml-home-method{
    margin-top:48px;
    padding:24px 26px;
    border:1px solid var(--bml-border);
    border-radius:12px;
    background:#f7f8fa;
}

.bml-home-method strong{
    color:var(--bml-navy);
    font-size:17px;
}

.bml-home-method p{
    max-width:780px;
    margin:10px 0 15px;
    color:#565f6c;
    font-size:14px;
    line-height:1.7;
}

.bml-home-method a{
    margin-right:15px;
    color:var(--bml-navy);
    font-size:13px;
    font-weight:700;
}


/* ----------------------------------
   FOOTER V2
---------------------------------- */

.bml-footer-grid{
    display:grid;
    grid-template-columns:2fr repeat(3, 1fr);
    gap:36px;
}

.bml-footer-brand strong,
.bml-footer-group strong{
    display:block;
    margin-bottom:12px;
    color:var(--bml-navy);
    font-size:14px;
}

.bml-footer-brand p{
    max-width:360px;
    margin:0;
    line-height:1.7;
}

.bml-footer-group a{
    display:block;
    margin-top:8px;
    color:#69717d;
}

.bml-footer-notice{
    margin-top:30px;
    padding-top:20px;
    border-top:1px solid var(--bml-border);
    line-height:1.7;
}

.bml-footer-copy{
    margin-top:12px;
}


/* ----------------------------------
   MOBILE UX
---------------------------------- */

@media (max-width:760px){

    .bml-mobile-menu{
        display:block;
    }

    .bml-home-hero{
        padding:20px 0 31px;
    }

    .bml-home-hero h1{
        font-size:29px;
        line-height:1.32;
        letter-spacing:-1px;
    }

    .bml-home-hero p{
        font-size:15px;
    }

    .bml-home-section{
        margin-top:34px;
    }

    .bml-home-section-head{
        display:block;
    }

    .bml-home-section-head span{
        display:block;
        margin-top:6px;
    }

    .bml-category-grid{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    .bml-category-card{
        min-height:125px;
        padding:17px;
    }

    .bml-category-card strong{
        font-size:15px;
    }

    .bml-category-card span{
        font-size:12px;
    }

    .bml-home-method{
        padding:20px;
    }

    .bml-footer-grid{
        grid-template-columns:1fr 1fr;
        gap:28px 20px;
    }

    .bml-footer-brand{
        grid-column:1 / -1;
    }
}

@media (max-width:430px){

    .bml-category-grid{
        grid-template-columns:1fr;
    }

    .bml-category-card{
        min-height:auto;
        gap:12px;
    }

    .bml-footer-grid{
        grid-template-columns:1fr;
    }

    .bml-footer-brand{
        grid-column:auto;
    }
}
