/* Utils 공통 — 로고 워드마크 · 헤더 언어 풀다운 · 하단 법적 링크 · 문서 페이지(pricing / tokushoho / terms / privacy / refund)
   템플릿 변수(--Primary --OnSurface --Secondary --Surface --DarkSurface --Line)만 쓰므로 dark/light 자동 */

/* 로고: 텍스트 워드마크만 */
.pg-logo{display:inline-flex;align-items:center;gap:10px;color:var(--OnSurface);text-decoration:none}
.pg-logo:hover{color:var(--OnSurface)}
.pg-logo-text{font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1;white-space:nowrap}

/* 헤더 언어 풀다운 (index: app.js · 그 외: site.js 가 토글) */
.pg-lang{position:relative}
.pg-lang-toggle{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px 0 12px;border-radius:22px;border:1px solid var(--Line);background:transparent;color:var(--OnSurface);font:inherit;font-size:14px;cursor:pointer}
.pg-lang-caret{display:inline-block;font-size:16px;transform:rotate(-90deg);transition:transform .15s}
.pg-lang.open .pg-lang-caret{transform:rotate(90deg)}
.pg-lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:150px;max-height:min(80vh,600px);overflow-y:auto;margin:0;padding:6px;list-style:none;background:var(--Surface);border:1px solid var(--Line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);display:none;z-index:50;scrollbar-width:thin}  /* 13개 언어 — 작은 화면에서는 스크롤 */
.pg-lang.open .pg-lang-menu{display:block}
.pg-lang-menu li{margin:0}
.pg-lang-menu a{display:block;padding:7px 12px;border-radius:8px;color:var(--OnSurface);text-decoration:none;font-size:14px;line-height:22px;white-space:nowrap}
.pg-lang-menu a:hover,.pg-lang-menu a.active{background:rgba(49,248,163,.12);color:var(--Primary)}

/* 하단 법적 링크 (모든 페이지) — Stripe 심사·特商法: 운영자·표기·약관·개인정보·환불·문의가 어느 페이지에서나 1클릭 */
/* 폼 컨트롤(index 설정 패널 · contact 문의 폼 공통) — 템플릿 변수만 써서 dark/light 자동 */
.pg-select,.pg-input{width:100%;padding:10px 14px;border:1px solid rgba(128,128,128,.35);border-radius:12px;background:transparent;color:inherit;font:inherit}
.pg-select option{color:#111}
.pg-textarea{min-height:180px;resize:vertical;line-height:1.6}
.pg-input:focus,.pg-select:focus{outline:none;border-color:var(--Primary)}
/* 문의 폼(contact.html) */
.pg-form{display:grid;gap:18px;max-width:720px;margin-top:22px}
.pg-form .pg-field label{display:block;margin-bottom:6px;font-size:13px;color:var(--Secondary)}
.pg-row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.pg-result:empty{display:none}
.pg-result{font-size:14px}
.pg-result.is-sending{color:var(--Secondary)}
.pg-result.is-ok{color:var(--Primary)}
.pg-result.is-err{color:#ff7b7b}
.pg-form button[disabled]{opacity:.6;pointer-events:none}
.pg-privacy{font-size:12px;line-height:1.7;color:var(--Secondary);margin:0}
.pg-privacy a{color:var(--Secondary);text-decoration:underline}
@media (max-width:640px){.pg-row2{grid-template-columns:1fr}}
.pg-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:auto;padding:22px 0 4px;border-top:1px solid var(--Line);font-size:13px;color:var(--Secondary)}
.pg-foot a{color:var(--Secondary);text-decoration:none}
.pg-foot a:hover{color:var(--Primary)}
.pg-foot .sep{opacity:.4}

/* 문서 페이지 컨테이너 (일반 흐름 — 긴 글이라 페이지 전체가 스크롤) */
.pg-doc{display:flex;flex-direction:column;min-height:100%;padding:40px;color:var(--OnSurface)}
.pg-doc article{max-width:860px}
.pg-doc article[hidden]{display:none}
.pg-doc h4{margin-bottom:10px}
.pg-doc h5{margin:34px 0 10px;font-size:18px}
.pg-doc h6{margin:22px 0 6px;font-size:15px;font-weight:700}
.pg-doc p,.pg-doc li,.pg-doc td,.pg-doc th,.pg-doc dd,.pg-doc dt{font-size:15px;line-height:1.8}
.pg-doc p{margin:0 0 12px}
.pg-doc ul,.pg-doc ol{margin:0 0 14px 22px;padding:0}
.pg-doc ul{list-style:disc}
.pg-doc ol{list-style:decimal}
.pg-doc li{margin:3px 0}
.pg-doc a{color:var(--Primary)}
.pg-doc a.tf-button,.pg-doc a.tf-button:hover{color:#0E0E14}  /* 템플릿 버튼 글자색 복원(.pg-doc a 가 덮어쓰지 않게) */
.pg-doc .lead{font-size:16px;color:var(--Secondary)}
.pg-doc .meta{font-size:13px;color:var(--Secondary);margin-bottom:28px}
.pg-doc .note{padding:14px 18px;border:1px solid var(--Line);border-left:4px solid var(--Primary);border-radius:10px;background:var(--DarkSurface);margin:18px 0}
.pg-doc .toc{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 16px;border:1px solid var(--Line);border-radius:12px;font-size:13px;margin-bottom:8px}
.pg-doc .toc a{color:var(--Secondary)}
.pg-doc .toc a:hover{color:var(--Primary)}

/* 特商法 표 · 비교표 */
.pg-table{width:100%;border-collapse:collapse;margin:14px 0 20px}
.pg-table th,.pg-table td{padding:12px 14px;border-bottom:1px solid var(--Line);vertical-align:top;text-align:left}
.pg-table th{width:220px;color:var(--Secondary);font-weight:600;white-space:nowrap}
.pg-table td,.pg-table th,.pg-doc p,.pg-doc li{overflow-wrap:anywhere}  /* 긴 URL·메일이 모바일에서 가로 넘침 방지 */
.pg-table thead th,.pg-table.compare th{width:auto;white-space:normal}
.pg-table.compare thead th{color:var(--OnSurface);border-bottom:2px solid var(--Line)}
.pg-table.compare td{text-align:center}
.pg-table.compare td:first-child{text-align:left}
.pg-table .ok{color:var(--Primary);font-weight:700}
.pg-table .no{color:var(--Secondary)}
.pg-table .hl{color:var(--Primary);font-weight:700}
@media (max-width:640px){
  .pg-doc{padding:24px 18px}
  .pg-table{table-layout:fixed}
  .pg-table th{width:110px;white-space:normal}
  .pg-table thead th{width:auto}
  .pg-table th,.pg-table td{padding:10px 8px;font-size:14px}
}

/* 요금 카드 (템플릿 .pricing-box 위에 덧씀) */
.pg-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin:22px 0 10px}
.pg-plans .pricing-box{display:flex;flex-direction:column;gap:14px;padding:28px}
.pg-plans .pricing-box.featured{border-color:var(--Primary);box-shadow:0 0 0 1px var(--Primary) inset}
.pg-plans .plan-name{font-size:14px;font-weight:700;letter-spacing:.4px;color:var(--Secondary);text-transform:uppercase}
.pg-plans .price{font-size:40px;line-height:1.1}
.pg-plans .price small{display:block;font-size:14px;font-weight:500;color:var(--Secondary);line-height:1.4}
.pg-plans .per{font-size:13px;color:var(--Secondary);margin:0}
.pg-plans ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.pg-plans ul li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.55}
.pg-plans ul li i{color:var(--Primary);margin-top:4px}
.pg-plans .tf-button{margin-top:auto;justify-content:center}
.pg-plans .tf-button[aria-disabled="true"]{opacity:.55;pointer-events:none}
.pg-badge{display:inline-block;padding:3px 10px;border-radius:99px;background:rgba(49,248,163,.14);color:var(--Primary);font-size:12px;font-weight:700;letter-spacing:.3px}
.pg-soon{font-size:12px;color:var(--Secondary);text-align:center;margin:0}

/* FAQ */
.pg-faq details{border:1px solid var(--Line);border-radius:12px;padding:0 18px;margin-bottom:10px;background:var(--DarkSurface)}
.pg-faq summary{padding:14px 0;cursor:pointer;font-weight:600;font-size:15px;list-style:none}
.pg-faq summary::-webkit-details-marker{display:none}
.pg-faq summary::before{content:"+";display:inline-block;width:18px;color:var(--Primary);font-weight:700}
.pg-faq details[open] summary::before{content:"–"}
.pg-faq details p{padding:0 0 14px 18px;margin:0;color:var(--Secondary)}

/* 사이드바 메뉴의 '곧 출시' 뱃지 */
.menu-item .text .pg-badge{margin-left:8px;padding:1px 7px;font-size:10px;vertical-align:middle}

/* 사이드바 「写真ならべ」 시리즈 — 출력 형식 아이콘(아이콘 폰트에 Excel·PPT 가 없어 글자 배지) + 준비 중 항목 */
.pg-fmt{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:11px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#fff;user-select:none}
.pg-fmt-xlsx{background:#1d6f42}
.pg-fmt-pptx{background:#c43e1c}
.pg-fmt-ai{background:#ff9a00;color:#300}
.pg-fmt-psd{background:#31a8ff;color:#001e36}
.menu-item.soon a{opacity:.55;pointer-events:none;cursor:default}
.pg-soon-tag{margin-left:auto;padding:2px 7px;border:1px solid var(--Line);border-radius:99px;font-size:10px;line-height:14px;font-weight:600;color:var(--Secondary);white-space:nowrap}
.menu-item a > .pg-prem,.menu-item a .pg-tags{margin-left:auto;flex-shrink:0}
/* PREMIUM + 준비 중 두 꼬리표는 세로로 쌓는다 — 가로로 두면 en 「Coming soon」 등이 사이드바 폭을 넘쳐 잘림 */
.menu-item a .pg-tags{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px}
.menu-item a .pg-tags .pg-soon-tag{margin-left:0;padding:1px 6px;line-height:13px}
.menu-item a .pg-tags .pg-prem{padding:1px 6px 1px 5px;line-height:13px}

/* PREMIUM 배지 — 유료 출력 형식(PowerPoint · Illustrator · Photoshop) 표시. 금빛 그라디언트 + 은은한 글로우 애니메이션
   사이드바 항목(.menu-item) · 페이지 제목 옆(h4) · 잠금 안내 · 요금 카드에 공통. 준비 중 항목에서는 부모의 opacity 로 자연히 흐려짐 */
.pg-prem{display:inline-flex;align-items:center;gap:3px;padding:2px 7px 2px 6px;border-radius:99px;background:linear-gradient(135deg,#ffe29a 0%,#f7b733 45%,#ff8a3d 100%);color:#2a1600;font-size:9.5px;line-height:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,190,70,.35),0 0 10px rgba(255,170,50,.45);animation:pg-prem-glow 2.4s ease-in-out infinite}
.pg-prem::before{content:"✦";font-size:9px;line-height:1}
h4 .pg-prem,h5 .pg-prem{margin-left:10px;padding:3px 9px 3px 8px;font-size:11px;line-height:16px;vertical-align:middle;position:relative;top:-3px}
@keyframes pg-prem-glow{0%,100%{box-shadow:0 0 0 1px rgba(255,190,70,.35),0 0 8px rgba(255,170,50,.35)}50%{box-shadow:0 0 0 1px rgba(255,210,110,.7),0 0 18px rgba(255,180,60,.75)}}
@media (prefers-reduced-motion:reduce){.pg-prem{animation:none}}

/* 잠금 안내(pptx.html · 라이선스 없을 때 app.js 가 표시) + 잠긴 생성 버튼 */
.pg-prem-note{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 18px;padding:12px 16px;border:1px solid rgba(247,183,51,.45);border-radius:12px;background:linear-gradient(90deg,rgba(247,183,51,.14),rgba(255,138,61,.06));font-size:14px;line-height:1.55;color:var(--OnSurface)}
.pg-prem-note[hidden]{display:none}
.pg-prem-note .pg-prem-cta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;background:linear-gradient(135deg,#ffe29a,#f7b733 55%,#ff8a3d);color:#2a1600;font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}
.pg-prem-note .pg-prem-cta:hover{filter:brightness(1.06);color:#2a1600}
.tf-button.pg-locked{background:linear-gradient(135deg,#ffe29a,#f7b733 55%,#ff8a3d);color:#2a1600;box-shadow:0 0 14px rgba(255,170,50,.45)}
.tf-button.pg-locked:hover{filter:brightness(1.05)}
