/*
Theme Name: 오늘의테크
Theme URI: https://oneultech.com
Author: 오늘의테크
Description: 한국어 테크·가전 미디어를 위한 가벼운 클래식 테마. 리뷰 평점, 제품 비교표, 루머 신뢰도 배지, 제휴 고지, 다크 모드를 기본 지원합니다. 플러그인·빌드 도구·페이지 빌더 의존성이 없습니다.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oneultech
Tags: news, blog, review, two-columns, right-sidebar, custom-menu, featured-images, translation-ready, block-styles, wide-blocks
*/

/* ==========================================================================
   1. 토큰
   ========================================================================== */
:root{
  --pg-w:#FFFFFF;
  --pg-w2:#F5F7F9;
  --pg-k:#0B0E13;
  --pg-k2:#5A626E;
  --pg-k3:#8B939F;
  --pg-body:#22272F;
  --pg-ln:#E4E7EC;
  --pg-ln2:#F0F2F5;
  --pg-ac:#0A62F5;
  --pg-ac-h:#0850CC;
  --pg-ac-s:#EDF3FE;
  --pg-vi:#5B3DF5;
  --pg-vi-s:#F0EDFE;
  --pg-ok:#0E8457;   --pg-ok-s:#E7F5EF;
  --pg-wn:#8A5200;   --pg-wn-s:#FCF3E4;
  --pg-cr:#B43026;   --pg-cr-s:#FBECEA;

  --pg-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Apple SD Gothic Neo","Pretendard Variable",Pretendard,system-ui,"Malgun Gothic","맑은 고딕",sans-serif;
  /* 모노는 본문 코드에만 남긴다. UI 크롬에는 쓰지 않는다. */
  --pg-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;

  --pg-max:1120px;
  --pg-read:66ch;

  /* 반경 문법은 네 단계로 고정한다. 중간값을 새로 만들지 않는다.
     sm 8  = 조밀한 유틸리티(아이콘 칩, 인라인 이미지)
     md 11 = 캡슐형 보조 버튼
     lg 18 = 카드 · 패널
     pill  = 동작(액션)을 뜻하는 모든 것 */
  --pg-r-xs:5px;
  --pg-r-sm:8px;
  --pg-r-md:11px;
  --pg-r:18px;
  --pg-r-pill:9999px;

  /* 시스템 전체에서 그림자는 이것 하나뿐이다. 제품 사진에만 쓴다.
     카드 · 버튼 · 글자에는 절대 붙이지 않는다. */
  --pg-shadow-product:3px 5px 30px rgba(0,0,0,.22);

  --pg-hd-h:58px;
  color-scheme:light;
}

/* 다크: 시스템 기본(스탬프 없음) */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --pg-w:#0C1016;  --pg-w2:#141A22;
    --pg-k:#EDF1F6;  --pg-k2:#9AA4B1;  --pg-k3:#727C89;  --pg-body:#D3DAE2;
    --pg-ln:#232B36; --pg-ln2:#1A212A;
    --pg-ac:#5B94FF; --pg-ac-h:#7FADFF; --pg-ac-s:#14203A;
    --pg-vi:#9080FF; --pg-vi-s:#1E1A3B;
    --pg-ok:#3FBE8B; --pg-ok-s:#122A22;
    --pg-wn:#D89A3F; --pg-wn-s:#2A2114;
    --pg-cr:#E8695C; --pg-cr-s:#2E1815;
  }
}
/* 다크: 사용자가 토글로 명시 */
:root[data-theme="dark"]{
  color-scheme:dark;
  --pg-w:#0C1016;  --pg-w2:#141A22;
  --pg-k:#EDF1F6;  --pg-k2:#9AA4B1;  --pg-k3:#727C89;  --pg-body:#D3DAE2;
  --pg-ln:#232B36; --pg-ln2:#1A212A;
  --pg-ac:#5B94FF; --pg-ac-h:#7FADFF; --pg-ac-s:#14203A;
  --pg-vi:#9080FF; --pg-vi-s:#1E1A3B;
  --pg-ok:#3FBE8B; --pg-ok-s:#122A22;
  --pg-wn:#D89A3F; --pg-wn-s:#2A2114;
  --pg-cr:#E8695C; --pg-cr-s:#2E1815;
}

/* ==========================================================================
   2. 리셋 / 기본
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--pg-w);
  color:var(--pg-k);
  font-family:var(--pg-sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;
  overflow-wrap:break-word;
}
img,svg,video{max-width:100%;height:auto;display:block}
a,button,input,select,summary,label{touch-action:manipulation}
html{-webkit-tap-highlight-color:rgba(10,98,245,.12)}
a{color:var(--pg-ac);text-decoration:none}
a:hover{color:var(--pg-ac-h);text-decoration:underline}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
/* 무게 사다리 - 세 단계만 쓴다. 애플처럼 500 은 두지 않는다.
   700 = 제목  (h1~h3, 카드 / 행 / 섹션 제목)
   600 = 강조  (버튼, 라벨, 숫자, 인라인 strong, 선택된 상태)
   400 = 본문  (문단, 내비, 보조 설명)
   한글 서체는 같은 무게에서 라틴보다 얇게 보인다. 제목은 600 이 아니라 700 이 기준. */
h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;letter-spacing:-.016em;text-wrap:balance;line-height:1.3}
p{margin:0}
ul,ol{margin:0;padding:0}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:2px solid var(--pg-ac);outline-offset:2px;border-radius:4px}
.pg-skip{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--pg-k);color:var(--pg-w);padding:10px 16px;border-radius:0 0 var(--pg-r-sm) 0;
}
.pg-skip:focus{left:0}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   3. 레이아웃
   ========================================================================== */
.pg-wrap{max-width:var(--pg-max);margin:0 auto;padding:0 20px}
@media(min-width:768px){.pg-wrap{padding:0 32px}}
.pg-sec{padding:48px 0}
@media(min-width:768px){.pg-sec{padding:80px 0}}
/* 밝은 면과 어두운 면이 번갈아 나오는 것으로 섹션을 가른다. 선을 긋지 않는다. */
.pg-sec--alt{background:var(--pg-w2)}
.pg-grid{display:grid;gap:20px}
.pg-grid--2{grid-template-columns:minmax(0,1fr)}
.pg-grid--3{grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){
  .pg-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:960px){
  .pg-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.pg-grid--lead{grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){
  .pg-grid--lead{grid-template-columns:1.55fr minmax(0,1fr);grid-template-rows:auto auto;align-items:start}
  .pg-grid--lead > :first-child{grid-row:1 / span 2}
  /* 카드를 두 행 높이로 늘리지 않는다. 늘리면 사진이 세로로 길게 잘리거나
     본문 아래에 죽은 여백이 남는다. 자연 높이로 두고 아래를 비대칭으로 흘린다. */
}
.pg-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media(min-width:1024px){
  .pg-cols{grid-template-columns:200px minmax(0,1fr);gap:44px;align-items:start}
  .pg-cols--rev{grid-template-columns:minmax(0,1fr) 300px}
}

/* ==========================================================================
   4. 헤더
   ========================================================================== */
.pg-hd{
  position:sticky;top:0;z-index:50;
  background:var(--pg-w);
  border-bottom:1px solid var(--pg-ln);
}
.pg-hd__in{
  max-width:var(--pg-max);margin:0 auto;padding:0 20px;
  height:var(--pg-hd-h);display:flex;align-items:center;gap:20px;
}
@media(min-width:768px){.pg-hd__in{padding:0 32px;gap:28px}}
.pg-logo{display:flex;align-items:baseline;gap:7px;flex:none;text-decoration:none}
.pg-logo:hover{text-decoration:none}
.pg-logo b{font-size:23px;font-weight:800;letter-spacing:-.03em;color:var(--pg-k)}
.pg-logo b i{font-style:normal;color:var(--pg-ac)}
.pg-logo span{font-size:10px;font-weight:600;color:var(--pg-k3);letter-spacing:.08em}
.pg-nav{display:none;flex:1}
@media(min-width:900px){.pg-nav{display:block}}
.pg-nav ul{display:flex;gap:22px;list-style:none}
.pg-nav a{
  font-size:14px;font-weight:400;letter-spacing:-.012em;
  color:var(--pg-k2);text-decoration:none;
  display:block;padding:19px 0;position:relative;
}
.pg-nav a:hover{color:var(--pg-k);text-decoration:none}
.pg-nav .current-menu-item > a,
.pg-nav .current-post-ancestor > a,
.pg-nav .current-menu-parent > a{color:var(--pg-k);font-weight:600}
.pg-nav .current-menu-item > a::after,
.pg-nav .current-post-ancestor > a::after,
.pg-nav .current-menu-parent > a::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--pg-ac);
}
.pg-hd__util{display:flex;gap:6px;align-items:center;flex:none;margin-left:auto}
.pg-ico{
  width:36px;height:36px;min-width:36px;
  border:0;border-radius:var(--pg-r-pill);
  display:grid;place-items:center;color:var(--pg-k2);background:transparent;
  transition:background .15s,color .15s,transform .15s;
}
.pg-ico:hover{color:var(--pg-k);background:var(--pg-ln2)}
.pg-ico:active{transform:scale(.95)}
.pg-ico svg{width:16px;height:16px}
.pg-burger{display:grid}
@media(min-width:900px){.pg-burger{display:none}}
.pg-slogan{
  background:var(--pg-w2);border-bottom:1px solid var(--pg-ln);
  font-size:12px;color:var(--pg-k2);text-align:center;padding:7px 20px;
}
[data-theme="dark"] .pg-ico--sun,
:root:not([data-theme="light"]) .pg-ico--sun{display:none}
[data-theme="dark"] .pg-ico--moon{display:block}
.pg-ico--moon{display:block}
.pg-ico--sun{display:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .pg-ico--moon{display:none}
  :root:not([data-theme="light"]) .pg-ico--sun{display:block}
}
:root[data-theme="dark"] .pg-ico--moon{display:none}
:root[data-theme="dark"] .pg-ico--sun{display:block}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="light"] .pg-ico--moon{display:block}
:root[data-theme="light"] .pg-ico--sun{display:none}

/* 모바일 메뉴 */
.pg-mobnav{
  display:none;position:fixed;inset:var(--pg-hd-h) 0 0;z-index:49;
  background:var(--pg-w);overflow-y:auto;overscroll-behavior:contain;
  padding:8px 20px calc(40px + env(safe-area-inset-bottom));
  border-top:1px solid var(--pg-ln);
}
.pg-mobnav.is-open{display:block}
.pg-mobnav ul{list-style:none}
.pg-mobnav a{
  display:block;padding:14px 0;border-bottom:1px solid var(--pg-ln2);
  font-size:17px;font-weight:600;color:var(--pg-k);letter-spacing:-.02em;text-decoration:none;
}
.pg-mobnav a:hover{color:var(--pg-ac)}
body.pg-locked{overflow:hidden}

/* 검색 오버레이 */
.pg-searchwrap{
  display:none;position:fixed;inset:0;z-index:60;overscroll-behavior:contain;
  background:rgba(11,14,19,.42);padding:0 16px;
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
}
.pg-searchwrap.is-open{display:block}
.pg-searchbox{
  max-width:600px;margin:14vh auto 0;background:var(--pg-w);
  border:1px solid var(--pg-ln);border-radius:var(--pg-r);padding:18px 20px 20px;
}
.pg-searchbox__h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pg-searchbox h2{font-size:17px;font-weight:700;letter-spacing:-.02em}
.pg-searchbox .pg-hint{font-size:12px;color:var(--pg-k3);margin-top:10px}

/* 검색 폼 */
.pg-form{display:flex;gap:9px;align-items:center;border:1px solid var(--pg-ln);border-radius:var(--pg-r-pill);padding:11px 18px;background:var(--pg-w)}
.pg-form:focus-within{border-color:var(--pg-ac);box-shadow:0 0 0 3px var(--pg-ac-s)}
.pg-form svg{width:16px;height:16px;flex:none;color:var(--pg-k3)}
.pg-form input[type=search]{
  flex:1;border:0;background:none;font:inherit;font-size:15px;color:var(--pg-k);
  min-width:0;padding:0;
}
.pg-form input[type=search]:focus{outline:none}
.pg-form input::placeholder{color:var(--pg-k3)}
.pg-kbd{
  font-size:12px;color:var(--pg-k3);
  border:1px solid var(--pg-ln);border-radius:var(--pg-r-xs);padding:2px 7px;flex:none;
}

/* ==========================================================================
   5. 공통 요소
   ========================================================================== */
.pg-badge{
  display:inline-flex;align-items:center;gap:5px;
  font-size:12px;font-weight:600;letter-spacing:-.01em;
  padding:4px 11px;border-radius:var(--pg-r-pill);border:1px solid transparent;
  white-space:nowrap;line-height:1.4;
}
.pg-badge--cat{background:var(--pg-ac-s);color:var(--pg-ac)}
.pg-badge--gray{background:var(--pg-w2);color:var(--pg-k2);border-color:var(--pg-ln)}
.pg-badge--violet{background:var(--pg-vi-s);color:var(--pg-vi)}
.pg-badge--ok,.pg-badge--confirmed{background:var(--pg-ok-s);color:var(--pg-ok)}
.pg-badge--likely{background:var(--pg-ac-s);color:var(--pg-ac)}
.pg-badge--early{background:var(--pg-wn-s);color:var(--pg-wn)}
.pg-badge--conflict{background:var(--pg-cr-s);color:var(--pg-cr)}

.pg-meta{
  font-size:13px;color:var(--pg-k3);font-variant-numeric:tabular-nums;
  display:flex;flex-wrap:wrap;gap:9px;align-items:center;line-height:1.5;
}
.pg-meta > * + *::before{content:"·";color:var(--pg-ln);margin-right:9px}
.pg-meta time,.pg-meta span{display:inline-flex;align-items:center}

.pg-shead{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-bottom:24px;
}
.pg-shead h2{font-size:22px;font-weight:700;letter-spacing:-.018em;line-height:1.2}
@media(min-width:768px){.pg-shead h2{font-size:28px}}
.pg-shead a{font-size:15px;color:var(--pg-ac);flex:none;font-weight:400}

.pg-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border-radius:var(--pg-r-pill);padding:11px 22px;font-size:15px;font-weight:600;
  letter-spacing:-.014em;background:var(--pg-ac);color:#fff;border:1px solid var(--pg-ac);
  text-decoration:none;white-space:nowrap;
  transition:background .15s,border-color .15s,transform .15s;
}
.pg-btn:hover{background:var(--pg-ac-h);border-color:var(--pg-ac-h);color:#fff;text-decoration:none}
.pg-btn:active{transform:scale(.95)}
.pg-btn--ghost{background:transparent;color:var(--pg-ac)}
.pg-btn--ghost:hover{background:var(--pg-ac-s);color:var(--pg-ac-h)}
.pg-btn--block{display:flex;width:100%}

.pg-thumb{
  position:relative;display:block;background:var(--pg-w2);
  border-radius:var(--pg-r-sm);overflow:hidden;border:1px solid var(--pg-ln);
}
/* 시스템 유일의 그림자. 리뷰 상단 제품 사진이 면 위에 놓인 것처럼 보이게 하는 용도. */
.pg-rvhead .pg-thumb{border:0;box-shadow:var(--pg-shadow-product)}
.pg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pg-thumb--16{aspect-ratio:16/9}
.pg-thumb--43{aspect-ratio:4/3}
.pg-thumb--sq{width:84px;height:62px;flex:none;border-radius:var(--pg-r-sm)}
.pg-thumb__ph{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:12px;letter-spacing:-.01em;color:var(--pg-k3);
  background:repeating-linear-gradient(135deg,var(--pg-w2) 0 9px,var(--pg-ln2) 9px 18px);
}

/* 점수 */
.pg-score{display:inline-flex;align-items:baseline;gap:2px;font-weight:600;font-variant-numeric:tabular-nums}
.pg-score b{font-size:18px;color:var(--pg-k);letter-spacing:-.02em}
.pg-score i{font-style:normal;font-size:11px;color:var(--pg-k3)}
.pg-score--xl b{font-size:44px;line-height:1}
.pg-score--xl i{font-size:15px}
.pg-bar{height:4px;border-radius:99px;background:var(--pg-ln2);overflow:hidden}
.pg-bar > i{display:block;height:100%;background:var(--pg-ac);border-radius:99px}
.pg-bar--violet > i{background:var(--pg-vi)}
/* 세부 점수는 트랙 없이 얇은 선만. 대시보드처럼 보이지 않게 한다. */
.pg-subscores .pg-bar{background:transparent;height:3px}

/* 카드 */
.pg-card{
  border:1px solid var(--pg-ln);border-radius:var(--pg-r);background:var(--pg-w);
  overflow:hidden;display:flex;flex-direction:column;
}
.pg-card__media{border-radius:0;border:0;border-bottom:1px solid var(--pg-ln)}
.pg-card__body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:9px;flex:1}
.pg-card h3{font-size:15.5px;line-height:1.44;font-weight:700}
.pg-card h3 a{color:var(--pg-k)}
.pg-card h3 a:hover{color:var(--pg-ac);text-decoration:none}
.pg-card p{font-size:13.5px;color:var(--pg-k2);line-height:1.6}
.pg-card__foot{margin-top:auto;padding-top:4px}
.pg-oneline{
  font-size:13.5px;color:var(--pg-k);line-height:1.55;
  padding-left:10px;border-left:2px solid var(--pg-ac);
}

/* 리스트 행 */
.pg-rows{list-style:none}
.pg-row{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--pg-ln2)}
.pg-row:last-child{border-bottom:0}
.pg-row__date{font-size:12.5px;color:var(--pg-k3);flex:none;width:58px;font-variant-numeric:tabular-nums}
.pg-row__t{flex:1;min-width:0}
.pg-row h3{font-size:15px;font-weight:700;line-height:1.48}
.pg-row h3 a{color:var(--pg-k)}
.pg-row h3 a:hover{color:var(--pg-ac);text-decoration:none}
.pg-row__end{flex:none;display:flex;align-items:center;gap:12px}
.pg-row__bar{width:88px;display:none}
@media(min-width:640px){.pg-row__bar{display:block}}

/* 히어로 */
.pg-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media(min-width:960px){.pg-hero{grid-template-columns:1.5fr 1fr;gap:30px;align-items:start}}
.pg-hero h2{font-size:26px;line-height:1.24;letter-spacing:-.02em;font-weight:700}
@media(min-width:768px){.pg-hero h2{font-size:31px}}
.pg-hero h2 a{color:var(--pg-k)}
.pg-hero h2 a:hover{color:var(--pg-ac);text-decoration:none}
.pg-hero p{color:var(--pg-k2);font-size:15px;line-height:1.62}
.pg-hero__side{display:flex;flex-direction:column;list-style:none}
.pg-hero__side li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--pg-ln2);align-items:flex-start}
.pg-hero__side li:last-child{border-bottom:0}
.pg-hero__n{font-size:11px;color:var(--pg-ac);font-weight:600;padding-top:3px;flex:none}
.pg-hero__side h3{font-size:14.5px;line-height:1.48;font-weight:700;margin-bottom:5px}
.pg-hero__side h3 a{color:var(--pg-k)}
.pg-hero__side h3 a:hover{color:var(--pg-ac);text-decoration:none}

/* ==========================================================================
   6. 본문 (prose)
   ========================================================================== */
.pg-prose{font-size:17px;line-height:1.78;color:var(--pg-body);max-width:var(--pg-read)}
.pg-prose > * + *{margin-top:18px}
.pg-prose p{margin:0}
.pg-prose h2{font-size:24px;margin-top:40px;font-weight:700;color:var(--pg-k);scroll-margin-top:calc(var(--pg-hd-h) + 16px)}
.pg-prose h3{font-size:19px;margin-top:32px;font-weight:600;color:var(--pg-k);scroll-margin-top:calc(var(--pg-hd-h) + 16px)}
.pg-prose h4{font-size:17px;margin-top:26px;color:var(--pg-k)}
.pg-prose ul,.pg-prose ol{padding-left:22px;display:grid;gap:8px}
.pg-prose li{line-height:1.75}
.pg-prose img,.pg-prose figure{border-radius:var(--pg-r-sm);overflow:hidden}
.pg-prose figure{margin:26px 0}
.pg-prose figcaption{font-size:12.5px;color:var(--pg-k3);margin-top:8px;text-align:left;line-height:1.6}
.pg-prose blockquote{
  margin:26px 0;padding:2px 0 2px 18px;border-left:3px solid var(--pg-ac);
  color:var(--pg-k);font-size:17px;line-height:1.7;
}
.pg-prose strong,.pg-prose b{font-weight:600;color:var(--pg-k)}
.pg-prose a{text-decoration:underline;text-underline-offset:3px}
.pg-prose code{font-family:var(--pg-mono);font-size:.88em;background:var(--pg-w2);padding:2px 6px;border-radius:var(--pg-r-xs)}
.pg-prose pre{background:var(--pg-w2);border:1px solid var(--pg-ln);border-radius:var(--pg-r);padding:16px;overflow-x:auto}
.pg-prose pre code{background:none;padding:0}
.pg-prose table{font-size:14.5px;display:block;overflow-x:auto;white-space:nowrap}
.pg-prose hr{border:0;border-top:1px solid var(--pg-ln);margin:34px 0}
.pg-prose .alignwide{max-width:none}
.pg-prose .aligncenter{margin-left:auto;margin-right:auto}

/* 목차 */
.pg-toc{
  border:1px solid var(--pg-ln);border-radius:var(--pg-r);padding:15px 16px;background:var(--pg-w);
}
@media(min-width:1024px){.pg-toc{position:sticky;top:calc(var(--pg-hd-h) + 16px)}}
.pg-toc > b{
  display:block;font-size:13px;letter-spacing:-.016em;
  color:var(--pg-k3);margin-bottom:10px;font-weight:400;
}
.pg-toc ol{list-style:none}
.pg-toc a{
  display:block;font-size:13px;color:var(--pg-k2);padding:5px 0 5px 10px;
  border-left:2px solid var(--pg-ln2);line-height:1.45;text-decoration:none;
}
.pg-toc a:hover{color:var(--pg-ac);text-decoration:none}
.pg-toc a.is-active{color:var(--pg-ac);border-left-color:var(--pg-ac);font-weight:600}
.pg-toc--mob summary{
  font-size:13px;letter-spacing:-.016em;
  color:var(--pg-k3);cursor:pointer;font-weight:400;
}
.pg-toc--mob ol{margin-top:10px}
@media(min-width:1024px){.pg-toc--mob{display:none}}
.pg-toc--desk{display:none}
@media(min-width:1024px){.pg-toc--desk{display:block}}
@media (prefers-reduced-transparency:reduce){
  .pg-searchwrap{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(11,14,19,.72)}
}

/* 읽기 진행 바 */
.pg-progress{display:none}
@supports (animation-timeline:scroll()){
  .pg-progress{
    display:block;position:fixed;top:var(--pg-hd-h);left:0;height:2px;width:100%;
    background:var(--pg-ac);z-index:48;transform:scaleX(0);transform-origin:0 50%;
    animation:pg-progress linear;animation-timeline:scroll(root block);
  }
  @keyframes pg-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media (prefers-reduced-motion:reduce){.pg-progress{display:none}}

/* 기사 헤더 */
.pg-arthead{padding:30px 0 0}
.pg-arthead h1{font-size:29px;line-height:1.2;letter-spacing:-.022em;font-weight:700}
@media(min-width:768px){.pg-arthead h1{font-size:38px}}
.pg-arthead .pg-lede{margin-top:16px;font-size:17px;line-height:1.66;color:var(--pg-k2);max-width:64ch}
.pg-arthead .pg-meta{margin-top:20px;padding-bottom:20px;border-bottom:1px solid var(--pg-ln)}
.pg-figure{margin:24px 0 0}
.pg-figure figcaption{font-size:12.5px;color:var(--pg-k3);margin-top:9px;line-height:1.6}

/* 인라인 관련 기사 */
.pg-inline{
  border:1px solid var(--pg-ln);border-left:3px solid var(--pg-ac);border-radius:var(--pg-r);
  padding:14px 16px;margin:28px 0;display:flex;gap:14px;align-items:center;background:var(--pg-w);
  max-width:var(--pg-read);
}
.pg-inline b{
  font-size:13px;letter-spacing:-.016em;color:var(--pg-ac);
  display:block;margin-bottom:5px;font-weight:400;
}
.pg-inline h3{font-size:14.5px;font-weight:700;line-height:1.45}
.pg-inline h3 a{color:var(--pg-k)}
.pg-inline__t{flex:1;min-width:0}

/* 해석 박스 */
.pg-verdict{
  border:1px solid var(--pg-k);border-radius:var(--pg-r);padding:22px 24px;
  margin:34px 0 0;background:var(--pg-w);max-width:var(--pg-read);
}
.pg-verdict__h{
  font-size:13px;letter-spacing:-.016em;
  color:var(--pg-ac);font-weight:600;margin-bottom:12px;
}
.pg-verdict h2{font-size:19px;font-weight:700;margin-bottom:11px}
.pg-verdict p{font-size:15px;line-height:1.75;color:var(--pg-k2)}
.pg-verdict p + p{margin-top:12px}
.pg-verdict strong{color:var(--pg-k)}

/* ==========================================================================
   7. 리뷰
   ========================================================================== */
.pg-rvhead{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;align-items:center}
@media(min-width:900px){.pg-rvhead{grid-template-columns:1fr 1fr;gap:36px}}
.pg-rvhead h1{font-size:29px;line-height:1.18;letter-spacing:-.022em;font-weight:700}
@media(min-width:768px){.pg-rvhead h1{font-size:37px}}
.pg-rvscore{display:flex;align-items:center;gap:18px;margin-top:20px;flex-wrap:wrap}
.pg-rvscore__bars{flex:1;min-width:190px}
/* 총점 막대와 세부 점수를 구분선으로 갈라 놓는다.
   붙여 두면 총점 막대가 첫 세부 항목의 막대처럼 읽힌다. */
.pg-subscores{display:grid;gap:9px;margin-top:15px;padding-top:14px;border-top:1px solid var(--pg-ln)}
.pg-subscore__l{display:flex;justify-content:space-between;font-size:12px;color:var(--pg-k2);margin-bottom:4px}
.pg-subscore__l b{font-variant-numeric:tabular-nums}
.pg-conclusion{
  margin-top:20px;font-size:17px;line-height:1.6;color:var(--pg-k);
  padding-left:14px;border-left:3px solid var(--pg-ac);
}

.pg-pc{border:1px solid var(--pg-ln);border-radius:var(--pg-r);overflow:hidden}
.pg-pc__h{
  padding:12px 18px;font-size:14px;letter-spacing:-.016em;
  font-weight:600;border-bottom:1px solid var(--pg-ln);
}
.pg-pc__h--pro{background:var(--pg-ok-s);color:var(--pg-ok)}
.pg-pc__h--con{background:var(--pg-cr-s);color:var(--pg-cr)}
.pg-pc ul{padding:14px 16px 16px;list-style:none;display:grid;gap:9px}
.pg-pc li{font-size:14.5px;line-height:1.6;color:var(--pg-body);padding-left:17px;position:relative}
.pg-pc li::before{position:absolute;left:0;top:0;font-size:13px;line-height:1.7}
.pg-pc__h--pro + ul li::before{content:"+";color:var(--pg-ok)}
.pg-pc__h--con + ul li::before{content:"\2212";color:var(--pg-cr)}

/* 스펙 / 비교표 */
.pg-tablewrap{overflow-x:auto;border:1px solid var(--pg-ln);border-radius:var(--pg-r);background:var(--pg-w)}
.pg-table{font-size:14.5px;min-width:480px}
.pg-table th,.pg-table td{padding:12px 16px;border-bottom:1px solid var(--pg-ln2);text-align:left;vertical-align:top}
.pg-table thead th{
  font-size:13px;letter-spacing:-.016em;
  color:var(--pg-k3);border-bottom:1px solid var(--pg-k);font-weight:600;
}
.pg-table th[scope=row]{color:var(--pg-k2);font-weight:400;width:140px;white-space:nowrap}
.pg-table td{color:var(--pg-body);font-variant-numeric:tabular-nums}
.pg-table tbody tr:last-child th,.pg-table tbody tr:last-child td{border-bottom:0}
.pg-table .is-win{background:var(--pg-vi-s);color:var(--pg-k);font-weight:600}

/* 스펙: 항목마다 선을 긋는 대신 카드로 나눈다 */
.pg-specs{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.pg-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pg-specs__i{
  border:1px solid var(--pg-ln);border-radius:var(--pg-r);padding:16px 18px;background:var(--pg-w);
}
.pg-specs dt{font-size:13px;color:var(--pg-k3);margin-bottom:4px}
.pg-specs dd{
  margin:0;font-size:17px;font-weight:700;color:var(--pg-k);
  letter-spacing:-.02em;line-height:1.35;font-variant-numeric:tabular-nums;
}

/* 갤러리 */
.pg-gallery{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:768px){.pg-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* 구매 / 제휴 */
.pg-buy{
  border:1px solid var(--pg-ln);border-radius:var(--pg-r);padding:18px 20px;background:var(--pg-w2);
  display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  max-width:var(--pg-read);
}
.pg-buy__l b{display:block;font-size:15px;font-weight:700;letter-spacing:-.02em}
.pg-buy__l span{font-size:13px;color:var(--pg-k3);font-variant-numeric:tabular-nums}
.pg-affiliate{
  font-size:12.5px;color:var(--pg-k3);line-height:1.7;padding:13px 15px;
  border:1px solid var(--pg-ln2);border-radius:var(--pg-r);background:var(--pg-w);margin-top:14px;
  max-width:var(--pg-read);
}
.pg-affiliate b{color:var(--pg-k2)}

/* 추천 / 비추천 */
.pg-forwho{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.pg-forwho{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pg-forwho .pg-card__body p{font-size:14.5px;color:var(--pg-body)}

/* ==========================================================================
   8. 비교
   ========================================================================== */
.pg-cmphead{text-align:center;padding:40px 0 0}
.pg-cmphead h1{font-size:27px;line-height:1.2;letter-spacing:-.022em;font-weight:700;max-width:22ch;margin:0 auto}
@media(min-width:768px){.pg-cmphead h1{font-size:38px}}
.pg-cmpverdict{
  max-width:62ch;margin:24px auto 0;border:1px solid var(--pg-k);border-radius:var(--pg-r);
  padding:22px 24px;text-align:left;background:var(--pg-w);
}
.pg-cmpverdict p{font-size:16px;line-height:1.72;color:var(--pg-k)}
.pg-cmpverdict strong{font-weight:700}

.pg-cmp{border:1px solid var(--pg-k);border-radius:var(--pg-r);overflow:hidden;background:var(--pg-w)}
.pg-cmp__top{
  padding:12px 18px;border-bottom:1px solid var(--pg-ln);display:flex;
  justify-content:space-between;align-items:center;gap:10px;background:var(--pg-w2);flex-wrap:wrap;
}
.pg-cmp__top b{font-size:13px;letter-spacing:-.016em;color:var(--pg-k2);font-weight:600}
.pg-cmp__body{display:grid;grid-template-columns:minmax(0,1fr);position:relative}
@media(min-width:700px){.pg-cmp__body{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)}}
.pg-cmp__col{padding:22px;display:flex;flex-direction:column;gap:12px}
.pg-cmp__col--win{background:linear-gradient(180deg,var(--pg-vi-s),transparent 62%)}
.pg-cmp__div{background:var(--pg-ln);position:relative;height:1px}
@media(min-width:700px){.pg-cmp__div{width:1px;height:auto}}
.pg-cmp__vs{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:var(--pg-w);border:1px solid var(--pg-ln);border-radius:99px;
  font-size:12px;font-weight:600;color:var(--pg-k3);
  padding:4px 10px;letter-spacing:-.01em;
}
.pg-cmp__col h3{font-size:17px;font-weight:700}
.pg-cmp__foot{
  border-top:1px solid var(--pg-ln);padding:15px 20px;font-size:14.5px;color:var(--pg-k2);
  display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;line-height:1.65;
}
.pg-cmp__foot b{color:var(--pg-k);font-weight:600;flex:none}

/* ==========================================================================
   9. DEALS
   ========================================================================== */
.pg-deal{
  border:1px solid var(--pg-ln);border-radius:var(--pg-r);padding:16px;background:var(--pg-w);
  display:flex;gap:16px;align-items:center;flex-wrap:wrap;
}
.pg-deal__t{flex:1;min-width:180px}
.pg-deal h3{font-size:15.5px;font-weight:700;line-height:1.45;margin-bottom:6px}
.pg-deal h3 a{color:var(--pg-k)}
.pg-deal__price{display:flex;align-items:baseline;gap:9px;font-variant-numeric:tabular-nums}
.pg-deal__now{font-size:20px;font-weight:700;color:var(--pg-k);letter-spacing:-.03em}
.pg-deal__was{font-size:13px;color:var(--pg-k3);text-decoration:line-through}
.pg-deal__off{
  font-size:12.5px;font-weight:600;color:var(--pg-cr);font-variant-numeric:tabular-nums;
  background:var(--pg-cr-s);padding:3px 7px;border-radius:var(--pg-r-xs);
}
.pg-deal__end{font-size:13px;color:var(--pg-k3);margin-top:6px;font-variant-numeric:tabular-nums}
.pg-deal__coupon{
  font-size:13px;border:1px dashed var(--pg-ln);border-radius:var(--pg-r-sm);
  padding:5px 10px;color:var(--pg-k);background:var(--pg-w2);
}
.pg-deal.is-expired{opacity:.55}
.pg-deal.is-expired .pg-deal__end{color:var(--pg-cr)}

/* ==========================================================================
   10. 필터 / 툴바 / 페이지네이션
   ========================================================================== */
.pg-chips{display:flex;gap:8px;flex-wrap:wrap;list-style:none}
.pg-chips--scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.pg-chip{
  display:inline-block;font-size:13px;padding:7px 14px;border:1px solid var(--pg-ln);
  border-radius:999px;color:var(--pg-k2);background:var(--pg-w);white-space:nowrap;text-decoration:none;
}
.pg-chip:hover{border-color:var(--pg-k3);color:var(--pg-k);text-decoration:none}
.pg-chip.is-on{background:var(--pg-k);color:var(--pg-w);border-color:var(--pg-k);font-weight:600}
.pg-chip.is-on:hover{color:var(--pg-w)}
.pg-chip--violet.is-on{background:var(--pg-vi);color:var(--pg-w);border-color:var(--pg-vi)}

.pg-toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--pg-ln);flex-wrap:wrap;
}
.pg-count{font-size:13px;color:var(--pg-k3);font-variant-numeric:tabular-nums}
.pg-select{
  font-size:13px;padding:7px 12px;border:1px solid var(--pg-ln);border-radius:var(--pg-r-sm);
  color:var(--pg-k2);background:var(--pg-w);font-family:inherit;
}

.pg-pagination{display:flex;gap:8px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.pg-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;
  padding:0 12px;border:1px solid var(--pg-ln);border-radius:var(--pg-r-sm);
  font-size:14px;color:var(--pg-k2);text-decoration:none;font-variant-numeric:tabular-nums;
}
.pg-pagination .page-numbers:hover{border-color:var(--pg-k3);color:var(--pg-k);text-decoration:none}
.pg-pagination .page-numbers.current{background:var(--pg-k);color:var(--pg-w);border-color:var(--pg-k)}

/* 빵부스러기 */
.pg-crumbs{font-size:13px;color:var(--pg-k3);padding:16px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.pg-crumbs a{color:var(--pg-k3)}
.pg-crumbs a:hover{color:var(--pg-ac)}
.pg-crumbs span[aria-current]{color:var(--pg-k2)}

/* ==========================================================================
   11. 뉴스레터 / 광고 / 푸터
   ========================================================================== */
.pg-nl{text-align:center;padding:48px 0}
.pg-nl h2{font-size:24px;font-weight:700;letter-spacing:-.02em}
@media(min-width:768px){.pg-nl h2{font-size:28px}}
.pg-nl p{margin-top:10px;color:var(--pg-k2);font-size:15px}
.pg-nl__form{display:flex;gap:9px;justify-content:center;margin-top:22px;flex-wrap:wrap;max-width:460px;margin-left:auto;margin-right:auto}
.pg-nl__form .pg-form{flex:1;min-width:220px}
.pg-nl small{display:block;margin-top:14px;font-size:12px;color:var(--pg-k3)}

.pg-ad{
  border:1px dashed var(--pg-ln);border-radius:var(--pg-r);background:var(--pg-w2);
  display:grid;place-items:center;gap:4px;padding:18px;text-align:center;
}
.pg-ad b{font-size:12px;letter-spacing:-.01em;color:var(--pg-k3);font-weight:600}
.pg-ad span{font-size:11.5px;color:var(--pg-k3)}
.pg-ad--leaderboard{min-height:100px}
.pg-ad--rect{min-height:260px}

.pg-ft{border-top:1px solid var(--pg-ln);background:var(--pg-w2);padding:36px 0 40px;margin-top:0}
.pg-ft__in{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){.pg-ft__in{grid-template-columns:1.4fr 1fr 1fr;gap:32px}}
.pg-ft a{font-size:13.5px;color:var(--pg-k2);display:block;padding:4px 0}
.pg-ft a:hover{color:var(--pg-ac)}
.pg-ft__disc{font-size:12.5px;color:var(--pg-k3);line-height:1.7;max-width:44ch;margin-top:12px}
.pg-ft__h{
  font-size:14px;letter-spacing:-.016em;
  color:var(--pg-k3);margin-bottom:10px;font-weight:600;
}
.pg-ft ul{list-style:none}
.pg-ft__legal{margin-top:28px;padding-top:20px;border-top:1px solid var(--pg-ln);font-size:12px;color:var(--pg-k3)}

/* ==========================================================================
   12. 404 / 빈 상태 / 고정 페이지
   ========================================================================== */
.pg-empty{text-align:center;padding:60px 0 70px;max-width:52ch;margin:0 auto}
.pg-empty__code{font-size:14px;letter-spacing:-.016em;color:var(--pg-ac);font-weight:600}
.pg-empty h1{font-size:30px;margin-top:14px;letter-spacing:-.02em;font-weight:700}
.pg-empty p{margin-top:14px;color:var(--pg-k2);font-size:15.5px;line-height:1.7}
.pg-empty .pg-form{margin-top:24px;text-align:left}
.pg-empty__links{margin-top:24px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.pg-pagehead{padding:40px 0 0;border-bottom:1px solid var(--pg-ln);padding-bottom:24px}
.pg-pagehead h1{font-size:30px;letter-spacing:-.022em;font-weight:700}
@media(min-width:768px){.pg-pagehead h1{font-size:36px}}
.pg-pagehead p{margin-top:11px;color:var(--pg-k2);font-size:15.5px;max-width:58ch;line-height:1.65}

/* 모바일 하단 구매 바 */
.pg-stickybuy{
  position:fixed;left:0;right:0;bottom:0;z-index:45;
  border-top:1px solid var(--pg-ln);background:color-mix(in srgb,var(--pg-w2) 80%,transparent);
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  min-height:64px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  display:none;gap:12px;align-items:center;
}
@media (prefers-reduced-transparency:reduce){
  .pg-stickybuy{background:var(--pg-w2);-webkit-backdrop-filter:none;backdrop-filter:none}
}
/* 하단 고정 바가 포커스된 요소를 가리지 않게 스크롤 여유를 둔다. */
body:has(.pg-stickybuy.is-on){scroll-padding-bottom:88px}
.pg-stickybuy.is-on{display:flex}
@media(min-width:900px){.pg-stickybuy{display:none!important}}
.pg-stickybuy__l{flex:1;min-width:0}
.pg-stickybuy__l b{display:block;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.pg-stickybuy__l span{font-size:12.5px;color:var(--pg-k3);font-variant-numeric:tabular-nums}

/* 관리자 바 보정 */
.admin-bar .pg-hd{top:32px}
@media(max-width:782px){.admin-bar .pg-hd{top:46px}}
