/* 건강칼럼 (column.php 목록 / blog.php 상세 / 메인 #blog 섹션) — html font-size 10px 기준 */

/* ── 목록 ── */
.column_summary {
  margin: -1rem 0 2.4rem;
  font-size: 1.6rem;
  color: #666;
}
.column_summary strong {
  color: #0055b8;
  font-weight: 700;
}
.column_grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2.4rem;
  width: 100%;
}
.column_card a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 1.2rem;
  overflow: hidden;
  transition:
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.column_card a:hover {
  box-shadow: 0 1.2rem 3rem rgba(18, 31, 54, 0.12);
  transform: translateY(-0.4rem);
}
.column_thumb {
  aspect-ratio: 4 / 3;
  background: #f3f5f9;
  overflow: hidden;
}
.column_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column_body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.8rem 1.8rem 2rem;
  flex: 1 1 auto;
}
.column_title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.45;
  color: #121f36;
  word-break: keep-all;
  text-align: left;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.column_desc {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.6;
  color: #666;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.column_date {
  margin-top: auto;
  font-size: 1.4rem;
  color: #999;
}
.column_empty {
  padding: 8rem 0;
  text-align: center;
  font-size: 1.7rem;
  color: #666;
}
.column_empty a {
  color: #0055b8;
  text-decoration: underline;
}
.column_pager {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 5rem;
}
.column_pager a,
.column_pager .is-gap {
  min-width: 4.2rem;
  padding: 1rem 1.4rem;
  border: 1px solid #ddd;
  border-radius: 0.6rem;
  font-size: 1.5rem;
  text-align: center;
  color: #333;
  box-sizing: border-box;
}
.column_pager .is-gap {
  border: 0;
}
.column_pager a:hover {
  background: #f5f5f5;
}
.column_pager a.active {
  background: #121f36;
  border-color: #121f36;
  color: #fff;
}
.column_source {
  margin-top: 4rem;
  text-align: center;
}
.column_source a {
  display: inline-block;
  padding: 1.4rem 3.2rem;
  border-radius: 99rem;
  background: #03c75a;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
}

/* ── 상세 ── */
.blog_view {
  max-width: 90rem;
  margin: 0 auto;
}
.blog_breadcrumb {
  font-size: 1.4rem;
  color: #999;
  margin-bottom: 2rem;
}
.blog_breadcrumb a:hover {
  color: #0055b8;
}
.blog_view_head {
  border-top: 3px solid #121f36;
  border-bottom: 1px solid #e5e5e5;
  padding: 3.2rem 0.4rem 2.4rem;
  margin-bottom: 3.6rem;
}
.blog_view_badge {
  display: inline-block;
  margin-bottom: 1.6rem;
  padding: 0.6rem 1.4rem;
  border-radius: 99rem;
  background: #edf2fc;
  color: #0055b8;
  font-size: 1.4rem;
  font-weight: 700;
}
.blog_view_title {
  margin: 0 0 1.6rem;
  font-size: clamp(2.4rem, 3.4vw, 3.4rem);
  font-weight: 800;
  line-height: 1.4;
  color: #121f36;
  word-break: keep-all;
}
.blog_view_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: #888;
}
.blog_view_meta span {
  color: #0055b8;
  font-weight: 700;
}
.blog_view_thumb {
  margin: 0 0 3.6rem;
  border-radius: 1.2rem;
  overflow: hidden;
}
.blog_view_thumb img {
  display: block;
  width: 100%;
  height: auto;
}
.blog_view_body {
  position: relative;
}
.blog_view_body p {
  margin: 0 0 1.2em;
  font-size: 1.7rem;
  line-height: 1.9;
  color: #333;
  word-break: keep-all;
}
.blog_view_body.is-fade::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 12rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 90%);
  pointer-events: none;
}
.blog_view_notice {
  margin: 1rem 0 3.2rem;
  padding: 1.8rem 2.2rem;
  border-radius: 1rem;
  background: #edf2fc;
  color: #121f36;
  font-size: 1.6rem;
  text-align: center;
  word-break: keep-all;
}
.blog_view_actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem;
  padding-top: 3.2rem;
  border-top: 1px solid #e5e5e5;
}
.blog_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 5.6rem;
  padding: 0 3.2rem;
  border-radius: 0.8rem;
  font-size: 1.7rem;
  font-weight: 700;
  transition:
    background 0.2s,
    color 0.2s;
}
.blog_btn.is-primary {
  background: #03c75a;
  color: #fff;
}
.blog_btn.is-primary:hover {
  background: #02b351;
}
.blog_btn.is-ghost {
  border: 1px solid #ccc;
  color: #555;
  background: #fff;
}
.blog_btn.is-ghost:hover {
  border-color: #121f36;
  color: #121f36;
}
.blog_view_nav {
  display: grid;
  gap: 1rem;
  margin-top: 4rem;
}
.blog_view_nav a {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  padding: 1.6rem 2rem;
  border: 1px solid #ececec;
  border-radius: 1rem;
  font-size: 1.6rem;
  color: #333;
}
.blog_view_nav a:hover {
  border-color: #121f36;
}
.blog_view_nav em {
  flex-shrink: 0;
  font-style: normal;
  font-weight: 700;
  color: #0055b8;
}
.blog_view_nav span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1280px) {
  .column_grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .column_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
  }
}
@media (max-width: 500px) {
  .column_grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .blog_view_body p {
    font-size: 1.6rem;
  }
  .blog_view_actions {
    flex-direction: column;
  }
  .blog_btn {
    width: 100%;
  }
}

/* 커뮤니티 탭 7칸 (건강칼럼 추가) — 기존 m3_tab(6칸) 확장 */
.tab_menu ul.m3_tab.m7_tab {
  grid-template-columns: repeat(7, 1fr);
}
@media (min-width: 0px) and (max-width: 900px) {
  .tab_menu ul.m3_tab.m7_tab {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
}
@media (min-width: 0px) and (max-width: 320px) {
  .tab_menu ul.m3_tab.m7_tab {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 메인 건강칼럼 섹션 */
.main_blog .main_blog_more {
  background: #121f36;
}
.main_blog .main_blog_more:hover {
  background: #0055b8;
}
