/* ============================================================
   GAMEBOY.KR 개편 — P2 홈 본문 (.gbh- 스코프, front-page-new.php 전용)
   - 시안 _redesign/index.html 본문을 라이브 이식. 토큰은 redesign-chrome.css(:root --gb-*) 재사용
   - 헤더/푸터/사이드바 chrome은 redesign-chrome.css 담당. 이 파일은 홈 본문 존만.
   - enqueue: gb-chrome-overrides.php가 is_front_page + ?gb_chrome=1 프리뷰에서 ?v= 버스팅으로 로드
   ============================================================ */

/* 레이아웃 (본문 + 300 사이드바, chrome .container-wrapper 폭에 정렬) */
/* 네비↔본문 상단 간격 통일: morenews 컨테이너 기본 상단여백 제거 + .gbh-wrap이 16px 제어 */
#content.container-wrapper { padding-top: 0; }
.gbh-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 16px;
  padding: 16px 0 28px;
}
.gbh-main { min-width: 0; }
.gbh-side { display: flex; flex-direction: column; gap: 14px; }
/* 사이드바 아이템 자체 margin 제거 → .gbh-side flex gap(14px)만 적용(일관) */
.gbh-side > * { margin-bottom: 0; }

.gbh-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .10);
  font-size: 34px;
  background: #2a2440;
}
.gbh-imgwrap { display: block; overflow: hidden; }
.gbh-thumb { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 존 헤더 — 섹션 간격 통일(16px), 헤더↔본문 12px */
.gbh-zone { margin-bottom: 16px; }
.gbh-zone-h { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.gbh-zone-h .gbh-bar { width: 5px; height: 20px; border-radius: 3px; background: var(--gb-pur); }
.gbh-zone-h .gbh-bar.pink { background: var(--gb-pink); }
.gbh-zone-h h2 { font-size: 19px; font-weight: 700; margin: 0; line-height: 1.2; display: inline-flex; align-items: center; }
.gbh-zone-h .gbh-more { margin-left: auto; font-size: 13px; color: var(--gb-mut); }
.gbh-zone-h .gbh-more:hover { color: #c9b9ff; }

/* pill */
.gbh-pill { display: inline-block; font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 5px; }
.gbh-p-news { color: #c4b9ff; background: rgba(105, 83, 255, .18); }
.gbh-p-review { color: #f4b6d3; background: rgba(231, 43, 153, .16); }
.gbh-p-update { color: #a8cdf5; background: rgba(55, 138, 221, .16); }
.gbh-p-global { color: #c4b9ff; background: rgba(105, 83, 255, .18); }
.gbh-p-industry { color: #a8cdf5; background: rgba(55, 138, 221, .16); }
.gbh-p-guide { color: #f3cf94; background: rgba(186, 117, 23, .18); }
.gbh-p-notice { color: #f3b58a; background: rgba(240, 120, 40, .18); }

/* ① 헤드라인 */
.gbh-head-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 14px; }
.gbh-hero { border: 1px solid var(--gb-line); border-radius: 14px; overflow: hidden; background: var(--gb-bg3); transition: border-color .15s; display: block; }
.gbh-hero:hover { border-color: #473a7a; }
.gbh-hero .gbh-ph, .gbh-hero .gbh-imgwrap { height: 240px; }
.gbh-hero .gbh-imgwrap { overflow: hidden; }
.gbh-hero .gbh-body { padding: 15px 16px 17px; }
.gbh-hero h3 { font-size: 19px; font-weight: 700; line-height: 1.4; margin: 10px 0 8px; }
.gbh-meta { font-size: 12px; color: var(--gb-mut); display: flex; gap: 10px; flex-wrap: wrap; }
/* 우측 리스트(4개)를 좌측 히어로 높이에 맞춰 균등 분배 */
.gbh-head-list { display: flex; flex-direction: column; justify-content: space-between; gap: 11px; }
.gbh-hl { display: flex; gap: 11px; border: 1px solid var(--gb-line); border-radius: 10px; padding: 9px; background: var(--gb-bg2); transition: border-color .15s; }
.gbh-hl:hover { border-color: #473a7a; }
.gbh-hl .gbh-ph, .gbh-hl .gbh-imgwrap { width: 84px; height: 62px; border-radius: 8px; flex: 0 0 auto; font-size: 20px; overflow: hidden; }
.gbh-hl h4 { font-size: 13.5px; font-weight: 600; line-height: 1.35; margin-bottom: 6px; }
.gbh-hl .gbh-meta { font-size: 11px; }

/* 띠형(IT·AI / 창업) */
.gbh-band { border-radius: 14px; padding: 16px 18px; display: block; }
.gbh-band.it { border: 1px solid #1f3a40; background: #141b1e; }
.gbh-band.startup { border: 1px solid #1d3a2e; background: #121d18; }
.gbh-band-h { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.gbh-chip { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 5px; }
.gbh-chip.it { color: #073640; background: var(--gb-cyan); }
.gbh-chip.startup { color: #08302a; background: var(--gb-green); }
.gbh-band-h .t { font-size: 16px; font-weight: 700; }
.gbh-band-h .gbh-more { margin-left: auto; font-size: 13px; }
.gbh-band.it .gbh-more { color: #5fb6c4; }
.gbh-band.startup .gbh-more { color: #5fc4a0; }
.gbh-it-title { font-size: 16px; font-weight: 700; margin-bottom: 7px; }
.gbh-it-summary { font-size: 13.5px; color: #9aa6a9; line-height: 1.6; }
.gbh-it-dates { display: flex; gap: 8px; margin-top: 13px; flex-wrap: wrap; }
.gbh-it-dates a { font-size: 12px; color: #9aa6a9; border: 1px solid #2a2a33; padding: 3px 11px; border-radius: 20px; }
.gbh-it-dates a:hover { border-color: #3a4a4f; color: #c9d6d9; }
.gbh-startup-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gbh-rep { border: 1px solid #1d3329; border-radius: 10px; padding: 12px; background: #15211b; transition: background .15s; display: block; }
.gbh-rep:hover { background: #16241f; }
.gbh-rep .d { font-size: 12px; color: #5fc4a0; margin-bottom: 6px; }
.gbh-rep .t { font-size: 13.5px; font-weight: 600; line-height: 1.35; }

/* ③ 최신 뉴스 그리드 */
.gbh-news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gbh-ncard { border: 1px solid var(--gb-line); border-radius: 11px; overflow: hidden; background: var(--gb-bg2); transition: border-color .15s; display: block; }
.gbh-ncard:hover { border-color: #3a3a48; }
.gbh-ncard .gbh-ph, .gbh-ncard .gbh-imgwrap { height: 108px; overflow: hidden; }
.gbh-ncard .gbh-body { padding: 11px 12px 13px; }
.gbh-ncard h4 { font-size: 14px; font-weight: 600; line-height: 1.4; margin-top: 8px; }
.gbh-ncard .gbh-meta { margin-top: 8px; font-size: 11px; }

/* ⑤ 참여하기 */
.gbh-engage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gbh-ecard { border: 1px solid var(--gb-line); border-radius: 13px; background: var(--gb-bg2); padding: 15px 16px; transition: border-color .15s; }
.gbh-ecard:hover { border-color: var(--gb-line3); }
.gbh-ecard .gbh-etop { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
.gbh-ecard .gbh-etop .ic { font-size: 19px; }
.gbh-ecard .gbh-etop .lbl { font-size: 14px; font-weight: 700; }
.gbh-ecard .gbh-etop .st { margin-left: auto; font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; }
.gbh-st-wait { color: #f3cf94; background: #3a2a12; }
.gbh-st-open { color: #0a3326; background: var(--gb-green); }
.gbh-st-feat { color: #f4b6d3; background: #3a1228; }
.gbh-ecard .srv { font-size: 18px; font-weight: 700; }
.gbh-ecard .sub { font-size: 12.5px; color: var(--gb-mut); margin: 5px 0 12px; }
.gbh-go { font-size: 13px; }
.gbh-go.green { color: #7fd1b0; }
.gbh-go.pink { color: #f4b6d3; }
.gbh-hub-links { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.gbh-hub-links a { font-size: 12.5px; color: var(--gb-txt2); border: 1px solid var(--gb-line2); border-radius: 20px; padding: 5px 12px; transition: border-color .15s; }
.gbh-hub-links a:hover { border-color: var(--gb-line3); }
/* ③' 커뮤니티 존 (도드라짐) */
.gbh-comm { display: grid; grid-template-columns: 1fr 250px; gap: 14px; align-items: start; }
.gbh-comm-main { display: flex; flex-direction: column; gap: 12px; }
/* 환영 배너 + 글쓰기 */
.gbh-comm-hero { display: flex; align-items: center; gap: 14px; border: 1px solid #3a2540; border-radius: 13px; background: linear-gradient(135deg, rgba(231,43,153,.12), rgba(146,41,247,.10)); padding: 16px 18px; }
.gbh-comm-hero-t { flex: 1; min-width: 0; }
.gbh-comm-hero-t .t { font-size: 17px; font-weight: 700; }
.gbh-comm-hero-t .s { font-size: 12.5px; color: var(--gb-txt2); margin-top: 4px; }
.gbh-comm-write { flex: 0 0 auto; background: var(--gb-pink); color: #fff; font-weight: 700; font-size: 14px; border-radius: 10px; padding: 11px 20px; white-space: nowrap; }
.gbh-comm-write:hover { background: #f23da8; color: #fff; }
/* 게시판 카드 */
.gbh-comm-boards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.gbh-comm-boards a { display: flex; flex-direction: column; align-items: center; gap: 6px; border: 1px solid var(--gb-line); border-radius: 11px; background: var(--gb-bg2); padding: 14px 8px; font-size: 12.5px; font-weight: 600; color: var(--gb-txt2); text-align: center; }
.gbh-comm-boards a:hover { border-color: var(--gb-line3); color: var(--gb-txt); }
.gbh-comm-boards .ic { font-size: 22px; }
/* 활동 스트립 */
.gbh-comm-acts { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; border: 1px solid var(--gb-line); border-radius: 11px; background: var(--gb-bg2); padding: 11px 14px; }
.gbh-comm-acts .lbl { font-size: 12px; color: var(--gb-mut); margin-right: 4px; }
.gbh-comm-acts a { font-size: 12.5px; color: var(--gb-txt2); border: 1px solid var(--gb-line2); border-radius: 20px; padding: 6px 12px; }
.gbh-comm-acts a:hover { border-color: var(--gb-line3); color: var(--gb-txt); }
/* 골드 랭킹 미니 */
.gbh-comm-rank { border: 1px solid var(--gb-line); border-radius: 13px; background: var(--gb-bg2); padding: 14px 15px; }
.gbh-comm-rank-h { font-size: 13.5px; font-weight: 700; margin-bottom: 10px; }
.gbh-cr-row { display: flex; align-items: center; gap: 8px; padding: 5px 0; font-size: 12.5px; }
.gbh-cr-row .rk { width: 20px; text-align: center; font-size: 13px; flex: 0 0 auto; }
.gbh-cr-row .av { width: 22px; height: 22px; border-radius: 50%; flex: 0 0 auto; }
.gbh-cr-row .nm { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--gb-txt2); }
.gbh-cr-row .g { font-size: 12px; color: #f0c98a; font-weight: 700; white-space: nowrap; }
.gbh-cr-all { display: block; margin-top: 9px; font-size: 12px; color: #c4b9ff; }
@media (max-width: 880px) {
  .gbh-comm { grid-template-columns: 1fr; }
  .gbh-comm-boards { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .gbh-comm-boards { grid-template-columns: repeat(2, 1fr); }
  .gbh-comm-hero { flex-wrap: wrap; }
  .gbh-comm-write { width: 100%; text-align: center; }
}

/* 사이드바 추가 위젯 (카테고리/태그/외부채널) — .gbh-swidget는 chrome에서 정의 */
.gbh-cat-group { font-size: 11px; color: var(--gb-mut); margin: 9px 0 5px; }
.gbh-cat-row { display: flex; justify-content: space-between; font-size: 13px; padding: 6px; border-radius: 6px; color: var(--gb-txt2); }
.gbh-cat-row:hover { background: #20202a; }
.gbh-cat-row .cnt { color: var(--gb-mut); }
.gbh-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.gbh-tags a { font-size: 12px; color: var(--gb-txt2); border: 1px solid var(--gb-line2); border-radius: 20px; padding: 4px 11px; }
.gbh-tags a:hover { border-color: var(--gb-line3); }
.gbh-chan { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--gb-txt2); padding: 5px 0; }
.gbh-chan:hover { color: var(--gb-txt); }

/* 반응형 */
@media (max-width: 980px) {
  .gbh-wrap { grid-template-columns: 1fr; }
  .gbh-head-grid { grid-template-columns: 1fr; }
  .gbh-news-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .gbh-news-grid, .gbh-startup-grid, .gbh-engage-grid { grid-template-columns: 1fr; }
  .gbh-comm-strip { flex-wrap: wrap; }
  .gbh-comm-strip .links { margin-left: 0; width: 100%; }
}

/* ③″ 콘텐츠 허브 섹션 (이미지 우선 카드 · 4열=4+4) */
.gbh-hub-intro {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  font-size: 13px; color: var(--gb-mut); margin: -2px 0 14px;
}
.gbh-hub-write {
  flex: 0 0 auto; padding: 7px 14px; border-radius: 9px;
  background: var(--gb-pink); color: #fff; font-weight: 800; font-size: 13px;
}
.gbh-hub-write:hover { filter: brightness(1.08); }
.gbh-hub-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.gbh-hub-card {
  display: flex; flex-direction: column;
  background: var(--gb-bg2); border: 1px solid var(--gb-line); border-radius: 14px; overflow: hidden;
  transition: border-color .15s, transform .15s;
}
.gbh-hub-card:hover { border-color: var(--gb-pur); transform: translateY(-2px); }
/* 썸네일 */
.gbh-hub-thumb { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--gb-bg3); }
.gbh-hub-thumb-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gbh-hub-thumb-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 34px; opacity: .85; }
.gbh-hub-thumb.gbh-hubc-recruit { background: linear-gradient(135deg, rgba(146,41,247,.28), var(--gb-bg4)); }
.gbh-hub-thumb.gbh-hubc-team { background: linear-gradient(135deg, rgba(39,192,214,.24), var(--gb-bg4)); }
.gbh-hub-thumb.gbh-hubc-sicham { background: linear-gradient(135deg, rgba(240,167,48,.24), var(--gb-bg4)); }
.gbh-hub-thumb.gbh-hubc-promo { background: linear-gradient(135deg, rgba(231,43,153,.24), var(--gb-bg4)); }
.gbh-hub-platbadge { position: absolute; top: 7px; left: 7px; font-size: 10px; font-weight: 700; color: #fff; background: rgba(0,0,0,.45); padding: 2px 7px; border-radius: 999px; }
/* 본문 */
.gbh-hub-cardbody { display: flex; flex-direction: column; gap: 7px; padding: 12px 13px; flex: 1 1 auto; }
.gbh-hub-cat { align-self: flex-start; font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 7px; background: var(--gb-bg3); color: var(--gb-txt2); }
.gbh-hubc-recruit { color: #c4b9ff; }
.gbh-hubc-team { color: var(--gb-cyan); }
.gbh-hubc-sicham { color: var(--gb-amber); }
.gbh-hubc-promo { color: var(--gb-pink); }
.gbh-hub-title {
  font-size: 14px; font-weight: 700; color: var(--gb-txt); line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.gbh-hub-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--gb-line); }
.gbh-hub-by { font-size: 12px; color: var(--gb-txt2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gbh-hub-cap { font-size: 11px; color: var(--gb-mut); white-space: nowrap; }
@media (max-width: 760px) { .gbh-hub-grid { grid-template-columns: repeat(2, 1fr); } }

/* 🏆 주간 커뮤니티 베스트 */
.gbh-best-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.gbh-best-row { min-width: 0; }
.gbh-best-title { min-width: 0; }
.gbh-best-row { display: flex; align-items: center; gap: 11px; background: var(--gb-bg2); border: 1px solid var(--gb-line); border-radius: 12px; padding: 11px 13px; transition: border-color .15s; }
.gbh-best-row:hover { border-color: var(--gb-pur); }
.gbh-best-rk { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; background: var(--gb-bg4); color: var(--gb-mut); }
.gbh-best-rk-1 { background: var(--gb-amber); color: #2a1c03; }
.gbh-best-rk-2 { background: #c0c6d0; color: #20232a; }
.gbh-best-rk-3 { background: #cd8b5a; color: #2a1604; }
.gbh-best-thumb { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 8px; object-fit: cover; }
.gbh-best-main { min-width: 0; flex: 1 1 auto; }
.gbh-best-title { font-size: 14px; font-weight: 700; color: var(--gb-txt); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gbh-best-meta { display: flex; align-items: center; gap: 9px; margin-top: 4px; font-size: 11px; color: var(--gb-mut); flex-wrap: wrap; }
.gbh-best-gal { color: #c4b9ff; font-weight: 600; }
@media (max-width: 760px) { .gbh-best-grid { grid-template-columns: 1fr; } }

/* 📝 최신 커뮤니티 글 (주간 베스트 대체, 2026-06-28) */
.gbh-latest .gbh-zone-h .gbh-latest-write {
  margin-left: auto; flex: 0 0 auto;
  padding: 6px 14px; border-radius: 8px;
  background: var(--gb-pink); color: #fff; font-weight: 800; font-size: 13px;
  white-space: nowrap; transition: filter .15s;
}
.gbh-latest .gbh-zone-h .gbh-latest-write:hover { filter: brightness(1.08); color: #fff; }
.gbh-latest .gbh-zone-h .gbh-more { margin-left: 0; }
/* 이미지 없는 글의 썸네일 플레이스홀더 */
.gbh-best-ph { display: flex; align-items: center; justify-content: center; background: var(--gb-bg4); font-size: 20px; }
/* 빈 상태 CTA */
.gbh-latest-empty {
  display: block; text-align: center; padding: 22px 16px;
  border: 1px dashed var(--gb-line3); border-radius: 12px;
  background: var(--gb-bg2); color: var(--gb-txt2); font-size: 13.5px; font-weight: 600;
}
.gbh-latest-empty:hover { border-color: var(--gb-pink); color: var(--gb-txt); }

/* 🔴 지금 LIVE 방송 */
.gbh-bar.live { background: #ff4655; }
.gbh-live-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #ff4655; margin-right: 7px; vertical-align: middle; animation: gbhLivePulse 1.4s ease-in-out infinite; }
@keyframes gbhLivePulse { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(255,70,85,.5); } 50% { opacity: .55; box-shadow: 0 0 0 5px rgba(255,70,85,0); } }
.gbh-live-rail { display: flex; gap: 14px; overflow-x: auto; padding: 2px 2px 8px; }
.gbh-live-rail::-webkit-scrollbar { height: 6px; }
.gbh-live-rail::-webkit-scrollbar-thumb { background: var(--gb-line3); border-radius: 3px; }
.gbh-live-card { flex: 0 0 auto; width: 92px; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; }
.gbh-live-av { position: relative; width: 72px; height: 72px; border-radius: 50%; padding: 3px; background: var(--gb-bg); box-shadow: 0 0 0 2px #ff4655; }
.gbh-live-av img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.gbh-live-avph { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: var(--gb-bg3); font-size: 26px; }
.gbh-live-badge { position: absolute; bottom: -2px; left: 50%; transform: translateX(-50%); font-size: 9px; font-weight: 800; color: #fff; background: #ff4655; padding: 1px 7px; border-radius: 999px; letter-spacing: .04em; }
.gbh-live-name { font-size: 12px; font-weight: 700; color: var(--gb-txt); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90px; }
.gbh-live-plat { font-size: 10px; font-weight: 700; color: var(--gb-mut); }
.gbh-live-plat.gbh-plat-chzzk { color: #00ffa3; }
.gbh-live-plat.gbh-plat-youtube { color: #ff4e45; }

/* ============================================================
   📱 모바일 blowout 수정 (2026-06-28)
   증상: 모바일에서 카드 그리드 아이템(이미지 포함)이 min-content(이미지 자연폭>
   뷰포트)로 그리드 트랙을 못 줄여 → shrink-to-fit 피드백 루프 → 전체 1492px
   데스크톱 폭으로 팽창. 정석 수정: 모든 트랙 minmax(0,1fr) + 카드 아이템
   min-width:0 + 썸네일 max-width:100%. (롤백 = 이 블록 통째 삭제)
   ============================================================ */
/* ① 모든 그리드 트랙을 minmax(0,1fr)로 — 트랙 최소를 0으로 만들어 축소 허용 */
.gbh-head-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.gbh-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gbh-startup-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gbh-engage-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.gbh-comm { grid-template-columns: minmax(0, 1fr) 250px; }
.gbh-comm-boards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.gbh-hub-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* ② 축소 가능해야 하는 flex/grid 아이템에 min-width:0 (min-content 잠금 해제) */
.gbh-main, .gbh-side, .gbh-hero, .gbh-ncard, .gbh-hl, .gbh-rep,
.gbh-hub-card, .gbh-best-row, .gbh-imgwrap,
.gbh-hero .gbh-body, .gbh-ncard .gbh-body,
.gbh-comm-main, .gbh-comm-hero-t { min-width: 0; }
/* ③ 썸네일/이미지는 컨테이너를 절대 넘지 않도록 */
.gbh-thumb, .gbh-hub-thumb-img, .gbh-best-thumb, .gbh-side img { max-width: 100%; }
/* ④ 반응형 분기도 minmax(0,1fr)로 (소스 뒤쪽이라 기존 동일 미디어쿼리를 덮음) */
@media (max-width: 980px) {
  .gbh-wrap { grid-template-columns: minmax(0, 1fr); }
  .gbh-head-grid { grid-template-columns: minmax(0, 1fr); }
  .gbh-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 880px) {
  .gbh-comm { grid-template-columns: minmax(0, 1fr); }
  .gbh-comm-boards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .gbh-hub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gbh-best-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .gbh-news-grid, .gbh-startup-grid, .gbh-engage-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .gbh-comm-boards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
