/*
Theme Name: ReserveWatch Theme
Theme URI: https://reservewatch.munhoyoung.com
Description: 외환보유고 데이터 플랫폼 전용 프리미엄 테마
Author: ReserveWatch
Version: 1.0.0
Template: twentytwentyfive
Text Domain: reservewatch
*/
:root {
  --rw-primary: #0f2b46;
  --rw-accent: #1a73e8;
  --rw-accent-hover: #1557b0;
  --rw-bg: #f7f9fc;
  --rw-surface: #ffffff;
  --rw-text: #1a1a2e;
  --rw-text-secondary: #5a6577;
  --rw-border: #e2e8f0;
  --rw-border-light: #f1f5f9;
  --rw-success: #10b981;
  --rw-warning: #f59e0b;
  --rw-danger: #ef4444;
  --rw-radius-sm: 6px;
  --rw-radius-md: 10px;
  --rw-radius-lg: 16px;
  --rw-shadow-sm: 0 1px 3px rgba(15,43,70,0.06);
  --rw-shadow-md: 0 4px 16px rgba(15,43,70,0.08);
  --rw-shadow-lg: 0 8px 32px rgba(15,43,70,0.12);
  --rw-spacing-xs: 8px;
  --rw-spacing-sm: 16px;
  --rw-spacing-md: 24px;
  --rw-spacing-lg: 40px;
  --rw-spacing-xl: 64px;
  --rw-spacing-2xl: 96px;
  --rw-spacing-3xl: 128px;
  --rw-max-content: 780px;
  --rw-max-wide: 1200px;
  --rw-transition: 200ms ease;
}
*,*::before,*::after{box-sizing:border-box}
body{
  font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--rw-text);background:var(--rw-bg);
  line-height:1.75;font-size:16px;margin:0;padding:0;
  -webkit-font-smoothing:antialiased;
}
.wp-site-blocks{padding:0!important;max-width:100%!important}
h1,h2,h3,h4,h5,h6{
  font-family:'Pretendard Variable','Pretendard',sans-serif;
  font-weight:700;line-height:1.3;color:var(--rw-primary);
  letter-spacing:-0.02em;
}
h1{font-size:clamp(1.75rem,4vw,2.5rem)}
h2{font-size:clamp(1.35rem,3vw,1.85rem);margin:2em 0 0.8em;padding-bottom:0.5em;border-bottom:2px solid var(--rw-border)}
h3{font-size:clamp(1.1rem,2.5vw,1.35rem);margin:1.5em 0 0.6em}
p{margin:0 0 1.2em;line-height:1.75}
a{color:var(--rw-accent);text-decoration:none;transition:color var(--rw-transition)}
a:hover{color:var(--rw-accent-hover)}
img{max-width:100%;height:auto;display:block}
/* Hide default WP header/footer chrome */
.wp-block-template-part,
header.wp-block-template-part,
footer.wp-block-template-part,
.wp-block-site-title,
.wp-block-site-tagline,
.wp-block-navigation,
.has-global-padding>.wp-block-template-part{display:none!important}

/* Global Header */
.rw-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--rw-border);
  padding:0 var(--rw-spacing-md);
}
.rw-header-inner{
  max-width:var(--rw-max-wide);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:64px;
}
.rw-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.rw-logo img{width:36px;height:36px;border-radius:8px}
.rw-logo-text{font-size:1.05rem;font-weight:700;color:var(--rw-primary);letter-spacing:-0.01em}
.rw-nav{display:flex;gap:4px;align-items:center}
.rw-nav a{
  font-size:0.9rem;font-weight:500;color:var(--rw-text-secondary);
  padding:8px 14px;border-radius:var(--rw-radius-sm);
  transition:all var(--rw-transition);
}
.rw-nav a:hover{color:var(--rw-accent);background:rgba(26,115,232,0.06)}
.rw-hamburger{display:none;background:none;border:none;padding:8px;cursor:pointer}
.rw-hamburger svg{width:24px;height:24px;color:var(--rw-primary)}
.rw-mobile-menu{
  display:none;position:fixed;top:64px;left:0;right:0;bottom:0;
  background:var(--rw-surface);z-index:999;padding:var(--rw-spacing-md);
  flex-direction:column;gap:4px;
}
.rw-mobile-menu.active{display:flex}
.rw-mobile-menu a{
  font-size:1rem;padding:14px 16px;border-radius:var(--rw-radius-sm);
  color:var(--rw-text);font-weight:500;
}
.rw-mobile-menu a:hover{background:var(--rw-bg)}

@media(max-width:768px){
  .rw-nav{display:none}
  .rw-hamburger{display:block}
}

/* Footer */
.rw-footer{
  background:var(--rw-primary);color:rgba(255,255,255,0.7);
  padding:var(--rw-spacing-xl) var(--rw-spacing-md) var(--rw-spacing-lg);
  margin-top:var(--rw-spacing-2xl);
}
.rw-footer-inner{
  max-width:var(--rw-max-wide);margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--rw-spacing-lg);
}
.rw-footer h4{color:#fff;font-size:0.95rem;margin-bottom:var(--rw-spacing-sm);font-weight:600}
.rw-footer p,.rw-footer a{font-size:0.85rem;line-height:1.7}
.rw-footer a{color:rgba(255,255,255,0.6);transition:color var(--rw-transition)}
.rw-footer a:hover{color:#fff}
.rw-footer-links{list-style:none;padding:0;margin:0}
.rw-footer-links li{margin-bottom:8px}
.rw-footer-bottom{
  max-width:var(--rw-max-wide);margin:var(--rw-spacing-lg) auto 0;
  padding-top:var(--rw-spacing-md);border-top:1px solid rgba(255,255,255,0.1);
  font-size:0.8rem;color:rgba(255,255,255,0.4);
}
.rw-footer .legal-notice-footer{
  font-size:0.78rem;color:rgba(255,255,255,0.45);
  line-height:1.65;margin-top:var(--rw-spacing-sm);
}
@media(max-width:768px){
  .rw-footer-inner{grid-template-columns:1fr;gap:var(--rw-spacing-md)}
}

/* Single Post */
.rw-single{
  max-width:var(--rw-max-content);margin:0 auto;
  padding:var(--rw-spacing-xl) var(--rw-spacing-md) var(--rw-spacing-2xl);
}
.rw-single-hero{
  width:100%;aspect-ratio:16/9;object-fit:cover;
  border-radius:var(--rw-radius-lg);margin-bottom:var(--rw-spacing-lg);
}
.rw-single h1{margin-bottom:var(--rw-spacing-sm)}
.rw-single .rw-meta{
  font-size:0.88rem;color:var(--rw-text-secondary);
  margin-bottom:var(--rw-spacing-lg);padding-bottom:var(--rw-spacing-md);
  border-bottom:1px solid var(--rw-border);
}
.rw-single .entry-content{font-size:1.05rem;line-height:1.8}
.rw-single .entry-content h2{
  font-size:1.5rem;margin:2.5em 0 1em;
  padding-left:16px;border-left:4px solid var(--rw-accent);
  border-bottom:none;
}
.rw-single .entry-content h3{font-size:1.2rem;margin:2em 0 0.8em}
.rw-single .entry-content img{
  border-radius:var(--rw-radius-md);margin:1.5em 0;
  box-shadow:var(--rw-shadow-sm);
}
.rw-single .entry-content table{
  width:100%;border-collapse:collapse;margin:1.5em 0;
  font-size:0.92rem;border-radius:var(--rw-radius-md);
  overflow:hidden;box-shadow:var(--rw-shadow-sm);
}
.rw-single .entry-content table th{
  background:var(--rw-primary);color:#fff;
  padding:12px 16px;text-align:left;font-weight:600;
  font-size:0.88rem;
}
.rw-single .entry-content table td{
  padding:11px 16px;border-bottom:1px solid var(--rw-border);
}
.rw-single .entry-content table tr:nth-child(even){background:#f8fafc}
.rw-single .entry-content table tr:hover{background:#eef3fb}
.rw-single .entry-content blockquote{
  margin:1.5em 0;padding:20px 24px;
  background:linear-gradient(135deg,#eef3fb,#f7f9fc);
  border-left:4px solid var(--rw-accent);
  border-radius:0 var(--rw-radius-md) var(--rw-radius-md) 0;
  font-size:1rem;color:var(--rw-text-secondary);
}
.rw-single .entry-content ul,.rw-single .entry-content ol{
  margin:1em 0 1.5em;padding-left:1.5em;
}
.rw-single .entry-content li{margin-bottom:0.5em;line-height:1.7}
.rw-single .entry-content .wp-block-table{overflow-x:auto}
@media(max-width:768px){
  .rw-single .entry-content table{font-size:0.82rem;display:block;overflow-x:auto}
  .rw-single .entry-content table th,.rw-single .entry-content table td{padding:9px 10px;white-space:nowrap}
}

/* Related posts */
.rw-related{
  max-width:var(--rw-max-content);margin:0 auto;
  padding:0 var(--rw-spacing-md) var(--rw-spacing-xl);
}
.rw-related h3{font-size:1.2rem;margin-bottom:var(--rw-spacing-md)}
.rw-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rw-spacing-md)}
.rw-related-card{
  background:var(--rw-surface);border-radius:var(--rw-radius-md);
  overflow:hidden;box-shadow:var(--rw-shadow-sm);
  transition:all var(--rw-transition);text-decoration:none;
}
.rw-related-card:hover{box-shadow:var(--rw-shadow-md);transform:translateY(-2px)}
.rw-related-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rw-related-card .rw-card-body{padding:16px}
.rw-related-card .rw-card-title{font-size:0.92rem;font-weight:600;color:var(--rw-text);line-height:1.4}
@media(max-width:768px){
  .rw-related-grid{grid-template-columns:1fr}
}

/* Page template */
.rw-page{
  max-width:var(--rw-max-content);margin:0 auto;
  padding:var(--rw-spacing-xl) var(--rw-spacing-md) var(--rw-spacing-2xl);
}
.rw-page h1{margin-bottom:var(--rw-spacing-lg)}
.rw-page .entry-content{font-size:1rem;line-height:1.8}

/* Archive / Category */
.rw-archive{
  max-width:var(--rw-max-wide);margin:0 auto;
  padding:var(--rw-spacing-xl) var(--rw-spacing-md);
}
.rw-archive h1{margin-bottom:var(--rw-spacing-lg);text-align:center}
.rw-archive-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:var(--rw-spacing-md);
}
.rw-archive-card{
  background:var(--rw-surface);border-radius:var(--rw-radius-md);
  overflow:hidden;box-shadow:var(--rw-shadow-sm);
  transition:all var(--rw-transition);
}
.rw-archive-card:hover{box-shadow:var(--rw-shadow-md);transform:translateY(-3px)}
.rw-archive-card a{text-decoration:none}
.rw-archive-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rw-archive-card .card-body{padding:20px}
.rw-archive-card .card-title{font-size:1.05rem;font-weight:600;color:var(--rw-text);margin-bottom:8px}
.rw-archive-card .card-excerpt{font-size:0.88rem;color:var(--rw-text-secondary);line-height:1.6}

/* Utility */
.rw-container{max-width:var(--rw-max-wide);margin:0 auto;padding:0 var(--rw-spacing-md)}
.rw-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:var(--rw-radius-sm);
  font-weight:600;font-size:0.92rem;border:none;cursor:pointer;
  transition:all var(--rw-transition);text-decoration:none;
}
.rw-btn-primary{background:var(--rw-accent);color:#fff}
.rw-btn-primary:hover{background:var(--rw-accent-hover);color:#fff;transform:translateY(-1px)}
.rw-btn-outline{border:1.5px solid var(--rw-border);color:var(--rw-text);background:transparent}
.rw-btn-outline:hover{border-color:var(--rw-accent);color:var(--rw-accent)}

/* Animations */
@media(prefers-reduced-motion:no-preference){
  .rw-fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.5s ease,transform 0.5s ease}
  .rw-fade-in.visible{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .rw-fade-in{opacity:1!important;transform:none!important}
}
/* Legal notices */
.ai-notice{font-size:0.85em;color:#888;margin-top:2em}
.legal-notice{
  font-size:0.85em;color:#777;background:#f8f9fa;
  border-left:3px solid #cbd5e1;padding:10px 14px;
  margin-top:2em;border-radius:0 6px 6px 0;
}
.legal-notice p{margin:4px 0}

/* Data chart bars */
.rw-bar-chart{margin:1.5em 0}
.rw-bar-row{display:flex;align-items:center;margin-bottom:8px;gap:12px}
.rw-bar-label{min-width:100px;font-size:0.88rem;font-weight:500;text-align:right}
.rw-bar-track{flex:1;height:28px;background:var(--rw-border-light);border-radius:4px;overflow:hidden}
.rw-bar-fill{height:100%;background:linear-gradient(90deg,var(--rw-accent),#4a9af5);border-radius:4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:0.78rem;color:#fff;font-weight:600;transition:width 0.8s ease}
.rw-bar-value{min-width:80px;font-size:0.82rem;color:var(--rw-text-secondary);padding-left:4px}
@media(max-width:768px){
  .rw-bar-label{min-width:60px;font-size:0.78rem}
  .rw-bar-track{height:22px}
}

/* TOC */
.rw-toc{
  background:#f8fafc;border:1px solid var(--rw-border);
  border-radius:var(--rw-radius-md);padding:20px 24px;
  margin-bottom:2em;
}
.rw-toc-title{font-size:0.95rem;font-weight:700;margin-bottom:12px;color:var(--rw-primary)}
.rw-toc ol{margin:0;padding-left:1.2em;counter-reset:toc}
.rw-toc li{margin-bottom:6px;font-size:0.9rem;line-height:1.5}
.rw-toc a{color:var(--rw-text-secondary)}
.rw-toc a:hover{color:var(--rw-accent)}
