/* =========================================================
   skin/board/hive_faq_v2/style.css
   V2 FAQ 게시판 스킨 — V2 가이드 .faq 섹션 그대로 보드 페이지화
========================================================= */

/* 토큰 (sub_ext/_shared/guide.css 와 동일) */
.hfv2 {
  --bg:#F2EEE5;
  --bg-soft:#EAE5D8;
  --ink:#1F2A22;
  --ink-mute:#5C6B5F;
  --leaf:#5B7754;
  --leaf-soft:#9CB096;
  --dawn:#C7CEA9;
  --cream:#252B1E;
  --line:rgba(31,42,34,0.12);
  --line-soft:rgba(31,42,34,0.06);
  --enter:cubic-bezier(.22,1,.36,1);
  background:var(--cream);
  color:#fff;
  padding:120px 0 200px;
  font-family:'Pretendard','Noto Sans KR',sans-serif;
  letter-spacing:-.005em;
}
.hfv2 *{box-sizing:border-box}
.hfv2 .hive_b{max-width:1200px;margin:0 auto;padding:0 5vw;position:relative}

/* 폰트 유틸리티 */
.hfv2 .pret{font-family:'Pretendard','Noto Sans KR',sans-serif;font-weight:400}
.hfv2 .eng_b2{font-family:'Cormorant SC','Sorts Mill Goudy',Georgia,serif;font-weight:400;letter-spacing:0.02em}
.hfv2 .index_f16{font-size:16px;line-height:1.75}
.hfv2 .index_f18{font-size:18px;line-height:1.7}
.hfv2 .index_f25{font-size:25px;line-height:1.4}
.hfv2 .index_f30{font-size:30px;line-height:1.3}
.hfv2 .index_f50{font-size:50px;line-height:1.15;letter-spacing:.01em}
@media (max-width:768px){
  .hfv2 .index_f50{font-size:34px}
  .hfv2 .index_f30{font-size:22px}
}

/* 헤더 (eyebrow + title + lead) */
.hfv2-head{text-align:center;margin-bottom:64px}
.hfv2-eyebrow{
  display:inline-block;
  color:var(--dawn);
  font-size:14px;
  letter-spacing:0.32em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hfv2-head h1{
  color:#fff;
  font-weight:400;
  margin:0 0 24px;
}
.hfv2-head h1 .ko{
  display:block;
  color:rgba(255,255,255,0.85);
  margin-top:10px;
}
.hfv2-lead{
  max-width:620px;
  margin:32px auto 0;
  color:rgba(255,255,255,0.72);
}

/* 컨트롤 (탭 + 검색) */
.hfv2-controls{
  display:grid;
  grid-template-columns:1fr 280px;
  align-items:end;
  gap:32px;
  margin-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,0.18);
}
.hfv2-tabs{
  display:flex;
  gap:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.hfv2-tabs::-webkit-scrollbar{display:none}
.hfv2-tab{
  padding:18px 24px;
  color:rgba(255,255,255,0.55);
  background:transparent;
  border:0;
  font:inherit;
  font-family:'Pretendard',sans-serif;
  position:relative;
  white-space:nowrap;
  cursor:pointer;
  transition:color 0.4s var(--enter);
}
.hfv2-tab::after{
  content:'';
  position:absolute;
  left:0;bottom:-1px;
  width:0;height:2px;
  background:var(--dawn);
  transition:width 0.5s var(--enter);
}
.hfv2-tab:hover{color:#fff}
.hfv2-tab.is-active{color:var(--dawn)}
.hfv2-tab.is-active::after{width:100%}

.hfv2-search{
  position:relative;
  padding-bottom:14px;
}
.hfv2-search-input{
  width:100%;
  border:0;
  background:transparent;
  padding:8px 36px 8px 0;
  color:#fff;
  font-family:inherit;
  outline:none;
  border-bottom:1px solid rgba(255,255,255,0.2);
}
.hfv2-search-input:focus{border-bottom-color:var(--dawn)}
.hfv2-search-input::placeholder{color:rgba(255,255,255,0.45)}
.hfv2-search-icon{
  position:absolute;
  right:0;bottom:24px;
  pointer-events:none;
  color:rgba(255,255,255,0.45);
}
@media (max-width:1024px){
  .hfv2-controls{grid-template-columns:1fr;gap:0}
}

/* 패널 + 아이템 */
.hfv2-panels{margin:0}
.hfv2-panel{display:none}
.hfv2-panel.is-active{display:block;animation:hfv2Fade .6s var(--enter) both}
@keyframes hfv2Fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.hfv2-item{
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.hfv2-item:first-child{border-top:1px solid rgba(255,255,255,0.12)}
.hfv2-q{
  width:100%;
  padding:36px 32px;
  display:grid;
  grid-template-columns:80px 1fr 32px;
  gap:24px;
  align-items:center;
  text-align:left;
  color:#fff;
  background:transparent;
  border:0;
  font:inherit;
  cursor:pointer;
  transition:background .3s var(--enter);
}
.hfv2-q:hover{background:rgba(255,255,255,0.02)}
.hfv2-q:focus-visible{outline:2px solid var(--dawn);outline-offset:-4px}
.hfv2-q-mark{color:var(--dawn);letter-spacing:0.18em;font-size:14px}
.hfv2-q-text{color:#fff;font-weight:500}
.hfv2-q-icon{
  width:32px;height:32px;
  border:1px solid rgba(255,255,255,0.32);
  border-radius:50%;
  position:relative;
  transition:transform .5s var(--enter),border-color .4s var(--enter);
}
.hfv2-q-icon::before,.hfv2-q-icon::after{
  content:'';position:absolute;background:#fff;
  top:50%;left:50%;
}
.hfv2-q-icon::before{width:12px;height:1px;transform:translate(-50%,-50%)}
.hfv2-q-icon::after{width:1px;height:12px;transform:translate(-50%,-50%);transition:transform .5s var(--enter)}
.hfv2-q[aria-expanded="true"] .hfv2-q-icon{border-color:var(--dawn);transform:rotate(45deg)}
.hfv2-q[aria-expanded="true"] .hfv2-q-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.hfv2-a{max-height:0;overflow:hidden;transition:max-height .6s var(--enter)}
.hfv2-q[aria-expanded="true"] + .hfv2-a{max-height:2000px}
.hfv2-a-inner{
  padding:0 32px 36px 136px;
  color:rgba(255,255,255,0.78);
  line-height:1.85;
}
@media (max-width:900px){
  .hfv2-q{grid-template-columns:64px 1fr 28px;padding:28px 20px}
  .hfv2-a-inner{padding:0 20px 28px 92px}
}

/* 검색 결과 없음 / 빈 패널 */
.hfv2-empty{
  padding:64px 0;
  text-align:center;
  color:rgba(255,255,255,0.45);
  font-size:15px;
}
.hfv2-item.is-filtered-out{display:none}
.hfv2-panel.is-search-active .hfv2-item{display:block}

/* 어드민 — 글쓰기 / 편집 / 삭제 버튼 */
.hfv2-admin{
  position:sticky;top:0;z-index:10;
  margin-bottom:24px;
  display:flex;justify-content:flex-end;gap:8px;
  padding:8px 0;
}
.hfv2-admin a, .hfv2-admin button{
  padding:8px 16px;
  background:rgba(199,206,169,0.18);
  border:1px solid rgba(199,206,169,0.4);
  color:var(--dawn);
  text-decoration:none;
  font-size:13px;
  cursor:pointer;
  border-radius:4px;
  transition:background .2s var(--enter);
  font-family:'Pretendard',sans-serif;
}
.hfv2-admin a:hover, .hfv2-admin button:hover{
  background:rgba(199,206,169,0.3);
}
.hfv2-item-actions{
  display:none;
  gap:6px;
  align-items:center;
  margin-left:8px;
}
.hfv2-admin-edit-mode .hfv2-item-actions{display:inline-flex}
.hfv2-item-actions a, .hfv2-item-actions button{
  padding:4px 10px;
  background:rgba(199,206,169,0.12);
  border:1px solid rgba(199,206,169,0.3);
  color:var(--dawn);
  font-size:11px;
  border-radius:3px;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
}
.hfv2-item-actions .is-danger{
  color:#fca5a5;
  background:rgba(239,68,68,0.1);
  border-color:rgba(239,68,68,0.3);
}

/* 페이지네이션 */
.hfv2-pagination{
  display:flex;justify-content:center;align-items:center;
  gap:8px;margin-top:64px;
}
.hfv2-pagination a, .hfv2-pagination strong{
  display:inline-flex;
  width:36px;height:36px;
  align-items:center;justify-content:center;
  color:rgba(255,255,255,0.6);
  text-decoration:none;
  font-size:14px;
  border:1px solid transparent;
  transition:all .2s var(--enter);
  font-family:'Cormorant SC',serif;
}
.hfv2-pagination a:hover{color:#fff;border-color:rgba(255,255,255,0.2)}
.hfv2-pagination strong{color:var(--dawn);border-color:var(--dawn)}
