/*
Theme Name: NutraPaper
Theme URI: https://www.nutrapaper.com
Version: 3.0.0
*/
/* ===== CSS Variables ===== */
:root{
  --bg:#fff;--bg2:#f7f8fa;--bg3:#eeeff2;
  --text:#1a1a2e;--text2:#555570;--text3:#9090a8;
  --border:#e4e4ea;--primary:#2563eb;--primary2:#eff6ff;
  --primary3:#1d4ed8;--primary4:#bfdbfe;
  --shadow:0 2px 8px rgba(0,0,0,.06);--shadow2:0 4px 16px rgba(0,0,0,.1);
  --r:8px;--r2:12px;--r3:16px;
  --font:'Noto Sans SC',-apple-system,BlinkMacSystemFont,sans-serif;
  --t:.18s ease;--nav-h:56px;
}
[data-theme="dark"]{
  --bg:#111118;--bg2:#1a1a24;--bg3:#252532;
  --text:#f0f0f5;--text2:#b0b0c4;--text3:#6b6b80;
  --border:#2e2e3e;--primary:#60a5fa;--primary2:#1e3a5f;--primary3:#93c5fd;--primary4:#1e3a5f;
  --shadow:0 2px 8px rgba(0,0,0,.3);--shadow2:0 4px 20px rgba(0,0,0,.4);
}
/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--font);font-size:15px;line-height:1.7;color:var(--text);background:var(--bg)}
a{color:var(--text);text-decoration:none}
a:hover{color:var(--primary)}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-weight:700;line-height:1.3}
/* ===== Top Navigation ===== */
.top-nav{
  position:sticky;top:0;z-index:100;
  height:var(--nav-h);
  background:var(--bg);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;
  padding:0;gap:0;
  box-shadow:0 1px 0 var(--border);
}
/* Hamburger button - mobile only */
.hamburger-btn{
  display:none;flex-shrink:0;
  width:40px;height:40px;
  border:none;background:transparent;cursor:pointer;
  border-radius:8px;margin-left:8px;
  font-size:20px;line-height:1;color:var(--text2);
  align-items:center;justify-content:center;
}
.hamburger-btn:hover{background:var(--bg2)}
/* Nav logo - clickable link */
.nav-logo{
  font-size:17px;font-weight:800;color:var(--primary);
  letter-spacing:-0.3px;flex-shrink:0;
  padding:0 24px;
  text-decoration:none;
}
.nav-logo:hover{color:var(--primary3)}
.nav-links{
  display:flex;align-items:center;gap:2px;
  flex:1;justify-content:center;
}
.nav-links a{
  display:inline-flex;align-items:center;
  padding:6px 14px;border-radius:8px;
  font-size:14px;font-weight:500;color:var(--text2);
  transition:all var(--t);white-space:nowrap;
}
.nav-links a:hover{background:var(--bg2);color:var(--text)}
.nav-links a.active{background:var(--primary2);color:var(--primary);font-weight:600}
.nav-actions{flex-shrink:0;padding-right:24px;display:flex;align-items:center}
.theme-toggle{
  width:34px;height:34px;border:none;background:transparent;cursor:pointer;
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  transition:background var(--t);color:var(--text2);
}
.theme-toggle:hover{background:var(--bg2)}
.theme-toggle svg{width:17px;height:17px;stroke:var(--text2)}
/* Mobile slide-in menu */
.mobile-nav-overlay{
  display:none;position:fixed;inset:0;z-index:150;
  background:rgba(0,0,0,.4);
}
.mobile-nav-panel{
  position:fixed;top:0;left:-280px;z-index:200;
  width:280px;height:100%;background:var(--bg);
  box-shadow:2px 0 12px rgba(0,0,0,.15);
  transition:left .25s ease;
  overflow-y:auto;
  padding:0 0 24px;
}
.mobile-nav-panel.open{left:0}
.mobile-nav-panel .mobile-nav-links{
  display:flex;flex-direction:column;padding:12px 12px 0;
}
.mobile-nav-panel .mobile-nav-links a{
  display:flex;align-items:center;
  padding:12px 16px;border-radius:8px;
  font-size:15px;font-weight:500;color:var(--text2);
  border-bottom:1px solid var(--border);
  transition:background var(--t);
}
.mobile-nav-panel .mobile-nav-links a:last-child{border-bottom:none}
.mobile-nav-panel .mobile-nav-links a:hover,.mobile-nav-panel .mobile-nav-links a.active{background:var(--bg2);color:var(--primary)}
.mobile-nav-close{
  display:flex;align-items:center;justify-content:flex-end;
  padding:12px 16px;border-bottom:1px solid var(--border);
}
.mobile-nav-close button{
  width:36px;height:36px;border:none;background:transparent;cursor:pointer;
  font-size:20px;border-radius:8px;color:var(--text2);
}
.mobile-nav-close button:hover{background:var(--bg2)}
/* ===== Site Container ===== */
.site-container{max-width:1240px;margin:0 auto;padding:0 32px}

/* ===== Home Two-Column Layout ===== */
.home-layout{display:grid;grid-template-columns:1fr 340px;gap:0;min-height:calc(100vh - var(--nav-h))}
.home-main{padding:32px 28px 48px;border-right:1px solid var(--border);min-width:0}
.home-sidebar{padding:32px 24px;background:var(--bg2)}
/* Home hero */
.home-hero{text-align:center;padding:20px 0 28px;border-bottom:1px solid var(--border);margin-bottom:28px}
.home-title{font-size:28px;font-weight:800;color:var(--primary);margin-bottom:6px;letter-spacing:-0.5px}
.home-subtitle{font-size:15px;color:var(--text2)}
.home-desc{font-size:13px;color:var(--text3);max-width:480px;margin:8px auto 0;line-height:1.7}
/* Home section */
.home-section{margin-bottom:36px}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.section-header h2{font-size:16px;font-weight:700;padding-bottom:8px;border-bottom:2px solid var(--primary);display:inline-block}
.section-more{font-size:13px;color:var(--text3);white-space:nowrap}
.section-more:hover{color:var(--primary)}
/* Card list */
.card-list{display:flex;flex-direction:column;gap:2px}
.card-item{padding:12px;border-radius:var(--r);transition:background var(--t)}
.card-item:hover{background:var(--bg2)}
.card-body h3{font-size:14px;font-weight:600;margin-bottom:4px;line-height:1.4}
.card-body h3 a{color:var(--text)}
.card-body h3 a:hover{color:var(--primary)}
.card-excerpt{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:6px}
.card-meta{font-size:12px;color:var(--text3)}
/* Wiki grid */
.wiki-mini-grid{display:flex;flex-direction:column;gap:4px}
.wiki-mini-item{padding:10px 12px;border-radius:8px;transition:background var(--t);border:1px solid transparent}
.wiki-mini-item:hover{background:var(--bg2);border-color:var(--border)}
.wiki-mini-item h3{font-size:13px;font-weight:600;margin-bottom:2px;line-height:1.4}
.wiki-mini-item h3 a{color:var(--text)}
.wiki-mini-item h3 a:hover{color:var(--primary)}
.wiki-mini-item .card-tag{margin-top:4px}

/* ===== Fragment Masonry (CSS Columns — Pinterest style) ===== */
.fragment-masonry{
  columns:3 220px;column-gap:14px;
}
.fragment-card{
  break-inside:avoid;margin-bottom:14px;
  border-radius:var(--r);overflow:hidden;
}
.fragment-card-img{
  border-radius:var(--r) var(--r) 0 0;overflow:hidden;
}
  border:1px solid var(--border);
  background:var(--bg);transition:all var(--t);
  display:flex;flex-direction:column;
}
.fragment-card:hover{box-shadow:var(--shadow2);transform:translateY(-2px)}
.fragment-card-img{border-radius:var(--r) var(--r) 0 0}
/* Card image area (gradient placeholder) */
.fragment-card-img{
  width:100%;
  background:var(--bg2);
  flex-shrink:0;
  min-height:120px;
  max-height:280px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  position:relative;
}
/* Tag label overlay on image */
.fragment-card-tag-overlay{
  position:absolute;top:10px;left:10px;
  padding:3px 10px;border-radius:20px;
  font-size:11px;font-weight:600;letter-spacing:.3px;
}
/* Card body */
.fragment-card-body{padding:12px 14px}
.fragment-card-body h3{font-size:14px;font-weight:700;line-height:1.4;margin-bottom:6px}
.fragment-card-body h3 a{color:var(--text)}
.fragment-card-body h3 a:hover{color:var(--primary)}
.fragment-verdict{font-size:12px;color:var(--text2);line-height:1.5}
.fragment-card-meta{font-size:11px;color:var(--text3);margin-top:8px}

/* Fragment tag gradient backgrounds */
.tag-fake{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.tag-mislead{background:#fffbeb;color:#b45309;border:1px solid #fde68a}
.tag-overclaim{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}
.tag-safe{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
[data-theme="dark"] .tag-fake{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}
[data-theme="dark"] .tag-mislead{background:#451a03;color:#fcd34d;border-color:#92400e}
[data-theme="dark"] .tag-overclaim,[data-theme="dark"] .tag-safe{background:#1e3a5f;color:#93c5fd;border-color:#1d4ed8}

/* Fragment archive page */
.fragment-archive{padding:32px 32px 48px}
.fragment-archive .page-header{margin-bottom:24px}
.fragment-archive .page-header h1{font-size:24px;font-weight:800;margin-bottom:6px}
.fragment-archive .page-desc{font-size:14px;color:var(--text2)}

/* ===== Wiki Grid (Archive Page) ===== */
.wiki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.wiki-card{padding:18px;border:1px solid var(--border);border-radius:var(--r2);transition:all var(--t);background:var(--bg)}
.wiki-card:hover{background:var(--bg2);border-color:var(--primary4);box-shadow:var(--shadow)}
.wiki-name-line{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}
.wiki-name-line h3{font-size:15px;font-weight:700;margin:0;line-height:1.4}
.wiki-name-line h3 a{color:var(--text)}
.wiki-name-line h3 a:hover{color:var(--primary)}
.wiki-latin{font-size:12px;color:var(--text3);font-style:italic;white-space:nowrap}
.wiki-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.wiki-tag-item{display:inline-block;padding:1px 8px;background:var(--primary2);color:var(--primary);border-radius:20px;font-size:11px;font-weight:500}
.wiki-excerpt{font-size:13px;color:var(--text2);line-height:1.5;margin-top:8px}
/* Filter bar (tag筛选) */
.filter-bar{display:flex;flex-wrap:wrap;gap:8px}
.filter-tag{display:inline-block;padding:5px 14px;border-radius:20px;font-size:13px;font-weight:500;color:var(--text2);background:var(--bg2);border:1px solid var(--border);text-decoration:none;transition:all var(--t)}
.filter-tag:hover{color:var(--primary);border-color:var(--primary)}
.filter-tag.active{background:var(--primary);color:#fff;border-color:var(--primary)}
/* Wiki single page — new fields */
.wiki-title-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.wiki-generic{font-weight:700}
.wiki-latin-inline{font-size:.65em;color:var(--text3);font-style:italic;font-weight:400}
.wiki-aliases{font-size:13px;color:var(--text3);margin-top:4px}
.wiki-aliases-label{font-weight:500;color:var(--text2)}
.wiki-page-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.wiki-tag-pill{display:inline-block;padding:3px 12px;background:var(--primary2);color:var(--primary);border-radius:20px;font-size:12px;font-weight:500;text-decoration:none;transition:all var(--t)}
.wiki-tag-pill:hover{background:var(--primary);color:#fff}
/* Wiki auto-link in article content */
.wiki-auto-link{color:var(--primary);text-decoration:none;border-bottom:1px dashed var(--primary);transition:all var(--t)}
.wiki-auto-link:hover{border-bottom-style:solid;color:var(--primary3)}

/* ===== Tags ===== */
.card-tag{display:inline-flex;align-items:center;padding:2px 8px;background:var(--primary2);color:var(--primary);border-radius:20px;font-size:11px;font-weight:500}
.study-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.study-tag{display:inline-flex;align-items:center;padding:2px 8px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;font-size:11px;color:var(--text2)}

/* ===== NutraGo ===== */
.go-sections{display:flex;flex-direction:column;gap:32px}
.go-section h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.go-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.go-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--bg2);border-radius:var(--r);transition:all var(--t);border:1px solid transparent}
.go-card:hover{background:var(--bg3);border-color:var(--border);box-shadow:var(--shadow)}
.go-name{font-size:14px;font-weight:600;line-height:1.4;color:var(--text)}
.go-desc{font-size:12px;color:var(--text3)}

/* ===== Article / Single Page ===== */
.single-page{max-width:720px;padding:32px 32px 64px}
.article-header{margin-bottom:24px}
.article-category-tag{display:inline-flex;align-items:center;padding:3px 10px;background:var(--primary2);color:var(--primary);border-radius:20px;font-size:12px;font-weight:600;margin-bottom:10px}
.article-title{font-size:26px;font-weight:800;line-height:1.35;margin-bottom:10px;letter-spacing:-0.3px}
.article-alias{font-size:14px;color:var(--text3);margin-bottom:10px}
.article-meta{font-size:13px;color:var(--text3);display:flex;gap:12px;flex-wrap:wrap}
.article-meta-box{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:14px 18px;margin:20px 0}
.article-meta-box h3{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:8px}
.article-meta-box.safety{background:#fef2f2;border-color:#fecaca}
[data-theme="dark"] .article-meta-box.safety{background:#450a0a;border-color:#7f1d1d}
.article-meta-box.conclusion{background:var(--primary2);border-color:var(--primary4);border-left:3px solid var(--primary)}
.article-meta-box p{font-size:14px;line-height:1.75}
.article-content{line-height:1.85;font-size:15px;margin:20px 0}
.article-content p{margin-bottom:16px}
.article-content h3{font-size:18px;margin:28px 0 12px;font-weight:700}
.article-content ul{list-style:disc;padding-left:22px;margin-bottom:16px}
.article-content li{margin-bottom:8px}
.article-content strong{color:var(--text)}
.article-references{background:var(--bg2);border-radius:var(--r);padding:16px 18px;margin-top:28px;font-size:13px;color:var(--text2)}
.article-references h3{font-size:13px;font-weight:600;margin-bottom:10px;color:var(--text2)}
.article-footer-nav{margin-top:36px;padding-top:20px;border-top:1px solid var(--border)}
.back-link{font-size:14px;color:var(--text2);padding:8px 16px;border:1px solid var(--border);border-radius:8px;display:inline-block;transition:all var(--t)}
.back-link:hover{background:var(--bg2);border-color:var(--primary4);color:var(--primary)}
.study-meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.study-meta-item{font-size:13px;color:var(--text2)}
.rct-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--primary2);color:var(--primary);border-radius:20px;font-size:12px;font-weight:600}

/* ===== Page Header (Archive Pages) ===== */
.archive-page{padding:32px 32px 48px}
.archive-page .page-header{margin-bottom:28px}
.archive-page .page-header h1{font-size:24px;font-weight:800;margin-bottom:6px}
.archive-page .page-desc{font-size:14px;color:var(--text2)}

/* ===== About / Contact Page ===== */
.page-content{max-width:720px;padding:40px 32px 64px}
.page-content .page-header{margin-bottom:32px}
.page-content .page-header h1{font-size:26px;font-weight:800;margin-bottom:8px}
.page-content .page-desc{font-size:15px;color:var(--text2)}
.about-section{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--border)}
.about-section:last-child{border-bottom:none}
.about-section h2{font-size:18px;font-weight:700;margin-bottom:14px}
.about-section p{font-size:15px;color:var(--text2);line-height:1.85;margin-bottom:12px}
.about-section ul{list-style:disc;padding-left:20px;margin-top:8px}
.about-section li{font-size:14px;color:var(--text2);line-height:1.8;margin-bottom:4px}
.value-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:16px}
.value-card{padding:18px;border:1px solid var(--border);border-radius:var(--r2)}
.value-card h3{font-size:14px;font-weight:700;margin-bottom:6px}
.value-card p{font-size:13px;color:var(--text2);line-height:1.6}

/* ===== Footer ===== */
.site-footer{
  border-top:1px solid var(--border);
  padding:24px 32px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
}
.footer-copy{font-size:13px;color:var(--text3)}
.footer-credit{font-size:12px;color:var(--text3);margin-top:4px}
.footer-credit a{color:var(--text3)}
.footer-credit a:hover{color:var(--primary)}
.footer-links{display:flex;align-items:center;gap:20px}
.footer-links a{font-size:13px;color:var(--text3)}
.footer-links a:hover{color:var(--primary)}
.footer-icp{font-size:12px;color:var(--text3);width:100%;text-align:center;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}
.footer-icp a{color:var(--text3)}
.footer-icp a:hover{color:var(--primary)}

/* ===== Empty State ===== */
.empty-state{padding:40px;text-align:center;color:var(--text3);font-size:14px}
/* ===== Pagination ===== */
.pagination{display:flex;gap:4px;margin-top:28px;justify-content:center}
.pagination a,.pagination span{padding:7px 14px;border-radius:8px;font-size:13px;color:var(--text2);border:1px solid var(--border)}
.pagination a:hover{background:var(--bg2);border-color:var(--primary4);color:var(--primary)}
.pagination .current{background:var(--primary2);color:var(--primary);font-weight:600;border-color:var(--primary4)}

/* ===== Responsive - Tablet 1024px ===== */
@media (max-width:1024px){
  .home-layout{grid-template-columns:1fr}
  .home-sidebar{border-right:none;border-top:1px solid var(--border)}
  .home-main{border-right:none;padding:24px 20px}
  .home-sidebar{padding:24px 20px}
  .fragment-masonry{columns:2 200px}
  .go-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .wiki-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
/* ===== Responsive - Mobile 768px ===== */
@media (max-width:768px){
  .top-nav{padding:0 16px;justify-content:space-between}
  .hamburger-btn{display:flex}
  .nav-logo{padding:0}
  .nav-links{display:none}
  .nav-actions{padding-right:0}
  .site-container{padding:0 16px}
  .home-main,.home-sidebar{padding:20px 0}
  .fragment-masonry{columns:2 160px;column-gap:10px}
  .fragment-card{margin-bottom:10px}
  .fragment-card-body{padding:10px 12px}
  .fragment-card-body h3{font-size:13px}
  .fragment-archive,.archive-page,.single-page,.page-content{padding:20px 0 40px}
  .fragment-archive .page-header,.archive-page .page-header,.page-content .page-header{margin-bottom:20px}
  .fragment-archive .page-header h1,.archive-page .page-header h1,.article-title{font-size:20px}
  .wiki-grid{grid-template-columns:1fr 1fr;gap:10px}
  .go-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .site-footer{flex-direction:column;align-items:center;text-align:center;padding:20px 16px}
  .footer-links{justify-content:center}
}
/* ===== Scrollbar ===== */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
