/* ============================================================
   숨터 — 커뮤니티 게시판 스타일 (목록 / 상세 / 글쓰기 / 파셜)
   maison 토큰을 그대로 따르고, 댓글·반응 UI 는 soomter-community.css 를 공유합니다.
   스크롤 성능을 위해 mask-image / filter:blur 는 사용하지 않습니다.
   ============================================================ */

.board-page{
  --bd-paper: var(--paper, #FBF6EA);
  --bd-card: var(--card, #FFFDF7);
  --bd-ink: var(--ink, #241A12);
  --bd-ink-2: var(--ink-2, #5B4A38);
  --bd-ink-3: var(--ink-3, #8C7A62);
  --bd-line: var(--line, rgba(36,26,18,.10));
  --bd-line-2: var(--line-2, rgba(36,26,18,.16));
  --bd-gold: var(--gold, #B08327);
  --bd-gold-3: var(--gold-3, #9A6F1E);
  --bd-terra: var(--terra, #C8563C);
  --bd-ease: var(--ease, cubic-bezier(.22,.61,.36,1));
  padding-bottom: 56px;
}
.board-page *{ box-sizing:border-box; }

/* ───────── 알림 ───────── */
.bd-alert{ margin:14px 0 0; padding:11px 16px; border-radius:12px; font-size:13.5px; font-weight:600; }
.bd-alert.ok{ background:#F2F8F1; border:1px solid #BFD9BC; color:#2E5C32; }
.bd-alert.err{ background:#FBF1EE; border:1px solid #E5BFB3; color:#8A3B25; }

/* ───────── 헤더 ───────── */
.bd-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:26px 0 6px; }
.bd-kicker{ margin:0 0 6px; font-size:11.5px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--bd-gold-3); }
.bd-head h1{ margin:0; font-size:clamp(26px,4.6vw,38px); font-weight:900; letter-spacing:-.045em; color:var(--bd-ink); line-height:1.18; }
.bd-lead{ margin:10px 0 0; font-size:14.5px; color:var(--bd-ink-2); line-height:1.65; max-width:560px; }
.bd-head-actions{ display:flex; gap:8px; padding-bottom:4px; }

.bd-write-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:12px 22px; border-radius:999px; border:0; cursor:pointer; text-decoration:none;
  font-family:inherit; font-size:14px; font-weight:800; letter-spacing:-.02em; color:#fff;
  background:linear-gradient(135deg, var(--bd-gold), var(--bd-gold-3));
  box-shadow:0 8px 22px rgba(154,111,30,.28), inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .25s var(--bd-ease), box-shadow .25s var(--bd-ease);
}
.bd-write-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(154,111,30,.34); }
.bd-write-btn:disabled{ opacity:.6; transform:none; cursor:default; }
.bd-write-btn--ghost{
  color:var(--bd-ink-2); background:var(--bd-card);
  box-shadow:inset 0 0 0 1.5px var(--bd-line-2);
}
.bd-write-btn--ghost:hover{ color:var(--bd-ink); box-shadow:inset 0 0 0 1.5px var(--bd-gold); }

/* ───────── 탭 ───────── */
.bd-tabs{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:20px 0 14px; }
.bd-tab{
  display:inline-block; padding:8px 16px; border-radius:999px; text-decoration:none;
  font-size:13.5px; font-weight:700; letter-spacing:-.02em; color:var(--bd-ink-2);
  background:var(--bd-card); box-shadow:inset 0 0 0 1px var(--bd-line-2);
  transition:color .2s, box-shadow .2s, background .2s;
}
.bd-tab:hover{ color:var(--bd-ink); box-shadow:inset 0 0 0 1px var(--bd-gold); }
.bd-tab.is-active{ color:#fff; background:var(--bd-ink); box-shadow:none; }
.bd-total{ margin-left:auto; font-size:12.5px; color:var(--bd-ink-3); }

/* ───────── 분류 배지 / 작성자 ───────── */
.bd-badge{
  display:inline-block; padding:3px 9px; border-radius:6px;
  font-size:11px; font-weight:800; letter-spacing:.02em; line-height:1.4;
}
.bd-badge--review{ background:#F2E8D2; color:#7A5A12; }
.bd-badge--qna{ background:#E8EEF4; color:#2D5570; }
.bd-cafe-tag{
  display:inline-block; padding:3px 9px; border-radius:6px; text-decoration:none;
  font-size:11.5px; font-weight:700; color:var(--bd-ink-2);
  background:var(--bd-card); box-shadow:inset 0 0 0 1px var(--bd-line);
}
a.bd-cafe-tag:hover{ color:var(--bd-terra); box-shadow:inset 0 0 0 1px var(--bd-terra); }
.bd-author{ display:inline-flex; align-items:center; gap:6px; font-weight:700; color:var(--bd-ink-2); }
.bd-grade{
  display:inline-block; padding:2px 8px; border-radius:999px; font-style:normal;
  font-size:10.5px; font-weight:800; color:#7A5A12; background:#F6EDD8;
}
.bd-grade--admin{ color:#fff; background:var(--bd-ink); }

/* ───────── 목록 ───────── */
.bd-list{ display:flex; flex-direction:column; gap:12px; }
.bd-item{
  position:relative; display:flex; gap:16px; align-items:stretch;
  padding:18px 20px; border-radius:18px; background:var(--bd-card);
  box-shadow:0 1px 0 rgba(36,26,18,.04), inset 0 0 0 1px var(--bd-line);
  transition:transform .25s var(--bd-ease), box-shadow .25s var(--bd-ease);
}
.bd-item:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(76,55,28,.12), inset 0 0 0 1px var(--bd-line-2); }
.bd-item-link{ position:absolute; inset:0; border-radius:18px; z-index:1; }
.bd-item-main{ flex:1; min-width:0; }
.bd-item-top{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.bd-item-title{
  margin:0 0 6px; font-size:17px; font-weight:800; letter-spacing:-.03em; color:var(--bd-ink); line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.bd-item-excerpt{
  margin:0 0 10px; font-size:13.5px; color:var(--bd-ink-3); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.bd-item-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:var(--bd-ink-3); }
.bd-time{ color:var(--bd-ink-3); }
.bd-count{ font-weight:700; }
.bd-item-thumb{ flex:0 0 92px; align-self:center; position:relative; z-index:0; }
.bd-item-thumb img{
  display:block; width:92px; height:92px; object-fit:cover; border-radius:12px;
  box-shadow:inset 0 0 0 1px var(--bd-line);
}

/* ───────── 빈 상태 / 페이저 ───────── */
.bd-empty{
  margin:26px 0; padding:46px 22px; text-align:center; border-radius:18px;
  background:var(--bd-card); box-shadow:inset 0 0 0 1px var(--bd-line);
}
.bd-empty-title{ margin:0 0 6px; font-size:17px; font-weight:800; color:var(--bd-ink); }
.bd-empty-sub{ margin:0; font-size:13.5px; color:var(--bd-ink-3); }
.bd-empty-sub a{ color:var(--bd-terra); font-weight:700; }

.bd-pager{ display:flex; justify-content:center; align-items:center; gap:6px; margin:24px 0 6px; }
.bd-page{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:36px; height:36px; padding:0 8px; border-radius:10px; text-decoration:none;
  font-size:13.5px; font-weight:700; color:var(--bd-ink-2);
  background:var(--bd-card); box-shadow:inset 0 0 0 1px var(--bd-line-2);
  transition:color .2s, box-shadow .2s;
}
.bd-page:hover{ color:var(--bd-ink); box-shadow:inset 0 0 0 1px var(--bd-gold); }
.bd-page.is-current{ color:#fff; background:var(--bd-ink); box-shadow:none; }
.bd-page--arrow{ font-size:16px; }

/* ───────── 상세 ───────── */
.bv-article{
  margin-top:18px; padding:28px clamp(18px,4vw,36px) 24px; border-radius:22px;
  background:var(--bd-card); box-shadow:0 1px 0 rgba(36,26,18,.04), inset 0 0 0 1px var(--bd-line);
}
.bv-head-top{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.bv-title{ margin:0 0 12px; font-size:clamp(22px,4.4vw,32px); font-weight:900; letter-spacing:-.04em; line-height:1.3; color:var(--bd-ink); }
.bv-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding-bottom:18px; border-bottom:1px solid var(--bd-line); font-size:12.5px; color:var(--bd-ink-3); }
.bv-dot{ color:var(--bd-line-2); }

.bv-body{ padding:22px 0 4px; font-size:15.5px; line-height:1.85; color:var(--bd-ink-2); word-break:break-word; overflow-wrap:anywhere; }
.bv-body .bp-figure{ margin:18px 0; }
.bv-body .bp-figure img{
  display:block; max-width:100%; height:auto; margin:0 auto; border-radius:14px;
  box-shadow:0 6px 18px rgba(36,26,18,.10), inset 0 0 0 1px var(--bd-line);
}

.bv-cafe-card{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  margin:18px 0 4px; padding:16px 18px; border-radius:16px;
  background:var(--paper-deep, #F2E8D2); box-shadow:inset 0 0 0 1px var(--bd-line);
}
.bv-cafe-kicker{ margin:0 0 3px; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--bd-gold-3); }
.bv-cafe-copy b{ display:block; font-size:16px; font-weight:800; letter-spacing:-.03em; color:var(--bd-ink); }
.bv-cafe-copy em{ display:block; margin-top:3px; font-style:normal; font-size:12.5px; color:var(--bd-ink-2); }
.bv-cafe-btn{
  display:inline-block; padding:10px 18px; border-radius:999px; text-decoration:none;
  font-size:13px; font-weight:800; color:#fff; background:var(--bd-ink);
  transition:transform .25s var(--bd-ease);
}
.bv-cafe-btn:hover{ transform:translateY(-2px); }

.bv-tools{ display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; padding-top:16px; border-top:1px dashed var(--bd-line-2); }
.bv-tool-btn{
  display:inline-flex; align-items:center; gap:5px; padding:8px 14px; border-radius:999px;
  border:0; cursor:pointer; text-decoration:none; font-family:inherit;
  font-size:12.5px; font-weight:700; color:var(--bd-ink-2);
  background:var(--bd-paper); box-shadow:inset 0 0 0 1px var(--bd-line-2);
  transition:color .2s, box-shadow .2s;
}
.bv-tool-btn:hover{ color:var(--bd-ink); box-shadow:inset 0 0 0 1px var(--bd-gold); }
.bv-tool-danger:hover{ color:#fff; background:var(--bd-terra); box-shadow:none; }

.bv-related{ margin-top:30px; }
.bv-related-title{ margin:0 0 10px; font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--bd-ink-3); }
.bv-related-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:10px; }
.bv-related-item{
  display:flex; align-items:center; gap:8px; padding:13px 15px; border-radius:14px; text-decoration:none;
  background:var(--bd-card); box-shadow:inset 0 0 0 1px var(--bd-line);
  transition:transform .25s var(--bd-ease), box-shadow .25s var(--bd-ease);
}
.bv-related-item:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(76,55,28,.10), inset 0 0 0 1px var(--bd-line-2); }
.bv-related-item b{ font-size:13.5px; font-weight:700; letter-spacing:-.02em; color:var(--bd-ink); line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* 댓글 캡챠 이미지 (카페 상세와 동일 룩) */
.sb-community .sc-captcha .captcha-img-wrap{ display:inline-flex; align-items:center; gap:6px; }
.sb-community .sc-captcha .captcha-img{ display:block; border:1px solid rgba(36,26,18,.16); border-radius:8px; background:#fff; }
.sb-community .sc-captcha .captcha-reload{ width:32px; height:32px; border:1px solid rgba(36,26,18,.16); border-radius:8px; background:#f2e8d2; color:#9a7b1e; font-size:15px; line-height:1; cursor:pointer; }
.sb-community .sc-captcha .captcha-reload:hover{ color:#c8563c; }
.sb-community .sc-captcha .captcha-question{ font-weight:800; }

/* ───────── 글쓰기 ───────── */
.bw-form{
  margin-top:16px; padding:26px clamp(16px,3.4vw,30px) 24px; border-radius:22px;
  background:var(--bd-card); box-shadow:0 1px 0 rgba(36,26,18,.04), inset 0 0 0 1px var(--bd-line);
  display:flex; flex-direction:column; gap:22px;
}
.bw-field{ display:flex; flex-direction:column; gap:8px; }
.bw-label{ font-size:13px; font-weight:800; letter-spacing:-.02em; color:var(--bd-ink); }
.bw-req{ color:var(--bd-terra); font-style:normal; }
.bw-opt{ font-style:normal; font-weight:600; font-size:11.5px; color:var(--bd-ink-3); }
.bw-hint{ margin:0; font-size:12px; color:var(--bd-ink-3); line-height:1.6; }
.bw-hint code{ background:var(--bd-paper); padding:1px 6px; border-radius:5px; font-size:11.5px; }

.bw-input, .bw-textarea{
  width:100%; padding:12px 14px; border-radius:12px; border:1.5px solid var(--bd-line-2);
  background:#fff; color:var(--bd-ink); font-family:inherit; font-size:14.5px; line-height:1.6;
  transition:border-color .15s;
}
.bw-input:focus, .bw-textarea:focus{ outline:none; border-color:var(--bd-gold); }
.bw-textarea{ resize:vertical; min-height:260px; }

.bw-cat-row{ display:flex; gap:8px; flex-wrap:wrap; }
.bw-cat input{ position:absolute; opacity:0; pointer-events:none; }
.bw-cat span{
  display:inline-block; padding:9px 18px; border-radius:999px; cursor:pointer;
  font-size:13.5px; font-weight:700; color:var(--bd-ink-2);
  background:var(--bd-paper); box-shadow:inset 0 0 0 1.5px var(--bd-line-2);
  transition:color .2s, background .2s, box-shadow .2s;
}
.bw-cat input:checked + span{ color:#fff; background:var(--bd-ink); box-shadow:none; }
.bw-cat input:focus-visible + span{ box-shadow:0 0 0 3px rgba(176,131,39,.35); }

.bw-cafe-search{ position:relative; }
.bw-cafe-results{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:30;
  background:#fff; border-radius:12px; box-shadow:0 14px 34px rgba(36,26,18,.16), inset 0 0 0 1px var(--bd-line-2);
  overflow:hidden; max-height:280px; overflow-y:auto;
}
.bw-cafe-item{
  display:flex; flex-direction:column; gap:1px; width:100%; padding:10px 14px; border:0; cursor:pointer;
  background:#fff; text-align:left; font-family:inherit;
}
.bw-cafe-item:hover{ background:var(--bd-paper); }
.bw-cafe-item b{ font-size:13.5px; font-weight:700; color:var(--bd-ink); }
.bw-cafe-item em{ font-style:normal; font-size:11.5px; color:var(--bd-ink-3); }
.bw-cafe-empty{ padding:14px; font-size:12.5px; color:var(--bd-ink-3); text-align:center; }
.bw-cafe-chip{ display:flex; align-items:center; gap:8px; }
.bw-cafe-name{
  display:inline-block; padding:8px 14px; border-radius:999px;
  font-size:13px; font-weight:700; color:#7A5A12; background:#F6EDD8;
}
.bw-cafe-clear{
  width:28px; height:28px; border:0; border-radius:999px; cursor:pointer;
  background:var(--bd-paper); color:var(--bd-ink-3); font-size:15px; line-height:1;
  box-shadow:inset 0 0 0 1px var(--bd-line-2);
}
.bw-cafe-clear:hover{ color:var(--bd-terra); }

.bw-pick-btn{
  align-self:flex-start; padding:10px 18px; border-radius:999px; border:0; cursor:pointer;
  font-family:inherit; font-size:13px; font-weight:800; color:var(--bd-ink-2);
  background:var(--bd-paper); box-shadow:inset 0 0 0 1.5px var(--bd-line-2);
  transition:color .2s, box-shadow .2s;
}
.bw-pick-btn:hover{ color:var(--bd-ink); box-shadow:inset 0 0 0 1.5px var(--bd-gold); }
.bw-pick-btn:disabled{ opacity:.5; cursor:default; }

.bw-images{ display:flex; gap:10px; flex-wrap:wrap; }
.bw-images:empty{ display:none; }
.bw-img{
  width:128px; border-radius:12px; overflow:hidden; background:#fff;
  box-shadow:inset 0 0 0 1px var(--bd-line-2);
}
.bw-img img{ display:block; width:128px; height:96px; object-fit:cover; }
.bw-img-no{ display:block; padding:5px 8px 0; font-size:10.5px; font-weight:800; color:var(--bd-gold-3); }
.bw-img-acts{ display:flex; gap:4px; padding:5px 6px 7px; }
.bw-img-btn{
  flex:1; padding:5px 4px; border:0; border-radius:7px; cursor:pointer;
  font-family:inherit; font-size:10.5px; font-weight:700; color:var(--bd-ink-2);
  background:var(--bd-paper); box-shadow:inset 0 0 0 1px var(--bd-line);
}
.bw-img-btn:hover{ color:var(--bd-ink); }
.bw-img-del:hover{ color:#fff; background:var(--bd-terra); box-shadow:none; }

.bw-rules{
  padding:14px 18px; border-radius:14px; background:var(--bd-paper);
  box-shadow:inset 0 0 0 1px var(--bd-line); font-size:12.5px; color:var(--bd-ink-2);
}
.bw-rules b{ display:block; margin-bottom:6px; font-size:12px; letter-spacing:.04em; color:var(--bd-ink); }
.bw-rules ul{ margin:0; padding-left:18px; line-height:1.8; }

.bw-actions{ display:flex; gap:10px; align-items:center; }

/* ───────── 글쓰기 권한 게이트 ───────── */
.bw-gate{
  margin-top:24px; padding:46px clamp(18px,5vw,46px); text-align:center; border-radius:22px;
  background:var(--bd-card); box-shadow:0 1px 0 rgba(36,26,18,.04), inset 0 0 0 1px var(--bd-line);
}
.bw-gate h1{ margin:6px 0 14px; font-size:clamp(22px,4.4vw,30px); font-weight:900; letter-spacing:-.04em; line-height:1.35; color:var(--bd-ink); }
.bw-gate-lead{ margin:0 auto 18px; max-width:520px; font-size:14px; color:var(--bd-ink-2); line-height:1.75; }
.bw-gate-status{ margin:0 auto 18px; max-width:420px; padding:12px 16px; border-radius:12px; background:var(--bd-paper); box-shadow:inset 0 0 0 1px var(--bd-line); font-size:12.5px; color:var(--bd-ink-3); }
.bw-gate-pill{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:11px; font-weight:800; margin-right:6px; }
.bw-gate-pill--new{ background:#F2E8D2; color:#7A5A12; }
.bw-gate-pill--approved{ background:#E7F2E6; color:#2E5C32; }
.bw-gate-pill--rejected{ background:#FBF1EE; color:#8A3B25; }
.bw-gate-memo{ margin:8px 0 0; text-align:left; font-size:12.5px; color:var(--bd-ink-2); }
.bw-gate-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }

/* ───────── 카페 상세 — 회원 후기 파셜 ───────── */
.cafe-board-reviews{ margin:34px 0 6px; }
.cbr-head{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.cbr-title{ margin:0; font-size:19px; font-weight:900; letter-spacing:-.035em; color:var(--ink, #241A12); }
.cbr-title em{ font-style:normal; color:var(--gold-3, #9A6F1E); }
.cbr-more{ font-size:12.5px; font-weight:700; color:var(--ink-3, #8C7A62); text-decoration:none; }
.cbr-more:hover{ color:var(--terra, #C8563C); }
.cbr-list{ display:flex; flex-direction:column; gap:10px; }
.cbr-item{
  display:block; padding:15px 18px; border-radius:14px; text-decoration:none;
  background:var(--card, #FFFDF7); box-shadow:inset 0 0 0 1px var(--line, rgba(36,26,18,.10));
  transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s cubic-bezier(.22,.61,.36,1);
}
.cbr-item:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(76,55,28,.10), inset 0 0 0 1px var(--line-2, rgba(36,26,18,.16)); }
.cbr-item b{ display:block; font-size:14.5px; font-weight:800; letter-spacing:-.025em; color:var(--ink, #241A12); line-height:1.45; }
.cbr-item em{ display:block; margin-top:4px; font-style:normal; font-size:12.5px; color:var(--ink-3, #8C7A62); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cbr-meta{ display:flex; gap:8px; margin-top:8px; font-size:11.5px; color:var(--ink-3, #8C7A62); }
.cbr-cta{ margin-top:12px; text-align:center; }
.cbr-cta a{
  display:inline-block; padding:10px 20px; border-radius:999px; text-decoration:none;
  font-size:13px; font-weight:800; color:#7A5A12; background:#F6EDD8;
  box-shadow:inset 0 0 0 1px rgba(176,131,39,.3);
  transition:transform .25s cubic-bezier(.22,.61,.36,1);
}
.cbr-cta a:hover{ transform:translateY(-2px); }
.cbr-empty{ padding:18px; text-align:center; font-size:13px; color:var(--ink-3, #8C7A62); background:var(--card, #FFFDF7); border-radius:14px; box-shadow:inset 0 0 0 1px var(--line, rgba(36,26,18,.10)); }

/* ───────── 마이페이지 — 커뮤니티 카드 ───────── */
.my-board{ margin-top:18px; }
.my-board .request-form textarea{ min-height:96px; }
.mb-status{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:12px; font-size:13px; color:var(--ink-2, #5B4A38); }
.mb-pill{ display:inline-block; padding:4px 12px; border-radius:999px; font-size:11.5px; font-weight:800; }
.mb-pill--on{ background:#E7F2E6; color:#2E5C32; }
.mb-pill--new{ background:#F2E8D2; color:#7A5A12; }
.mb-pill--rejected{ background:#FBF1EE; color:#8A3B25; }
.mb-actions{ display:flex; gap:8px; flex-wrap:wrap; margin:4px 0 14px; }
.mb-posts{ margin-top:8px; }
.mb-posts strong{ display:block; margin-bottom:8px; font-size:12.5px; letter-spacing:.04em; color:var(--ink-3, #8C7A62); }
.mb-post-row{ display:flex; align-items:center; gap:8px; padding:9px 0; border-top:1px dashed var(--line, rgba(36,26,18,.10)); }
.mb-post-row a{ flex:1; min-width:0; text-decoration:none; font-size:13.5px; font-weight:700; color:var(--ink, #241A12);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mb-post-row a:hover{ color:var(--terra, #C8563C); }
.mb-post-row em{ font-style:normal; font-size:11.5px; color:var(--ink-3, #8C7A62); flex:0 0 auto; }
.mb-hidden-pill{ flex:0 0 auto; padding:2px 8px; border-radius:6px; font-size:10.5px; font-weight:800; background:#FBF1EE; color:#8A3B25; }

/* ───────── 반응형 ───────── */
@media (max-width: 640px){
  .bd-head{ flex-direction:column; align-items:flex-start; }
  .bd-item{ padding:15px 16px; gap:12px; }
  .bd-item-thumb, .bd-item-thumb img{ flex-basis:74px; width:74px; height:74px; }
  .bv-article{ padding:22px 16px 20px; }
  .bv-cafe-card{ flex-direction:column; align-items:flex-start; }
  .bw-form{ padding:20px 14px; }
}
