@charset "utf-8";
/* /mini/theme/basic/style.css (최적화 + 최근게시글 스타일) */

/* ====== 게시판 컨테이너 ====== */
.mini-board {
  max-width: 100%;
  margin: 0 0 16px 0;
  padding: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
.mini-board:last-child {
  margin-bottom: 0; /* 마지막 게시판은 여백 제거 */
}
.mini-board h3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 8px;
}
.mini-content {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #333;
  white-space: pre-line;
  margin-bottom: 20px;
}

.mini-intro-text {
  font-size: 0.95rem;
  color: #444;
  border: 0px solid #e5e7eb;
  border-radius: 6px;
  padding: 0px;
}

/* ====== 좌측 메뉴 (PC: 수직 / 모바일: 가로 스크롤) ====== */
.mini-leftmenu {
  width: 100%;
  float: left;
  margin-right: 20px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  overflow: hidden;
}

.mini-leftmenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mini-leftmenu li {
  border-bottom: 1px solid #f1f5f9;
}
.mini-leftmenu li:last-child {
  border-bottom: none;
}

.mini-leftmenu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  font-size: 0.95rem;
  color: #374151;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

.mini-leftmenu a:hover {
  background: #f9fafb;
  color: #111827;
}

.mini-leftmenu li.active a {
  background: #eef2ff;
  color: #2563eb;
  font-weight: 600;
}

.mini-leftmenu-bottom {
  padding: 12px;
  border-top: 0px solid #e5e7eb;
  text-align: center;
}
.mini-leftmenu-bottom .mini-btn--ghost {
  display: inline-block;
  width: 100%;
  text-align: center;
}

/* ====== 모바일 전환 ====== */
@media screen and (max-width: 768px) {
  .mini-leftmenu {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
  .mini-leftmenu ul {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-bottom: 1px solid #ddd;
    -webkit-overflow-scrolling: touch;
  }
  .mini-leftmenu li {
    flex: 0 0 auto;
    border-bottom: none;
    border-right: 1px solid #eee;
  }
  .mini-leftmenu li:last-child {
    border-right: none;
  }
  .mini-leftmenu a {
    padding: 10px 16px;
    white-space: nowrap;
  }
}

/* ====== 최근 게시글 리스트 ====== */
.mini-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mini-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid #f1f5f9;
}
.mini-list li:last-child {
  border-bottom: none;
}
.mini-list a {
  flex: 1;
  min-width: 0;
  font-size: 0.95rem;
  color: #111;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.mini-list a:hover {
  color: #2563eb;
}
.mini-list .mini-sub {
  font-size: 0.8rem;
  color: #6b7280;
  white-space: nowrap;
}

.mini-post-body {
  min-height: 250px;   /* 본문 최소 높이 */
  padding: 10px 0 6px;
  border-top: 1px dashed #e5e7eb;
  line-height: 1.6;
  font-size: 0.95rem;
  color: #333;
}

/* ====== 첨부파일 ====== */
.mini-attachments {
  margin-top: 20px;
  padding: 10px 15px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}
.mini-attachments h4 {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 600;
}
.mini-attachments ul li a {
  color: #2563eb;
  text-decoration: underline;
}
.mini-attachments .mini-sub {
  font-size: .85rem;
  color: #888;
  margin-left: 4px;
}

/* ====== 이미지 그룹 ====== */
.mini-image-group {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}
.mini-image-preview img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

/* ====== 댓글 ====== */
.mini-comments {
  margin-top: 25px;
  border-top: 1px solid #e5e7eb;
  padding-top: 15px;
}
.mini-comment {
  margin: 8px 0;
  padding: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #fafafa;
}
.mini-comment strong { color: #111; margin-right: 6px; }
.mini-comment .date { font-size: .8rem; color: #888; margin-left: 8px; }
.mini-comment a { font-size: .8rem; color: #2563eb; margin-left: 6px; }
.mini-comment em { color: #d97706; }

/* 댓글 뎁스 */
.mini-comment.depth-1 { margin-left: 20px; }
.mini-comment.depth-2 { margin-left: 40px; }
.mini-comment.depth-3 { margin-left: 60px; }

/* 댓글 입력 */
#commentForm {
  margin-top: 20px;
  padding: 15px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #f9fafb;
}
#commentForm textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  padding: 10px;
  font-size: .95rem;
  resize: vertical;
}
#commentForm input[type="submit"] {
  margin-top: 8px;
  padding: 6px 14px;
  border: none;
  border-radius: 4px;
  background: #2563eb;
  color: #fff;
  cursor: pointer;
}
#commentForm input[type="submit"]:hover {
  background: #1e40af;
}

/* ====== 버튼 ====== */
.mini-actions { margin-top: 25px; text-align: right; }
.mini-btn--ghost {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: .9rem;
  color: #333;
  text-decoration: none;
}
.mini-btn--ghost:hover { background: #f3f4f6; }