@charset "utf-8";
/* free/style.css
 * - Benchmark-like list UI
 * - Breakpoints:
 *   - <=766px: mobile list
 *   - >=767px: table
 * - Brand color uses theme variables:
 *   --mm-brand-primary, --mm-brand-primary-dark, --mm-brand-soft, --mm-focus-ring
 * - font-weight: <= 400 only
 */

/* 브랜드 컬러: theme common.css 변수 우선, 없으면 fallback */
:root {
  --mmr-brand: var(--mm-brand-primary, #1d4ed8);
  --mmr-border: rgba(0,0,0,.08);
  --mmr-muted: rgba(0,0,0,.60);
  --mmr-bg: #fff;
  --mmr-soft: #f3f4f6;
  --mmr-radius: 14px;
}

#container_title{
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* ======================================================================
   free - top banner
   - fit container width, no overflow
   ====================================================================== */
#container .mm-pc-board-banner{
  width:100%;
  margin: 8px 0 18px;
}

#container .mm-pc-board-banner picture,
#container .mm-pc-board-banner img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

/* ======================================================================
   free - for list.skin.php
   ====================================================================== */
.mm-free-list,
.mm-free-list *{
  box-sizing: border-box;
  font-weight: 400;
}

.mm-free-list{
  --mmf-brand: var(--mm-brand-primary, #1d4ed8);
  --mmf-brand-dark: var(--mm-brand-primary-dark, #1e40af);
  --mmf-soft: var(--mm-brand-soft, #eff6ff);
  --mmf-focus: var(--mm-focus-ring, rgba(29, 78, 216, 0.45));

  --mmf-border: rgba(0,0,0,.10);
  --mmf-line: #e5e7eb;
  --mmf-text: #111827;
  --mmf-muted: rgba(0,0,0,.55);

  --mmf-cmt: #f97316;   /* 댓글수(벤치마킹 오렌지 톤) */
  --mmf-new: #ef4444;   /* N 배지 */
}

.mm-free-list b,
.mm-free-list strong{
  font-weight: 400;
}

.mm-free-list .mmf-ico{
  display: inline-block;
  fill: currentColor;
  vertical-align: -2px;
}

.mm-free-list .mmf-ico--folder{
  color: #f59e0b; /* 폴더(공지 느낌) */
}

.mm-free-list .mmf-ico--meta{
  color: rgba(0,0,0,.45);
}

.mm-free-list .mmf-search{
  width: 100%;
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid var(--mmf-line);
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  margin: 0 0 10px;
}

.mm-free-list .mmf-search[hidden]{
  display:none !important;
}

.mm-free-list .mmf-search__sel{
  height: 42px;
  border: 1px solid var(--mmf-line);
  border-radius: 8px;
  padding: 0 12px;
  background: #fff;
  color: var(--mmf-text);
  flex: 0 0 auto;
  min-width: 120px;
}

.mm-free-list .mmf-search__inp{
  height: 42px;
  border: 1px solid var(--mmf-line);
  border-radius: 8px;
  padding: 0 12px;
  outline: none;
  flex: 1 1 auto;
  min-width: 0;
  color: var(--mmf-text);
}

.mm-free-list .mmf-search__inp:focus{
  outline: 2px solid var(--mmf-focus);
  outline-offset: 2px;
}

.mm-free-list .mmf-search__btn{
  width: 50px;
  height: 42px;
  border: 0;
  border-radius: 8px;
  background: var(--mmf-brand);
  color: #fff;
  cursor: pointer;
}

.mm-free-list .mmf-search__btn:hover{
  background: var(--mmf-brand-dark);
}

/* top row */
.mm-free-list .mmf-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin: 6px 0 8px;
  padding: 0 10px;
}

.mm-free-list .mmf-total{
  color: var(--mmf-text);
  font-size: 14px;
  line-height: 1.2;
}

.mm-free-list .mmf-actions{
  display:flex;
  align-items:center;
  gap: 6px;
}

.mm-free-list .mmf-iconbtn{
  width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: rgba(0,0,0,.60);
  cursor: pointer;
  text-decoration: none;
}

.mm-free-list .mmf-iconbtn:hover{
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.06);
  color: rgba(0,0,0,.75);
}

.mm-free-list .mmf-iconbtn:focus{
  outline: 2px solid var(--mmf-focus);
  outline-offset: 2px;
}

.mm-free-list .mmf-bar{
  height: 3px;
  background: var(--mmf-brand);
  margin: 0 0 6px;
}

/* popover menu */
.mm-free-list .mmf-pop{
  position: relative;
}

.mm-free-list .mmf-menu{
  position:absolute;
  right: 0;
  top: 40px;
  min-width: 140px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  padding: 6px;
  z-index: 60;
}

.mm-free-list .mmf-menu__item,
.mm-free-list .mmf-menu button{
  display:block;
  width:100%;
  text-align:left;
  padding: 10px 10px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: var(--mmf-text);
  text-decoration: none;
  cursor: pointer;
}

.mm-free-list .mmf-menu__item:hover,
.mm-free-list .mmf-menu button:hover{
  background: rgba(0,0,0,.05);
}

.mm-free-list .mmf-menu__item.is-current{
  background: var(--mmf-soft);
  color: var(--mmf-brand);
}

/* checkbox (minimal, keep gnuboard base behavior) */
.mm-free-list .mmf-chk{
  display:inline-flex;
  align-items:center;
  margin-right: 6px;
}
.mm-free-list .mmf-chk input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mm-free-list .mmf-chk label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 18px;
  height: 18px;
  border: 1px solid var(--mmf-line);
  border-radius: 4px;
  cursor:pointer;
  background:#fff;
}
.mm-free-list .mmf-chk input:checked + label{
  border-color: var(--mmf-brand);
  background: var(--mmf-soft);
}

.mm-free-list .mmf-chk--m{
  margin-right: 4px;
}

/* =========================
 * PC table (>=767px)
 * ========================= */
.mm-free-list .mmf-tablewrap{
  display:none;
}

@media (min-width: 767px){
  .mm-free-list .mmf-tablewrap{ display:block; }
  .mm-free-list .mmf-m-list{ display:none; }
}

.mm-free-list .mmf-table{
  width:100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.mm-free-list .mmf-col-no{ width: 80px; }
.mm-free-list .mmf-col-name{ width: 120px; }
.mm-free-list .mmf-col-date{ width: 120px; }
.mm-free-list .mmf-col-hit{ width: 90px; }

.mm-free-list .mmf-table thead th{
  padding: 12px 10px;
  text-align:center;
  color: var(--mmf-text);
  border-bottom: 2px solid var(--mmf-brand);
  font-size: 14px;
}

.mm-free-list .mmf-table tbody td{
  padding: 12px 10px;
  border-bottom: 1px solid var(--mmf-line);
  vertical-align: middle;
  color: var(--mmf-text);
}

.mm-free-list .mmf-td-no{
  text-align: center;
  white-space: nowrap;
}

.mm-free-list .mmf-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 24px;
  padding: 0 10px;
  border-radius: 6px;
  background: var(--mmf-brand);
  color: #fff;
  font-size: 13px;
}

/* 공지 pill (요청: 배경색 #1d4ed8) */
.mm-free-list .mmf-badge--notice{
  background: #1d4ed8;
  color: #fff;
  border-radius: 999px;
  height: 24px;
  padding: 0 10px;
  gap: 6px;
}

.mm-free-list .mmf-badge--notice .mmf-badge__ico{
  fill: #fff;
  flex: 0 0 auto;
}

.mm-free-list .mmf-badge--notice .mmf-badge__txt{
  color: #fff;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}

/* 모바일 제목줄용(조금 더 컴팩트) */
.mm-free-list .mmf-badge--inline{
  height: 22px;
  padding: 0 8px;
}

.mm-free-list .mmf-num{
  color: rgba(0,0,0,.55);
  word-break: keep-all;
}
.mm-free-list .mmf-num-current{
  color: rgba(255, 0, 0);
  word-break: keep-all;
}

.mm-free-list .mmf-td-subject{
  text-align:left;
}

.mm-free-list .mmf-title{
  display:flex;
  align-items:center;
  gap: 6px;
  min-width: 0;
}

/* 답변글(게시글 답변) 들여쓰기 + 아이콘 */
.mm-free-list .mmf-replyindent{
  display: inline-block;
  flex: 0 0 auto;
  height: 1px; /* 레이아웃 영향 최소화 */
}

.mm-free-list .mmf-replymark{
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  opacity: .65;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M6 3v4c0 1.1.9 2 2 2h5' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M11.5 6.5L13 9l-1.5 2.5' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

@media (max-width: 766px){
  .mm-free-list .mmf-replymark{
    width: 14px;
    height: 14px;
    background-size: 14px 14px;
  }
}

.mm-free-list .mmf-subject{
  color: var(--mmf-text);
  text-decoration:none;
  min-width: 0;
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mm-free-list .mmf-subject:hover{
  text-decoration: underline;
}

.mm-free-list .mmf-new{
  width: 14px;
  height: 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 2px;
  background: var(--mmf-new);
  color:#fff;
  font-size: 11px;
  line-height: 1;
  flex: 0 0 auto;
}

.mm-free-list .mmf-cmt{
  color: var(--mmf-cmt);
  white-space: nowrap;
  flex: 0 0 auto;
}

.mm-free-list .mmf-td-name{
  text-align: left;
}

.mm-free-list .mmf-author{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  min-width:0;
}

.mm-free-list .mmf-author img{
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display:block;
}

.mm-free-list .mmf-td-date,
.mm-free-list .mmf-td-hit{
  text-align:center;
  color: rgba(0,0,0,.65);
}

.mm-free-list .mmf-date.is-today{
  color: var(--mmf-brand);
}

.mm-free-list .mmf-empty{
  padding: 22px 12px;
  text-align:center;
  color: rgba(0,0,0,.55);
}

/* =========================
 * Mobile list (<=766px)
 * ========================= */
.mm-free-list .mmf-m-list{
  list-style:none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--mmf-line);
}

.mm-free-list .mmf-item{
  padding: 14px 0;
  border-bottom: 1px solid var(--mmf-line);
}

.mm-free-list .mmf-row1{
  display:grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 10px;
}

.mm-free-list .mmf-row2{
  margin-top: 8px;
}

.mm-free-list .mmf-meta{
  display:flex;
  align-items:center;
  gap: 12px;
  color: rgba(0,0,0,.55);
  font-size: 13px;
}

.mm-free-list .mmf-meta__item{
  display:inline-flex;
  align-items:center;
  gap: 6px;
}

.mm-free-list .mmf-meta__item.is-today{
  color: var(--mmf-brand);
}

.mm-free-list .mmf-author{
  white-space: nowrap;
  color: var(--mmf-text);
}

.mm-free-list .mmf-author a{
  color: inherit;
  text-decoration: none;
}

.mm-free-list .mmf-author a:hover{
  text-decoration: underline;
}

/* pagination: benchmark-like center + brand active */
.mm-free-list .mmf-pages{
  margin: 16px 0 0;
}

.mm-free-list .pg_wrap{
  display:flex;
  justify-content:center;
}

.mm-free-list .pg{
  display:flex;
  justify-content:center;
}

.mm-free-list .pg a,
.mm-free-list .pg .pg_page,
.mm-free-list .pg strong,
.mm-free-list .pg .pg_current{
  min-width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 1px solid var(--mmf-line);
  background:#fff;
  color: var(--mmf-text);
  text-decoration:none;
  margin: 0 3px;
  border-radius: 4px;
}

.mm-free-list .pg strong,
.mm-free-list .pg .pg_current{
  background: var(--mmf-brand);
  border-color: var(--mmf-brand);
  color: #fff;
}

@media (max-width: 766px){
  .mm-free-list .pg a,
  .mm-free-list .pg .pg_page,
  .mm-free-list .pg strong,
  .mm-free-list .pg .pg_current{
    min-width: 20px;
    height: 20px;
    font-size: 12px;
  }
}
/* =========================================================
   free list tune
   - 1) search default collapsed (unless stx exists)
   - 2) >=767: shrink name col, expand title col
   - 3) author avatar 20x20
   - 4) <=766: search UI becomes 2 rows
   ========================================================= */

/* 1) search collapsed */
#bo_list.is-search-collapsed .mm-free-search[hidden] { display: none !important; }

/* 3) author avatar (20x20) */
#bo_list .mm-author{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-weight: 400;
}
#bo_list .mm-author__avatar{
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}
#bo_list .mm-author__avatar img{
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: block;
  object-fit: cover;
}
#bo_list .mm-avatar-fallback{
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: block;
  background: rgba(0,0,0,.08);
}
#bo_list .mm-author__name{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 400;
}

/* 2) >=767: name col narrower -> title shows more
   - 아래 클래스는 “이름/제목 td/th”에 붙여주는 방식이 가장 안전합니다.
   - 이미 클래스가 없다면: th/td에 mm-th-name/mm-td-name, mm-td-title를 추가하세요.
*/
@media (min-width: 767px){
  #bo_list table{ table-layout: fixed; }
  #bo_list .mm-th-name, #bo_list .mm-td-name{ width: 120px; }
  #bo_list .mm-td-name,
  #bo_list .mm-td-title{
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* 4) <=766: search form 2 rows (selects row + input row)
   - 검색 폼에 아래 class를 붙여 쓰는 것을 전제로 합니다:
     .mm-free-search__form / .mm-free-search__sel / .mm-free-search__q
*/
@media (max-width: 766px){
  #bo_list .mm-free-search__form{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  #bo_list .mm-free-search__sel{
    flex: 1 1 calc(50% - 5px);
    min-width: 0;
  }
  #bo_list .mm-free-search__q{
    flex: 1 1 100%;
    min-width: 0;
  }
}

/* 검색어 입력 줄( input + button )을 flex로 묶어서 폭 정상화 */
#bo_list .mm-free-search__q{
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
}

/* input이 줄에서 꽉 차도록 */
#bo_list .mm-free-search__q .mmf-search__inp{
  flex: 1 1 auto;
  min-width: 0;
}


/* ======================================================================
   free - write/update UI (mm-w)
   - 테마 공통 변수(--mm-brand-*) 사용
   ====================================================================== */
.mm-w,
.mm-w *{ box-sizing: border-box; font-weight: 400; }

.mm-w{
  --mmw-brand: var(--mm-brand-primary, #1d4ed8);
  --mmw-brand-dark: var(--mm-brand-primary-dark, #1e40af);
  --mmw-soft: var(--mm-brand-soft, #eff6ff);
  --mmw-focus: var(--mm-focus-ring, rgba(29, 78, 216, 0.45));
  --mmw-line: rgba(0,0,0,.10);
  --mmw-text: #111827;
  --mmw-muted: rgba(0,0,0,.60);
  --mmw-radius: 14px;
}

.mm-w__head{ margin: 20px 0 12px; }
.mm-w__desc{ margin: 0; color: var(--mmw-muted); font-size: 13px; line-height: 1.4; }

.mm-w__fs{
  border: 1px solid var(--mmw-line);
  border-radius: 16px;
  background: #fff;
  padding: 18px;
  margin: 0 0 16px;
}

.mm-w__lgd{
  padding: 0;
  margin: 0 0 10px;
  color: var(--mmw-text);
  font-size: 15px;
  line-height: 1.2;
}

.mm-w__field{ margin: 0 0 14px; }
.mm-w__field:last-child{ margin-bottom: 0; }

.mm-w__label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--mmw-text);
  font-size: 14px;
  line-height: 1.3;
  margin: 0 0 6px;
}

.mm-w__req,
.mm-w__opt{
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
}
.mm-w__req{
  background: var(--mmw-soft);
  color: var(--mmw-brand);
}
.mm-w__opt{
  background: rgba(0,0,0,.06);
  color: rgba(0,0,0,.65);
}

.mm-w__help{
  margin: 0 0 8px;
  color: var(--mmw-muted);
  font-size: 13px;
  line-height: 1.35;
}

.mm-w__inp,
.mm-w .frm_input{
  width: 100%;
  height: 52px;
  border: 1px solid var(--mmw-line);
  border-radius: var(--mmw-radius);
  padding: 0 14px;
  background: #fff;
  color: var(--mmw-text);
}

.mm-w__inp:focus,
.mm-w .frm_input:focus{
  outline: 2px solid var(--mmw-focus);
  outline-offset: 2px;
}

.mm-w__editor .wr_content{
  border: 1px solid var(--mmw-line);
  border-radius: var(--mmw-radius);
  background: #fff;
  padding: 10px;
}

.mm-w__options{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.mm-w__file{
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--mmw-line);
  border-radius: var(--mmw-radius);
  background: #fff;
  padding: 10px 14px;
}

.mm-w__filemeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px dashed rgba(0,0,0,.15);
  border-radius: 12px;
  color: var(--mmw-muted);
  font-size: 13px;
}

.mm-w__filedel{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  color: var(--mmw-text);
}

.mm-w__btns{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.mm-w__btn{
  height: 46px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid var(--mmw-line);
  background: #fff;
  color: var(--mmw-text);
  text-decoration: none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor: pointer;
}

.mm-w__btn--primary{
  border-color: var(--mmw-brand);
  background: var(--mmw-brand);
  color: #fff;
}
.mm-w__btn--primary:hover{
  background: var(--mmw-brand-dark);
  border-color: var(--mmw-brand-dark);
}


/* ======================================================================
   free - view UI (mmfv)
   - Benchmark-like view layout
   - Breakpoints: <=767 / >=768
   - Uses theme vars: --mm-brand-primary etc
   ====================================================================== */

.mm-free-view,
.mm-free-view *{ box-sizing: border-box; font-weight: 400; }

.mm-free-view{
  --mmfv-brand: var(--mm-brand-primary, #1d4ed8);
  --mmfv-brand-dark: var(--mm-brand-primary-dark, #1e40af);
  --mmfv-soft: var(--mm-brand-soft, #eff6ff);
  --mmfv-focus: var(--mm-focus-ring, rgba(29, 78, 216, 0.45));
  --mmfv-line: rgba(0,0,0,.10);
  --mmfv-text: #111827;
  --mmfv-muted: rgba(0,0,0,.60);
  --mmfv-danger: #ef4444;
}

.mm-free-view .mmfv-head{
  padding: 6px 0 0;
}

.mm-free-view .mmfv-headline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--mmfv-line);
}

.mm-free-view #bo_v_title{
  margin: 0;
  line-height: 1.15;
}

.mm-free-view #bo_v_title .bo_v_tit{
  font-size: 30px;
  letter-spacing: -0.01em;
}

.mm-free-view #bo_v_title .bo_v_cate{
  display:inline-flex;
  align-items:center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--mmfv-soft);
  color: var(--mmfv-brand);
  margin-right: 10px;
  font-size: 13px;
}

.mm-free-view .mmfv-datetime{
  flex: 0 0 auto;
  color: var(--mmfv-muted);
  font-size: 13px;
  white-space: nowrap;
}

.mm-free-view .mmfv-subline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 10px 0 0;
}

.mm-free-view .mmfv-author{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}

.mm-free-view .mmfv-avatar{
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  overflow:hidden;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}

.mm-free-view .mmfv-avatar img{
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 999px;
  display:block;
}

.mm-free-view .mmfv-authorinfo{
  min-width: 0;
}

.mm-free-view .mmfv-name{
  color: var(--mmfv-text);
  font-size: 14px;
  line-height: 1.2;
}

.mm-free-view .mmfv-name strong{ font-weight: 400; }

.mm-free-view .mmfv-stats{
  list-style:none;
  margin: 6px 0 0;
  padding: 0;
  display:flex;
  align-items:center;
  gap: 12px;
  color: rgba(0,0,0,.55);
  font-size: 13px;
}

.mm-free-view .mmfv-stat{
  display:inline-flex;
  align-items:center;
  gap: 6px;
}

.mm-free-view .mmfv-stat i{
  color: rgba(0,0,0,.45);
}

.mm-free-view .mmfv-actions{
  display:flex;
  align-items:center;
  gap: 8px;
  flex: 0 0 auto;
}

.mm-free-view .mmfv-btn{
  height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: var(--mmfv-text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.mm-free-view .mmfv-btn:focus{
  outline: 2px solid var(--mmfv-focus);
  outline-offset: 2px;
}

.mm-free-view .mmfv-btn--danger{
  border-color: var(--mmfv-danger);
  color: var(--mmfv-danger);
  background: #fff;
}

.mm-free-view .mmfv-btn--icon{
  width: 34px;
  padding: 0;
}

.mm-free-view .mmfv-more{ position: relative; }

.mm-free-view .mmfv-menu{
  position:absolute;
  right: 0;
  top: 42px;
  min-width: 100px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  padding: 6px;
  z-index: 60;
  list-style: none;
}

.mm-free-view .mmfv-menu__item{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration:none;
  color: var(--mmfv-text);
}

.mm-free-view .mmfv-menu__item:hover{
  background: rgba(0,0,0,.05);
}

/* body */
.mm-free-view .mmfv-body{
  padding: 10px 0 0;
}

.mm-free-view .mmfv-images{
  margin: 14px 0 10px;
  display:flex;
  flex-direction:column;
  gap: 14px;
  align-items:center;
}

.mm-free-view .mmfv-image{
  width: 100%;
  display:flex;
  justify-content:center;
}

.mm-free-view #bo_v_img img{
  max-width: 100%;
  height: auto;
  display:block;
  border-radius: 10px;
}

/* content spacing */
.mm-free-view #bo_v_con{
  margin: 10px 0 0;
  color: var(--mmfv-text);
  line-height: 1.75;
}

/* downloads */
.mm-free-view .mmfv-files{
  margin: 18px 0 0;
  padding: 14px;
  border: 1px solid var(--mmfv-line);
  border-radius: 14px;
  background: #fff;
}

.mm-free-view .mmfv-files__title{
  margin: 0 0 10px;
  font-size: 14px;
  color: var(--mmfv-text);
}

.mm-free-view .mmfv-files__list{
  list-style:none;
  padding: 0;
  margin: 0;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.mm-free-view .mmfv-file__link,
.mm-free-view .mmfv-file__disabled{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  text-decoration:none;
  color: var(--mmfv-text);
  background: #fff;
}

.mm-free-view .mmfv-file__link:hover{
  border-color: rgba(0,0,0,.18);
  background: rgba(0,0,0,.02);
}

.mm-free-view .mmfv-file__disabled{
  color: rgba(0,0,0,.55);
  background: rgba(0,0,0,.02);
}

.mm-free-view .mmfv-file__meta{
  flex: 0 0 auto;
  color: rgba(0,0,0,.55);
  font-size: 12px;
}

/* recommend bar */
.mm-free-view #bo_v_act{
  margin: 22px 0 0;
  display:flex;
  justify-content:center;
  gap: 0;
}

.mm-free-view #good_button,
.mm-free-view #nogood_button{
  height: 46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  padding: 0 18px;
  text-decoration:none;
  border: 1px solid rgba(0,0,0,.12);
  font-weight: 400;
}

.mm-free-view #good_button{
  background: var(--mmfv-danger);
  border-color: var(--mmfv-danger);
  color: #fff;
  border-radius: 12px 0 0 12px;
  border-right: 0;
}

.mm-free-view #nogood_button{
  background: #fff;
  color: rgba(0,0,0,.70);
  border-radius: 0 12px 12px 0;
  border-left: 0;
}

.mm-free-view .mmfv-react__label{ font-weight: 400; }

/* <=767: stack headline like mobile screenshots */
@media (max-width: 767px){
  .mm-free-view .mmfv-headline{
    flex-direction: column;
    align-items:flex-start;
  }
  .mm-free-view #bo_v_title .bo_v_tit{
    font-size: 24px;
  }
  .mm-free-view .mmfv-subline{
    align-items:flex-start;
  }
}


/* ======================================================================
   free - view comment UI (mmc) : start
   - Breakpoints: <=766 / >=767
   - Uses theme vars: --mm-brand-primary etc
   ====================================================================== */

.mmc,
.mmc *{ box-sizing:border-box; font-weight:400; }

.mmc{
  --mmc-brand: var(--mm-brand-primary, #1d4ed8);
  --mmc-brand-dark: var(--mm-brand-primary-dark, #1e40af);
  --mmc-soft: var(--mm-brand-soft, #eff6ff);
  --mmc-focus: var(--mm-focus-ring, rgba(29,78,216,.45));

  --mmc-line: rgba(0,0,0,.10);
  --mmc-text: #111827;
  --mmc-muted: rgba(0,0,0,.60);
  --mmc-danger: #ef4444; /* 벤치마킹: 신고/시간 톤 */
}

.mmc-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 0 10px;
  border-top: 1px solid var(--mmc-line);
}

.mmc-top__left{
  display:flex;
  align-items:baseline;
  gap:8px;
  color: var(--mmc-text);
}
.mmc-top__cnt{ font-size:14px; }
.mmc-top__cnt strong{ font-weight:400; }
.mmc-top__page{ color: var(--mmc-muted); font-size:13px; }

.mmc-top__right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  color: var(--mmc-muted);
  font-size:13px;
}

/* list rows */
.mmc-list{
  border-top: 1px solid var(--mmc-line);
}

.mmc-item{
  padding: 14px 0;
  border-bottom: 1px solid var(--mmc-line);
}

/* head line: [avatar + name] ..... [time] */
.mmc-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.mmc-who{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.mmc-avatar{
  flex:0 0 auto;
  width: 28px;
  height: 28px;
  border-radius:999px;
  overflow:hidden;
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.mmc-avatar img{
  width: 28px;
  height: 28px;
  border-radius:999px;
  object-fit:cover;
  display:block;
}

.mmc-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color: var(--mmc-text);
  font-size:14px;
  line-height:1.2;
}

.mmc-score{
  display:inline-flex;
  align-items:center;
  gap:6px;
  height: 22px;
  padding: 0 10px;
  border-radius:999px;
  border: 1px solid rgba(0,0,0,.10);
  background:#fff;
  color: rgba(0,0,0,.65);
  font-size:12px;
  line-height:1;
}

.mmc-time{
  flex:0 0 auto;
  color: var(--mmc-danger);
  font-size:12px;
  white-space:nowrap;
}

/* body text */
.mmc-body{
  margin-top: 10px;
  color: var(--mmc-text);
  font-size:14px;
  line-height:1.7;
  word-break: break-word;
}

/* footer actions (right aligned like benchmark) */
.mmc-foot{
  margin-top: 10px;
}

.mmc-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.mmc-act{
  height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 6px;
  background:#fff;
  color: rgba(0,0,0,.70);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.mmc-act i{ color: rgba(0,0,0,.60); }
.mmc-act__num{ min-width: 10px; }

.mmc-act--decl{
  border-color: var(--mmc-danger);
  color: var(--mmc-danger);
}
.mmc-act--decl i{ color: var(--mmc-danger); }

/* more(…) menu */
.mmc-more{
  height: 30px;
  width: 34px;
  padding: 0;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 6px;
  background:#fff;
  color: rgba(0,0,0,.70);
  cursor:pointer;
}

.mmc-menu{
  position:absolute;
  right: 0;
  margin-top: 6px;
  min-width: 120px;
  background:#fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  padding: 6px;
  z-index: 60;
}
.mmc-menu a{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration:none;
  color: var(--mmc-text);
}
.mmc-menu a:hover{ background: rgba(0,0,0,.05); }

/* pager: same tone as list */
.mmc-pager{ margin: 14px 0 0; }
.mmc-pager .pg_wrap{ display:flex; justify-content:center; }
.mmc-pager .pg{ display:flex; justify-content:center; }

.mmc-pager .pg a,
.mmc-pager .pg strong,
.mmc-pager .pg .pg_current{
  min-width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  color: var(--mmc-text);
  text-decoration:none;
  margin: 0 3px;
  border-radius: 4px;
}
.mmc-pager .pg strong,
.mmc-pager .pg .pg_current{
  background: var(--mmc-danger);
  border-color: var(--mmc-danger);
  color:#fff;
}

@media (max-width: 766px){
  .mmc-pager .pg a,
  .mmc-pager .pg strong,
  .mmc-pager .pg .pg_current{
    min-width: 20px;
    height: 20px;
    font-size: 12px;
  }
}

/* write area (new comment / guest message) */
.mmc-refresh{
  display:block;
  width:100%;
  margin: 14px 0 0;
  padding: 14px 12px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 0;
  background:#fff;
  color: var(--mmc-text);
  text-decoration:none;
  text-align:center;
}

.mmc-only{
  margin: 14px 0 0;
  padding: 24px 12px;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  text-align:center;
  color: var(--mmc-text);
}

/* bottom buttons: 목록 / 신고 (benchmark-like) */
.mmc-bottom{
  margin: 14px 0 0;
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.mmc-back,
.mmc-declare{
  height: 34px;
  padding: 0 14px;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  color: var(--mmc-text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.mmc-declare{
  border-color: var(--mmc-danger);
  color: var(--mmc-danger);
}
.mmc-declare i{ color: var(--mmc-danger); }

/* >=767: slightly roomier like benchmark */
@media (min-width: 767px){
  .mmc-item{ padding: 16px 0; }
  .mmc-avatar,
  .mmc-avatar img{ width: 30px; height: 30px; }
  .mmc-time{ font-size:13px; }
}
/* ======================================================================
   free - view_comment UI (mmc)
   - Breakpoints: <=766 / >=767
   - 목표: 벤치마킹과 동일한 "댓글 리스트 + 우측 액션 + 작성폼" 톤
   ====================================================================== */

#bo_vc.mmc,
#bo_vc.mmc *{ box-sizing:border-box; font-weight:400; }

#bo_vc.mmc{
  --mmc-brand: var(--mm-brand-primary, #1d4ed8);
  --mmc-brand-dark: var(--mm-brand-primary-dark, #1e40af);
  --mmc-soft: var(--mm-brand-soft, #eff6ff);
  --mmc-focus: var(--mm-focus-ring, rgba(29,78,216,.45));
  --mmc-line: rgba(0,0,0,.10);
  --mmc-text: #111827;
  --mmc-muted: rgba(0,0,0,.60);
  --mmc-danger: #ef4444;

  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--mmc-line);
}

/* 상단(댓글수/정렬) */
#bo_vc.mmc .mmc-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 0;
}

#bo_vc.mmc .mmc-top__left{
  display:flex;
  align-items:baseline;
  gap: 8px;
  color: var(--mmc-text);
  font-size: 14px;
}

#bo_vc.mmc .mmc-top__cnt strong{ font-weight:400; }
#bo_vc.mmc .mmc-top__page{ color: var(--mmc-muted); font-size: 13px; }

#bo_vc.mmc .mmc-top__right{
  color: var(--mmc-muted);
  font-size: 13px;
  white-space: nowrap;
}

#bo_vc.mmc .mmc-sort a{ color: inherit; text-decoration:none; }
#bo_vc.mmc .mmc-sort a:hover{ text-decoration: underline; }

/* 리스트 */
#bo_vc.mmc .mmc-list{
  border-top: 1px solid var(--mmc-line);
}

#bo_vc.mmc .mmc-item{
  padding: 6px 10px;
  border-bottom: 1px solid var(--mmc-line);
}

#bo_vc.mmc .mmc-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}

#bo_vc.mmc .mmc-who{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}

#bo_vc.mmc .mmc-avatar{
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}

#bo_vc.mmc .mmc-avatar img{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  object-fit: cover;
  display:block;
}

#bo_vc.mmc .mmc-name{
  color: var(--mmc-text);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

#bo_vc.mmc .mmc-time{
  color: var(--mmc-danger);
  font-size: 13px;
  white-space: nowrap;
}

#bo_vc.mmc .mmc-body{
  margin-top: 8px;
  color: var(--mmc-text);
  line-height: 1.7;
  word-break: break-word;
  overflow-wrap: anywhere;
  padding-left: 30px;
}

/* 하단 액션(우측) */
#bo_vc.mmc .mmc-foot{
  margin-top: 0;
  display:flex;
  justify-content:flex-end;
}

#bo_vc.mmc .mmc-actions{
  position: relative;
  display:flex;
  align-items:center;
  gap: 8px;
}

#bo_vc.mmc .mmc-act,
#bo_vc.mmc .mmc-more{
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: rgba(0,0,0,.75);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 0 12px;
  cursor: pointer;
}

#bo_vc.mmc .mmc-act:focus,
#bo_vc.mmc .mmc-more:focus{
  outline: 2px solid var(--mmc-focus);
  outline-offset: 2px;
}

#bo_vc.mmc .mmc-act__num{
  min-width: 10px;
  color: rgba(0,0,0,.70);
}

#bo_vc.mmc .mmc-act--decl{
  border-color: var(--mmc-danger);
  color: var(--mmc-danger);
}

#bo_vc.mmc .mmc-act--decl .mmc-act__num{ color: inherit; }

#bo_vc.mmc .mmc-more{
  width: 34px;
  padding: 0;
}

/* … 메뉴 */
#bo_vc.mmc .mmc-menu{
  position:absolute;
  right: 0;
  top: 42px;
  min-width: 120px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  padding: 6px;
  z-index: 60;
}

#bo_vc.mmc .mmc-menu a{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  color: var(--mmc-text);
  text-decoration:none;
}

#bo_vc.mmc .mmc-menu a:hover{
  background: rgba(0,0,0,.05);
}

/* 페이징 */
#bo_vc.mmc .mmc-pager{
  margin-top: 16px;
}

#bo_vc.mmc .mmc-pager .pg_wrap{
  display:flex;
  justify-content:center;
}

#bo_vc.mmc .mmc-pager .pg a,
#bo_vc.mmc .mmc-pager .pg .pg_page,
#bo_vc.mmc .mmc-pager .pg strong,
#bo_vc.mmc .mmc-pager .pg .pg_current{
  min-width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 1px solid var(--mmc-line);
  background:#fff;
  color: var(--mmc-text);
  text-decoration:none;
  margin: 0 3px;
  border-radius: 4px;
}

#bo_vc.mmc .mmc-pager .pg strong,
#bo_vc.mmc .mmc-pager .pg .pg_current{
  background: var(--mmc-danger);
  border-color: var(--mmc-danger);
  color: #fff;
}

/* 작성폼 */
#bo_vc.mmc .mmc-write{
  margin-top: 16px;
  padding: 14px;
  border: 1px solid var(--mmc-line);
  border-radius: 14px;
  background: #fff;
}

#bo_vc.mmc .mmc-refresh{
  display:block;
  text-align:center;
  padding: 12px;
  border: 1px solid var(--mmc-line);
  border-radius: 12px;
  background: #fff;
  color: var(--mmc-text);
  text-decoration:none;
  margin-bottom: 12px;
}

#bo_vc.mmc .mmc-write__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}

#bo_vc.mmc .mmc-scoreinp{
  width: 110px;
  height: 40px;
  border: 1px solid var(--mmc-line);
  border-radius: 10px;
  padding: 0 10px;
}

#bo_vc.mmc .mmc-char{
  color: var(--mmc-muted);
  font-size: 13px;
  white-space: nowrap;
}

#bo_vc.mmc .mmc-textarea{
  width: 100%;
  min-height: 92px;
  border: 1px solid var(--mmc-line);
  border-radius: 12px;
  padding: 10px 12px;
  resize: vertical;
}

#bo_vc.mmc .mmc-scoreinp:focus,
#bo_vc.mmc .mmc-textarea:focus{
  outline: 2px solid var(--mmc-focus);
  outline-offset: 2px;
}

#bo_vc.mmc .mmc-write__foot{
  margin-top: 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap: wrap;
}

#bo_vc.mmc .mmc-write__left{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
}

#bo_vc.mmc .mmc-inp{
  height: 40px;
  border: 1px solid var(--mmc-line);
  border-radius: 10px;
  padding: 0 10px;
}

#bo_vc.mmc .mmc-write__right{
  display:flex;
  align-items:center;
  gap: 10px;
}

#bo_vc.mmc .mmc-submit{
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--mmc-danger);
  background: var(--mmc-danger);
  color: #fff;
  cursor: pointer;
}

#bo_vc.mmc .mmc-submit:hover{
  filter: brightness(.95);
}

/* 하단(목록/신고) */
#bo_vc.mmc .mmc-bottom{
  margin-top: 14px;
  display:flex;
  justify-content:flex-end;
  gap: 10px;
}

#bo_vc.mmc .mmc-back,
#bo_vc.mmc .mmc-declare{
  height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: var(--mmc-text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
}

#bo_vc.mmc .mmc-declare{
  border-color: var(--mmc-danger);
  color: var(--mmc-danger);
}

/* 모바일(<=766) */
@media (max-width: 766px){
  #bo_vc.mmc .mmc-avatar,
  #bo_vc.mmc .mmc-avatar img{
    width: 30px;
    height: 30px;
  }

  #bo_vc.mmc .mmc-act,
  #bo_vc.mmc .mmc-more{
    height: 32px;
    border-radius: 10px;
    padding: 0 10px;
  }

  #bo_vc.mmc .mmc-more{ width: 32px; padding: 0; }

  #bo_vc.mmc .mmc-scoreinp{ width: 92px; }
}
/* ======================================================================
   free - comment UI (mmc)
   - Breakpoints: <=766 / >=767
   ====================================================================== */
.mmc,
.mmc *{ box-sizing:border-box; font-weight:400; }

.mmc{
  --mmc-brand: var(--mm-brand-primary, #1d4ed8);
  --mmc-brand-dark: var(--mm-brand-primary-dark, #1e40af);
  --mmc-focus: var(--mm-focus-ring, rgba(29, 78, 216, 0.45));
  --mmc-line: rgba(0,0,0,.10);
  --mmc-text: #111827;
  --mmc-muted: rgba(0,0,0,.60);
  --mmc-danger: #ef4444;
}

/* header (댓글 n / 페이지, 정렬) */
.mmc-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--mmc-line);
}

.mmc-top__left{
  display:flex;
  align-items:baseline;
  gap: 8px;
  color: var(--mmc-text);
  font-size: 13px;
}
.mmc-top__cnt strong{ font-weight:400; }
.mmc-top__page{ color: rgba(0,0,0,.55); }

.mmc-top__right{
  color: rgba(0,0,0,.55);
  font-size: 13px;
  white-space: nowrap;
}

/* list */
.mmc-list{ border-top: 1px solid var(--mmc-line); }

.mmc-item{
  padding: 18px 0;
  border-bottom: 1px solid var(--mmc-line);
  padding-left: var(--mmc-indent, 0px);
}

/* 원글작성자 강조(벤치마킹의 옅은 핑크 톤) */
.mmc-item--owner{
  background: rgba(239, 68, 68, .08);
}

/* head */
.mmc-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}

.mmc-who{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
}

.mmc-avatar{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  overflow:hidden;
  background: rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}
.mmc-avatar img{
  width: 30px;
  height: 30px;
  object-fit: cover;
  border-radius: 999px;
  display:block;
}

.mmc-name{
  color: var(--mmc-text);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}

/* 답변 표시 "이미지" (SVG background) */
.mmc-replymark{
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
  opacity: .65;
  /* ↳ 느낌의 아이콘 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M6 3v4c0 1.1.9 2 2 2h5' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M11.5 6.5L13 9l-1.5 2.5' fill='none' stroke='%239ca3af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.mmc-time{
  color: var(--mmc-danger);
  font-size: 13px;
  white-space: nowrap;
}

/* body */
.mmc-body{
  margin: 10px 0 0;
  color: var(--mmc-text);
  line-height: 1.7;
}
.mmc-body-secret a{
  text-decoration: none;
  color: var(--mmc-text);
}

/* actions row */
.mmc-foot{ margin-top: 14px; }
.mmc-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 8px;
  position: relative;
}

.mmc-act{
  height: 32px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: rgba(0,0,0,.70);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap: 6px;
}

.mmc-act:focus{
  outline: 2px solid var(--mmc-focus);
  outline-offset: 2px;
}

.mmc-act__num{ font-weight:400; }

.mmc-act--decl{
  border-color: var(--mmc-danger);
  color: var(--mmc-danger);
}

.mmc-more{
  width: 34px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  color: rgba(0,0,0,.70);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.mmc-menu{
  position:absolute;
  right: 0;
  top: 40px;
  min-width: 120px;
  background:#fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  padding: 6px;
  z-index: 60;
}
.mmc-menu a{
  display:block;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration:none;
  color: var(--mmc-text);
}
.mmc-menu a:hover{ background: rgba(0,0,0,.05); }

/* empty */
.mmc-empty{
  margin: 0;
  padding: 18px 0;
  color: rgba(0,0,0,.55);
  text-align:center;
}

/* pager */
.mmc-pager{ margin: 16px 0 0; }
.mmc-pager .pg_wrap{ display:flex; justify-content:center; }
.mmc-pager .pg{ display:flex; justify-content:center; }
.mmc-pager .pg a,
.mmc-pager .pg strong{
  min-width: 34px;
  height: 34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  color: var(--mmc-text);
  text-decoration:none;
  margin: 0 3px;
  border-radius: 4px;
}
.mmc-pager .pg strong{
  background: var(--mmc-brand);
  border-color: var(--mmc-brand);
  color: #fff;
}

/* write */
.mmc-write{ margin-top: 16px; }
.mmc-refresh{
  display:flex;
  align-items:center;
  justify-content:center;
  height: 52px;
  border: 1px solid var(--mmc-line);
  border-radius: 10px;
  text-decoration:none;
  color: var(--mmc-text);
  background:#fff;
}

.mmc-write__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin: 10px 0 8px;
}

.mmc-scoreinp{
  width: 110px;
  height: 34px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 8px;
  padding: 0 10px;
}

.mmc-textarea{
  width: 100%;
  min-height: 92px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 10px;
  padding: 10px 12px;
  resize: vertical;
}

.mmc-write__foot{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  margin-top: 10px;
}

.mmc-write__right{
  display:flex;
  align-items:center;
  gap: 10px;
  flex: 0 0 auto;
}

.mmc-submit{
  height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  color: var(--mmc-text);
  cursor:pointer;
}

.mmc-bottom{
  display:flex;
  justify-content:flex-end;
  gap: 8px;
  margin-top: 14px;
}

.mmc-back,
.mmc-declare{
  height: 34px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.18);
  background:#fff;
  color: var(--mmc-text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.mmc-declare{
  border-color: var(--mmc-danger);
  color: var(--mmc-danger);
}

/* mobile tighten */
@media (max-width: 766px){
  .mmc-write__foot{
    flex-direction: column;
    align-items: stretch;
  }
  .mmc-write__right{
    justify-content: flex-end;
  }
  .mmc-pager .pg a,
  .mmc-pager .pg strong{
    min-width: 20px;
    height: 20px;
    font-size: 12px;
  }
}

/* ==============================
   Claim: List columns
   ============================== */
.mmf-col-amount { width: 120px; }
.mmf-col-sitename { width: 120px; }

.mmf-td-amount, .mm-th-amount { text-align: right; white-space: nowrap; }
.mmf-td-sitename, .mm-th-sitename { text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 766px){
  .mmf-meta__item--amount { font-weight: 700; }
  .mmf-meta__item--sitename { font-weight: 700; max-width: 45vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* claim: mobile meta (amount/address with icons) */
.mmf-m-list .mmf-meta{
  flex-wrap: wrap; /* 항목이 늘어나도 깨지지 않게 */
}

.mmf-m-list .mmf-meta__item--amt{
  font-weight: 600;
}

.mmf-m-list .mmf-meta__item--site{
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #ef4444;
}

@media (max-width: 766px){
  .mmf-m-list .mmf-meta__item--site{ max-width: 160px; }
}


/* ==============================
   Claim: View meta block
   ============================== */
.mm-claim-meta {
  margin: 12px 0 16px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(0,0,0,.02);
}

.mm-claim-meta__dl { margin: 0; }
.mm-claim-meta__row {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 8px;
  padding: 6px 0;
}
.mm-claim-meta__row dt { font-weight: 700; opacity: .8; }
.mm-claim-meta__row dd { margin: 0; }
.mm-claim-meta__link { text-decoration: underline; word-break: break-all; }
.mm-claim-meta__amount { font-weight: 800; }

/* ==============================
   Claim: Write extra fields
   ============================== */
.mm-claim-write-fields {
  margin: 12px 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: rgba(0,0,0,.02);
}

.mm-claim-field { margin-top: 12px; }
.mm-claim-field:first-child { margin-top: 0; }

.mm-claim-field label {
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
}

.mm-claim-field input {
  width: 100%;
  height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 12px;
  background: #fff;
}

.mm-claim-hint {
  margin: 6px 0 0;
  font-size: 12px;
  opacity: .75;
}
