@charset "UTF-8";
@import url(../root.css?v1001.0.1);

/* 레이아웃 */
#container {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-bottom: 50px !important;
}

.contents,
.contents-bottom {
  width: 100%;
  box-sizing: border-box;
}

.contents-bottom {
  margin-top: 30px;
}

.contents-bottom-wrap {
  padding: clamp(20px, 4vw, 40px);
  margin: 0 0 120px 0;
  border: 1px solid #d1d5db;
  border-radius: 12px;
}

/* 헤더 이미지 */
.sub-visual-wrapper {
  /* height: clamp(200px, 25vw, 400px); */
  height: clamp(164px, 24vw, 400px);
  background-image: url(/img/sub-bg-last.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  margin-top: 86px !important;
}

.sub-visual span {
  font-size: clamp(14px, 4vw, 24px);
}

.sub-visual .title {
  font-family: "GmarketSansBold" !important;
  font-size: clamp(24px, 4vw, 60px);
}

/* 웨이브 기본 스타일 */
.wave {
  gap: 0.02em; /* 글자 사이 아주 약간의 여유 */
  font-weight: inherit; /* 기존 폰트 스타일 유지 */
}

/* 각 글자에 애니메이션 적용 */
.wave > i {
  display: inline-block;
  will-change: transform;
  animation: waveY 3s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s); /* 글자별 위상차 */
}

/* 기울어짐 제거: 오직 Y축 이동만 */
@keyframes waveY {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wave > i {
    animation: none;
  }
}
@media (max-width: 1024px) {
  .sub-visual {
    background-position: bottom right;
    height: 200px;
  }
}

/* 헤더 이미지 끝 */

/* 페이지 위치 표시 */
.nav-tab {
  width: 100%;
}

.breadcrumb {
  max-width: 1380px;
  justify-content: left;
  /* padding: 10px 20px; */
  margin: 0 auto 20px auto;
}

.breadcrumb ul {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  font-size: 14px;
  color: #888;
}

.breadcrumb a {
  font-size: 16px;
}
.breadcrumb .home-icon,
.breadcrumb .right-icon {
  color: #888;
  font-size: 18px;
}

/* 탭 영역 끝 */

/* 페이지 내용 영역 */
.content-section {
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 20px;
}

.contents .row > * {
  padding: 0 !important;
}

[data-sub-content] h1.page_title {
  color: #00166b;
  font-size: clamp(18px, 3vw, 28px);
  line-height: 1.4;
  width: 100%;
  font-weight: bold;
  position: relative;
}

.page_title {
  border-bottom: 1px dashed rgb(221, 221, 221);
  padding-bottom: 14px;
}

.page_title_logo {
  width: 28px;
  margin-right: 8px;
}

.sub-title-section {
  text-align: left;
  margin-bottom: 15px;
}

.sub-title {
  color: #303d4e;
  font-size: clamp(18px, 4vh, 20px);
  font-weight: bold;
  position: relative;
  padding-left: 18px;
}

.sub-title::after {
  display: block;
  content: "";
  width: 9px;
  height: 9px;
  background: navy;
  position: absolute;
  left: 0;
  top: 14px;
  z-index: 2;
}

.sub-title::before {
  display: block;
  content: "";
  width: 9px;
  height: 9px;
  background: #03a9f4;
  position: absolute;
  left: 0;
  top: 3px;
}

/* /.right_side */

/* left_side */
.left_side {
  width: fit-content !important;
}
/* /.left_side */

/* 반응형 처리 */
@media (max-width: 1439px) {
  .left_side {
    display: none;
  }
}

/* 반응형 처리 */
@media (max-width: 1439px) {
  .right_side .contents {
    padding: 0 20px;
  }
}

/* 페이지 준비중 */
.waiting {
  width: 100%;
  text-align: center;
}

/* 영문 색상 처리 */
.eng-gray {
  color: #777;
}

/* crud 또는 페이지 이동 버튼 */
.capsule {
  border-color: var(--btn_blue);
  background-color: var(--btn_blue);
  border-radius: 3em;
  box-shadow: 1px 1px 3px 1px rgb(0 0 0 / 10%);
  font-weight: 700;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  align-items: center;
  padding: 18px 24px;
  font-size: clamp(18px, 4vw, 24px);
}

.submit.page-gap {
  margin: 40px 0 80px 0;
}

/* 버튼 영역(가운데 정렬) + 파란 캡슐 버튼 */
ul[data-ctr-btn] {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 10px;
}

/* 하단 문단/버튼 여백 */
section [data-column-box] p {
  color: #6b7280;
}

/* 페이지 영역 별 간격 */
.page-gap {
  margin-bottom: 40px;
}

/* 박스형 */
.content_box {
  width: 100%;
  padding: 1rem;
  background-color: #f3f3f3;
  border-radius: 10px;
  text-align: left;
}

/* 소제목: 왼쪽 빨간 세로 바 + 간격 */
.cont_tit {
  position: relative;
  padding-left: 14px;
  font-weight: 500;
  font-size: clamp(1.1rem, 3vw, 1.7rem);
  margin-bottom: 20px;
  text-wrap-style: balance;
}
.cont_tit::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  bottom: 0.25em;
  width: 4px;
  background: linear-gradient(45deg, #47b8ea, #c4be0f, #ce4284);
  border-radius: 2px;
}
