/*
Theme Name: 폰 언락 노트 (neve)
Template: neve
Version: 1.261031.0142
Description: 폰 언락 노트 전용 꾸미기. 설계서(profile.json)의 색·글꼴이 :root 변수로 들어오고, 주제 맞춤 CSS 는 아래 "주제 맞춤" 절에 쓴다.
*/
:root {
  --pbn-primary: #15803d;
  --pbn-accent: #d97706;
  --pbn-bg: #f7fbf7;
  --pbn-text: #14211a;
  --pbn-heading-font: "Nanum Gothic", sans-serif;
  --pbn-body-font: "Noto Sans KR", sans-serif;
}
body { background: var(--pbn-bg); color: var(--pbn-text); font-family: var(--pbn-body-font); font-size: 16px; line-height: 1.75; }
h1, h2, h3, h4, .site-title { font-family: var(--pbn-heading-font); }
a { color: var(--pbn-primary); }
a:hover { color: var(--pbn-accent); }
.site-header, .main-header-bar, .site-header-inner { border-bottom: 3px solid var(--pbn-primary); }

/* 글 속 요소 — Serotonin 글 엔진이 이 클래스를 쓴다(요약 상자·표·체크리스트·자주 묻는 질문). 이름은 고정, 모양은 노드마다 다르게 */
.pbn-summary { background: color-mix(in srgb, var(--pbn-primary) 8%, white); border-left: 4px solid var(--pbn-primary); padding: 1rem 1.25rem; margin: 1.5rem 0; border-radius: 6px; }
.pbn-summary strong { color: var(--pbn-primary); }
.pbn-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 15px; }
.pbn-table th { background: var(--pbn-primary); color: #fff; text-align: left; padding: .6rem .75rem; }
.pbn-table td { border-bottom: 1px solid #e5e7eb; padding: .6rem .75rem; }
.pbn-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pbn-checklist { list-style: none; padding-left: 0; }
.pbn-checklist li { padding-left: 1.75rem; position: relative; margin: .4rem 0; }
.pbn-checklist li::before { content: "✓"; position: absolute; left: .25rem; color: var(--pbn-accent); font-weight: 700; }
.pbn-faq details { border: 1px solid #e5e7eb; border-radius: 6px; padding: .75rem 1rem; margin: .5rem 0; }
.pbn-faq summary { cursor: pointer; font-weight: 600; font-family: var(--pbn-heading-font); }
.pbn-author-box { display: flex; gap: 1rem; align-items: center; padding: 1rem; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; }

/* 모바일(390px) 우선 — 12px 미만 글자·44px 미만 탭 금지 */
@media (max-width: 480px) {
  body { font-size: 16px; }
  .pbn-table { font-size: 14px; }
  .site-header a, .main-navigation a { min-height: 44px; display: inline-flex; align-items: center; }
}

/* ===== 주제 맞춤 (⑧ 꾸미기에서 세션이 쓴다: 첫 화면 구성·분위기·헤더·사이드바·푸터) ===== */

/* ===== unlockcode4blackberry.com 주제 맞춤 (테크 가이드 — 흰 바탕, 청록 포인트, 단계 번호) ===== */
:root { --uc-teal: #0f766e; --uc-teal-2: #14b8a6; --uc-teal-bg: #ecfdf9; --uc-line: #e2e8e7; --uc-ink: #13201f; --uc-muted: #55625f; }
body, .neve-main, .nv-content-wrap { background: #fff; color: var(--uc-ink); }
body { word-break: keep-all; }
a { color: var(--uc-teal); }
a:hover, a:focus { color: #115e59; }
h1, h2, h3, h4 { color: var(--uc-ink); letter-spacing: -.01em; }

/* 헤더 — 흰 바탕 + 얇은 청록 선 */
.header-main, .header-main-inner, .hfg_header .header-main { background: #fff !important; }
.site-header, .hfg_header { border-bottom: 1px solid var(--uc-line); box-shadow: 0 2px 0 var(--uc-teal-2); }
.site-logo img, .custom-logo { max-width: 260px !important; width: 260px; height: auto !important; max-height: none !important; }
.site-logo .site-title, .site-logo small, .nv-title-tagline-wrap { display: none !important; }
.nav-menu-primary .primary-menu-ul > li > .wrap > a, .nav-menu-primary .primary-menu-ul a { color: var(--uc-ink) !important; font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
.nav-menu-primary .primary-menu-ul a:hover { color: var(--uc-teal) !important; }
.navbar-toggle { min-width: 44px; min-height: 44px; }

/* 홈 */
.uc-home { padding-top: 26px; padding-bottom: 40px; max-width: 1080px; }
.uc-hero { border: 1px solid var(--uc-line); border-top: 4px solid var(--uc-teal); border-radius: 12px; padding: 30px 30px 26px; background: linear-gradient(180deg, var(--uc-teal-bg), #fff 70%); }
.uc-eyebrow { margin: 0 0 8px; color: var(--uc-muted); font-size: .9rem; }
.uc-eyebrow span { display: inline-block; background: var(--uc-teal); color: #fff; font-weight: 700; font-size: .75rem; letter-spacing: .1em; border-radius: 4px; padding: 2px 8px; margin-right: 6px; }
.uc-hero h1 { font-size: 2.1rem; margin: 0 0 6px; }
.uc-lead { font-size: 1.1rem; color: #33413f; margin: 0 0 18px; }
.uc-flow { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.uc-flow li { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--uc-line); border-radius: 999px; padding: 6px 14px 6px 6px; font-size: .92rem; color: #33413f; }
.uc-flow b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--uc-teal-2); color: #fff; font-size: .85rem; }

.uc-h2 { font-size: 1.3rem; margin: 34px 0 14px; display: flex; align-items: center; gap: 10px; }
.uc-h2::before { content: ""; width: 6px; height: 22px; background: var(--uc-teal-2); border-radius: 3px; }

.uc-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.uc-tiles li { margin: 0; }
.uc-tiles a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 16px 16px; min-height: 44px; border: 1px solid var(--uc-line); border-radius: 10px; text-decoration: none; background: #fff; transition: border-color .15s, box-shadow .15s; }
.uc-tiles a:hover { border-color: var(--uc-teal-2); box-shadow: 0 4px 14px rgba(15,118,110,.10); }
.uc-step { font-family: Menlo, Consolas, monospace; font-weight: 700; font-size: 1.05rem; color: #fff; background: var(--uc-teal); border-radius: 8px; width: 44px; height: 44px; display: grid; place-items: center; }
.uc-tile-body strong { display: block; color: var(--uc-ink); font-size: 1.05rem; }
.uc-tile-body small { display: block; color: var(--uc-muted); font-size: .9rem; margin-top: 2px; }
.uc-arrow { color: var(--uc-teal-2); font-size: 1.2rem; }

.uc-posts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--uc-line); }
.uc-posts li { margin: 0; padding: 16px 2px; border-bottom: 1px solid var(--uc-line); }
.uc-post-meta { display: flex; gap: 10px; align-items: center; font-size: .85rem; color: var(--uc-muted); margin-bottom: 4px; }
.uc-chip { background: var(--uc-teal-bg); color: var(--uc-teal); border: 1px solid #c5ece4; border-radius: 4px; padding: 0 8px; font-weight: 700; }
.uc-post-title { font-weight: 700; font-size: 1.12rem; color: var(--uc-ink); text-decoration: none; }
.uc-post-title:hover { color: var(--uc-teal); }
.uc-posts p { margin: 4px 0 0; color: var(--uc-muted); font-size: .95rem; }
.uc-author { margin-top: 30px; }
.pbn-author-box { border: 1px solid var(--uc-line); border-left: 4px solid var(--uc-teal-2); background: #fff; }

/* 사이드바 */
.uc-side { display: flex; flex-direction: column; gap: 14px; }
.uc-side-box { border: 1px solid var(--uc-line); border-radius: 10px; padding: 14px 16px; background: #fff; }
.uc-side-box .pbn-author-box { border: 0; padding: 0; }
.uc-side-title { font-size: 1rem; margin: 0 0 8px; }
.uc-side-steps { list-style: none; margin: 0; padding: 0; counter-reset: uc; }
.uc-side-steps li { counter-increment: uc; margin: 0; border-top: 1px dashed var(--uc-line); }
.uc-side-steps li:first-child { border-top: 0; }
.uc-side-steps a { display: flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; color: var(--uc-ink); font-weight: 600; }
.uc-side-steps a::before { content: counter(uc, decimal-leading-zero); font-family: Menlo, monospace; font-size: .8rem; color: #fff; background: var(--uc-teal-2); border-radius: 5px; padding: 2px 6px; }
.uc-side-note p { margin: 0; font-size: .92rem; color: var(--uc-muted); }

/* 글 속 요소 — 단계 번호가 보이는 안내형 */
.entry-content h2 { border-left: 5px solid var(--uc-teal-2); padding-left: .6rem; }
.entry-content ol { counter-reset: ucs; list-style: none; padding-left: 0; }
.entry-content ol > li { counter-increment: ucs; position: relative; padding-left: 2.6rem; margin: .7rem 0; min-height: 30px; }
.entry-content ol > li::before { content: counter(ucs); position: absolute; left: 0; top: .1rem; width: 28px; height: 28px; border-radius: 50%; background: var(--uc-teal); color: #fff; font-weight: 700; font-size: .9rem; display: grid; place-items: center; }
.entry-content .pbn-summary { background: var(--uc-teal-bg); border-left-color: var(--uc-teal); }
.entry-content .pbn-summary strong { color: var(--uc-teal); }
.entry-content .pbn-table th { background: var(--uc-teal); }
.pbn-checklist li::before { content: "☑"; color: var(--uc-teal); }
.pbn-faq details { border-color: var(--uc-line); }
.pbn-faq summary { color: var(--uc-teal); }
.nv-meta-list .author, .nv-meta-list .meta.author, .nv-meta-list li.author { display: none !important; }
.nv-post-cover, .nv-page-title-wrap { background: var(--uc-teal-bg); }

/* 푸터 */
.hfg_footer .footer-bottom, .footer-bottom-inner, .site-footer .footer--row { background: #0f2a2a !important; color: #c8dad7 !important; }
.hfg_footer p { margin: 0; font-size: .9rem; }

@media (max-width: 760px) {
  .uc-hero { padding: 22px 18px 20px; }
  .uc-hero h1 { font-size: 1.6rem; }
  .uc-tiles { grid-template-columns: 1fr; }
  .site-logo img, .custom-logo { width: 200px; }
}

/* ⑧ 캡처 보정 — 모바일에서는 왼쪽 사이드바를 본문 아래로(본문 먼저) */
@media (max-width: 959px) {
  .neve-main .container > .row { display: flex; flex-direction: column; }
  .neve-main .container > .row > .nv-sidebar-wrap { order: 2; margin-top: 28px; }
  .neve-main .container > .row > :not(.nv-sidebar-wrap) { order: 1; }
}
