/* ========================================================
  01.  Main Visual & Custom Indicator System
======================================================== */
.main-visual {
  position: relative;
  width: 100% !important;
  display: block !important;
  overflow: hidden;
  background-color: var(--color-main-1);
}

.main-visual .inner {
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}

/* 슬라이더 내부 요소 기본화 */
.visual-banner-slider {
  display: block !important;
  width: 100% !important;
  visibility: visible !important;
}
.visual-banner-slider .slider-item {
  display: block;
  float: left;
  height: auto;
}
.visual-banner-slider .slider-item img {
  display: block;
  width: 100%;
  height: auto;
}

/* --- [시안 최적화] 우측 최하단 밀착형 컨트롤러 --- */
.visual-control-wrap {
  position: absolute;
  bottom: 20px;
  right: 30px; /* 시안 우측 구석 정렬 */
  display: flex;
  align-items: center;
  gap: 5px;
  z-index: 10;
  padding: 1rem;
  user-select: none;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 2rem;
}

/* 카운터 정렬 */
.custom-counter {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 꺾쇠 버튼 공통 기본화 */
.custom-counter button {
  position: relative;
  width: 16px;
  height: 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-indent: -9999px; /* 글자 < > 는 숨깁니다 */
}

/* 시안의 슬림한 꺾쇠 직접 드로잉 (왼쪽 꺾쇠) */
.custom-counter .btn-slider-prev::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 6px;
  width: 8px;
  height: 8px;
  border-left: 1.5px solid rgba(255, 255, 255, 0.8);
  border-bottom: 1.5px solid rgba(255, 255, 255, 0.8);
  transform: translateY(-50%) rotate(45deg);
}

/* 오른쪽 꺾쇠 */
.custom-counter .btn-slider-next::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 6px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid rgba(255, 255, 255, 0.8);
  border-top: 1.5px solid rgba(255, 255, 255, 0.8);
  transform: translateY(-50%) rotate(45deg);
}

/* 카운터 숫자 텍스트 스타일 (< 5 / 10 >) */
.custom-counter .counter-text {
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.5px;
}
.custom-counter .counter-text .current {
  color: #ffffff; /* 현재 활성화 숫자 pure white 강조 */
  font-weight: 600;
}
.custom-counter .counter-text .total {
  color: rgba(255, 255, 255, 0.6);
}

/* 자동재생 토글 버튼 스타일 */
.btn-slider-autoplay {
  position: relative;
  width: 14px;
  height: 14px;
  background: transparent;
  border: none;
  cursor: pointer;
}

/* 멈춤 상태 아이콘 (||) */
.btn-slider-autoplay.stop::before,
.btn-slider-autoplay.stop::after {
  content: "";
  position: absolute;
  top: 1px;
  width: 2px;
  height: 12px;
  background: rgba(255, 255, 255, 0.8);
}
.btn-slider-autoplay.stop::before {
  left: 2px;
}
.btn-slider-autoplay.stop::after {
  right: 2px;
}

/* 재생 상태 아이콘 (▶) */
.btn-slider-autoplay.play::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 3px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid rgba(255, 255, 255, 0.9);
}

/* 초점 접근성 패딩 테두리 */
.banner-link{ position: relative; }
.banner-link::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 검은색 50% 불투명도 */
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}
.banner-link .view-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.9); /* 중앙 정렬 및 살짝 작은 상태에서 시작 */
  padding:20px 45px;
  background-color: #fff;
  color: #111;
  font-size:1.8rem;
  font-weight: 600;
  border-radius:30px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  z-index: 2;
  white-space: nowrap;
}

/* [핵심] 마우스 호버(Hover) 및 키보드 포커스(Focus) 시 활성화 상태 */
.banner-link:hover::before,
.banner-link:focus-within::before {
  opacity: 1;
}

.banner-link:hover .view-btn,
.banner-link:focus-within .view-btn {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1); /* 원래 크기로 복원되는 애니메이션 */
}

.banner-link:focus,
.banner-link:focus-visible {
  outline: 3px solid #8673ff;
  outline-offset: -3px;
}
.visual-control-wrap button:focus-visible {
  outline: 2px solid #8673ff;
  outline-offset: 2px;
}

/* 반응형 모바일 최적화 규격 */
@media screen and (max-width: 1400px) {
  .main-visual .inner {
    padding: 0;
  }
}

@media (max-width: 768px) {
  .banner-link .view-btn {
    padding: 8px 20px;
    font-size: 14px;
  }
}

/* ========================================================
  02.  Second Section: Response Tab Layout (탭형 최신동향 )
======================================================== */
.main-tab-section {
  position: relative;
  width: 100%;
  padding: 40px 0;
  background-color: #ffffff;
}

/* 타이틀 박스 ( + tab) */
.main-TrendsReport .inner {
  position: relative;
}
.title-box {
  display: flex;
  align-items: center;
}

.title-box h2 {
  font-size: 3.4rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  color:#111;
}

.title-box .tab-list-wrap {
  margin-left: 20px;
}

.title-box .tab-list-wrap .tab-trigger {
  color: #020e23;
  font-weight: 400;
  padding: 5px 10px;
  border: 1px solid #353e4f;
  background-color: #fff;
}

.title-box .tab-list-wrap .tab-trigger.active {
  color: #fff;
  font-weight: 500;
  position: relative;
  background: #020e23;
  border: 1px solid #020e23;
}

.tab-trigger:focus-visible {
  outline: 3px solid #8673ff;
}

/*  탭 패널 및 하단 그리드 카드 연동 */
.tab-panel {
  display: none;
  width: 100%;
  outline: none;
  contain: layout;
}

.tab-panel.active {
  display: block; /* 활성화 클래스 적용 시 정상 노출 */
}

/* 대형 탭 버튼 라인 컨트롤러 (시안 최적화) */
.board-grid-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
  list-style: none;
  width: 100%;
}

.board-grid-list li {
  width: 100%;
  min-width: 0;
}

/* 개별 카드 내부 링크 및 컨텐츠 정렬 */
.board-link {
  display: flex;
  flex-direction: column; /* 제목과 날짜를 위아래 세로로 균형 있게 배치 */
  justify-content:space-between;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  min-height:145px;
  border: 1px solid #dddddd;
  padding: 3rem 2rem;
  border-radius: 1.5rem;
}
@media (hover: hover) {
  .board-link:hover {
    border: 1px solid #8673ff;
    box-shadow: 0px 0px 5px 1px rgb(134 115 255 / 46%);
  }
  .board-link:hover .post-title {
    color: var(--color-main-3);
  }
}

.board-link:focus {
  outline: 2px solid #8673ff;
}

.board-link .post-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  width: 100%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3;
  transition: color 0.25s ease;
  word-break: break-all;
  overflow: hidden;
  text-overflow: ellipsis;
}

.board-link .post-date {
  display: block;
  font-size: 1.6rem;
  margin-top: 10px;
  font-weight: 400;
  color: #666;
}

.more_btn {
  position: absolute !important;
  right: 0px;
  top:10px;
  transform: translateY( calc(-100% - 15px));
  display: block;
  width:2.5rem;
  height:2.5rem;

  text-decoration: none;
  outline: none;
  z-index: 100;
}
.tab-panel .more_btn:focus,
.tab-panel .more_btn:focus-visible {
  position: absolute;
  outline: 2px solid #8673ff;
  outline-offset: 6px;
}

/* 정밀 정적인 (+) 아이콘 드로잉 (px 단위 고정) */
.more_btn::before,
.more_btn::after {
  content: "";
  display: block;
  background: #222;
  position: absolute;
}

/* 가로선 (-) */
.more_btn::before {
  width:100%;
  height: 2px;
  top: 11px;
  left:0px;
}

/* 세로선 (|) */
.more_btn::after {
  width: 2px;
  height: 100%;
  top: 1px;
  left: 11.5px;;
}
/* 모바일 반응형 최적화 (768px 이하)  */
@media (max-width: 768px) {
  .tab-trigger span {
    font-size: 18px; /* 모바일 대응 크기 축소 */
  }
  .service-list {
    flex-wrap: wrap;
    gap: 24px 0;
  }
  .service-item {
    width: 50%;
  }
  .service-item:not(:last-child)::after {
    display: none;
  }
}

/* ----------------------------------------------------
    [그리드 1단계 변형] 태블릿 해상도 (1200px 이하)
---------------------------------------------------- */
@media (max-width: 1200px) {
  .board-grid-list {
    /* 2) 태블릿 설정: 2열 구조 변경 (6개 아이템이므로 자동으로 2열 3행 완성) */
    grid-template-columns: repeat(2, 1fr);
    gap:10px;
  }
}

/* ----------------------------------------------------
    [그리드 2단계 변형] 모바일 해상도 (768px 이하)
---------------------------------------------------- */
@media (max-width: 768px) {
  .board-grid-list {
    /* 3) 모바일 설정: 1열 구조 변경 (가로 100% 꽉 채우는 구조) */
    grid-template-columns: repeat(1, 1fr);
    gap:5px;
  }

  .board-link {
    padding:1.5rem 2rem;
    min-height: auto;
  }
}

/* ========================================================
  03.  Third Section: Response Tab Layout (탭형 성과사례 )
======================================================== */
.main-Example{ background:#f1f1f1; }
.main-example-util{
  display:flex;
  flex-flow:row nowrap;
}
.main-Example .card_wrap_inner_bullet {
  display: flex;
  gap: 2.4rem;
  margin-left: 1rem;
  background: #fff;
  padding: 8px 14px;
  border: 1px solid #d9d9d9;
}
.main-Example .card_wrap_inner_bullet .dot {
  display: inline-flex;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
}
.main-Example .card_wrap_inner_bullet .dot::before {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.5rem;
  border-radius: 0.2rem;
}
.main-Example .card_wrap_inner_bullet .dot1::before {
  background:#f3fff9;
  border-left: 3px solid #129e56;
}
.main-Example .card_wrap_inner_bullet .dot2::before {
  background: #fcf2ff;
  border-left: 3px solid #b62fd9;
}

.detail-card-type{
  display: block;
  width: 100%;
  margin-top: 2rem;
  padding: 0;
  position: relative;
}

.detail-card-type .slick-list {
  overflow: hidden;
  position: relative;
  display: block;
  margin: 0 -5px; /* ★ 중요: 아래 slick-slide의 padding 값과 반드시 일치시켜야 양 끝이 맞습니다. */
  padding: 5px 0;
  width: auto;
}

.detail-card-type .slick-slide {
  display: flex;
  justify-content: flex-start;
  height: auto;
  padding: 0 5px;
  width:100% !important;
  box-sizing: border-box;
}

.detail-card-type .slick-slide >div { width:100%; }

.detail-card-type .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: flex;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100%;
}

/* ★ 카드가 1~2개뿐이라 부족할 때만 (is-minimal) 인라인 너비를 제압하고 왼쪽 정렬 */
.detail-card-type.is-minimal .slick-track {
  width: 100% !important;
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  transform: translate3d(0px, 0px, 0px) !important;
}

/* 카드가 부족할 때도 개별 카드가 거대해지지 않고 딱 1/3(33.333%) 크기 고정 */
.detail-card-type.is-minimal .slick-slide {
  width: 33.3333% !important;
  max-width: 33.3333% !important;
  flex-shrink: 0 !important;
}


.detail-card-type > li {
  display: flex;
  width: 100%;
  min-width: 0;
}


/* 개별 카드 내부 링크 및 컨텐츠 정렬 */
.card-link {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  min-width: 0;
  border: 1px solid #dddddd;
  padding: 3rem 2rem;
  border-radius: 1.5rem;
  background-color: #ffffff;
  box-sizing: border-box;
}

@media (hover: hover) {
  .card-link:hover {
    border: 1px solid #8673ff;
    box-shadow: 0px 0px 5px 1px rgb(134 115 255 / 46%);
  }
  .card-link:hover .post-title {
    color: var(--color-main-3);
  }
}

.card-link:focus-visible {
  outline: 2px solid #8673ff;
  outline-offset: -2px;
}

/*카드 벳지*/
.card-badge-wrap{
  display:flex;
  flex-flow:row;
  gap:0.3rem;
}

.card-badge-wrap .badge{
  padding: 0.4rem 1.2rem;
  font-size: 1.4rem;
  border-radius:2rem;
  font-weight:700;
}

.card-badge-wrap .badge.date{
  background: #e5e5e5;
  color:#333;
}

.card-badge-wrap .badge.public{
  background:#f0f9ff;
  border:1px solid #bae6fd;
  color:#016292;
}

.card-badge-wrap .badge.basic{
  background:#fff;
  border:1px solid #ddd;
  color:#333;
}

.card-badge-wrap .badge.private{
  background:#f3fff7;
  border:1px solid #bbf7d0;
  color:#04712c;
}

.card-badge-wrap .badge.tech{
  background:#ffeef0;
  border:1px solid #e06777;
  color:#e06777;
}

/*카드 타이틀*/
.card-link .post-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  width: 100%;
  min-height:6rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3;
  transition: color 0.25s ease;
  word-break: break-all;
  overflow: hidden;
  text-overflow: ellipsis;
  margin:1rem 0 2rem 0;
}

/*카드 내 기관구분*/
.detail-card-type .company {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-bottom: 2rem;
  width:100%;
  border-bottom:1px solid #d9d9d9;
  min-height:170px;
}
.detail-card-type .white_space_1,
.detail-card-type .white_space_2 {
  padding:1.2rem;
  border-radius: 0.3rem;
  width:100%;
  box-sizing: border-box;
  min-height:70px;
}

.detail-card-type .white_space_1 span,
.detail-card-type .white_space_2 span{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;

  line-height: 1.4;
  word-break: break-all;
}

.detail-card-type .white_space_1 {
  border-left: 5px solid #129e56;
  background:#f3fff9;
  font-weight: 500;
}
.detail-card-type .white_space_2 {
  background-color: #fcf2ff;
  border-left: 5px solid #b62fd9;
  font-weight: 500;
}

/*카드 태그*/
.card-tags {
  margin-top: 2rem;
  font-size: 1.4rem;
  color: #333;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5;
  height: auto;
  word-break: keep-all;
}

.card-link .post-date {
  display: block;
  font-size: 1.6rem;
  margin-top: 10px;
  font-weight: 400;
  color: #666;
}



/* ----------------------------------------------------
    [그리드 1단계 변형] 태블릿 해상도 (1200px 이하)
---------------------------------------------------- */
@media (max-width: 1200px) {

}

/* ----------------------------------------------------
    [그리드 2단계 변형] 모바일 해상도 (768px 이하)
---------------------------------------------------- */
@media (max-width: 720px) {
  .main-TrendsReport .title-box .tab-list-wrap{
    display:flex;
    flex-flow:row nowrap;
    gap:0.5rem;
    width:100%;
    margin-left:0px;
    margin-top:1rem;
  }
  .main-TrendsReport .title-box .tab-list-wrap .tab-trigger{ flex:1; }


  .main-example-util{
    display:flex;
    flex-flow:column nowrap;
    width:100%;
  }
  .main-Example .title-box{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .main-Example .title-box .tab-list-wrap{
    display:flex;
    flex-flow:row nowrap;
    gap:0.5rem;
    margin-left:0px;
    margin-top:1rem;
  }
  .main-Example .title-box .tab-list-wrap .tab-trigger{ flex:1; }
  .main-Example .more_btn{ top: -78px; }
  .main-Example .card_wrap_inner_bullet{ margin-left:0px; margin-top:1rem; }
}

/* ----------------------------------------------------
    [그리드 3단계 변형] 모바일 해상도 (480px 이하)
---------------------------------------------------- */
@media (max-width:560px) {
  .title-box{
    flex-direction:column;
    align-items:flex-start;
  }
  .title-box .tab-list-wrap{ margin-left:0; margin-top:1rem; }
}

@media (max-width: 348px){
  .main-Example .more_btn { top: -102px; }
}



/* ========================================================
  04.  4th Section: main-status ( 산업현황 )
======================================================== */
.main-status{ padding:40px 0; }
.main-status .title-box{ position:relative; }
.img-card-wrap{
  margin-top:2rem;
  position:relative;
}

.img-card-item .slick-track{
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}

.img-card-item .slick-slide{
  display: flex;
  flex-direction: column;
  height: auto;
  padding: 0 5px;
  box-sizing: border-box;
}



.img-card-wrap .img-card-item {
  position: relative;
  display: block;
  width: 100%;
}

.img-card-wrap .img-card-item .slick-list {
  display: flex;
  align-items: stretch;
  width: 100%;
}

.img-card-wrap .carditem{
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  flex-grow: 1;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 1.5rem;
}

.img-card-wrap .carditem .carditem-alink {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content:center;
  align-items: center;
  width: 100%;
  height:362px;
  flex-grow: 1;
  padding: 30px;
  border-radius: 1.5rem;
  box-sizing: border-box;
  text-decoration: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.img-card-wrap .carditem .carditem-alink  .imgbox{ width:100%; height:100%; }
.img-card-wrap .carditem .carditem-alink  .imgbox img{ width:100%; height:100%; object-fit:contain; }

@media (max-width: 1200px) {
  .img-card-wrap .carditem .carditem-alink { height:; }
}


.img-card-wrap .carditem .carditem-alink:focus-visible {
  outline: 2px solid #8673ff;
  outline-offset: -2px;
}

.carditem-alink .tit{
  margin-bottom:3rem;
  text-align: center;
  font-size:2rem;
  font-weight: 800;

}

.carditem.bluebg{
  border:1px solid #ccd3e2;;
  background: #f2f6ff;
}

.carditem.greenbg{
  border:1px solid #c5d8d7;
  background: #f7ffff;
}

.carditem.pinkbg{
  border:1px solid #e3d3d4;
  background: #fff6f7;
}

/* 카드가 세로로 길어질 때 내부 요소들이 하단 기준선에 이쁘게 밀착되도록 조정 */
.carditem-alink > img {
  margin-top: auto;
  margin-bottom: auto;
  max-width: 100%;
  height: auto;
}

.main-status-table {
  width: 100%;
  margin-top: auto; /* 상단 여백을 자동으로 밀어내어 하단 정렬 수평선 유지 */
}

.graph_wrap {
  width: 100%;
  margin-top: auto; /* 다른 카드의 테이블 높이와 수평 밸런스 맞춤 */
}

/*블록체인 솔루션현황 테이블 스타일*/
.main-status-table{ width:100%; height:auto; margin-top:auto; border-collapse:collapse; }
.main-status-table thead th{
  background:#b7e1e1;
  border-top:1px solid #5e8888;
  border-bottom:1px solid #d9d9d9;
  padding:10px;
  font-size:1.5rem;
  font-weight:700;
  text-align:center;
}

.main-status-table tbody td:first-child{ padding-left:1rem; }
.main-status-table tbody td:nth-child(2){ text-align:center; }
.main-status-table tbody td{
  padding:0.7rem 0;
  border-bottom: 1px solid #ddd;
  font-size: 1.5rem;
  text-align: left;
  background: #fff;
}

/*블록체인 기업현황 그래프 스타일*/
.graph_wrap{
  width: 100%;
  min-height: 248px;
  height:auto;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top:auto;
}

.graph_wrap .graph {
  width: 100%;
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  gap: 20px;
  justify-content: center;
}

.graph_wrap .graph .chart {
  position: relative;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  transition: 0.3s;
}

.graph_wrap .graph p.center {
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  text-align: center;
  font-size: 15px;
  transform: translate(-50%, -50%);
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-self: center;
  color: #111;
}

.graph_wrap .graph p.center .percent {
  font-size: 22px;
  font-weight: 700;
}

.graph_wrap .graph p.center .txt_sub {
  font-size: 14px;
  color:#666;
}

.graph_wrap .graph .answer_color {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 15px;
}

.graph_wrap .graph .answer_color > div {
  font-size: 14px;
  font-weight: 400;
  color: #333;
  position: relative;
  padding-left: 15px;
  display: flex;
  flex-flow: row nowrap;
  width: auto;
  box-sizing: border-box;
}


.graph_wrap .graph .answer_color > div > .num {
  font-weight: 700;
  padding-left: 3px;
}

.graph_wrap .graph .answer_color .doughnut_num1::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #5236ff;
  border: 1px solid #5236ff;
  border-radius: 50%;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.graph_wrap .graph .answer_color .doughnut_num2::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #b168e0;
  border: 1px solid #b168e0;
  border-radius: 50%;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.graph_wrap .graph .answer_color .doughnut_num3::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #e8d2f6;
  border: 1px solid #666;
  border-radius: 50%;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.graph_wrap .graph .answer_color .doughnut_num4::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color:#111;
  border: 1px solid #111;
  border-radius: 50%;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.img-card-wrap .more_btn{
  top:0px;
  box-sizing: border-box;
}

.img-card-wrap .more_btn:focus-visible {
  outline:2px solid #8673ff !important;
  outline-offset:4px !important;
  position: absolute !important;
  right: 0px !important;
  top: 0px !important;
  transform: translateY(calc(-100% - 15px)) !important;
  border-radius:2px;
}

/* ========================================================
  05.  5th Section: main-video ( 영상도서관 )
======================================================== */
.main-video{ padding-bottom:40px; }

.video-card-item .slick-slide{
  margin-top:2rem;
  position:relative;
  padding:0 5px;
}
.video-card-item{
  display:flex;
  flex-flow:row;
  align-items: stretch;
  gap:1rem;
}


.video-card-wrap .video-card-item {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  gap:1rem;
}

.video-card-wrap .videoitem{
  position: relative;
  display: flex;
  flex-direction: column;
  width: 33.3333%;
  flex-grow: 1;
  min-width: 0;
  box-sizing: border-box;
  overflow: hidden;
  border-radius:1.5rem;
}

.video-card-wrap .videoitem .videoitem-alink {
  position: relative;
  display: flex;
  flex-flow:column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  flex-grow: 1;
  padding: 30px;
  border-radius: 1.5rem;
  border:1px solid #d9d9d9;
  box-sizing: border-box;
}

@media (hover: hover) {
  .video-card-wrap .videoitem .videoitem-alink:hover {
    border: 1px solid #8673ff;
    box-shadow: 0px 0px 5px 1px rgb(134 115 255 / 46%);
  }
}


/*유투브 썸네일 이미지*/
.videoitem-alink .youtubeThum-wrap{
  width:100%;
  height:220px;
  position: relative;
  border-radius:1.2rem;
  background-size:cover;
  overflow:hidden;
}

.videoitem-alink .youtubeThum{ width:100%; height:100%; object-fit:contain; }

.videoitem-alink .info-box{
  width:100%;
  margin-top:2rem;
}

.videoitem-alink .info-box .tit{
  min-height:36px;
  color: #333;
  font-size:1.8rem;
  font-weight:700;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: left;
  margin-bottom:1.3rem;
}

.videoitem-alink .info-box .tag{
  font-size:1.5rem;
  font-weight:600;
  color:#5236ff;
  padding-right: 3px;
  word-break: break-all;
}

.video-card-wrap{ position: relative; }

.video-card-wrap .videoitem .videoitem-alink:focus-visible {
  outline: 2px solid #8673ff;
  outline-offset: -2px;
}


.video-card-wrap .more_btn:focus-visible {
  outline:2px solid #8673ff !important;
  outline-offset:4px !important;
  position: absolute !important;
  right: 0px !important;
  top: 0px !important;
  transform: translateY(calc(-100% - 15px)) !important;
  border-radius:2px;
}


/*성과사례, 산업현황, 영상도서관 공통 slick 버튼*/

/*카드섹션 슬릭 화살표 커스텀*/
.detail-card-type .slick-arrow,
.img-card-item .slick-arrow, .video-card-item .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width:40px;
  height:40px;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 50%;
  cursor: pointer;
  outline: none;
  transition: all 0.3s ease;
  font-size: 0;
  color: transparent;
  text-indent: -9999px;
  overflow: hidden;
}

/* 화살표 내부 모양 공통 생성 (Pseudo-element 활용) */
.detail-card-type .slick-arrow::after,
.img-card-item .slick-arrow::after, .video-card-item .slick-arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #333333;
  border-right: 2px solid #333333;
  display: inline-block;
  transition: all 0.3s ease;
}

@media (hover: hover) {
  .detail-card-type .slick-arrow:hover:not(.slick-disabled),
  .img-card-item .slick-arrow:hover:not(.slick-disabled),
  .video-card-item .slick-arrow:hover:not(.slick-disabled){
    background-color: #001232;
    border-color: #001232;
  }
  .detail-card-type .slick-arrow:hover:not(.slick-disabled)::after,
  .img-card-item .slick-arrow:hover:not(.slick-disabled)::after,
  .video-card-item .slick-arrow:hover:not(.slick-disabled)::after{
    border-color: #ffffff;
  }
}

/* >> 왼쪽 버튼 (Previous) 개별 스타일 */
.detail-card-type .slick-prev, .img-card-item .slick-prev, .video-card-item .slick-prev
{ left: -20px; }
/* >> 왼쪽을 바라보도록 화살표 회전 */
.detail-card-type .slick-prev::after, .img-card-item .slick-prev::after, .video-card-item .slick-prev::after
{ transform: translate(-30%, -50%) rotate(-135deg); }
/* >> 오른쪽 버튼 (Next) 개별 스타일 */
.detail-card-type .slick-next, .img-card-item .slick-next, .video-card-item .slick-next
{ right: -20px; }
/* >> 오른쪽을 바라보도록 화살표 회전 */
.detail-card-type .slick-next::after, .img-card-item .slick-next::after, .video-card-item .slick-next::after
{ transform: translate(-70%, -50%) rotate(45deg); }

/* >> [핵심 오퍼레이션] 비활성화 상태 (slick-disabled) 스타일 */
.detail-card-type .slick-arrow, .img-card-item .slick-arrow, .video-card-item .slick-arrow
{ display: block !important; }
.detail-card-type .slick-arrow.slick-disabled,
.img-card-item .slick-arrow.slick-disabled,
.video-card-item .slick-arrow.slick-disabled
{
  background-color: #ffffff;
  border-color: #b3b3b3;
  cursor: not-allowed;
  box-shadow: none;
}

.detail-card-type .slick-arrow.slick-disabled::after,
.img-card-item .slick-arrow.slick-disabled::after, .video-card-item .slick-arrow.slick-disabled::after
{  border-color: #aaaaaa; }



/* 2. 성과사례 Slick 슬라이더 좌우 화살표 포커스 */
.detail-card-type .slick-arrow:focus-visible,
.img-card-item .slick-arrow:focus-visible, .video-card-item .slick-arrow:focus-visible{
  outline: none !important;
  border-color: #8673ff;
  box-shadow: 0 0 0 4px rgba(134, 115, 255, 0.3);
  background-color: #ffffff;
  z-index: 10;
}

.detail-card-type .slick-arrow.slick-disabled:focus-visible,
.img-card-item .slick-arrow.slick-disabled:focus-visible,
.video-card-item .slick-arrow.slick-disabled:focus-visible {
  box-shadow: none !important;
  border-color: #b3b3b3 !important;
}

@media (max-width: 1200px) {
  .detail-card-type .slick-prev,
  .img-card-item .slick-prev,
  .video-card-item .slick-prev
  { left: -10px; }
  .detail-card-type .slick-next,
  .img-card-item .slick-next,
  .video-card-item .slick-next
  { right: -10px; }
}

/* 성과사례 슬라이더 하단 영역 강제 패딩 부여 */
.detail-card-type.slick-slider {
  padding-bottom:40px;
}

/* 도트 컨테이너 강제 노출 및 정렬 */
.detail-card-type.slick-slider .slick-dots {
  position: absolute;
  bottom: 15px;
  display: flex;
  justify-content: center;
  list-style: none;
  width: 100% ;
  padding: 0;
  margin: 0;
  gap: 10px;
  z-index: 999;
}

/* 도트 단추 모양 시각화 */
.detail-card-type.slick-slider .slick-dots li button {
  border: none ;
  background-color: #d1d5db;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  font-size: 0;
  cursor: pointer;
}

/* 활성화 상태 색상 */
.detail-card-type.slick-slider .slick-dots li.slick-active button {
  background-color: #8673ff;
}

/*MainModal*/
#contents{ position: relative; }
.main_modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
}

.main_modal.active {
  display: block;
}

.main_modal .modal_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.main_modal .modal_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: 40px 20px;
  box-sizing: border-box;
}

.main_modal .modal_item {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  align-items: flex-start;
  max-width: 1400px;
  margin: 0 auto;
}

.main_modal .modal_box {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 12px;
  width:400px;
  max-width: 100%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  box-sizing: border-box;
}

.main_modal .modal_link {
  display: block;
  cursor: pointer;
}

.main_modal .modal_box:focus{ outline:3px solid #8673ff; }
.main_modal .modal_box:focus-visible{ outline:3px solid #8673ff; }

.main_modal .modal_tit h3 {
  padding:2.4rem 2.4rem 1.0rem 2.4rem;
  font-size: 1.8rem;
  font-weight: 700;
}


.main_modal .modal_btm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #F7FAFC;
  padding:13px 20px;
}

.main_modal .check_box label {
  display: inline-flex;
  align-items: center;
  font-size:1.5rem;
  color: #333;
  cursor: pointer;
}

.main_modal .check_box input {
  margin-right: 6px;
}

.main_modal .btn_close {
  background: #4a5568;
  border: none;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  padding: 6px 16px;
  border-radius: 0.6rem;
}
