#section {
  width: 100%;
}

/* commons */
#section .sections {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

#section .category {
  color: #697183;
  background-color: #f5f6f9;
  border-radius: 6px;
  padding: 4px 6px;
  margin-right: 8px;
  font-size: 0.9em;
  word-break: keep-all;
  box-sizing: border-box;
}

[data-theme='dark'] #section .category {
  background-color: rgba(255, 255, 255, 0.1);
}

[data-theme='dark'] #section .sectionGroups a {
  color: rgba(255, 255, 255, 0.7);
}

#section .titleContainer svg {
  width: 14px;
  margin-right: 4px;
}

#section .titleContainer .image,
#section .titleContainer .commentCount {
  color: #9DA5B6;
}

#section .sectionTitleContainer {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#section .sectionTitleContainer h2 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4em;
  font-weight: bold;
}

#section .sectionTitleContainer .content {
  color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

[data-theme='dark'] #section .sectionTitleContainer .content {
  color: rgba(255, 255, 255, 0.5);
}

/* sectionGroups */
#section .sectionGroups {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}

/* 요청: "최근 24시간 인기글"이 위, "최근 게시글"이 그 아래로 세로로 쌓여서 표시.
   (이전에 좌우 2열로 나란히 배치했던 CSS를 제거하고, 위쪽 기본 규칙(1열 세로 스택)이
   그대로 적용되도록 원복함) */

#section .sectionGroups .sectionGroup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#section .sectionGroups .rowTwo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

#section .sectionGroups .rowOne,
#section .sectionGroups .side {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}

/* row */
#section .sectionGroups .rowTwo .section,
#section .sectionGroups .rowOne .section,
#section .sectionGroups .side .section {
  background-color: #fff;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.06);
}

[data-theme='dark'] #section .sectionGroups .rowTwo .section,
[data-theme='dark'] #section .sectionGroups .rowOne .section,
[data-theme='dark'] #section .sectionGroups .side .section {
  color: rgba(255, 255, 255, 0.7);
  /* 요청 #8: 섹션 박스 배경색 관리자 설정(--section-bg-color-dark, head.ejs에서 주입) 적용 */
  background-color: var(--section-bg-color-dark, rgba(255, 255, 255, 0.1));
}

#section .sectionGroups .rowTwo .sectionTitleContainer,
#section .sectionGroups .rowOne .sectionTitleContainer,
#section .sectionGroups .side .sectionTitleContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

#section .sectionGroups .rowTwo .sectionTitleContainer h3,
#section .sectionGroups .rowOne .sectionTitleContainer h3,
#section .sectionGroups .side .sectionTitleContainer h3 {
  font-size: 1.2em;
}

#section .sectionGroups .rowTwo .sectionTitleContainer .more,
#section .sectionGroups .rowOne .sectionTitleContainer .more,
#section .sectionGroups .side .sectionTitleContainer .more {
  font-size: 14px;
}

/* 요청: "더보기" 텍스트 링크 -> 예쁘고 귀여운 원형 아이콘 버튼 */
#section .sectionTitleContainer .moreIconBtn {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--video-badge-bg-color, rgba(34, 197, 94, 0.12));
  color: var(--video-accent-color, #22c55e);
  font-size: 12px;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

#section .sectionTitleContainer .moreIconBtn:hover {
  transform: scale(1.12);
  background-color: var(--video-accent-color, #22c55e);
  color: #fff;
}

[data-theme='dark'] #section .sectionTitleContainer .moreIconBtn {
  background-color: rgba(var(--video-accent-color-rgb), 0.18);
}

/* 요청: 카테고리(한국/일본/동양/서양/BJ) 국기 아이콘을 영상 썸네일 좌측 상단에 표시 */
/* [항목4] 관리자 설정(--video-board-icon-size)이 없으면 기존 하드코딩 기본값 22px 그대로 사용 */
#videoList .item .image .categoryFlagIcon,
.relatedVideosList .item .image .categoryFlagIcon,
#section .sectionGroups .video6 .articles .image .categoryFlagIcon,
#section .sectionGroups .video5 .articles .image .categoryFlagIcon {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 3;
  width: var(--video-board-icon-size, 22px);
  height: var(--video-board-icon-size, 22px);
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* 버그 수정: 메인페이지 "최근 24시간 인기글"/"최근 게시글" 등 board/videoCard.ejs +
   videoMetaLine.ejs를 재사용하는 섹션(video5/video6)에서 카테고리 배지 아이콘
   (.categoryBadgeIcon)의 크기 제한 CSS가 board/list.css에만 있고 이 파일(section.css,
   모든 페이지에 공통 로드됨)에는 빠져 있어, 아이콘 원본 이미지가 크기 제한 없이 그대로
   출력되어 카드 전체를 뒤덮는 거대한 이미지로 깨져 보이던 문제를 수정한다.
   board/list.css의 .videoMetaLine .categoryBadgeIcon 규칙과 동일하게 맞춰 어느 페이지에서
   videoMetaLine이 렌더링되어도 항상 작은 배지 아이콘 크기로 고정되도록 한다. */
.videoMetaLine .category:has(.categoryBadgeIcon) {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.videoMetaLine .categoryBadgeIcon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  border-radius: 3px;
  flex-shrink: 0;
}

#section .sectionGroups .rowTwo .text .articles,
#section .sectionGroups .rowOne .text .articles,
#section .sectionGroups .side .text .articles {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#section .sectionGroups .rowTwo .text .articles .article,
#section .sectionGroups .rowOne .text .articles .article,
#section .sectionGroups .side .text .articles .article {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#section .sectionGroups .rowTwo .text .articles .article .titleContainer,
#section .sectionGroups .rowOne .text .articles .article .titleContainer,
#section .sectionGroups .side .text .articles .article .titleContainer {
  flex: 1;
  width: 100px;
  min-height: 22px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

#section .sectionGroups .rowTwo .text .articles .article .title,
#section .sectionGroups .rowOne .text .articles .article .title,
#section .sectionGroups .side .text .articles .article .title {
  line-height: normal;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

#section .sectionGroups .rowTwo .text .articles .article .title:hover,
#section .sectionGroups .rowOne .text .articles .article .title:hover,
#section .sectionGroups .side .text .articles .article .title:hover {
  text-decoration: underline;
}

#section .sectionGroups .rowTwo .text .articles .article .datetime,
#section .sectionGroups .rowOne .text .articles .article .datetime,
#section .sectionGroups .side .text .articles .article .datetime {
  width: 50px;
  display: flex;
  justify-content: flex-end;
  color: #9da5b6;
  font-size: 0.9em;
  margin-left: 10px;
  word-break: keep-all;
}

#section .sectionGroups .rowTwo > .image .articles,
#section .sectionGroups .side > .image .articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

#section .sectionGroups .rowOne > .image .articles {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}

#section .sectionGroups .rowTwo > .image .article,
#section .sectionGroups .rowOne > .image .article,
#section .sectionGroups .side > .image .article {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4px;
}

#section .sectionGroups .rowTwo > .image .article .image,
#section .sectionGroups .rowOne > .image .article .image,
#section .sectionGroups .side > .image .article .image {
  position: relative;
  width: 100%;
  padding: 0;
  padding-bottom: 78.43%;
  margin: 0;
  border-radius: 12px;
}

#section .sectionGroups .rowTwo > .image .article .image img,
#section .sectionGroups .rowOne > .image .article .image img,
#section .sectionGroups .side > .image .article .image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

#section .sectionGroups .rowTwo > .image .article .title,
#section .sectionGroups .rowOne > .image .article .title,
#section .sectionGroups .side > .image .article .title {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: normal;
  font-size: 0.9em;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
  text-align: center;
}

#section .sectionGroups .rowTwo > .image .article .image,
#section .sectionGroups .rowOne > .image .article .image,
#section .sectionGroups .side > .image .article .image {
  position: relative;
}

#section .sectionGroups .rowTwo > .image .article .image .count,
#section .sectionGroups .rowOne > .image .article .image .count,
#section .sectionGroups .side > .image .article .image .count {
  position: absolute;
  right: 0;
  bottom: 0;
  color: #fff;
  font-size: 0.7em;
  padding: 2px 6px;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.3);
  margin-right: 5px;
  margin-bottom: 10px;
}

#section .sectionGroups .rowTwo > .image .article .title:hover,
#section .sectionGroups .rowOne > .image .article .title:hover,
#section .sectionGroups .side > .image .article .title:hover {
  /* text-decoration: underline; */
}

@media (max-width: 1280px) {
  #section .sectionGroups .rowTwo {
    grid-template-columns: repeat(1, 1fr);
  }

  #section .sectionGroups .rowTwo > .image .articles,
  #section .sectionGroups .rowOne > .image .articles,
  #section .sectionGroups .side > .image .articles {
    gap: 10px;
  }

  #section .sectionGroups .rowOne > .image .articles,
  #section .sectionGroups .side > .image .articles {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* tab */
#section .sectionGroups .tab {
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.06);
}

#section .sectionGroups .tab .titles {
  display: flex;
  justify-content: center;
  align-items: center;
}

#section .sectionGroups .tab .titles .title {
  flex: 1;
}

#section .sectionGroups .tab .titles .title label {
  width: 100%;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: rgba(0, 0, 0, 0.5);
  background-color: #CACFD8;
  cursor: pointer;
}

#section .sectionGroups .tab .titles .title:first-child label {
  border-top-left-radius: 12px;
}

#section .sectionGroups .tab .titles .title:last-child label {
  border-top-right-radius: 12px;
}

#section .sectionGroups .tab .titles .title label:focus {
  outline: none;
}

#section .sectionGroups .tab .titles .title input {
  display: none;
}

#section .sectionGroups .tab .titles .title input:checked + label {
  color: #000;
  background-color: #fff;
}

#section .sectionGroups .tab .text {
  width: 100%;
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 25px;
  gap: 10px;
}

#section .sectionGroups .tab .text.selected {
  display: flex;
}

#section .sectionGroups .tab > .image {
  width: 100%;
  display: none;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
  padding: 25px;
}
#section .sectionGroups .tab > .image.selected {
  display: grid;
}

#section .sectionGroups .tab .text .article {
  width: 100%;  
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#section .sectionGroups .tab .text .article .titleContainer {
  flex: 1;
  width: 100px;
  display: flex;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

#section .sectionGroups .tab .text .article .title {
  margin-right: 4px;
}

#section .sectionGroups .tab .text .article .title:hover {
  text-decoration: underline;
}

#section .sectionGroups .tab .text .article .datetime {
  width: 50px;
  display: flex;
  justify-content: flex-end;
  color: #9da5b6;
  font-size: 0.9em;
  margin-left: 10px;
  word-break: keep-all;
}

#section .sectionGroups .tab > .image .article .image img {
  width: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 12px;
}

#section .sectionGroups .tab > .image .article .title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9em;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
  text-align: center;
}

@media (max-width: 1280px) {
  #section .sectionGroups .tab > .image {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
}

/* dropdown */
#section .sectionGroups .dropdown .articles {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

#section .sectionGroups .dropdown .article {
  width: 100%;
  box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
}

[data-theme='dark'] #section .sectionGroups .dropdown .article {
  color: rgba(255, 255, 255, 0.7);
  background-color: var(--section-bg-color-dark, rgba(255, 255, 255, 0.1));
}

#section .sectionGroups .dropdown .article .titleContainer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 25px;
  cursor: pointer;
}

#section .sectionGroups .dropdown .article .titleContainer h3 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}

#section .sectionGroups .dropdown .article .titleContainer svg {
  color: rgba(0, 0, 0, 0.3);
}

#section .sectionGroups .dropdown .article .content {
  display: none;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  padding: 18px 25px;
  padding-top: 0;
}

#section .sectionGroups .dropdown .article .content.active {
  display: flex;
}

#section .sectionGroups .dropdown .article .content p:last-child {
  margin: 0;
}

#section .sectionGroups .dropdown .article .content img {
  width: 100%;
}

/* blog */
#section .sectionGroups .blog .articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

#section .sectionGroups .blog .article {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.06);
}

#section .sectionGroups .blog .article .image img {
  width: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}

#section .sectionGroups .blog .article .info {
  padding: 20px;
}

#section .sectionGroups .blog .article .info h3 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 10px;
  word-break: break-all;
}

#section .sectionGroups .blog .article .info .content {
  color: rgba(0, 0, 0, 0.5);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}

@media (max-width: 1280px) {
  #section .sectionGroups .blog .articles {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  #section .sectionGroups .blog .article .info {
    padding: 10px;
  }
}

/* content */
#section .sectionGroups .sectionGroup > .contentTwo .articles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

#section .sectionGroups .sectionGroup > .contentOne .articles {
  display: grid;
  gap: 20px;
}

#section .sectionGroups .sectionGroup > .contentTwo .article,
#section .sectionGroups .sectionGroup > .contentOne .article {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  background-color: #fff;
  border-radius: 12px;
  padding: 25px;
  gap: 20px;
}

#section .sectionGroups .sectionGroup > .contentTwo .article h3,
#section .sectionGroups .sectionGroup > .contentOne .article h3 {
  font-size: 1.2em;
  display: flex;
  justify-content: center;
  align-items: center;
}

#section .sectionGroups .sectionGroup > .contentTwo .article p:last-child,
#section .sectionGroups .sectionGroup > .contentOne .article p:last-child {
  margin: 0;
}

#section .sectionGroups .sectionGroup > .contentTwo .article img,
#section .sectionGroups .sectionGroup > .contentOne .article img {
  width: 100%;
}

@media (max-width: 1280px) {
  #section .sectionGroups .sectionGroup > .contentTwo .articles {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* imageAndTitle */
#section .sectionGroups .imageAndTitle .articles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

#section .sectionGroups .imageAndTitle .article {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4px;
}

#section .sectionGroups .imageAndTitle .image {
  width: 100%;
}

#section .sectionGroups .imageAndTitle .image img {
  width: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 12px;
}

#section .sectionGroups .imageAndTitle .title {
  font-weight: unset;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.9em;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
  text-align: center;
}

@media (max-width: 1280px) {
  #section .sectionGroups .imageAndTitle .articles {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

/* bookmark */
#section .sectionGroups .bookmark .articles {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

#section .sectionGroups .bookmarkThree .articles {
  grid-template-columns: repeat(3, 1fr);
}

#section .sectionGroups .bookmarkFour .articles {
  grid-template-columns: repeat(4, 1fr);
}

#section .sectionGroups .bookmarkFive .articles {
  grid-template-columns: repeat(5, 1fr);
}

#section .sectionGroups .bookmark .article {
  /* background-color: #fff; */
  border: 1px solid #bbb;
}

#section .sectionGroups .bookmark .article .image {
  width: 100%;
}

#section .sectionGroups .bookmark .article .image img {
  width: 100%;
}

#section .sectionGroups .bookmark .article .info {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  padding: 10px 0;
  gap: 4px;
}

#section .sectionGroups .bookmark .article .info .title {
  font-weight: bold;
  font-size: 1.2em;
}

#section .sectionGroups .bookmark .article .buttons {
  display: flex;
}

#section .sectionGroups .bookmark .article .buttons a {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  font-weight: bold;
  font-size: 0.9em;
}

#section .sectionGroups .bookmark .article .buttons .detail {
  color: #fff;
  background-color: #00306E;
}

#section .sectionGroups .bookmark .article .buttons .join {
  color: #fff;
  background-color: #474748;
}

@media (max-width: 1280px) {
  #section .sectionGroups .bookmark .articles {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

/* youtube */
#section .sectionGroups .sectionGroup > .youtube .articles {
  display: grid;
  gap: 20px;
}

#section .sectionGroups .sectionGroup > .youtube .article {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 20px;
}

#section .sectionGroups .sectionGroup > .youtube .article .content {
  width: 100%;
}

#section .sectionGroups .sectionGroup > .youtube .article .content .youtube {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  margin-bottom: 30px;
}

#section .sectionGroups .sectionGroup > .youtube .article .content .youtube iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

/* video6 / video5
   요청: 메인페이지 섹션의 동영상 카드가 카테고리 직접 진입(#videoList)/상세페이지 관련 동영상과
   크기가 다르게 보이는 문제 수정. video.ejs가 이제 공용 카드 컴포넌트(board/videoCard.ejs, 클래스
   .item/.image/.info)를 그대로 재사용하므로, 여기 CSS도 옛 .article 클래스가 아니라 .item을
   대상으로 하고 board/list.css의 #videoList와 완전히 동일한 썸네일 비율(55%)/카드 스타일을
   그대로 적용한다. 한 줄에 보이는 개수(6개/5개, 관리자 설정값)만 유지한다. */
#section .sectionGroups .video6 .articles,
#section .sectionGroups .video5 .articles {
  width: 100%;
  display: grid;
  gap: 10px;
}

#section .sectionGroups .video6 .articles {
  grid-template-columns: repeat(6, 1fr);
}

#section .sectionGroups .video5 .articles {
  grid-template-columns: repeat(5, 1fr);
}

#section .sectionGroups .video6 .articles .item,
#section .sectionGroups .video5 .articles .item {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  background-color: var(--card-bg-color-light, #fff);
  border: 1px solid transparent;
  box-shadow: 0 2px 30px 0 rgba(0, 0, 0, 0.06);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  padding-top: 8px;
}

/* [Task L 항목5/6/7] 커스텀배너 카드: 동영상 카드(.item)와 동일한 그리드 슬롯 하나를 차지하되,
   제목/메타 정보(.info) 없이 이미지(.image)만 있으므로 CSS Grid의 기본 align-items: stretch로
   행 전체 높이만큼 늘어난 셀을 이미지 영역이 꽉 채우도록(썸네일 비율 padding-bottom 대신
   flex:1로 채움) 해 같은 행의 동영상 카드와 자연스럽게 높이가 맞도록 한다. */
#section .sectionGroups .video6 .articles .item.customBannerCard,
#section .sectionGroups .video5 .articles .item.customBannerCard {
  padding-top: 0;
}

#section .sectionGroups .video6 .articles .item.customBannerCard .image,
#section .sectionGroups .video5 .articles .item.customBannerCard .image {
  flex: 1;
  padding-bottom: 0;
  min-height: 100%;
}

#section .sectionGroups .video6 .articles .item.customBannerCard .image img,
#section .sectionGroups .video5 .articles .item.customBannerCard .image img {
  border-radius: 8px;
}

#section .sectionGroups .video6 .articles .item.customBannerCard .customBannerTextFallback,
#section .sectionGroups .video5 .articles .item.customBannerCard .customBannerTextFallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 120px;
  background-color: var(--video-accent-color, #22c55e);
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 12px;
  box-sizing: border-box;
}

#section .sectionGroups .video6 .articles .item:hover,
#section .sectionGroups .video5 .articles .item:hover {
  transform: translateY(-3px) scale(1.02);
  border-color: var(--video-accent-color, #22c55e);
  box-shadow: 0 4px 16px 0 rgba(var(--video-accent-color-rgb), 0.25);
}

[data-theme='dark'] #section .sectionGroups .video6 .articles .item,
[data-theme='dark'] #section .sectionGroups .video5 .articles .item {
  background-color: var(--card-bg-color-dark, #1a1a1a);
  border: 1px solid rgba(var(--video-accent-color-rgb), 0.35);
}

[data-theme='dark'] #section .sectionGroups .video6 .articles .item:hover,
[data-theme='dark'] #section .sectionGroups .video5 .articles .item:hover {
  border-color: var(--video-accent-color, #22c55e);
  box-shadow: 0 4px 18px 0 rgba(var(--video-accent-color-rgb), 0.35);
}

#section .sectionGroups .video6 .articles .item:visited,
#section .sectionGroups .video5 .articles .item:visited {
  color: var(--visited-color);
}

[data-theme='dark'] #section .sectionGroups .video6 .articles .item:visited,
[data-theme='dark'] #section .sectionGroups .video5 .articles .item:visited {
  color: #999;
}

/* [항목4] 관리자 설정(--video-board-thumbnail-ratio)이 없으면 기존 하드코딩 기본값 55% 그대로 사용 */
#section .sectionGroups .video6 .articles .image,
#section .sectionGroups .video5 .articles .image {
  position: relative;
  width: 100%;
  padding: 0;
  padding-bottom: var(--video-board-thumbnail-ratio, 55%);
  margin: 0;
  border-radius: 8px;
}

#section .sectionGroups .video6 .articles .image img,
#section .sectionGroups .video5 .articles .image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

#section .sectionGroups .video6 .articles .info,
#section .sectionGroups .video5 .articles .info {
  padding: 0 8px 8px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

#section .sectionGroups .video6 .articles .info svg,
#section .sectionGroups .video5 .articles .info svg {
  width: 14px;
  height: 14px;
  margin-right: 4px;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: bottom;
}

#section .sectionGroups .video6 .articles .info .titleContainer,
#section .sectionGroups .video5 .articles .info .titleContainer {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: 10px;
}

#section .sectionGroups .video6 .articles .info .titleContainer .title,
#section .sectionGroups .video5 .articles .info .titleContainer .title {
  line-height: normal;
  font-size: 0.9em;
}

#section .sectionGroups .video6 .articles .info .titleContainer .commentCount,
#section .sectionGroups .video5 .articles .info .titleContainer .commentCount {
  color: #9da5b6;
}

#section .sectionGroups .video6 .articles .info .titleContainer .commentCount svg,
#section .sectionGroups .video5 .articles .info .titleContainer .commentCount svg {
  width: 14px;
  height: 14px;
  margin-left: 4px;
  margin-right: 4px;
}

#section .sectionGroups .video6 .articles .info .etc,
#section .sectionGroups .video5 .articles .info .etc {
  font-size: 0.8em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #9da5b6;
}

#section .sectionGroups .video6 .articles .info .etc .nickName,
#section .sectionGroups .video5 .articles .info .etc .nickName {
  word-break: break-all;
}

@media (max-width: 1280px) {

  #section .sectionGroups .video6 .articles,
  #section .sectionGroups .video5 .articles {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  #section .sectionGroups .video6 .articles .info .titleContainer,
  #section .sectionGroups .video5 .articles .info .titleContainer {
    width: 100%;
  }

}