/*
Theme Name: Prebiotics Guide
Theme URI: https://prebiotics.onterbio.com/
Description: 프리바이오틱스 정보 안내 사이트 전용 디자인 시스템. 정보성 콘텐츠에 맞춘 절제된 팔레트와 타이포, 8pt 간격계 기반 커스텀 테마.
Author: 프리바이오틱스 원료 가이드
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Text Domain: prebiotics
*/

:root{
  --pb-green:#2f7d5b; --pb-green-d:#245f45; --pb-green-l:#eaf3ee;
  --pb-ink:#1b2a24; --pb-body:#3c4a43; --pb-muted:#6b7a72;
  --pb-line:#e5ebe7; --pb-bg:#ffffff; --pb-soft:#f6f9f7; --pb-soft2:#eef4f0;
  --pb-gold:#b8862f;
  --pb-r:14px; --pb-r-sm:10px; --pb-r-lg:22px;
  --pb-sh:0 6px 26px rgba(22,44,32,.08); --pb-sh-sm:0 2px 10px rgba(22,44,32,.06);
  --pb-max:820px; --pb-wide:1160px;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px; --s8:128px;
  --pb-sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Helvetica Neue","Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --pb-serif:"Noto Serif KR",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--pb-bg);color:var(--pb-body);font-family:var(--pb-sans);
  font-size:17px;line-height:1.75;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;}
img{max-width:100%;height:auto}
a{color:var(--pb-green-d);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid rgba(47,125,91,.45);outline-offset:2px;border-radius:4px}

/* ---------- header ---------- */
.pb-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--pb-line)}
.pb-hd-inner{max-width:var(--pb-wide);margin:0 auto;padding:14px var(--s3);
  display:flex;align-items:center;gap:var(--s3);justify-content:space-between}
.pb-brand{display:flex;align-items:center;gap:12px;min-width:0}
.pb-brand .pb-logo{width:40px;height:40px;flex:0 0 auto;border-radius:11px;display:block}
.pb-brand-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.pb-brand-name{font-weight:800;color:var(--pb-ink);font-size:16px;letter-spacing:-.02em}
.pb-brand-sub{font-size:11.5px;color:var(--pb-muted);font-weight:500}
.pb-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pb-nav a{color:var(--pb-ink);font-weight:600;font-size:14.5px;padding:9px 13px;border-radius:9px;transition:background .18s,color .18s}
.pb-nav a:hover{background:var(--pb-green-l);color:var(--pb-green-d);text-decoration:none}
.pb-nav-toggle{display:none}

/* ---------- layout ---------- */
.pb-main{min-height:50vh}
.pb-container{max-width:var(--pb-max);margin:0 auto;padding:0 var(--s3)}
.pb-wide{max-width:var(--pb-wide);margin:0 auto;padding:0 var(--s3)}
.pb-article{padding:var(--s6) 0 var(--s5)}

/* ---------- post header ---------- */
.pb-post-head{max-width:var(--pb-max);margin:0 auto var(--s4);padding:0 var(--s3)}
.pb-eyebrow{display:inline-block;font-size:13px;font-weight:700;color:var(--pb-green-d);
  background:var(--pb-green-l);padding:5px 12px;border-radius:999px;margin-bottom:var(--s2)}
.pb-post-head h1{font-family:var(--pb-serif);font-weight:700;color:var(--pb-ink);
  font-size:clamp(28px,4.6vw,44px);line-height:1.28;letter-spacing:-.02em;margin:0 0 var(--s2)}
.pb-post-meta{color:var(--pb-muted);font-size:14px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.pb-hero-img{max-width:var(--pb-wide);margin:0 auto var(--s5);padding:0 var(--s3)}
.pb-hero-img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--pb-r-lg);box-shadow:var(--pb-sh)}

/* ---------- content typography ---------- */
.pb-content{color:var(--pb-body)}
.pb-content>*{max-width:var(--pb-max);margin-left:auto;margin-right:auto}
.pb-content p{margin:0 0 1.25em}
.pb-content h2{font-family:var(--pb-serif);font-weight:700;color:var(--pb-ink);font-size:clamp(22px,3vw,28px);
  line-height:1.35;letter-spacing:-.02em;margin:2.4em 0 .7em;padding-top:.3em;position:relative}
.pb-content h2::before{content:"";position:absolute;top:-2px;left:0;width:46px;height:4px;
  background:var(--pb-green);border-radius:3px}
.pb-content h2{padding-top:18px}
.pb-content h3{font-weight:700;color:var(--pb-ink);font-size:19px;margin:1.8em 0 .5em;line-height:1.45}
.pb-content ul,.pb-content ol{margin:0 0 1.4em;padding-left:1.35em}
.pb-content li{margin:.4em 0}
.pb-content strong{color:var(--pb-ink);font-weight:700}
.pb-content a{color:var(--pb-green-d);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* summary box */
.pb-summary{background:linear-gradient(180deg,var(--pb-green-l),#f4faf6);border:1px solid #d5e6dc;
  border-radius:var(--pb-r);padding:var(--s3) var(--s3) calc(var(--s3) - 6px);margin:0 auto var(--s4)!important;box-shadow:var(--pb-sh-sm)}
.pb-summary-title{font-weight:800;color:var(--pb-green-d);margin:0 0 10px!important;font-size:15px;
  display:flex;align-items:center;gap:9px}
.pb-summary-title::before{content:"";width:16px;height:16px;border-radius:5px;background:var(--pb-green);flex:0 0 auto}
.pb-summary ul{margin:0;padding-left:1.2em}
.pb-summary li{margin:.32em 0;color:var(--pb-ink)}

/* note / callout */
.pb-note{margin:1.8em auto;padding:var(--s3);background:var(--pb-soft);border-left:4px solid var(--pb-green);
  border-radius:0 var(--pb-r-sm) var(--pb-r-sm) 0;color:var(--pb-ink);font-size:16.5px}
.pb-note p{margin:0 0 .5em}.pb-note p:last-child{margin:0}

/* tables */
.pb-table{width:100%;border-collapse:separate;border-spacing:0;margin:1.6em auto;font-size:15.5px;
  border:1px solid var(--pb-line);border-radius:var(--pb-r-sm);overflow:hidden;box-shadow:var(--pb-sh-sm);display:table}
.pb-table thead th{background:var(--pb-green-d);color:#fff;font-weight:700;text-align:left;padding:13px 15px;font-size:14.5px}
.pb-table td,.pb-table th{padding:12px 15px;border-bottom:1px solid var(--pb-line);vertical-align:top}
.pb-table tbody tr:nth-child(even){background:var(--pb-soft)}
.pb-table tbody tr:last-child td{border-bottom:0}
.pb-table-wrap{overflow-x:auto;margin:1.6em auto;max-width:var(--pb-max)}
.pb-table-wrap .pb-table{margin:0;min-width:520px}

/* figures */
.pb-figure{margin:2em auto;max-width:var(--pb-max)}
.pb-figure img{width:100%;border-radius:var(--pb-r);box-shadow:var(--pb-sh);display:block}
.pb-figure figcaption{margin-top:10px;font-size:14px;color:var(--pb-muted);text-align:center}

/* chart bars */
.pb-chart{margin:1.7em auto;padding:var(--s3);background:var(--pb-soft);border:1px solid var(--pb-line);border-radius:var(--pb-r)}
.pb-bar{display:grid;grid-template-columns:130px 1fr 64px;align-items:center;gap:12px;margin:11px 0}
.pb-bar-label{font-size:14px;font-weight:600;color:var(--pb-ink)}
.pb-bar-track{background:#dfe8e3;border-radius:999px;height:14px;overflow:hidden}
.pb-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--pb-green),var(--pb-green-d));border-radius:999px}
.pb-bar-val{font-size:13px;font-weight:700;color:var(--pb-green-d);text-align:right}

/* steps */
.pb-steps{counter-reset:s;list-style:none!important;padding-left:0!important}
.pb-steps li{position:relative;padding:2px 0 2px 44px;margin:.7em 0;counter-increment:s;min-height:32px}
.pb-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;
  background:var(--pb-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}

/* ai/legal notices inside content */
.ai-notice{max-width:var(--pb-max)}
.legal-notice{max-width:var(--pb-max)}

/* related posts */
.pb-related{max-width:var(--pb-wide);margin:var(--s6) auto 0;padding:var(--s5) var(--s3) 0;border-top:1px solid var(--pb-line)}
.pb-related h2{font-family:var(--pb-serif);font-size:24px;color:var(--pb-ink);margin:0 0 var(--s3);font-weight:700}
.pb-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.pb-card{display:flex;flex-direction:column;background:var(--pb-bg);border:1px solid var(--pb-line);
  border-radius:var(--pb-r);overflow:hidden;box-shadow:var(--pb-sh-sm);transition:transform .2s,box-shadow .2s}
.pb-card:hover{transform:translateY(-4px);box-shadow:var(--pb-sh);text-decoration:none}
.pb-card-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--pb-soft2)}
.pb-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pb-card:hover .pb-card-thumb img{transform:scale(1.05)}
.pb-card-body{padding:16px 17px 18px}
.pb-card-cat{font-size:12px;font-weight:700;color:var(--pb-green-d)}
.pb-card-title{font-size:16px;font-weight:700;color:var(--pb-ink);margin:6px 0 0;line-height:1.45}

/* archive list */
.pb-arc{padding:var(--s6) 0}
.pb-arc-head{text-align:center;margin-bottom:var(--s5)}
.pb-arc-head h1{font-family:var(--pb-serif);font-size:clamp(26px,4vw,38px);color:var(--pb-ink);margin:0 0 10px}
.pb-arc-head p{color:var(--pb-muted);margin:0}
.pb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);max-width:var(--pb-wide);margin:0 auto;padding:0 var(--s3)}

/* footer */
.pb-site-footer{margin-top:var(--s7);background:#12241c;color:#c6d3cc}
.pb-ft-inner{max-width:var(--pb-wide);margin:0 auto;padding:var(--s6) var(--s3) var(--s4)}
.pb-ft-top{display:flex;gap:var(--s4);justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--s4)}
.pb-ft-brand{display:flex;align-items:center;gap:12px}
.pb-ft-brand img{width:38px;height:38px;border-radius:10px}
.pb-ft-brand .n{font-weight:800;color:#fff;font-size:16px}
.pb-ft-brand .s{font-size:12.5px;color:#8fa79c}
.pb-ft-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.pb-ft-links a{color:#dbe7e0;font-weight:600;font-size:14px}
.pb-ft-notice{border-top:1px solid rgba(255,255,255,.12);padding-top:var(--s3);font-size:13px;line-height:1.7;color:#9fb3aa}
.pb-ft-notice p{margin:.5em 0}
.pb-ft-copy{margin-top:var(--s3);font-size:12.5px;color:#7f978c}

@media (max-width:860px){
  .pb-related-grid,.pb-grid{grid-template-columns:1fr 1fr}
  .pb-nav{gap:0}
}
@media (max-width:640px){
  body{font-size:16px}
  .pb-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--pb-line);
    flex-direction:column;align-items:stretch;padding:8px var(--s2) 14px}
  .pb-nav.open{display:flex}
  .pb-nav a{padding:12px 14px;font-size:16px}
  .pb-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
    border:1px solid var(--pb-line);border-radius:10px;background:#fff;cursor:pointer}
  .pb-nav-toggle span,.pb-nav-toggle span::before,.pb-nav-toggle span::after{content:"";display:block;width:20px;height:2px;background:var(--pb-ink);position:relative}
  .pb-nav-toggle span::before{position:absolute;top:-6px}.pb-nav-toggle span::after{position:absolute;top:6px}
  .pb-related-grid,.pb-grid{grid-template-columns:1fr}
  .pb-bar{grid-template-columns:96px 1fr 52px}
  .pb-article{padding:var(--s4) 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
