@charset "utf-8";
/* gallery/style.css (free 기반 + gallery list 전용 그리드)
 * - Breakpoints:
 *   - <=766px: 2 columns
 *   - >=767px: 3 columns
 * - 상단(검색/정렬/관리자/페이지네이션) 톤은 free와 동일 계열
 */

/* 브랜드 컬러: 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;
}

/* ======================================================================
   gallery - for list.skin.php (free 톤 베이스)
   ====================================================================== */
.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-line: #e5e7eb;
  --mmf-text: #111827;
  --mmf-muted: rgba(0,0,0,.55);

  --mmf-cmt: #ef4444;   /* 댓글수: 레드 톤 */
  --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--meta{
  color: rgba(0,0,0,.45);
}

/* search */
.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 10px;
}

/* 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);
}

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

/* <=766: search form 2 rows */
@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;
}
#bo_list .mm-free-search__q .mmf-search__inp{
  flex: 1 1 auto;
  min-width: 0;
}

/* author (20x20) */
#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;
}

/* pagination */
.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;
  }
}

/* ======================================================================
   gallery - grid cards (목록만 이미지 배열)
   ====================================================================== */
.mm-gallery-list .mmg-grid{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* <=766: 2열 */
  gap: 12px;
}

@media (min-width: 767px){
  .mm-gallery-list .mmg-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* >=767: 3열 */
    gap: 14px;
  }
}

.mm-gallery-list .mmg-item{ position: relative; min-width: 0; }

.mm-gallery-list .mmg-link{
  display: block;
  text-decoration: none;
  color: var(--mmf-text);
  border: 1px solid var(--mmf-line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.mm-gallery-list .mmg-link:hover{
  border-color: rgba(0,0,0,.18);
}

.mm-gallery-list .mmg-link:focus{
  outline: 2px solid var(--mmf-focus);
  outline-offset: 2px;
}

.mm-gallery-list .mmg-thumb{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #f3f4f6;
  overflow: hidden;
}

.mm-gallery-list .mmg-thumb img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover; /* 이미지 채우기(cover) */
}

.mm-gallery-list .mmg-thumb-fallback{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(0,0,0,.45);
  font-size: 12px;
  letter-spacing: .02em;
}

/* badges */
.mm-gallery-list .mmg-badge{
  position: absolute;
  top: 10px;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  z-index: 2;
  background: rgba(0,0,0,.60);
  color: #fff;
}
.mm-gallery-list .mmg-badge--notice{
  left: 10px;
  background: #1d4ed8;
}
.mm-gallery-list .mmg-badge--new{
  right: 10px;
  width: 24px;
  padding: 0;
  border-radius: 6px;
  background: var(--mmf-new);
}

/* body */
.mm-gallery-list .mmg-body{
  padding: 10px 12px 12px;
}

.mm-gallery-list .mmg-title-row{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

.mm-gallery-list .mmg-title{
  min-width: 0;
  flex: 1 1 auto;            /* 같은 줄에서 댓글수 배지와 공존 */
  font-size: 14px;
  line-height: 1.25;
  color: var(--mmf-text);

  display: block;            /* 2줄 클램프 제거 */
  white-space: nowrap;       /* 1줄 고정 */
  overflow: hidden;          /* 넘치는 텍스트 숨김 */
  text-overflow: ellipsis;   /* 말줄임표 */
}

@media (min-width: 767px){
  .mm-gallery-list .mmg-title{ font-size: 15px; }
}

.mm-gallery-list .mmg-cmt{
  flex: 0 0 auto;
  color: var(--mmf-cmt);
  font-size: 13px;
  white-space: nowrap;
  margin-top: 1px;
}

/* meta row: date left, author right */
.mm-gallery-list .mmg-meta-row{
  margin-top: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: rgba(0,0,0,.60);
  font-size: 13px;
  min-width: 0;
}

.mm-gallery-list .mmg-date{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.mm-gallery-list .mmg-date .time{
  color: #ef4444;
}

.mm-gallery-list .mmg-author{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--mmf-text);
}

.mm-gallery-list .mmg-author a{
  color: inherit;
  text-decoration: none;
}
.mm-gallery-list .mmg-author a:hover{ text-decoration: underline; }

/* admin checkbox overlay */
.mm-gallery-list .mmg-chk{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 5;
  display: inline-flex;
  align-items: center;
}
.mm-gallery-list .mmg-chk input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.mm-gallery-list .mmg-chk label{
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.80);
  background: rgb(255, 255, 255);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.mm-gallery-list .mmg-chk input:checked + label{
  background: rgb(255, 0, 0);
  border-color: rgba(255,255,255,.90);
}

.mm-gallery-list .mmg-empty{
  padding: 22px 12px;
  border: 1px solid var(--mmf-line);
  border-radius: 14px;
  background: #fff;
  text-align:center;
  color: rgba(0,0,0,.55);
}




/* ======================================================================
   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)
   - gallery에서도 free와 동일하게 상세보기 표시
   ====================================================================== */

.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:focusfocus{
  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; }

/* 첨부 이미지: "본문 위" + "수평 중앙" + "한 줄 1개" */
.mm-free-view .mmfv-images{
  margin: 14px 0 10px;
  display:flex;
  flex-direction:column; /* 한 줄에 1개씩 */
  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 */
.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 */
.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; }

@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; }
}


/* ======================================================================
   gallery - view_comment UI (mmc)
   - free 스킨과 동일 톤 (deduped / scoped)
   - scope: #bo_vc.mmc only
   ====================================================================== */

#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);

  /* reply indent: view_comment.skin.php에서 --mmc-indent를 inline으로 주는 구조 */
  padding-left: calc(var(--mmc-indent, 0px) + 6px);
}

/* 원글작성자 강조 */
#bo_vc.mmc .mmc-item--owner{
  background: rgba(239, 68, 68, .08);
}

#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;
}

/* reply mark (↳) */
#bo_vc.mmc .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");
}

#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;
  overflow: hidden;
  text-overflow: ellipsis;
}

#bo_vc.mmc .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;
  flex: 0 0 auto;
}

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

/* 내용 */
#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-body-secret a{
  text-decoration: none;
  color: var(--mmc-text);
}

/* 하단 액션(우측) */
#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;
  flex-wrap: wrap;
}

#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);
}

/* reply/edit 슬롯 */
#bo_vc.mmc .mmc-slot{
  margin-top: 10px;
}

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

/* 페이징 */
#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-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);
}

#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);
}

/* 모바일 */
@media (max-width: 766px){
  #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; }

  #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: 20px;
    height: 20px;
    font-size: 12px;
  }
}

/* toto_site view custom */
.mm-toto-view { width: 100%; }

.mm-toto__hero-img,
.mm-toto__img {
  text-align: center;
  margin: 10px 0;
}

.mm-toto__hero-img a,
.mm-toto__img a {
  display: inline-block;
}

.mm-toto__hero-img img,
.mm-toto__img img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

/* table: full width 느낌 + margin 10px 10px */
.mm-toto__meta {
  width: calc(100% - 20px);
  margin: 10px;
  border-collapse: collapse;
  table-layout: fixed;
}

.mm-toto__meta tr {
  height: 48px;
}

.mm-toto__meta th,
.mm-toto__meta td {
  text-align: center;
  vertical-align: middle;
  padding: 4px 10px;
  border: 1px solid #e5e7eb;
}

.mm-toto__meta th {
  white-space: nowrap;
  font-weight: 700;
}

.mm-toto__meta td {
  font-weight: 400;
}

.mm-toto__section-title {
  text-align: center;
  font-weight: 700;
  margin: 10px;
}

.mm-toto__content {
  margin: 10px;
  font-weight: 400;
  text-align: left;
}

.mm-toto__content.mm-is-empty {
  text-align: center;
}

.mm-toto__site-name {
  text-align: center;
}

.mm-toto__site-name span.bo_v_site_name {
  font-weight: bolder;
  color: var(--mm-brand-primary);
  font-size: 16pt;
}

.mm-toto__title {
  text-align: center;
}

.mm-toto__title span.bo_v_tit {
  font-weight: bolder;
  font-size: 16pt;
}