/*
Theme Name: BriefOn Magazine
Theme URI: https://example.com/
Author: OpenAI
Description: 브리프온(BRIEFON) 실시간 이슈·뉴스 매거진 테마. Pretendard 타이포그래피, 기사형 콘텐츠 박스, 실시간 트렌드 REST 연동, 인기글, 카테고리 홈, 애드센스 위젯 영역을 포함합니다.
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: briefon
*/

:root{
  --brand:#1769ff;--brand-dark:#0f4fc7;--ink:#15171a;--muted:#717780;
  --line:#e7e9ed;--soft:#f5f7fa;--soft-blue:#eef4ff;--white:#fff;
  --max:1200px;--article:760px;--radius:16px;--shadow:0 12px 34px rgba(15,22,35,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);background:#fff;
  font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",sans-serif;
  font-weight:400;line-height:1.65;letter-spacing:-0.012em;-webkit-font-smoothing:antialiased
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input{font:inherit}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* TREND NOW */
.bo-ticker{background:#101318;color:#fff;font-size:13px;border-bottom:1px solid #1f242b}
.bo-ticker-inner{min-height:38px;display:flex;align-items:center;gap:18px;overflow:hidden;white-space:nowrap}
.bo-ticker-label{flex:0 0 auto;font-weight:850;color:#8db7ff;letter-spacing:.02em}
.bo-ticker-track{display:flex;gap:24px;min-width:max-content;overflow:hidden}
.bo-ticker-track a:hover{color:#8db7ff}
.bo-rank{color:#9fc3ff;font-weight:850;margin-right:6px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bo-head{min-height:76px;display:flex;align-items:center;gap:28px}
.site-branding{display:flex;flex-direction:column;line-height:1}
.site-title{font-size:28px;font-weight:900;letter-spacing:-1.6px}
.site-title b{color:var(--brand)}
.site-description{font-size:10px;letter-spacing:.02em;color:var(--muted);margin-top:6px}
.main-navigation{margin-right:auto;min-width:0}
.bo-menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0;font-size:15px;font-weight:750;white-space:nowrap}
.bo-menu a:hover,.bo-menu .current-menu-item>a{color:var(--brand)}
.bo-search-form{display:flex;align-items:center;width:190px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.bo-search-form input{width:100%;min-width:0;border:0;outline:0;padding:0 4px 0 12px;font-size:13px;background:transparent}
.bo-search-form button{width:38px;height:38px;border:0;background:transparent;cursor:pointer}

/* sections */
.bo-section{padding:32px 0}
.bo-section+.bo-section{border-top:1px solid var(--line)}
.bo-section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px;gap:20px}
.bo-section-title h2{margin:0;font-size:23px;font-weight:800;letter-spacing:-.035em}
.bo-section-title a{font-size:13px;color:var(--muted)}
.bo-cat{display:inline-block;color:var(--brand);font-size:12px;font-weight:750;margin-top:12px}
.bo-meta{color:#9aa0a8;font-size:12px;margin-top:8px}
.bo-card h3{font-size:18px;line-height:1.42;font-weight:750;letter-spacing:-.03em;margin:5px 0 7px}
.bo-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.bo-thumb{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#eef4ff,#c9dcff)}
.bo-thumb img{width:100%;height:100%;object-fit:cover}
.bo-thumb-fallback{width:100%;height:100%;display:grid;place-items:end start;padding:16px;font-weight:800;color:#184987;font-size:18px}
.bo-card:hover h3{color:var(--brand-dark)}

/* hero */
.bo-hero-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:34px;padding:36px 0 30px}
.bo-hero-cover{aspect-ratio:16/9;border-radius:20px;overflow:hidden;position:relative;background:linear-gradient(135deg,#0f377c,#1769ff 58%,#70a0ff);box-shadow:var(--shadow)}
.bo-hero-cover img{width:100%;height:100%;object-fit:cover}
.bo-hero-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,12,25,.76))}
.bo-hero-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:30px;color:#fff}
.bo-eyebrow{display:inline-flex;padding:5px 9px;margin-bottom:10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:750}
.bo-hero-copy strong{display:block;font-size:clamp(25px,3vw,43px);font-weight:850;line-height:1.16;letter-spacing:-.045em;max-width:720px}
.bo-hero-card h1{margin:20px 0 8px;font-size:clamp(24px,2.5vw,36px);font-weight:800;line-height:1.28;letter-spacing:-.04em}
.bo-hero-card p{margin:0;color:var(--muted);font-size:16px}

/* popular */
.bo-rank-panel{border-top:3px solid var(--ink);padding-top:15px}
.bo-rank-list{list-style:none;margin:0;padding:0}
.bo-rank-list li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.bo-rank-num{font-size:19px;font-weight:850;color:var(--brand)}
.bo-rank-list b{font-size:15px;font-weight:700;line-height:1.42}
.bo-rank-list small{display:block;color:var(--muted);margin-top:5px}

/* cards / feed */
.bo-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.bo-list-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:46px}
.bo-feed{display:flex;flex-direction:column}
.bo-feed-item{display:grid;grid-template-columns:220px 1fr;gap:22px;padding:22px 0;border-bottom:1px solid var(--line)}
.bo-feed-item .bo-thumb{border-radius:12px}
.bo-feed-item h3{margin:4px 0 8px;font-size:20px;font-weight:750;line-height:1.4;letter-spacing:-.035em}
.bo-feed-item p{margin:0;color:var(--muted);font-size:14px}
.bo-side-box{border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:20px}
.bo-side-box h3{margin:0 0 12px;font-size:18px;font-weight:800}
.bo-keywords{display:flex;flex-wrap:wrap;gap:8px}
.bo-keywords a{padding:7px 10px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:700}

/* AdSense widget areas */
.bo-ad-slot{margin:28px auto;width:100%;max-width:970px}
.bo-ad-slot .widget{margin:0}
.bo-ad-label{font-size:10px;color:#a0a5ad;text-align:center;margin-bottom:4px;letter-spacing:.08em}
.bo-ad-side{max-width:320px}
.bo-ad-article{max-width:760px}
.bo-side-widgets{max-width:320px}
.bo-side-widgets .widget{margin:0 0 20px}
.bo-side-widgets .widget:last-child{margin-bottom:0}
.bo-side-widgets h2,.bo-side-widgets h3{margin:0 0 12px;font-size:18px;font-weight:800}

/* article */
.bo-article-shell{display:grid;grid-template-columns:minmax(0,var(--article)) 300px;gap:52px;justify-content:center;padding:42px 0 70px}
.bo-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:16px}
.bo-article h1{font-size:clamp(34px,4vw,44px);font-weight:850;line-height:1.24;letter-spacing:-.045em;margin:0 0 16px}
.bo-byline{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:24px}
.bo-summary{background:var(--soft-blue);border-left:4px solid var(--brand);border-radius:0 14px 14px 0;padding:18px 20px;margin:24px 0}
.bo-summary strong{display:block;margin-bottom:7px}
.bo-featured{margin:25px 0 32px;border-radius:16px;overflow:hidden;background:#f4f6f8}
.bo-featured img{width:100%;height:auto}
.bo-content{font-size:18px;font-weight:400;line-height:1.9;letter-spacing:-.012em;color:#2d3137}
.bo-content>p{margin:22px 0}
.bo-content h2{font-size:27px;font-weight:800;line-height:1.38;letter-spacing:-.035em;margin:54px 0 17px;color:var(--ink)}
.bo-content h3{font-size:21px;font-weight:750;margin:36px 0 11px;color:var(--ink)}
.bo-content ul,.bo-content ol{padding-left:23px}
.bo-content li{margin:7px 0}
.bo-content table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
.bo-content th,.bo-content td{border:1px solid var(--line);padding:13px;text-align:left}
.bo-content th{background:var(--soft)}
.bo-content blockquote{border-left:4px solid var(--brand);margin:28px 0;padding:8px 20px;background:#fafbfc}
.bo-update-note{padding:15px 18px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px;margin-top:38px}
.bo-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.bo-related-grid .bo-card h3{font-size:15px}

/* Article content blocks */
.article-lead{margin:0 0 26px;padding:0 0 25px;border-bottom:1px solid var(--line)}
.article-lead p{margin:0 0 14px;font-size:19px;line-height:1.86;letter-spacing:-.014em;color:#252a31}
.article-lead p:last-child{margin-bottom:0}
.article-lead strong{font-weight:750;color:#11151a}

.summary-card{margin:30px 0 40px;padding:22px;border:1px solid #dce6f7;border-radius:16px;background:#f4f8ff}
.summary-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.summary-card-title strong{font-size:18px;font-weight:800;color:#18202c}
.summary-card-title span{font-size:12px;font-weight:700;color:#55739f}
.summary-card ul{list-style:none!important;margin:0!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.summary-card li{margin:0!important;padding:15px 16px!important;border:1px solid #e2e9f4;border-radius:12px;background:#fff}
.summary-card li::before{display:none!important}
.summary-card li>span{display:block;margin-bottom:4px;font-size:13px;font-weight:650;color:#697381}
.summary-card li>strong{display:block;font-size:23px;line-height:1.25;font-weight:800;color:var(--brand);letter-spacing:-.03em}
.summary-card li>small{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#8a929d}

.key-point-box{margin:28px 0 38px;padding:17px 19px;border-left:4px solid var(--brand);border-radius:0 12px 12px 0;background:#f7f9fc}
.key-point-box>strong{display:block;margin-bottom:5px;font-size:13px;color:var(--brand)}
.bo-content .key-point-box p{margin:0;font-size:16px;line-height:1.7}
.key-point-box b{font-weight:750}

.notice-box{margin:30px 0;padding:22px;border:1px solid #eadfca;border-radius:16px;background:#fffaf1}
.notice-box-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.notice-box-title strong{font-size:18px;font-weight:800}
.notice-box-title span{padding:3px 8px;border-radius:999px;background:#fff1cf;color:#8a6113;font-size:10px;font-weight:800;letter-spacing:.08em}
.notice-box ul{margin:0!important;padding-left:20px!important}
.notice-box li{margin:8px 0!important;padding-left:2px;line-height:1.72}

.update-note{margin:40px 0 24px;padding:18px 20px;border-radius:14px;background:#f5f6f8;color:#5f6670}
.update-note-title{margin-bottom:6px;color:#303640;font-size:13px;font-weight:800}
.bo-content .update-note p{margin:0;font-size:14px;line-height:1.75;color:#69717b}

.source-box{margin:24px 0 10px;padding:21px 22px;border:1px solid #e2e5e9;border-radius:16px;background:#fbfbfc}
.source-box-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.source-box-title strong{font-size:17px;font-weight:800}
.source-box-title span{color:#9aa1aa;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.source-box ul{margin:0!important;padding-left:20px!important}
.source-box li{margin:9px 0!important;font-size:14px;line-height:1.68;color:#5e6670}
.source-box b{font-weight:700;color:#343a43}
.text-link{display:inline-block;margin-left:4px;color:var(--brand)!important;font-weight:700;text-decoration:none!important;border-bottom:1px solid rgba(23,105,255,.28)}
.text-link:hover{border-color:var(--brand)}

.image-slot{margin:26px 0 30px!important;padding:30px 18px!important;border:1px dashed #c7d2e2;border-radius:14px;background:#f8faff;text-align:center;color:#7b8797}
.image-slot strong{display:block;color:#55739f;font-size:15px}
.image-slot span{display:block;margin-top:4px;font-size:11px;color:#a0a9b5}

/* WP core image blocks */
.bo-content figure{margin:30px 0}
.bo-content figure img{border-radius:14px}
.bo-content figcaption{margin-top:8px;color:#8a929d;font-size:12px;text-align:center}

/* archive/search */
.bo-page-head{padding:40px 0 22px;border-bottom:1px solid var(--line)}
.bo-page-head h1{margin:0;font-size:34px;font-weight:850;letter-spacing:-.04em}
.bo-page-head p{margin:8px 0 0;color:var(--muted)}
.bo-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:32px 0 60px}
.navigation.pagination{margin:20px 0 60px}
.nav-links{display:flex;gap:8px;flex-wrap:wrap}
.page-numbers{border:1px solid var(--line);padding:8px 12px;border-radius:9px}
.page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* footer */
.site-footer{border-top:1px solid var(--line);background:#111419;color:#d9dde4;margin-top:44px}
.bo-foot{padding:36px 0;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
.bo-foot .site-title{color:#fff}
.bo-foot p{color:#9299a4;font-size:13px;max-width:620px;margin:10px 0 0}
.bo-foot-links{display:flex;gap:18px;font-size:13px;flex-wrap:wrap}

@media(max-width:900px){
  .bo-head{gap:20px;flex-wrap:wrap;padding:13px 0}
  .main-navigation{order:3;width:100%;overflow:auto}
  .bo-menu{gap:18px;font-size:14px}
  .bo-search-form{margin-left:auto;width:170px}
  .bo-hero-grid,.bo-list-layout,.bo-article-shell{grid-template-columns:1fr}
  .bo-news-grid{grid-template-columns:repeat(2,1fr)}
  .bo-article-side{display:none}
}
@media(max-width:640px){
  .wrap{width:min(calc(100% - 28px),var(--max))}
  .bo-ticker-inner{gap:12px}.bo-ticker-track{gap:18px}
  .site-title{font-size:23px}.site-description{display:none}
  .bo-search-form{width:135px}
  .bo-hero-grid{padding:18px 0}.bo-hero-cover{border-radius:15px}
  .bo-hero-copy{left:20px;right:20px;bottom:18px}.bo-hero-copy strong{font-size:27px}
  .bo-hero-card h1{font-size:27px;margin-top:15px}.bo-hero-card p{font-size:14px}
  .bo-section{padding:26px 0}.bo-section-title h2{font-size:21px}
  .bo-news-grid{grid-template-columns:1fr;gap:24px}
  .bo-feed-item{grid-template-columns:118px 1fr;gap:14px;padding:17px 0}
  .bo-feed-item h3{font-size:16px;margin:1px 0 4px}.bo-feed-item p{display:none}
  .bo-article h1{font-size:32px;letter-spacing:-.04em}
  .bo-content{font-size:17px;line-height:1.86}
  .bo-content h2{font-size:24px;margin-top:44px}
  .article-lead p{font-size:17.5px;line-height:1.82}
  .summary-card{padding:17px;margin:24px 0 32px}
  .summary-card ul{grid-template-columns:1fr}
  .summary-card li>strong{font-size:21px}
  .notice-box,.source-box{padding:18px}
  .bo-related-grid{grid-template-columns:1fr}
  .bo-foot{grid-template-columns:1fr}
}

.briefon-page-wrap {
    width: min(100% - 40px, 860px);
    margin: 0 auto;
    padding: 64px 0 100px;
}

.briefon-page-header {
    margin-bottom: 40px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}

.briefon-page-title {
    margin: 0;
    font-size: 36px;
    line-height: 1.3;
    font-weight: 800;
    color: #111827;
}

.briefon-page-content {
    font-size: 16px;
    line-height: 1.9;
    color: #374151;
}

.briefon-page-content h2 {
    margin: 48px 0 16px;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
    color: #111827;
}

.briefon-page-content h3 {
    margin: 36px 0 14px;
    font-size: 19px;
    font-weight: 700;
    color: #111827;
}

.briefon-page-content p {
    margin: 0 0 18px;
}

.briefon-page-content ul,
.briefon-page-content ol {
    margin: 0 0 24px;
    padding-left: 24px;
}

.briefon-page-content li {
    margin-bottom: 8px;
}

@media (max-width: 768px) {
    .briefon-page-wrap {
        width: min(100% - 32px, 860px);
        padding: 40px 0 72px;
    }

    .briefon-page-title {
        font-size: 30px;
    }

    .briefon-page-content {
        font-size: 15px;
        line-height: 1.85;
    }

    .briefon-page-content h2 {
        font-size: 21px;
    }
}
