/* [T485] backend-baseline/ui-prototype public/css/community.css 통합. 기존 --tg-* · 공용 토큰만
   사용(대조 완료). .cq-album-sample(자개 디지털 앨범 예시) 블록은 원본이 --tg-gold/--tg-navy를
   썼는데 이 저장소엔 그 이름이 없다 — app.css:111 주석이 이미 "--tg-navy/--tg-gold 신설은
   T464에서 폐기, --tg-card-navy/--tg-card-gold 별칭만 유지"라고 명시한 결정을 뒤집게 되므로
   토큰명을 맞추는 대신 통째로 제거했다(이 블록이 그리는 자개 앨범 미리보기 자체가 F항 "운영
   게시 금지" 대상이라 preview-media.js의 post.preview_album 분기는 어차피 실 API가 절대
   채우지 않는 필드라 죽은 코드다 — 판정 대기 없이 바로 제거). */
.cq-language-notice{margin:16px 0;padding:14px 16px;border-inline-start:3px solid var(--tg-accent);border-radius:10px;background:var(--tg-surface);color:var(--text-2);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.cq-match{padding-bottom:64px}
.cq-match-notice{font-size:13px;color:var(--text-2);padding:12px 0;border-bottom:1px solid var(--line)}
.cq-match-trip{background:var(--tg-surface);padding:18px 20px;border-radius:16px;margin:18px 0 0}
.cq-match-trip>strong{display:block;font-size:22px;color:var(--accent-dk);margin-top:6px}
.cq-match-trip p{margin:6px 0 0}
.cq-match h2{font-size:22px;margin:24px 0 0}
.cq-match-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cq-main .cq-match-title{display:block;text-align:start;border:0;padding:0;margin:14px 0 12px;font-weight:750;font-size:19px;color:var(--text-1)}
.cq-match .cq-comment{border-bottom:1px solid var(--line);padding:20px 0}
.cq-match form textarea{min-height:140px}
.cq-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:20px 0;border-bottom:1px solid var(--line)}
.cq-main .cq-city-grid button{margin:0;min-width:0;padding:12px 4px;font-size:14px;border-radius:12px}
[hidden]{display:none!important}
*{box-sizing:border-box}
body{display:block;margin:0;min-height:100vh;overflow-y:auto;background:var(--bg-1);color:var(--text-1);font-family:var(--pretendard);font-size:16px}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--tg-accent);outline-offset:3px}
/* [§40-1] 게시판 전용 헤더(.cq-header/.cq-brand/언어 select) 규칙은 없앴다 — 상단은 사이트 공통 헤더(render_header.js). */
.cq-shell{max-width:1240px;display:grid;grid-template-columns:224px minmax(0,1fr);gap:48px;margin:32px auto 80px;padding:0 24px}
.cq-sidebar{align-self:start;position:sticky;top:24px;display:flex;flex-direction:column;gap:8px}
.cq-side-label{font-size:13px;color:var(--text-3);padding:12px 16px}
.cq-sidebar>a{font-size:15px;padding:14px 16px;border-radius:10px}
.cq-sidebar>a:hover{background:var(--tg-surface)}
.cq-sidebar .cq-side-active{background:var(--tg-surface);color:var(--accent-dk);font-weight:750}
.cq-side-active:before{content:'';display:inline-block;width:6px;height:6px;background:var(--tg-red);border-radius:50%;margin-right:10px;vertical-align:middle}
.cq-side-note{border-top:1px solid var(--line);margin-top:24px;padding:24px 16px}
.cq-side-note h2{font-size:14px;margin:0 0 12px;font-weight:750}
.cq-side-note p{font-size:13px;color:var(--text-2);line-height:1.9;margin:0}
.cq-side-user{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:20px 16px;font-size:13px;color:var(--text-2)}
.cq-main{min-width:0}
.cq-main h1{font-size:26px;line-height:1.5;letter-spacing:-.65px;margin:10px 0 20px;font-weight:750}
.cq-main h2{font-size:22px;line-height:1.5;margin:16px 0;font-weight:700;letter-spacing:-.4px}
.cq-main p{line-height:1.85}





.cq-eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--accent-dk);font-weight:800}
.cq-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.cq-tools select{padding:10px 32px 10px 14px;max-width:200px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--bg-1);color:var(--text-2)}
.cq-primary{margin-left:auto;background:var(--tg-red);color:var(--bg-1);font-size:14px;font-weight:700;padding:12px 20px;border-radius:10px;box-shadow:0 4px 12px var(--sh-40)}
.cq-primary:hover{background:var(--tg-red-hover)}
.cq-list{display:grid;gap:16px}
.cq-card{min-width:0;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--bg-1);box-shadow:0 3px 12px var(--sh-40)}
.cq-post{transition:border-color .18s,box-shadow .18s}
.cq-post:hover{border-color:var(--ac-30);box-shadow:0 8px 22px var(--sh-50)}
.cq-author{display:flex;gap:12px;align-items:center}
.cq-avatar{width:38px;height:38px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:var(--tg-surface);color:var(--accent-dk);font-size:14px;font-weight:800}
.cq-author strong{display:block;font-size:14px;font-weight:700}
.cq-author time{display:block;font-size:12px;margin-top:3px;color:var(--text-3)}
.cq-author>.cq-badge{margin-left:auto}
.cq-post h2{margin:22px 0 10px;font-size:20px}
.cq-post h2 a:hover{color:var(--accent-dk)}
.cq-body{white-space:pre-wrap;overflow-wrap:anywhere}
.cq-excerpt{color:var(--text-2);font-size:15px;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cq-post-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;gap:16px}
.cq-post-footer>a{font-size:13px;font-weight:650;color:var(--accent-dk)}
.cq-post-footer>a:after{content:' →'}
.cq-muted{color:var(--text-3);font-size:13px}
.cq-badge{display:inline-flex;padding:5px 9px;border-radius:6px;background:var(--tg-surface);color:var(--accent-dk);font-size:12px;font-weight:600;white-space:nowrap}
.cq-city{font-size:13px;line-height:1.55;color:var(--text-2)}
.cq-city>div:first-child{font-weight:600}
.cq-main>section>p[role=status]:empty{display:none}
.cq-main button{min-height:42px;padding:10px 16px;margin:4px 8px 4px 0;background:var(--bg-1);border:1px solid var(--line);border-radius:9px;color:var(--text-2);cursor:pointer;font-size:14px}
.cq-main button:hover{background:var(--tg-surface)}
.cq-main button:disabled{opacity:.5;cursor:default}
.cq-detail,.cq-compose{background:var(--bg-1)}
.cq-detail>a:first-child,.cq-compose>a:first-child{display:inline-block;font-size:13px;color:var(--text-3);margin-bottom:18px}
.cq-detail-post{border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cq-detail-heading{padding:28px 32px;border-bottom:1px solid var(--line)}
.cq-detail-heading h1{font-size:24px;margin:10px 0 20px}
.cq-detail-body{padding:28px 32px;min-height:220px;margin:0;font-size:16px;line-height:2.1!important}
.cq-travel-date{padding:0 32px 24px;margin:0;color:var(--text-3);font-size:13px}
.cq-detail>h2{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}
.cq-comment{box-shadow:none;border-radius:12px;padding:24px}
.cq-comment button{font-size:12px;min-height:32px;padding:6px 10px;border:0}
.cq-field{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.cq-field>span{font-size:14px;font-weight:650}
.cq-field:has(input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:flex-start}
.cq-field:has(input[type=checkbox])>span{font-weight:400;line-height:1.6}
.cq-main input:not([type=checkbox]),.cq-main textarea,.cq-main form select{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-1);color:var(--text-1);font-size:15px}
.cq-main textarea{resize:vertical;min-height:160px;line-height:1.8}
.cq-main input[type=checkbox]{accent-color:var(--accent-dk);width:18px;height:18px;flex-shrink:0}
.cq-main form{margin-top:24px}
.cq-main form button[type=submit]{background:var(--tg-red);color:var(--bg-1);border-color:var(--tg-red);font-weight:700;padding-inline:24px}
.cq-main form>a{display:inline-block;color:var(--accent-dk);text-decoration:underline;font-size:13px;margin-bottom:24px}
.cq-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;padding:28px;color:var(--text-1);background:var(--bg-1);border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 60px var(--sh-65)}
.cq-dialog::backdrop{background:var(--bg-modal)}
.cq-dialog h2{font-size:22px;margin:0 0 24px}
.cq-dialog select,.cq-dialog textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px}
.cq-dialog button{padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-1);margin-right:8px;cursor:pointer}
.cq-dialog button[type=submit]{background:var(--tg-red);color:var(--bg-1)}
body>aside{font-size:12px;text-align:center;padding:8px 16px!important}
@media(max-width:900px){.cq-shell{grid-template-columns:170px minmax(0,1fr);gap:24px}}
@media(max-width:640px){.cq-shell{display:block;margin:0 auto 40px;padding:0 16px}.cq-sidebar{position:static;display:flex;flex-direction:row;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.cq-side-label,.cq-side-note,.cq-side-user{display:none}.cq-sidebar>a{font-size:13px;padding:10px 14px}.cq-eyebrow{font-size:11px;letter-spacing:.6px}.cq-tools{gap:8px}.cq-tools select{flex:1;min-width:0;width:110px;font-size:13px;padding:10px}.cq-primary{font-size:13px;padding:11px 12px}.cq-card{padding:20px}.cq-post h2{font-size:18px}.cq-excerpt{font-size:14px}.cq-author{gap:9px}.cq-avatar{width:34px;height:34px}.cq-badge{font-size:11px}.cq-detail-heading{padding:24px 20px}.cq-detail-heading h1{font-size:22px}.cq-detail-body{padding:24px 20px}.cq-comment{padding:20px}.cq-main h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* [§40-1, 2026-09-14 대표 지시 — "좁게 가운데 배치된 컨테이너 수정, 사이트 반응형 본문 최대 너비·좌우 여백 재사용"]
   840px 대신 사이트 규칙 --content-max(1240px) + 좌우 20px(홈 .h2-wrap, 헤더 .tg-site-header-inner 와 같은 값).
   배너 글자·탭·목록이 헤더 로고와 같은 왼쪽 선에서 시작한다. 모든 폭에서 같은 20px(아래 미디어 규칙보다 뒤에 있어 우선). */
.cq-shell{display:block;max-width:760px;margin-top:0;padding-left:20px;padding-right:20px} /* [SPECS §56-1] 내여행 본문(.screen-inner 760px)과 같은 폭·같은 20px 인셋 */
.cq-sidebar{position:static;display:flex;flex-direction:row;gap:24px;padding:0;border-bottom:1px solid var(--line);margin-bottom:0}
.cq-sidebar>a{padding:18px 4px;border-radius:0;font-size:16px}
.cq-sidebar .cq-side-active{background:none;border-bottom:2px solid var(--tg-red);color:var(--text-1)}
.cq-side-active:before{display:none}
/* [§41-6 1] 질문·여행방 글 카드 = 테두리 카드(시안). 위: 도시·상태, 가운데: 제목·본문, 아래: 올린 사람·날짜. 카드 전체가 상세 링크. */
.cq-list{gap:14px}
.cq-list>.cq-post{position:relative;border:1px solid var(--line);border-radius:14px;box-shadow:none;padding:18px 18px 16px;background:var(--bg-1)}
.cq-list>.cq-post:hover{box-shadow:none;border-color:var(--ac-30)}
.cq-post-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:22px}
.cq-post-city{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:13px;font-weight:600;color:var(--text-2)}
.cq-post-city svg{width:15px;height:15px;fill:var(--accent);flex-shrink:0}
.cq-post-city .cq-muted{font-weight:400}
.cq-post-top>.cq-badges{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.cq-list .cq-post h2,.cq-mine .cq-post h2{margin:10px 0 6px;font-size:17px;line-height:1.4}
.cq-post-link:after{content:'';position:absolute;inset:0;border-radius:14px}
.cq-list .cq-excerpt,.cq-mine .cq-excerpt{margin:0 0 12px;font-size:14px;line-height:1.6}
.cq-list .cq-author,.cq-mine .cq-author{gap:8px}
.cq-list .cq-avatar,.cq-mine .cq-avatar{width:28px;height:28px;font-size:12px}
/* [SPECS §49] 띠 아바타 이미지(원형 크롭) + 내 글 페이지 선택 버튼 */
.cq-avatar-img{object-fit:cover;background:var(--tg-surface)}
.cq-avatar-pick .cq-avatar-row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.cq-avatar-pick .cq-avatar-opt{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:2px solid transparent;border-radius:12px;padding:6px 8px;cursor:pointer;font:inherit;font-size:12px;color:var(--ink)}
.cq-avatar-pick .cq-avatar-opt .cq-avatar{width:40px;height:40px;font-size:15px}
.cq-avatar-pick .cq-avatar-on{border-color:var(--accent-dk)}
.cq-avatar-pick .cq-avatar-zodiac{font-size:12px;font-weight:700;margin:6px 0 0}
.cq-avatar-pick .cq-avatar-current{display:flex;align-items:center;gap:8px;margin:4px 0 8px}
.cq-avatar-pick .cq-avatar-current .cq-avatar{width:40px;height:40px;font-size:15px}
.cq-author-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:13px;color:var(--text-3)}
.cq-author-line strong{display:inline;font-size:13px;color:var(--text-2)}
.cq-author-line time{display:inline;font-size:12px;margin:0}
.cq-author-line time:before{content:'\00B7';margin-right:8px}
.cq-tools:empty{display:none}


.cq-preview-media:empty{display:none}
.cq-preview-media figure{margin:16px 0}
.cq-preview-media img{display:block;width:100%;max-height:460px;aspect-ratio:3/2;object-fit:cover;border-radius:16px;background:var(--tg-surface)}
.cq-preview-media figcaption{font-size:12px;line-height:1.5;color:var(--text-2);margin-top:8px}
.cq-preview-media--2,.cq-preview-media--3,.cq-preview-media--4,.cq-preview-media--5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cq-preview-media--2 figure,.cq-preview-media--3 figure,.cq-preview-media--4 figure,.cq-preview-media--5 figure{margin:0}
.cq-preview-media--2 img,.cq-preview-media--3 figure:not(:first-child) img,.cq-preview-media--4 img,.cq-preview-media--5 figure:not(:first-child) img{aspect-ratio:1/1}
.cq-preview-media--3 figure:first-child,.cq-preview-media--5 figure:first-child{grid-column:1/-1}
.cq-preview-media--2 figcaption,.cq-preview-media--3 figcaption,.cq-preview-media--4 figcaption,.cq-preview-media--5 figcaption{display:none}
.cq-detail .cq-preview-media{padding:0 24px 24px}
.cq-room-editor textarea{width:100%;min-height:180px;font:inherit}
.cq-room-editor .cq-card{box-shadow:none;border:0;padding:0}
.cq-room-preview{font-size:13px;padding:12px 16px;background:var(--tg-surface);border-radius:10px;color:var(--text-2);margin:0 0 24px}
.cq-room-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cq-room-heading h1{margin:8px 0}
.cq-room-heading p{margin:0}
.cq-room-chooser{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;color:var(--text-2);font-size:14px}
.cq-room-chooser summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.cq-room-chooser select{padding:10px;border:1px solid var(--line);background:var(--bg-1);border-radius:8px;max-width:55%}
.cq-room-shortcuts{display:flex;gap:6px;overflow:auto;padding:10px 0 16px}
.cq-main .cq-room-shortcuts button{flex-shrink:0;border-radius:24px;margin:0;font-size:14px}
.cq-main button[aria-pressed=true]{background:var(--accent-dk);color:var(--bg-1);border-color:var(--accent-dk)}
.cq-main .cq-room-compose{margin:0 0 24px;padding:20px}
.cq-main .cq-room-compose textarea{min-height:100px;border:0;padding:0;resize:vertical;outline-offset:6px}
.cq-room-compose-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:12px}
.cq-main .cq-room-compose-footer select{width:auto;font-size:13px;padding:8px;border:0}



.cq-main .cq-room-update{width:100%;background:var(--tg-surface);margin:0 0 16px;color:var(--accent-dk)}
.cq-room-comments{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.cq-room-comments summary{cursor:pointer;font-size:14px;font-weight:600}
.cq-room-comment{padding:20px 0;border-bottom:1px solid var(--line)}
.cq-room-comment p{margin-left:50px;font-size:15px}
.cq-room-comment button{margin-left:50px;font-size:12px;border:0;padding:4px;min-height:24px}
.cq-room-comments form textarea{min-height:80px}
.cq-rooms .cq-post>.cq-body{margin:20px 0;font-size:16px}
@media(max-width:640px){.cq-room-heading{align-items:flex-start}.cq-room-heading .cq-nearby{font-size:12px;padding:10px;max-width:112px}.cq-room-compose-footer{gap:8px}.cq-rooms .cq-card{padding:18px}.cq-room-comment p{margin-left:0}.cq-sidebar{overflow:auto;white-space:nowrap}.cq-sidebar>a{flex-shrink:0}}

/* ── [작업 13] 승인 시안 반영 ─────────────────────────────────────────────────
   남색 히어로 + 5칸 커뮤니티 메뉴(활성 = 빨간 밑줄) + 사진 카드 후기 + 코스/가이드 2단.
   색은 기존 팔레트 토큰만 쓴다(--tg-card-navy / --tg-red / --tg-surface / --line / --text-*). */
/* [§41-1, 2026-09-14 대표 승인 시안] 큰 남색 배너(.cq-hero)를 없애고 제목 줄 · 공통 도시 선택 · 탭 3개 순서로 둔다.
   색은 기존 팔레트 토큰만 쓴다(--accent-dk / --tg-red / --tg-surface / --line / --text-*). 좌우 시작선은 .cq-shell(사이트 본문 폭·20px). */
.cq-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:28px 0 16px;}
.cq-head-text{min-width:0;}
.cq-head-title{font-size:28px;font-weight:800;line-height:1.3;margin:0;letter-spacing:-.5px;color:var(--text-1);}
.cq-head-intro{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--text-2);}
/* [§41-6 1, 2026-09-14 시안 대조 후 대표 결정] 내 활동 = 글자 링크 + ›, 도시 선택 = 전체 폭 가운데 정렬 상자(보이는 라벨 없음), 선택 탭 = 빨간 글자 */
.cq-head-link{flex-shrink:0;max-width:45%;padding:6px 0;font-size:15px;font-weight:700;color:var(--text-1);text-align:right;line-height:1.3;white-space:nowrap;}
.cq-head-link:after{content:' \203A';font-weight:400;color:var(--text-2);}
.cq-head-link:hover{color:var(--accent-dk);}
/* [§42-1] 도시 칩 — PC 한 줄(1240px 에 9개), 모바일 가로 스크롤(스크롤바 숨김, 오른쪽 끝 여백). 선택 = 기존 남색 규칙(aria-pressed). */
.cq-citybar{display:flex;align-items:center;padding:0 0 6px;}
.cq-city-chips{display:flex;flex-wrap:nowrap;gap:8px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 6px;}
.cq-city-chips::-webkit-scrollbar{display:none;}
/* 칩은 .cq-main 밖(제목 줄과 탭 사이)에 있어 .cq-main button 규칙이 닿지 않는다 — 같은 모양·같은 남색 토큰을 여기서 준다. */
.cq-city-chips .cq-city-chip{flex:0 0 auto;margin:0;min-height:36px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--bg-1);color:var(--text-2);
  font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;}
.cq-city-chips .cq-city-chip:hover{background:var(--tg-surface);}
.cq-city-chips .cq-city-chip[aria-pressed=true]{background:var(--accent-dk);color:var(--bg-1);border-color:var(--accent-dk);}
.cq-city-chips .cq-city-chip:focus-visible{outline:2px solid var(--tg-accent);outline-offset:2px;}
.cq-city-chips:after{content:'';flex:0 0 12px;}   /* 마지막 칩이 화면 끝에 붙지 않게 */
.cq-citybar select{flex:1 1 auto;min-width:0;width:100%;padding:12px 40px 12px 40px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--text-1);
  font-size:16px;font-weight:700;text-align:center;text-align-last:center;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1614' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;}
.cq-citybar select:focus-visible{outline:2px solid var(--tg-accent);outline-offset:2px;}
/* [§41-6 2] 여행 질문 머리 — 한 줄 안내 + '운영 안내' 펼침(기존 운영자 문구는 그 안에, 처음엔 접힘) */
.cq-q-head{margin:0 0 14px;}
.cq-q-intro{margin:0;font-size:15px;line-height:1.5;color:var(--text-2);}
.cq-ops{margin:6px 0 0;font-size:13px;color:var(--text-3);}
.cq-ops>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:4px;padding:2px 0;}
.cq-ops>summary::-webkit-details-marker{display:none;}
.cq-ops>summary:before{content:'\25B8';font-size:11px;}
.cq-ops[open]>summary:before{content:'\25BE';}
.cq-ops>summary:focus-visible{outline:2px solid var(--tg-accent);outline-offset:2px;border-radius:4px;}
.cq-ops>.cq-language-notice{margin:8px 0 0;}
/* [§41-6 6] ＋ 를 눌렀을 때의 이유 안내 자리(상태 버튼 아래) — 카드를 덮지 않고 아래로 민다 */
.cq-fabnote-slot:empty{display:none;}
.cq-fabnote-slot>.cq-compose-note{position:static;max-width:none;margin:0 0 14px;box-shadow:none;right:auto;bottom:auto;}   /* 뒤의 .cq-compose-note(고정 위치)보다 우선 */
/* 여행 질문 — 답변 상태 선택 버튼 */
.cq-chips{display:flex;flex-wrap:wrap;gap:8px;}
.cq-main .cq-chips .cq-chip{margin:0;min-height:36px;padding:6px 14px;border-radius:999px;font-size:14px;}
.cq-feed .cq-tools{border-bottom:0;padding-bottom:0;margin-bottom:14px;}   /* [§41-6] 상태 버튼과 카드 사이 구분선 없음(시안) */
/* 여행 사진 — 목록/지도 전환(지도는 준비 중, 누를 수 없음) */
.cq-rv-tools{display:flex;flex-direction:column;align-items:center;gap:6px;margin:4px 0 18px;}   /* [§41-6 1] 가운데 정렬(시안) */
.cq-rv-toggle{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--bg-1);}
.cq-rv-toggle-btn{padding:6px 16px;border-radius:999px;font-size:14px;color:var(--text-2);white-space:nowrap;}
.cq-rv-toggle-on{background:var(--accent-dk);color:var(--bg-1);font-weight:700;}
.cq-rv-toggle-off{color:var(--text-3);cursor:not-allowed;}
.cq-rv-toggle-note{font-size:12px;}
/* 카드 배지(질문 상태·글 종류·비공개) — 긴 번역도 줄바꿈으로 받는다 */
.cq-author>.cq-badges{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;}
/* [§41-6 3] 상태 배지 — 시안의 구분감(답변 대기 = 붉은 계열, 해결됨 = 푸른 계열)을 기존 토큰으로. 새 색 없음. */
.cq-badge-wait{background:var(--bg-1);border:1px solid var(--tg-red);color:var(--tg-red-hover);}
.cq-badge-done{background:var(--tg-accent-light);color:var(--accent);}
.cq-rv-body .cq-badge{align-self:flex-start;}
/* 빈 목록·오류 안내, 내 활동 */
.cq-empty{padding:20px 0;margin:0;}
.cq-mine-sec{margin:4px 0 32px;}
.cq-main .cq-mine-title{font-size:18px;margin:0 0 12px;}
.cq-mine .cq-rv-grid{margin-top:4px;}
/* 활성 표시는 빨강(--tg-red) + aria-current — 색만으로 구분하지 않는다. */
.cq-preview-banner{margin:0 0 18px;padding:10px 14px;border:1px dashed var(--line);border-radius:10px;background:var(--tg-surface);color:var(--text-2);font-size:13px;}
.cq-badge-warn{border:1px dashed var(--line);background:transparent;color:var(--text-2);}
/* 여행 후기 — 사진 카드 중심 */




/* [§40-1, 2026-09-14 대표 지시 — "사진 카드는 원본 비율 보존, 화면 폭에 따라 열 수 조정"]
   고정 3열·4:3 자르기(object-fit:cover) 대신: 카드 최소 폭 240px 로 들어가는 만큼 열을 만들고(1200px 본문 4열 · 모바일 1열),
   사진은 자기 비율대로(높이 auto). 한 줄 안 카드 높이가 달라도 위쪽 정렬. 사진이 없는 카드만 4:3 자리. */
.cq-rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px;align-items:start;}
.cq-rv-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg-1);}
.cq-rv-shot{background:var(--tg-surface);display:block;}
.cq-rv-shot img{width:100%;height:auto;display:block;}
.cq-rv-shot-none{aspect-ratio:4/3;display:grid;place-items:center;font-size:12px;color:var(--text-3);
  background:repeating-linear-gradient(135deg,var(--tg-surface) 0 12px,#E8E0D4 12px 24px);}
/* [§41-6 5] 사진 카드 본문 — 실제 자료만(장소명·도시·올린 사람·날짜), 시안의 간격·정렬. 사진만 있는 자료 안내는 짧고 흐리게. */
.cq-rv-body{display:flex;flex-direction:column;gap:3px;padding:14px 16px 14px;}
.cq-rv-place{font-size:16px;font-weight:700;}
.cq-rv-city{font-size:13px;color:var(--text-2);}
.cq-rv-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:12.5px;color:var(--text-2);}
.cq-rv-who{display:inline-flex;align-items:center;gap:8px;min-width:0;}
.cq-rv-avatar{width:26px;height:26px;font-size:11px;}
.cq-rv-foot time{color:var(--text-3);white-space:nowrap;}
.cq-rv-photoonly{margin:4px 0 0;font-size:11px;color:var(--text-3);opacity:.85;}






/* 코스 추천 · 가이드 추천 — PC 2단, 모바일 세로 */










@media(max-width:640px){
  .cq-head{padding:20px 0 12px;align-items:flex-start;} .cq-head-title{font-size:24px;} .cq-head-intro{font-size:13px;}
  .cq-head-link{white-space:normal;}
  .cq-list>.cq-post{padding:16px 14px 14px;}
  /* 탭 3개는 폭을 똑같이 나눠 한 줄에 모두 보인다 — 긴 번역은 칸 안에서 줄바꿈(가려지거나 옆으로 밀리지 않음) */
}

/* ── [작업 13-1] 작성 버튼 하나 · 가이드 준비 중 · 도시 여행방 여백 ─────────────────
   빨간 원형 ＋ 버튼을 화면 오른쪽 아래에 하나만 둔다(56px, 가장자리에서 22px).
   모바일은 하단 안전영역만큼 더 띄우고, 마지막 글이 가려지지 않게 본문 아래 여백을 준다. */
.cq-compose-fab{position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom, 0px));
  z-index:30;display:grid;place-items:center;width:56px;height:56px;padding:0;margin:0;border:0;
  border-radius:50%;background:var(--tg-red);color:var(--bg-1);cursor:pointer;
  box-shadow:0 6px 20px var(--sh-65);text-decoration:none;}
.cq-compose-fab:hover{background:var(--tg-red-hover);}
.cq-compose-fab:focus-visible{outline:3px solid var(--tg-accent);outline-offset:3px;}
.cq-compose-fab-mark{font-size:30px;line-height:1;font-weight:400;}
/* [§41-1 9] 글자가 있는 빨간 ＋ 버튼("＋ 사진 올리기" / "＋ 질문하기") — 위치(오른쪽 아래·하단 메뉴 위)는 위·아래 규칙 그대로. */
.cq-compose-fab--label{width:auto;height:48px;max-width:calc(100vw - 40px);padding:0 20px 0 16px;border-radius:24px;
  display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:800;white-space:nowrap;}
.cq-compose-fab--label .cq-compose-fab-mark{font-size:24px;}
.cq-compose-fab-text{overflow:hidden;text-overflow:ellipsis;}
/* ＋ 버튼이 마지막 글을 가리지 않도록 본문 아래에 버튼 높이 + 여백만큼 자리를 둔다. */
.cq-shell{padding-bottom:calc(56px + 44px + env(safe-area-inset-bottom, 0px));}
.cq-compose-note{position:fixed;right:22px;bottom:calc(90px + env(safe-area-inset-bottom, 0px));
  z-index:30;max-width:min(320px, calc(100vw - 44px));margin:0;padding:12px 14px;border-radius:12px;
  background:var(--tg-surface);border:1px solid var(--line);color:var(--text-2);font-size:13px;line-height:1.6;
  box-shadow:0 6px 20px var(--sh-50);}
/* [§40-2] ＋ 를 눌렀을 때의 안내(작성 자격·준비 중)는 ＋ 바로 위. 하단 메뉴가 있는 폭(767px 이하)에서는 ＋ 가
   메뉴 높이만큼 올라가므로(아래 규칙) 안내도 그만큼(메뉴 64 + 20 + ＋ 56 + 12px) 올린다. */
@media(max-width:767px){
  .cq-compose-note{right:20px;bottom:calc(64px + 20px + 56px + 12px + env(safe-area-inset-bottom, 0px));}
}
/* 가이드 추천 — 본문에 준비 중 한 줄만. 아이콘·설명·조작 요소를 두지 않는다. */
.cq-guides{padding:28px 0;}
.cq-guides-pending{margin:0;font-size:16px;color:var(--text-2);}
/* 도시 여행방 — 구분선과 조작 요소, 조작 요소와 목록 사이에 각각 22px 여백. */
.cq-rooms .cq-city-grid{padding:22px 0;margin-bottom:0;}
.cq-rooms .cq-tools{margin-top:22px;padding-bottom:22px;margin-bottom:22px;}
@media(max-width:640px){
  .cq-compose-fab{right:20px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));}
  .cq-compose-note{right:20px;bottom:calc(64px + 20px + 56px + 12px + env(safe-area-inset-bottom, 0px));}   /* [§40-2] 하단 메뉴 위 ＋ 바로 위 */
  .cq-rooms .cq-city-grid{padding:20px 0;}
  .cq-rooms .cq-tools{margin-top:20px;padding-bottom:20px;margin-bottom:20px;}
}

/* [2026-09-12 대표 지시] 커뮤니티에도 기존 사이트 모바일 하단 메뉴(.tg-bottom-nav, 767px 이하·높이 64px)를 붙였다.
   ＋ 버튼이 메뉴에 가리거나 겹치지 않게 메뉴 높이만큼 위로 올린다(홈의 #commFab 과 같은 기준: 메뉴 + 20px).
   본문 아래 여백은 메뉴 스타일(BOTTOM_NAV_CSS)이 body 에 64px 을 더하므로 .cq-shell 여백과 합쳐 충분하다.
   (헤더의 '홈으로' 링크와 그 스타일은 대표 지시로 없앴다 — 로고가 사이트 홈으로 간다.) */
@media(max-width:767px){
  .cq-compose-fab{bottom:calc(64px + 20px + env(safe-area-inset-bottom, 0px));}
}

/* [SPECS §46, 2026-09-15] 도시 여행방 = KFANZIP 공용 오픈채팅 입장 카드 + 이전 여행 공유 글 */
.cq-kfanzip{display:flex;flex-direction:column;gap:10px;}
.cq-kfanzip-title{margin:0;font-size:18px;font-weight:700;}
.cq-kfanzip-desc{margin:0;line-height:1.55;}
.cq-kfanzip-enter{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;background:var(--tg-card-navy);color:var(--bg-1);font-weight:700;text-decoration:none;align-self:flex-start;}
.cq-kfanzip-enter:hover{background:var(--accent);color:var(--bg-1);}
.cq-kfanzip-enter:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.cq-rooms-legacy{margin-top:20px;}
.cq-rooms-legacy-title{font-size:15px;color:var(--text-2);font-weight:600;margin:0 0 8px;}

/* [SPECS §52] 03 실용 가이드형 — 1열 읽기 피드(720px), 단계 박스, 현장 한국어 문장. 토큰만 사용, 강제 줄바꿈 없음, 한국어 단어 잘림 방지 */
.cq-guide-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.cq-guide-tools .cq-chips{margin:0}
.cq-guide-write{margin-left:auto;font-size:13px;font-weight:650;color:var(--accent-dk);text-decoration:underline}
.cq-guide-feed{display:flex;flex-direction:column;gap:20px}
.cq-guide-feed .cq-rv-grid{margin:0}
.cq-guide{max-width:720px;width:100%;margin:0 auto;box-sizing:border-box;padding:26px 30px 18px;border:1px solid var(--line);border-radius:18px;background:var(--bg-1);color:var(--text-1);word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}
.cq-guide-detail{padding:0;border:0;background:transparent}
.cq-guide-author{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;font-weight:600;margin-bottom:18px}
.cq-guide-author .cq-avatar{width:32px;height:32px;font-size:11px}
.cq-guide-author time{font-weight:400;margin-left:auto}
.cq-guide-staff{font-weight:600}
.cq-guide-fallback{font-size:12px;margin:-8px 0 12px}
.cq-guide-title{font-size:26px;line-height:1.4;font-weight:800;letter-spacing:-0.5px;margin:0 0 18px}
.cq-guide-title a{color:inherit;text-decoration:none}
.cq-guide-title a:hover{color:var(--accent-dk)}
.cq-guide-photo{margin:0 0 22px}
.cq-guide-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:18px;background:var(--tg-surface)}
.cq-guide-intro p,.cq-guide-steptext p{font-size:16px;line-height:1.9;letter-spacing:-0.15px;margin:0 0 10px}
.cq-guide-intro p:first-child{font-size:18px;font-weight:700;line-height:1.65}
.cq-guide-step{background:var(--tg-surface);padding:22px;border-radius:16px;margin-top:18px}
.cq-guide-step h3{font-size:18px;line-height:1.6;font-weight:700;letter-spacing:-0.35px;margin:0 0 12px}
.cq-guide-step h2{font-size:18px;line-height:1.6;font-weight:700;margin:0 0 12px}
.cq-guide-stepno{font-size:12px;color:var(--tg-card-navy);margin-right:10px;font-weight:700}
.cq-guide-step p:last-child{margin-bottom:0}
.cq-guide-phrase{margin:12px 0 0}
.cq-guide-phrase-ko{font-size:18px;line-height:1.85;font-weight:600;letter-spacing:-0.3px;padding:16px;background:var(--bg-1);border-radius:12px;color:var(--tg-card-navy);margin:0 0 8px}
.cq-guide-phrase-meaning{font-size:15px;line-height:1.7;margin:0 0 4px}
.cq-guide-phrase-note{font-size:12px;line-height:1.65;margin:0}
.cq-guide-tags{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;line-height:1.7;font-weight:500;margin:22px 0 14px}
.cq-guide-tag{color:var(--tg-card-navy);text-decoration:none}
.cq-guide-tag:hover{text-decoration:underline}
.cq-guide-actions{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:14px;color:var(--text-2);font-size:13px}
.cq-guide-action{background:none;border:0;padding:0;font:inherit;color:var(--text-2);cursor:pointer;text-decoration:none}
.cq-guide-action:hover{color:var(--accent-dk)}
.cq-guide-share-status{font-size:12px}
.cq-ssr.cq-guide h1{font-size:26px;line-height:1.4;margin:0 0 18px}
.cq-ssr.cq-guide h2{font-size:18px}
.cq-guide-langtabs{display:flex;flex-wrap:wrap;gap:6px}
.cq-guide-langpanel{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px}
.cq-guide-compose-tip{border-top:1px dashed var(--line);padding-top:8px;margin-top:8px}
.cq-guide-compose-tags{display:flex;flex-wrap:wrap;gap:10px}
.cq-guide-compose-tag{display:inline-flex;align-items:center;gap:4px;font-size:14px}
.cq-guide-compose-preview{display:block;max-width:100%;max-height:260px;border-radius:12px;margin:6px 0}
/* [SPECS §53] 머리말(K-FOOD GUIDE 등, 주제 자동) · 작성 화면 단순화(팁 추가·문장 뜻 자동 칸·고급 설정 접힘) */
.cq-guide-kicker{font-size:11px;line-height:1.5;letter-spacing:2px;color:var(--text-2);font-weight:700;margin:0 0 10px;text-transform:uppercase}
.cq-guide-author .cq-guide-nick{font-weight:600}
.cq-guide-compose-kicker{margin:6px 0 0}
.cq-guide-compose-tips{display:flex;flex-direction:column}
.cq-guide-compose-add{align-self:flex-start;margin-top:10px;cursor:pointer}
.cq-guide-compose-phrase{border-top:1px dashed var(--line);padding-top:8px;margin-top:8px}
.cq-guide-compose-phrase-ko{font-size:15px;line-height:1.6;padding:8px 10px;margin:0 0 6px;background:var(--tg-surface)}
.cq-guide-advanced{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:12px}
.cq-guide-advanced summary{cursor:pointer;font-weight:600;padding:4px 0}
.cq-guide-advanced .cq-field{margin-top:8px}
.cq-guide-staffonly{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--tg-surface)}
/* [SPECS §54] 여행 사진 필터(도시 ▾ 하위 칩) · 가이드 제목 줄(공유·⋯ 메뉴·삭제 확인) · 좋아요/댓글/조회 한 줄 — 토큰만, Tabler 선형 아이콘 */
.cq-rv-citysub{margin:-6px 0 14px}
.cq-rv-citychip[aria-expanded=true]{border-color:var(--accent-dk)}
.cq-guide-titlerow{display:flex;align-items:flex-start;gap:10px;margin:0 0 18px}
.cq-guide-titlerow .cq-guide-title{flex:1 1 auto;min-width:0;margin:0}
.cq-guide-titleactions{position:relative;flex:0 0 auto;display:flex;gap:4px;align-items:center;margin-top:2px}
.cq-guide-iconbtn{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--bg-1);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;padding:0;line-height:1}
.cq-guide-iconbtn:hover,.cq-guide-iconbtn[aria-expanded=true]{color:var(--accent-dk);border-color:var(--accent-dk)}
.cq-guide-iconbtn:focus-visible{outline:2px solid var(--tg-accent);outline-offset:2px}
.cq-guide-menu{position:absolute;right:0;top:40px;z-index:20;min-width:120px;background:var(--bg-1);border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px var(--sh-40);padding:4px;display:flex;flex-direction:column}
.cq-guide-menu[hidden]{display:none}
.cq-guide-menuitem{background:none;border:0;text-align:left;padding:8px 10px;font:inherit;color:var(--text-1);cursor:pointer;border-radius:8px;white-space:nowrap}
.cq-guide-menuitem:hover{background:var(--tg-surface)}
.cq-guide-menuitem-danger{color:var(--tg-red)}
.cq-guide-confirm{border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--tg-surface)}
.cq-guide-confirm[hidden]{display:none}
.cq-guide-confirm-text{flex:1 1 100%;margin:0 0 4px}
.cq-guide-confirm-yes{background:var(--tg-red);color:var(--bg-1);border:0;border-radius:10px;padding:8px 14px;font-weight:700;cursor:pointer}
.cq-guide-confirm-no{background:var(--bg-1);color:var(--text-2);border:1px solid var(--line);border-radius:10px;padding:8px 14px;cursor:pointer}
.cq-guide-share-status{display:block;font-size:12px;margin:-10px 0 10px}
.cq-guide-share-status:empty,.cq-guide-status:empty{display:none}
.cq-guide-status{font-size:13px;color:var(--tg-red);margin:0 0 10px}
.cq-guide-stats{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin-top:4px;color:var(--text-2);font-size:13px}
.cq-guide-stats-left,.cq-guide-stats-right{display:flex;gap:14px;align-items:center;min-width:0}
.cq-guide-stat{display:inline-flex;align-items:center;gap:5px;color:var(--text-2);text-decoration:none;background:none;border:0;padding:4px 2px;font:inherit;line-height:1;white-space:nowrap}
.cq-guide-stat .ti{font-size:18px;line-height:1}
.cq-guide-like,.cq-guide-commentsn{cursor:pointer}
.cq-guide-like:hover,.cq-guide-commentsn:hover{color:var(--accent-dk)}
.cq-guide-like-on,.cq-guide-like-on:hover{color:var(--tg-red)}
.cq-guide-like[disabled]{opacity:.6;cursor:default}
@media(max-width:450px){.cq-guide-titlerow{gap:6px}.cq-guide-iconbtn{width:32px;height:32px;font-size:17px}.cq-guide-menu{top:36px}}
/* [SPECS §55-1] 남색 히어로(공용 .tg-page-hero) · [SPECS §55-3] 내 활동 · [SPECS §55-7] 공유창·⋯ 메뉴·좋아요·아이콘 버튼 */
#community-root>.cq-hero{margin:0;width:auto;left:auto;right:auto;margin-left:0;margin-right:0} /* [SPECS §56-1] 셸 밖 직계 자식 = 자연 전폭(100vw 계산 없음, 둥근 카드 아님) */
.cq-hero .tg-page-hero-inner{padding:22px 20px 18px;min-height:0}
.cq-hero-title{font-size:24px}
.cq-badge-staff{background:var(--tg-surface);color:var(--tg-card-navy);border:1px solid var(--line)}
.cq-mine-profile{display:flex;align-items:center;gap:12px;margin:8px 0 10px}
.cq-mine-avatar{width:52px;height:52px;font-size:18px}
.cq-mine-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.cq-mine-nick{font-size:18px;font-weight:800;overflow-wrap:anywhere}
.cq-mine-settings{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 14px;background:var(--bg-1)}
.cq-mine-settings summary{cursor:pointer;font-weight:700;padding:4px 0}
.cq-mine-subtitle{font-size:15px;margin:14px 0 6px}
.cq-mine-nickform{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.cq-mine-nickform button[type=submit]{align-self:flex-start;min-height:40px;padding:8px 16px;border-radius:10px;border:0;background:var(--tg-card-navy);color:var(--bg-1);font-weight:700;cursor:pointer}
.cq-mine-tools{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.cq-mine-tabs{margin:0 0 14px}
.cq-mine-list{display:flex;flex-direction:column;gap:16px}
.cq-mine-comment-post{display:block;font-weight:700;color:var(--tg-card-navy);text-decoration:none;margin-bottom:6px;overflow-wrap:anywhere}
.cq-mine-comment-post:hover{text-decoration:underline}
.cq-guide-iconbtn{width:40px;height:40px;border:0;background:none;color:var(--text-2);font-size:20px;border-radius:10px}
.cq-guide-iconbtn:hover,.cq-guide-iconbtn[aria-expanded=true]{color:var(--accent-dk);border:0;background:var(--tg-surface)}
.cq-guide-menu{top:44px;min-width:160px;border-radius:12px;box-shadow:0 6px 18px var(--sh-40);padding:6px;background:var(--bg-1);border:1px solid var(--line)}
.cq-guide-menuitem{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;background:none;font-size:15px;border-radius:8px}
.cq-guide-menuitem .ti{font-size:18px}
.cq-guide-menuitem-danger,.cq-guide-menuitem-danger .ti{color:var(--tg-red)}
.cq-guide-stat{background:none;border:0;padding:6px 2px;min-height:36px}
.cq-guide-stat .ti{font-size:20px}
.cq-guide-like{border:0;background:none;color:var(--text-2)}
.cq-guide-like:hover{color:var(--text-1)}
.cq-guide-like-on,.cq-guide-like-on:hover{color:var(--tg-red)}
.cq-guide-like:focus-visible,.cq-guide-iconbtn:focus-visible{outline:2px solid var(--tg-accent);outline-offset:2px}
.cq-guide-viewzone{display:block}
.cq-share{position:fixed;inset:0;z-index:1000;background:var(--sh-50);display:flex;align-items:flex-end;justify-content:center}
.cq-share-dialog{width:100%;max-width:520px;background:var(--bg-1);color:var(--text-1);border-radius:20px 20px 0 0;padding:16px 18px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 20px var(--sh-40);box-sizing:border-box}
@media(min-width:768px){.cq-share{align-items:center}.cq-share-dialog{max-width:420px;border-radius:16px;padding:20px;box-shadow:0 8px 28px var(--sh-40)}}
.cq-share-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.cq-share-title{margin:0;font-size:17px;font-weight:800}
.cq-share-close{background:none;border:0;width:40px;height:40px;font-size:20px;color:var(--text-2);cursor:pointer;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.cq-share-post{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--text-1);word-break:keep-all;overflow-wrap:anywhere}
.cq-share-url{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;color:var(--text-2);background:var(--tg-surface)}
.cq-share-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.cq-share-btn{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg-1);color:var(--text-1);font:inherit;font-weight:700;cursor:pointer}
.cq-share-btn:hover{background:var(--tg-surface)}
.cq-share-btn-primary,.cq-share-btn-primary:hover{background:var(--tg-card-navy);color:var(--bg-1);border-color:var(--tg-card-navy)}
.cq-share-status{margin:10px 0 0;font-size:13px;color:var(--text-2);min-height:1.2em}
.cq-share-status-err{color:var(--tg-red)}
@media(max-width:450px){.cq-hero-title{font-size:21px}.cq-guide-iconbtn{width:40px;height:40px}}
@media(max-width:450px){.cq-guide{padding:20px 16px 14px}.cq-guide-title{font-size:23px}.cq-guide-intro p,.cq-guide-steptext p{font-size:15px}.cq-guide-intro p:first-child{font-size:17px}.cq-guide-step{padding:16px}.cq-guide-step h3,.cq-guide-step h2{font-size:17px}.cq-guide-phrase-ko{font-size:17px;padding:14px}.cq-guide-photo img{max-height:320px}}
/* [SPECS §55-7] .cq-main button / button[aria-pressed=true](남색 칩) 공용 규칙보다 우선 — 좋아요·공유·⋯·메뉴 항목은 배경·테두리 없는 선형 아이콘 */
.cq-main .cq-guide-stat,.cq-main .cq-guide-like,.cq-main .cq-guide-like[aria-pressed=true],.cq-main .cq-guide-like[aria-pressed=false],.cq-main .cq-guide-iconbtn,.cq-main .cq-guide-menuitem{background:none;border:0;border-radius:10px;margin:0;min-height:36px;padding:6px 4px;color:var(--text-2);font-size:15px;box-shadow:none}
.cq-main .cq-guide-iconbtn{width:40px;height:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.cq-main .cq-guide-iconbtn:hover,.cq-main .cq-guide-iconbtn[aria-expanded=true]{background:var(--tg-surface);color:var(--accent-dk);border:0}
.cq-main .cq-guide-like:hover,.cq-main .cq-guide-stat:hover{background:none;color:var(--text-1)}
.cq-main .cq-guide-like[aria-pressed=true],.cq-main .cq-guide-like[aria-pressed=true]:hover,.cq-main .cq-guide-like-on{background:none;border:0;color:var(--tg-red)}
.cq-main .cq-guide-like:disabled{opacity:.6}
.cq-main .cq-guide-menuitem{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:8px;color:var(--text-1);text-align:left}
.cq-main .cq-guide-menuitem:hover,.cq-main .cq-guide-menuitem:focus-visible{background:var(--tg-surface);color:var(--text-1)}
.cq-main .cq-guide-menuitem-danger,.cq-main .cq-guide-menuitem-danger:hover,.cq-main .cq-guide-menuitem-danger .ti{color:var(--tg-red)}
.cq-main .cq-guide-confirm-yes{background:var(--tg-red);color:var(--bg-1);border:0;margin:0}
.cq-main .cq-guide-confirm-no{margin:0}
/* [SPECS §56-1] 칩 스트립 = 내여행과 같은 공용 부품(tg-segtabs.css). 링크 칩만 보정(밑줄 없음, 인라인 블록). 스트립·히어로는 셸 밖 직계 자식. */
#community-root>.cq-strip{margin:0}
.cq-menu>a.tg-segtab{display:inline-block;text-decoration:none}
.cq-menu>a.tg-segtab:hover,.cq-menu>a.tg-segtab:focus-visible{text-decoration:none}
#community-root>.cq-hero .tg-page-hero-inner{padding:24px 20px}
.cq-shell{margin-top:20px}
/* [SPECS §56-3] 여행 질문 필터 영역 = 가이드 탭 필터 줄과 같은 배치(상태 칩 + 도시 ▾) */
.cq-q-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
.cq-q-filter .cq-chips{margin:0}
.cq-q-head:empty{display:none}
.cq-faq{margin:0 0 24px}
.cq-main .cq-faq-title{font-size:16px;font-weight:700;margin:0 0 10px;color:var(--text-1)}
/* [SPECS §56-4] 여행자 채팅 카드 = 소개 한 줄 · 입장 버튼 · 안내 한 줄 */
.cq-kfanzip-note{margin:0;font-size:13px;color:var(--text-3)}
/* [SPECS §56-1 ja/zh 320px] 히어로 소개는 띄어쓰기 없는 문장(ja·zh)도 화면 안에서 줄바꿈(keep-all 만으로는 넘침) · 칩 4개는 420px 이하에서 여백만 줄여 한 줄(내여행 부품 규격은 그대로, 커뮤니티 한정) */
#community-root>.cq-hero .tg-page-hero-title,#community-root>.cq-hero .tg-page-hero-sub{overflow-wrap:anywhere}
@media(max-width:420px){.cq-strip .tg-segtabs{gap:2px}.cq-strip .tg-segtab{padding:6px 9px}}
/* [SPECS §56-9] Q&A 제목 중심 행 — 얇은 행 구분선, 큰 카드 없음. 모바일: 제목 2줄 + 아래 메타, 상태 오른쪽. PC(768px~): 상태 / 제목 / 작성자 / 날짜 / 답변 수 열(표 축소·가로 스크롤 없음). */
.cq-qtable{margin:0}
.cq-qhead{display:none}
.cq-qlist{display:block;border-top:1px solid var(--line)}
.cq-faq .cq-qlist{border-top:1px solid var(--line)}
.cq-qrow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:12px 0;border-bottom:1px solid var(--line);background:none;border-radius:0;box-shadow:none}
.cq-qrow-status{grid-column:2;grid-row:1;justify-self:end}
.cq-qrow-status:empty{display:none}
.cq-qrow-main{grid-column:1;grid-row:1 / span 2;min-width:0}
.cq-qrow-author,.cq-qrow-date,.cq-qrow-answers{display:none}
.cq-qrow-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 4px;font-size:12px;color:var(--text-2)}
.cq-qrow-city{display:inline-flex;align-items:center;gap:3px;font-weight:600}
.cq-qrow-city svg{width:13px;height:13px;fill:var(--accent)}
.cq-main .cq-qrow-title{margin:0;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:-.2px}
.cq-qrow-title a{color:var(--text-1);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.cq-qrow-title a:hover{color:var(--accent-dk)}
.cq-qrow-link:after{content:'';position:absolute;inset:0}
.cq-qrow-excerpt{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cq-qrow-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:12px;color:var(--text-3)}
.cq-qrow .cq-badge{padding:3px 8px;font-size:11px;border-radius:6px}
.cq-lang-badge{background:var(--bg-1);border:1px solid var(--line);color:var(--text-2);font-weight:600}
.cq-qrow-actions{grid-column:2;grid-row:2;justify-self:end;position:relative;z-index:1;align-self:end}
.cq-qrow-menu{position:relative}
.cq-qrow-menu .cq-guide-menu{right:0;left:auto}
.cq-qrow-menu .cq-guide-confirm{position:absolute;right:0;top:44px;z-index:2;min-width:240px;background:var(--bg-1);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 8px 24px var(--sh-40)}
.cq-qrow-menu .cq-guide-status:empty{display:none}
@media(min-width:768px){
 .cq-qhead{display:grid;grid-template-columns:88px minmax(0,1fr) 120px 96px 64px;gap:0 12px;padding:8px 0;font-size:12px;font-weight:700;color:var(--text-3);border-bottom:1px solid var(--line)}
 .cq-qhead--actions{grid-template-columns:88px minmax(0,1fr) 120px 96px 64px 44px}
 .cq-qhead span:nth-child(4),.cq-qhead span:nth-child(5){text-align:center}
 .cq-qlist{border-top:0}
 .cq-qtable .cq-qlist{border-top:0}
 .cq-qrow{grid-template-columns:88px minmax(0,1fr) 120px 96px 64px;gap:0 12px;align-items:center;padding:12px 0}
 .cq-qrow--actions{grid-template-columns:88px minmax(0,1fr) 120px 96px 64px 44px}
 .cq-qrow-status{grid-column:1;grid-row:1;justify-self:start}
 .cq-qrow-status:empty{display:block}
 .cq-qrow-main{grid-column:2;grid-row:1}
 .cq-qrow-author{display:block;grid-column:3;font-size:13px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .cq-qrow-date{display:block;grid-column:4;font-size:13px;color:var(--text-3);text-align:center}
 .cq-qrow-answers{display:block;grid-column:5;font-size:13px;color:var(--text-2);text-align:center}
 .cq-qrow-meta{display:none}
 .cq-qrow-title a{-webkit-line-clamp:1}
 .cq-qrow-actions{grid-column:6;grid-row:1;align-self:center}
}
/* [SPECS §56-11] '질문하기' = 필터 영역 오른쪽(모바일은 아래 줄 오른쪽) — 고정 ＋ 대신 같은 버튼을 인라인으로 */
.cq-q-actions{margin-left:auto;display:flex;justify-content:flex-end}
.cq-main .cq-compose-inline{position:static;inset:auto;transform:none;min-height:40px;padding:8px 16px;border-radius:999px;box-shadow:none;margin:0;font-size:14px}
@media(max-width:600px){.cq-q-actions{flex-basis:100%}}
/* [SPECS §56-13] 내 활동: 프로필 행(왼쪽 사진·닉네임, 오른쪽 프로필 설정 버튼) + 패널, 가이드 행, 질문 행 */
.cq-mine-profile{justify-content:space-between}
.cq-mine-info{flex:1}
.cq-main .cq-mine-settings-btn{min-height:36px;padding:6px 14px;border-radius:999px;margin:0;font-size:13px;font-weight:700;color:var(--tg-card-navy);border:1px solid var(--line);background:var(--bg-1);white-space:nowrap}
.cq-main .cq-mine-settings-btn[aria-expanded=true]{background:var(--tg-surface)}
.cq-mine-settings{margin:0 0 14px}
.cq-mine-list{display:block;gap:0;border-top:1px solid var(--line)}
.cq-grow{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:0 12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cq-grow-thumb{display:block;width:96px;height:72px;border-radius:10px;overflow:hidden;background:var(--tg-surface)}
.cq-grow-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.cq-grow-main{min-width:0}
.cq-grow-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.cq-grow .cq-badge{padding:3px 8px;font-size:11px;border-radius:6px}
.cq-main .cq-grow-title{margin:0;font-size:16px;line-height:1.4;font-weight:700;letter-spacing:-.2px}
.cq-grow-title a{color:var(--text-1);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.cq-grow-title a:hover{color:var(--accent-dk)}
.cq-grow-intro{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.cq-grow-stats{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;color:var(--text-3);align-items:center}
.cq-grow-stat{display:inline-flex;align-items:center;gap:3px}
.cq-grow-stat .ti{font-size:14px}
.cq-grow-actions{position:relative;align-self:start}
.cq-grow .cq-guide-menu{right:0;left:auto}
.cq-grow .cq-guide-confirm{grid-column:1 / -1;margin-top:8px}
.cq-grow .cq-guide-status{grid-column:1 / -1;margin:0}
.cq-grow .cq-guide-status:empty{display:none}
@media(max-width:450px){.cq-grow{grid-template-columns:72px minmax(0,1fr) auto}.cq-grow-thumb{width:72px;height:56px}}
/* [SPECS §56-9 보완] PC 열은 flex(빈 열 공백 없음): FAQ 행 = 상태 열 없음, 내 활동 행 = 작성자 열 없음. 열 머리도 같은 폭. */
@media(min-width:768px){
 .cq-qrow,.cq-qrow--actions{display:flex;align-items:center;gap:0 12px}
 .cq-qrow-status{flex:0 0 88px}.cq-qrow-main{flex:1 1 auto;min-width:0}.cq-qrow-author{flex:0 0 120px}.cq-qrow-date{flex:0 0 96px}.cq-qrow-answers{flex:0 0 64px}.cq-qrow-actions{flex:0 0 44px;display:flex;justify-content:flex-end}
 .cq-qrow--nostatus .cq-qrow-status{display:none}.cq-qrow--noauthor .cq-qrow-author{display:none}
 .cq-qhead,.cq-qhead--actions{display:flex;gap:0 12px}
 .cq-qhead span:nth-child(1){flex:0 0 88px}.cq-qhead span:nth-child(2){flex:1 1 auto}.cq-qhead span:nth-child(3){flex:0 0 120px}.cq-qhead span:nth-child(4){flex:0 0 96px;text-align:center}.cq-qhead span:nth-child(5){flex:0 0 64px;text-align:center}.cq-qhead span:nth-child(6){flex:0 0 44px}
}
.cq-main .cq-q-actions .cq-compose-inline{min-height:38px;padding:7px 14px;font-size:14px;gap:6px}
.cq-main .cq-q-actions .cq-compose-fab-mark{font-size:16px;width:auto;height:auto;line-height:1}
@media(min-width:768px){.cq-qhead,.cq-qhead--actions{align-items:center}} /* [SPECS §56-9 보완] 열 머리 세로 가운데 */
/* [SPECS §56-17/18] 우측 하단 ＋ 선택 메뉴(운영자): ＋ 바로 위 작은 메뉴, 두 행, 둥근 모서리·약한 그림자(⋯ 메뉴와 같은 토큰) */
.cq-fab-wrap{display:contents}
.cq-fab-menu{position:fixed;right:22px;bottom:calc(22px + 48px + 10px + env(safe-area-inset-bottom, 0px));z-index:31;min-width:180px;padding:6px;border-radius:12px;background:var(--bg-1);border:1px solid var(--line);box-shadow:0 8px 24px var(--sh-40)}
.cq-main~.cq-fab-wrap .cq-fab-menu,.cq-fab-menu{margin:0}
.cq-fab-menuitem{display:flex;align-items:center;width:100%;min-height:40px;padding:8px 12px;border:0;border-radius:8px;background:none;color:var(--text-1);font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.cq-fab-menuitem:hover,.cq-fab-menuitem:focus-visible{background:var(--tg-surface)}
@media(max-width:767px){.cq-fab-menu{right:20px;bottom:calc(64px + 20px + 48px + 10px + env(safe-area-inset-bottom, 0px))}}
/* [SPECS §56-19] 열 머리 변형: FAQ = 상태 열 없음(행 .cq-qrow--nostatus 와 같은 폭 규칙) · '이용자 질문' 제목 */
@media(min-width:768px){.cq-qhead--nostatus span:nth-child(1){display:none}}
.cq-main .cq-q-users-title{font-size:16px;font-weight:700;margin:20px 0 10px;color:var(--text-1)}
.cq-qhead[hidden]{display:none}
/* [SPECS §56-20] 내 활동 사진 행 = 가이드 행과 같은 썸네일 행 */
.cq-photo-row .cq-grow-title{font-size:15px}
@media(min-width:768px){.cq-qrow-status,.cq-qhead span:nth-child(1){flex:0 0 104px;min-width:0}.cq-qrow-status .cq-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}} /* [SPECS §56-19 보완] 상태 열 = 머리·행 같은 104px(영문 'Awaiting answer' 폭) → 제목 시작선 일치 */
/* [2026-09-23 대표 지시] 내 글·내 답변 ⋯ 메뉴(가이드와 같은 actionMenu 부품) — 제목/카드 오른쪽 위 */
.cq-detail-heading.cq-has-actions,.cq-card.cq-has-actions{position:relative}
.cq-detail-heading.cq-has-actions{padding-right:64px}
.cq-detail-actions{position:absolute;top:18px;right:18px;z-index:5}
.cq-comment-actions{top:12px;right:12px}
.cq-card.cq-has-actions .cq-author{padding-right:44px}
.cq-detail-actions .cq-guide-menu{right:0;left:auto}
.cq-detail-post>.cq-guide-confirm{margin:12px 32px}
.cq-comment-edit{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.cq-comment-edit textarea{width:100%}
.cq-comment-edit button{align-self:flex-start}
/* [2026-09-24 대표 확정 — 댓글 최종안] 답변: 한 줄 머리(아바타·닉네임·시간·⋯) + 크림 말풍선 + 오른쪽 아래 하트, 채택은 말풍선 왼쪽 아래 */
.cq-cm{box-shadow:none;border:0;background:transparent;padding:0!important;margin:0 0 18px;position:relative}
.cq-cm-who{gap:8px!important;margin:0 0 8px;flex-wrap:wrap}.cq-cm-who .cq-avatar{width:30px;height:30px}.cq-cm-who strong{font-size:14px}.cq-cm-time{font-size:12.5px}
.cq-cm-who .cq-comment-actions,.cq-cm-more{margin-left:auto;position:relative}
.cq-cm-morebtn{border:0!important;background:none;color:var(--text-3);font-size:17px!important;letter-spacing:1px;cursor:pointer;padding:0 4px!important;min-height:0!important;line-height:1}
.cq-cm-menu{position:absolute;right:0;top:24px;z-index:5;background:var(--bg-1);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 18px var(--sh-40);padding:4px;min-width:96px}
.cq-cm-menu[hidden]{display:none}.cq-cm-menuitem{display:block;width:100%;text-align:left;border:0!important;background:none;padding:8px 10px!important;font-size:13px!important;cursor:pointer;border-radius:6px}.cq-cm-danger{color:var(--tg-red)}
.cq-cm-bub{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:14px 18px 8px}
.cq-cm-bub .cq-body{margin:0;font-size:15px;line-height:1.75;color:var(--text-1);word-break:keep-all}
.cq-cm-ft{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px}
.cq-cm-heart{border:0!important;background:none;display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:13px!important;cursor:pointer;padding:4px!important;min-height:0!important}
.cq-cm-heart svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}.cq-cm-heart.on{color:var(--tg-red)}.cq-cm-heart.on svg{fill:currentColor}
.cq-cm-acc{margin-right:auto;border:1px solid var(--tg-accent)!important;color:var(--tg-accent-dark);background:transparent;border-radius:999px;padding:4px 12px!important;min-height:0!important;font-weight:700}
.cq-cm-accb{font-size:11.5px;font-weight:800;color:var(--bg-1);background:var(--tg-accent-dark);border-radius:999px;padding:2px 9px}
.cq-cm-accepted .cq-cm-bub{border:1.5px solid var(--tg-accent);background:var(--tg-accent-light)}
.cq-cm .cq-cm-heart,.cq-cm .cq-cm-morebtn,.cq-cm .cq-cm-menuitem{background:none!important;box-shadow:none!important}
.cq-cm .cq-cm-heart{margin-left:auto;color:var(--text-3)!important}.cq-cm .cq-cm-heart.on{color:var(--tg-red)!important}
.cq-cm .cq-cm-acc{margin-right:0;background:none!important}
