/* ============================================================
   ZZAN board skin — list.html (뉴스형) 스타일
   레이아웃(layouts/zzan_main/css/layout.css)이 전역으로 로드하는
   CSS 변수(--accent, --border, --surface, --r, --shadow, --mute, --sub, --text)를 그대로 사용.
   ※ zb- 접두사로 스코프를 분리해 어떤 레이아웃에서도 충돌 없이 동작.
   ============================================================ */
.zb-list{min-width:0;margin-top:4px;}

/* 삭제 확인 화면 */
.zb-confirm{max-width:460px;margin:40px auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:32px 28px;text-align:center;}
.zb-confirm__icon{width:60px;height:60px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.zb-confirm__t{font-size:20px;font-weight:900;letter-spacing:-.02em;color:var(--text);}
.zb-confirm__d{font-size:13.5px;color:var(--sub);margin-top:8px;}
.zb-confirm__card{margin:20px 0;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);text-align:left;}
.zb-confirm__ptitle{font-size:15px;font-weight:800;color:var(--text);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.zb-confirm__pmeta{font-size:12px;color:var(--mute);margin-top:7px;display:flex;gap:10px;flex-wrap:wrap;}
.zb-confirm__pw{text-align:left;margin:18px 0 4px;}
.zb-confirm__pw label{display:block;font-size:12.5px;font-weight:700;color:var(--sub);margin-bottom:6px;}
.zb-confirm__pw input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font:inherit;font-size:14px;color:var(--text);outline:0;}
.zb-confirm__pw input:focus{border-color:var(--accent);}
.zb-confirm__btns{display:flex;gap:8px;margin-top:22px;}
.zb-confirm__cancel,.zb-confirm__del{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:12px;border-radius:11px;font-size:14px;font-weight:800;cursor:pointer;border:1px solid var(--border);}
.zb-confirm__cancel{background:var(--surface);color:var(--sub);}
.zb-confirm__cancel:hover{border-color:var(--accent);color:var(--accent);}
.zb-confirm__del{background:var(--accent);border-color:var(--accent);color:#fff;}
.zb-confirm__del:hover{filter:brightness(.94);}

/* 목록 타이틀(스킨 설정에서 지정) — 커뮤니티형 헤더(.zb-bhead)와 크기·여백 통일 */
.zb-phead{margin-bottom:22px;}
.zb-phead__link{display:inline-block;color:inherit;}
.zb-phead__link:hover h1{color:var(--accent);}
.zb-phead h1{font-size:27px;font-weight:900;letter-spacing:-.035em;color:var(--text);transition:color .15s;}
.zb-phead p{font-size:13.5px;color:var(--sub);margin-top:6px;}
.zb-phead h1 b,.zb-bhead h2 b{color:var(--accent);font-weight:inherit;}
/* 타이틀 크기 강제(스킨 설정) — 소형 강제 */
.zb-phead--sm{margin-bottom:14px;}
.zb-phead--sm h1{font-size:21px;letter-spacing:-.025em;}
.zb-phead--sm p{font-size:13px;margin-top:4px;}
/* 대형 강제 */
.zb-bhead--lg .zb-bhead__l h2{font-size:27px;letter-spacing:-.035em;}
.zb-bhead--lg .zb-bhead__l p{font-size:13.5px;margin-top:6px;}

/* 카테고리 탭 */
.zb-cat{display:flex;gap:22px;border-bottom:1px solid var(--border);margin-bottom:22px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;list-style:none;padding:0;}
.zb-cat::-webkit-scrollbar{display:none;}
.zb-cat li{padding:0;}
.zb-cat a{display:block;padding:12px 0;font-size:15px;font-weight:700;color:var(--sub);border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s;}
.zb-cat a:hover{color:var(--text);}
.zb-cat li.is-on a{color:var(--accent);border-bottom-color:var(--accent);}

/* 리드(최신) 기사 */
.zb-lead{display:grid;grid-template-columns:1.15fr 1fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:26px;}
.zb-lead__img{aspect-ratio:16/11;background-size:cover;background-position:center;}
.zb-lead__img--ph{background:linear-gradient(135deg,#3a2350,#7d2b3a 60%,#c2402f);}
.zb-lead__b{padding:26px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.zb-lead__tag{font-size:12px;font-weight:800;color:var(--accent);margin-bottom:10px;}
.zb-lead__t{font-size:25px;font-weight:900;line-height:1.3;letter-spacing:-.03em;color:var(--text);}
.zb-lead:hover .zb-lead__t{color:var(--accent);}
.zb-lead__ex{font-size:14px;color:var(--sub);line-height:1.65;margin-top:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.zb-lead__m{font-size:12.5px;color:var(--mute);margin-top:16px;display:flex;gap:12px;}

/* 카드 그리드 */
.zb-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.zb-card{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:transform .15s,box-shadow .15s;}
.zb-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.zb-card:hover .zb-card__t{color:var(--accent);}
.zb-card__th{aspect-ratio:16/9;background-size:cover;background-position:center;flex:0 0 auto;}
.zb-card__th--ph{background:linear-gradient(135deg,#1f2937,#0e7490);}
.zb-card__b{padding:15px 17px 17px;flex:1;display:flex;flex-direction:column;}
.zb-card__tag{font-size:11px;font-weight:800;color:var(--accent);display:inline-block;margin-bottom:7px;}
.zb-card__t{font-size:16px;font-weight:800;line-height:1.36;letter-spacing:-.02em;transition:color .15s;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(16px * 1.36 * 2);}
.zb-card__ex{font-size:13px;color:var(--sub);line-height:1.6;margin-top:5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;}
.zb-card__m{font-size:12px;color:var(--mute);margin-top:auto;padding-top:11px;display:flex;gap:11px;}

/* 이미지 없는 글 — 텍스트형 카드 (이미지 영역 없이 자연스럽게) */
.zb-lead--noimg{grid-template-columns:1fr;border-top:3px solid var(--accent);}
.zb-lead--noimg .zb-lead__b{padding:34px 36px;}
.zb-lead--noimg .zb-lead__t{font-size:27px;}
.zb-lead--noimg .zb-lead__ex{-webkit-line-clamp:4;font-size:14.5px;margin-top:14px;}
/* 그리드 줄 높이 정렬: 래퍼/카드가 셀 높이를 꽉 채워 옆의 이미지 카드와 높이 일치 */
.zb-grid .zb-itemwrap{height:100%;}
.zb-card--noimg{border-top:3px solid var(--accent);display:flex;flex-direction:column;height:100%;}
.zb-card--noimg .zb-card__b{padding:22px 21px 18px;flex:1;display:flex;flex-direction:column;justify-content:center;}
.zb-card--noimg .zb-card__t{font-size:17px;-webkit-line-clamp:3;}
.zb-card--noimg .zb-card__ex{-webkit-line-clamp:6;margin-top:9px;}
.zb-card--noimg .zb-card__m{margin-top:auto;padding-top:14px;}
/* 관리자 체크박스가 텍스트형 카드 제목을 가리지 않게 */
.zb-itemwrap:has(> .zb-chk) .zb-card--noimg .zb-card__b{padding-top:42px;}
.zb-itemwrap:has(> .zb-chk) .zb-lead--noimg .zb-lead__b{padding-top:48px;}

.zb-empty{text-align:center;padding:60px 0;color:var(--mute);font-size:14px;}

/* 관리자 선택 체크박스 */
.zb-itemwrap{position:relative;}
.zb-chk{position:absolute;top:12px;left:12px;z-index:3;width:20px;height:20px;cursor:pointer;accent-color:var(--accent);}
.zb-selall{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--sub);cursor:pointer;margin-right:auto;}
.zb-selall input{width:15px;height:15px;cursor:pointer;accent-color:var(--accent);}
.zb-simple__chk{width:34px;text-align:center;}
.zb-simple__chk input{width:15px;height:15px;cursor:pointer;accent-color:var(--accent);}

/* 일반 목록형 */
.zb-simple{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;}
.zb-simple th{font-size:12px;font-weight:800;color:var(--mute);padding:11px 12px;border-bottom:1px solid var(--border);text-align:left;}
.zb-simple td{padding:12px;border-bottom:1px solid var(--border);font-size:13.5px;color:var(--text);}
.zb-simple tbody tr:last-child td{border-bottom:0;}
.zb-simple tbody tr:hover{background:var(--surface-2);}
.zb-simple__no{width:52px;text-align:center;color:var(--mute);}
.zb-simple__t a{color:var(--text);font-weight:600;}
.zb-simple__t a:hover{color:var(--accent);}
.zb-simple__cat{font-size:12px;font-weight:800;color:var(--accent);margin-right:6px;}
.zb-simple__cm{color:var(--accent);font-weight:800;font-size:12.5px;margin-left:4px;}

/* 페이지네이션 */
.zb-page{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:22px;}
.zb-page__btn,.zb-page__cur{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 6px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:13.5px;font-weight:700;color:var(--sub);}
.zb-page__btn:hover{border-color:var(--accent);color:var(--accent);}
.zb-page__cur{background:var(--accent);border-color:var(--accent);color:#fff;}

/* ============================================================
   커뮤니티 계열(목록/웹진/커뮤니티) — 목업 zzan_community 반영
   ============================================================ */
.zb-comm{min-width:0;}
.zb-bhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.zb-bhead__l h2{font-size:21px;font-weight:900;letter-spacing:-.025em;color:var(--text);}
.zb-bhead__l h2 a{color:inherit;}
.zb-bhead__l h2 a:hover{color:var(--accent);}
.zb-bhead__l p{font-size:13px;color:var(--sub);margin-top:4px;}
.zb-bwrite,.zb-bwrite:link,.zb-bwrite:visited{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff !important;border:0;font-size:14px;font-weight:800;padding:10px 18px;border-radius:11px;cursor:pointer;text-decoration:none;}
.zb-bwrite:hover{filter:brightness(.94);color:#fff !important;}
.zb-bwrite svg{stroke:#fff;}
.zb-bcats{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px;}
.zb-bcat{font-size:13px;font-weight:700;color:var(--sub);background:var(--surface);border:1px solid var(--border);padding:7px 14px;border-radius:999px;}
.zb-bcat:hover{color:var(--text);}
.zb-bcat.is-on{background:var(--accent);border-color:var(--accent);color:#fff;}
.zb-bpanel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;}

/* 작성자 컴포넌트 */
.zb-au{display:inline-flex;align-items:center;gap:5px;min-width:0;vertical-align:middle;}
.zb-au__lv{flex:0 0 auto;font-size:10px;font-weight:900;background:transparent;border:1px solid currentColor;border-radius:4px;padding:1px 5px;line-height:1.4;}
.zb-au__av{width:20px;height:20px;border-radius:50%;flex:0 0 auto;object-fit:cover;}
.zb-au__av--ph{background:linear-gradient(135deg,#f5793a,#ee3b34);}
.zb-au__nk{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub);font-weight:600;}
.zb-au__bdg{flex:0 0 auto;font-size:13px;line-height:1;margin-left:1px;}
.zb-read__nick .zb-au__bdg,.zb-cmt__nick .zb-au__bdg{margin-left:4px;font-size:14px;vertical-align:1px;}

/* 뱃지 + 레이어 툴팁 */
.zbdg{position:relative;display:inline-flex;align-items:center;cursor:help;flex:0 0 auto;}
.zbdg__ic{font-size:13px;line-height:1;}
.zb-read__nick .zbdg__ic,.zb-cmt__nick .zbdg__ic,.zb-aucard__top .zbdg__ic{font-size:15px;margin-left:2px;}
/* 툴팁이 게시판 컨테이너에 잘리지 않도록 조상 overflow 해제 */
.zb-bpanel,.zb-list,.zb-comm,.zb-browwrap,.zb-brow,.zb-brow__r,.zb-bm,.zb-bm--a,.zb-au,.zb-read__au,.zb-read__au-b,.zb-read__nick,.zb-aucard,.zb-aucard__top,.zb-cmt,.zb-cmt__b,.zb-cmt__top,.zb-cmt__nick{overflow:visible;}
.zbdg__tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);z-index:200;
    min-width:180px;max-width:250px;padding:10px 12px;border-radius:10px;background:#1f2430;color:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.28);opacity:0;visibility:hidden;transition:opacity .13s,transform .13s;
    display:flex;flex-direction:column;gap:4px;text-align:left;white-space:normal;pointer-events:none;}
.zbdg__tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1f2430;}
.zbdg:hover .zbdg__tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.zbdg__nm{font-size:13px;font-weight:800;}
.zbdg__ds{font-size:12px;color:#c7cdda;line-height:1.5;font-weight:500;}
.zbdg__ab{font-size:12px;font-weight:800;color:#ffd34d;line-height:1.5;}

/* 검색창 */
.zb-search{display:flex;justify-content:center;margin:20px 0 4px;}
.zb-search form{display:flex;gap:8px;align-items:center;width:100%;max-width:480px;}
.zb-search__sel{flex:0 0 auto;border:1px solid var(--border);border-radius:9px;padding:9px 10px;background:var(--surface);color:var(--text);font-size:13px;}
.zb-search__box{flex:1;display:flex;align-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);overflow:hidden;}
.zb-search__box input{flex:1;border:0;outline:0;background:none;padding:9px 12px;font-size:14px;color:var(--text);}
.zb-search__btn{flex:0 0 auto;border:0;background:none;padding:0 12px;color:var(--sub);cursor:pointer;display:flex;align-items:center;}
.zb-search__btn:hover{color:var(--accent);}

/* 글 하단 게시판 목록 */
.zb-comm--underread{margin-top:28px;padding-top:0;border-top:0;}

/* 작성자 프로필 카드 (본문 하단) */
.zb-aucard{display:flex;align-items:center;gap:14px;margin:22px 0 4px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2,#f7f8fa);}
.zb-aucard__av{flex:0 0 auto;width:56px;height:56px;border-radius:50%;overflow:hidden;display:block;}
.zb-aucard__av img{width:100%;height:100%;object-fit:cover;}
.zb-aucard__av--ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f5793a,#ee3b34);}
.zb-aucard__main{flex:1;min-width:0;}
.zb-aucard__top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.zb-aucard__lv{font-size:11px;font-weight:900;background:transparent;border:1px solid currentColor;border-radius:5px;padding:1px 7px;line-height:1.4;}
.zb-aucard__nk{font-size:15px;font-weight:800;color:var(--fg,#222);}
.zb-aucard__bdg{font-size:16px;line-height:1;}
.zb-aucard__intro{font-size:12.5px;color:var(--sub);margin-top:5px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.zb-aucard__xp{margin-top:9px;}
.zb-aucard__bar{height:7px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden;}
.zb-aucard__bar>span{display:block;height:100%;background:var(--accent);border-radius:999px;}
.zb-aucard__xptx{font-size:11px;color:var(--mute);font-weight:600;margin-top:4px;}
.zb-aucard__more{flex:0 0 auto;align-self:flex-start;font-size:12.5px;font-weight:800;color:var(--accent);white-space:nowrap;}
@media (max-width:520px){.zb-aucard{flex-wrap:wrap;}.zb-aucard__more{align-self:center;}}

/* 추천수 티어 색 + 새글 */
.zb-newic{display:inline-block;margin-left:-3px;font-size:9.5px;font-weight:900;line-height:1;color:#fff;background:var(--accent);border-radius:4px;padding:2px 4px;vertical-align:1px;}
.zb-vote{font-weight:800;}
.zb-vote.v0{color:var(--mute);}.zb-vote.v50{color:#1c9e4b;}.zb-vote.v100{color:#2563eb;}.zb-vote.v300{color:#7c3aed;}.zb-vote.v500{color:#e0820c;}.zb-vote.v1000{color:var(--accent);}

/* 목록형 (.zb-brow) */
.zb-colhead{display:flex;align-items:center;padding:11px 18px;border-bottom:1px solid var(--border);font-size:12px;color:var(--mute);font-weight:700;}
.zb-bc-chk{width:34px;}
.zb-bc-t{flex:1;}
.zb-bc-a{width:124px;text-align:left;}
.zb-bc-d{width:68px;text-align:center;}
.zb-bc-m{width:52px;text-align:center;}
.zb-browwrap{display:flex;align-items:center;border-bottom:1px solid var(--border);}
.zb-browwrap:last-child{border-bottom:0;}
.zb-browwrap:hover{background:var(--surface-2);}
.zb-rchk{flex:0 0 auto;margin:0 0 0 14px;width:15px;height:15px;accent-color:var(--accent);cursor:pointer;}
.zb-brow{flex:1;display:flex;align-items:center;padding:13px 18px;min-height:26px;font-size:14px;min-width:0;}
.zb-brow--notice{background:var(--surface-2);}
.zb-brow__t{flex:1;display:flex;align-items:center;gap:6px;min-width:0;padding-right:16px;}
.zb-brow__cat{font-size:12.5px;font-weight:800;color:var(--accent);flex:0 0 auto;}
.zb-brow__cat--n{color:var(--gold);}
.zb-brow__title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
.zb-brow:hover .zb-brow__title{color:var(--accent);}
.zb-brow__cm{color:var(--accent);font-weight:800;font-size:12.5px;flex:0 0 auto;}
.zb-brow__r{display:flex;flex:0 0 auto;}
.zb-bm{width:52px;text-align:center;font-size:12.5px;color:var(--mute);display:flex;align-items:center;justify-content:center;}
.zb-bm--d{width:68px;}
.zb-bm--a{width:124px;justify-content:flex-start;}
/* 숫자 열(조회/추천)은 모두 우측 정렬 — 열 간격 균일 + 우측 여백 대칭 */
.zb-bc-m{width:44px;text-align:right;}
.zb-bm--view,.zb-bm--vote{width:44px;justify-content:flex-end;}

/* 웹진/리뷰형 (.zb-wbrow) */
.zb-wbrow{display:flex;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border);}
.zb-wbrow:last-child{border-bottom:0;}
.zb-wbrow:hover{background:var(--surface-2);}
.zb-wbrow__th{flex:0 0 168px;width:168px;aspect-ratio:16/10;border-radius:10px;background-size:cover;background-position:center;}
.zb-wbrow__th--ph{background:linear-gradient(135deg,#4c1d95,#9d174d);}
.zb-wbrow__b{flex:1;min-width:0;}
.zb-wbrow__top{display:flex;align-items:center;gap:9px;}
.zb-wbrow__cat{font-size:12px;font-weight:800;color:var(--accent);}
.zb-wbrow__rate{font-size:12.5px;font-weight:800;color:var(--text);}
.zb-wbrow__rate .star{color:var(--gold);}
.zb-wbrow__t{font-size:16.5px;font-weight:800;margin-top:6px;line-height:1.34;letter-spacing:-.02em;color:var(--text);display:flex;align-items:center;gap:3px;min-width:0;}
.zb-wbrow__t .tt{min-width:0;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.zb-wbrow__t .zb-newic{flex:0 0 auto;margin-left:0;vertical-align:baseline;}
.zb-wbrow:hover .zb-wbrow__t .tt{color:var(--accent);}
.zb-wbrow__ex{font-size:13.5px;color:var(--sub);line-height:1.6;margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.zb-wbrow__m{font-size:12.5px;color:var(--mute);margin-top:11px;display:flex;gap:12px;align-items:center;}

/* 커뮤니티형 (.zb-cmrow) */
.zb-cmrow{display:flex;gap:13px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);}
.zb-cmrow:last-child{border-bottom:0;}
.zb-cmrow:hover{background:var(--surface-2);}

/* 첫/마지막 행 hover 배경이 패널 둥근 모서리를 넘지 않도록(툴팁용 overflow:visible 보정) */
.zb-cmrow:first-child,.zb-wbrow:first-child,.zb-browwrap:first-child{border-top-left-radius:var(--r);border-top-right-radius:var(--r);}
.zb-cmrow:last-child,.zb-wbrow:last-child,.zb-browwrap:last-child{border-bottom-left-radius:var(--r);border-bottom-right-radius:var(--r);}
.zb-cmrow__th{flex:0 0 60px;width:60px;height:60px;border-radius:10px;background-size:cover;background-position:center;}
.zb-cmrow__b{flex:1;min-width:0;}
.zb-cmrow__t{font-size:15px;font-weight:700;line-height:1.4;display:flex;align-items:center;gap:6px;min-width:0;color:var(--text);}
.zb-cmrow__t .tt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zb-cmrow:hover .zb-cmrow__t .tt{color:var(--accent);}
.zb-cmrow__cm{color:var(--accent);font-weight:800;font-size:12.5px;flex:0 0 auto;}
.zb-cmrow__m{font-size:12.5px;color:var(--mute);margin-top:6px;display:flex;gap:10px;align-items:center;}
.zb-cmrow__v{flex:0 0 auto;text-align:center;min-width:48px;}
.zb-cmrow__v b{display:block;font-size:15px;font-weight:900;}
.zb-cmrow__v span{font-size:11px;color:var(--mute);}

@media (max-width:1000px){
  .zb-bc-a,.zb-bm--a{display:none;}
  .zb-wbrow__th{flex-basis:120px;width:120px;}
}
@media (max-width:640px){
  .zb-bm{width:44px;}
  .zb-wbrow__t{-webkit-line-clamp:1;}
}

/* 글쓰기 + 관리자 설정 버튼 */
.zb-btnrow{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px;}
.zb-write{display:inline-flex;align-items:center;padding:10px 20px;border-radius:11px;background:var(--accent);color:#fff;font-size:14px;font-weight:800;}
.zb-write:hover{filter:brightness(.94);}

/* 상세보기(_read.html) — 최소 스타일 (후속 확장 예정) */
.zb-read__head{margin-bottom:20px;}
.zb-read{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:24px 28px;}
.zb-read__back{font-size:13px;color:var(--sub);font-weight:700;}
.zb-read__back:hover{color:var(--accent);}
.zb-read__tag{display:block;color:var(--accent);font-weight:800;font-size:13px;margin-top:14px;}
.zb-read__t{font-size:23px;font-weight:900;letter-spacing:-.025em;line-height:1.36;margin-top:7px;color:var(--text);}

.zb-read__au{display:flex;align-items:center;gap:11px;margin-top:18px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.zb-read__av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;object-fit:cover;}
.zb-read__av--ph{background:linear-gradient(135deg,#4c1d95,#9d174d);}
.zb-read__au-b{min-width:0;}
.zb-read__nick{font-size:14.5px;font-weight:800;color:var(--text);}
.zb-read__meta{font-size:12.5px;color:var(--mute);margin-top:2px;display:flex;gap:10px;}
.zb-read__au-r{margin-left:auto;display:flex;gap:6px;}

.zb-iconbtn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--sub);border:1px solid var(--border);background:var(--surface-2);border-radius:9px;padding:7px 11px;cursor:pointer;}
.zb-iconbtn:hover{border-color:var(--accent);color:var(--accent);}
.zb-iconbtn svg{width:14px;height:14px;}

.zb-read__body{padding:24px 2px;font-size:16px;line-height:1.85;color:var(--text);}
.zb-read__body p{margin:0 0 16px;}
/* 본문 요소 스타일 = ZZAN 에디터(zbed__body)와 동일하게 맞춤 */
.zb-read__body h2{font-size:21px;font-weight:800;margin:8px 0 12px;line-height:1.35;}
.zb-read__body h3{font-size:18px;font-weight:800;margin:6px 0 10px;line-height:1.4;}
.zb-read__body blockquote{margin:12px 0;padding:10px 16px;border-left:3px solid var(--accent);background:var(--surface-2);color:var(--sub);}
.zb-read__body a{color:var(--accent);text-decoration:underline;}
.zb-read__body hr{border:0;border-top:1px solid var(--border);margin:18px 0;}
.zb-read__body ul{padding-left:22px;margin:0 0 12px;list-style:disc;}
.zb-read__body ol{padding-left:22px;margin:0 0 12px;list-style:decimal;}
.zb-read__body li{margin:2px 0;}
.zb-read__body img{max-width:100%;height:auto;border-radius:10px;margin:6px 0;}
/* 보도자료 원문 표: 인라인 고정폭(width:900px 등)이 있어도 게시판 영역을 넘지 않게 강제 */
.zb-read__body table,.zb-read__body table.zbed-table{border-collapse:separate;border-spacing:0;width:100% !important;max-width:100% !important;table-layout:fixed;margin:16px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden;font-size:14.5px;}
.zb-read__body table td,.zb-read__body table th{border:0;border-bottom:1px solid var(--border);padding:10px 14px;vertical-align:middle;word-break:break-word;width:auto !important;text-align:left;}
.zb-read__body table th{background:var(--surface-2,#f7f8fa);font-weight:800;font-size:13px;color:var(--sub);letter-spacing:-.01em;white-space:nowrap;}
.zb-read__body table tbody tr:last-child td{border-bottom:0;}
.zb-read__body table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--surface-2,#f7f8fa) 55%,transparent);}
.zb-read__body table tbody tr:hover td{background:var(--surface-2,#f7f8fa);}
/* 주간 스팀 랭킹/할인 표 전용 — 열 너비는 내용에 맞게(고정폭 금지, 줄바꿈 깨짐 방지) */
.zb-read__body table.zn-rank{table-layout:auto;}
.zb-read__body table.zn-rank td:first-child,.zb-read__body table.zn-rank th:first-child{text-align:center;white-space:nowrap;width:1% !important;padding-left:16px;padding-right:16px;}
.zb-read__body table.zn-rank td:first-child{font-weight:900;color:var(--accent);}
.zb-read__body table.zn-rank td:nth-child(3),.zb-read__body table.zn-rank th:nth-child(3){text-align:right;white-space:nowrap;width:1% !important;font-variant-numeric:tabular-nums;}
.zb-read__body table.zn-rank td:last-child,.zb-read__body table.zn-rank th:last-child{text-align:center;white-space:nowrap;width:1% !important;padding-left:16px;padding-right:16px;font-variant-numeric:tabular-nums;}
.zb-read__body table.zn-rank td .up{color:#e02d2d;font-weight:800;}
.zb-read__body table.zn-rank td .down{color:#2563eb;font-weight:800;}
.zb-read__body table.zn-rank td .new{color:var(--accent);font-weight:800;font-size:12px;}
.zb-read__body colgroup col{width:auto !important;}
.zb-read__body{overflow-x:hidden;}
.zb-read__body div,.zb-read__body p{max-width:100%;}
/* 반응형 16:9 임베드(YouTube 등) — 에디터와 동일 */
.zb-read__body .zbed-embed{position:relative;width:100%;padding-top:56.25%;margin:14px 0;border-radius:10px;overflow:hidden;background:#000;}
.zb-read__body .zbed-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

.zb-read__tags{display:flex;gap:7px;flex-wrap:wrap;padding-top:6px;list-style:none;}
.zb-read__tags a{font-size:12.5px;font-weight:700;color:var(--sub);background:var(--surface-2);border:1px solid var(--border);padding:5px 11px;border-radius:999px;}
.zb-read__tags a:hover{color:var(--accent);}

.zb-read__vote{display:flex;justify-content:center;gap:12px;margin:24px 0 6px;}
.zb-vbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:100px;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px 20px;cursor:pointer;transition:all .15s;}
.zb-vbtn small{font-size:12px;color:var(--mute);font-weight:700;}
.zb-vbtn b{font-size:19px;font-weight:900;}
.zb-vbtn--up:hover{border-color:var(--accent);background:var(--accent-soft);}
.zb-vbtn--up b{color:var(--accent);}
.zb-vbtn--down:hover{border-color:var(--mute);}
.zb-vbtn--down b{color:var(--sub);}

.zb-read__nav{display:flex;justify-content:center;gap:8px;margin-top:16px;}

/* 댓글 */
.zb-cmts{margin-top:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 24px;}
.zb-cmts__h{font-size:16px;font-weight:900;color:var(--text);}
.zb-cmts__h b{color:var(--accent);}
.zb-cmts__empty{padding:30px 0;text-align:center;color:var(--mute);font-size:13.5px;}
.zb-cmts__noperm{padding:20px;text-align:center;color:var(--sub);font-size:13px;background:var(--surface-2);border-radius:12px;margin-top:12px;}
.zb-cmts__noperm a{color:var(--accent);font-weight:700;text-decoration:underline;margin-left:5px;}

.zb-clist{margin-top:8px;list-style:none;padding:0;}
.zb-cmt{display:flex;gap:11px;padding:16px 0;border-top:1px solid var(--border);}
.zb-cmt--reply{margin-left:42px;padding-left:14px;border-left:2px solid var(--border);border-top:0;padding-top:6px;}
.zb-cmt__av{width:34px;height:34px;border-radius:50%;flex:0 0 auto;object-fit:cover;}
.zb-cmt__av--ph{background:linear-gradient(135deg,#3b82f6,#0e7490);}
.zb-cmt__b{flex:1;min-width:0;}
.zb-cmt__top{display:flex;align-items:center;gap:7px;}
.zb-cmt__nick{font-size:13.5px;font-weight:800;color:var(--text);}
.zb-cmt__author-tag{font-size:11px;color:var(--accent);font-weight:800;}
.zb-cmt__txt{font-size:14px;line-height:1.6;margin-top:6px;color:var(--text);}
.zb-cmt__editbox{margin-top:8px;}
.zb-cmt__edit-ta{width:100%;min-height:60px;resize:vertical;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:10px 12px;font:inherit;font-size:14px;color:var(--text);outline:0;}
.zb-cmt__edit-ta:focus{border-color:var(--accent);}
.zb-cmt__edit-btns{display:flex;justify-content:flex-end;gap:6px;margin-top:6px;}
.zb-cmt__edit-cancel,.zb-cmt__edit-save{font-size:12.5px;font-weight:800;padding:7px 15px;border-radius:9px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--sub);}
.zb-cmt__edit-cancel:hover{border-color:var(--accent);color:var(--accent);}
.zb-cmt__edit-save{background:var(--accent);border-color:var(--accent);color:#fff;}
.zb-cmt__edit-save:hover{filter:brightness(.94);}
.zb-cmt__foot{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:12px;color:var(--mute);font-weight:700;flex-wrap:wrap;}
.zb-cmt__foot span,.zb-cmt__foot a{cursor:pointer;color:var(--mute);}
.zb-cmt__foot span:hover,.zb-cmt__foot a:hover{color:var(--accent);}
.zb-cmt__vote{color:var(--accent);}
.zb-cmt__date{margin-left:auto;color:var(--mute);font-weight:600;}

.zb-cwrite{margin:14px 0 18px;}
.zb-cwrite--reply{margin:12px 0 4px;}
.zb-cwrite[hidden]{display:none;}
.zb-cwrite__replyto{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--accent);font-weight:700;background:var(--accent-soft);padding:8px 12px;border-radius:9px;margin-bottom:10px;}
.zb-cwrite__replyto[hidden]{display:none;}
.zb-cwrite__replyto b{font-weight:800;}
.zb-cwrite__replyto button{margin-left:auto;border:0;background:none;color:var(--sub);font-weight:700;cursor:pointer;font-size:12px;}
.zb-cwrite--reply .zb-cwrite__av{width:30px;height:30px;}
.zb-cwrite--reply textarea{min-height:56px;}
.zb-cwrite__replyto button{margin-left:auto;border:0;background:none;color:var(--sub);font-weight:700;cursor:pointer;font-size:12px;}
.zb-cwrite__row{display:flex;gap:11px;}
.zb-cwrite__av{width:36px;height:36px;border-radius:50%;flex:0 0 auto;object-fit:cover;}
.zb-cwrite__av--ph{background:linear-gradient(135deg,#3b82f6,#0e7490);}
.zb-cwrite__box{flex:1;}
.zb-cwrite textarea{width:100%;min-height:70px;resize:vertical;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:12px 14px;font:inherit;font-size:14px;color:var(--text);outline:0;}
.zb-cwrite textarea:focus{border-color:var(--accent);}
.zb-cwrite__foot{display:flex;justify-content:flex-end;margin-top:8px;}
.zb-cwrite__btn{background:var(--accent);color:#fff;border:0;font-size:13.5px;font-weight:800;padding:9px 20px;border-radius:10px;cursor:pointer;}

@media(max-width:1000px){
  .zb-lead{grid-template-columns:1fr;}
  .zb-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .zb-cmt--reply{margin-left:20px;padding-left:10px;}
}

/* 본문 별점 표시 */
.zb-read__rate{display:flex;align-items:center;gap:9px;margin:2px 0 4px;}
.zb-read__stars{display:inline-flex;gap:1px;font-size:20px;line-height:1;}
.zb-read__stars .s{color:var(--border);}
.zb-read__stars .s.on{color:var(--gold);}
.zb-read__rate b{font-size:16px;font-weight:900;color:var(--text);}
.zb-read__rate-max{font-size:13px;color:var(--mute);}
/* 웹진형 제목 옆 N */
.zb-wbrow__t .zb-newic{margin-left:6px;vertical-align:3px;}

/* 본문/댓글 작성자 레벨뱃지 간격 */
.zb-read__nick .zb-au__lv,.zb-cmt__nick .zb-au__lv{margin-right:5px;vertical-align:1px;}

/* 통합게시판 — 출처 게시판 이름 뱃지 */
.zb-srcbd{flex:0 0 auto;display:inline-block;font-size:11.5px;font-weight:800;color:var(--sub);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 7px;line-height:1.5;}

/* 이벤트형 — 진행기간 표기 (목록 .zb-evrow / 본문 .zb-evbanner) */
.zb-evrow{display:flex;align-items:center;gap:8px;margin-top:4px;min-width:0;}
.zb-evtag{flex:0 0 auto;font-size:10.5px;font-weight:800;color:var(--accent);background:var(--accent-soft);border-radius:5px;padding:2px 6px;line-height:1.4;}
.zb-evtag--on{color:#fff;background:var(--accent);}
.zb-evtag--wait{color:var(--mute);background:var(--surface-2);}
.zb-evtag--end{color:var(--mute);background:var(--surface-2);text-decoration:line-through;}
.zb-evrange{flex:0 0 auto;font-size:11.5px;color:var(--mute);}
.zb-evgauge{flex:1;display:flex;align-items:center;gap:7px;min-width:60px;max-width:220px;}
.zb-evbar{flex:1;height:5px;border-radius:99px;background:var(--surface-2);overflow:hidden;}
.zb-evfill{display:block;height:100%;border-radius:99px;background:var(--accent);}
.zb-evpct{flex:0 0 auto;font-size:10.5px;font-weight:800;color:var(--accent);}
.zb-cmrow .zb-evrow .zb-evbar{background:var(--border);}
/* 종료된 이벤트 — 썸네일·제목 영역 그레이스케일 */
.zb-cmrow--ended .zb-cmrow__th{filter:grayscale(1);opacity:.6;}
.zb-cmrow--ended .zb-cmrow__t,.zb-cmrow--ended .zb-cmrow__cat,.zb-cmrow--ended .zb-evrange{color:var(--mute);filter:grayscale(1);}
.zb-cmrow--ended .zb-cmrow__t .tt{color:var(--mute);}
.zb-cmrow--ended:hover .zb-cmrow__t{color:var(--mute);}
.zb-evbanner{display:flex;align-items:center;gap:10px;margin:14px 0 4px;padding:12px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);}
.zb-evbanner__label{font-size:13px;color:var(--sub);}
.zb-evbanner__label b{color:var(--text);font-weight:800;}
.zb-evbanner .zb-evgauge{max-width:260px;}

/* 커뮤니티형 카테고리 (제목 왼편) */
.zb-cmrow__cat{flex:0 0 auto;font-size:12.5px;font-weight:800;color:var(--accent);}

/* 모바일: 목록형을 커뮤니티형처럼(썸네일 없이 제목+메타 2줄).
   메타 표기(조회 N / 추천 N, 색·간격)를 .zb-cmrow__m 과 동일하게 맞춤. */
@media (max-width:640px){
  .zb-colhead{display:none;}
  .zb-browwrap{align-items:flex-start;}
  .zb-rchk{margin-top:15px;}
  .zb-brow{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 16px;}
  /* 제목행을 블록+인라인 흐름으로 → 제목이 2줄이어도 N 배지가 마지막 줄 끝에 인라인으로 붙음(줄바꿈 방지) */
  .zb-brow__t{width:100%;display:block;padding-right:0;line-height:1.45;}
  .zb-brow__cat,.zb-brow__cat--n,.zb-srcbd{display:inline-block;vertical-align:baseline;flex:none;margin-right:4px;}
  .zb-brow__title{display:inline;white-space:normal;overflow:visible;}
  .zb-brow__cm{display:inline;flex:none;margin-left:3px;}
  .zb-brow__t .zb-newic{white-space:nowrap;}
  .zb-brow__r{width:100%;gap:10px;align-items:center;font-size:12.5px;color:var(--mute);}
  .zb-bm{width:auto !important;justify-content:flex-start;font-size:12.5px;color:var(--mute);}
  .zb-bm--a{display:inline-flex !important;order:-1;margin-right:auto;}
  .zb-bm--d{width:auto;}
  /* 커뮤니티형과 동일한 라벨 표기 */
  .zb-bm--view::before{content:"조회\00a0";color:var(--mute);font-weight:400;}
  .zb-bm--vote::before{content:"추천\00a0";color:var(--mute);font-weight:400;}
}

/* 공통 상단공지(_notice.html) — 모든 스타일 동일, 제목 1줄만 */
.zb-notices-box{margin-bottom:22px;}
.zb-notice .zb-brow{padding-top:13px;padding-bottom:13px;}
.zb-notice .zb-brow__t{flex-wrap:nowrap;}
.zb-notice .zb-brow__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media (max-width:640px){
  .zb-notice .zb-brow{flex-direction:row;align-items:center;gap:8px;}
  .zb-notice .zb-brow__title{-webkit-line-clamp:1;white-space:nowrap;}
}

/* 메모게시판형 (.zb-memo) — 포스트잇 카드 그리드 */
.zb-bpanel--open{border:0;background:transparent;overflow:visible;border-radius:0;}
.zb-memogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px 16px;padding:14px 4px 6px;}
.zb-memo{display:block;text-decoration:none;position:relative;padding-top:10px;}
.zb-memo__paper{position:relative;border-radius:3px;padding:22px 18px 16px;min-height:150px;display:flex;flex-direction:column;
  box-shadow:0 6px 16px rgba(0,0,0,.13);transition:transform .16s,box-shadow .16s;transform:rotate(-1.2deg);}
.zb-memo:nth-child(2n) .zb-memo__paper{transform:rotate(1.4deg);}
.zb-memo:nth-child(3n) .zb-memo__paper{transform:rotate(-.5deg);}
.zb-memo:hover .zb-memo__paper{transform:rotate(0) translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.2);}
.zb-memo__paper--a{background:#fff6a8;} .zb-memo__paper--b{background:#c8f0d0;}
.zb-memo__paper--c{background:#ffd6e0;} .zb-memo__paper--d{background:#cfe4ff;}
.zb-memo__paper--e{background:#ffe2b8;}
.zb-memo__pin{position:absolute;top:0;left:50%;transform:translateX(-50%);width:16px;height:16px;border-radius:50%;z-index:2;
  box-shadow:0 2px 4px rgba(0,0,0,.3),inset 0 -2px 3px rgba(0,0,0,.25),inset 0 2px 2px rgba(255,255,255,.6);}
.zb-memo__pin--a{background:#ff5a5a;} .zb-memo__pin--b{background:#2bb673;}
.zb-memo__pin--c{background:#ff4f9a;} .zb-memo__pin--d{background:#3d8bff;}
.zb-memo__pin--e{background:#ff8f3c;}
.zb-memo__head{display:flex;align-items:center;gap:6px;margin-bottom:6px;min-height:14px;}
.zb-memo__cat{font-size:11px;font-weight:800;color:#8a6d00;background:rgba(0,0,0,.06);padding:1px 7px;border-radius:999px;}
.zb-memo__t{font-size:15.5px;font-weight:800;line-height:1.35;margin:0 0 7px;color:#2a2417;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;}
.zb-memo__ex{font-size:12.5px;line-height:1.55;color:#5c5340;margin:0 0 12px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;}
.zb-memo__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:10px;border-top:1px dashed rgba(0,0,0,.14);}
.zb-memo__au{min-width:0;overflow:hidden;font-size:11.5px;color:#6b6250;}
.zb-memo__au .zb-au__nk{color:#6b6250;}
.zb-memo__meta{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:#7a7060;}
.zb-memo__vote{color:#e0407a;}
.zb-memo__d{color:#9a9080;font-weight:600;}
.zb-memo .zb-newic{background:#ff5a5a;color:#fff;}
@media (max-width:480px){
  .zb-memogrid{grid-template-columns:repeat(2,1fr);gap:16px 12px;}
  .zb-memo__paper{padding:20px 14px 14px;min-height:130px;}
}

/* 에플코디갤러리형 (.zb-cg) — 코디 썸네일 카드 그리드 */
.zb-cggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;padding:12px 4px 6px;}
.zb-cg{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s;}
.zb-cg:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.14);}
.zb-cg__thumb{position:relative;display:block;aspect-ratio:1/1;background:var(--surface-2);overflow:hidden;}
.zb-cg__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.zb-cg__cv{width:100%;height:100%;object-fit:contain;display:block;}
.zb-cg__av{width:18px;height:18px;border-radius:50%;flex:0 0 auto;background-size:cover;background-position:center;background-color:var(--surface-2);}
.zb-cg__noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:46px;opacity:.5;}
.zb-cg__like{position:absolute;left:8px;bottom:8px;font-size:12px;font-weight:800;color:#fff;
  background:rgba(0,0,0,.5);padding:2px 9px;border-radius:999px;backdrop-filter:blur(2px);}
.zb-cg__body{padding:11px 13px 13px;display:flex;flex-direction:column;gap:7px;flex:1;}
.zb-cg__title{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:800;line-height:1.35;color:var(--text);text-decoration:none;}
.zb-cg__title:hover .zb-cg__ttx{color:var(--accent);}
.zb-cg__ttx{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zb-cg__badges{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;}
.zb-cg__rc{color:var(--accent);font-weight:800;font-size:12px;}
.zb-cg__meta{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--mute);min-width:0;}
.zb-cg__meta .zb-au__nk{color:var(--sub);}
.zb-cg__dot{opacity:.6;}
.zb-cg__date{flex:0 0 auto;}
.zb-cg__load{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;
  font-size:12px;font-weight:800;padding:8px 10px;border-radius:9px;text-decoration:none;
  color:var(--accent);background:var(--accent-soft);border:1px solid transparent;transition:.14s;}
.zb-cg__load:hover{background:var(--accent);color:#fff;}
@media (max-width:520px){.zb-cggrid{grid-template-columns:repeat(2,1fr);gap:12px;}}

/* 코디갤러리 글 본문 — 이 코디 불러오기 버튼 */
.zb-codiload{text-align:center;margin:6px 0 18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.zb-codiload__btn{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:800;cursor:pointer;border:0;
  padding:11px 22px;border-radius:11px;text-decoration:none;color:#fff;
  background:linear-gradient(135deg,#48c5b4,#7a6cff);box-shadow:0 6px 16px rgba(72,197,180,.3);transition:transform .14s,box-shadow .14s;}
.zb-codiload__btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(72,197,180,.42);}
.zb-codiload__btn--pf{background:linear-gradient(135deg,#ff9d3c,#ff6ba6);box-shadow:0 6px 16px rgba(255,140,80,.3);}
.zb-codiload__btn--pf:hover{box-shadow:0 10px 22px rgba(255,140,80,.42);}
.zb-codiload__btn:disabled{opacity:.6;transform:none;cursor:default;}

/* 댓글형(말풍선 피드) (.zb-talk) — 원본 바라는 별 이식 */
.zb-talk-composer{background:var(--surface);border:1.5px solid var(--accent);border-radius:18px;padding:16px;margin-bottom:22px;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.zb-talk-composer__ta{width:100%;box-sizing:border-box;background:transparent;border:0;resize:vertical;outline:none;font-family:inherit;font-size:15.5px;line-height:1.6;color:var(--text);min-height:78px;}
.zb-talk-composer__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;}
.zb-talk-composer__me{font-size:12.5px;color:var(--mute);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zb-talk-composer__me b{color:var(--text);font-weight:800;}
.zb-talk-composer__btn{appearance:none;border:0;border-radius:11px;padding:10px 22px;font-size:14px;font-weight:800;cursor:pointer;background:var(--accent);color:#fff;flex:0 0 auto;}
.zb-talk-composer__btn:disabled{opacity:.5;cursor:default;}
.zb-talk-lock{text-align:center;padding:22px 18px;border:1px dashed var(--border);border-radius:16px;margin-bottom:22px;background:var(--surface-2);}
.zb-talk-lock p{margin:0 0 12px;font-size:13.5px;color:var(--sub);}
.zb-talk-lock a{display:inline-block;background:var(--accent);color:#fff;font-weight:800;font-size:13px;padding:10px 18px;border-radius:10px;text-decoration:none;}
.zb-talk{display:flex;flex-direction:column;gap:14px;padding:2px;}
.zb-talk__empty{text-align:center;padding:40px 20px;color:var(--mute);font-size:13.5px;}
.zb-talk__item{display:flex;gap:12px;align-items:flex-start;}
.zb-talk__ava{width:46px;height:46px;border-radius:50%;flex:0 0 auto;background-size:cover;background-position:center;box-shadow:0 0 0 2px var(--accent-soft);}
.zb-talk__ava--ph{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:#fff;background:linear-gradient(135deg,var(--accent),#7a6cff);}
.zb-talk__bubble{flex:1 1 auto;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:4px 16px 16px 16px;padding:12px 15px;}
.zb-talk__top{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap;}
.zb-talk__time{font-size:11px;color:var(--mute);}
.zb-talk__text{font-size:14.5px;line-height:1.6;color:var(--text);word-break:break-word;}
.zb-talk__text p{margin:0 0 6px;}
.zb-talk__text p:last-child{margin-bottom:0;}
.zb-talk__text img{max-width:100%;height:auto;border-radius:8px;}
.zb-talk__foot{display:flex;align-items:center;gap:8px;margin-top:9px;}
.zb-talk__like{font-size:12.5px;font-weight:700;color:#ff5a78;}
.zb-talk__cm{font-size:12.5px;font-weight:700;color:var(--mute);text-decoration:none;}
.zb-talk__cm:hover{color:var(--accent);}
@media (max-width:560px){.zb-talk__ava{width:40px;height:40px;}}

/* 추천/비추천 + 댓글 토글 */
.zb-talk__vote,.zb-talk__cmbtn{display:inline-flex;align-items:center;gap:4px;appearance:none;border:1px solid var(--border);background:var(--surface);
  cursor:pointer;font-size:12px;font-weight:800;color:var(--sub);padding:4px 9px;border-radius:999px;transition:.12s;}
.zb-talk__vote svg{width:14px;height:14px;}
.zb-talk__vote:hover{border-color:var(--accent);color:var(--accent);}
.zb-talk__vote--up.is-voted{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);}
.zb-talk__vote--down:hover{border-color:#7c8394;color:#7c8394;}
.zb-talk__vote--down.is-voted{background:var(--surface-2);border-color:#7c8394;color:#7c8394;}
.zb-talk__cmbtn:hover{border-color:var(--accent);color:var(--accent);}

/* 댓글 스레드 */
.zb-talk__comments{margin-top:11px;padding-top:11px;border-top:1px dashed var(--border);}
.zb-talk__clist{display:flex;flex-direction:column;gap:10px;}
.zb-talk__c{display:flex;gap:8px;align-items:flex-start;}
.zb-talk__cav{width:28px;height:28px;flex:0 0 auto;border-radius:50%;background-size:cover;background-position:center;background-color:var(--surface-2);}
.zb-talk__cav--ph{display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--sub);font-size:12px;}
.zb-talk__cbody{flex:1;min-width:0;background:var(--surface-2);border-radius:11px;padding:7px 11px;}
.zb-talk__cmeta{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--mute);margin-bottom:2px;}
.zb-talk__cmeta b{color:var(--text);font-size:12.5px;}
.zb-talk__cdel{margin-left:auto;appearance:none;border:0;background:transparent;cursor:pointer;font-size:11px;font-weight:700;color:var(--mute);}
.zb-talk__cdel:hover{color:#ff5a78;}
.zb-talk__ctext{font-size:13.5px;line-height:1.55;color:var(--text);word-break:break-word;}
.zb-talk__ctext p{margin:0;}
.zb-talk__cform{display:flex;gap:7px;margin-top:10px;align-items:flex-end;}
.zb-talk__cinput{flex:1;min-width:0;resize:none;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);
  font-size:13.5px;line-height:1.5;padding:8px 12px;outline:none;font-family:inherit;max-height:120px;}
.zb-talk__cinput:focus{border-color:var(--accent);}
.zb-talk__csend{flex:0 0 auto;border:0;cursor:pointer;background:var(--accent);color:#fff;font-size:12.5px;font-weight:800;padding:9px 15px;border-radius:11px;}
.zb-talk__csend:disabled{opacity:.6;cursor:default;}
.zb-talk__clock{margin-top:9px;font-size:12px;color:var(--mute);}
.zb-talk__clock a{color:var(--accent);font-weight:700;}

/* 댓글형 인라인 수정/삭제 */
.zb-talk__acts{margin-left:auto;display:inline-flex;gap:4px;}
.zb-talk__act{appearance:none;border:0;background:transparent;cursor:pointer;font-size:12px;font-weight:700;color:var(--mute);padding:3px 7px;border-radius:7px;}
.zb-talk__act:hover{background:var(--surface-2);color:var(--accent);}
.zb-talk__act--del:hover{color:#ff5a78;}
.zb-talk__editbox{margin-top:4px;}
.zb-talk__edita{width:100%;box-sizing:border-box;background:var(--surface-2);border:1px solid var(--accent);border-radius:10px;
  padding:10px 12px;font-family:inherit;font-size:16px;line-height:1.6;color:var(--text);resize:none;overflow:hidden;min-height:56px;outline:none;}
.zb-talk__editbtns{display:flex;justify-content:flex-end;gap:6px;margin-top:7px;}
.zb-talk__esave,.zb-talk__ecancel{appearance:none;border:0;border-radius:9px;padding:7px 16px;font-size:13px;font-weight:800;cursor:pointer;}
.zb-talk__esave{background:var(--accent);color:#fff;}
.zb-talk__esave:disabled{opacity:.5;cursor:default;}
.zb-talk__ecancel{background:var(--surface-2);color:var(--sub);}

/* 댓글형 히어로 (바라는 별 등) */
.zb-talk-hero{text-align:center;margin:6px 0 22px;}
.zb-talk-hero__badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.02em;
  color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;padding:6px 14px;margin-bottom:14px;}
.zb-talk-hero__t{font-size:24px;font-weight:900;letter-spacing:-.01em;margin:0 0 12px;color:var(--text);line-height:1.35;}
.zb-talk-hero__sub{font-size:13.5px;font-weight:800;color:var(--accent);margin:0 0 8px;}
.zb-talk-hero__desc{font-size:12.5px;line-height:1.8;color:var(--mute);margin:0;}
.zb-talk-hero__desc b{color:var(--text);font-weight:800;}
.zb-talk-hero__note{font-size:11px;opacity:.85;}
.zb-talk-hero__reward{margin:0 0 20px;font-size:12.5px;line-height:1.6;color:var(--sub);text-align:center;}
.zb-talk-hero__reward b{color:#d2691e;font-weight:800;}
@media (max-width:560px){.zb-talk-hero__t{font-size:20px;}}
