/* Performance Optimization: font-display swap */
/* Prevents invisible text during web font loading (FOIT) */
/* Reduces CLS and improves LCP by showing fallback font immediately */

@font-face {
  font-family: 'Inter';
  font-display: swap;
}

/* Ensure text remains visible during webfont load */
.wp-block-heading,
.wp-block-paragraph,
.wp-block-navigation,
.wp-block-site-title,
.wp-block-site-tagline,
body {
  font-display: swap;
}

/* ============================================
   CBRN TACTICAL - SINGLE POST STYLING v1.0
   WordPress Article Page Enhancement
   ============================================ */

/* --- 1. SINGLE POST DARK BACKGROUND --- */
.single-post .site-content,
.single-post .entry-content,
.single-post article,
.single-post .post-content,
.single-post main {
  background-color: #0f1923 !important;
  color: #d0d0d0 !important;
}
.single-post body,
body.single-post {
  background-color: #0f1923 !important;
}

/* --- 2. POST TITLE FIX --- */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .post-title,
.single-post article header h1 {
  font-size: 32px !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.25 !important;
  margin-bottom: 16px !important;
  color: #f0f0f0 !important;
}

/* --- 3. H2 HEADING SIZE FIX (Critical) --- */
.single-post .entry-content h2,
.single-post .post-content h2,
.single-post article h2 {
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  margin-top: 36px !important;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid rgba(255,107,0,0.4) !important;
  color: #ff6b00 !important;
  line-height: 1.3 !important;
}

/* --- 4. H3 HEADING --- */
.single-post .entry-content h3,
.single-post article h3 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #e0e0e0 !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}

/* --- 5. BODY TEXT TYPOGRAPHY --- */
.single-post .entry-content,
.single-post .entry-content p,
.single-post .post-content p {
  font-size: 17px !important;
  line-height: 1.85 !important;
  letter-spacing: 0.2px !important;
  color: #d0d0d0 !important;
  margin-bottom: 18px !important;
}

/* --- 6. STRONG and BOLD TEXT --- */
.single-post .entry-content strong {
  color: #ff6b00 !important;
  font-weight: 700 !important;
}

/* --- 7. LIST STYLING --- */
.single-post .entry-content ul,
.single-post .entry-content ol {
  color: #d0d0d0 !important;
  margin: 16px 0 24px 24px !important;
}
.single-post .entry-content li {
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin-bottom: 8px !important;
  color: #d0d0d0 !important;
}

/* --- 8. BLOCKQUOTE --- */
.single-post .entry-content blockquote {
  border-left: 4px solid #ff6b00 !important;
  padding: 16px 20px !important;
  margin: 24px 0 !important;
  background: rgba(255,107,0,0.08) !important;
  border-radius: 0 8px 8px 0 !important;
  font-style: italic !important;
  color: #ccc !important;
}

/* --- 9. IMAGE and FIGURE STYLING --- */
.single-post .entry-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px !important;
  display: block !important;
  margin: 20px auto !important;
}
.single-post .entry-content figure {
  text-align: center !important;
  margin: 32px 0 !important;
}
.single-post .entry-content figcaption {
  font-size: 13px !important;
  color: #999 !important;
  margin-top: 8px !important;
  font-style: italic !important;
}

/* --- 10. LINKS --- */
.single-post .entry-content a {
  color: #ff6b00 !important;
  text-decoration: underline !important;
}
.single-post .entry-content a:hover {
  color: #ff8533 !important;
}

/* --- 11. POST META and DATE --- */
.single-post .entry-meta,
.single-post .post-meta,
.single-post .entry-date {
  color: #888 !important;
}

/* --- 12. AUTHOR BIO SECTION --- */
.single-post .author-bio,
.single-post .author-info,
.single-post .post-author {
  background: rgba(30,30,30,0.8) !important;
  border: 1px solid rgba(255,107,0,0.2) !important;
  border-radius: 10px !important;
  padding: 20px !important;
  margin: 32px 0 !important;
  color: #d0d0d0 !important;
}

/* --- 13. RESPONSIVE MOBILE --- */
@media (max-width: 768px) {
  .single-post .entry-title,
  .single-post h1.entry-title {
    font-size: 24px !important;
  }
  .single-post .entry-content h2 {
    font-size: 20px !important;
  }
  .single-post .entry-content,
  .single-post .entry-content p {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
}

/* ============================================
   CBRN TACTICAL - DARK MODE COLOR SCHEME
   Primary BG: #0D1117 | Secondary: #161B22
   Card: #1C2128 | Text: #E6EDF3
   Accent Amber: #D4A843 | Military Green: #2EA043
   ============================================ */

/* --- CSS Custom Properties --- */
:root {
  --cbrn-bg-primary: #0D1117;
  --cbrn-bg-secondary: #161B22;
  --cbrn-bg-card: #1C2128;
  --cbrn-text-primary: #E6EDF3;
  --cbrn-text-secondary: #8B949E;
  --cbrn-text-muted: #6E7681;
  --cbrn-accent-amber: #D4A843;
  --cbrn-accent-green: #2EA043;
  --cbrn-border: #30363D;
  --cbrn-link: #D4A843;
  --cbrn-link-hover: #E8C06A;
  --cbrn-danger: #F85149;
}

/* --- Global Body & Background --- */
body {
  background-color: var(--cbrn-bg-primary) !important;
  color: var(--cbrn-text-primary) !important;
}

/* --- Site Header --- */
.wp-block-template-part header,
header.wp-block-template-part,
.wp-site-blocks > header {
  background-color: var(--cbrn-bg-primary) !important;
  border-bottom: 1px solid var(--cbrn-border) !important;
}

/* Site Title */
.wp-block-site-title a,
.wp-block-site-title {
  color: var(--cbrn-accent-amber) !important;
  font-weight: 700 !important;
}

/* --- Navigation Links --- */
.wp-block-navigation a,
.wp-block-navigation-item a,
.wp-block-navigation .wp-block-navigation-item__content {
  color: var(--cbrn-text-primary) !important;
  transition: color 0.2s ease;
}

.wp-block-navigation a:hover,
.wp-block-navigation-item a:hover {
  color: var(--cbrn-accent-amber) !important;
}

/* Mobile Nav Overlay */
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--cbrn-bg-secondary) !important;
}

/* --- Main Content Area --- */
.wp-site-blocks,
.wp-block-group,
main {
  background-color: var(--cbrn-bg-primary) !important;
}

/* --- Headings --- */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.wp-block-post-title {
  color: var(--cbrn-text-primary) !important;
}

/* --- Links --- */
a {
  color: var(--cbrn-accent-amber) !important;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--cbrn-link-hover) !important;
}

/* --- Paragraphs & Text --- */
p, li, span, div {
  color: var(--cbrn-text-primary);
}

.wp-block-post-excerpt,
.wp-block-post-date,
.wp-block-post-terms {
  color: var(--cbrn-text-secondary) !important;
}

/* --- Cards & Content Blocks --- */
.wp-block-group:not(.wp-site-blocks),
.wp-block-column,
.wp-block-cover,
article {
  border-color: var(--cbrn-border) !important;
}

/* --- Category Badges --- */
.wp-block-post-terms a {
  background-color: var(--cbrn-accent-amber) !important;
  color: var(--cbrn-bg-primary) !important;
  padding: 2px 10px !important;
  border-radius: 3px !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* --- Buttons --- */
.wp-block-button__link,
.wp-element-button {
  background-color: var(--cbrn-accent-amber) !important;
  color: var(--cbrn-bg-primary) !important;
  border: none !important;
  font-weight: 600 !important;
  transition: all 0.2s ease;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  background-color: var(--cbrn-link-hover) !important;
  color: var(--cbrn-bg-primary) !important;
}

/* --- Footer --- */
.wp-block-template-part footer,
footer.wp-block-template-part,
.wp-site-blocks > footer {
  background-color: var(--cbrn-bg-secondary) !important;
  border-top: 1px solid var(--cbrn-border) !important;
  color: var(--cbrn-text-secondary) !important;
}

footer a {
  color: var(--cbrn-accent-amber) !important;
}

/* --- Stat Counter Section --- */
.wp-block-columns .wp-block-column {
  background-color: var(--cbrn-bg-card) !important;
  border: 1px solid var(--cbrn-border) !important;
  border-radius: 8px !important;
}

/* --- Scrollbar Dark Mode --- */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--cbrn-bg-secondary);
}
::-webkit-scrollbar-thumb {
  background: var(--cbrn-text-muted);
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--cbrn-text-secondary);
}

/* --- Selection Highlight --- */
::selection {
  background-color: var(--cbrn-accent-amber);
  color: var(--cbrn-bg-primary);
}

/* --- Images Subtle Brightness --- */
.wp-block-image img,
.wp-block-post-featured-image img {
  border-radius: 6px;
  border: 1px solid var(--cbrn-border);
}

/* --- Separator / HR --- */
hr, .wp-block-separator {
  border-color: var(--cbrn-border) !important;
  opacity: 0.6;
}

/* --- Blockquote --- */
blockquote, .wp-block-quote {
  border-left: 4px solid var(--cbrn-accent-amber) !important;
  background-color: var(--cbrn-bg-card) !important;
  padding: 1rem 1.5rem !important;
  color: var(--cbrn-text-secondary) !important;
}

/* --- Code Block --- */
pre, code, .wp-block-code {
  background-color: var(--cbrn-bg-card) !important;
  color: var(--cbrn-accent-green) !important;
  border: 1px solid var(--cbrn-border) !important;
  border-radius: 6px !important;
}

/* --- Table --- */
table, .wp-block-table {
  border-color: var(--cbrn-border) !important;
}
th {
  background-color: var(--cbrn-bg-card) !important;
  color: var(--cbrn-accent-amber) !important;
}
td {
  border-color: var(--cbrn-border) !important;
}

/* --- Form Inputs --- */
input, textarea, select {
  background-color: var(--cbrn-bg-card) !important;
  color: var(--cbrn-text-primary) !important;
  border: 1px solid var(--cbrn-border) !important;
}

/* --- Military Green Accent Utilities --- */
.cbrn-green { color: var(--cbrn-accent-green); }
.cbrn-amber { color: var(--cbrn-accent-amber); }
.cbrn-danger { color: var(--cbrn-danger); }

/* ============================================= */
/* [FIX 7] 기사 하단 Share/Like/해시태그 가독성 개선 */
/* 배경 #0F1923에 묻히는 폰트 색상 수정 */
/* ============================================= */

/* Share this / Like this 제목 — 밝은 골드로 */
.sharedaddy h3.sd-title,
.sd-sharing h3,
.sd-like-enabled h3 {
  color: #D4A017 !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Share 버튼 — 다크 테마에 맞는 골드 테두리 + 밝은 텍스트 */
.sd-content .sd-button,
.sd-social-icon .sd-button {
  background: #161B22 !important;
  color: #E6EDF3 !important;
  border: 1px solid #D4A017 !important;
  border-radius: 4px !important;
}
.sd-content .sd-button:hover {
  background: #D4A017 !important;
  color: #000 !important;
}
.sd-content .sd-button span {
  color: #E6EDF3 !important;
}
.sd-content .sd-button:hover span {
  color: #000 !important;
}

/* Share 버튼 아이콘 색상 */
.sd-content .sd-button .sharing-screen-reader-text {
  color: #E6EDF3 !important;
}

/* 구분선 (Sharedaddy divider) — 밝은 골드 */
.sharedaddy .sd-sharing-enabled::before,
.sharedaddy hr {
  border-color: #D4A017 !important;
}
.entry-content .sharedaddy {
  border-top: 1px solid #2a3a4a !important;
  padding-top: 20px !important;
  margin-top: 30px !important;
}

/* Like 위젯 텍스트 — 밝게 */
.likes-widget-placeholder .loading,
.likes-widget-placeholder span {
  color: #8B949E !important;
}
.likes-widget-placeholder .button span {
  color: #D4A017 !important;
}

/* "Customize buttons" 링크 숨김 (관리자 전용) */
.sd-sharing-enabled .sharing-hidden .inner a {
  color: #D4A017 !important;
}

/* 해시태그 텍스트 — 밝은 골드로 강제 */
.entry-content p[style*="text-align:center"] {
  color: #D4A017 !important;
}

/* 기사 하단 태그/카테고리 링크 */
.entry-tags a,
.post-tags a,
.tags-links a,
a[rel="tag"] {
  color: #D4A017 !important;
  text-decoration: none !important;
}
a[rel="tag"]:hover {
  color: #F0C040 !important;
  text-decoration: underline !important;
}

/* 댓글 영역 가독성 */
.comment-respond h3,
.comments-title {
  color: #E6EDF3 !important;
  font-family: 'Oswald', sans-serif !important;
}
.comment-form label {
  color: #8B949E !important;
}
.comment-form input,
.comment-form textarea {
  background: #161B22 !important;
  color: #E6EDF3 !important;
  border: 1px solid #2a3a4a !important;
}

/* 기사 본문 내 인라인 스타일 색상 오버라이드 — 너무 어두운 색상 보정 */
.entry-content p span[style*="color:#666"],
.entry-content p span[style*="color:#555"],
.entry-content p span[style*="color:#444"],
.entry-content p span[style*="color: #666"],
.entry-content p span[style*="color: #555"],
.entry-content p span[style*="color: #444"] {
  color: #8B949E !important;
}