/*
Theme Name: Alligo Post
Theme URI: https://www.alligopost.kr
Author: Alligo Post
Description: 신뢰의 한 걸음 — 알리고포스트 매거진 스타일 뉴스/블로그 테마. 명조 헤드라인과 네이비·레드 신문 그리드, 자동 발행 글 연동, 인기기사 랭킹, 반응형 레이아웃을 지원합니다.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
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: alligopost
*/

:root{
  --navy:#0f2c5e; --navy-deep:#0a1f44; --blue:#1b4fae; --blue-link:#1d4ed8;
  --red:#c8102e; --ink:#15171c; --text:#2b2f36; --muted:#71767f; --faint:#9aa0a8;
  --line:#e4e6ea; --line-soft:#eef0f3; --bg:#ffffff; --bg-soft:#f4f5f7;
  --serif:"Noto Serif KR",serif; --sans:"Noto Sans KR",sans-serif; --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* media wrappers: empty = diagonal placeholder, with image = cover */
.fig{position:relative;overflow:hidden;border-radius:4px;background-image:linear-gradient(135deg,#eef0f3 25%,#e7e9ed 25%,#e7e9ed 50%,#eef0f3 50%,#eef0f3 75%,#e7e9ed 75%);background-size:18px 18px}
.fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
a:hover > .fig img{transform:scale(1.04)}

/* Utility bar */
.utility{border-bottom:1px solid var(--line-soft);font-size:12.5px}
.utility .wrap{display:flex;align-items:center;justify-content:space-between;height:44px}
.util-left{color:var(--muted);display:flex;align-items:center;gap:10px}
.util-left .date{color:var(--ink);font-weight:500}
.util-left .dot{color:var(--line)}
.util-right{display:flex;align-items:center;gap:20px;color:var(--muted)}
.util-right a{transition:color .15s}
.util-right a:hover{color:var(--ink)}
.subscribe{background:var(--navy);color:#fff !important;padding:8px 16px;border-radius:4px;font-weight:700;font-size:12.5px;letter-spacing:-.2px}
.subscribe:hover{background:var(--navy-deep)}

/* Masthead */
.masthead .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:26px 24px 22px}
.tagline{font-size:12px;color:var(--faint);line-height:1.5;letter-spacing:.5px}
.tagline b{display:block;color:var(--navy);font-weight:700;font-size:12.5px}
.logo{text-align:center}
.logo .ko{font-family:var(--serif);font-weight:900;font-size:42px;color:var(--ink);letter-spacing:-1px;line-height:1}
.logo .en{font-size:11px;letter-spacing:6px;color:var(--blue);font-weight:700;margin-top:7px}
.logo img{margin:0 auto;max-height:56px;width:auto}
.search{justify-self:end;display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--line);border-radius:40px;padding:9px 16px;width:210px;color:var(--faint);transition:border-color .15s,background .15s}
.search:focus-within{border-color:var(--navy);background:#fff}
.search svg{flex:none}
.search input{border:0;background:transparent;outline:none;font-family:var(--sans);font-size:13.5px;width:100%;color:var(--ink)}

/* Nav */
.nav{border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none}
.nav .wrap::-webkit-scrollbar{display:none}
.nav ul{display:flex;align-items:center;gap:2px;list-style:none}
.nav a{position:relative;display:block;font-size:16px;font-weight:500;color:var(--ink);padding:15px 18px;white-space:nowrap;transition:color .15s}
.nav li:first-child a{padding-left:0;font-weight:700;color:var(--navy)}
.nav a:hover,.nav .current-menu-item > a,.nav a.active{color:var(--blue)}

/* Section label */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:22px}
.sec-head h2{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--ink);letter-spacing:-.5px}
.sec-head h2 a:hover{color:var(--blue)}
.sec-head .more{font-size:12.5px;color:var(--muted)}
.sec-head .more:hover{color:var(--blue)}

.badge{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:11px;font-weight:700;line-height:1.05;text-align:center;padding:5px 7px;border-radius:3px;letter-spacing:1px}
.cat-tag{color:var(--navy);font-weight:700;font-size:12.5px;letter-spacing:.3px}

/* layout */
main{padding:34px 0 10px}
.hero{display:grid;grid-template-columns:1.55fr 1fr;gap:34px;padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:30px}
.lead-fig{aspect-ratio:16/9;margin-bottom:18px}
.lead-meta{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.lead h1{font-family:var(--serif);font-size:36px;font-weight:700;line-height:1.28;color:var(--ink);letter-spacing:-.8px}
.lead h1 a:hover{color:var(--blue)}
.lead .dek{margin-top:14px;font-size:16px;color:#41454c;line-height:1.7}
.lead .byline{margin-top:14px;font-size:12.5px;color:var(--faint)}

.lead-side{display:flex;flex-direction:column;gap:18px}
.side-item{display:grid;grid-template-columns:1fr 96px;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}
.side-item:last-child{border-bottom:0;padding-bottom:0}
.side-item .cat-tag{font-size:11.5px}
.side-item h3{font-family:var(--serif);font-size:16.5px;font-weight:600;line-height:1.4;color:var(--ink);margin-top:6px;letter-spacing:-.4px;transition:color .15s}
.side-item:hover h3{color:var(--blue)}
.side-fig{aspect-ratio:1;border-radius:3px}

.columns{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card-fig{aspect-ratio:3/2;margin-bottom:13px}
.card .cat-tag{font-size:11.5px}
.card h3{font-family:var(--serif);font-size:17px;font-weight:600;line-height:1.42;color:var(--ink);margin-top:7px;letter-spacing:-.4px;transition:color .15s}
.card:hover h3{color:var(--blue)}
.card p{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.62;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .byline{font-size:12px;color:var(--faint);margin-top:9px}
.block{margin-bottom:42px}

.listrow{display:grid;grid-template-columns:1fr 150px;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.listrow.first{padding-top:0}
.listrow h3{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.4;color:var(--ink);letter-spacing:-.4px;margin-top:6px;transition:color .15s}
.listrow:hover h3{color:var(--blue)}
.listrow p{font-size:13.5px;color:var(--muted);margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.listrow .byline{font-size:12px;color:var(--faint);margin-top:10px}
.list-fig{aspect-ratio:3/2;border-radius:3px}

/* Sidebar */
.aside-box{margin-bottom:34px}
.ranking{border:1px solid var(--line);border-radius:6px;padding:4px 20px 8px}
.rank-head{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink);padding:16px 0 12px;border-bottom:2px solid var(--ink);display:flex;align-items:center;gap:8px}
.rank-head .live{width:7px;height:7px;border-radius:50%;background:var(--red);display:inline-block;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.rank-item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.rank-item:last-child{border-bottom:0}
.rank-num{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--blue);line-height:1.2;min-width:18px}
.rank-item.low .rank-num{color:var(--faint)}
.rank-item h4{font-size:14.5px;font-weight:500;line-height:1.45;color:var(--ink);letter-spacing:-.3px;transition:color .15s}
.rank-item:hover h4{color:var(--blue)}

.promo{background:var(--navy);color:#fff;border-radius:6px;padding:26px 22px}
.promo .en{font-size:10.5px;letter-spacing:4px;color:#8fb0e8;font-weight:700}
.promo h4{font-family:var(--serif);font-size:21px;font-weight:700;margin:10px 0 8px;line-height:1.4}
.promo p{font-size:13px;color:#c2d2ef;line-height:1.6}
.promo a{display:inline-block;margin-top:16px;background:#fff;color:var(--navy);font-weight:700;font-size:13px;padding:10px 18px;border-radius:4px}
.promo a:hover{background:#eaf0fb}

.newsletter{border:1px solid var(--line);border-radius:6px;padding:24px 20px;text-align:center}
.newsletter h4{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink)}
.newsletter p{font-size:12.5px;color:var(--muted);margin:8px 0 16px}
.newsletter .field{display:flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.newsletter input{flex:1;border:0;outline:none;padding:10px 12px;font-family:var(--sans);font-size:13px}
.newsletter button{border:0;background:var(--navy);color:#fff;font-family:var(--sans);font-weight:700;font-size:13px;padding:0 16px;cursor:pointer}
.newsletter button:hover{background:var(--navy-deep)}
.widget{margin-bottom:34px}
.widget-title{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink);padding-bottom:12px;border-bottom:2px solid var(--ink);margin-bottom:14px}
.widget ul{list-style:none}
.widget li{padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:14px}

/* ===== Single / Article ===== */
.article{max-width:740px;margin:0 auto;padding:34px 0 10px}
.crumb{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:26px;font-size:13px}
.crumb .back{display:flex;align-items:center;gap:6px;color:var(--ink);font-weight:500}
.crumb .back:hover{color:var(--blue)}
.crumb .sec{color:var(--blue);font-weight:700}
.article .a-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.article h1{font-family:var(--serif);font-size:33px;font-weight:700;line-height:1.32;color:var(--ink);letter-spacing:-.8px}
.article .dek{margin-top:16px;font-size:17px;color:#41454c;line-height:1.7}
.article .a-byline{display:flex;gap:18px;color:var(--faint);font-size:12.5px;border-bottom:1px solid var(--line);padding:18px 0;margin-top:20px}
.article .a-fig{aspect-ratio:16/9;margin:26px 0 8px}
.article .caption{font-size:12.5px;color:var(--muted);padding-left:4px;margin-bottom:26px;display:flex;align-items:center;gap:6px}
.article .caption::before{content:"▲";color:var(--ink);font-size:10px}
.article-body{font-size:17px;line-height:1.95;color:#23262c}
.article-body p{margin:0 0 22px}
.article-body h2{font-family:var(--serif);font-size:23px;margin:34px 0 14px;color:var(--ink)}
.article-body h3{font-family:var(--serif);font-size:19px;margin:28px 0 12px;color:var(--ink)}
.article-body img{border-radius:4px;margin:10px 0}
.article-body blockquote{border-left:3px solid var(--navy);padding:4px 0 4px 20px;margin:24px 0;color:#41454c;font-size:18px}
.article-body a{color:var(--blue-link);text-decoration:underline;text-underline-offset:3px}
.tags{margin:30px 0;display:flex;flex-wrap:wrap;gap:8px}
.tags a{font-size:12.5px;color:var(--muted);background:var(--bg-soft);border:1px solid var(--line);padding:6px 12px;border-radius:40px}
.tags a:hover{color:var(--blue);border-color:var(--blue)}
.related{border-top:3px solid var(--navy);margin-top:40px;padding-top:24px}
.related .grid3{gap:22px}

/* pagination */
.pagination{display:flex;justify-content:center;gap:6px;margin:30px 0}
.pagination a,.pagination span{padding:8px 13px;border:1px solid var(--line);border-radius:4px;font-size:13px;color:var(--ink)}
.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination a:hover{border-color:var(--navy)}

.page-title{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:24px}
.page-title small{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:400;margin-left:8px}

/* Footer */
.site-footer{margin-top:50px;border-top:3px solid var(--navy);background:var(--bg-soft)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:42px 0 36px}
.foot-logo .ko{font-family:var(--serif);font-weight:900;font-size:26px;color:var(--ink)}
.foot-logo .en{font-size:10px;letter-spacing:5px;color:var(--blue);font-weight:700;margin-top:5px}
.foot-logo p{font-size:12.5px;color:var(--muted);margin-top:14px;line-height:1.7}
.foot-col h5{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px}
.foot-col a{display:block;font-size:12.5px;color:var(--muted);padding:5px 0;transition:color .15s}
.foot-col a:hover{color:var(--blue)}
/* 푸터 위젯(네비게이션 메뉴/카테고리/HTML)도 동일 스타일로 */
.site-footer .foot-col .widget{margin:0}
.site-footer .foot-col .widget-title,.foot-col .widget h5{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px;border:0;padding:0}
.foot-col ul{list-style:none}
.foot-col li{padding:0}
.foot-col li a{display:block;font-size:12.5px;color:var(--muted);padding:5px 0}
.foot-bottom{border-top:1px solid var(--line);padding:18px 0;font-size:11.5px;color:var(--faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* reveal */
.reveal{opacity:0;transform:translateY(14px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.12s}.d3{animation-delay:.19s}.d4{animation-delay:.26s}

@media(max-width:920px){
  .hero{grid-template-columns:1fr;gap:26px}
  .columns{grid-template-columns:1fr;gap:34px}
  .grid3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .wrap{padding:0 18px}
  .util-left .weather,.util-right a:not(.subscribe){display:none}
  .masthead .wrap{grid-template-columns:1fr;justify-items:center;gap:14px;padding:20px 18px}
  .tagline,.search{display:none}
  .logo .ko{font-size:34px}
  .lead h1{font-size:27px}
  .article h1{font-size:26px}
  .grid3{grid-template-columns:1fr}
  .side-item{grid-template-columns:1fr 86px}
  .listrow{grid-template-columns:1fr 110px;gap:14px}
  .foot-top{grid-template-columns:1fr 1fr;gap:24px}
}
