/*
Theme Name:   GeneratePress Child (Pillspec)
Theme URI:    https://pillspec.example
Description:  Pillspec 디자인을 입힌 GeneratePress 자식 테마. 색/폰트/카드/버튼/FAQ 등 커스텀 스타일 포함.
Author:       Pillspec
Template:     generatepress
Version:      3.22.0
Text Domain:  generatepress-child
*/

/* ============================================================
   아래는 Pillspec 커스텀 스타일입니다.
   색/폰트는 :root 변수만 바꾸면 사이트 전체가 바뀝니다.
   ============================================================ */

/* =========================================================
   필스펙 — 영양제·건강정보 블로그 / GeneratePress 커스텀 스타일
   적용: 워드프레스 → 외모(Appearance) → 사용자 정의하기(Customize)
        → 추가 CSS(Additional CSS) 에 아래 전체를 붙여넣기

   ※ 색/폰트는 맨 위 :root 변수만 바꾸면 사이트 전체가 바뀝니다.
   ※ GeneratePress 기본 클래스(.site-header, .main-navigation, .post,
     .entry-title, .entry-meta, .widget, .button 등)를 그대로 씁니다.
   ========================================================= */

/* Pretendard 한글 폰트 불러오기 (CSS 맨 위에 위치) */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

:root{
  --gp-bg:        #FAFBFC;
  --gp-surface:   #FFFFFF;
  --gp-ink:       #151B26;
  --gp-muted:     #6B7280;
  --gp-line:      #E6E9EF;
  --gp-accent:    #1E3A66;   /* 포인트 컬러 — 여기 한 줄만 바꾸면 전체 변경 */
  --gp-accent-ink:#16294A;
  --gp-soft:      #EAEFF7;
  --gp-radius:    14px;
  --gp-shadow:    0 1px 2px rgba(21,27,38,.04), 0 10px 28px rgba(21,27,38,.06);
}

/* ---- 기본 타이포 ---- */
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  color:var(--gp-ink); background:var(--gp-bg);
  -webkit-font-smoothing:antialiased; letter-spacing:-0.01em; line-height:1.7;
}
h1,h2,h3,.entry-title{ letter-spacing:-0.025em; line-height:1.25; color:var(--gp-ink); font-weight:700; }

/* ---- 헤더 / 내비게이션 ---- */
.site-header{
  background:rgba(250,251,249,.85); backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--gp-line);
}
.main-title{ font-weight:800; letter-spacing:-0.03em; }
.main-title a{ color:var(--gp-ink); }
.site-description{ color:var(--gp-muted); }
.main-navigation{ background:transparent; }
.main-navigation a{
  color:var(--gp-ink); font-weight:500; border-radius:9px; white-space:nowrap;
  transition:background .15s ease,color .15s ease;
}
.main-navigation a:hover{ background:var(--gp-soft); color:var(--gp-accent-ink); }

/* ---- 블로그 글 카드 (.post = GeneratePress 글 article) ---- */
.post{
  background:var(--gp-surface); border:1px solid var(--gp-line);
  border-radius:var(--gp-radius); overflow:hidden; box-shadow:var(--gp-shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.post:hover{ transform:translateY(-3px);
  box-shadow:0 2px 4px rgba(24,32,27,.05),0 18px 42px rgba(24,32,27,.10); }
.post .post-image img{ border-radius:0; }   /* 카드 상단 꽉 채우기 */
.inside-article{ padding:20px 22px 22px; }
.entry-title{ font-size:18.5px; margin:0 0 8px; }
.entry-title a{ color:var(--gp-ink); text-decoration:none; }
.entry-title a:hover{ color:var(--gp-accent-ink); }
.entry-summary,.entry-content p{ color:var(--gp-muted); }
.entry-meta{ font-size:13px; color:var(--gp-muted); }
.entry-meta a{ color:var(--gp-muted); }
/* 카테고리 라벨 강조 (GeneratePress 글 메타의 카테고리 링크) */
.entry-meta .cat-links a{ color:var(--gp-accent); font-weight:700; text-decoration:none; }

/* 콘텐츠 본문 링크/이미지 */
.entry-content a{ color:var(--gp-accent-ink); text-underline-offset:3px; }
.entry-content img{ border-radius:12px; }

/* ---- 사이드바 위젯 ---- */
.widget{
  background:var(--gp-surface); border:1px solid var(--gp-line);
  border-radius:var(--gp-radius); padding:22px; box-shadow:var(--gp-shadow);
}
.widget-title{
  font-size:14px; font-weight:700; letter-spacing:.02em; margin:0 0 16px;
  padding-bottom:12px; border-bottom:1px solid var(--gp-line);
}
.widget a{ color:var(--gp-ink); text-decoration:none; }
.widget a:hover{ color:var(--gp-accent-ink); }
/* 태그 클라우드를 알약 형태로 */
.widget .tagcloud a,.wp-block-tag-cloud a{
  display:inline-block; font-size:13.5px !important; color:var(--gp-muted);
  border:1px solid var(--gp-line); padding:5px 11px; border-radius:999px; margin:0 6px 8px 0;
}
.widget .tagcloud a:hover{ color:var(--gp-accent-ink); border-color:#CFE2D5; background:var(--gp-soft); }

/* ---- 버튼 (GeneratePress / 구텐베르크 공용) ---- */
.button,.wp-block-button__link,input[type="submit"]{
  display:inline-flex; align-items:center; gap:7px; background:var(--gp-accent);
  color:#fff; text-decoration:none; font-weight:600; line-height:1;
  padding:12px 18px; border-radius:10px; border:0; cursor:pointer;
  box-shadow:0 1px 2px rgba(22,41,74,.28), 0 6px 16px rgba(22,41,74,.20);
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}
.button:hover,.wp-block-button__link:hover,input[type="submit"]:hover{
  background:var(--gp-accent-ink); color:#fff; transform:translateY(-1px);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent; color:var(--gp-ink); border:1px solid var(--gp-line); box-shadow:none;
}

/* ---- 카테고리/검색 인풋 ---- */
input[type="email"],input[type="text"],input[type="search"]{
  border:1px solid var(--gp-line); border-radius:9px; padding:11px 13px;
  font-family:inherit; font-size:14px;
}

/* ---- 푸터 ---- */
.site-footer,.site-info{ background:var(--gp-surface); color:var(--gp-muted); }
.site-footer{ border-top:1px solid var(--gp-line); }
.site-info a{ color:var(--gp-muted); }
.site-info a:hover{ color:var(--gp-accent-ink); }

/* =========================================================
   글 상세(읽기) 페이지 — GeneratePress single post
   본문은 .entry-content 안에서 자동으로 잡힙니다
   ========================================================= */

/* 글 제목/리드 */
.single .entry-header .entry-title{ font-size:clamp(30px,4.2vw,44px); line-height:1.18; margin:0 0 18px; }
.single .entry-meta{ color:var(--gp-muted); }

/* 읽기 좋은 본문 폭 + 타이포 (single 글에만 적용) */
.single .entry-content{ font-size:17.5px; line-height:1.85; color:#27303D; }
.single .entry-content > p{ margin:0 0 22px; }
.single .entry-content h2{ font-size:26px; margin:46px 0 16px; }
.single .entry-content h3{ font-size:20px; margin:24px 0 12px; }
.single .entry-content a{ color:var(--gp-accent-ink); text-underline-offset:3px; }
.single .entry-content ul,.single .entry-content ol{ margin:0 0 22px; padding-left:22px; }
.single .entry-content li{ margin:0 0 9px; }
.single .entry-content img{ border-radius:12px; }

/* 인용구 */
.single .entry-content blockquote{
  margin:28px 0; padding:6px 0 6px 24px; border-left:3px solid var(--gp-accent);
  font-size:20px; line-height:1.6; color:var(--gp-ink); font-weight:600;
}

/* 표 (구텐베르크 표 블록 / 본문 table 자동 적용) */
.single .entry-content table{ width:100%; border-collapse:collapse; font-size:15.5px; border:1px solid var(--gp-line); border-radius:12px; overflow:hidden; }
.single .entry-content thead th{ background:var(--gp-soft); color:var(--gp-accent-ink); font-weight:700; text-align:left; padding:13px 16px; }
.single .entry-content td{ padding:13px 16px; border-top:1px solid var(--gp-line); }
.single .entry-content tbody tr:nth-child(even){ background:#FAFBFD; }

/* 핵심 요약 박스 — 그룹 블록에 '추가 CSS 클래스: key-box' */
.key-box{ background:var(--gp-soft); border:1px solid #D7E0F0; border-radius:var(--gp-radius); padding:24px 26px; margin:30px 0; }
.key-box ul{ list-style:none; margin:0; padding:0; }
.key-box li{ position:relative; padding-left:30px; margin-bottom:11px; }
.key-box li::before{ content:"✓"; position:absolute; left:0; top:0; color:#fff; background:var(--gp-accent); width:20px; height:20px; border-radius:6px; display:grid; place-items:center; font-size:13px; font-weight:800; }

/* 주의/면책 콜아웃 — 그룹 블록에 '추가 CSS 클래스: callout' */
.callout{ background:var(--gp-surface); border:1px solid var(--gp-line); border-left:4px solid var(--gp-accent); border-radius:10px; padding:18px 20px; margin:30px 0; font-size:15px; color:var(--gp-muted); }
.callout b{ color:var(--gp-ink); }

/* 출처 박스 — 그룹 블록에 '추가 CSS 클래스: references' */
.references{ background:#F6F8FB; border:1px solid var(--gp-line); border-radius:12px; padding:22px 24px; margin:40px 0 0; font-size:13.5px; color:var(--gp-muted); }

/* 저자 소개 (GeneratePress 작성자 박스 활성화 시) */
.author-info,.author-bio{ background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:var(--gp-radius); padding:24px; box-shadow:var(--gp-shadow); }

/* =========================================================
   참고
   - 위젯 카드 색을 진하게(뉴스레터 박스처럼) 만들고 싶으면
     해당 위젯에 추가 클래스를 주고 .widget.newsletter 처럼 따로 스타일링.
   - 추천(피처드) 글 영역은 보통 별도 페이지빌더/블록으로 구성되므로,
     그 컨테이너에 'featured' 클래스를 주면 시안과 동일하게 꾸밀 수 있습니다.
   - 글 본문의 '핵심 요약 / 콜아웃 / 출처' 박스는 에디터에서 그룹 블록을 만들고
     우측 '고급 → 추가 CSS 클래스'에 key-box / callout / references 를 넣으면 됩니다.
   ========================================================= */


/* ============================================================
   레이아웃 (홈/목록/글 페이지) — 템플릿이 출력하는 .pill-* 마크업용
   ============================================================ */

/* 공통 컨테이너 */
.pill-wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* ---- 홈: 본문 + 사이드바 ---- */
.pill-home{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start;padding-top:40px;padding-bottom:24px;}
.pill-main{min-width:0;}

/* 추천(히어로) 글 */
.pill-featured{display:grid;grid-template-columns:1.15fr 1fr;background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:18px;overflow:hidden;box-shadow:var(--gp-shadow);text-decoration:none;margin-bottom:30px;transition:transform .18s,box-shadow .18s;}
.pill-featured:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,27,38,.05),0 18px 42px rgba(21,27,38,.10);}
.pill-fimg{display:block;min-height:300px;background:repeating-linear-gradient(135deg,#EEF1F6 0 14px,#E6EBF2 14px 28px);}
.pill-fimg img{width:100%;height:100%;object-fit:cover;display:block;}
.pill-fbody{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:38px 40px;}
.pill-badge{align-self:flex-start;font-size:12.5px;font-weight:700;color:var(--gp-accent-ink);background:var(--gp-soft);border:1px solid #D7E0F0;padding:5px 12px;border-radius:999px;}
.pill-ftitle{font-size:clamp(22px,2.6vw,30px);font-weight:700;color:var(--gp-ink);line-height:1.3;letter-spacing:-0.025em;}
.pill-fexc{font-size:16px;color:var(--gp-muted);line-height:1.6;}

/* 카드 그리드 */
.pill-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.pill-card{display:flex;flex-direction:column;background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:14px;overflow:hidden;box-shadow:var(--gp-shadow);text-decoration:none;transition:transform .18s,box-shadow .18s;}
.pill-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(21,27,38,.05),0 18px 42px rgba(21,27,38,.10);}
.pill-thumb{display:block;height:172px;background:repeating-linear-gradient(135deg,#EEF1F6 0 14px,#E6EBF2 14px 28px);}
.pill-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.pill-body{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;flex:1 1 auto;}
.pill-cat{font-size:12.5px;font-weight:700;color:var(--gp-accent);}
.pill-title{font-size:18.5px;font-weight:700;color:var(--gp-ink);line-height:1.38;letter-spacing:-0.02em;}
.pill-card:hover .pill-title{color:var(--gp-accent-ink);}
.pill-excerpt{font-size:14.5px;color:var(--gp-muted);line-height:1.6;}
.pill-meta{font-size:13px;color:var(--gp-muted);margin-top:auto;padding-top:4px;}

/* 영역 제목 */
.pill-areahead{display:flex;align-items:baseline;justify-content:space-between;margin:14px 2px 18px;}
.pill-areahead h2{font-size:20px;margin:0;}
.pill-areahead a{font-size:14px;font-weight:600;color:var(--gp-accent-ink);text-decoration:none;}

/* ---- 사이드바 위젯 ---- */
.pill-side{position:sticky;top:88px;display:grid;gap:20px;}
.pill-widget{background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:14px;padding:22px;box-shadow:var(--gp-shadow);}
.pill-wtitle{font-size:14px;font-weight:700;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--gp-line);}
.pill-widget.dark{background:var(--gp-ink);border-color:var(--gp-ink);color:#fff;}
.pill-widget.dark .pill-wtitle{color:#fff;border-color:rgba(255,255,255,.14);}
.pill-widget.dark p{color:rgba(255,255,255,.66);font-size:14px;margin:0 0 14px;}
.pill-widget.dark input{width:100%;box-sizing:border-box;border:0;border-radius:9px;padding:11px 13px;font-size:14px;font-family:inherit;margin-bottom:9px;}
.pill-widget.dark .button{width:100%;}

/* ---- 목록(아카이브) 페이지 헤더 ---- */
.pill-archhead{padding:44px 0 8px;}
.pill-archhead .eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gp-accent);margin-bottom:12px;}
.pill-archhead h1{font-size:clamp(30px,4.4vw,44px);margin:0 0 12px;}
.pill-archhead .lead{font-size:17px;color:var(--gp-muted);margin:0;max-width:620px;}
.pill-archive{padding-top:30px;padding-bottom:24px;}
.pill-grid-3{grid-template-columns:repeat(3,1fr);}

/* 페이지네이션 */
.pill-pager{display:flex;gap:6px;justify-content:center;margin:40px 0 0;}
.pill-pager .page-numbers{min-width:40px;height:40px;padding:0 12px;display:grid;place-items:center;border:1px solid var(--gp-line);border-radius:10px;background:var(--gp-surface);color:var(--gp-ink);text-decoration:none;font-size:14.5px;font-weight:600;}
.pill-pager .page-numbers.current{background:var(--gp-accent);color:#fff;border-color:var(--gp-accent);}
.pill-pager a.page-numbers:hover{background:var(--gp-soft);color:var(--gp-accent-ink);}

/* ---- 글 상세 ---- */
.pill-single{max-width:760px;margin:0 auto;padding:8px 28px 40px;}
.pill-single .pill-cat{display:inline-block;margin:18px 0 14px;}
.pill-single h1{font-size:clamp(30px,4.2vw,44px);line-height:1.18;margin:0 0 18px;}
.pill-deck{font-size:18.5px;color:var(--gp-muted);line-height:1.6;margin:0 0 24px;}
.pill-byline{display:flex;align-items:center;gap:12px;padding-bottom:26px;border-bottom:1px solid var(--gp-line);font-size:13.5px;color:var(--gp-muted);}
.pill-byline .av{width:42px;height:42px;border-radius:50%;background:var(--gp-soft);border:1px solid #D4DEEE;}
.pill-hero-img{margin:28px 0;border-radius:16px;overflow:hidden;border:1px solid var(--gp-line);}
.pill-hero-img img{width:100%;display:block;}

/* 반응형 */
@media (max-width:980px){
  .pill-home{grid-template-columns:1fr;}
  .pill-featured{grid-template-columns:1fr;}
  .pill-side{position:static;}
  .pill-grid-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .pill-grid,.pill-grid-3{grid-template-columns:1fr;}
}


/* ---- 푸터 (GeneratePress 푸터 영역을 Pillspec 디자인으로) ---- */
.site-info{background:var(--gp-surface) !important;border-top:1px solid var(--gp-line);text-align:left;}
.site-info .inside-site-info,
.site-info .copyright-bar{display:block;max-width:none;padding:0;}
.site-info .inside-site-info{max-width:1180px;margin:0 auto;padding:0 28px;}
.pill-foot{display:flex;width:100%;box-sizing:border-box;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:34px 0;color:var(--gp-muted);font-size:13.5px;}
.pill-foot-links{display:flex;gap:20px;}
.pill-foot-links a{color:var(--gp-muted);text-decoration:none;}
.pill-foot-links a:hover{color:var(--gp-accent-ink);}


/* ---- 우리 템플릿 페이지(홈/목록/글)는 단일 컬럼(풀폭)으로 ----
   GeneratePress가 콘텐츠를 좌우 2단으로 만드는 것을 끕니다 */
.home .site-content,
.blog .site-content,
.archive .site-content,
.single .site-content{display:block;}

/* ---- 홈 상단 카테고리 칩 바 ---- */
.pill-chips{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0 0;}
.pill-chip{font-size:14px;font-weight:600;color:var(--gp-muted);text-decoration:none;padding:7px 14px;border-radius:999px;border:1px solid var(--gp-line);background:var(--gp-surface);transition:all .15s;white-space:nowrap;}
.pill-chip:hover{color:var(--gp-accent-ink);border-color:#CBD5E6;background:var(--gp-soft);}
.pill-chip.is-active{color:#fff;background:var(--gp-accent);border-color:var(--gp-accent);}


/* ---- 질문 위젯 입력칸/안내문 ---- */
.pill-widget.dark .pill-ask-input{width:100%;box-sizing:border-box;border:0;border-radius:9px;padding:12px 14px;font-size:14px;font-family:inherit;color:#151B26;margin-bottom:9px;}
.pill-widget.dark .pill-ask-input::placeholder{color:#9AA0AA;}
.pill-widget.dark .pill-ask-fine{font-size:12px;color:rgba(255,255,255,.5);margin:11px 0 0;line-height:1.5;}


/* ============================================================
   Pillspec 카테고리별 아카이브 및 FAQ 상세 스타일 추가
   ============================================================ */

/* 1) 원료 백과 (Ingredients) */
.encyclo-search{max-width:1180px; margin:24px auto 0; padding:0 28px;}
.encyclo-search .box{position:relative; max-width:560px;}
.encyclo-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--gp-muted); pointer-events:none;}
.encyclo-search input{width:100%; box-sizing:border-box; border:1px solid var(--gp-line); border-radius:12px; background:var(--gp-surface); padding:15px 16px 15px 46px; font-size:15.5px; font-family:inherit; color:var(--gp-ink); box-shadow:var(--gp-shadow);}
.encyclo-search input::placeholder{color:var(--gp-muted);}
.encyclo-search input:focus{outline:none; border-color:var(--gp-accent);}

.index-bar{position:sticky; top:67px; z-index:40; background:rgba(250,251,252,.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--gp-line); margin-top:26px;}
.index-bar .inner{max-width:1180px; margin:0 auto; padding:12px 28px; display:flex; gap:5px; flex-wrap:wrap;}
.index-bar a{width:34px; height:34px; display:grid; place-items:center; border-radius:9px; font-size:15px; font-weight:600; color:var(--gp-muted); text-decoration:none; transition:all .15s;}
.index-bar a:hover, .index-bar a.is-active{background:var(--gp-accent); color:#fff;}

.letter-group{max-width:1180px; margin:38px auto 0; padding:0 28px;}
.letter-group .lh{display:flex; align-items:baseline; gap:14px; padding-bottom:12px; border-bottom:1px solid var(--gp-line); margin-bottom:20px;}
.letter-group .lh .big{font-size:30px; font-weight:800; color:var(--gp-accent); line-height:1;}
.letter-group .lh .cnt{font-size:13.5px; color:var(--gp-muted);}
.entry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.entry{background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:12px; padding:18px 20px; text-decoration:none; display:flex; flex-direction:column; gap:8px; transition:transform .15s,box-shadow .15s,border-color .15s;}
.entry:hover{transform:translateY(-2px); border-color:#CBD5E6; box-shadow:var(--gp-shadow);}
.entry .name{font-size:17px; font-weight:700; color:var(--gp-ink); display:flex; align-items:center; gap:8px;}
.entry .name .en{font-size:12.5px; font-weight:500; color:var(--gp-muted);}
.entry .def{font-size:14px; color:var(--gp-muted); line-height:1.55; margin:0;}
.entry .tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:2px;}
.entry .tags span{font-size:11.5px; font-weight:600; color:var(--gp-accent-ink); background:var(--gp-soft); padding:3px 9px; border-radius:999px; white-space:nowrap;}

@media (max-width:980px){ .entry-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:680px){ .entry-grid{grid-template-columns:1fr;} }

/* 2) 성분 분석 (Analysis) */
.bars{display:grid; gap:11px;}
.bars .b{display:grid; grid-template-columns:104px 1fr 46px; align-items:center; gap:12px;}
.bars .bl{font-size:13px; color:var(--gp-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.bars .bt{height:8px; background:var(--gp-line); border-radius:99px; overflow:hidden;}
.bars .bt i{display:block; height:100%; background:var(--gp-accent); border-radius:99px;}
.bars .bt i.mid{background:#5C7CB0;}
.bars .bt i.low{background:#A9BAD4;}
.bars .bv{font-size:13px; font-weight:700; color:var(--gp-accent-ink); text-align:right;}

.analysis-feature{max-width:1180px; margin:30px auto 0; padding:0 28px;}
.analysis-feature .inner{display:grid; grid-template-columns:1fr 380px; background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:16px; overflow:hidden; box-shadow:var(--gp-shadow);}
.analysis-feature .txt{padding:38px 40px; display:flex; flex-direction:column; gap:12px;}
.analysis-feature .rtag{align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--gp-accent-ink); background:var(--gp-soft); border:1px solid #D7E0F0; padding:5px 11px; border-radius:999px;}
.analysis-feature h2{font-size:clamp(22px,2.6vw,28px); color:var(--gp-ink); line-height:1.3; margin:0;}
.analysis-feature h2 a{color:inherit; text-decoration:none;}
.analysis-feature .txt p{font-size:15.5px; color:var(--gp-muted); margin:0;}
.analysis-feature .src{font-size:13px; color:var(--gp-muted); display:flex; align-items:center; gap:8px;}
.analysis-feature .src .pip{width:6px; height:6px; border-radius:50%; background:var(--gp-accent);}
.analysis-feature .panel{background:#F6F8FB; border-left:1px solid var(--gp-line); padding:34px 32px; display:flex; flex-direction:column; justify-content:center;}
.analysis-feature .panel .ph{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gp-muted); margin-bottom:16px;}

.analysis-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:1180px; margin:30px auto 0; padding:0 28px;}
.a-card{background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:var(--gp-radius); padding:26px 28px; box-shadow:var(--gp-shadow); text-decoration:none; display:flex; flex-direction:column; gap:14px; transition:transform .18s,box-shadow .18s;}
.a-card:hover{transform:translateY(-3px); box-shadow:0 2px 4px rgba(21,27,38,.05),0 18px 42px rgba(21,27,38,.10);}
.a-card .top{display:flex; align-items:center; justify-content:space-between;}
.a-card .cat{font-size:12.5px; font-weight:700; color:var(--gp-accent);}
.a-card .kind{font-size:11.5px; font-weight:700; color:var(--gp-muted); border:1px solid var(--gp-line); padding:3px 9px; border-radius:999px;}
.a-card h3{font-size:19px; color:var(--gp-ink); line-height:1.35; margin:0;}
.a-card .sum{font-size:14.5px; color:var(--gp-muted); margin:0; line-height:1.6;}
.a-card .foot{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--gp-muted); margin-top:auto; padding-top:14px; border-top:1px solid var(--gp-line);}
.a-card .foot .cite{color:var(--gp-accent-ink); font-weight:600;}

@media (max-width:880px){
  .analysis-feature .inner{grid-template-columns:1fr;}
  .analysis-feature .panel{border-left:0; border-top:1px solid var(--gp-line);}
  .analysis-grid{grid-template-columns:1fr;}
}

/* 3) 건강 정보 (Health) */
.topics-head{max-width:1180px; margin:30px auto 14px; padding:0 28px; font-size:14px; font-weight:700; color:var(--gp-ink);}
.topics{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; max-width:1180px; margin:0 auto; padding:0 28px;}
.topic{background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:var(--gp-radius); padding:20px 14px; text-decoration:none; display:flex; flex-direction:column; align-items:center; gap:9px; text-align:center; transition:transform .15s,box-shadow .15s,border-color .15s;}
.topic:hover{transform:translateY(-2px); border-color:#CBD5E6; box-shadow:var(--gp-shadow);}
.topic .ic{width:46px; height:46px; border-radius:50%; background:var(--gp-soft); display:grid; place-items:center;}
.topic .t{font-size:14.5px; font-weight:700; color:var(--gp-ink); white-space:nowrap;}
.topic .c{font-size:12px; color:var(--gp-muted); white-space:nowrap;}

.guide-feature{max-width:1180px; margin:36px auto 0; padding:0 28px;}
.guide-feature a{display:grid; grid-template-columns:1fr 1fr; background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:18px; overflow:hidden; box-shadow:var(--gp-shadow); text-decoration:none; transition:transform .18s,box-shadow .18s;}
.guide-feature a:hover{transform:translateY(-3px); box-shadow:0 2px 4px rgba(21,27,38,.05),0 18px 42px rgba(21,27,38,.10);}
.guide-feature .img{min-height:320px; background:repeating-linear-gradient(135deg,#EEF1F6 0 14px,#E6EBF2 14px 28px); display:grid; place-items:center; overflow:hidden;}
.guide-feature .img img{width:100%; height:100%; object-fit:cover; display:block;}
.guide-feature .img .ph-label{font-family:ui-monospace,Menlo,monospace; font-size:12px; color:var(--gp-muted); background:var(--gp-surface); padding:5px 11px; border-radius:8px; border:1px solid var(--gp-line);}
.guide-feature .body{padding:44px 46px; display:flex; flex-direction:column; justify-content:center; gap:14px;}
.guide-feature .gtag{align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:.04em; color:#fff; background:var(--gp-accent); padding:5px 12px; border-radius:999px;}
.guide-feature h2{font-size:clamp(24px,3vw,34px); color:var(--gp-ink); line-height:1.25; margin:0;}
.guide-feature h2 a{color:inherit; text-decoration:none;}
.guide-feature .body p{font-size:16.5px; color:var(--gp-muted); margin:0; line-height:1.65;}
.guide-feature .m{font-size:13.5px; color:var(--gp-muted);}

.sec-title{max-width:1180px; margin:48px auto 0; padding:0 28px; font-size:21px; font-weight:700;}

@media (max-width:1040px){ .topics{grid-template-columns:repeat(3,1fr);} }
@media (max-width:900px){ .guide-feature a{grid-template-columns:1fr;} }
@media (max-width:560px){ .topics{grid-template-columns:repeat(2,1fr);} }

/* 4) 제품 리뷰 (Reviews) */
.stars{color:#D3DAE6; font-size:15px; letter-spacing:1px; line-height:1;}
.stars b{color:var(--gp-accent); font-weight:400;}
.verdict{font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px; white-space:nowrap;}
.verdict.rec{color:#fff; background:var(--gp-accent);}
.verdict.ok{color:var(--gp-muted); background:#F0F2F6;}
.verdict.hold{color:#8A6D3B; background:#F6EFE0;}

.review-feature{max-width:1180px; margin:30px auto 0; padding:0 28px;}
.review-feature .inner{display:grid; grid-template-columns:1fr 1.1fr; background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:18px; overflow:hidden; box-shadow:var(--gp-shadow);}
.review-feature .img{min-height:340px; background:repeating-linear-gradient(135deg,#EEF1F6 0 14px,#E6EBF2 14px 28px); display:grid; place-items:center; position:relative; overflow:hidden;}
.review-feature .img img{width:100%; height:100%; object-fit:cover; display:block;}
.review-feature .img .ph-label{font-family:ui-monospace,Menlo,monospace; font-size:12px; color:var(--gp-muted); background:var(--gp-surface); padding:5px 11px; border-radius:8px; border:1px solid var(--gp-line);}
.review-feature .choice{position:absolute; top:18px; left:18px; font-size:12px; font-weight:700; letter-spacing:.04em; color:#fff; background:var(--gp-accent); padding:6px 13px; border-radius:999px; white-space:nowrap; z-index:10;}
.review-feature .body{padding:40px 44px; display:flex; flex-direction:column; justify-content:center; gap:16px;}
.review-feature .brand{font-size:13.5px; color:var(--gp-muted); font-weight:600;}
.review-feature h2{font-size:clamp(23px,2.8vw,30px); color:var(--gp-ink); line-height:1.25; margin:-6px 0 0;}
.review-feature h2 a{color:inherit; text-decoration:none;}
.review-feature .score-row{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.review-feature .score{font-size:46px; font-weight:800; color:var(--gp-accent); line-height:1;}
.review-feature .score small{font-size:18px; font-weight:600; color:var(--gp-muted);}
.review-feature .pros{display:flex; gap:8px; flex-wrap:wrap;}
.review-feature .pros span{font-size:13px; font-weight:600; color:var(--gp-accent-ink); background:var(--gp-soft); padding:6px 12px; border-radius:8px;}
.review-feature .verdict-line{font-size:15.5px; color:var(--gp-muted); margin:0; line-height:1.65;}

.sort-row{display:flex; align-items:center; justify-content:space-between; max-width:1180px; margin:42px auto 0; padding:0 28px; flex-wrap:wrap; gap:12px;}
.sort-row h3{font-size:21px; margin:0;}
.sort-row .sorts{display:flex; gap:6px;}
.sort-row .sorts a{font-size:13.5px; font-weight:600; color:var(--gp-muted); text-decoration:none; padding:7px 13px; border-radius:8px; border:1px solid var(--gp-line); background:var(--gp-surface); transition:all .15s;}
.sort-row .sorts a.is-active{color:#fff; background:var(--gp-accent); border-color:var(--gp-accent);}

.review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1180px; margin:22px auto 0; padding:0 28px;}
.r-card{background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:var(--gp-radius); overflow:hidden; box-shadow:var(--gp-shadow); text-decoration:none; display:flex; flex-direction:column; transition:transform .18s,box-shadow .18s;}
.r-card:hover{transform:translateY(-3px); box-shadow:0 2px 4px rgba(21,27,38,.05),0 18px 42px rgba(21,27,38,.10);}
.r-card .thumb{height:180px; background:repeating-linear-gradient(135deg,#EEF1F6 0 14px,#E6EBF2 14px 28px); display:grid; place-items:center; position:relative; overflow:hidden;}
.r-card .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.r-card .thumb .ph-label{font-family:ui-monospace,Menlo,monospace; font-size:11.5px; color:var(--gp-muted); background:var(--gp-surface); padding:4px 10px; border-radius:7px; border:1px solid var(--gp-line);}
.r-card .thumb .verdict{position:absolute; top:12px; right:12px; z-index:10;}
.r-card .body{padding:18px 20px 20px; display:flex; flex-direction:column; gap:9px; flex:1 1 auto;}
.r-card .brand{font-size:12.5px; color:var(--gp-muted); font-weight:600;}
.r-card .name{font-size:17px; font-weight:700; color:var(--gp-ink); line-height:1.35; margin:-3px 0 0;}
.r-card .rate{display:flex; align-items:center; gap:9px;}
.r-card .rate .num{font-size:14px; font-weight:700; color:var(--gp-accent-ink);}
.r-card .sum{font-size:14px; color:var(--gp-muted); margin:0; line-height:1.55;}
.r-card .foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:12px; border-top:1px solid var(--gp-line); font-size:12.5px; color:var(--gp-muted);}
.r-card .foot .price{font-weight:700; color:var(--gp-ink);}

@media (max-width:980px){
  .review-grid{grid-template-columns:repeat(2,1fr);}
  .review-feature .inner{grid-template-columns:1fr;}
}
@media (max-width:680px){
  .review-grid{grid-template-columns:1fr;}
}

/* 5) FAQ 아코디언 스타일 (Single.php 및 본문 공용) */
.faq{margin:46px 0 0;}
.faq > h2{font-size:24px; margin:0 0 16px;}
.faq details{border:1px solid var(--gp-line); border-radius:12px; background:var(--gp-surface); margin-bottom:10px; overflow:hidden;}
.faq summary{list-style:none; cursor:pointer; padding:17px 20px; font-size:16.5px; font-weight:700; color:var(--gp-ink); display:flex; justify-content:space-between; align-items:center; gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .chev{width:10px; height:10px; border-right:2px solid var(--gp-muted); border-bottom:2px solid var(--gp-muted); transform:rotate(45deg); transition:transform .2s; flex:0 0 auto; margin-top:-3px;}
.faq details[open] summary .chev{transform:rotate(-135deg); margin-top:3px;}
.faq details[open] summary{color:var(--gp-accent-ink);}
.faq .ans{padding:0 20px 18px; font-size:15.5px; color:#27303D; line-height:1.75; word-break:keep-all;}



/* ============================================================
   v1.6 보정: 로고 P박스 / 미리보기 2줄 고정 / 칩 간격
   ============================================================ */

/* 헤더 P 로고 박스 (이미지 업로드 없이 CSS로 자동 생성) */
.site-header .site-branding{display:grid; grid-template-columns:auto 1fr; column-gap:11px; align-items:center;}
.site-header .site-branding::before{
  content:"P"; grid-row:1 / span 2; align-self:center;
  width:38px; height:38px; border-radius:9px; background:var(--gp-accent);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:16px; line-height:1;
}

/* 히어로 미리보기 = 2줄 고정 */
.pill-fexc{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}
/* 카드 미리보기 = 2줄 고정 */
.pill-excerpt{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden;
}

/* 칩 바: 히어로와 겹치지 않게 아래 여백 */
.pill-chips{padding:16px 0 20px;}


/* v1.6.2 — 칩 바 제거 후 히어로 상단 여백 */
.pill-featured{margin-top:34px;}


/* v1.6.3 — 질문 위젯 버튼: GeneratePress 기본 회색 버튼을 남색으로 강제 */
.pill-widget.dark .pill-ask-btn{
  display:flex; width:100%; box-sizing:border-box; justify-content:center; align-items:center;
  background:var(--gp-accent) !important; color:#fff !important;
  border:0; padding:13px 16px; border-radius:9px;
  font-weight:600; font-size:14.5px; line-height:1; text-decoration:none;
  box-shadow:none;
}
.pill-widget.dark .pill-ask-btn:hover{
  background:var(--gp-accent-ink) !important; color:#fff !important; transform:none;
}


/* ============================================================
   v1.7 — 제품 리뷰 글 컴포넌트 (블록 패턴 'Pillspec 제품 리뷰'용)
   구텐베르크 그룹/컬럼 마크업에 맞춰 descendant 선택자 사용
   ============================================================ */
.single .entry-content .verdict-card{display:flex; flex-wrap:wrap; gap:26px; align-items:center; background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:18px; padding:28px 30px; box-shadow:var(--gp-shadow); margin:30px 0;}
.single .entry-content .verdict-card .score-col{text-align:center; padding-right:26px; border-right:1px solid var(--gp-line); min-width:150px;}
.single .entry-content .verdict-card .verdict-col{flex:1; min-width:240px;}
.single .entry-content .score-num{font-size:48px; font-weight:800; color:var(--gp-accent); line-height:1; margin:0;}
.single .entry-content .score-num small{font-size:18px; font-weight:600; color:var(--gp-muted);}
.single .entry-content .stars{color:var(--gp-accent); font-size:18px; letter-spacing:2px; margin:6px 0 0;}
.single .entry-content .vbadge{display:inline-block; font-size:12.5px; font-weight:700; padding:5px 13px; border-radius:999px; margin:12px 0 !important; margin-block-start:12px !important; margin-block-end:12px !important; }
.single .entry-content .vbadge.rec{color:#fff; background:var(--gp-accent);}
.single .entry-content .vbadge.ok{color:var(--gp-muted); background:#F0F2F6;}
.single .entry-content .vbadge.hold{color:#8A6D3B; background:#F6EFE0;}

/* 제품 정보 표 (core/table 에 'spec' 클래스) */
.single .entry-content .wp-block-table.spec table{border-collapse:collapse; width:100%;}
.single .entry-content .wp-block-table.spec td{border:1px solid var(--gp-line); padding:12px 16px; color:#27303D;}
.single .entry-content .wp-block-table.spec td:first-child{background:var(--gp-soft); color:var(--gp-accent-ink); font-weight:700; width:140px;}

/* 장점/단점 카드 (group 에 'pc'/'pros'/'cons' 클래스) */
.single .entry-content .pc{border:1px solid var(--gp-line); border-radius:12px; padding:18px 22px; background:var(--gp-surface); height:100%;}
.single .entry-content .pc h4,.single .entry-content .pc h3{font-size:15px; margin:0 0 10px;}
.single .entry-content .pc.pros h4,.single .entry-content .pc.pros h3{color:var(--gp-accent-ink);}
.single .entry-content .pc.cons h4,.single .entry-content .pc.cons h3{color:#8A6D3B;}

/* 최종 총평 (group 에 'final' 클래스) */
.single .entry-content .final{background:var(--gp-ink); border-radius:16px; padding:26px 30px; margin:30px 0;}
.single .entry-content .final h4,.single .entry-content .final h3,.single .entry-content .final p{color:#fff;}
.single .entry-content .final p{font-size:17px; line-height:1.7; margin:0;}


/* v1.7.1 — 홈 카드 미리보기: 글자 한 단계 작게 + 줄간격 좁게 */
.pill-card .pill-excerpt{font-size:13.5px; line-height:1.45;}


/* v1.8 — 히어로 작성자/날짜 회색 고정 (링크 파란색 방지) */
.pill-featured .pill-fauthor,
.pill-featured .pill-fauthor span{color:var(--gp-muted) !important;}

/* 소개 페이지 - 원칙 카드(그룹 .pc 재사용) 보강 */
.entry-content .about-lead{font-size:18px; color:var(--gp-muted); line-height:1.7;}


/* v1.8.1 — 성분 분석: 성분별 모아보기 칩 + 제품리뷰 검색창 */
.anl-filter{display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:6px 0 0;}
.anl-filter-label{font-size:13px; font-weight:700; color:var(--gp-muted); margin-right:4px;}

/* 제품 리뷰 검색창 */
.rev-search{max-width:1180px; margin:22px auto 0; padding:0 28px;}
.rev-search form{position:relative; max-width:520px;}
.rev-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--gp-muted); pointer-events:none;}
.rev-search input[type=search]{width:100%; box-sizing:border-box; border:1px solid var(--gp-line); border-radius:12px; background:var(--gp-surface); padding:14px 16px 14px 46px; font-size:15px; font-family:inherit; color:var(--gp-ink); box-shadow:var(--gp-shadow);}
.rev-search input[type=search]:focus{outline:none; border-color:var(--gp-accent);}
.rev-search input[type=search]::placeholder{color:var(--gp-muted);}


/* v1.9 — 글 하단 태그 알약 스타일 + 헤더 태그라인 */
.single .entry-footer{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:34px 0 0; padding-top:22px; border-top:1px solid var(--gp-line);}
.single .entry-footer .tag-label{font-size:13px; font-weight:700; color:var(--gp-ink); margin-right:2px;}
.single .entry-footer a{font-size:13.5px; color:var(--gp-muted); text-decoration:none; border:1px solid var(--gp-line); padding:6px 13px; border-radius:999px; background:var(--gp-surface); transition:all .15s;}
.single .entry-footer a:hover{color:var(--gp-accent-ink); border-color:#CBD5E6; background:var(--gp-soft);}
.single .entry-footer a::before{content:"#"; color:var(--gp-accent); margin-right:3px;}

/* 헤더 태그라인(근거로 읽는 영양제 이야기) 표시 */
.site-header .site-description{display:block; color:var(--gp-muted); font-size:12px; margin-top:1px;}


/* v1.9.2 — 썸네일 비율 고정: 대표 이미지가 칸 크기를 바꾸지 않도록 잘라서 채움 */
.pill-fimg{position:relative; overflow:hidden;}
.pill-fimg img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.pill-thumb{position:relative; overflow:hidden;}
.pill-thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.review-feature .img,.guide-feature .img{position:relative; overflow:hidden;}
.review-feature .img img,.guide-feature .img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}


/* v1.9.4 — 카테고리 페이지 헤더(.page-head)를 시안과 일치 (eyebrow 대문자·남색, 위 여백) */
.page-head{ padding:44px 0 8px; }
.page-head .eyebrow{ display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gp-accent); margin:0 0 12px; }
.page-head h1{ font-size:clamp(30px,4.4vw,44px); line-height:1.2; margin:0 0 12px; letter-spacing:-0.03em; }
.page-head .lead{ font-size:17px; color:var(--gp-muted); margin:0; max-width:620px; line-height:1.55; }
.page-head .count{ font-size:14px; color:var(--gp-muted); margin-top:14px; }


/* ============================================================
   v2.0 — 카드 호버 효과 적용
   일반 카드: 상단 남색 바 + 제목색 + 화살표 (D)
   대표(히어로/피처): 살짝 플로팅 (float)
   ============================================================ */

/* 일반 카드 (.pill-card / .r-card) — 상단 바 D */
.pill-card,.r-card{position:relative; transition:border-color .2s ease, box-shadow .2s ease;}
.pill-card::before,.r-card::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--gp-accent); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; z-index:3;}
.pill-card:hover,.r-card:hover{transform:none; box-shadow:var(--gp-shadow); border-color:#D7E0F0;}
.pill-card:hover::before,.r-card:hover::before{transform:scaleX(1);}
.pill-card:hover .pill-title{color:var(--gp-accent-ink);}
.pill-card::after{content:"자세히 보기 →"; position:absolute; right:20px; bottom:18px; font-size:13px; font-weight:700; color:var(--gp-accent); opacity:0; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease; z-index:3; pointer-events:none;}
.pill-card:hover::after{opacity:1; transform:translateY(0);}
.r-card:hover .name{color:var(--gp-accent-ink);}

/* 원료 백과 카드 (.entry) — 테두리 강조 (조밀하므로 바 대신) */
.entry:hover{transform:none; border-color:#CBD5E6; box-shadow:var(--gp-shadow);}
.entry:hover .name{color:var(--gp-accent-ink);}

/* 대표(히어로) 카드 — 아주 약한 플로팅 + 엹은 그림자, 우하단 '자세히 보기 →' */
.pill-featured{position:relative; transition:transform .2s ease, box-shadow .2s ease;}
.pill-featured:hover{transform:translateY(-2px); box-shadow:0 6px 16px rgba(21,27,38,.07);}
.pill-featured:hover .pill-ftitle{color:var(--gp-accent-ink);}
.pill-featured::after{content:"자세히 보기 →"; position:absolute; right:24px; bottom:18px; font-size:13.5px; font-weight:700; color:var(--gp-accent); opacity:0; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease; z-index:4;}
.pill-featured:hover::after{opacity:1; transform:translateY(0);}

/* 카테고리 대표(리뷰/가이드) 피처 카드 — 동일 */
.review-feature .inner,.guide-feature a{position:relative; transition:transform .2s ease, box-shadow .2s ease;}
.review-feature:hover .inner,.guide-feature a:hover{transform:translateY(-2px); box-shadow:0 6px 16px rgba(21,27,38,.07);}
.review-feature .inner::after,.guide-feature a::after{content:"자세히 보기 →"; position:absolute; right:24px; bottom:18px; font-size:13.5px; font-weight:700; color:var(--gp-accent); opacity:0; transform:translateY(6px); transition:opacity .2s ease, transform .2s ease; z-index:4;}
.review-feature:hover .inner::after,.guide-feature a:hover::after{opacity:1; transform:translateY(0);}


/* v2.2 — 글 상세: Rank Math 목차를 우측 사이드바로 / 대표이미지 숨김 */
.pill-single-wrap.has-side{max-width:1140px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:40px; align-items:start;}
.pill-single-wrap.has-side .pill-single{max-width:none; margin:0; padding:0;}
.pill-toc-side{display:none;}
.pill-single-wrap.has-side .pill-toc-side{display:block; position:sticky; top:88px;}
.pill-toc-side #rank-math-toc,.pill-toc-side .wp-block-rank-math-toc-block,.pill-toc-side nav.rank-math-toc,.pill-toc-side .rank-math-toc{background:var(--gp-surface); border:1px solid var(--gp-line); border-radius:14px; padding:18px 20px; box-shadow:var(--gp-shadow); margin:0;}
.pill-toc-side h2,.pill-toc-side h3,.pill-toc-side .rank-math-toc-title{font-size:13px !important; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--gp-muted); margin:0 0 12px !important;}
.pill-toc-side ul{list-style:none; margin:0; padding:0; display:grid; gap:2px;}
.pill-toc-side li{margin:0;}
.pill-toc-side a{color:var(--gp-muted); text-decoration:none; font-size:11px; line-height:1.3; padding:0 !important;}
.pill-toc-side a:hover{color:var(--gp-accent-ink);}
@media (max-width:980px){ .pill-single-wrap.has-side{display:block; max-width:760px; padding:0;} .pill-single-wrap.has-side .pill-single{padding:0 28px 56px;} }


/* v2.3 — 인기 글 목록(.pop-list)을 시안처럼: 순위 숫자 + 불릿/밑줄 제거 */
.pop-list{list-style:none !important; margin:0 !important; padding:0 !important; display:grid; gap:15px; counter-reset:rank;}
.pop-list li{list-style:none !important; display:flex; gap:12px; align-items:flex-start; counter-increment:rank; margin:0 !important;}
.pop-list li::before{content:counter(rank); font-weight:800; font-size:15px; color:var(--gp-accent); width:18px; flex:0 0 auto; line-height:1.5;}
.pop-list a{color:var(--gp-ink) !important; text-decoration:none !important; font-size:14.5px; font-weight:600; line-height:1.45; display:block;}
.pop-list a:hover{color:var(--gp-accent-ink) !important;}
.pop-list small{display:block; color:var(--gp-muted); font-size:12.5px; margin-top:4px; font-weight:400;}

/* 카드 하단 '자세히 보기' 자리 확보 (날짜와 겹침 방지) */
.pill-card .pill-meta{padding-right:88px;}


/* v2.4 — 핵심 요약 제목 흰색 알약 / 목차 하위항목 간격 */
.key-box h2,.key-box h3,.key-box h4,
.single .entry-content .key-box h2,
.single .entry-content .key-box h3,
.single .entry-content .key-box h4{display:inline-block; background:var(--gp-accent); color:#fff !important; padding:6px 14px; border-radius:999px; font-size:14px; font-weight:700; margin:0 0 14px;}
.pill-toc-side ul ul{gap:2px; margin-top:3px; padding-left:12px;}


/* v2.4.1 — 목차 항목 더 촘촘하게 */
.pill-toc-side li{margin:0 !important; padding:0 !important;}
.pill-toc-side ul ul{gap:1px; margin-top:2px;}
.pill-toc-side #rank-math-toc,.pill-toc-side .wp-block-rank-math-toc-block,.pill-toc-side nav.rank-math-toc,.pill-toc-side .rank-math-toc{padding:16px 18px;}

/* v2.4.1 — 핵심 요약 제목 흰색 (높은 우선순위로 강제) */
.entry-content .key-box h1,.entry-content .key-box h2,.entry-content .key-box h3,.entry-content .key-box h4,.entry-content .key-box h5,.entry-content .key-box h6,
.entry-content .key-box .wp-block-heading,
.key-box.wp-block-group h2,.key-box.wp-block-group h3,.key-box.wp-block-group h4{color:#ffffff !important; background:var(--gp-accent) !important; -webkit-text-fill-color:#ffffff !important;}


/* v2.5 — 목차: Rank Math ID 스타일을 이기도록 높은 우선순위 + !important */
.pill-toc-side #rank-math-toc a,.pill-toc-side .wp-block-rank-math-toc-block a,.pill-toc-side nav a{font-size:11px !important; line-height:1.3 !important; padding:0 !important; color:var(--gp-muted) !important;}
.pill-toc-side #rank-math-toc li,.pill-toc-side .wp-block-rank-math-toc-block li,.pill-toc-side nav li{margin:3px 0 !important; padding:0 !important; line-height:1.3 !important;}
.pill-toc-side #rank-math-toc ul,.pill-toc-side .wp-block-rank-math-toc-block ul,.pill-toc-side nav ul{margin:0 !important; padding:0 !important;}
.pill-toc-side #rank-math-toc ul ul,.pill-toc-side nav ul ul{padding-left:12px !important;}

/* v2.5 — 핵심 요약 제목 흰색 (최대 우선순위) */
.entry-content .key-box :is(h1,h2,h3,h4,h5,h6),
.entry-content .wp-block-group.key-box :is(h1,h2,h3,h4,h5,h6),
.key-box :is(h1,h2,h3,h4,h5,h6){color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; background:var(--gp-accent) !important; display:inline-block; padding:6px 14px !important; border-radius:999px !important;}
.key-box :is(h1,h2,h3,h4,h5,h6) *{color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; background:transparent !important;}


/* v2.6 — 목차 보정: 위치 살짝 아래로, 글씨 키움, 숫자/글씨 겹침 해결(리스트 패딩 복원) */
.pill-single-wrap.has-side .pill-toc-side{margin-top:54px;}
.pill-toc-side #rank-math-toc ol,.pill-toc-side #rank-math-toc ul,.pill-toc-side .wp-block-rank-math-toc-block ol,.pill-toc-side .wp-block-rank-math-toc-block ul,.pill-toc-side nav ol,.pill-toc-side nav ul{padding-left:24px !important; margin:0 !important;}
.pill-toc-side #rank-math-toc ul ul,.pill-toc-side nav ul ul,.pill-toc-side #rank-math-toc ol ol,.pill-toc-side nav ol ol{padding-left:18px !important; margin-top:3px !important;}
.pill-toc-side #rank-math-toc li,.pill-toc-side .wp-block-rank-math-toc-block li,.pill-toc-side nav li{margin:6px 0 !important; padding:0 !important; line-height:1.45 !important; display:list-item;}
.pill-toc-side #rank-math-toc a,.pill-toc-side .wp-block-rank-math-toc-block a,.pill-toc-side nav a{font-size:12.5px !important; line-height:1.45 !important; padding:0 !important; color:var(--gp-ink) !important; display:inline;} !important;}
.pill-toc-side #rank-math-toc a:hover,.pill-toc-side nav a:hover{color:var(--gp-accent-ink) !important;}


/* v2.7 — 사이드바 질문 위젯에 Contact Form 7 폼 스타일 */
.pill-widget.dark .pill-ask-form input[type=text],.pill-widget.dark .pill-ask-form input[type=email],.pill-widget.dark .pill-ask-form textarea{width:100%; box-sizing:border-box; border:0; border-radius:9px; padding:11px 13px; font-size:14px; font-family:inherit; margin-bottom:9px; color:#151B26;}
.pill-widget.dark .pill-ask-form textarea{min-height:84px; resize:vertical;}
.pill-widget.dark .pill-ask-form input[type=submit],.pill-widget.dark .pill-ask-form .wpcf7-submit{width:100%; background:var(--gp-accent) !important; color:#fff !important; border:0; border-radius:9px; padding:12px; font-weight:600; font-size:14.5px; cursor:pointer;}
.pill-widget.dark .pill-ask-form .wpcf7-response-output{color:rgba(255,255,255,.85) !important; font-size:12.5px; margin:9px 0 0 !important; border:0 !important; padding:0 !important;}
.pill-widget.dark .pill-ask-form p{margin:0;}


/* v2.8 — 핵심 내용(남색 채움 박스) : 글자 통째로 흰색이라 색 충돌 없음 */
.key-summary{ background:var(--gp-accent); color:#ffffff; border-radius:14px; padding:24px 28px; margin:30px 0; line-height:1.85; font-size:16px; }
.key-summary :is(p,li,span,strong,b,a){ color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; }
.key-summary p{ margin:0 0 12px; }
.key-summary p:last-child{ margin:0; }
.key-summary strong,.key-summary b{ font-weight:700; }
.key-summary a{ text-decoration:underline; text-underline-offset:3px; }

/* FAQ를 코어 '세부정보(details)' 블록으로 만든 경우도 시안과 동일하게 */
.faq .wp-block-details{ border:1px solid var(--gp-line); border-radius:12px; background:var(--gp-surface); margin-bottom:10px; overflow:hidden; padding:0; }
.faq .wp-block-details summary{ list-style:none; cursor:pointer; padding:17px 20px; font-size:16.5px; font-weight:700; color:var(--gp-ink); }
.faq .wp-block-details summary::-webkit-details-marker{ display:none; }
.faq .wp-block-details[open] summary{ color:var(--gp-accent-ink); }
.faq .wp-block-details > *:not(summary){ padding:2px 20px 18px; font-size:15.5px; color:#27303D; line-height:1.75; margin:0; }

/* 참고문헌 박스 제목 */
.references h3,.references h2{ font-size:15px; font-weight:700; color:var(--gp-ink); margin:0 0 12px; }
.references ul,.references ol{ margin:0; padding-left:20px; }
.references li{ margin:0 0 7px; line-height:1.6; }


/* v2.9 — '글 전체 양식' 보조 스타일 (본문 번호·요약문장·주의·면책·안내노트) */
.entry-content{ counter-reset:secnum; }
.entry-content h2.num{ counter-increment:secnum; }
.entry-content h2.num::before{ content:counter(secnum,decimal-leading-zero); display:block; font-size:14px; font-weight:800; color:var(--gp-accent); letter-spacing:.06em; margin-bottom:6px; }
.entry-content .lead-box{ background:#EEF2F8; border-left:4px solid var(--gp-accent); border-radius:8px; padding:14px 18px; margin:0 0 18px; color:#3A4452; font-size:15px; line-height:1.7; }
.entry-content .editor-note{ background:#FCF6E8; border:1px solid #F0E4C8; border-radius:10px; padding:12px 16px; margin:0 0 20px; font-size:13.5px; color:#8A6D3B; line-height:1.6; }
.entry-content .warn-box{ background:#FCF6E8; border:1px solid #F0E4C8; border-radius:12px; padding:18px 22px; margin:24px 0; }
.entry-content .warn-box p{ margin:0 0 8px; color:#7A5C1E; font-size:15px; font-weight:600; }
.entry-content .warn-box ul{ margin:0; }
.entry-content .disclaimer{ background:#F4F6F9; border-radius:12px; padding:20px 24px; margin:30px 0 0; text-align:center; font-size:13px; color:var(--gp-muted); line-height:1.7; }


/* v3.0 — 핵심 요약(남색 박스) 라벨 + 체크리스트 (전부 흰색, 색충돌 없음) */
.key-summary :is(h2,h3,h4){ display:inline-block; background:rgba(255,255,255,.16); color:#fff !important; -webkit-text-fill-color:#fff !important; padding:5px 13px; border-radius:999px; font-size:13px; font-weight:700; margin:0 0 14px; letter-spacing:.02em; }
.key-summary ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.key-summary li{ position:relative; padding-left:26px; margin:0 0 9px; color:#fff !important; -webkit-text-fill-color:#fff !important; line-height:1.65; }
.key-summary li::before{ content:"\2713"; position:absolute; left:0; top:1px; color:var(--gp-accent); background:#fff; width:18px; height:18px; border-radius:5px; display:grid; place-items:center; font-size:11px; font-weight:800; }
.key-summary li:last-child{ margin-bottom:0; }

/* v3.0 — 목차 번호와 글자 겹침 최종 해결 */
.pill-toc-side ol,
.pill-toc-side #rank-math-toc ol,
.pill-toc-side .wp-block-rank-math-toc-block ol{ list-style:decimal !important; list-style-position:outside !important; padding-left:26px !important; margin:0 !important; }
.pill-toc-side ol ol{ padding-left:20px !important; margin-top:4px !important; }
.pill-toc-side li{ padding-left:6px !important; margin:7px 0 !important; line-height:1.45 !important; text-indent:0 !important; }
.pill-toc-side li::marker{ color:var(--gp-accent) !important; font-weight:700 !important; font-size:12px; }
.pill-toc-side a{ display:inline !important; }

/* v3.0 — Rank Math FAQ 블록을 시안처럼 카드로 */
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item{ border:1px solid var(--gp-line); border-radius:12px; background:var(--gp-surface); padding:16px 20px; margin:0 0 10px; }
.entry-content .wp-block-rank-math-faq-block .rank-math-question{ font-size:16.5px; font-weight:700; color:var(--gp-ink); margin:0 0 8px; line-height:1.4; }
.entry-content .wp-block-rank-math-faq-block .rank-math-answer{ font-size:15.5px; color:#27303D; line-height:1.75; }
.entry-content .wp-block-rank-math-faq-block .rank-math-answer p{ margin:0 0 8px; }
.entry-content .wp-block-rank-math-faq-block .rank-math-answer p:last-child{ margin:0; }


/* ============================================================
   v3.1 — 시안 일치 종합 수정
   ============================================================ */

/* 1) 핵심 요약 라벨: 알약 제거 → 굵은 남색 텍스트 (시안) */
.entry-content .key-box :is(h2,h3,h4),
.key-box :is(h2,h3,h4){
  display:block !important; background:none !important;
  color:var(--gp-accent-ink) !important; -webkit-text-fill-color:var(--gp-accent-ink) !important;
  padding:0 !important; border-radius:0 !important; border:0 !important;
  font-size:15px !important; font-weight:700 !important; margin:0 0 14px !important;
}
.entry-content .key-box{ background:#EEF2F8; border:1px solid #DCE3EF; }
.entry-content .key-box li{ color:#27303D; }

/* 2) 본문 번호(01)를 제목과 같은 줄로 (시안) */
.entry-content h2.num::before{
  content:counter(secnum,decimal-leading-zero) !important;
  display:inline !important; margin:0 10px 0 0 !important;
  font-size:inherit !important; font-weight:800 !important; color:var(--gp-accent) !important; letter-spacing:0 !important;
}

/* 3) 표: 연한 헤더 + 가로줄만 (시안) */
.entry-content table,.single .entry-content table{ border-collapse:collapse; width:100%; border:0 !important; margin:18px 0; }
.entry-content thead th,.single .entry-content thead th{
  background:#F3F5FA !important; color:var(--gp-ink) !important; font-weight:700 !important;
  font-size:14px; text-align:left; padding:13px 16px;
  border:0 !important; border-bottom:1px solid var(--gp-line) !important;
}
.entry-content tbody td,.single .entry-content tbody td{
  padding:14px 16px; font-size:14.5px; color:#27303D;
  border:0 !important; border-bottom:1px solid #EEF1F5 !important;
}
.entry-content tbody tr:nth-child(even),.single .entry-content tbody tr:nth-child(even){ background:transparent !important; }

/* 4) 목차: 숫자(마커) 제거 — 겹침 영구 해결 (시안) */
.pill-toc-side ol,.pill-toc-side ul,
.pill-toc-side #rank-math-toc ol,.pill-toc-side #rank-math-toc ul,
.pill-toc-side .wp-block-rank-math-toc-block ol,.pill-toc-side .wp-block-rank-math-toc-block ul,
.pill-toc-side nav ol,.pill-toc-side nav ul{ list-style:none !important; padding-left:0 !important; margin:0 !important; }
.pill-toc-side ol ol,.pill-toc-side ul ul{ padding-left:12px !important; margin-top:4px !important; }
.pill-toc-side li{ padding-left:0 !important; margin:8px 0 !important; text-indent:0 !important; }
.pill-toc-side li::marker{ content:"" !important; }

/* 5) Rank Math FAQ 블록 — 클릭형 아코디언 (시안) */
.entry-content .wp-block-rank-math-faq-block .rank-math-question{ cursor:pointer; position:relative; padding-right:30px !important; margin:0 !important; }
.entry-content .wp-block-rank-math-faq-block .rank-math-question::after{ content:""; position:absolute; right:2px; top:8px; width:8px; height:8px; border-right:2px solid var(--gp-muted); border-bottom:2px solid var(--gp-muted); transform:rotate(45deg); transition:transform .2s; }
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item.is-open .rank-math-question::after{ transform:rotate(-135deg); top:12px; }
.entry-content .wp-block-rank-math-faq-block .rank-math-answer{ display:none; margin-top:10px !important; }
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item.is-open .rank-math-answer{ display:block; }
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item.is-open{ border-color:#D7E0F0; }

/* 6) 참고 자료 박스 — 연한 박스 + 번호 목록 (시안) */
.entry-content .references{ background:#F4F6FA; border:1px solid var(--gp-line); border-radius:14px; padding:22px 26px; margin:34px 0 0; }
.entry-content .references :is(h2,h3,h4){ font-size:15px !important; font-weight:700 !important; color:var(--gp-ink) !important; margin:0 0 12px !important; background:none !important; padding:0 !important; }
.entry-content .references ol{ margin:0 !important; padding-left:4px !important; list-style:none !important; counter-reset:refnum; }
.entry-content .references li{ counter-increment:refnum; position:relative; padding-left:24px; margin:0 0 8px; font-size:13.5px; color:var(--gp-muted); line-height:1.6; }
.entry-content .references li::before{ content:counter(refnum) "."; position:absolute; left:0; color:var(--gp-accent); font-weight:700; }

/* 7) 면책 문구 — 좌측 정렬 */
.entry-content .disclaimer{ text-align:left !important; }


/* v3.2 — 목차 숫자 완전 제거 (Rank Math 어떤 구조든, 범위 무관) */
#rank-math-toc ol,#rank-math-toc ul,
.wp-block-rank-math-toc-block ol,.wp-block-rank-math-toc-block ul,
nav.rank-math-toc ol,nav.rank-math-toc ul,.rank-math-toc ol,.rank-math-toc ul,
.pill-toc-side ol,.pill-toc-side ul{
  list-style:none !important; list-style-type:none !important;
  padding-left:0 !important; margin-left:0 !important;
}
#rank-math-toc ol ol,#rank-math-toc ul ul,
.wp-block-rank-math-toc-block ol ol,.wp-block-rank-math-toc-block ul ul,
.rank-math-toc ol ol,.pill-toc-side ol ol,.pill-toc-side ul ul{
  padding-left:12px !important; margin-top:4px !important;
}
#rank-math-toc li,.wp-block-rank-math-toc-block li,.rank-math-toc li,.pill-toc-side li{
  list-style:none !important; list-style-type:none !important; text-indent:0 !important; padding-left:0 !important;
}
#rank-math-toc li::marker,.wp-block-rank-math-toc-block li::marker,.rank-math-toc li::marker,.pill-toc-side li::marker{ content:"" !important; }
.pill-toc-side li::before{ content:none !important; }


/* ============================================================
   v3.3 — 핵심요약 라벨 막대 제거(최고 우선순위) + FAQ 클래스명 2종 지원
   ============================================================ */

/* 핵심 요약 라벨: 남색 막대/알약 완전 제거 → 굵은 남색 텍스트 */
body .entry-content .key-box :is(h1,h2,h3,h4,h5,h6),
body .key-box.wp-block-group :is(h1,h2,h3,h4,h5,h6),
.editor-styles-wrapper .key-box :is(h1,h2,h3,h4,h5,h6){
  background:none !important; background-color:transparent !important;
  color:var(--gp-accent-ink) !important; -webkit-text-fill-color:var(--gp-accent-ink) !important;
  display:block !important; padding:0 !important; border-radius:0 !important; border:0 !important;
  font-size:15px !important; font-weight:700 !important; margin:0 0 14px !important; letter-spacing:-0.01em;
}

/* Rank Math FAQ — 클래스명 2종(.rank-math-list-item / .rank-math-faq-item) 모두 카드+아코디언 */
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item,
.entry-content .wp-block-rank-math-faq-block .rank-math-faq-item{
  border:1px solid var(--gp-line); border-radius:12px; background:var(--gp-surface); padding:16px 20px; margin:0 0 10px;
}
.entry-content .wp-block-rank-math-faq-block .rank-math-question,
.entry-content .wp-block-rank-math-faq-block .rank-math-faq-title{
  font-size:16.5px !important; font-weight:700 !important; color:var(--gp-ink) !important; margin:0 !important;
  cursor:pointer; position:relative; padding-right:30px !important; line-height:1.4;
}
.entry-content .wp-block-rank-math-faq-block .rank-math-question::after,
.entry-content .wp-block-rank-math-faq-block .rank-math-faq-title::after{
  content:""; position:absolute; right:2px; top:8px; width:8px; height:8px;
  border-right:2px solid var(--gp-muted); border-bottom:2px solid var(--gp-muted); transform:rotate(45deg); transition:transform .2s;
}
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item.is-open .rank-math-question::after,
.entry-content .wp-block-rank-math-faq-block .rank-math-faq-item.is-open .rank-math-faq-title::after{ transform:rotate(-135deg); top:12px; }
.entry-content .wp-block-rank-math-faq-block .rank-math-answer,
.entry-content .wp-block-rank-math-faq-block .rank-math-faq-content{
  display:none; margin-top:10px !important; font-size:15.5px; color:#27303D; line-height:1.75;
}
.entry-content .wp-block-rank-math-faq-block .rank-math-list-item.is-open .rank-math-answer,
.entry-content .wp-block-rank-math-faq-block .rank-math-faq-item.is-open .rank-math-faq-content{ display:block; }


/* ============================================================
   v3.4 — 박스 라벨(문단형) + 본문 타이포 시안 일치
   ============================================================ */

/* 박스 라벨: 제목이 아닌 굵은 문단 → 목차 미포함 + 막대 없음 */
.entry-content .box-label,
.editor-styles-wrapper .box-label{
  font-size:15px !important; font-weight:700 !important; color:var(--gp-accent-ink) !important;
  margin:0 0 14px !important; background:none !important; padding:0 !important; line-height:1.4;
}
.entry-content .references .box-label{ font-size:14px !important; letter-spacing:.02em; }

/* 본문 타이포 — 시안(Pillspec 글 페이지)과 동일 */
.single .entry-content{ font-size:17.5px; line-height:1.85; color:#27303D; }
.single .entry-content > p{ margin:0 0 22px; }
.single .entry-content h2{ font-size:26px; margin:46px 0 16px; line-height:1.25; }
.single .entry-content h3{ font-size:20px; margin:32px 0 12px; line-height:1.3; }
.single .entry-content ul,.single .entry-content ol{ margin:0 0 22px; padding-left:22px; }
.single .entry-content li{ margin:0 0 9px; }
.single .entry-content strong{ font-weight:700; color:var(--gp-ink); }
.single .entry-content a{ color:var(--gp-accent-ink); text-underline-offset:3px; }

/* 박스 내부 글자는 박스 고유 크기 유지 */
.single .entry-content .key-box li{ font-size:15.5px; color:var(--gp-ink); }
.single .entry-content .lead-box{ font-size:15px; }
.single .entry-content .references li{ font-size:13.5px; }
.single .entry-content .disclaimer{ font-size:13px; }
.single .entry-content .box-label{ font-size:15px; }


/* ============================================================
   v3.6 — 박스 높이 자동 + 목차 스타일(현재위치/호버/들여쓰기) + H3 간격
   ============================================================ */

/* 1) 박스 높이 자동: 마지막 요소·내부 목록의 하단 여백 제거 */
.entry-content :is(.key-box,.warn-box,.references,.key-summary,.callout) > *:last-child{ margin-bottom:0 !important; }
.entry-content :is(.key-box,.warn-box,.references,.key-summary,.callout) :is(ul,ol){ margin-bottom:0 !important; }
.entry-content :is(.key-box,.warn-box,.references,.key-summary,.callout) li:last-child{ margin-bottom:0 !important; }

/* 2) 목차: 글씨·들여쓰기·호버·현재위치 강조 (시안) */
.pill-toc-side a{ display:block !important; font-size:14px !important; color:var(--gp-muted) !important; text-decoration:none !important; padding:7px 12px !important; border-radius:8px; border-left:2px solid transparent; line-height:1.45 !important; transition:background .15s,color .15s,border-color .15s; }
.pill-toc-side a:hover{ background:var(--gp-soft) !important; color:var(--gp-accent-ink) !important; }
.pill-toc-side a.is-active{ background:var(--gp-soft) !important; color:var(--gp-accent-ink) !important; border-left-color:var(--gp-accent) !important; font-weight:600 !important; }
.pill-toc-side li{ margin:2px 0 !important; }
.pill-toc-side ol ol a,.pill-toc-side ul ul a,.pill-toc-side li li a{ padding-left:22px !important; }
.pill-toc-side h2,.pill-toc-side h3,.pill-toc-side h4,.pill-toc-side .rank-math-toc-title{ font-size:15px !important; font-weight:700 !important; color:var(--gp-ink) !important; text-transform:none !important; letter-spacing:0 !important; margin:0 0 12px !important; }

/* 3) H3 이하 제목 간격 축소 */
.single .entry-content h3{ margin:24px 0 8px !important; }
.single .entry-content h4{ margin:20px 0 8px !important; }


/* ============================================================
   v3.7 — Rank Math FAQ 아코디언(구조 무관) + 참고자료/면책 간격
   ============================================================ */

/* FAQ: JS가 부여한 클래스(.pill-faq-item/.pill-faq-q/.pill-faq-a)로 스타일 */
.entry-content .pill-faq{ display:block; }
.entry-content .pill-faq-item{ border:1px solid var(--gp-line) !important; border-radius:12px !important; background:var(--gp-surface) !important; padding:16px 20px !important; margin:0 0 10px !important; list-style:none !important; }
/* Rank Math 기본 'Q/A' 아이콘 숨김 */
.entry-content .pill-faq-item img,.entry-content .pill-faq-q img,.entry-content .pill-faq-q svg,
.entry-content .pill-faq-item [class*="icon"]{ display:none !important; }
.entry-content .pill-faq-q{ cursor:pointer; position:relative; padding-right:30px !important; margin:0 !important; font-size:16.5px !important; font-weight:700 !important; color:var(--gp-ink) !important; line-height:1.4; }
.entry-content .pill-faq-q::after{ content:""; position:absolute; right:2px; top:7px; width:8px; height:8px; border-right:2px solid var(--gp-muted); border-bottom:2px solid var(--gp-muted); transform:rotate(45deg); transition:transform .2s; }
.entry-content .pill-faq-item.is-open .pill-faq-q::after{ transform:rotate(-135deg); top:11px; }
.entry-content .pill-faq-a{ display:none !important; margin-top:10px !important; font-size:15.5px !important; color:#27303D !important; line-height:1.75; }
.entry-content .pill-faq-item.is-open .pill-faq-a{ display:block !important; }

/* 참고자료 ↔ 면책 간격 확보 (> p 규칙이 margin-top을 0으로 만드는 것 방지) */
.entry-content .disclaimer{ margin:30px 0 0 !important; }


/* v3.8 — 주의 박스 글씨 크기·색을 다른 박스와 통일 */
.single .entry-content .warn-box p{ font-size:15px !important; line-height:1.6; }
.single .entry-content .warn-box li{ font-size:15.5px !important; color:var(--gp-ink); margin:0 0 9px; line-height:1.7; }
.single .entry-content .warn-box li:last-child{ margin-bottom:0; }


/* ============================================================
   v3.9 — 목차: 긴 제목 대응 + 선 제거 + 간격 균일 + 하위항목 축소
   ============================================================ */
/* 한글 단어 단위 줄바꿈(중간 안 끊김) + 글씨 약간 축소 */
.pill-toc-side a{ font-size:13.5px !important; line-height:1.5 !important; padding:6px 12px !important; word-break:keep-all !important; }
.pill-toc-side li{ margin:1px 0 !important; }
/* 구분선 제거 (Rank Math/테마 기본 선) */
.pill-toc-side ol,.pill-toc-side ul,.pill-toc-side li,
.pill-toc-side #rank-math-toc *,.pill-toc-side .wp-block-rank-math-toc-block *,.pill-toc-side nav *{
  border-top:0 !important; border-bottom:0 !important;
}
.pill-toc-side a{ border-left:2px solid transparent !important; }
.pill-toc-side a.is-active{ border-left-color:var(--gp-accent) !important; }
/* 하위(FAQ) 항목: 더 작고 촘촘하게 + 들여쓰기 정렬 */
.pill-toc-side li li a{ font-size:12.5px !important; padding:4px 12px 4px 22px !important; color:#8A93A1 !important; line-height:1.4 !important; }
.pill-toc-side li li{ margin:0 !important; }
.pill-toc-side ol ol,.pill-toc-side ul ul{ margin-top:1px !important; padding-left:0 !important; }


/* v3.10 — FAQ 질문 위 여백 제거 (질문이 H3라 H3 margin이 적용되던 문제) */
.entry-content .pill-faq-item .pill-faq-q,
.entry-content .pill-faq-item h2.pill-faq-q,
.entry-content .pill-faq-item h3.pill-faq-q,
.entry-content .pill-faq-item h4.pill-faq-q{ margin:0 !important; padding-top:0 !important; }


/* v3.11 — 참고자료 아래 여백 + 목차 제목 크게 + 현재영역 강조 여백 */
.entry-content .references{ margin:34px 0 30px !important; }
.pill-toc-side h2,.pill-toc-side h3,.pill-toc-side h4,.pill-toc-side .rank-math-toc-title{ font-size:16.5px !important; margin:0 0 14px !important; }
/* 목차 항목 안쪽 여백 넉넉히 (현재영역 색칠이 글자에 안 붙게) */
.pill-toc-side a{ padding:8px 14px !important; }
.pill-toc-side a.is-active{ padding-left:14px !important; }
.pill-toc-side li li a{ padding:5px 14px 5px 24px !important; }


/* v3.12 — 목차 제목 더 키움 + 항목 들여쓰기(텍스트만 오른쪽, 강조 디자인 유지) */
.pill-toc-side h2,.pill-toc-side h3,.pill-toc-side h4,.pill-toc-side .rank-math-toc-title{ font-size:18px !important; margin:0 0 14px !important; }
.pill-toc-side a{ padding:8px 14px 8px 18px !important; }
.pill-toc-side a.is-active{ padding-left:18px !important; }
.pill-toc-side li li a{ padding:5px 14px 5px 30px !important; }


/* v3.13 — 목차 상위 항목 들여쓰기 더, 하위 항목은 유지 */
.pill-toc-side a{ padding:8px 14px 8px 26px !important; }
.pill-toc-side a.is-active{ padding-left:26px !important; }
.pill-toc-side li li a{ padding:5px 14px 5px 30px !important; }


/* v3.14 — 목차 상위 항목 확실히 더 오른쪽, 하위 항목은 더 왼쪽 */
.pill-toc-side a{ padding:8px 14px 8px 36px !important; }
.pill-toc-side a.is-active{ padding-left:36px !important; }
.pill-toc-side li li a{ padding:5px 14px 5px 22px !important; }


/* v3.15 — 목차 상위/하위 들여쓰기 차이 확실하게 */
.pill-toc-side a{ padding-top:8px !important; padding-right:14px !important; padding-bottom:8px !important; padding-left:46px !important; }
.pill-toc-side a.is-active{ padding-left:46px !important; }
.pill-toc-side li li a{ padding:5px 14px 5px 16px !important; }


/* v3.16 — 목차 들여쓰기: JS가 붙인 제목단계 클래스로 확실히 구분
   (H2=상위=더 오른쪽 / H3·H4=하위=더 왼쪽). 구조 무관하게 동작 */
.pill-toc-side a.toc-h2{ padding-left:42px !important; }
.pill-toc-side a.toc-h3,
.pill-toc-side a.toc-h4,
.pill-toc-side a.toc-h5{ padding-left:16px !important; }
.pill-toc-side a.toc-h2.is-active{ padding-left:42px !important; }


/* v3.17 — 원료백과·제품리뷰 byline 숨김 (PHP 조건 보완용 CSS) */
.category-ingredients .pill-byline,
.category-reviews .pill-byline{ display:none !important; }



/* v3.18~v3.21 — 리뷰/원료백과 블록 여백·스타일 정리
   Gutenberg 기본 margin-block 완전 제거 후 클래스별 재정의 */

/* 1. 모든 wp-block-group 기본 margin-block 제거 */
.single .entry-content .wp-block-group,
.single .entry-content .wp-block-columns,
.single .entry-content .wp-block-column {
  margin-block-start: 0 !important;
  margin-block-end:   0 !important;
}

/* 2. 박스별 상하 여백 */
.single .entry-content .verdict-card  { margin-top:24px !important; margin-bottom:24px !important; }
.single .entry-content .key-box       { margin-top:20px !important; margin-bottom:20px !important; }
.single .entry-content .final         { margin-top:20px !important; margin-bottom:20px !important; }
.single .entry-content .callout       { margin-top:20px !important; margin-bottom:20px !important; }
.single .entry-content .references    { margin-top:20px !important; margin-bottom:20px !important; }
.single .entry-content .wp-block-columns { margin-top:20px !important; margin-bottom:20px !important; }

/* 3. verdict-card 내부 중첩 그룹 초기화 */
.single .entry-content .verdict-card .wp-block-group {
  padding:0 !important; margin:0 !important;
  background:none !important; border:none !important; border-radius:0 !important;
}
.single .entry-content .verdict-card .score-col {
  padding-right:26px !important;
  border-right:1px solid var(--gp-line) !important;
}

/* 4. vbadge 위아래 여백 */
.single .entry-content .vbadge {
  display:inline-block !important;
  margin-top:12px !important;
  margin-bottom:12px !important;
  margin-block-start:12px !important;
  margin-block-end:12px !important;
}

/* 5. 박스 내 p 여백 제거 */
.single .entry-content .verdict-card p,
.single .entry-content .final p,
.single .entry-content .callout p {
  margin:0 !important;
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}

/* 6. pc(장점/단점) 박스 */
.single .entry-content .pc { height:auto !important; }
.single .entry-content .pc ul {
  margin:0 !important;
  margin-block-start:0 !important;
  margin-block-end:0 !important;
  padding-left:20px !important;
}
.single .entry-content .pc ul li   { margin-bottom:6px !important; }
.single .entry-content .pc ul li:last-child { margin-bottom:0 !important; }

/* 7. key-box 내부 목록 */
.single .entry-content .key-box ul li { margin-bottom:8px !important; }
.single .entry-content .key-box ul li:last-child { margin-bottom:0 !important; }

/* 8. key-box 제목 — 알약/배지 완전 제거 */
body .entry-content .key-box :is(h1,h2,h3,h4,h5,h6),
body .key-box.wp-block-group :is(h1,h2,h3,h4,h5,h6),
.single .entry-content .key-box :is(h1,h2,h3,h4,h5,h6) {
  background:none !important;
  background-color:transparent !important;
  -webkit-text-fill-color:var(--gp-accent-ink) !important;
  color:var(--gp-accent-ink) !important;
  display:block !important;
  padding:0 !important;
  border-radius:0 !important;
  font-size:15px !important;
  font-weight:700 !important;
  margin:0 0 10px !important;
}

/* 9. 원료백과·제품리뷰 byline 숨김 */
.category-ingredients .pill-byline,
.category-reviews .pill-byline { display:none !important; }

/* 10. 제품 리뷰 이미지 블록 */
.single .entry-content .review-product-img { margin:20px auto !important; max-width:320px; }
.single .entry-content .review-product-img img { width:100%; height:auto; border-radius:12px; border:1px solid var(--gp-line); background:var(--gp-soft); display:block; }
.single .entry-content .review-product-img figcaption { text-align:center; font-size:13px; color:var(--gp-muted); margin-top:8px; }
