/*
Theme Name: SISA9
Theme URI: https://sisa9.com
Author: SISA9
Description: 시사9 포털형 인터넷신문 워드프레스 테마. 레드(#C8102E) + 로얄블루(#1032B5) 컬러의 뉴스 포털 레이아웃.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sisa9
Tags: news, two-columns, right-sidebar, custom-menu, featured-images
*/

:root{
  --red:#C8102E;
  --red-dark:#A00D25;
  --blue:#1032B5;
  --blue-light:#2E52D8;
  --gray-6:#666;
  --gray-4:#999;
  --gray-2:#e5e5e5;
  --gray-1:#f6f6f6;
  --white:#ffffff;
  --max:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:'Noto Sans KR',sans-serif;color:#1a1a1a;background:var(--white);line-height:1.5}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
/* PC 대화면: 화면 너비의 80% 사용 */
@media(min-width:1300px){
  :root{--max:80vw}
}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ── 유틸리티 바 ── */
.utilbar{background:var(--gray-1);border-bottom:1px solid var(--gray-2);font-size:12px}
.utilbar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
.utilbar .date{color:var(--gray-6)}
.utilbar nav{display:flex;gap:14px}
.utilbar nav a{color:var(--gray-6)}
.utilbar nav a.tip{color:var(--red);font-weight:700}

/* ── 헤더 ── */
header.masthead{padding:26px 0 20px;border-bottom:2px solid var(--blue)}
.masthead .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.logo{font-family:'Noto Serif KR',serif;font-weight:900;font-size:44px;letter-spacing:-1px;line-height:1;color:var(--blue)}
.logo a{color:inherit}
.logo .n9{color:var(--red)}
.logo-sub{font-size:12px;color:var(--gray-6);letter-spacing:4px;margin-top:6px;font-weight:500}
.searchbox{display:flex;border:2px solid var(--blue)}
.searchbox input{border:0;outline:0;padding:9px 12px;font-size:14px;width:220px;font-family:inherit}
.searchbox button{border:0;background:var(--blue);color:#fff;padding:0 16px;font-size:14px;cursor:pointer;font-family:inherit}
.searchbox button:hover{background:var(--red)}

/* ── 카테고리 내비 ── */
.catnav{border-bottom:1px solid var(--gray-2);position:sticky;top:0;background:#fff;z-index:50}
.catnav ul{display:flex;overflow-x:auto;scrollbar-width:none}
.catnav ul::-webkit-scrollbar{display:none}
.catnav a{display:block;padding:13px 16px;font-size:15px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}
.catnav li.current-menu-item a,.catnav a:hover{color:var(--red);border-bottom-color:var(--red)}

/* ── 속보 티커 ── */
.ticker{background:linear-gradient(90deg,var(--blue),var(--blue-light));color:#fff}
.ticker .wrap{display:flex;align-items:center;gap:14px;height:44px;overflow:hidden}
.ticker .badge{background:var(--red);font-weight:900;font-size:13px;padding:4px 10px;flex-shrink:0;letter-spacing:1px}
.ticker-view{position:relative;flex:1;height:100%;overflow:hidden}
.ticker-view a{position:absolute;left:0;top:0;width:100%;height:44px;display:flex;align-items:center;font-size:14px;opacity:0;transform:translateY(100%);transition:transform .5s,opacity .5s;color:#fff}
.ticker-view a.show{opacity:1;transform:translateY(0)}
.ticker-view a:hover{color:#ffd0d0}

/* ── 레이아웃 ── */
.layout{display:grid;grid-template-columns:1fr 300px;gap:36px;padding:28px 0}
.section-title{font-size:20px;font-weight:900;padding-bottom:10px;border-bottom:2px solid var(--blue);margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;color:var(--blue)}
.section-title .more{font-size:12px;font-weight:500;color:var(--gray-6)}
.section-title .bar{display:inline-block;width:5px;height:18px;background:var(--red);margin-right:8px;vertical-align:-2px}

/* ── 썸네일 ── */
.thumb{background:linear-gradient(135deg,#ddd,#c6c6c6);position:relative;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.thumb.noimg::after{content:"SISA9";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:12px;letter-spacing:3px}

/* ── 헤드라인 ── */
.headline{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:36px}

/* 히어로 슬라이더 */
.heroslider{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dcdcdc}
.heroslide{position:absolute;inset:0;display:block;opacity:0;transition:opacity .6s ease;pointer-events:none}
.heroslide.show{opacity:1;pointer-events:auto;z-index:1}
.heroslide img{width:100%;height:100%;object-fit:cover;position:static}
.heroslide .noimg{position:absolute;inset:0;background:linear-gradient(135deg,#ddd,#c6c6c6)}
.heroslide .noimg::after{content:"SISA9";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:12px;letter-spacing:3px}
.herocap{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 18px;background:linear-gradient(transparent,rgba(0,0,10,.78));color:#fff}
.herocap .cat{display:inline-block;background:var(--red);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;margin-bottom:8px}
.herocap h2{font-family:'Noto Serif KR',serif;font-size:24px;font-weight:900;line-height:1.35;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.herocap .meta{font-size:12px;color:rgba(255,255,255,.75);margin-top:8px}
.heroslide:hover h2{text-decoration:underline;text-underline-offset:4px}
.herodots{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;gap:6px}
.herodots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer;transition:all .3s}
.herodots button.on{background:var(--red);width:22px;border-radius:5px}
@media(prefers-reduced-motion:reduce){.heroslide{transition:none}}
.sublist li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--gray-2)}
.sublist li:first-child{padding-top:0}
.sublist .thumb{width:110px;aspect-ratio:4/3;flex-shrink:0}
.sublist h3{font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sublist .meta{font-size:12px;color:var(--gray-4);margin-top:6px}

/* ── 섹션 블록 ── */
.secgrid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:36px}
.secblock .top{margin-bottom:12px}
.secblock .top .thumb{aspect-ratio:16/9;margin-bottom:10px}
.secblock .top h3{font-size:17px;font-weight:700;line-height:1.35}
.secblock ul li{padding:8px 0;border-bottom:1px solid var(--gray-2);font-size:14px}
.secblock ul li::before{content:"·";color:var(--red);font-weight:900;margin-right:8px}

/* ── 영상뉴스 ── */
.video-strip{background:linear-gradient(135deg,var(--blue),var(--blue-light));padding:28px 0;margin-bottom:36px}
.video-strip .section-title{color:#fff;border-bottom-color:rgba(255,255,255,.25)}
.video-strip .section-title .more{color:rgba(255,255,255,.6)}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.video-grid .thumb{aspect-ratio:16/9;margin-bottom:8px}
.video-grid .thumb::before{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;background:rgba(0,0,0,.35);z-index:1}
.video-grid h4{color:#fff;font-size:14px;font-weight:500;line-height:1.4}
.video-grid h4 a:hover{color:#ffd0d0}

/* ── 사이드바 ── */
.sidebar section,.sidebar .widget{margin-bottom:30px}
.side-title,.sidebar .widget-title{font-size:16px;font-weight:900;border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:12px;display:block}
.rank li{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--gray-2);font-size:14px;align-items:center}
.rank .num{font-weight:900;color:var(--red);font-style:italic;font-family:'Noto Serif KR',serif;min-width:16px}
.rank li:nth-child(n+4) .num{color:var(--gray-4)}
.rank .thumb{width:58px;aspect-ratio:4/3;flex-shrink:0}
.rank .rank-title{flex:1;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.adbox{border:1px dashed var(--gray-4);background:var(--gray-1);height:250px;display:flex;align-items:center;justify-content:center;color:var(--gray-4);font-size:12px;letter-spacing:2px}
.sidebanner{display:block;border:1px solid var(--gray-2);overflow:hidden}
.sidebanner img{width:100%;transition:transform .3s}
.sidebanner:hover img{transform:scale(1.02)}

/* 사이드바 위젯 공통 스타일 (위젯 추가 시 자동 적용) */
.sidebar .searchbox.sb-widget{width:100%}
.sidebar .searchbox.sb-widget input{width:100%;min-width:0}
.sidebar .widget ul li{padding:8px 0;border-bottom:1px solid var(--gray-2);font-size:14px}
.sidebar .widget ul li::before{content:"·";color:var(--red);font-weight:900;margin-right:8px}
.sidebar .widget ul li:last-child{border-bottom:0}
.sidebar .widget select{width:100%;padding:9px;border:1px solid var(--gray-2);font-family:inherit;font-size:14px}
.sidebar .wp-block-search__button,.sidebar .search-submit{border:0;background:var(--blue);color:#fff;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.sidebar .wp-block-search__input{border:1px solid var(--blue);padding:9px 12px;font-size:14px;font-family:inherit;outline:0}
.sidebar .wp-block-search__inside-wrapper{display:flex;border:0;padding:0}
.sidebar .wp-block-heading,.sidebar .wp-block-group h2{font-size:16px;font-weight:900;border-bottom:2px solid var(--red);padding-bottom:8px;margin-bottom:12px}
.newsletter{background:var(--gray-1);padding:18px;border-top:3px solid var(--red)}
.newsletter h4{font-size:15px;font-weight:900;margin-bottom:4px}
.newsletter p{font-size:12px;color:var(--gray-6);margin-bottom:12px}
.newsletter .row{display:flex}
.newsletter input{flex:1;border:1px solid var(--gray-2);padding:9px 10px;font-size:13px;outline:0;font-family:inherit;min-width:0}
.newsletter button{border:0;background:var(--red);color:#fff;padding:0 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.newsletter button:hover{background:var(--red-dark)}

/* ── 최신기사 목록 ── */
.latest{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.latest li,.archive-list article{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--gray-2)}
.latest .thumb,.archive-list .thumb{width:130px;aspect-ratio:4/3;flex-shrink:0}
.latest .cat,.archive-list .cat{color:var(--red);font-size:12px;font-weight:700}
.latest h3,.archive-list h3{font-size:16px;font-weight:700;margin:3px 0 6px;line-height:1.35}
.latest p,.archive-list p{font-size:13px;color:var(--gray-6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.latest .meta,.archive-list .meta{font-size:12px;color:var(--gray-4);margin-top:6px}

/* ── 기사 본문 ── */
.article-head{padding:10px 0 18px;border-bottom:1px solid var(--gray-2);margin-bottom:24px}
.article-head .cat{color:var(--red);font-weight:700;font-size:14px}
.article-head h1{font-family:'Noto Serif KR',serif;font-size:32px;font-weight:900;line-height:1.3;margin:8px 0 14px}
.article-head .byline{font-size:13px;color:var(--gray-6);display:flex;gap:14px;flex-wrap:wrap}
.article-body{font-size:17px;line-height:1.85;max-width:760px}
.article-body p{margin-bottom:1.4em}
.article-body img{margin:20px 0}
.article-body h2,.article-body h3{color:var(--blue);margin:1.4em 0 .6em;line-height:1.4}
.article-body blockquote{border-left:4px solid var(--blue);padding:10px 18px;background:var(--gray-1);margin:20px 0;color:#333}
.article-foot{margin-top:36px;padding-top:18px;border-top:2px solid var(--blue)}
.tags a{display:inline-block;background:var(--gray-1);border:1px solid var(--gray-2);font-size:12px;padding:4px 10px;margin:0 6px 6px 0;border-radius:20px}
.tags a:hover{border-color:var(--red);color:var(--red)}

/* ── 페이지네이션 ── */
.pagination{display:flex;gap:6px;justify-content:center;padding:24px 0}
.pagination .page-numbers{border:1px solid var(--gray-2);padding:7px 13px;font-size:14px}
.pagination .current{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ── 푸터 ── */
footer.site-footer{background:#F3F5FC;border-top:3px solid var(--blue);margin-top:20px}
.f-links{border-bottom:1px solid var(--gray-2)}
.f-links ul{display:flex;flex-wrap:wrap;gap:6px 22px;padding:16px 0;font-size:13px;font-weight:500}
.f-links a.em{color:var(--red);font-weight:700}
.f-info{padding:20px 0 30px;font-size:12px;color:var(--gray-6);line-height:1.9}
.f-info .flogo{font-family:'Noto Serif KR',serif;font-weight:900;font-size:20px;color:var(--blue);margin-bottom:6px}
.f-info .flogo span{color:var(--red)}

/* ── 반응형 ── */
@media(max-width:960px){
  .layout{grid-template-columns:1fr}
  .headline{grid-template-columns:1fr}
  .video-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .logo{font-size:34px}
  .masthead .wrap{align-items:flex-start}
  .searchbox{width:100%}
  .searchbox input{width:100%}
  .secgrid{grid-template-columns:1fr}
  .latest{grid-template-columns:1fr}
  .video-grid{grid-template-columns:1fr}
  .herocap h2{font-size:19px}
  .herocap{padding:40px 14px 14px}
  .article-head h1{font-size:24px}
  .utilbar .date{display:none}
}
@media(prefers-reduced-motion:reduce){
  .ticker-view a{transition:none}
}
