/*
Theme Name:  GCR News
Description: Ultra-clean Korean news theme. Core Web Vitals optimized, Schema.org, Google-friendly. Built-in fingerprint randomizer for unique site appearance.
Version:     3.0.0
Author:      SmartIndexer
License:     GPL2
Text Domain: gcr-news
*/

/* ============================================================
   BASE — CSS Variables (overridden by fingerprint system)
   ============================================================ */
:root{
  --c-primary:#1a1a2e;--c-accent:#c0392b;--c-accent-h:#a93226;
  --c-bg:#ffffff;--c-bg-alt:#f7f7f7;--c-border:#e8e8e8;
  --c-text:#1a1a1a;--c-muted:#6b7280;--c-white:#ffffff;
  --f-body:'Noto Sans KR',-apple-system,BlinkMacSystemFont,sans-serif;
  --f-size-base:16px;--f-lh:1.75;
  --radius:6px;--radius-lg:10px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08);
  --shadow-md:0 4px 16px rgba(0,0,0,.10);
  --transition:.18s ease;
  --container:1160px;
  --main-pad:28px 0 56px;
  --card-pad:14px;
  --section-mb:22px;
  --widget-pad:18px;
}

/* ============================================================
   RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:var(--f-size-base);scroll-behavior:smooth;text-size-adjust:100%}
body{font-family:var(--f-body);font-size:var(--f-size-base);line-height:var(--f-lh);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--c-accent)}
img,video{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
button,input,textarea,select{font-family:var(--f-body)}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100%;left:0;background:var(--c-accent);color:#fff;padding:8px 16px;font-size:13px;z-index:9999}
.skip-link:focus{top:0}

/* ============================================================
   TOP BAR
   ============================================================ */
.gcr-topbar{background:var(--c-primary);color:rgba(255,255,255,.7);font-size:11.5px;padding:6px 0}
.gcr-topbar .container{display:flex;justify-content:space-between;align-items:center}
.gcr-topbar a{color:rgba(255,255,255,.6)}.gcr-topbar a:hover{color:#fff}
.gcr-topbar__social{display:flex;gap:14px}

/* ============================================================
   HEADER
   ============================================================ */
.gcr-header{background:var(--c-bg);border-bottom:3px solid var(--c-accent);padding:18px 0 0}
.gcr-header__inner{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;gap:20px}
.gcr-logo{display:flex;flex-direction:column;font-size:24px;font-weight:700;color:var(--c-primary);line-height:1.2;flex-shrink:0}
.gcr-logo__tagline{font-size:10px;font-weight:400;color:var(--c-muted);letter-spacing:1.2px;text-transform:uppercase;margin-top:3px}
.gcr-logo:hover{color:var(--c-accent)}
.gcr-search__form{display:flex;border:1.5px solid var(--c-border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition)}
.gcr-search__form:focus-within{border-color:var(--c-accent)}
.gcr-search__input{border:none;outline:none;padding:7px 12px;font-size:13px;width:200px;background:var(--c-bg-alt);color:var(--c-text)}
.gcr-search__btn{background:var(--c-accent);color:#fff;border:none;padding:7px 14px;font-size:14px;cursor:pointer;transition:background var(--transition)}
.gcr-search__btn:hover{background:var(--c-accent-h)}

/* ============================================================
   NAVIGATION
   ============================================================ */
.gcr-nav{background:var(--c-primary)}
.gcr-nav .container{display:flex;justify-content:space-between;align-items:stretch}
.gcr-menu{display:flex;flex-wrap:wrap}
.gcr-menu>li>a{display:block;color:rgba(255,255,255,.85);padding:11px 16px;font-size:13px;font-weight:500;letter-spacing:.2px;transition:background var(--transition),color var(--transition);white-space:nowrap}
.gcr-menu>li>a:hover,.gcr-menu>li.current-menu-item>a,.gcr-menu>li.current-menu-ancestor>a{background:var(--c-accent);color:#fff}
.gcr-menu-toggle{display:none;background:none;border:none;color:rgba(255,255,255,.9);padding:10px 16px;font-size:20px;line-height:1;cursor:pointer}

/* ============================================================
   BREADCRUMB
   ============================================================ */
.gcr-breadcrumb{padding:12px 0 4px;font-size:12px;color:var(--c-muted)}
.gcr-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gcr-breadcrumb li{display:flex;align-items:center;gap:6px}
.gcr-breadcrumb a{color:var(--c-muted)}.gcr-breadcrumb a:hover{color:var(--c-accent)}
.gcr-breadcrumb .sep{color:var(--c-border);font-size:10px}
.gcr-breadcrumb [aria-current=page]{color:var(--c-text);font-weight:500}

/* ============================================================
   MAIN LAYOUT
   ============================================================ */
.gcr-main{padding:var(--main-pad)}
.gcr-layout{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:start}

/* ============================================================
   SECTION LABEL
   ============================================================ */
.gcr-section-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--c-primary);text-transform:uppercase;letter-spacing:.6px;margin-bottom:var(--section-mb)}
.gcr-section-label::before{content:'';display:block;width:4px;height:18px;background:var(--c-accent);border-radius:2px;flex-shrink:0}

/* ============================================================
   THUMBNAILS — Smart fallback, never broken
   ============================================================ */
.gcr-thumb{position:relative;overflow:hidden;background:var(--c-primary)}
.gcr-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gcr-card:hover .gcr-thumb img{transform:scale(1.05)}
.gcr-thumb--fallback{width:100%;height:100%;display:flex;align-items:flex-end;padding:12px;color:rgba(255,255,255,.9);font-size:12px;font-weight:500;line-height:1.4}
.gcr-thumb--f0{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.gcr-thumb--f1{background:linear-gradient(135deg,#1b4332,#2d6a4f)}
.gcr-thumb--f2{background:linear-gradient(135deg,#7b0000,#c0392b)}
.gcr-thumb--f3{background:linear-gradient(135deg,#1a1042,#3c1053)}
.gcr-thumb--f4{background:linear-gradient(135deg,#0d3b5e,#1565c0)}
.gcr-thumb--f5{background:linear-gradient(135deg,#4a1942,#8e44ad)}
.gcr-thumb--f6{background:linear-gradient(135deg,#1a3a1a,#27ae60)}
.gcr-thumb--f7{background:linear-gradient(135deg,#4a3000,#e67e22)}

/* ============================================================
   FEATURED POST
   ============================================================ */
.gcr-featured{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:28px;box-shadow:var(--shadow-sm);background:var(--c-bg)}
.gcr-featured .gcr-thumb{height:300px}
.gcr-featured__body{padding:30px 28px;display:flex;flex-direction:column;justify-content:center}
.gcr-featured__title{font-size:20px;font-weight:700;line-height:1.5;color:var(--c-primary);margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gcr-featured__title:hover{color:var(--c-accent)}
.gcr-featured__excerpt{font-size:13px;color:var(--c-muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}
.gcr-readmore{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--c-accent);text-transform:uppercase;letter-spacing:.5px}
.gcr-readmore:hover{gap:8px}

/* ============================================================
   POSTS GRID
   ============================================================ */
.gcr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ============================================================
   POST CARD
   ============================================================ */
.gcr-card{border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;background:var(--c-bg);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}
.gcr-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.gcr-card .gcr-thumb{height:170px}
.gcr-card__body{padding:var(--card-pad)}
.gcr-cat-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--c-accent);margin-bottom:6px}
.gcr-card__title{font-size:14px;font-weight:600;line-height:1.55;color:var(--c-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gcr-card__title:hover{color:var(--c-accent)}
.gcr-card__meta{margin-top:10px;font-size:11px;color:var(--c-muted);display:flex;gap:10px;align-items:center}

/* ============================================================
   PAGINATION
   ============================================================ */
.gcr-pagination{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:36px;padding-top:24px;border-top:1px solid var(--c-border)}
.gcr-pagination a,.gcr-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 8px;border:1.5px solid var(--c-border);border-radius:var(--radius);font-size:13px;color:var(--c-text);transition:all var(--transition)}
.gcr-pagination a:hover,.gcr-pagination .current{background:var(--c-accent);border-color:var(--c-accent);color:#fff;font-weight:700}
.gcr-pagination .dots{border-color:transparent;background:none}

/* ============================================================
   SIDEBAR
   ============================================================ */
.gcr-sidebar{position:sticky;top:24px}
.gcr-widget{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--widget-pad);margin-bottom:22px}
.gcr-widget-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--c-primary);padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--c-accent)}
.gcr-cat-list li{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--c-border);font-size:13px}
.gcr-cat-list li:last-child{border:none}
.gcr-cat-list a{color:var(--c-text)}.gcr-cat-list a:hover{color:var(--c-accent);padding-left:4px}
.gcr-cat-count{background:var(--c-bg-alt);border:1px solid var(--c-border);padding:1px 7px;border-radius:20px;font-size:10px;color:var(--c-muted);flex-shrink:0}
.gcr-recent-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--c-border)}
.gcr-recent-item:last-child{border:none}
.gcr-recent-thumb{width:58px;height:58px;border-radius:4px;object-fit:cover;flex-shrink:0}
.gcr-recent-fallback{width:58px;height:58px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--c-primary)}
.gcr-recent-info{flex:1;min-width:0}
.gcr-recent-title{font-size:12px;font-weight:500;line-height:1.5;color:var(--c-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gcr-recent-title:hover{color:var(--c-accent)}
.gcr-recent-date{font-size:11px;color:var(--c-muted);margin-top:4px}
.gcr-tag-cloud{display:flex;flex-wrap:wrap;gap:6px}
.gcr-tag{display:inline-block;background:var(--c-bg-alt);border:1px solid var(--c-border);padding:3px 10px;border-radius:20px;font-size:11.5px;color:var(--c-muted);transition:all var(--transition)}
.gcr-tag:hover{background:var(--c-accent);border-color:var(--c-accent);color:#fff}

/* ============================================================
   SINGLE POST
   ============================================================ */
.gcr-single-layout{display:grid;grid-template-columns:1fr 300px;gap:36px;align-items:start}
.gcr-single__cat{display:inline-block;background:var(--c-accent);color:#fff;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:4px 11px;border-radius:3px;margin-bottom:14px}
.gcr-single__title{font-size:26px;font-weight:700;line-height:1.5;color:var(--c-primary);margin-bottom:16px}
.gcr-single__meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--c-muted);padding-bottom:18px;border-bottom:2px solid var(--c-border);margin-bottom:24px}
.gcr-single__meta span{display:flex;align-items:center;gap:5px}
.gcr-single__cover{width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius);margin-bottom:28px}
.gcr-content{font-size:15.5px;line-height:1.88;color:var(--c-text)}
.gcr-content p{margin-bottom:20px}
.gcr-content h2{font-size:21px;font-weight:700;color:var(--c-primary);margin:32px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--c-border)}
.gcr-content h3{font-size:18px;font-weight:700;color:var(--c-primary);margin:26px 0 12px}
.gcr-content h4{font-size:16px;font-weight:700;margin:20px 0 10px}
.gcr-content ul{padding-left:24px;list-style:disc;margin-bottom:20px}
.gcr-content ol{padding-left:24px;list-style:decimal;margin-bottom:20px}
.gcr-content li{margin-bottom:7px}
.gcr-content blockquote{border-left:4px solid var(--c-accent);padding:14px 20px;background:var(--c-bg-alt);margin:24px 0;border-radius:0 var(--radius) var(--radius) 0}
.gcr-content blockquote p{margin:0;font-style:italic;color:var(--c-muted)}
.gcr-content a{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}
.gcr-content a:hover{color:var(--c-accent-h)}
.gcr-content img{border-radius:var(--radius);margin:8px auto}
.gcr-content table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:14px}
.gcr-content th,.gcr-content td{border:1px solid var(--c-border);padding:8px 12px;text-align:left}
.gcr-content th{background:var(--c-bg-alt);font-weight:700}
.gcr-content code{background:var(--c-bg-alt);border:1px solid var(--c-border);padding:2px 6px;border-radius:3px;font-size:13px}
.gcr-post-tags{margin-top:28px;padding-top:20px;border-top:1px solid var(--c-border);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gcr-post-tags__label{font-size:12px;color:var(--c-muted);margin-right:4px}
.gcr-author-box{margin-top:36px;padding:20px;border:1px solid var(--c-border);border-radius:var(--radius);display:flex;gap:16px;align-items:flex-start;background:var(--c-bg-alt)}
.gcr-author-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;background:var(--c-primary);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:22px}
.gcr-author-name{font-weight:700;font-size:14px;margin-bottom:4px}
.gcr-author-bio{font-size:13px;color:var(--c-muted);line-height:1.6}
.gcr-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--c-border)}
.gcr-post-nav__item{padding:14px;border:1px solid var(--c-border);border-radius:var(--radius);transition:all var(--transition)}
.gcr-post-nav__item:hover{border-color:var(--c-accent);background:var(--c-bg-alt)}
.gcr-post-nav__label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--c-muted);margin-bottom:6px}
.gcr-post-nav__title{font-size:13px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gcr-post-nav__item--next{text-align:right}
.gcr-related{margin-top:40px}

/* ============================================================
   ARCHIVE
   ============================================================ */
.gcr-archive-header{background:linear-gradient(135deg,var(--c-primary) 0%,#16213e 100%);color:#fff;padding:24px 28px;border-radius:var(--radius-lg);margin-bottom:28px}
.gcr-archive-header__label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;opacity:.65;margin-bottom:6px}
.gcr-archive-header__title{font-size:22px;font-weight:700}
.gcr-archive-header__desc{margin-top:8px;font-size:13px;opacity:.75}

/* ============================================================
   FOOTER
   ============================================================ */
.gcr-footer{background:var(--c-primary);color:rgba(255,255,255,.7);margin-top:60px}
.gcr-footer__top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:52px 0 40px;border-bottom:1px solid rgba(255,255,255,.08)}
.gcr-footer__logo{font-size:20px;font-weight:700;color:#fff;margin-bottom:12px;display:block}
.gcr-footer__logo:hover{color:rgba(255,255,255,.85)}
.gcr-footer__desc{font-size:13px;line-height:1.75;margin-bottom:18px}
.gcr-footer__social{display:flex;gap:8px}
.gcr-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:rgba(255,255,255,.08);border-radius:50%;font-size:13px;color:rgba(255,255,255,.7);transition:all var(--transition)}
.gcr-footer__social a:hover{background:var(--c-accent);color:#fff}
.gcr-footer__col-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}
.gcr-footer__links li{margin-bottom:9px}
.gcr-footer__links a{font-size:13px;color:rgba(255,255,255,.6);transition:all var(--transition)}
.gcr-footer__links a:hover{color:#fff;padding-left:5px}
.gcr-footer__bottom{padding:16px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;flex-wrap:wrap;gap:8px}
.gcr-footer__legal a{color:rgba(255,255,255,.45);margin-left:16px}
.gcr-footer__legal a:hover{color:rgba(255,255,255,.8)}

/* ============================================================
   SMART INDEXER BLOCK
   ============================================================ */
.si-hub-block{margin-top:28px;padding:18px;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--radius)}
.si-hub-block__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--c-primary);padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--c-accent)}
.si-hub-block__list{columns:2;gap:12px}
.si-hub-block__list li{font-size:12.5px;padding:4px 0;border-bottom:1px solid var(--c-border);break-inside:avoid}
.si-hub-block__list a{color:var(--c-text)}.si-hub-block__list a:hover{color:var(--c-accent)}
.si-hub-block__list small{color:var(--c-muted);font-size:10.5px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .gcr-grid{grid-template-columns:repeat(2,1fr)}
  .gcr-layout,.gcr-single-layout{grid-template-columns:1fr}
  .gcr-sidebar{position:static}
  .gcr-footer__top{grid-template-columns:1fr 1fr}
  .gcr-featured{grid-template-columns:1fr}
  .gcr-featured .gcr-thumb{height:240px}
}
@media(max-width:680px){
  .gcr-grid{grid-template-columns:1fr}
  .gcr-logo{font-size:20px}
  .gcr-search{display:none}
  .gcr-menu{display:none;flex-direction:column}
  .gcr-menu.is-open{display:flex}
  .gcr-menu-toggle{display:block}
  .gcr-footer__top{grid-template-columns:1fr;gap:28px}
  .gcr-single__title{font-size:21px}
  .gcr-post-nav{grid-template-columns:1fr}
  .si-hub-block__list{columns:1}
}
@media print{
  .gcr-topbar,.gcr-nav,.gcr-sidebar,.gcr-footer,.gcr-search,.gcr-pagination,.gcr-related{display:none}
  .gcr-layout{display:block}
}

/* ============================================================
   AUTHOR BOX
   ============================================================ */
.gcr-author-box{
  margin:40px 0 32px;
  background:var(--c-bg-alt);
  border:1px solid rgba(0,0,0,.08);
  border-left:4px solid var(--c-accent);
  border-radius:var(--radius);
  padding:0;
  overflow:hidden;
}
.gcr-author-box__inner{
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:24px;
}
.gcr-author-box__avatar-link{flex-shrink:0;}
.gcr-author-box__avatar{
  width:80px;height:80px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid var(--c-accent);
  display:block;
  transition:transform .2s;
}
.gcr-author-box__avatar:hover{transform:scale(1.05);}
.gcr-author-box__info{flex:1;min-width:0;}
.gcr-author-box__label{
  font-size:11px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--c-accent);
  margin-bottom:4px;
}
.gcr-author-box__name{
  display:inline-block;
  font-size:18px;
  font-weight:700;
  color:var(--c-primary);
  text-decoration:none;
  margin-bottom:8px;
  line-height:1.3;
}
.gcr-author-box__name:hover{color:var(--c-accent);}
.gcr-author-box__bio{
  font-size:13.5px;
  color:var(--c-muted);
  line-height:1.65;
  margin:0 0 12px;
}
.gcr-author-box__meta{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.gcr-author-box__posts-count{
  font-size:12px;
  color:var(--c-muted);
}
.gcr-author-box__more{
  font-size:12px;
  font-weight:600;
  color:var(--c-accent);
  text-decoration:none;
  border:1px solid var(--c-accent);
  padding:3px 10px;
  border-radius:20px;
  transition:background .15s,color .15s;
}
.gcr-author-box__more:hover{
  background:var(--c-accent);
  color:#fff;
}
@media(max-width:480px){
  .gcr-author-box__inner{flex-direction:column;align-items:center;text-align:center;}
  .gcr-author-box__meta{justify-content:center;}
}
