/* 글로벌 PR — 편집국 마스트헤드 + 매체 데이터베이스.
   이 파일의 새 클래스는 전부 pr- 접두사. 색·타이포는 site.css :root 토큰만 사용한다. */

/* ══ 1. 마스트헤드 ══════════════════════════════════════════ */
.pr-mast{background:var(--panel);border-bottom:1px solid var(--line2);padding:22px 0 0}

.pr-flag{display:flex;align-items:baseline;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;padding-bottom:11px}
.pr-flag .pr-fl{color:var(--acc);letter-spacing:.24em}
.pr-flag .pr-fr{display:flex;gap:8px 20px;flex-wrap:wrap;color:var(--faint)}
.pr-flag .pr-fr .num{color:var(--muted)}

/* 괘선 — 이중 괘선(굵은 위 + 가는 아래)이 이 페이지의 판형 신호 */
.pr-drule{height:5px;border-top:3px solid var(--ink);border-bottom:1px solid var(--line3)}
.pr-rule{height:1px;background:var(--line2)}

.pr-np{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 32px;align-items:end;padding:26px 0 18px}
.pr-nameplate{margin:0;font-size:clamp(46px,9.2vw,124px);font-weight:800;letter-spacing:-.055em;line-height:.84;word-break:keep-all}
.pr-np-e{margin:0 0 12px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);text-align:right;line-height:1.9}

/* 데크 — 신문 단 조판 */
.pr-deck{columns:2;column-gap:48px;padding:22px 0 26px}
.pr-deck p{margin:0 0 12px;color:var(--muted);font-size:15px;font-weight:400;line-height:1.8;break-inside:avoid}
.pr-deck p:last-child{margin-bottom:0}
.pr-deck b{color:var(--ink);font-weight:600}

/* 판형 데이터 — 세로 괘선으로 나뉜 4칸 */
.pr-facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2);border-bottom:3px solid var(--ink)}
.pr-fact{padding:18px 24px 20px;border-left:1px solid var(--line)}
.pr-fact:first-child{border-left:0;padding-left:0}
.pr-fact .k{display:block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.pr-fact .v{display:block;font-family:var(--mono);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1;margin-top:10px}
.pr-fact .v em{font-style:normal;font-size:13px;font-weight:500;letter-spacing:0;color:var(--acc);margin-left:3px}
.pr-fact .v.t{font-family:var(--sans);font-size:19px;letter-spacing:-.02em}

/* ══ 2. 색인 · 검색 콘솔 ═══════════════════════════════════ */
.pr-index{padding:44px 0 0}
.pr-index-h{margin-bottom:20px}
.pr-index-h h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 8px;letter-spacing:-.03em;word-break:keep-all}
.pr-index-h p{margin:0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.7;max-width:46em}

.pr-console{position:sticky;top:60px;z-index:20;background:rgba(10,10,10,.88);backdrop-filter:blur(12px);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.pr-console-in{display:flex;flex-direction:column;gap:10px;padding-top:12px;padding-bottom:12px}
.pr-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.pr-find{display:flex;align-items:center;gap:10px;flex:1 1 300px;min-width:0;height:42px;padding:0 14px;border:1px solid var(--line2);background:var(--card);border-radius:4px;transition:border-color .12s,box-shadow .12s}
.pr-find svg{color:var(--faint);flex:0 0 auto}
.pr-find:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.pr-find:focus-within svg{color:var(--acc)}
.pr-find input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--ink);font:inherit;font-size:14.5px;padding:0}
.pr-find input::placeholder{color:var(--faint)}
.pr-find input::-webkit-search-cancel-button{-webkit-appearance:none}

.pr-sort{position:relative;display:flex;align-items:center;gap:9px;flex:0 0 auto}
.pr-sort .mlab{color:var(--faint)}
.pr-sort select{color-scheme:dark;appearance:none;-webkit-appearance:none;height:42px;padding:0 34px 0 13px;border:1px solid var(--line2);border-radius:4px;background:var(--card);color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.08em;cursor:pointer}
.pr-sort::after{content:"";position:absolute;right:14px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.5px solid var(--faint);border-bottom:1.5px solid var(--faint);transform:rotate(45deg);pointer-events:none}
.pr-sort select:hover{border-color:var(--line3)}

.pr-count{margin:0 0 0 auto;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--faint);white-space:nowrap}
.pr-count b{color:var(--acc);font-weight:700;font-size:14px}

.pr-chiprow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pr-chipset{display:flex;gap:6px;flex-wrap:wrap}
.pr-div{width:1px;align-self:stretch;min-height:24px;background:var(--line2);margin:0 4px}
/* 편집국 판형에 맞춰 칩을 각지게 — 범위는 콘솔 안으로 한정 */
.pr-console .chip{display:inline-flex;align-items:center;gap:7px;border-radius:3px;padding:6px 12px;font-size:12px;letter-spacing:.1em}
.pr-console .chip i{font-style:normal;font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--faint)}
.pr-console .chip.on i{color:rgba(0,0,0,.55)}

/* ══ 3. 매체 테이블 ════════════════════════════════════════ */
.pr-pane{margin-top:18px;background:var(--panel);border-color:var(--line2);border-radius:8px;max-height:min(74vh,880px);overflow:auto}
.pr-tbl{min-width:1000px}
.pr-tbl thead th{position:sticky;top:0;z-index:3;background:var(--panel);border-bottom:0;box-shadow:0 1px 0 var(--line3)}
.pr-tbl tbody tr{cursor:pointer}
.pr-tbl .pr-c-name{min-width:280px}
.pr-tbl .pr-c-name a:hover{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.pr-tbl td.pr-c-m{white-space:nowrap}
.pr-tbl .pr-c-price{font-weight:600;font-size:14px}
.pr-tag{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);border-radius:3px;padding:3px 8px;white-space:nowrap}
.pr-dr{display:block;font-family:var(--mono);font-size:12px;color:var(--dim);margin-top:3px;letter-spacing:.04em}
.pr-tbl .addbtn{border-radius:3px}
.pr-off{display:none!important}

.pr-empty{margin-top:18px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:56px 28px 60px;text-align:center}
.pr-empty b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;margin-bottom:10px}
.pr-empty p{margin:0 auto 22px;max-width:40em;color:var(--muted);font-size:14px;font-weight:400;line-height:1.75}
.pr-empty-a{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

.pr-fine{margin:0;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);line-height:1.8}
.pr-fine-tbl{padding:14px 2px 0}

/* ══ 4. 지표 읽는 법 ═══════════════════════════════════════ */
.pr-band{margin-top:72px;padding:60px 0 64px;background:var(--panel);border-top:1px solid var(--line2);border-bottom:1px solid var(--line)}
.pr-band-h{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.pr-band-h h2{font-size:clamp(24px,3vw,34px);margin:0;letter-spacing:-.03em;word-break:keep-all}
.pr-band-h .mlab{color:var(--acc)}
.pr-band-d{margin:12px 0 0;color:var(--muted);font-size:14.5px;font-weight:400;line-height:1.7;max-width:44em}

.pr-notes{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:1px solid var(--line2)}
.pr-note{padding:24px 24px 6px;border-left:1px solid var(--line)}
.pr-note:first-child{border-left:0;padding-left:0}
.pr-note b{display:block;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:11px}
.pr-note p{margin:0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.8;word-break:keep-all}

.pr-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px 48px;align-items:end;margin-top:48px;padding-top:28px;border-top:3px solid var(--ink)}
.pr-cta-t .mlab{display:block;color:var(--faint)}
.pr-cta-t h3{margin:12px 0 10px;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.03em;line-height:1.25;max-width:22em;word-break:keep-all}
.pr-cta-t p{margin:0;color:var(--muted);font-size:14px;font-weight:400;line-height:1.75;max-width:44em}
.pr-cta-a{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.pr-cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.pr-cta-a .pr-fine{text-align:right}

/* ══ 반응형 ═══════════════════════════════════════════════ */
@media (max-width:1060px){
  .pr-facts{grid-template-columns:repeat(2,1fr)}
  .pr-fact:nth-child(3){border-left:0;padding-left:0}
  .pr-fact:nth-child(n+3){border-top:1px solid var(--line)}
  .pr-notes{grid-template-columns:repeat(2,1fr)}
  .pr-note:nth-child(3){border-left:0;padding-left:0}
  .pr-note:nth-child(n+3){border-top:1px solid var(--line);padding-top:24px}
}
@media (max-width:900px){
  .pr-cta{grid-template-columns:1fr;align-items:start}
  .pr-cta-a{align-items:flex-start}
  .pr-cta-a .pr-fine{text-align:left}
}

/* 820px 이하 — 콘솔 고정 해제 + 표를 카드로 전환(가로 스크롤 제거) */
@media (max-width:820px){
  .pr-console{position:static;backdrop-filter:none;background:none}
  .pr-count{margin-left:0;order:3;flex:1 1 100%}
  .pr-find{flex:1 1 100%}
  .pr-sort{flex:1 1 100%}
  .pr-sort select{width:100%}

  .pr-pane{max-height:none;overflow:visible;background:none;border:0;border-radius:0}
  .pr-tbl{min-width:0;display:block;width:100%}
  .pr-tbl thead{display:none}
  .pr-tbl tbody{display:block}
  .pr-tbl tbody tr{display:block;position:relative;background:var(--panel);border:1px solid var(--line2);border-radius:8px;padding:16px 15px 58px;margin-bottom:9px}
  .pr-tbl tbody tr:hover td{background:none}
  .pr-tbl td{display:inline;padding:0;border:0;font-size:13.5px;color:var(--muted)}
  .pr-tbl .pr-c-name{display:block;min-width:0;margin-bottom:9px;font-size:16.5px;color:var(--ink)}
  .pr-tbl td.pr-c-m + td.pr-c-m::before{content:"·";margin:0 7px;color:var(--dim)}
  .pr-tbl .pr-c-price{display:block;margin-top:13px;font-family:var(--mono);font-size:17px;font-weight:700;color:var(--ink)}
  .pr-tbl .pr-c-price::before{content:"게재가";display:block;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:3px}
  .pr-tbl .pr-c-add{position:absolute;right:14px;bottom:15px}
  .pr-fine-tbl{padding-top:16px}
}
@media (max-width:640px){
  .pr-mast{padding-top:16px}
  .pr-np{grid-template-columns:1fr;gap:10px;padding:20px 0 14px}
  .pr-np-e{text-align:left;margin-bottom:0}
  .pr-np-e br{display:none}
  .pr-deck{columns:1;padding:18px 0 22px}
  .pr-facts{grid-template-columns:1fr 1fr}
  .pr-fact{padding:14px 16px 16px}
  .pr-fact .v{font-size:23px}
  .pr-index{padding-top:34px}
  .pr-band{margin-top:56px;padding:48px 0 52px}
  .pr-notes{grid-template-columns:1fr}
  .pr-note{border-left:0;padding:22px 0 4px;border-top:1px solid var(--line)}
  .pr-note:first-child{border-top:0;padding-top:22px}
  .pr-empty{padding:44px 20px 46px}
}
