/* ============================== */
/*             메인페이지            */
/* ============================== */
.main-section {
  padding: 80px 0;
}


.main-section .main-inner {
  width: 100%;
  max-width: 1320px;
  padding: 0 40px;
  margin: 0 auto;
  position: relative;
}

@media (max-width: 768px) {
  .main-section {
    padding: 60px 0;
  }

  .main-section .main-inner {
    padding: 0 20px;
  }
}

@media (max-width: 550px) {
  .main-section .main-inner {
    padding: 0;
  }
}

/* 메인 타이틀 */
.main-section .main-title {
  margin-bottom: 24px;
}

.main-section .main-title .title-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.main-section .main-title h2 {
  font-size: 26px;
  font-weight: 700;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  line-height: 1.4;
  word-break: keep-all;
}

.main-section .main-title h2 b {
  color: var(--color-red);
  display: inline-block;
}

.main-section .main-title h2 span img {
  height: 26px;
}

.main-section .mo-main-btn {
  display: none;
  margin-top: 20px;
}

.main-section .mo-main-btn .btn {
  width: 100%;
}

@media (max-width: 768px) {
  .main-section .main-title h2 {
    font-size: 20px;
  }

  .main-section .main-title h2 span img {
    height: 20px;
  }

  .main-section .mo-main-btn {
    display: inherit;
  }

  .main-section .main-title .pc-btn {
    display: none;
  }
}

@media (max-width: 550px) {
  .main-section .main-title {
    gap: 20px;
  }

  .main-section .main-title .btn-wrap .swiper-control-wrap {
    display: none;
  }
}

/* 메인 비주얼 */
.main-section.main-visual {
  padding-top: 40px;
  padding-bottom: 0;
}

.main-visual-swiper {
  width: 100%;
  position: relative;
  overflow: visible;
  padding: 0 40px !important;
}

.main-visual-swiper .swiper-slide {
  width: 100%;
  max-width: 1240px;
  box-sizing: inherit;
  border-radius: 24px;
  position: relative;
  overflow: hidden;
}

/* 2026-07 메인 개편: 기존 배너 내부 여백 및 최대 폭 해제 */
body.is-main .main-visual-swiper {
  padding-right: 0 !important;
  padding-left: 0 !important;
  overflow: hidden;
}

body.is-main .main-visual-swiper .swiper-slide {
  max-width: none;
  border-radius: 0;
}

.main-visual-swiper .swiper-slide .banner-img {
  position: relative;
  width: 100%;
  padding-top: 35%;
  overflow: hidden;
  border-radius: 24px;
}

.main-visual-swiper .swiper-slide .banner-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .main-visual-swiper {
    padding: 0 20px !important;
  }

  .main-visual-swiper .swiper-slide .banner-img {
    padding-top: 78.125%;
  }
}

/* 메인 공지 */
.main-section.main-notice {
  padding-top: 60px;
}

.main-notice .notice-box {
  background-color: var(--color-gray-100);
  border-radius: 12px;
  padding: 16px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.main-notice .notice-box .box-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
  flex: 1;
}

.main-notice .notice-box .megaphone {
  height: 40px;
}

.main-notice .notice-box .notice-title {
  font-size: 18px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-notice .notice-box .notice-title span {
  display: inline-block;
  margin-right: 4px;
}

.main-notice .btn-wrap .btn-icon {
  width: 24px;
  height: 24px;
}

.main-notice .btn-wrap .btn-icon i {
  font-size: 18px;
}

@media (max-width: 768px) {
  .main-section.main-notice {
    padding-top: 30px;
  }

  .main-notice .inner {
    padding: 0;
  }

  .main-notice .notice-box {
    border-radius: 0px;
    padding: 16px 20px;
    gap: 12px;
  }

  .main-notice .notice-box .megaphone {
    height: 28px;
  }

  .main-notice .notice-box .notice-title {
    font-size: 16px;
  }
}

@media (max-width: 550px) {
  .main-notice .btn-wrap a.down,
  .main-notice .btn-wrap a.up {
    display: none;
  }
}

/* 메인 온라인 클래스 */
.main-section.main-online-class {
  padding: 0;
}

.main-class-swiper,
.main-classplus-swiper {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.main-class-swiper .swiper-slide,
.main-classplus-swiper .swiper-slide {
  overflow: hidden;
}

@media (max-width: 550px) {
  .main-class-swiper,
  .main-classplus-swiper {
    padding: 0 20px;
  }
}

/* 메인 맞춤형 컨설팅 */
.main-section.main-consulting {
  padding: 100px 0;
  background: linear-gradient(
    to right,
    rgba(25, 63, 154, 0.1),
    rgba(87, 25, 154, 0.1)
  );
}

.main-consulting .consultant-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.main-consulting .consultant-list .consultant-card {
  width: 100%;
  padding: 30px 0;
  border-radius: 12px;
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.main-consulting .consultant-list .consultant-card .card-img {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  overflow: hidden;
  background-color: #d2d2d2;
}

.main-consulting .consultant-list .consultant-card .card-img img {
  width: 100%;
  height: 100%;
}

.main-consulting .consultant-list .consultant-card .card-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.main-consulting .consultant-list .consultant-card .card-info h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.main-consulting .consultant-list .consultant-card .card-info h3 span {
  color: var(--color-gray-700);
  font-weight: 400;
}

.main-consulting .consultant-list .consultant-card .card-info p {
  color: var(--color-gray-700);
  font-size: 14px;
}

.main-consulting .btn.fill.primary {
  background-color: var(--color-primary-100);
  color: var(--color-primary);
}

@media (max-width: 1024px) {
  .main-consulting .consultant-list {
    grid-template-columns: repeat(3, 1fr);
  }

  .main-consulting .consultant-list .consultant-card:nth-child(n + 7) {
    display: none;
  }
}

@media (max-width: 768px) {
  .main-section.main-consulting {
    padding: 60px 0;
  }

  .main-consulting .consultant-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .main-consulting .consultant-list .consultant-card:nth-child(n + 5) {
    display: none;
  }
}

@media (max-width: 550px) {
  .main-consulting .consultant-list .consultant-card {
    padding: 30px 20px;
  }

  .main-consulting .consultant-list .consultant-card .card-img {
    width: 100px;
    height: 100px;
  }

  .main-consulting .consultant-list .consultant-card .card-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }

  .main-consulting .consultant-list .consultant-card .card-info h3 {
    font-size: 16px;
  }

  .main-consulting .consultant-card .btn-wrap {
    flex-direction: column;
    width: 100%;
  }

  .main-consulting .btn-wrap a {
    width: 100%;
  }
}

@media (max-width: 375px) {
  .main-consulting .consultant-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 메인 자소서 메이커 */
.main-section.main-maker {
  padding: 120px 0;
  background-color: var(--color-primary-50);
}

.main-maker .maker-wrap {
  display: flex;
  justify-content: space-between;
}

.main-maker .maker-left {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.main-section.main-maker .main-title {
  margin-bottom: 0;
}

.main-maker .maker-wrap .maker-left .maker-title h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.4;
}

.main-maker .maker-wrap .maker-left .maker-title h3 span {
  display: inline-block;
  color: var(--color-primary-500);
}

.main-maker .maker-wrap .maker-left .maker-title h2 {
  font-family: "RiaSans-ExtraBold";
  font-size: 28px;
  line-height: 1.4;
  margin: 8px 0 24px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.main-maker .maker-wrap .maker-left .maker-title p {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
}

.main-maker .maker-wrap .maker-left .maker-title p span {
  display: block;
}

.main-maker .maker-wrap .maker-left .btn {
  align-self: flex-start;
}

.main-maker .maker-wrap .maker-right > p {
  font-family: "Ownglyph_corncorn-Rg";
  font-size: 24px;
  margin-bottom: 24px;
  text-align: center;
}

.main-maker .maker-wrap .maker-right > p span {
  display: inline-block;
  color: var(--color-primary-500);
}

.main-maker .maker-wrap .maker-right .step-list {
  display: flex;
  gap: 20px;
  padding-top: 16px;
}

.main-maker .maker-wrap .maker-right .step-list .step-item {
  width: 220px;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-400);
  border-radius: 14px;
  padding: 40px 0 30px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}

.main-maker .maker-wrap .maker-right .step-list .step-item .step-number {
  background-color: var(--color-primary-500);
  border-radius: 999px;
  width: 100px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
}

.main-maker .maker-wrap .maker-right .step-list .step-item .step-number span {
  font-size: 14px;
  font-weight: 700;
  margin-right: 6px;
  color: var(--color-white);
}

.main-maker .maker-wrap .maker-right .step-list .step-item .step-number p {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-white);
}

.main-maker .maker-wrap .maker-right .step-list .step-item .title {
  font-family: "RiaSans-ExtraBold";
  font-size: 18px;
}

.main-maker .maker-wrap .maker-right .step-list .step-item .title.mo {
  display: none;
}

.main-maker .maker-wrap .maker-right .step-list .step-item .item-img {
  height: 100px;
  margin: 10px 0 14px 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.main-maker .maker-wrap .maker-right .step-list .step-item .item-img img {
  height: 90px;
}

.main-maker .maker-wrap .maker-right .step-list .step-item p {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
}

@media (max-width: 1320px) {
  .main-maker .maker-wrap {
    flex-direction: column;
    gap: 60px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .main-section.main-maker {
    padding: 60px 0;
  }

  .main-maker .maker-left {
    gap: 30px;
  }

  .main-maker .maker-wrap .maker-left .maker-title h2 {
    font-size: 20px;
  }

  .main-maker .maker-wrap .maker-left .maker-title h1 {
    font-size: 22px;
    margin-top: 4px;
    margin-bottom: 20px;
  }

  .main-maker .maker-wrap .maker-left .maker-title p {
    font-size: 16px;
  }

  .main-maker .maker-wrap .maker-left .btn {
    align-self: inherit;
    font-size: 14px;
    height: 40px;
    padding: 0 16px;
    min-width: 80px;
  }

  .main-maker .maker-wrap .maker-right > p {
    font-size: 20px;
  }

  .main-maker .maker-wrap .maker-right .step-list {
    flex-direction: column;
    gap: 36px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item {
    text-align: center;
    padding: 34px 20px 24px 20px;
    flex-direction: row;
    justify-content: center;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .step-number {
    width: 90px;
    height: 28px;
    top: -14px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .step-number span {
    font-size: 12px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .step-number p {
    font-size: 16px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .text-wrap {
    text-align: start;
    margin-left: 20px;
    width: 160px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .title {
    display: none;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .title.mo {
    display: inherit;
    margin-bottom: 6px;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .item-img {
    margin: 0;
  }
}

@media (max-width: 550px) {
  .main-maker .maker-wrap .maker-left .maker-title h1 {
    gap: 0;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item {
    flex-direction: column;
  }

  .main-maker .maker-wrap .maker-right .step-list .step-item .text-wrap {
    text-align: center;
    margin-left: 0;
    margin-top: 20px;
  }
}

@media (max-width: 375px) {
  .main-maker .maker-wrap .maker-left .maker-title p span {
    display: initial;
  }
}

/* 메인 비교과 PLUS */
.main-plus .main-title-wrap .main-title i.up {
  width: 27px;
  height: 27px;
  background-image: url("../images/icon/icon-27-arrow-up.svg");
}

.main-plus-swiper {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .main-plus .main-title-wrap .main-title i.up {
    width: 21px;
    height: 21px;
  }
}

@media (max-width: 550px) {
  .main-plus-swiper {
    padding: 0 20px;
  }
}

/* 메인 배너 :: 기프트 */
.main-section.main-banner {
  padding-top: 20px;
}

.main-section.main-banner .banner-box {
  background: linear-gradient(
    45deg,
    rgba(255, 216, 229, 0.8),
    rgba(255, 242, 207, 0.8)
  );
  border-radius: 20px;
  padding: 60px 80px;

  position: relative;
}

.main-section.main-banner .banner-box .title {
  font-family: "RiaSans-ExtraBold";
  font-size: 26px;
  line-height: 1.4;
  color: #f05d76;
  margin-bottom: 24px;
  word-break: keep-all;
}

.main-section.main-banner .banner-box .title span {
  color: var(--color-primary);
  text-shadow: -2px -2px 0 white, 2px -2px 0 white, -2px 2px 0 white,
    2px 2px 0 white, 0px -2px 0 white, 0px 2px 0 white, -2px 0px 0 white,
    2px 0px 0 white;
}

.main-section.main-banner .banner-box .btn {
  background-color: transparent;
  border-color: #ff6264;
  color: #ff6264;
}

.main-section.main-banner .banner-box .banner-img {
  width: 320px;
  position: absolute;
  bottom: 40px;
  right: 80px;
}

@media (min-width: 769px) and (max-width: 1280px) {
  .main-section.main-banner .banner-box {
    padding-right: 31.3vw;
  }

  .main-section.main-banner .banner-box .banner-img {
    width: 25vw;
  }
}

@media (max-width: 768px) {
  .main-section.main-banner {
    padding-top: 0;
    padding-bottom: 100px;
  }

  .main-section.main-banner .banner-box {
    padding: 40px 48px;
  }

  .main-section.main-banner .banner-box .title {
    font-size: 20px;
  }

  .main-section.main-banner .banner-box .btn {
    font-size: 14px;
    height: 40px;
    padding: 0 16px;
    min-width: 80px;
  }

  .main-section.main-banner .banner-box .banner-img {
    width: 200px;
    right: 20px;
    bottom: -60px;
  }
}

@media (max-width: 550px) {
  .main-section.main-banner .banner-box {
    padding: 30px;
  }

  .main-section.main-banner .banner-box .title {
    font-size: 18px;
  }

  .main-section.main-banner .banner-box .banner-img {
    width: 160px;
  }
}

@media (max-width: 375px) {
  .main-section.main-banner .banner-box .banner-img {
    right: 0;
    bottom: -40px;
    width: 140px;
  }
}

/* 메인 전국대학일자리플러스센터 */
.main-section.main-college {
  background-color: var(--color-primary-50);
}

.main-college-swiper {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.main-college-swiper .swiper-slide {
  width: 190px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
}

.main-college-swiper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* ============================== */
/*             서브페이지            */
/* ============================== */
/* 공통 - 타이틀 */
.page-header {
  padding: 100px 0 60px 0;
  text-align: center;
}

.page-header h1 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 4px;
  display: inline-flex;
  font-family: 'Paperozi';
}

.page-header h1 i {
  font-size: 28px;
  margin-top: 1px;
}

.page-header p {
  font-size: 16px;
  margin-top: 12px;
  font-weight: 400;
  line-height: 1.4;
  word-break: keep-all;
}

@media (max-width: 768px) {
  .page-header {
    padding: 40px 0 40px 0;
  }

  .page-header h1 {
    font-size: 24px;
  }

  .page-header h1 i {
    font-size: 23px;
    margin: 0;
  }

  .page-header p {
    font-size: 16px;
  }
}

/* 공통 - 탭 */
.page-tab {
/*   margin-bottom: 60px; */
}

@media (max-width: 768px) {
  .page-tab {
    margin-bottom: 40px;
  }
}

/* 공통 - 박스 */
.page-summary .box {
  padding: 36px 60px;
  border-radius: 14px;
  position: relative;
  text-align: center;
}

/* 정보 */
.page-summary .box.gray {
  background-color: var(--color-gray-50);
}

.page-summary .info-box {
  display: flex;
  justify-content: center;
  text-align: center;
}

.page-summary .info-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 8px;
}

.page-summary .info-text .info-line-wrap {
  display: flex;
  gap: 6px 8px;
}

.page-summary .info-text p,
.page-summary .info-text p span {
  font-size: 20px;
  font-weight: 500;
  color: var(--color-gray-700);
  line-height: 1.4;
  word-break: keep-all;
}

.page-summary .info-line {
  display: flex;
  align-items: center;
  gap: 2px 8px;
  flex-wrap: wrap;
  justify-content: center;
}

.page-summary .info-line small,
.page-summary .info-line small span {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-700);
  word-break: keep-all;
}

@media (max-width: 768px) {
  .page-summary .box.gray {
    padding: 24px;
  }

  .page-summary .info-text p,
  .page-summary .info-text p span {
    font-size: 16px;
  }

  .page-summary .info-line small,
  .page-summary .info-line small span {
    font-size: 14px;
  }
}

@media (max-width: 650px) {
  .page-summary .info-text {
    gap: 14px;
  }

  .page-summary .info-text .info-line-wrap {
    flex-direction: column;
  }
}

/* 정보 - 스타일 */
.page-summary .info-text.coupon .d-day,
.page-summary .info-text.coupon .use-point {
  color: var(--color-red);
}

/* 검색 */
.page-summary .box.outline {
  border: 1px solid var(--color-gray-400);
}

.page-summary .search-area {
  display: inline-flex;
  justify-content: center;
}

.page-summary .search-area .search-wrap {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.page-summary .search-area .search-wrap.jbc {
  /* display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px; */
  display: grid;
  grid-template-columns: 2fr 2fr 1fr;
  align-items: center;
  gap:8px;
}

.page-summary .search-area .search-wrap.jbc .select-container{
	display: grid;
	grid-template-columns: 1fr 3fr;
	gap:10px;
}

.page-summary .search-area .search-wrap.jbc input{
	width: 100%;
}

.page-summary .search-area .search-wrap.jbc .search-box.jbc.jbc1{
	display: grid;
	grid-template-columns: 10fr 1fr 10fr;
	align-items: center;
}

.page-summary .search-area .search-box input {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-400);
}

.page-summary .search-area .search-box input::placeholder {
  color: var(--color-gray-600);
}

.page-summary .search-area .search-box input:focus {
  outline: 1px solid var(--color-black);
}

.page-summary .search-area .detail-btn {
  position: absolute;
  right: 60px;
  top: 40px;
}

.page-summary .search-area .detail-btn i {
  font-size: 20px;
}



@media (max-width: 960px) {
  .page-summary .search-area {
    flex-direction: column;
    gap: 8px;
  }

  .page-summary .search-area .detail-btn {
    position: inherit;
    top: inherit;
    right: inherit;
  }
}

@media (max-width: 768px) {
  .page-summary .box.outline {
    padding: 0;
    border: none;
    border-radius: 0;
  }

  .page-summary .search-area {
    width: 100%;
  }
  
  .page-summary .box.gray .search-wrap {
    flex-direction: column;
  }
	
  .page-summary .search-area .search-wrap.jbc{
  	display: flex;
  }
  
  .page-summary .search-area .search-wrap.jbc .select-container{
    width:100%;
  	display: grid;
  	grid-template-columns: 1.2fr 3fr;
  }
  
  .page-summary .search-area .search-wrap.jbc .select-container .search-box.jbc input{
    width: 100%;
  	padding: 0;
  	padding-left: 16px;
  }
  
  .page-summary .search-area .search-wrap.jbc .search-box.jbc.jbc1{
  	display: flex;
  	gap:5px;
  }

  .page-summary .box.gray .search-wrap .select-box {
    width: 100%;
    padding: 0 16px;
    background-position: right 16px center;
  }
  

  .page-summary .search-area .select-wrap .select-box {
    width: 100px;
  }

  .page-summary .search-area .search-box {
    width: 100%;
  }
  
  .page-summary .search-area .search-box.jbc span{
  	display: none
  }
  
}

@media (max-width: 1480px) {
  .page-summary .search-area.jbc{
	width: 100%;
  }
  .page-summary .search-area.jbc .search-wrap.jbc {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .page-summary .search-area .search-wrap.jbc .select-container{
    width:100%;
  	display: grid;
  	grid-template-columns: 1.2fr 3fr;
  }
  
  .page-summary .search-area .search-wrap.jbc .select-container .search-box.jbc input{
    width: 100%;
  	padding: 0;
  	padding-left: 16px;
  }
  
  .page-summary .search-area .search-wrap.jbc .search-box.jbc.jbc1{
  	display: flex;
  	gap:5px;
  }

  .page-summary .box.gray .search-wrap.jbc .select-box {
    width: 100%;
    padding: 0 16px;
    background-position: right 16px center;
  }
  

  .page-summary .search-area .select-wrap.jbc .select-box {
    width: 100px;
  }

  .page-summary .search-area.jbc .search-box {
    width: 100%;
  }
  
  .page-summary .search-area.jbc .search-box.jbc span{
  	display: none
  }
  
}

/* 상세검색 */
/* pc */
.page-summary .filter-group {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  display: none;
  text-align: left;
}

.page-summary .filter-group .filter-row {
  display: flex;
  align-items: center;
}

.page-summary .filter-group .filter-row .label-title {
  font-size: 16px;
  font-weight: 600;
  width: 100px;
}

.page-summary .filter-group .filter-row .select-wrap,
.page-summary .filter-group .filter-row .wrapper {
  flex: 1;
}

.page-summary .filter-group .filter-row .select-wrap .select-box {
  width: 100%;
}

.page-summary .filter-group .filter-row .wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* mo */
.page-summary .mo-filter-group {
  text-align: left;
  position: fixed;
  z-index: 99999;
  bottom: 0;
  left: 0;
  background-color: var(--color-white);
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  box-shadow: 0 -2px 4px #0000000d;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  display: none;
  outline: 4px solid lime;
}

.page-summary .mo-filter-group .filter-head {
  height: 60px;
  border-bottom: 1px solid var(--color-gray-400);
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.page-summary .mo-filter-group .filter-head h2 {
  font-size: 20px;
  font-weight: 700;
}

.page-summary .mo-filter-group .filter-head .head-btn {
  display: flex;
  align-items: center;
  gap: 14px;
}

.page-summary .mo-filter-group .filter-head .head-btn .close {
  width: 24px;
  height: 24px;
}

.page-summary .mo-filter-group .filter-head .head-btn .close i {
  font-size: 22px;
}

.page-summary .mo-filter-group .filter-scroll-area {
  flex: 1;
  overflow-y: auto;
}

.page-summary .mo-filter-group .filter-scroll-area .row-wrap {
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.page-summary .mo-filter-group .filter-scroll-area .row-wrap .filter-row {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.page-summary
  .mo-filter-group
  .filter-scroll-area
  .row-wrap
  .filter-row
  .label-title {
  font-size: 16px;
  font-weight: 600;
}

.page-summary
  .mo-filter-group
  .filter-scroll-area
  .row-wrap
  .filter-row
  .select-wrap,
.page-summary
  .mo-filter-group
  .filter-scroll-area
  .row-wrap
  .filter-row
  .wrapper {
  width: 100%;
}

.page-summary
  .mo-filter-group
  .filter-scroll-area
  .row-wrap
  .filter-row
  .select-wrap
  .select-box {
  width: 100%;
}

.page-summary
  .mo-filter-group
  .filter-scroll-area
  .row-wrap
  .filter-row
  .wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 768px) {
  .page-summary .mo-filter-group .filter-head {
    height: 52px;
  }

  .page-summary .mo-filter-group .filter-head h2 {
    font-size: 18px;
  }

  .page-summary .mo-filter-group .filter-head .head-btn .close i {
    font-size: 20px;
  }

  .page-summary
    .mo-filter-group
    .filter-scroll-area
    .row-wrap
    .filter-row
    .label-title {
    font-size: 14px;
  }
}

/* 공통 - 리스트 탑 */
.list-header {
  margin-top: 40px;
  margin-bottom: 20px;
}

.list-header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.list-header .list-count {
  font-size: 16px;
  color: var(--color-gray-700);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 2px;
}

.list-header .list-count .number,
.list-header .list-count .current-page {
  color: var(--color-primary-500);
  font-weight: 600;
  margin-left: 6px;
}

.list-header .select-wrap .select-box {
  width: 100px;
}

@media (max-width: 768px) {
  .list-header {
    margin-bottom: 14px;
  }

  .list-header .list-count {
    font-size: 14px;
  }
}

/* 공통 - 라인형 카드ui  */
.card-list-wrap {
  display: grid;
  gap: 20px;
}

/* 
그리드 3개 시
960px - 2개
550px - 1개
*/

.card-list-wrap .card-link.line .card-main .card-img .tag {
  left: inherit;
  right: 10px;
}

/* 공통 - 게시글 상세 */
.post-wrap {
  width: 100%;
  border: 1px solid var(--color-black);
  border-left: none;
  border-right: none;
}

.post-wrap .post-header {
  background-color: var(--color-gray-50);
  border-bottom: 1px solid var(--color-gray-400);
  padding: 20px;
}

.post-wrap .post-header .header-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.post-wrap .post-header .title-wrap h1 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  word-break: keep-all;
}

.post-wrap .post-header .title-wrap .sub-text {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-gray-800);
  line-height: 1.4;
  margin-top: 10px;
  word-break: keep-all;
}

.post-wrap .post-info {
  padding: 20px;
  border-bottom: 1px solid var(--color-gray-400);
}

.post-wrap .post-info .info-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 24px;
}

.post-wrap .post-info .info-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.post-wrap .post-info .info-item dt,
.post-wrap .post-info .info-item dd {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-gray-700);
}

.post-wrap .post-info .info-item dt {
  font-weight: 600;
  color: var(--color-black);
}

.post-wrap .post-attachments {
  padding: 20px;
  border-bottom: 1px solid var(--color-gray-400);
  display: flex;
  align-items: center;
  gap: 14px;
}

.post-wrap .post-attachments h2 {
  font-size: 16px;
  font-weight: 600;
  width: 80px;
}

.post-wrap .post-attachments ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.post-wrap .post-attachments ul li a {
  font-size: 16px;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.post-wrap .post-attachments ul li a i {
  font-size: 14px;
}

.post-wrap .post-attachments ul li a span {
  color: var(--color-gray-600);
}

.post-wrap .post-body {
  padding: 60px 20px;
  border-bottom: 1px solid var(--color-gray-400);
}

/* 추후 삭제 */
.post-wrap .post-body .content-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.post-wrap .post-body .content-img {
  max-width: 100%;
  min-width: 200px;
  margin-top: 30px;
}
/* --------------------------------- */

.post-wrap .post-tags {
  padding: 20px;
  border-bottom: 1px solid var(--color-gray-400);
}

@media (max-width: 768px) {
  .post-wrap .post-header {
    padding: 20px 16px;
  }

  .post-wrap .post-header .title-wrap h1 {
    font-size: 18px;
  }

  .post-wrap .post-header .title-wrap .sub-text {
    font-size: 14px;
  }

  .post-wrap .post-info {
    padding: 20px 16px;
  }

  .post-wrap .post-info .info-list {
    gap: 14px 24px;
  }

  .post-wrap .post-info .info-item dt,
  .post-wrap .post-info .info-item dd {
    font-size: 14px;
  }

  .post-wrap .post-attachments {
    padding: 20px 16px;
  }

  .post-wrap .post-attachments h2 {
    font-size: 14px;
    width: 60px;
  }

  .post-wrap .post-attachments ul li a {
    font-size: 14px;
  }

  .post-wrap .post-attachments ul li a i {
    font-size: 12px;
  }

  .post-wrap .post-body {
    padding: 40px 16px;
  }

  /* 추후 삭제 */
  .post-wrap .post-body .content-text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
  }

  .post-wrap .post-body .content-img {
    max-width: 100%;
    min-width: 200px;
    margin-top: 30px;
  }
  /* --------------------------------- */
}

/*ckeditor 작성 게시물 view용 */
.post-wrap .post-body p{min-height:32px;line-height:22px;}
.post-wrap .post-body p strong{font-weight:700}
.post-wrap .post-body p a u{color:var(--color-primary-500)}

.post-wrap .post-body div{min-height:32px;line-height:22px;}
.post-wrap .post-body *{color:inherit}
.post-wrap .post-body p{min-height:32px;line-height:22px;}
.post-wrap .post-body p strong{font-weight:700}
.post-wrap .post-body p a u{color:var(--color-primary-500)}


@media (max-width: 550px) {
  .post-wrap .post-attachments {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* 공통 - 페이지 하단 버튼 */
.action-btn {
  margin-top: 60px;
}

.action-btn .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.action-btn .btn-wrap {
  justify-content: center;
}

@media (max-width: 768px) {
  .action-btn {
    margin-top: 40px;
  }
}

/* 공통 - 툴팁 */
/* 툴팁 */
.tooltip-wrap {
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-block;
  z-index: 100;
}

.tooltip-wrap .tooltip-btn {
  border: 1px solid var(--color-gray-400);
  background-color: var(--color-white);
  border-radius: 999px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tooltip-wrap .tooltip-btn i {
  font-size: 12px;
}

.tooltip-wrap .tooltip-box {
  position: absolute;
  top: -8px;
  left: -96px;
  transform: translateX(-50%);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-400);
  border-radius: 6px;
  padding: 10px 14px;
  width: max-content;
  max-width: 160px;
  white-space: normal;
  word-break: keep-all;
  display: none;
}

.tooltip-wrap .tooltip-box.active {
  position: absolute;
  top: -8px;
  left: -96px;
  transform: translateX(-50%);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-400);
  border-radius: 6px;
  padding: 10px 14px;
  width: max-content;
  /* max-width: 160px; */
  max-width: 250px;
  white-space: normal;
  word-break: keep-all;
  display: block;
}

/* 꼬리 (삼각형) 추가 */
.tooltip-wrap .tooltip-box::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 100%;
  transform: translateX(-50%) rotate(135deg);
  width: 14px;
  height: 14px;
  background-color: var(--color-white);
  border-left: 1px solid var(--color-gray-400);
  border-top: 1px solid var(--color-gray-400);
  z-index: -1;
  border-top-left-radius: 4px;
}

.tooltip-wrap .tooltip-box p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  white-space: pre-line;
}

/* 컨설팅 툴팁 */
.cnslt-tooltip-wrap {
  position: absolute;
  right: 50px;
  display: inline-block;
  z-index: 100;
  top: 55px;
  
}

.cnslt-tooltip-wrap .cnslt-tooltip-btn {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  color: var(--color-primary-400);
}

.cnslt-tooltip-wrap .cnslt-tooltip-box {
  position: absolute;
  top: -8px;
  left: -96px;
  transform: translateX(-50%);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-400);
  border-radius: 6px;
  padding: 10px 14px;
  width: max-content;
  max-width: 160px;
  white-space: normal;
  word-break: keep-all;
  display: none;
}

.cnslt-tooltip-wrap .cnslt-tooltip-box.active {
  position: absolute;
  top: -6px;
  left: -116px;
  transform: translateX(-50%);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-400);
  border-radius: 6px;
  padding: 10px 14px;
  width: max-content;
  /* max-width: 160px; */
  max-width: 250px;
  white-space: normal;
  word-break: keep-all;
  display: block;
}

/* 꼬리 (삼각형) 추가 */
.cnslt-tooltip-wrap .cnslt-tooltip-box::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 100%;
  transform: translateX(-50%) rotate(135deg);
  width: 14px;
  height: 14px;
  background-color: var(--color-white);
  border-left: 1px solid var(--color-gray-400);
  border-top: 1px solid var(--color-gray-400);
  z-index: -1;
  border-top-left-radius: 4px;
}

.cnslt-tooltip-wrap .cnslt-tooltip-box p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  white-space: pre-line;
}

.cnslt-tooltip-wrap .cnslt-tooltip-box i {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  white-space: pre-line;
  color: var(--color-gray-700);
}

/* 공통 - 내용 없을때 */
.no-content {
  width: 100%;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.no-content p {
  font-weight: 400;
  color: var(--color-gray-700);
  text-align: center;
}

/* ============================== */
/*           비교과 플러스           */
/* ============================== */
/* 리스트 */
.plus-list .card-list-wrap {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 960px) {
  .plus-list .card-list-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 550px) {
  .plus-list .card-list-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* =========================================================
   신청현황 카드
========================================================= */
.status-card {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: stretch;
  overflow: hidden;
  gap: 20px;
}

.status-card__thumb {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.status-card__thumb-img {
  width: 100%;
  flex: 1;
  padding: 0 60px;
  background-color: var(--color-gray-50);
  display: flex;
  justify-content: center;
  align-items: center;
}

.status-card__thumb-img img {
  width: 100%;
}

.status-card__coupon-name {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.status-card__coupon-name span {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-primary);
}

.status-card__coupon-name p {
  font-size: 18px;
  font-weight: 700;
}

.status-card__body {
  grid-column: span 8;
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
}

.status-card__head {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.status-card__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 4px;
}

.status-card__desc {
  font-size: 16px;
  color: var(--color-gray-600);
}

.status-card__info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--color-border);
}

.status-card__info-item {
  padding: 20px;
  border-bottom: 1px solid var(--color-border);
}

.status-card__info-item:nth-child(odd) {
  border-right: 1px solid var(--color-border);
  padding-right: 30px;
  padding-left: 0;
}

.status-card__info-item:nth-child(even) {
  padding-left: 30px;
  padding-right: 0;
}

.status-card__info-item dt {
  color: var(--color-gray-600);
  margin-bottom: 8px;
}

.status-card__info-item dd {
  font-weight: 500;
}

.status-card__coupon-num {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: var(--tag-blue);
}

.status-card__copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  height: 28px;
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  background-color: #fff;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-black);
  line-height: 1;
  transition: border-color 0.2s ease;
}

.status-card__copy-btn:hover {
  border-color: var(--color-black);
}

.status-card__copy-btn img {
  width: 16px;
  height: 16px;
}

.status-card__link {
  text-align: end;
}

@media (max-width: 1279px) {
  .status-card__thumb-img {
    padding: 0 30px;
  }
}

@media (max-width: 1023px) {
  .status-card__thumb,
  .status-card__body {
    grid-column: 1 / -1;
  }

  .status-card__thumb {
    flex-direction: row;
  }

  .status-card__thumb-img {
    width: 50%;
    padding: 40px;
  }

  .status-card__coupon-name {
    width: 50%;
    align-self: center;
    padding: 40px;
  }
}

@media (max-width: 767px) {
  .status-card {
    border-radius: var(--radius-xl);
  }

  .status-card__thumb,
  .status-card__body {
    grid-column: 1 / -1;
  }

  .status-card__thumb {
    flex-direction: column;
  }

  .status-card__thumb-img {
    width: 100%;
    padding: 40px;
  }

  .status-card__coupon-name {
    width: 100%;
    padding: 20px;
  }

  .status-card__head {
    flex-direction: column;
  }

  .status-card__body {
    padding: 24px 20px;
    gap: 28px;
  }

  .status-card__title {
    font-size: 20px;
  }

  .status-card__info {
    grid-template-columns: repeat(1, 1fr);
  }

  .status-card__info-item {
    padding: 16px 0 !important;
    border-right: none !important;
  }

  .status-card__link {
    text-align: center;
  }
}


/* ============================== */
/*            기프트 박스            */
/* ============================== */
/* 신청하기 */
.gift-list {
  margin-top: 40px;
}

.gift-list .card-list-wrap {
  grid-template-columns: repeat(3, 1fr);
}

.gift-list .card-link.line {
  overflow: inherit;
}

.gift-list .card-main .card-info {
  border-bottom-right-radius: 12px;
  border-bottom-left-radius: 12px;
}

.gift-list .card-main .card-info .title {
  width: calc(100% - 30px);
  height: calc(1.4em * 1);
  -webkit-line-clamp: 1;
}

.gift-list .card-link.line .card-meta {
  margin-bottom: 0;
}

.gift-list .card-link.line .card-meta .act-blue {
  color: var(--color-primary-500);
}

.gift-list .card-link.line .card-meta .act-red {
  color: var(--color-red);
}

@media (max-width: 960px) {
  .gift-list .card-list-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 550px) {
  .gift-list .card-list-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 신청 - 팝업 */
.gift-list .modal-popup table .bullet-list {
  margin-bottom: 10px;
}

.gift-list .modal-popup table .bullet-list li {
  color: var(--color-gray-700);
}

/* ============================== */
/*           온라인 클래스           */
/* ============================== */
/* 리스트 */
.online-class .card-list-wrap {
  grid-template-columns: repeat(4, 1fr);
}

.online-class .card-link .card-info .attend-tag {
  position: absolute;
  right: 20px;
  top: -46px;
}

.online-class .card-link .card-info .attend-tag img {
  height: 52px;
}

.online-class .card-link:hover .attend-tag img {
  transform: none;
}

.online-class .card-link footer {
  margin-top: 20px;
}

.online-class .card-link footer .point,
.online-class .card-link footer .point span {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-red);
}

.online-class .card-link footer .tag-box-wrap {
  margin-top: 10px;
}

@media (max-width: 1240px) {
  .online-class .card-list-wrap {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 960px) {
  .online-class .card-list-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .online-class .card-link .card-info .attend-tag {
    top: -40px;
  }

  .online-class .card-link .card-info .attend-tag img {
    height: 40px;
  }
}

@media (max-width: 550px) {
  .online-class .card-list-wrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 강의 상세 */
.lecture-box-wrap {
  display: flex;
  gap: 20px;
}

/* 좌측 */
.lecture-box-wrap .lecture-box {
  flex: 1;
  border: 1px solid var(--color-gray-400);
  border-radius: 12px;
}

.lecture-box-wrap .lecture-box .lecture-img {
  position: relative;
  width: 100%;
  padding-top: 70%;
  overflow: hidden;
  border-radius: 10px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.lecture-box-wrap .lecture-box .lecture-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* height: 100%; */ /* 강좌 상세 와이드 이미지가 정상출력되지않아 width 만 남김 */
  object-fit: cover;
}

.lecture-box-wrap .lecture-detail {
  padding: 40px 30px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.lecture-box-wrap .lecture-box .section-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 14px;
}

.lecture-box-wrap .lecture-box .section-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  word-break: keep-all;
}

.lecture-box-wrap .lecture-box .file-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.lecture-box-wrap .lecture-box .file-list .btn i {
  font-size: 20px;
  margin-top: 3px;
}

.lecture-box-wrap .lecture-box .file-list .btn .capacity {
  color: var(--color-gray-600);
  font-weight: 400;
}

/* 우측 */
.lecture-box-wrap .lecture-info {
  width: 360px;
  border: 1px solid var(--color-gray-400);
  border-radius: 12px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: fit-content;
}

.lecture-box-wrap .lecture-info .lecture-header span {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 500;
}

.lecture-box-wrap .lecture-info .lecture-header h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  word-break: keep-all;
}

.lecture-box-wrap .lecture-info .instructor {
  padding: 24px 0;
  border: 1px solid var(--color-gray-400);
  border-left: none;
  border-right: none;
}

.lecture-box-wrap .lecture-info .instructor .name {
  font-size: 16px;
  font-weight: 700;
}

.lecture-box-wrap .lecture-info .instructor .position {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-gray-700);
  margin-top: 10px;
}

.lecture-box-wrap .lecture-info .lecture-meta li:first-child {
  border-bottom: 1px solid var(--color-gray-400);
  padding-bottom: 24px;
  margin-bottom: 24px;
}

.lecture-box-wrap .lecture-info .lecture-meta .time {
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 6px;
}

.lecture-box-wrap .lecture-info .lecture-meta .time span {
  font-weight: 500;
  color: var(--color-gray-700);
}

.lecture-box-wrap .lecture-info .lecture-meta .point {
  font-size: 16px;
  font-weight: 600;
}

.lecture-box-wrap .lecture-info .lecture-meta .point span {
  font-weight: 700;
  color: var(--color-red);
}

.lecture-box-wrap .lecture-info .tag {
  color: var(--color-primary-800);
  background-color: var(--color-primary-50);
  padding: 8px 16px;
  border-radius: 999px;
}

@media (max-width: 960px) {
  .lecture-box-wrap {
    flex-direction: column-reverse;
  }

  .lecture-box-wrap .lecture-info {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .lecture-box-wrap .lecture-info {
    padding: 24px 20px;
  }

  .lecture-box-wrap .lecture-info .lecture-header h3 {
    font-size: 18px;
  }

  .lecture-box-wrap .lecture-detail {
    padding: 24px 20px;
    gap: 30px;
  }

  .lecture-box-wrap .lecture-box .section-title {
    font-size: 18px;
  }

  .lecture-box-wrap .lecture-box .section-desc {
    font-size: 14px;
  }

  .lecture-box-wrap .lecture-box .file-list .btn i {
    font-size: 18px;
  }
}


/* =========================================================
   서비스 CTA
========================================================= */
.fixed-cta {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
}

.fixed-cta__inner {
  width: 520px;
  background-color: #fff;
  padding: 20px 28px;
  border: 1px solid var(--color-primary);
  box-shadow: 0 0 20px #0000001f;
  border-radius: var(--radius-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.fixed-cta .fixed-cta__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.fixed-cta .fixed-cta__info > span {
  color: var(--color-gray-500);
}

.fixed-cta .fixed-cta__info p {
  font-size: 20px;
  color: var(--color-black);
  font-weight: 700;
}

.fixed-cta .fixed-cta__info p span {
  margin-right: 6px;
  color: var(--color-primary);
}

.fixed-cta .btn {
  padding: 0 24px;
  height: 60px;
  transition: background-color 0.2s ease;
}

.fixed-cta .btn:hover {
  background-color: var(--color-primary-600);
}

@media (max-width: 767px) {
  .fixed-cta {
    left: 20px;
    right: 20px;
    transform: inherit;
  }

  .fixed-cta__inner {
    width: 100%;
    padding: 16px;
  }

  .fixed-cta .btn {
    padding: 0 16px;
    height: 50px;
  }

  .fixed-cta .fixed-cta__info > span {
    font-size: 15px;
  }

  .fixed-cta .fixed-cta__info p {
    font-size: 18px;
  }

  .fixed-cta .fixed-cta__info p span {
    margin-right: 6px;
    color: var(--color-primary);
  }
}

.flex{
	display: flex;
}

.gap-4 {
    gap: 1rem;
}

@media (max-width: 550px) {
  .fixed-cta .complete-icon {
    display: none;
  }
}


/* =========================================================
   팝업 (모달)
========================================================= */
body:has(.modal.is-open) {
  overflow: hidden;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background-color: #1f212499;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.25s ease,
    visibility 0.25s ease;
}

.modal.is-open {
  opacity: 1 !important;
  visibility: visible !important;
}

.modal__dialog {
  display: flex;
  flex-direction: column;
  width: 520px;
  max-width: 100%;
  max-height: min(860px, calc(100vh - 40px));
  background-color: #fff;
  border-radius: var(--radius-xl);
  overflow: hidden;
  transform: translateY(12px);
  transition: transform 0.25s ease;
}

.modal.is-open .modal__dialog {
  transform: translateY(0);
}

/* 헤드 (타이틀 영역) */
.modal__head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 20px 12px 28px;
  border-bottom: 1px solid var(--color-border);
}

.modal__title {
  font-size: 20px;
  font-weight: 700;
}

.modal__close {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}

.modal__close .icon {
  width: 24px;
  height: 24px;
}

/* 바디 (컨텐츠 영역 - 넘치면 여기만 스크롤) */
.modal__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* 모달 상단 요약 박스 (공통) */
.modal-summary {
  background-color: var(--color-gray-50);
  border-radius: var(--radius-lg);
  padding: 20px;
}

.modal-summary__head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.modal-summary__head h4 {
  font-size: 18px;
  font-weight: 700;
}

.modal-summary__head .status-badge {
  margin-bottom: 0;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  font-size: 14px;
  font-weight: 500;
  border-radius: var(--radius-full);
  height: 28px;
  padding: 0 12px;
  margin-bottom: 12px;
}

.status-badge--attend {
  background-color: var(--color-secondary-100);
  color: var(--color-secondary-600);
}

.status-badge--absent {
  background-color: #fee4e4;
  color: var(--color-red);
}

.modal-summary__desc {
  margin-top: 8px;
  font-size: 15px;
  font-weight: 500;
  color: var(--color-gray-600);
}


.video-con{
    width: 950px;
    height: 700px;
}

.video-dody{
	display: flex;
    justify-content: center;
    align-items: center;
}

.video-item{
   width: 800px;
    height: 500px;
}

.img-video{
	padding: 0px !important;
    width: 100% !important;
    height: 100% !important;
    top: 0px !important;
}

.coupon-thumb__img {
  width: 100%;
  aspect-ratio: 1 / 0.5;
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  background-color: var(--color-gray-50);
  padding: 0 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.coupon-thumb__img img {
  width: 100%;
}

.coupon-thumb__title {
  font-size: 18px;
  font-weight: 700;
  margin-top: 20px;
}

.coupon-thumb__desc {
  display: flex;
  gap: 6px;
  font-size: 14px;
  color: var(--color-gray-500);
  margin-top: 8px;
}

.coupon-thumb__desc-icon {
  flex-shrink: 0;
  font-size: 12px;
}

.icon-notice {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  padding-top: 8px;
}

.icon-notice img {
  width: 60px;
  height: 60px;
}

.icon-notice p {
  font-size: 20px;
  font-weight: 700;
}

.icon-notice p strong {
  color: var(--color-red);
  font-weight: 700;
}

.data-list.box {
  background-color: var(--color-gray-50);
  padding: 4px 20px;
  border-radius: var(--radius-lg);
}

.data-list.box .data-list__row:first-child {
  border-top: none;
}

.data-list.box .data-list__row:last-child {
  border-bottom: none;
}

.data-list__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  border-bottom: 1px solid var(--color-border);
}

.data-list__row:first-child {
  border-top: 1px solid var(--color-border);
}

.data-list__row dt {
  font-weight: 500;
  color: var(--color-black);
}

.data-list__value {
  font-weight: 600;
}

.data-list__value span {
  font-size: 15px;
  font-weight: 400;
  color: var(--color-gray-500);
  margin-left: 4px;
}

.data-list__value--primary {
  color: var(--color-primary);
}

.data-list__value--red {
  color: var(--color-red);
}

.modal__body .guide {
  background-color: var(--color-gray-50);
  padding: 20px;
  border-radius: var(--radius-lg);
}

.modal__body .guide > p {
  font-size: 16px;
  font-weight: 600;
}

.modal__body .guide ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
/*   list-style: disc; */
  padding-left: 20px;
}

.modal__body .guide ul li {
  font-size: 15px;
  list-style: disc;
}

.modal__body .guide ul li strong {
  font-weight: 700;
}

/* 푸터 (버튼 영역) */
.modal__foot {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 28px 28px 28px;
  border-top: 1px solid var(--color-border);
}

.modal__foot .btn {
  flex: 1;
  justify-content: center;
  border-radius: 10px;
}

.cncl_btn{
	display: none;
}

@media (max-width: 767px) {
  .modal__head {
    padding-left: 20px;
    padding-right: 12px;
  }

  .modal__body {
    padding: 20px;
    gap: 24px;
  }

  .modal__foot {
    padding: 20px;
    padding-bottom: 24px;
  }
}

.btn--primary {
  background-color: var(--color-primary);
  color: #fff;
  transition: background-color 0.2s ease;
}

.btn--primary:hover {
  background-color: var(--color-primary-600);
}

.btn--gray {
  background-color: var(--color-gray-100);
  color: var(--color-black);
  transition: background-color 0.2s ease;
}

.btn--gray:hover {
  background-color: var(--color-gray-200);
}

/* =========================================================
   토스트 알림 (상단 중앙)
========================================================= */
.toast {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-16px);
  z-index: 100;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background-color: var(--color-secondary);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  border-radius: var(--radius-full);
  box-shadow: 0 0 20px #0000001f;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.toast.is-show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.toast img {
  width: 16px;
  height: 16px;
}


/* =========================================================
  요소 유틸
========================================================= */
/* 완료 아이콘 */
.complete-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: var(--radius-full);
  background-color: var(--color-secondary-50);
  display: flex;
  align-items: center;
  justify-content: center;
}

.complete-icon img {
  width: 24px;
  height: 24px;
}

/* ============================== */
/*              이용안내            */
/* ============================== */
/* 공지사항 */
.table-list table.data .col-no {
  width: 40px;
  text-align: center;
}

.table-list table.data .col-no.fixed i {
  font-size: 20px;
  margin-top: 5px;
  color: var(--color-primary);
}

.table-list table.data .col-title {
  width: auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.table-list table.data .col-title a:hover {
  text-decoration: underline;
}

.table-list table.data .col-title .new {
  vertical-align: text-top;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-secondary);
  border-radius: 3px;
  width: 20px;
  height: 20px;
  color: var(--color-white);
  font-size: 12px;
  font-weight: 700;
  margin-right: 6px;
}
.table-list table.data .col-title{
	text-align: center;
}
.table-list table.data .col-date {
  width: 140px;
  text-align: center;
}

.table-list table.data .col-login {
  width: 80px;
  text-align: center;
}

@media (max-width: 768px) {
  .table-list table.data .col-date,
  .table-list table.data .col-login {
    display: none;
  }

  .table-list table.data .col-no.fixed i {
    font-size: 18px;
  }

  .table-list table.data .col-title .new {
    width: 18px;
    height: 18px;
    font-size: 10px;
  }
}

/* faq */
.data-tab-wrap.faq .header-wrap {
  justify-content: center;
  margin-top: 40px;
}

.table-list table.data .col-category {
  width: 160px;
  text-align: center;
}

@media (max-width: 768px) {
  .table-list table.data .col-category {
    display: none;
  }
}

/* 기본(웹/PC)에서는 모바일 전용 숨김 */
.pc-only    { display: table-row; }
.mobile-only{ display: none; }

/* 화면 폭 768px 이하일 때(모바일) */
@media (max-width: 768px) {
  .pc-only     { display: none; }
  .mobile-only { display: table-row; }
}


.kakao-faq {
  margin-top: 60px;
  text-align: center;
}

.kakao-faq .title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 20px;
  text-align: center;
  word-break: keep-all;
}

.kakao-faq .btn-box {
  border-radius: 12px;
  padding: 30px;
  background-color: var(--color-gray-50);
  display: inline-flex;
  align-items: center;
  gap: 80px;
  flex-wrap: wrap;
}

.kakao-faq .btn-box p {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 20px;
}

.kakao-faq .btn-box p i {
  font-size: 17px;
}

.kakao-faq .btn-box span {
  font-size: 16px;
  font-weight: 500;
  display: block;
  text-align: left;
}

.kakao-faq .btn-box span b {
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}

.kakao-faq .btn-box img {
  width: 84px;
}

@media (max-width: 768px) {
  .kakao-faq {
    margin-top: 40px;
  }

  .kakao-faq .title {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .kakao-faq .btn-box p {
    font-size: 16px;
  }

  .kakao-faq .btn-box p i {
    font-size: 15px;
  }

  .kakao-faq .btn-box span {
    font-size: 14px;
  }

  .kakao-faq .btn-box img {
    width: 70px;
  }
}

@media (max-width: 768px) {
  .kakao-faq .btn-box {
    gap: 20px;
  }
}

/* ============================== */
/*     로그인/아이디,비밀번호/회원가입    */
/* ============================== */
/* 박스 밖 */
.account-wrap {

  /* 변수 및 배경 그라데이션 관련 */
  --account-primary: #009fb8;
  --account-primary-dark: #00849a;
  --account-green: #7fbe26;
  --account-purple: #6651df;
  background: linear-gradient(180deg, #f5f2ff 0%, #fff 100%);
  /* 레이아웃 및 정렬 관련 */	
  width: 100%;
  
  padding: 200px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.account-wrap .logo-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;	
  padding: 30px 0;
}

.account-wrap .logo-wrap img {
  height: 34px;
}

.account-wrap .logo-wrap .account-logo {
  display: inline-flex;
  align-self: center;
}

.account-wrap .logo-wrap p {
  margin: 0;
  color: #70757d;
	
  font-size: 16px;
  font-weight: 800;
  text-align: center;
  line-height: 1.2;
}

.account-wrap .join-btn svg{
	fill: white;
}

@media (max-width: 768px) {
  .account-wrap {
    padding-top: 80px;
    background-color: var(--color-white);
  }

  .account-wrap .logo-wrap img {
    height: 30px;
  }

  .account-wrap .logo-wrap p {
    font-size: 16px;
  }
}

/* 박스 내 */
.account-wrap .account-box {
  background-color: var(--color-white);
  border-radius: 24px;
  padding: 60px;
  width: 640px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.account-wrap .account-box .info-text {
  padding: 35px 0;
  border: 1px solid #d8edf1;
  border-radius: 20px;
  background: #f3fafb;
  
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  
  gap: 14px;
  color: #364047;
}

.account-wrap .account-box .info-text.str_u_join1{
	padding-right: 15px;
	padding-left: 15px;
}

.account-wrap .account-box .info-text img {
  height: 44px;
}

.account-wrap .account-box .info-text p,
.account-wrap .account-box .info-text p span {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.4;
  word-break: keep-all;
  text-align: center;
}

.account-wrap .account-box .page-info-box {
  width: 100%;
  background-color: var(--color-primary-50);
  border-radius: 10px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.account-wrap .account-box .page-info-box.gray {
  background-color: var(--color-gray-50);
  align-items: flex-start;
}

.account-wrap .account-box .page-info-box p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  word-break: keep-all;
}

.account-wrap .account-box .page-info-box p span {
  font-weight: 600;
  color: var(--color-primary);
}

.account-wrap .account-box .page-info-box.gray p span {
  display: block;
  color: inherit;
  font-weight: 500;
}

.account-wrap .account-box .page-info-box.gray p b {
  color: var(--color-red);
}

.account-wrap .account-box .field-group.mb-10 {
  margin-bottom: 10px;
}

.account-wrap .account-box .field-group.mb-20 {
  margin-bottom: 20px;
}

.account-wrap .account-box .guide-text-wrap {
  padding: 20px 0;
  text-align: center;
}

.account-wrap .account-box .guide-text-wrap h1 {
  padding-top: 20px;
  margin: 0;
  color: #333333;
  font-family: "Paperozi", "Pretendard", sans-serif;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -1.2px;
}

.account-wrap .account-box .guide-text-wrap.no-padding {
  padding: 0;
}

.account-wrap .account-box .guide-text-wrap .title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  word-break: keep-all;
  margin-bottom: 14px;
}

.account-wrap .account-box .guide-text-wrap.no-padding .title {
  margin-bottom: 0;
}

.account-wrap .account-box .guide-text-wrap .content {
  text-align: center;
  font-size: 16px;
  line-height: 1.4;
  word-break: keep-all;
}

.account-wrap .account-box .guide-text-wrap .content span {
  display: block;
}

.account-wrap .account-box .guide-text-wrap .content b {
  color: var(--color-primary);
  font-weight: 700;
}

@media (max-width: 768px) {
  .account-wrap .account-box {
    width: 100%;
    border-radius: 0;
    padding: 0 20px;
  }

  .account-wrap .account-box .info-text img {
    height: 36px;
  }

  .account-wrap .account-box .info-text p,
  .account-wrap .account-box .info-text p span {
    font-size: 14px;
  }

  .account-wrap .account-box .guide-text-wrap .title {
    font-size: 18px;
  }

  .account-wrap .account-box .guide-text-wrap .content {
    font-size: 14px;
  }

  .account-wrap .account-box .page-info-box p {
    font-size: 14px;
  }
}

@media (max-width: 550px) {
  .account-wrap .account-box .info-text p span {
    display: initial;
  }

  .account-wrap .account-box .guide-text-wrap .content span {
    display: initial;
  }
}

/* 폼, 필드관련 */
.account-box form .field-group {
  width: 100%;
}

.account-box form .field-group input {
  min-width: auto;
  height: 50px;
}

/* 학교명 자동완성 */
.account-box form .search-box input {
  background-color: var(--color-white);
  position: relative;
}

.autocomplete-list {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: white;
  outline: 1px solid var(--color-black);
  border-radius: 6px;
  max-height: 160px;
  overflow-y: auto;
  z-index: 1000;
  display: none;
}

.autocomplete-list.active {
  display: block;
}

.autocomplete-list li {
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid var(--color-gray-400);
  line-height: 1.4;
}

.autocomplete-list li:hover {
  background-color: var(--color-gray-50);
}

@media (max-width: 768px) {
  .autocomplete-list li {
    font-size: 14px;
  }
}

/*  */

.account-box form .select-box {
  width: 100%;
  height: 50px;
}

.account-box form .btn {
  min-width: auto;
  width: 100%;
  height: 50px;
  margin-top: 20px;
}

.account-box form .field-group .phone-auth,
.account-box form .field-group .auth-check {
  margin-top: 0;
  width: 100px;
}

.account-box form .field-group .auth-code {
  padding-right: 70px;
}

.account-box form .field-group .input-timer {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-red);
  position: absolute;
  right: 126px;
}

.account-box .btn-wrap {
  justify-content: center;
}

.account-box .btn-wrap .btn {
  height: 50px;
}

.account-wrap .account-box .login-btn,
.account-wrap .account-box .find-btn {
  height: 50px;
}

.account-box form .search-box {
  width: auto;
  height: auto;
}

.account-box form .search-box input {
  padding-right: 54px;
}

.account-box form .search-box .icon {
  top: inherit;
  bottom: -6px;
}

@media (max-width: 768px) {
  .account-box form .field-group input,
  .account-box .btn-wrap .btn,
  .account-box form .btn,
  .account-wrap .account-box .login-btn,
  .account-wrap .account-box .find-btn,
  .account-box form .select-box {
    height: 44px;
  }

  .account-box form .search-box .icon {
    bottom: -10px;
  }
}

/* 필드메시지 */
.account-box form .field-group .field-message {
  font-size: 14px;
  font-weight: 500;
  margin-top: 8px;
  word-break: keep-all;
  line-height: 1.2;
}

.account-box form .field-group .field-message.error {
  color: var(--color-red);
}

.account-box form .field-group .field-message.info {
  color: var(--color-primary-500);
}

@media (max-width: 768px) {
  .account-box form .field-group .field-message {
    font-size: 12px;
  }
}

/* 로그인 */
.account-box .info-text p span {
  display: block;
}

.account-box .login-form .field-group {
  width: 100%;
}

.account-box .login-form .field-group input {
  min-width: auto;
  height: 50px;
}

.account-box .login-form .login-btn {
  min-width: auto;
  width: 100%;
  height: 50px;
  margin-top: 20px;
}

.account-box .sns-login {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.account-box .sns-login .title {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-700);
  position: relative;
  z-index: 1;
  width: 100%;
  text-align: center;
  margin-bottom: 40px;
}

.account-box .sns-login .title::before {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color-gray-400);
  z-index: -2;
}

.account-box .sns-login .title::after {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background-color: var(--color-white);
  width: 60px;
  height: 100%;
  z-index: -1;
}

.account-box .sns-login .sns-list {
  width: 100%;
}

.account-box .sns-login .sns-list li {
  margin-bottom: 10px;
}

.account-box .sns-login .sns-list li:last-child {
  margin: 0;
}

.account-box .sns-login .sns-list li .btn,
.account-box .join-btn {
  width: 100%;
  height: 50px;
  justify-content: flex-start;
  gap: 14px;
}

.account-box .sns-login .sns-list li .btn img,
.account-box .join-btn img {
  width: 24px;
  height: 24px;
}

.account-box .login-link ul {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: center;
}

.account-box .login-link ul li {
  display: flex;
  align-items: center;
  gap: 20px;
}

.account-box .login-link ul li::after {
  content: "";
  width: 1px;
  height: 12px;
  background-color: var(--color-gray-400);
}

.account-box .login-link ul li:last-child::after {
  content: none;
}

@media (max-width: 768px) {
  .account-box .sns-login .title {
    font-size: 14px;
  }

  .account-box .sns-login .sns-list li .btn img,
  .account-box .join-btn img {
    width: 20px;
    height: 20px;
  }

  .account-box .login-link ul li::after {
    height: 10px;
  }

  .account-box .login-link ul li a {
    font-size: 14px;
  }
}

@media (max-width: 550px) {
  .account-box .login-link ul,
  .account-box .login-link ul li {
    gap: 14px;
  }
}

/* 아이디 찾기 */
.account-box .resul-id .list-header {
  margin-top: 0;
  margin-bottom: 10px;
}

.account-box .resul-id table.data td {
  text-align: center;
}

/* 비밀번호 찾기 */
.account-box .find-pw-form .bullet-list {
  margin-top: 8px;
}

.account-box .find-pw-form .bullet-list li {
  color: var(--color-gray-700);
}

/* sns아이디/비밀번호 찾기 */
.account-box .find-sns-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.account-box .find-sns-wrap .sns-box {
  border: 1px solid var(--color-gray-400);
  border-radius: 6px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.account-box .find-sns-wrap .sns-box .sns-btn {
  width: 100%;
  height: 60px;
  gap: 14px;
}

.account-box .find-sns-wrap .sns-box .sns-btn img {
  width: 24px;
  height: 24px;
}

.account-box .find-sns-wrap .btn-wrap {
  display: flex;
  gap: 8px;
}

.account-box .find-sns-wrap .sns-box .find-id-btn,
.account-box .find-sns-wrap .sns-box .find-pw-btn {
  flex: 1;
  height: 44px;
}

.account-box .find-sns-wrap .sns-box.naver .sns-btn {
  background-color: #03c75a;
  color: var(--color-white);
}

.account-box .find-sns-wrap .sns-box.kakao .sns-btn {
  background-color: #fae100;
  color: #371d1e;
}

.account-box .find-sns-wrap .sns-box.google .sns-btn {
  background-color: var(--color-gray-200);
  color: var(--color-black);
}

@media (max-width: 768px) {
  .account-box .find-sns-wrap .sns-box .sns-btn {
    height: 50px;
  }

  .account-box .find-sns-wrap .sns-box .sns-btn img {
    width: 20px;
    height: 20px;
  }

  .account-box .find-sns-wrap .sns-box .find-id-btn,
  .account-box .find-sns-wrap .sns-box .find-pw-btn {
    height: 40px;
  }
}

/* 회원가입 */
.account-wrap .account-box .join-step ul {
  display: flex;
  justify-content: space-between; /* 양 끝에 붙이고 사이 간격 균등 분배 */
  align-items: center;
  width: 100%;
  list-style: none;
  padding: 0;
  
}

.account-box .join-step ul li {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.account-box .join-step ul li.arrow {
  width: auto;
}

.account-box .join-step ul li.arrow i {
  color: var(--color-gray-600);
}

.account-box .join-step ul li .step-icon {
  width: 60px;
  height: 60px;
  background-color: var(--color-gray-400);
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.account-box .join-step ul li .step-icon i {
  font-size: 24px;
  color: var(--color-white);
}

.account-box .join-step ul li .step-icon i.material-icons-outlined {
  font-size: 28px;
}

.account-box .join-step ul li p {
  font-size: 16px;
  font-weight: 600;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--color-gray-700);
}

.account-box .join-step ul li p small {
  font-size: 12px;
  color: var(--color-gray-700);
}

.account-box .join-step ul li.active .step-icon {
  background-color: var(--color-primary);
}

.account-box .join-step ul li.active p,
.account-box .join-step ul li.active p small {
  color: var(--color-black);
}

.account-box .page-info-box.gray p {
  text-align: left;
}

.account-box .join-form .voucher-check {
  margin-top: 0;
  width: auto;
}

.account-box .join-form .bullet-list {
  margin-top: 8px;
}

.account-box .join-form .bullet-list li {
  color: var(--color-gray-700);
}

.account-box .agreement-wrap ul {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--color-gray-400);
}

.account-box .agreement-wrap ul li {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.account-box .agreement-wrap ul li:last-child {
  margin: 0;
}

.account-box .main-go-btn {
  gap: 14px;
}

.account-box .main-go-btn img {
  height: 18px;
}

@media (max-width: 768px) {
  .account-box .join-step ul li {
    width: 80px;
  }

  .account-box .join-step ul li .step-icon {
    width: 46px;
    height: 46px;
  }

  .account-box .join-step ul li .step-icon i {
    font-size: 18px;
  }

  .account-box .join-step ul li .step-icon i.material-icons-outlined {
    font-size: 22px;
  }

  .account-box .join-step ul li p {
    font-size: 14px;
  }

  .account-box .join-step ul li p small {
    display: none;
  }

  .account-box .main-go-btn img {
    height: 16px;
  }
}

@media (max-width: 550px) {
  .account-box .join-step ul li {
    width: auto;
  }

  .account-box .join-step ul li.arrow i {
    font-size: 12px;
  }

  /* .account-box .join-step ul li p {
    display: none;
  } */
}

/* sns 회원가입 */
.account-box .sns-join-info {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px 0;
  border-bottom: 1px solid var(--color-gray-400);
}

.account-box .sns-join-info img {
  width: 24px;
  height: 24px;
}

.account-box .sns-join-info p {
  font-size: 16px;
  font-weight: 600;
}

.account-box .sns-withdraw {
  width: auto;
  align-self: flex-start;
}

@media (max-width: 768px) {
  .account-box .sns-join-info img {
    width: 20px;
    height: 20px;
  }

  .account-box .sns-join-info p {
    font-size: 14px;
  }
}

/* ============================== */
/*             마이페이지            */
/* ============================== */
/* 참여정보 */
/* .mypage-list {
  margin-top: 40px;
} */

.mypage-list .participation-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.mypage-list .card-item {
  border: 1px solid var(--color-gray-400);
  border-radius: 14px;
  overflow: hidden;
}

.mypage-list .card-item.hidden {
  display: none !important;
}

.mypage-list .card-item .card-head {
  width: 100%;
  background-color: var(--color-primary);
  padding: 20px 0;
  text-align: center;
}

.mypage-list .card-item .card-head h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-white);
}

.mypage-list .card-item .card-body {
  padding: 30px;
}

.mypage-list .card-item .card-body .content {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  justify-content: center;
}

.mypage-list .card-item .card-body .content .feedback-icon {
  width: 60px;
  height: 60px;
  border-radius: 999px;
  background-color: var(--color-primary-50);
  display: flex;
  align-items: center;
  justify-content: center;
}

.mypage-list .card-item .card-body .content .feedback-icon.absence {
  background-color: #fff2f5;
}

.mypage-list .card-item .card-body .content .feedback-icon img {
  width: 32px;
  height: 32px;
}

.mypage-list .card-item .card-body .content .text-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  align-items: center;
}

.mypage-list .card-item .card-body .detail-view-btn {
  width: 100%;
}

.mypage-list .card-item .card-body .content .text-wrap .participatio-status {
  font-size: 20px;
  font-weight: 700;
  color: var(--color-primary);
}

.mypage-list
  .card-item
  .card-body
  .content
  .text-wrap
  .participatio-status.absence {
  color: var(--color-red);
}

.mypage-list .card-item .card-body .content .text-wrap .point {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-700);
}

.mypage-list .card-item .card-body .content .text-wrap .point .deduct-point {
  color: var(--color-red);
  font-weight: 700;
}

.mypage-list .card-item .card-body .content .text-wrap .participatio-date {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-gray-700);
}

.mypage-list .modal-popup .absence {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mypage-list .modal-popup .absence .tag {
  font-size: 12px;
  height: 22px;
}

.mypage-list .btn-wrap {
  margin-top: 40px;
  justify-content: center;
}

@media (max-width: 1240px) {
  .mypage-list .participation-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .mypage-list .card-item .card-head h3 {
    font-size: 16px;
  }

  .mypage-list .card-item .card-body {
    padding: 20px;
  }

  .mypage-list .card-item .card-body .content .feedback-icon {
    width: 50px;
    height: 50px;
  }

  .mypage-list .card-item .card-body .content .feedback-icon img {
    width: 26px;
    height: 26px;
  }

  .mypage-list .card-item .card-body .content .text-wrap {
    gap: 10px;
  }

  .mypage-list .card-item .card-body .content .text-wrap .participatio-status {
    font-size: 18px;
  }

  .mypage-list .card-item .card-body .content .text-wrap .point {
    font-size: 14px;
  }

  .mypage-list .card-item .card-body .content .text-wrap .participatio-date {
    font-size: 12px;
  }
}

@media (max-width: 680px) {
  .mypage-list .participation-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 개인정보 */
.account-management {
  margin-top: 40px;
}

.account-management .table-detail .value-sns-id .sns-type {
  width: 24px;
  height: 24px;
  display: inline-block;
  margin-right: 6px;
}

@media (max-width: 768px) {
  .account-management .table-detail .value-user-id .sns-type {
    width: 20px;
    height: 20px;
  }
}

.account-management .table-detail .value-user-id {
  display: inline-block;
}

.account-management .table-detail .value-voucher-serial .tag {
  margin-left: 10px;
}

.account-management .table-detail .field-group .mypage {
  min-width: 320px;
}

@media (max-width: 768px) {
  .account-management .table-detail .field-group .mypage {
    min-width: auto;
    width: 100%;
  }
}

/* =========================================================
   서브 탭 (공통)
========================================================= */
.sub-tab {
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--color-border);
  margin-top: 60px;
}

.sub-tab__item {
  padding: 16px 12px;
  margin-bottom: -1px;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-gray-500);
  border-bottom: 2px solid transparent;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.sub-tab__item:not(.is-active):hover {
  color: var(--color-black);
}

.sub-tab__item.is-active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
  font-weight: 700;
}

@media (max-width: 767px) {
  .sub-tab {
    gap: 20px;
  }

  .sub-tab__item {
    padding: 12px 8px;
  }
}

.data-list.box {
  background-color: var(--color-gray-50);
  padding: 12px 30px;
  border-radius: var(--radius-xl);
}

.data-list.box .data-list__row {
  justify-content: flex-start;
}

.data-list.box .data-list__row:first-child {
  border-top: none;
}

.data-list.box .data-list__row:last-child {
  border-bottom: none;
}

.data-list.box .data-list__row dt {
  width: 160px;
}

.data-list.box .data-list__value {
  display: flex;
  align-items: center;
  gap: 12px;
}

.data-list__row {
  display: flex;
  align-items: center;
/*   justify-content: space-between; */
  padding: 20px 0;
  border-bottom: 1px solid var(--color-border);
  width: 100%;
}

.data-list__row:first-child {
  border-top: 1px solid var(--color-border);
}

@media (max-width: 767px) {
  .data-list__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .data-list.box .data-list__row {
    gap: 12px;
  }
}

.data-list__row dt {
  font-weight: 500;
  color: var(--color-black);
}

.data-list__value {
  font-weight: 600;
}

.data-list__value span {
  font-size: 15px;
  font-weight: 400;
  color: var(--color-gray-600);
  margin-left: 4px;
}

.data-list__value--primary {
  color: var(--color-primary);
}

.data-list__value--red {
  color: var(--color-red);
}

/* =========================================================
   마이페이지 팝업
========================================================= */
.modal__body .data-list.mypage .data-list__row {
  justify-content: flex-start !important;
}

.modal__body .data-list.mypage .data-list__row dt {
  width: 120px !important;
}

.modal__body .data-list.mypage .dot-list li {
  font-size: 16px !important;
/*   list-style: disc !important; */
}

/* =========================================================
   회원 고정 정보 (data-list 확장 - 공통)
========================================================= */
.data-list__value-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 12px;
}

.data-list__value-note {
  font-size: 15px;
  font-weight: 500;
  color: var(--color-gray-600);
}

.data-list__value-note--red {
  color: var(--color-red) !important;
}

.provider-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}

.provider-badge--naver {
  background-color: #03c75a;
}

/* =========================================================
   회원 기본 정보 - 폼 (공통)
========================================================= */
.info-form__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 20px;
}

.info-form__title {
  font-size: 20px;
  font-weight: 700;
}

.info-form__note {
  font-size: 14px;
  color: var(--color-gray-600);
}

.info-form__grid {
  display: flex;
  flex-direction: column;
}

.info-form__row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 32px;
  padding: 20px 0;
  border-bottom: 1px solid var(--color-border);
}

.info-form__row:first-child {
  border-top: 1px solid var(--color-border);
}

.info-form__row .btn {
  background-color: var(--color-gray-500);
}

.info-form__actions {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.info-form__actions .btn {
  border-radius: 10px;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.form-field--full {
  grid-column: 1 / -1;
}

/* 라벨 + 필드가 가로로 나란히 배치되는 스타일 (공통) */
.form-field--row {
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.form-field--row .form-field__label {
  flex-shrink: 0;
  width: 120px;
}

.form-field--row > *:last-child {
  flex: 1;
  min-width: 0;
}

.form-field__label {
  font-size: 16px;
  font-weight: 500;
}

.form-field__required {
  color: var(--color-red);
  margin-left: 2px;
}

.form-field__error {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 400;
  color: var(--color-red);
}

.form-input {
  width: 100%;
  height: 44px;
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  font-size: 16px;
  background-color: #fff;
}

.form-input::placeholder {
  color: var(--color-gray-400);
}

.form-input--muted,
.form-input:read-only {
  background-color: var(--color-gray-100);
  border-color: var(--color-border);
  color: var(--color-gray-500);
  cursor: default;
}

.form-input:read-only:focus,
.form-input:read-only:active {
  outline: none;
  border-color: var(--color-border);
  box-shadow: none;
}

.form-input:disabled {
  background-color: var(--color-gray-100);
  border-color: var(--color-border);
  color: var(--color-gray-500);
  cursor: not-allowed;
  opacity: 1;
}

select.form-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 44px;
  background-image: url(/resource_fo/www/images/icon/arrow-down.svg);
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 20px 20px;
}

select.form-input:not(:disabled) {
  background-color: #fff;
  color: var(--color-black);
}

/* 플레이스홀더 역할의 옵션(선택 안내 문구)은 실제 placeholder와 동일한 톤으로 */
select.form-input option:disabled {
  color: var(--color-gray-400);
}

.form-input-icon {
  position: relative;
}

.form-input-icon .form-input {
  padding-right: 44px;
}

.form-input.schoolName {
    background-color: #fff !important;
    border: 1px solid var(--color-border);
	}

.form-input-icon__icon {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  pointer-events: none;
}

.form-hint {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: disc;
  padding-left: 18px;
}

.form-hint li {
  font-size: 14px;
  color: var(--color-gray-600);
}

.form-input-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.field-group-wrap{
  width: 100%;
}

.field-group.with-button{
  width: 100%;
}

.form-input-group .form-input {
  flex: 1;
  min-width: 0;
}

.form-input-group .btn {
  flex-shrink: 0;
  border-radius: 10px;
}

.form-range {
  display: flex;
  align-items: center;
  gap: 12px;
}

.form-range .form-input {
  flex: 1;
  min-width: 0;
}

.form-radio-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.form-radio {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-600);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.form-radio__check {
  font-size: 16px;
}

.form-radio.is-active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.gap12{
	gap: 12px;
	}

@media (max-width: 767px) {
  .info-form__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-bottom: 20px;
  }

  .info-form__row {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    padding: 20px 0;
  }

  .form-field--row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .form-field--row .form-field__label {
    width: auto;
  }

  .form-field--row > *:last-child {
    flex: inherit;
  }

  .form-range {
    flex-direction: column;
    align-items: stretch;
  }

  .form-range .form-input {
    flex: inherit;
  }
}

@media (max-width: 767px) {
  .activity-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
    margin-bottom: 28px;
  }
}
/* ============================== */
/*            맞춤형 컨설팅           */
/* ============================== */
.page-summary .info-text.consulting .history {
  display: flex;
  align-items: center;
  gap: 6px;
}

.page-summary .info-text.consulting .history::after {
  content: "";
  width: 1px;
  height: 14px;
  background-color: var(--color-gray-700);
  margin-left: 8px;
  margin-right: 8px;
}

.page-summary .info-text.consulting .history:last-child::after {
  content: none;
}

.page-summary .info-text.consulting .history .application {
  color: var(--color-red);
}

.page-summary .info-text.consulting .history .cancel {
  color: var(--color-gray-700);
}

.page-summary .info-text.consulting .history .complete {
  color: var(--color-primary-500);
}

/* 컨설팅 신청 */
.consulting-wrap {
  margin-top: 40px;
}

.consulting-wrap .top {
  display: flex;
  /* align-items: flex-end; */
  gap: 40px;
  align-items: flex-start;
}

/* top : 좌측 */
.consulting-wrap .consulting-schedule-wrap {
  flex: 1;
}

.consulting-wrap .calendar-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.consulting-wrap .calendar-navigation {
  display: flex;
  align-items: center;
  gap: 14px;
}

.consulting-wrap .calendar-navigation .btn-icon {
  width: 34px;
  height: 34px;
}

.consulting-wrap .calendar-navigation .current-month {
  font-size: 24px;
  font-weight: 700;
}

.consulting-wrap .calendar-header .state-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}

.consulting-wrap .calendar-header .state-wrap li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
}

.consulting-wrap .calendar-header .state-wrap li span {
  width: 16px;
  height: 16px;
  border-radius: 2px;
  border: 2px dashed transparent;
}

.consulting-wrap .calendar-header .state-wrap li span.possibility {
  background-color: var(--color-secondary-100);
}

.consulting-wrap .calendar-header .state-wrap li span.select {
  border-color: var(--color-secondary);
}

.consulting-wrap .calendar-header .state-wrap li span.today {
  background-color: var(--color-gray-300);
}

@media (max-width: 550px) {
  .consulting-wrap .calendar-header {
    flex-direction: column;
  }

  .consulting-wrap .calendar-navigation {
    width: 100%;
  }
}

/* top : 우측 */
.consulting-wrap .schedule-list-wrap {
  width: 360px;
}

.consulting-wrap .schedule-list-wrap .title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 500;
  color: var(--color-gray-700);
  margin-bottom: 20px;
  margin-top: 15px;
}

.consulting-wrap .schedule-list-wrap .title span {
  font-weight: 700;
}

.consulting-wrap .schedule-list-box {
  border-radius: 12px;
  border: 1px solid var(--color-gray-400);
}

.consulting-wrap .schedule-list-box .header-wrap {
  width: 100%;
  padding: 12px;
  flex-direction: column;
  gap: inherit;
  border-bottom: 1px solid var(--color-gray-400);
}

.consulting-wrap .schedule-list-box .tab-button-wrap {
  width: 100%;
  background-color: var(--color-gray-50);
  border-radius: 999px;
  padding: 4px;
}

.consulting-wrap .schedule-list-box .tab-button-wrap .tab-btn {
  flex: 1;
  height: 44px;
  font-size: 18px;
  border-radius: 999px;
  background-color: transparent;
  border: none;
  color: var(--color-gray-600);
}

.consulting-wrap .schedule-list-box .tab-button-wrap .tab-btn.active {
  background-color: var(--color-white);
  color: var(--color-black);
  box-shadow: 0 0 8px #0000001a;
}

.consulting-wrap .schedule-list-box .list-title {
  width: 100%;
  padding: 20px 22px 8px 8px;
  display: flex;
  gap: 8px;
}

.consulting-wrap .schedule-list-box .list-title li {
  font-size: 16px;
  line-height: 1.2;
  word-break: keep-all;
  font-weight: 600;
  color: var(--color-gray-700);
  text-align: center;
}

.consulting-wrap .schedule-list-box .list-title .time {
  flex: 1;
  text-align: left;
}

.consulting-wrap .schedule-list-box .list-title .number {
  width: 60px;
}

.consulting-wrap .schedule-list-box .list-title .whether {
  width: 80px;
}

.consulting-wrap .schedule-list-box .tab-content {
  margin: 0;
}

.consulting-wrap .schedule-list-box .list-wrap {
  height: 300px;
  overflow-y: auto;
}

.consulting-wrap .schedule-list-box .list-wrap ul li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  text-align: center;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
  border-bottom: 1px solid var(--color-gray-400);
}

.consulting-wrap .schedule-list-box .list-wrap ul li.active {
  background-color: var(--color-primary-50);
}

.consulting-wrap .schedule-list-box .list-wrap ul li:last-child {
  border: none;
}

.consulting-wrap .schedule-list-box .list-wrap ul li .time {
  flex: 1;
  text-align: left;
}

.consulting-wrap .schedule-list-box .list-wrap ul li .number {
  width: 60px;
  color: var(--color-primary);
}

.consulting-wrap .schedule-list-box .list-wrap ul li .number.deadline {
  color: var(--color-gray-500);
}

.consulting-wrap .schedule-list-box .no-active {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
}

.consulting-wrap .schedule-list-box .no-active p {
  font-weight: 400;
  color: var(--color-gray-700);
  text-align: center;
}

@media (max-width: 960px) {
  .consulting-wrap .top {
    flex-direction: column;
  }

  .consulting-wrap .schedule-list-wrap {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .consulting-wrap .calendar-navigation .btn-icon {
    width: 28px;
    height: 28px;
  }

  .consulting-wrap .calendar-navigation .btn-icon i {
    font-size: 14px;
  }

  .consulting-wrap .calendar-navigation .current-month {
    font-size: 20px;
  }

  .consulting-wrap .calendar-header .state-wrap li {
    font-size: 14px;
  }

  .consulting-wrap .calendar-header .state-wrap li span {
    width: 14px;
    height: 14px;
  }

  .consulting-wrap .schedule-list-wrap .title {
    font-size: 18px;
  }

  .consulting-wrap .schedule-list-box .tab-button-wrap .tab-btn {
    font-size: 16px;
    height: 40px;
  }

  .consulting-wrap .schedule-list-box .list-title li {
    font-size: 14px;
  }

  .consulting-wrap .schedule-list-box .list-wrap ul li {
    font-size: 16px;
  }
}

/* bottom */
.consulting-wrap .bottom {
  margin-top: 60px;
}

.consulting-wrap .consultant-list .header {
  margin-bottom: 20px;
}

.consulting-wrap .consultant-list .header h3 {
  font-size: 24px;
  font-weight: 700;
}

.consulting-wrap .consultant-list .header h3 span {
  font-size: 18px;
  font-weight: 400;
  color: var(--color-gray-700);
}

.consulting-wrap .consultant-list .header h3 span .consultant-count {
  font-weight: 700;
  color: var(--color-primary-500);
}

.consulting-wrap .consultant-list .data-table-wrap {
  overflow-x: auto;
}

.consulting-wrap .consultant-list .data-table-wrap table {
  min-width: 1240px;
}

.consulting-wrap .consultant-list .col-no {
  width: 80px;
  text-align: center;
}

.consulting-wrap .consultant-list .col-view {
  width: 80px;
  text-align: center;
}

.consulting-wrap .consultant-list .col-view .view-btn i {
  font-size: 16px;
}

.consulting-wrap .consultant-list .col-consultant {
  padding-top: 20px;
  padding-bottom: 20px;
  width: 260px;
}

.consulting-wrap .consultant-list .col-consultant .consultant-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}

.consulting-wrap .consultant-list .col-consultant .profile {
  width: 60px;
  height: 60px;
  overflow: hidden;
  border-radius: 100%;
  margin: 0;
}

.consulting-wrap .consultant-list .col-consultant .profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.consulting-wrap .consultant-list .col-consultant .consultant-info .name {
  font-size: 18px;
  font-weight: 600;
}

.consulting-wrap .consultant-list .col-consultant .consultant-info .work {
  font-size: 14px;
  color: var(--color-gray-700);
}

 .consulting-wrap .consultant-list .col-consultingM{
  	display:none;
 }
 .consulting-wrap .consultant-list .col-application p {
  	display:none;
  }
  
.consulting-wrap .consultant-list .col-field .consulting-field-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px 10px;
  flex-wrap: wrap;
}

.consulting-wrap .consultant-list .col-field .consulting-field-list li::after {
  content: "/";
  margin-left: 10px;
  color: var(--color-gray-500);
}

.consulting-wrap
  .consultant-list
  .col-field
  .consulting-field-list
  li:last-child::after {
  content: none;
}

.consulting-wrap .consultant-list .col-time {
  width: 150px;
  text-align: center;
}

.consulting-wrap .consultant-list .col-time .consulting-time {
  display: flex;
  justify-content: center;
  gap: 4px;
}

.consulting-wrap .consultant-list .col-number {
  width: 100px;
  text-align: center;
}

.consulting-wrap .consultant-list .col-application {
  width: 140px;
  text-align: center;
}

@media (max-width: 768px) {
  .consulting-wrap .bottom {
    margin-top: 40px;
  }

  .consulting-wrap .consultant-list .header h3 {
    font-size: 20px;
  }

  .consulting-wrap .consultant-list .header h3 span {
    font-size: 16px;
  }

  .consulting-wrap .consultant-list .data-table-wrap table {
    min-width: 960px;
  }

  .consulting-wrap .consultant-list .col-no {
    width: 60px;
  }

  .consulting-wrap .consultant-list .col-consultant {
    width: 220px;
  }

  .consulting-wrap .consultant-list .col-time {
    width: 130px;
  }

  .consulting-wrap .consultant-list .col-number {
    width: 90px;
  }

  .consulting-wrap .consultant-list .col-application {
    width: 120px;
  }


  .consulting-wrap .consultant-list .col-consultant .profile {
    width: 50px;
    height: 50px;
  }

  .consulting-wrap .consultant-list .col-consultant .consultant-info .name {
    font-size: 16px;
  }

  .consulting-wrap .consultant-list .col-consultant .consultant-info .work {
    font-size: 13px;
  }
}

@media (max-width: 500px) {
  .consulting-wrap .consultant-list .data-table-wrap table {
    width: 100%;
    min-width: auto;
  }

  .consulting-wrap .consultant-list .col-consultant .consultant-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .consulting-wrap .consultant-list .col-consultant .profile {
    flex-shrink: 0;
  }

  .consulting-wrap .consultant-list .col-no,
  .consulting-wrap .consultant-list .col-view,
  .consulting-wrap .consultant-list .col-consulting,
  .consulting-wrap .consultant-list .col-field,
  .consulting-wrap .consultant-list .col-time,
  .consulting-wrap .consultant-list .col-number {
    display: none;
  }
  
 .consulting-wrap .consultant-list .col-consultingM,
 .consulting-wrap .consultant-list .col-application p {
  	display: revert;
  }
  
    

  .consulting-wrap .consultant-list .col-consultant {
    width: auto;
  }
}

/* 컨설팅 신청 - 팝업 */
.consulting-wrap .modal-popup .applicant-info {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.consulting-wrap .modal-popup .applicant-info .info-item {
  font-weight: 500;
  color: var(--color-gray-700);
  display: flex;
  gap: 8px;
}

.consulting-wrap .modal-popup .applicant-info .info-item span {
  color: var(--color-black);
}

.consulting-wrap .modal-popup table th.reason small {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-gray-700);
  display: block;
}

.consulting-wrap .modal-popup table .attachment {
  margin-bottom: 0;
}

.consulting-wrap .modal-popup table.data td {
  text-align: center;
}

/* 컨설턴트 정보 */
.page-summary .consulting-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.page-summary .consulting-field .check-group {
  flex: 1;
}

.page-summary .consulting-field .title {
  font-size: 18px;
  font-weight: 600;
  margin-right: 20px;
  text-align: left;
}

.page-summary .consulting-field .check-group .all-check {
  display: flex;
  align-items: center;
  gap: 20px;
}

.page-summary .consulting-field .check-group .all-check::after {
  content: "";
  width: 1px;
  height: 14px;
  background-color: var(--color-gray-400);
  margin-right: 6px;
}

.page-summary .consulting-field .check-group .all-check .checkbox .label-text {
  font-weight: 700;
}

.consultant-list-wrap {
  margin-top: 40px;
}

.consultant-list-wrap .consultant-card-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.consultant-list-wrap .consultant-card-list .card-item {
  padding: 30px;
  border-radius: 12px;
  border: 1px solid var(--color-gray-400);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.consultant-list-wrap .consultant-card-list .card-item .profile {
  width: 160px;
  height: 160px;
  overflow: hidden;
  border-radius: 100%;
  margin: 0;
}

.consultant-list-wrap .consultant-card-list .card-item .profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.consultant-list-wrap .consultant-card-list .card-item .info-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.consultant-list-wrap .consultant-card-list .card-item .info-wrap h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-primary);
}

.consultant-list-wrap .consultant-card-list .card-item .info-wrap h3 span {
  font-weight: 500;
  color: var(--color-gray-700);
  margin-left: 4px;
}

.consultant-list-wrap .consultant-card-list .card-item .info-wrap p {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-700);
  margin-top: 10px;
}

.consultant-list-wrap .consultant-card-list .card-item .tag-box-wrap {
  margin-top: 24px;
}

@media (max-width: 1024px) {
  .page-summary .consulting-field {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-summary .consulting-field .btn-wrap {
    align-self: flex-end;
  }
}

@media (max-width: 960px) {
  .consultant-list-wrap .consultant-card-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .page-summary .consulting-field .title {
    font-size: 16px;
  }

  .page-summary .consulting-field .check-group {
    flex-wrap: wrap;
  }

  .page-summary .consulting-field .check-group .all-check {
    width: 100%;
  }

  .page-summary .consulting-field .check-group .all-check::after {
    content: none;
  }

  .consultant-list-wrap .consultant-card-list .card-item .profile {
    width: 120px;
    height: 120px;
  }

  .consultant-list-wrap .consultant-card-list .card-item .info-wrap h3 {
    font-size: 18px;
  }

  .consultant-list-wrap .consultant-card-list .card-item .info-wrap p {
    font-size: 14px;
  }
}

@media (max-width: 550px) {
  .consultant-list-wrap .consultant-card-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 컨설턴트 상세 */
.page-summary .consultant-info {
  display: flex;
  gap: 20px 40px;
}

.page-summary .consultant-info .profile {
  width: 160px;
  height: 160px;
  overflow: hidden;
  border-radius: 100%;
  margin: 0;
  flex-shrink: 0;
}

.page-summary .consultant-info .profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-summary .consultant-info .profile-info-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  gap: 20px;
}

.page-summary .consultant-info .profile-info {
  text-align: left;
}

.page-summary .consultant-info .profile-info .title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 14px;
}

.page-summary .consultant-info .profile-info .title span {
  display: inline-block;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--color-black);
}

.page-summary .consultant-info .profile-info .name {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-primary);
  display: inline-block;
  margin-right: 14px;
}

.page-summary .consultant-info .profile-info .name span {
  font-weight: 500;
  color: var(--color-gray-700);
  margin-left: 4px;
}

.page-summary .consultant-info .profile-info .work {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-700);
  display: inline-block;
}

.page-summary .consultant-info .profile-info-wrap .tag-box-wrap {
  align-self: flex-end;
}

.page-summary .consultant-info .profile-info-wrap .tag {
  font-size: 16px;
  height: 30px;
  padding: 0 12px;
}

@media (max-width: 768px) {
  .page-summary .consultant-info .profile {
    width: 120px;
    height: 120px;
  }

  .page-summary .consultant-info .profile-info .title span {
    font-size: 20px;
  }

  .page-summary .consultant-info .profile-info .name {
    font-size: 18px;
  }

  .page-summary .consultant-info .profile-info .work {
    font-size: 14px;
  }

  .page-summary .consultant-info .profile-info-wrap .tag {
    font-size: 14px;
    height: 24px;
    padding: 0 8px;
  }
}

@media (max-width: 550px) {
  .page-summary .consultant-info {
    flex-direction: column;
  }
}

.consultant-bio .bio-detail {
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  border: 1px solid var(--color-gray-400);
  border-radius: 12px;
  margin-top: 40px;
  margin-bottom: 70px;
  max-height: 340px;
  overflow-y: scroll;
}

.consultant-bio .bio-detail .tag {
  color: var(--color-primary-800);
  background-color: var(--color-primary-50);
  padding: 8px 16px;
  border-radius: 999px;
}

.consultant-bio .bio-detail .section-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.consultant-bio .bio-detail .section-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  word-break: keep-all;
}

.consultant-bio .bio-detail .career-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.consultant-bio .bio-detail .career-list li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  word-break: keep-all;
}

.consultant-bio .bio-detail .file-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.consultant-bio .bio-detail .file-list .btn i {
  font-size: 20px;
  margin-top: 3px;
}

.consultant-bio .bio-detail .file-list .btn .capacity {
  color: var(--color-gray-600);
  font-weight: 400;
}

@media (max-width: 768px) {
  .consultant-bio .bio-detail {
    padding: 24px 20px;
    gap: 30px;
  }

  .consultant-bio .bio-detail .section-title {
    font-size: 18px;
  }

  .consultant-bio .bio-detail .section-desc {
    font-size: 14px;
  }

  .consultant-bio .bio-detail .career-list li {
    font-size: 14px;
  }

  .consultant-bio .bio-detail .file-list .btn i {
    font-size: 18px;
  }
}

/* 내 신청현황 */
.consulting-status-list {
  margin-top: 40px;
}

.consulting-status-list .status-list-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.consulting-status-list .status-box {
  border: 1px solid var(--color-gray-400);
  border-radius: 12px;
  display: flex;
}

.consulting-status-list .status-box .consultant-detail {
  border-right: 1px solid var(--color-gray-400);
  width: 220px;
  padding: 40px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px 24px;
  flex-wrap: wrap;
}

.consulting-status-list .status-box .consultant-info {
  text-align: center;
}

.consulting-status-list .status-box .consultant-info h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--color-primary);
}

.consulting-status-list .status-box .consultant-info h3 span {
  font-weight: 500;
  color: var(--color-gray-700);
  margin-left: 4px;
}

.consulting-status-list .status-box .consultant-info p {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray-700);
  margin-top: 10px;
}

.consulting-status-list .status-box .request-info {
  flex: 1;
  padding: 40px 60px;
  display: flex;
  align-items: center;
  gap: 10px 20px;
}

.consulting-status-list .status-box .request-info .request-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.consulting-status-list .status-box .request-info .request-group .item {
  display: flex;
  align-items: center;
  min-height: 34px;
  flex-wrap: wrap;
  gap: 8px 0;
}

.consulting-status-list .status-box .request-info .request-group .item dt {
  width: 120px;
  font-size: 16px;
  font-weight: 600;
}

.consulting-status-list .status-box .request-info .request-group .item dd {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 500;
  flex-wrap: wrap;
  word-break: keep-all;
}

.consulting-status-list
  .status-box
  .request-info
  .request-group
  .item
  .attendance-status {
  font-weight: 600;
}

.consulting-status-list
  .status-box
  .request-info
  .request-group
  .item
  .attendance-status.confirmed {
  color: var(--color-primary-500);
}

.consulting-status-list
  .status-box
  .request-info
  .request-group
  .item
  .attendance-status.absent {
  color: var(--color-red);
}

@media (max-width: 1200px) {
  .consulting-status-list .status-box .request-info {
    flex-direction: column;
    align-items: flex-start;
  }

  .consulting-status-list .status-box .request-info {
    padding: 40px;
  }
}

@media (max-width: 768px) {
  .consulting-status-list .status-box {
    flex-direction: column;
  }

  .consulting-status-list .status-box .consultant-detail {
    padding: 24px 20px;
    width: 100%;
    border-right: none;
    border-bottom: 1px solid var(--color-gray-400);
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .consulting-status-list .status-box .consultant-info {
    text-align: left;
  }

  .consulting-status-list .status-box .consultant-info h3 {
    font-size: 18px;
  }

  .consulting-status-list .status-box .consultant-info p {
    font-size: 14px;
  }

  .consulting-status-list .status-box .request-info {
    padding: 24px 20px;
  }

  .consulting-status-list .status-box .request-info .request-group .item dt {
    font-size: 14px;
  }

  .consulting-status-list .status-box .request-info .request-group .item dd {
    font-size: 14px;
  }
}

@media (max-width: 550px) {
  .consulting-status-list .status-box .request-info {
    gap: 24px;
  }

  .consulting-status-list .status-box .request-info .request-group {
    gap: 24px;
  }

  .consulting-status-list .status-box .request-info .request-group .item {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* 컨설팅 - 만족도조사 팝업 */
.modal-popup.consulting-feedback .info-wrap-box .bullet-list {
  width: 100%;
}

.modal-popup.consulting-feedback .bullet-list.gray li {
  color: var(--color-gray-700);
}

.modal-popup.consulting-feedback .consulting-info {
  display: flex;
  align-items: center;
  gap: 60px;
  padding: 10px;
}

.modal-popup.consulting-feedback .consultant-profile {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.modal-popup.consulting-feedback .consultant-profile .profile {
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 100%;
  margin: 0;
}

.modal-popup.consulting-feedback .consultant-profile .profile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.modal-popup.consulting-feedback .consultant-profile .name {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-primary);
  margin-top: 10px;
  margin-bottom: 2px;
}

.modal-popup.consulting-feedback .consultant-profile .name span {
  font-weight: 400;
  color: var(--color-gray-700);
  margin-left: 2px;
}

.modal-popup.consulting-feedback .consultant-profile .work {
  font-size: 14px;
  color: var(--color-gray-700);
}

.modal-popup.consulting-feedback .participation-info .title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 14px;
}

.modal-popup.consulting-feedback .participation-info ul li {
  display: flex;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.modal-popup.consulting-feedback .participation-info ul li:last-child {
  margin-bottom: 0;
}

.modal-popup.consulting-feedback .participation-info ul li span {
  width: 100px;
  font-weight: 600;
}

.modal-popup.consulting-feedback .star-rating-wrap {
  display: flex;
  align-items: center;
  padding: 10px;
  gap: 20px 0;
}

.modal-popup.consulting-feedback .star-rating-wrap .rating-text {
  display: flex;
  align-items: center;
  gap: 20px;
}

.modal-popup.consulting-feedback .star-rating-wrap .rating-text img {
  height: 60px;
}

.modal-popup.consulting-feedback .star-rating-wrap .rating-text p {
  font-size: 18px;
}

.modal-popup.consulting-feedback .star-rating-wrap .rating-text p b {
  color: var(--color-red);
}

.modal-popup.consulting-feedback .star-rating-selcet {
  padding-left: 30px;
  border-left: 1px solid var(--color-gray-400);
  margin-left: 30px;
}

.modal-popup.consulting-feedback .star-rating-selcet p {
  font-weight: 600;
  margin-bottom: 10px;
}

.modal-popup.consulting-feedback .star-rating-selcet .selcet-star {
  display: flex;
  gap: 10px;
}

.modal-popup.consulting-feedback .star-rating-selcet .selcet-star i {
  font-size: 32px;
}

.modal-popup.consulting-feedback .star-rating-selcet .selcet-star i.fa-regular {
  color: var(--color-gray-400);
}

.modal-popup.consulting-feedback .star-rating-selcet .selcet-star i.fa-solid {
  color: var(--color-primary);
}

@media (max-width: 768px) {
  .modal-popup.consulting-feedback .consulting-info {
    gap: 20px 40px;
  }

  .modal-popup.consulting-feedback .consultant-profile .profile {
    width: 70px;
    height: 70px;
  }

  .modal-popup.consulting-feedback .consultant-profile .name {
    font-size: 14px;
  }

  .modal-popup.consulting-feedback .consultant-profile .work {
    font-size: 12px;
  }

  .modal-popup.consulting-feedback .participation-info .title {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .modal-popup.consulting-feedback .participation-info ul li span {
    width: 80px;
  }

  .modal-popup.consulting-feedback .star-rating-wrap .rating-text img {
    height: 50px;
  }

  .modal-popup.consulting-feedback .star-rating-wrap .rating-text p {
    font-size: 16px;
  }

  .modal-popup.consulting-feedback .star-rating-selcet .selcet-star i {
    font-size: 28px;
  }
}

@media (max-width: 550px) {
  .modal-popup.consulting-feedback .consulting-info {
    flex-direction: column;
    align-items: flex-start;
  }

  .modal-popup.consulting-feedback .star-rating-wrap {
    flex-direction: column;
    align-items: flex-start;
  }

  .modal-popup.consulting-feedback .star-rating-selcet {
    padding-left: 0;
    margin-left: 0;
    border: none;
  }
}

/* ============================== */
/*           실시간 공채속보          */
/* ============================== */
/* 채용리스트 */
.employ-list-wrap .data-table-wrap {
  overflow-x: auto;
}

.employ-list-wrap table {
  min-width: 1240px;
}

.employ-list-wrap table td {
  padding: 20px 16px;
}

.employ-list-wrap table .col-no {
  width: 120px!important;
}

.employ-list-wrap table .col-company {
  width: 300px;
}

.employ-list-wrap table .col-employ {
   width: auto; 
  
}

.employ-list-wrap table .col-employ .title {
  font-weight: 600;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  display: block;
}

.employ-list-wrap table .col-employ .title:hover {
  text-decoration: underline;
}

.employ-list-wrap table .col-employ .condition,
.employ-list-wrap table .col-employ .condition .location {
  font-size: 14px;
  color: var(--color-gray-700);
}

.employ-list-wrap table .col-employ .condition {
  display: flex;
  gap: 10px;
  margin-top: 6px;
}

.employ-list-wrap table .col-employ .condition .location::after {
  content: "";
  width: 1px;
  height: 10px;
  background-color: var(--color-gray-400);
  display: inline-block;
  margin-left: 10px;
}

.employ-list-wrap table .col-post-date {
  width: 250px;
  text-align: center;
}

.employ-list-wrap table .col-post-date .deadline {
  margin-top: 6px;
  font-size: 14px;
  color: var(--color-gray-700);
}

@media (max-width: 768px) {
  .employ-list-wrap table {
    min-width: 700px;
  }




.employ-list-wrap table .col-no {
  width: 40px!important;
}

  .employ-list-wrap table .col-company {
    width: 200px;
  }


.employ-list-wrap table .col-employ {
   width: auto; 
  
}


  .employ-list-wrap table .col-post-date {
    width: 140px;
    
  }

  .employ-list-wrap table .col-employ .condition,
  .employ-list-wrap table .col-employ .condition .location,
  .employ-list-wrap table .col-post-date .deadline {
    font-size: 13px;
  }
}

/* 채용상세 */
.employ-detail-wrap .section-wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.employ-detail-wrap .section-wrap .section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.employ-detail-wrap .section-title {
  font-size: 20px;
  font-weight: 700;
}

.employ-detail-wrap .company-info .table-detail .address-zipcode,
.employ-detail-wrap .work-benefit .table-detail .address-zipcode {
  display: inline-block;
  margin-right: 8px;
}

.employ-detail-wrap .table-detail .col-label.employ,
.employ-detail-wrap .table-detail th {
  width: 140px;
}

@media (max-width: 768px) {
  .employ-detail-wrap .section-title {
    font-size: 18px;
  }
}

/* ============================== */
/*          AI 자소서 메이커         */
/* ============================== */
.ai-maker-wrap .section-wrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}

.ai-maker-wrap .section-wrap section {
  width: 100%;
}

.ai-maker-wrap .banner {
  position: relative;
  width: 100%;
  padding-top: 30%;
  overflow: hidden;
  border-radius: var(--radius-2xl);
}

.ai-maker-wrap .banner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ai-maker-wrap .feature .section-title {
  font-size: 26px;
  margin-bottom: 28px;
  text-align: center;
  word-break: keep-all;
  line-height: 1.4;
}


/* =========================================================
   서브페이지 섹션 타이틀
========================================================= */
.dot-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}

.dot-heading h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 24px;
  font-weight: 700;
  font-family: 'Paperozi';
  position: relative;
  padding-left: 16px;
}

.dot-heading h3::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-primary);
  position: absolute;
  top: 8px;
  left: 0;
}

.thumb-card{
    border: 1px solid #dde0e4;
    border-radius: var(--radius-xl);
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.thumb-card .thumb-card__thumb img{    
max-width: 100%;
height: auto;
}

@media (max-width: 767px) {
  .dot-heading {
    margin-bottom: 20px;
    flex-direction: column;
    align-items: start;
    gap: 4px;
  }

  .dot-heading h3 {
    font-size: 20px;
  }
}



/* =========================================================
   신청현황 카드
========================================================= */
.status-card {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: stretch;
  overflow: hidden;
  gap: 20px;
}

.status-card__thumb {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.status-card__thumb-img {
  width: 100%;
  flex: 1;
  padding: 30px 40px 40px 40px;
  background-color: var(--color-gray-50);
  display: flex;
  justify-content: center;
  align-items: center;
}

.status-card__thumb-img img {
  width: 100%;
}

.status-card__thumb-img.ecp_view_img{
    overflow: hidden;
    position: relative;
}

.status-card__coupon-name {
  padding: 20px;
}

.status-card__coupon-name p {
  font-size: 18px;
  font-weight: 700;
/*   text-align: center; */
}

.status-card__body {
  grid-column: span 8;
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
}

.status-card__head {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.status-card__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 4px;
}

.status-card__desc {
  font-size: 16px;
  color: var(--color-gray-500);
}

.status-card__info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--color-border);
}

.status-card__info-item {
  padding: 20px;
  border-bottom: 1px solid var(--color-border);
}

.status-card__info-item:nth-child(odd) {
  border-right: 1px solid var(--color-border);
  padding-right: 30px;
  padding-left: 0;
}

.status-card__info-item:nth-child(even) {
  padding-left: 30px;
  padding-right: 0;
}

.status-card__info-item dt {
  color: var(--color-gray-500);
  margin-bottom: 8px;
}

.status-card__info-item dd {
  font-weight: 500;
}

.status-card__coupon-num {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
/*   color: var(--tag-blue); */
}

.status-card__coupon-num span{
  color: #2870d7;
}

.status-card__copy-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  height: 28px;
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  background-color: #fff;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-black);
  line-height: 1;
  transition: border-color 0.2s ease;
}

.status-card__copy-btn:hover {
  border-color: var(--color-black);
}

.status-card__copy-btn img {
  width: 16px;
  height: 16px;
}

.status-card__link {
  text-align: end;
}

@media (max-width: 1023px) {
  .status-card__thumb,
  .status-card__body {
    grid-column: 1 / -1;
  }

  .status-card__thumb {
    flex-direction: row;
  }

  .status-card__thumb-img {
    width: 50%;
  }

  .status-card__coupon-name {
    width: 50%;
    align-self: center;
  }
}

@media (max-width: 767px) {
  .status-card {
    border-radius: var(--radius-xl);
  }

  .status-card__thumb,
  .status-card__body {
    grid-column: 1 / -1;
  }

  .status-card__thumb {
    flex-direction: column;
  }

  .status-card__thumb-img {
    padding: 20px;
    width: 100%;
  }

  .status-card__coupon-name {
    width: 100%;
  }

  .status-card__head {
    flex-direction: column;
  }

  .status-card__body {
    padding: 24px 20px;
    gap: 28px;
  }

  .status-card__title {
    font-size: 20px;
  }

  .status-card__info {
    grid-template-columns: repeat(1, 1fr);
  }

  .status-card__info-item {
    padding: 16px 0 !important;
    border-right: none !important;
  }

  .status-card__link {
    text-align: center;
  }
}



/* =========================================================
   정보 없음
========================================================= */
.empty-contents {
  width: 100%;
  height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.empty-contents p {
  color: var(--color-gray-600);
  text-align: center;
}

@media (max-width: 767px) {
  .empty-contents p {
    font-size: 15px;
  }
}

/* =========================================================
   썸네일 카드
========================================================= */
.thumb-card {
  border: 1px solid #dde0e4;
  border-radius: var(--radius-xl);
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.thumb-card__thumb {
  aspect-ratio: 1 / 0.6;
  position: relative;
  overflow: hidden;
}

.thumb-card__info {
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-top: 1px solid var(--color-border);
}

.thumb-card__badge {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: var(--color-primary);
  border-radius: var(--radius-full);
  padding: 4px 20px;
}

.thumb-card__title {
  font-size: 18px;
  font-weight: 700;
  margin: 20px 0 12px 0;
}

.thumb-card__info ul {
  display: flex;
  flex-direction: column;
  gap: 2px;
  list-style: disc;
  padding-left: 20px;
}

.thumb-card__info ul li {
  font-size: 16px;
}

@media (max-width: 767px) {
  .thumb-card {
    /* 고민 */
    border-radius: var(--radius-xl);
  }

  .thumb-card__info {
    padding: 20px;
  }

  .thumb-card__title {
    margin: 16px 0 8px 0;
  }
}


/* =========================================================
   섹션 인트로 (아이브로우 + 타이틀 + 설명, 중앙 정렬)
========================================================= */
.section{padding: 80px 0;}

.section-title {
  text-align: center;
  margin-bottom: 28px;
}

.section-title__eyebrow {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-primary) !important;
  margin-bottom: 4px;
}

.section-title__title {
  font-family: 'Paperozi';
  font-size: 24px;
  font-weight: 700;
}

.section-title__title strong {
  color: var(--color-primary);
  font-weight: 700;
}

.section-title__desc {
  margin-top: 12px;
  font-size: 16px;
}

@media (max-width: 767px) {
  .section-title {
    margin-bottom: 20px;
  }

  .section-title__eyebrow {
    font-size: 16px;
  }

  .section-title__title {
    font-size: 20px;
  }
}

/* =========================================================
   기능 소개 카드 (아이콘 + 타이틀 + 설명, 중앙 정렬)
========================================================= */
.feature-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: var(--color-gray-50);
  border-radius: var(--radius-xl);
  padding: 30px;
}

.grid {
    display: grid;
}
.gap-5 {
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.feature-card__icon {
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.feature-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.feature-card__title {
  font-size: 18px;
  font-weight: 700;
  margin-top: 20px;
}

.feature-card__desc {
  margin-top: 8px;
}



/* =========================================================
   후기 카드
========================================================= */
.review-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: var(--color-primary-50);
  border-radius: var(--radius-xl);
  padding: 40px;
}

.review-card__quote img {
  width: 24px;
  height: 24px;
}

.review-card__text {
  line-height: 1.6;
  margin: 20px 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.review-card__author {
  font-size: 15px;
  color: var(--color-gray-500);
}

/* =========================================================
   유의사항 박스
========================================================= */
.notice-box {
  background-color: var(--color-gray-50);
  border-radius: var(--radius-2xl);
  padding: 30px;
}

.notice-box__head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
  padding: 8px 24px;
  font-family: 'Paperozi';
  border-radius: var(--radius-full);
  background-color: #fff;
  line-height: 1;
}

.notice-box__head .icon {
  width: 24px;
  height: 24px;
}

.notice-box ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: disc;
  padding-left: 20px;
}

.notice-box ul li {
  font-size: 16px;
  word-break: break-all;
}

.notice-box ul li strong {
  color: var(--color-red);
  font-weight: 400;
}

@media (max-width: 767px) {
  .notice-box {
    border-radius: var(--radius-xl);
    padding: 20px;
  }
}


/* =========================================================
   외부링크 버튼
========================================================= */
.go-link {
  height: 60px !important;
  padding-right: 20px !important;
  padding-left: 24px !important;
  transition: border-color 0.2s ease;
}

.go-link:hover {
  border-color: var(--color-black);
}

.go-link .service-logo {
  margin-right: 6px;
}

.go-link .icon {
  transition: transform 0.2s ease;
}

.go-link:hover .icon {
  transform: translate(4px, -4px);
}

@media (max-width: 767px) {
  .go-link {
    height: 50px;
    padding-right: 16px;
    padding-left: 20px;
  }
}

.btn--outline {
  background-color: #fff;
  border: 1px solid var(--color-border);
  transition: border-color 0.2s ease;
}

.btn--outline:hover {
  border-color: var(--color-black);
}

/* ============================== */
/*    기프트박스 / 자소서메이커 신청현황   */
/* ============================== */
.application-overview .overview-box {
/*   border: 1px solid var(--color-gray-400); */
  border-radius: 12px;
  display: flex;
}

.application-overview .overview-box .overview-img {
  border-right: 1px solid var(--color-gray-400);
  width: 360px;
  padding: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.application-overview.gift-box .overview-box .overview-img {
  width: 440px;
}

.application-overview .overview-box .overview-img figure {
  margin: 0;
}

.application-overview .overview-box .overview-img figure img {
  width: 100%;
  height: auto;
  display: block;
}

.application-overview .overview-box .overview-img .tag {
  position: absolute;
  right: 10px;
  top: 10px;
}

.application-overview .overview-box .service-btn {
  align-self: flex-end;
  margin-top: 10px;
  width: auto;
}

.application-overview .overview-box .overview-info {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 20px 10px;
}

.application-overview .overview-box .overview-info .title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  word-break: keep-all;
  border-bottom: 1px solid var(--color-gray-400);
  padding-bottom: 20px;
}

.application-overview .overview-box .overview-info .item {
  display: flex;
  align-items: center;
  min-height: 34px;
  flex-wrap: wrap;
  gap: 8px 0;
}

.application-overview .overview-box .overview-info .item dt {
  width: 130px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  word-break: keep-all;
}

.application-overview .overview-box .overview-info .item dd {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  word-break: keep-all;
}

.application-overview .overview-box .overview-info .item dd.coupon-code {
  flex-wrap: wrap;
}

.application-overview .overview-box .overview-info .item dd .act-blue {
  color: var(--color-primary-500);
}

.application-overview .overview-box .overview-info .item dd .act-red {
  color: var(--color-red);
}

@media (max-width: 1024px) {
  .application-overview .overview-box .overview-info .item {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 768px) {
  .application-overview .overview-box {
    flex-direction: column;
  }

  .application-overview .overview-box .overview-img,
  .application-overview.gift-box .overview-box .overview-img {
    border-right: none;
    border-bottom: 1px solid var(--color-gray-400);
    width: 100%;
  }

  .application-overview .overview-box .overview-info {
    padding: 24px 20px;
  }

  .application-overview .overview-box .overview-info .title {
    padding: 0;
    border: none;
    font-size: 18px;
  }

  .application-overview .overview-box .overview-info .item dt,
  .application-overview .overview-box .overview-info .item dd {
    font-size: 14px;
  }

  .application-overview .overview-box .overview-info .item {
    flex-direction: row;
    align-items: center;
  }

  .application-overview .overview-box .service-btn {
    margin: 0;
    width: 100%;
  }

  .application-overview .overview-box .service-btn img {
    height: 16px;
  }
}

@media (max-width: 550px) {
  .application-overview .overview-box .overview-img figure img {
    width: 100%;
  }

  .application-overview .overview-box .overview-info .item {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ========================================= */
/*                컨설턴트 페이지                */
/* ========================================= */
/* 로그인/아이디찾기/회원가입 */
.account-wrap.consultant .logo-wrap {
  align-items: center;
  gap: 20px;
}

.account-wrap.consultant .user-type {
  display: inline-block;
  background-color: var(--color-white);
  padding: 12px 20px;
  border-radius: 99px;
  border: 1px solid var(--color-gray-400);
  font-weight: 600;
}

.account-wrap.consultant .account-box .find-result-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--color-primary-50);
  width: 100%;
  border-radius: 10px;
  padding: 30px;
  gap: 14px;
}

.account-wrap.consultant .account-box .find-result-box p {
  font-size: 16px;
  text-align: center;
  line-height: 1.4;
  word-break: keep-all;
}

.account-wrap.consultant .account-box .find-result-box .user-id {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-primary-500);
  display: block;
  text-decoration: underline;
}

.account-wrap.consultant .account-box .profile-wrap {
  display: flex;
  gap: 20px;
}

.account-wrap.consultant .account-box .profile-wrap .profile-img {
  flex: 1;
  overflow: hidden;
  border-radius: 6px;
}

.account-wrap.consultant .account-box .profile-wrap .profile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.account-wrap.consultant .account-box .profile-wrap .btn-wrap {
  flex-direction: column;
  align-items: flex-start;
}

.account-wrap.consultant .account-box .profile-wrap .btn-wrap .btn {
  margin: 0;
  min-width: 100px;
  width: inherit;
}

.account-wrap.consultant .account-box .attachment {
  margin: 0 !important;
  width: inherit;
}

@media (max-width: 768px) {
  .account-wrap.consultant .user-type {
    font-size: 14px;
  }

  .account-wrap.consultant .account-box .find-result-box p {
    font-size: 14px;
  }

  .account-wrap.consultant .account-box .find-result-box .user-id {
    font-size: 16px;
  }
}

@media (max-width: 550px) {
  .account-wrap.consultant .account-box .profile-wrap {
    flex-direction: column;
  }

  .account-wrap.consultant .account-box .profile-wrap .btn-wrap {
    flex-direction: row;
    justify-content: flex-start;
  }
}

/* 컨설팅 신청내역 - 리스트 */
.page-summary.consulting-date {
  margin-top: 40px;
}

.page-summary.consulting-date .info-text {
  flex-direction: row;
  align-items: center;
  gap: 14px;
}

.page-summary.consulting-date .info-line .all-date {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: var(--color-white);
  padding: 8px 24px;
  border-radius: 99px;
  margin-left: 10px;
}

.page-summary.consulting-date .info-line .all-date span {
  font-size: 18px;
  line-height: 1;
  word-break: keep-all;
}

.page-summary.consulting-date .info-line .line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.page-summary.consulting-date .info-line .line::after {
  content: "";
  width: 1px;
  height: 14px;
  background-color: var(--color-gray-700);
  margin-left: 8px;
  margin-right: 8px;
}

.page-summary.consulting-date .info-line .application {
  color: var(--color-red);
}

.page-summary.consulting-date .info-line .closed {
  color: var(--color-gray-700);
}

.page-summary.consulting-date .info-line .result {
  color: var(--color-primary-500);
}

.consulting-history-list .data-table-wrap {
  overflow-x: auto;
}

.consulting-history-list table {
  min-width: 1240px;
}

.consulting-history-list table td {
  padding: 20px 16px;
  text-align: center;
}

.consulting-history-list table .col-no,
.consulting-history-list table .col-file {
  width: 80px;
}

.consulting-history-list table .col-apply-date,
.consulting-history-list table .col-consult-date,
.consulting-history-list table .col-field {
  width: 180px;
}

.consulting-history-list table .col-apply-status,
.consulting-history-list table .col-attendance,
.consulting-history-list table .col-result {
  width: 120px;
}

.consulting-history-list table .col-applicant {
  width: auto;
}

.consulting-history-list table .col-apply-date .new {
  vertical-align: text-top;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-secondary);
  border-radius: 3px;
  width: 20px;
  height: 20px;
  color: var(--color-white);
  font-size: 12px;
  font-weight: 700;
  margin-left: 6px;
}

.consulting-history-list table .col-consult-date .time {
  font-size: 14px;
  color: var(--color-primary-500);
  margin-top: 6px;
}

.consulting-history-list table td.can-register {
  color: var(--color-primary-500);
}

.consulting-history-list table .applicant-wrap .id {
  font-size: 14px;
  color: var(--color-gray-700);
  margin-top: 6px;
}

.consulting-history-list table .col-file .file-down-btn i {
  font-size: 16px;
}

.consulting-history-list .util-wrap {
  margin-top: 20px;
}

@media (max-width: 1240px) {
  .page-summary.consulting-date .info-text {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .page-summary.consulting-date .info-line {
    justify-content: center;
    gap: 8px;
  }

  .page-summary.consulting-date .info-line .all-date span {
    font-size: 16px;
  }

  .consulting-history-list table {
    min-width: 960px;
  }

  .consulting-history-list table .col-no {
    width: 60px !important;
  }

  .consulting-history-list table .col-apply-date,
  .consulting-history-list table .col-consult-date {
    width: 150px;
  }

  .consulting-history-list table .col-apply-status,
  .consulting-history-list table .col-attendance {
    width: 80px;
  }

  .consulting-history-list table .col-result {
    width: 90px;
  }

  .consulting-history-list table .col-field {
    width: 120px;
  }
}

@media (max-width: 450px) {
  .page-summary.consulting-date .info-text {
    width: 100%;
    gap: 14px;
  }

  .page-summary.consulting-date .info-line {
    flex-direction: column;
    width: 100%;
    gap: 6px;
  }

  .page-summary.consulting-date .info-line .line::after {
    content: none;
  }

  .page-summary.consulting-date .info-line .all-date {
    flex-direction: column;
    gap: 2px;
    margin: 0;
    border-radius: 8px;
    padding: 12px;
    width: 100%;
  }
}

/* 컨설팅 신청내역 - 상세페이지 */
.consultiong-detail .table-detail .btn-wrap {
  display: inline-flex;
  margin-left: 8px;
}

.consultiong-detail .table-detail .value-consultiong-date .d-day {
  color: var(--color-red);
  font-weight: 700;
}

.consultiong-detail .table-detail .value-request-status .cancelable-btn {
  margin-left: 8px;
  vertical-align: revert;
}

.consultiong-detail .table-detail .value-result-register {
  position: relative;
}

.consultiong-detail .table-detail .value-result-register .result-btn {
  margin-left: 8px;
  vertical-align: revert;
}

.consultiong-detail
  .table-detail
  .value-result-register
  .template-download-btn {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}

.consultiong-detail
  .table-detail
  .value-result-register
  .template-download-btn:hover {
  text-decoration: underline;
}

.consultiong-detail .table-detail .value-applicant-info .info-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}

.consultiong-detail .table-detail .value-applicant-info .info-list .info-item {
  font-weight: 500;
  color: var(--color-gray-700);
  display: flex;
  gap: 8px;
}

.consultiong-detail
  .table-detail
  .value-applicant-info
  .info-list
  .info-item
  span {
  color: var(--color-black);
}

.consultiong-detail .table-detail .value-attachment .attachment-down {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--color-primary);
}

.consultiong-detail .table-detail .value-attachment .attachment-down:hover {
  text-decoration: underline;
}

.consultiong-detail .table-detail .value-attachment .capacity {
  color: var(--color-gray-600);
}

/* 컨설팅 일정관리 - 캘린더 */
.page-summary.consultant .info-text {
  align-items: center;
  width: 100%;
}

.page-summary.consultant .info-line.line {
  margin-top: 12px;
  padding-top: 20px;
  width: 100%;
  justify-content: center;
  border-top: 1px dashed var(--color-gray-400);
}

.page-summary.consultant .info-line .line {
  display: flex;
  align-items: center;
  gap: 6px;
}

.page-summary.consultant .info-line .line::after {
  content: "";
  width: 1px;
  height: 14px;
  background-color: var(--color-gray-700);
  margin-left: 8px;
  margin-right: 8px;
}

.page-summary.consultant .info-line .application {
  color: var(--color-red);
}

.page-summary.consultant .info-line .result {
  color: var(--color-primary-500);
}

.consulting-schedule .consulting-schedule-wrap .calendar-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-header
  .calendar-btn-wrap {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.consulting-schedule .consulting-schedule-wrap .calendar-navigation {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: -14px;
}

.consulting-schedule .consulting-schedule-wrap .calendar-navigation .btn-icon {
  width: 44px;
  height: 44px;
  border: none;
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-navigation
  .btn-icon
  i {
  font-size: 24px;
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-navigation
  .current-month {
  font-size: 24px;
  font-weight: 700;
}

.consulting-schedule .consulting-schedule-wrap .calendar-header .state-wrap {
  display: flex;
  align-items: center;
  gap: 20px;
}

.consulting-schedule .consulting-schedule-wrap .calendar-header .state-wrap li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 600;
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-header
  .state-wrap
  li
  span {
  width: 16px;
  height: 16px;
  border: 3px solid transparent;
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-header
  .state-wrap
  li
  span.today {
  border-color: var(--color-primary-200);
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-header
  .calendar-btn-wrap
  .today-btn {
  min-width: auto;
}

.consulting-schedule
  .consulting-schedule-wrap
  .calendar-header
  .calendar-btn-wrap
  .btn-wrap {
  flex-wrap: wrap;
}

.consulting-schedule .consultant-calendar {
  padding: 0;
  border: none;
  border-radius: 0;
}

.consulting-schedule .consultant-calendar table thead th {
  padding: 20px 10px;
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-400);
}

.consulting-schedule .consultant-calendar table td {
  padding: 16px;
  height: 100px;
  vertical-align: top;
  border: 1px solid var(--color-gray-400);
}

.consulting-schedule .consultant-calendar table td.today {
  box-shadow: inset 0 0 0 3px var(--color-primary-200);
}

.consulting-schedule .consultant-calendar table .day-cell {
  padding: 0;
  border-radius: 0;
  background-color: transparent;
  border: none;
  position: relative;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
}

.consulting-schedule .consultant-calendar table .day-cell .day {
  display: inherit;
  opacity: 1;
}

.consulting-schedule .consultant-calendar table .day-cell .schedule-add-btn {
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  color: var(--color-gray-300);
      CURSOR: POINTER;
}

.consulting-schedule .consultant-calendar table .day-cell .schedule-add-btn i {
  font-size: 20px;
  color: var(--color-gray-700);
}

.consulting-schedule .consultant-calendar table .day-cell .total-schedule {
  position: absolute;
  right: 0;
  bottom: 0;
}

.consulting-schedule .consultant-calendar table .day-cell .total-schedule,
.consulting-schedule .consultant-calendar table .day-cell .total-schedule span {
  font-size: 16px;
  letter-spacing: -1.5px;
}

.consulting-schedule
  .consultant-calendar
  table
  .day-cell
  .total-schedule.no-schedule,
.consulting-schedule
  .consultant-calendar
  table
  .day-cell
  .total-schedule.no-schedule
  span {
  color: var(--color-gray-700);
}

.consulting-schedule
  .consultant-calendar
  table
  .day-cell
  .total-schedule.has-schedule,
.consulting-schedule
  .consultant-calendar
  table
  .day-cell
  .total-schedule.has-schedule
  span {
  color: var(--color-primary-500);
}

.consulting-schedule .modal-popup .info-wrap-box {
  align-items: flex-start;
}

.consulting-schedule .modal-popup .value-consult-time .checkbox-wrap {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.consulting-schedule .modal-popup .value-consult-time .checkbox-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.consulting-schedule
  .modal-popup
  .value-consult-time
  .checkbox-button
  .label-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 40px;
  background-color: var(--color-white);
  color: var(--color-primary);
  /* border: 1px solid var(--color-primary); */
  border: 1px solid var(--color-primary-100);
  border-radius: 6px;
  font-size: 14px;
  letter-spacing: -0.2px;
  font-weight: 500;
}

.consulting-schedule
  .modal-popup
  .value-consult-time
  .checkbox-button
  input:checked
  + .label-text {
  background-color: var(--color-primary-100);
  border: 1px solid var(--color-primary);
}

.consulting-schedule
  .modal-popup
  .value-consult-time
  .checkbox-button
  .label-text.disabled {
  border-color: 1px solid var(--color-gray-400);
  background-color: var(--color-gray-200);
  color: var(--color-gray-500);
  cursor: default;
}

.consulting-schedule .modal-popup .time-slot-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

.consulting-schedule .modal-popup .time-slot-icon i {
  font-size: 28px;
  color: var(--color-primary);
}

/* 추가 */
.consulting-schedule .modal-popup .value-consult-time .checkbox-button {
  position: relative;
}

.consulting-schedule
  .modal-popup
  .value-consult-time
  .checkbox-button
  .close-icon {
  background-color: var(--color-gray-100);
  border: 1px solid var(--color-gray-400);
  width: 20px;
  height: 20px;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: -6px;
  top: -6px;
}

.consulting-schedule
  .modal-popup
  .value-consult-time
  .checkbox-button
  .close-icon
  i {
  font-size: 12px;
}

@media (max-width: 960px) {
  .consulting-schedule .consulting-schedule-wrap .calendar-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-header
    .calendar-btn-wrap {
    flex-direction: column;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-header
    .calendar-btn-wrap {
    gap: 10px 20px;
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-navigation
    .btn-icon {
    width: 40px;
    height: 40px;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-navigation
    .current-month {
    font-size: 20px;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-navigation
    .btn-icon
    i {
    font-size: 20px;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-header
    .state-wrap
    li
    span {
    width: 14px;
    height: 14px;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-header
    .state-wrap
    li {
    font-size: 14px;
  }

  .consulting-schedule .consultant-calendar table thead th {
    padding: 16px 10px;
  }

  .consulting-schedule .consultant-calendar table td {
    padding: 10px;
    height: 80px;
  }

  .consulting-schedule .consultant-calendar table .day-cell .total-schedule,
  .consulting-schedule
    .consultant-calendar
    table
    .day-cell
    .total-schedule
    span {
    font-size: 14px;
  }
}

@media (max-width: 650px) {
  .consulting-schedule .consulting-schedule-wrap .calendar-header {
    flex-direction: column;
  }

  .consulting-schedule
    .consulting-schedule-wrap
    .calendar-header
    .calendar-btn-wrap {
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

@media (max-width: 550px) {
  .consulting-schedule .consultant-calendar table thead th {
    padding: 12px 8px;
  }

  .consulting-schedule .consultant-calendar table td {
    padding: 8px;
    height: 60px;
  }

  .consulting-schedule .consultant-calendar table .day-cell .total-schedule,
  .consulting-schedule
    .consultant-calendar
    table
    .day-cell
    .total-schedule
    span {
    font-size: 12px;
  }
}

/* 컨설팅 정보관리 - 인트로 */
.consulting-manage-intro .intro-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

.consulting-manage-intro .intro-img {
  width: 180px;
  height: 180px;
  overflow: hidden;
}

.consulting-manage-intro .intro-img img {
  width: 100%;
  height: 100%;
}

.consulting-manage-intro .intro-box {
  width: 640px;
  border-radius: 10px;
  padding: 40px;
  background-color: var(--color-gray-50);
}

.consulting-manage-intro .intro-box p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  word-break: keep-all;
}

.consulting-manage-intro .intro-box p span {
  display: block;
  word-break: keep-all;
}

@media (max-width: 768px) {
  .consulting-manage-intro .intro-wrap {
    gap: 40px;
  }

  .consulting-manage-intro .intro-img {
    width: 140px;
    height: 140px;
  }

  .consulting-manage-intro .intro-box {
    width: 100%;
    padding: 24px 20px;
  }

  .consulting-manage-intro .intro-box p {
    font-size: 14px;
  }
}

/* 컨설팅 정보관리 - 정보등록 */
.consulting-manage .table-detail .attachment {
  margin-bottom: 0;
}

.consulting-manage .table-detail .value-profile .profile-wrap {
  display: flex;
  align-items: center;
  gap: 20px 40px;
  flex-wrap: wrap;
}

.consulting-manage .table-detail .value-profile .profile-img {
  width: 200px;
  height: 200px;
  overflow: hidden;
  border-radius: 6px;
}

.consulting-manage .table-detail .value-profile .profile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.consulting-manage .table-detail .field-group,
.consulting-manage .table-detail .field-group input {
  min-width: auto;
  width: 100%;
}

.consulting-manage .guide {
  border-radius: 14px;
  background-color: var(--color-primary-50);
  border: 1px solid var(--color-primary-300);
  padding: 40px;
}

@media (max-width: 768px) {
  .consulting-manage .guide {
    padding: 24px 20px;
  }
}

@media (max-width: 550px) {
  .consulting-manage .table-detail .value-profile .profile-img {
    width: 100%;
    height: 100%;
  }
}

/* 마이페이지 */
.page-summary.consultant {
  margin-bottom: 40px;
}

.consultant-info .table-detail .value-id-card-copy .attachment,
.consultant-info .table-detail .value-bank-copy .attachment {
  margin-bottom: 0;
}

.consultant-info .table-detail .value-profile .profile-wrap {
  display: flex;
  align-items: center;
  gap: 20px 40px;
  flex-wrap: wrap;
}

.consultant-info .table-detail .value-profile .profile-img {
  width: 200px;
  height: 200px;
  overflow: hidden;
  border-radius: 6px;
}

.consultant-info .table-detail .value-profile .profile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 550px) {
  .consultant-info .table-detail .value-profile .profile-img {
    width: 100%;
    height: 100%;
  }
}

/* ========================================= */
/*             컨설턴트 페이지 - 공통             */
/* ========================================= */
/* 페이지 */
.page-header.consultant-page h1 {
  margin-bottom: 0;
}

/* 탭 */
.consultant-page-tab {
  margin-bottom: 60px;
}

.consultant-page-tab .sub-tab-list {
  gap: 0;
  border-bottom: 1px solid var(--color-gray-400);
}

.consultant-page-tab .sub-tab-list .tab-item {
  flex: 1;
}

@media (max-width: 768px) {
  .consultant-page-tab {
    margin-bottom: 40px;
  }
}

/* 상세검색 */
.page-summary.consultant-page .box {
  padding: 0;
}

.page-summary.consultant-page .box .detail-search-box {
  padding: 40px 60px;
}

.page-summary.consultant-page .detail-search-btn {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 20px 60px;
  border-top: 1px solid var(--color-gray-400);
}

.page-summary.consultant-page .detail-search-btn .detail-btn {
  position: inherit;
  padding: 0;
  height: inherit;
  gap: 10px;
  border-radius: 0;
  background-color: transparent;
}

.page-summary.consultant-page .detail-search-btn .detail-btn i {
  font-size: 16px;
}

.page-summary.consultant-page .view-filter-group {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: left;
  margin: 0;
}

.page-summary.consultant-page .view-filter-group .filter-row {
  display: flex;
  align-items: center;
}

.page-summary.consultant-page .view-filter-group .filter-row .label-title {
  font-size: 16px;
  font-weight: 600;
  width: 100px;
}

.page-summary.consultant-page .view-filter-group .checkbox-wrap {
  display: flex;
  gap: 8px;
  flex: 1;
  flex-wrap: wrap;
}

.page-summary.consultant-page
  .view-filter-group
  .checkbox-wrap
  .checkbox-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.page-summary.consultant-page
  .view-filter-group
  .checkbox-wrap
  .checkbox-button
  .label-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  width: 120px;
  height: 44px;
  background-color: var(--color-white);
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 6px;
  font-size: 16px;
  font-weight: 500;
}

.page-summary.consultant-page
  .view-filter-group
  .checkbox-wrap
  .checkbox-button
  .label-text.active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  width: 120px;
  height: 44px;
  background-color: var(--color-primary-100);
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 6px;
  font-size: 16px;
  font-weight: 500;
}


.page-summary.consultant-page
  .view-filter-group
  .checkbox-wrap
  .checkbox-button
  input:checked
  + .label-text {
  background-color: var(--color-primary-100);
}

.page-summary.consultant-page .view-filter-group .search-area {
  flex: 1;
  justify-content: flex-start;
}

.page-summary.consultant-page .view-filter-group .search-area .search-box {
  width: 100%;
}

/* 상세검색 - 내부 */
.page-summary.consultant-page .filter-group {
  margin-top: 24px;
}

@media (max-width: 768px) {
  .page-summary.consultant-page .box .detail-search-box {
    padding: 24px 20px;
    padding: 0;
  }

  .page-summary.consultant-page .view-filter-group .filter-row,
  .page-summary .filter-group .filter-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .page-summary .filter-group .filter-row .select-wrap {
    width: 100%;
  }

  .page-summary.consultant-page .view-filter-group .filter-row .label-title,
  .page-summary .filter-group .filter-row .label-title {
    font-size: 14px;
  }

  .page-summary.consultant-page
    .view-filter-group
    .checkbox-wrap
    .checkbox-button
    .label-text {
    font-size: 14px;
    height: 40px;
    width: 100px;
  }

  .page-summary.consultant-page .detail-search-btn {
    padding: 0;
    padding-top: 20px;
    border-top: none;
  }
}

/* 테이블 섹션 */
.consultant-page.section-wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.consultant-page.section-wrap .section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.consultant-page.section-wrap .section-header .section-title {
  font-size: 20px;
  font-weight: 700;
}

@media (max-width: 768px) {
  .consultant-page.section-wrap .section-header .section-title {
    font-size: 18px;
  }
}

/* 온라인클래스 - 강의시청 모달 */
.modal-popup.class-video .popup-header {
  gap: 20px;
}

.modal-popup.class-video .popup-header h2 {
  word-break: keep-all;
  height: 1em;
  -webkit-line-clamp: 1; /* 1줄로 제한 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
}

.modal-popup.class-video .video-frame {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: 56.25%;
  background-color: #000;
  overflow: hidden;
}

.modal-popup.class-video .video-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 약관 팝업 */
.modal-popup .policy-wrap p,
.modal-popup .policy-wrap b,
.modal-popup .policy-wrap li {
  font-size: 16px;
  line-height: 1.4;
}

.modal-popup .policy-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.modal-popup .policy-wrap > div > b {
  margin-bottom: 4px;
  display: block;
}

.modal-popup .policy-wrap ol {
  list-style: decimal;
  list-style-position: inside;
  padding-left: 20px;
}

.modal-popup .policy-wrap ol li {
  text-indent: -20px;
}

.modal-popup .policy-wrap ol li > ul {
  margin-top: 4px;
  list-style-type: disc;
  list-style-position: inside;
  padding-left: 20px;
}

@media (max-width: 768px) {
  .modal-popup .policy-wrap {
    gap: 12px;
  }

  .modal-popup .policy-wrap p,
  .modal-popup .policy-wrap b,
  .modal-popup .policy-wrap li {
    font-size: 14px;
  }
}

/* ============================== */
/*              AI 면접            */
/* ============================== */
.ai-interview-wrap .section-wrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}

.ai-interview-wrap .banner {
  position: relative;
  width: 100%;
  /* padding-top: 29%; */
  overflow: hidden;
  border-radius: var(--radius-2xl);
}

.ai-interview-wrap .banner img {
  /* position: absolute; */
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ai-interview-wrap .section-title {
/*  font-family: "Paperozi";  */
  font-size: 24px;
  word-break: keep-all;
  line-height: 1.2;
}

.ai-interview-wrap .section-title b {
  color: #5d43ef;
  font-family: "ClipArtKorea-bold";
}

/* .ai-interview-wrap .section-title small {
  font-size: 24px;
  font-family: "SUIT";
  font-weight: 500;
  display: block;
  margin-bottom: 6px;
} */

.ai-interview-wrap .section-decor {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  margin-bottom: -60px;
}

.ai-interview-wrap .section-decor .circle {
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: #5d43ef;
  display: block;
}

.ai-interview-wrap .section-decor .circle.circle-1 {
  background-color: #5d43ef33;
}

.ai-interview-wrap .section-decor .circle.circle-2 {
  background-color: #5d43ef99;
}

.ai-interview-wrap .introduce {
/*   display: flex; */
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  width: 100%;
}

.ai-interview-wrap .introduce .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ai-interview-wrap .introduce .text-wrap p {
  line-height: 1.4;
}

.ai-interview-wrap .introduce .text-wrap p span {
  display: block;
}

.ai-interview-wrap .introduce .noteme-img {
  height: 360px;
}

.ai-interview-wrap .feature {
  width: 100%;
  background-color: var(--color-gray-50);
  border-radius: 14px;
  padding: 60px 20px;
}

.ai-interview-wrap .feature .section-title {
  text-align: center;
}

.ai-interview-wrap .feature .info-list {
  width: 100%;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}

.ai-interview-wrap .feature .info-list .item-box {
  display: flex;
  flex-direction: column;
  justify-items: center;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.ai-interview-wrap .feature .info-list .item-box img {
  width: 280px;
}

.ai-interview-wrap .feature .info-list .item-box h3 {
  font-family: "ClipArtKorea";
  font-size: 22px;
  word-break: keep-all;
  line-height: 1.2;
}

.ai-interview-wrap .feature .info-list .item-box p {
  font-size: 16px;
  line-height: 1.4;
}

.ai-interview-wrap .feature .info-list .item-box p span {
  display: block;
}

.ai-interview-wrap .review-wrap {
  padding: 40px 0;
  width: 100%;
}

.ai-interview-wrap .review-wrap .section-title {
  text-align: center;
}

.ai-interview-wrap .review-wrap .swiper {
  width: 100%;
  margin-top: 40px;
  padding-bottom: 40px;
}

.ai-interview-wrap .review-wrap .swiper-slide {
  background-color: #f6f5ff;
  border-radius: 40px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-bottom: 16px;
}

.ai-interview-wrap .section-wrap section {
	width: 100%;
}
/* =========================================================
   후기 카드
========================================================= */
.ai-interview-wrap .review-wrap .review-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: var(--color-primary-50);
  border-radius: var(--radius-xl);
  padding: 40px;
}


.ai-interview-wrap .review-wrap .review-box p {
  margin: 20px 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ai-interview-wrap .review-wrap .review-box span {
  font-size: 15px;
  color: var(--color-gray-700);
}

.ai-interview-wrap .review-wrap > p {
  color: var(--color-gray-700);
  text-align: center;
  margin-top: 40px;
  line-height: 1.4;
}

.review-box img {
  width: 24px;
  height: 24px;
}

.review-card__text {
  line-height: 1.6;
  margin: 20px 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.review-card__author {
  font-size: 15px;
  color: var(--color-gray-500);
}
.swiper-horizontal
  > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  bottom: 0;
}

.swiper-pagination-bullet-active {
  background: #5d43ef;
}

.ai-interview-wrap .guide {
  width: 100%;
  border-radius: 14px;
  background-color: var(--color-gray-50);
/*   border: 1px solid var(--color-gray-400);
  padding: 40px; */
}

.ai-interview-wrap .service-btn {
  width: 300px;
  height: 50px;
  gap: 6px;
}

@media (max-width: 768px) {
	
.ai-interview-wrap .feature .info-list .item-box img {
  width: 200px;
}
	
  .ai-interview-wrap .section-wrap {
    gap: 40px;
  }

  .ai-interview-wrap .banner {
    /* padding-top: 100%; */
  }

  .ai-interview-wrap .section-decor {
    gap: 20px;
    margin-bottom: 0;
  }

  .ai-interview-wrap .section-decor .circle {
    width: 8px;
    height: 8px;
  }

  .ai-interview-wrap .section-title {
    font-size: 24px;
    text-align: center;
  }

  .ai-interview-wrap .section-title small {
    font-size: 18px;
  }

  .ai-interview-wrap .introduce {
    flex-direction: column;
    gap: 20px;
  }

  .ai-interview-wrap .introduce .text-wrap p {
    text-align: center;
  }

  .ai-interview-wrap .introduce .text-wrap p span {
    display: initial;
  }

  .ai-interview-wrap .introduce .noteme-img {
    height: auto;
    width: 60%;
    margin-left: auto;
  }

  .ai-interview-wrap .feature {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .ai-interview-wrap .feature .info-list {
    margin-top: 30px;
    gap: 28px;
  }

  .ai-interview-wrap .feature .info-list .item-box h3 {
    font-size: 20px;
  }

  .ai-interview-wrap .review-wrap .swiper-slide {
    border-radius: 30px;
  }

  .ai-interview-wrap .review-wrap .review-box {
    padding: 60px 30px 30px 30px;
    gap: 20px;
  }

  .ai-interview-wrap .review-wrap .review-box::before {
    width: 26px;
    height: 26px;
    background-size: 100%;
    top: 24px;
    left: 30px;
  }

  .ai-interview-wrap .review-wrap .review-box p {
    font-size: 16px;
    -webkit-line-clamp: 4;
  }

  .ai-interview-wrap .review-wrap > p {
    font-size: 14px;
    margin-top: 40px;
  }

  .ai-interview-wrap .guide {
    padding: 24px 20px;
  }

  .ai-interview-wrap .service-btn {
    width: 100%;
    height: 44px;
    gap: 6px;
  }

  .ai-interview-wrap .service-btn img {
    height: 18px;
  }
}

@media (max-width: 550px) {
}

/* ============================== */
/*          온라인 민간자격증         */
/* ============================== */
.online-certificate-wrap .section-wrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}

.online-certificate-wrap .section-wrap section {
  width: 100%;
}

.online-certificate-wrap .banner {
  position: relative;
  width: 100%;
  padding-top: 30%;
  overflow: hidden;
  border-radius: 14px;
}

.online-certificate-wrap .banner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.online-certificate-wrap .class .section-title {
  font-family: "SeoulNotice";
  font-size: 30px;
  margin-top: 8px;
  text-align: center;
  word-break: keep-all;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.online-certificate-wrap .class .desc {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  word-break: keep-all;
}

.online-certificate-wrap .class-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 40px;
}

.online-certificate-wrap .card-link.line {
  border: inherit;
}

.online-certificate-wrap .card-link.line .card-main .card-img {
  border-radius: 14px;
  border: 1px solid var(--color-gray-400);
}

.online-certificate-wrap .card-link.line .card-main .card-info {
  padding: 0;
  padding-top: 20px;
  background-color: inherit;
  border: inherit;
}

.online-certificate-wrap .card-main .card-info .title {
  font-family: "SeoulNotice";
  font-size: 20px;
  line-height: 1.4;
  margin-top: 14px;
  margin: 0;
  height: auto;
  -webkit-line-clamp: inherit;
  -webkit-box-orient: inherit;
  overflow: inherit;
  text-overflow: inherit;
  display: inherit;
  text-align: center;
}

.online-certificate-wrap .card-link.line:hover .title {
  text-decoration: inherit;
}

.online-certificate-wrap .card-main .certificate-number {
  text-align: center;
  margin-top: 16px;
}

.online-certificate-wrap .card-main .certificate-number span {
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
  padding: 4px 20px;
  border-radius: 100px;
  background-color: #fff5ed;
  border: 1px solid #ff7700;
}

.online-certificate-wrap .card-main .certificate-number p {
  font-size: 14px;
  font-weight: 500;
  margin-top: 8px;
}

.online-certificate-wrap .card-main .certificate-desc {
  border-radius: 14px;
  background-color: var(--color-gray-100);
  padding: 16px 20px;
  margin-top: 20px;
}

.online-certificate-wrap .card-main .certificate-desc ul {
  margin-left: 32px;
}

.online-certificate-wrap .card-main .certificate-desc ul li {
  margin-bottom: 8px;
  position: relative;
}

.online-certificate-wrap .card-main .certificate-desc ul li:last-child {
  margin-bottom: 0;
}

.online-certificate-wrap .card-main .certificate-desc ul li::before {
  content: url("../images/icon/list-check.svg");
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-60%);
  left: -32px;
}

.online-certificate-wrap .card-main .certificate-desc ul li p {
  line-height: 1.2;
  word-break: keep-all;
}

.online-certificate-wrap .benefit-wrap {
  width: 100%;
  padding: 30px 0;
  background-color: #e9f6ff;
  border-radius: 14px;
  display: flex;
}

.online-certificate-wrap .benefit-wrap .benefit {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-end;
  padding: 0 40px;
}

.online-certificate-wrap .benefit-wrap .benefit > div {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.online-certificate-wrap .benefit-wrap .benefit-1 {
  border-right: 1px dashed #046ab466;
}

.online-certificate-wrap .benefit-wrap .benefit h3 {
  font-family: "SeoulNotice";
  font-size: 20px;
  line-height: 1.4;
  color: #046ab4;
}

.online-certificate-wrap .benefit-wrap .benefit ul {
  margin-left: 20px;
}

.online-certificate-wrap .benefit-wrap .benefit ul li {
  margin-bottom: 4px;
  position: relative;
}

.online-certificate-wrap .benefit-wrap .benefit ul li:last-child {
  margin-bottom: 0;
}

.online-certificate-wrap .benefit-wrap .benefit ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: #046ab4;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -16px;
}

.online-certificate-wrap .benefit-wrap .benefit ul li p {
  line-height: 1.2;
  word-break: keep-all;
}

.online-certificate-wrap .benefit-wrap .benefit .icon {
  width: 100px;
  height: 100px;
  display: block;
}

.online-certificate-wrap .benefit-wrap .benefit .icon img {
  height: 100%;
}

.online-certificate-wrap .guide {
  border-radius: 14px;
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-400);
  padding: 40px;
}

.online-certificate-wrap .service-btn {
  width: 300px;
  height: 50px;
  gap: 6px;
}

.online-certificate-wrap .service-btn img {
  height: 20px;
}

@media (max-width: 1280px) {
  .online-certificate-wrap .class-wrap {
    gap: 20px;
  }
}

@media (max-width: 1024px) {
  .online-certificate-wrap .class-wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .online-certificate-wrap .section-wrap {
    gap: 40px;
  }

  .online-certificate-wrap .banner {
    padding-top: 122%;
  }

  .online-certificate-wrap .class .section-title {
    font-size: 22px;
    margin-top: 4px;
  }

  .online-certificate-wrap .class .section-title img {
    height: 22px;
  }

  .online-certificate-wrap .class .desc {
    font-size: 16px;
  }

  .online-certificate-wrap .class-wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }

  .online-certificate-wrap .benefit-wrap {
    padding: 0 20px;
    flex-direction: column;
  }

  .online-certificate-wrap .benefit-wrap .benefit {
    padding: 20px 0;
  }

  .online-certificate-wrap .benefit-wrap .benefit-1 {
    border-bottom: 1px dashed #046ab466;
    border-right: none;
  }

  .online-certificate-wrap .benefit-wrap .benefit h3 {
    font-size: 18px;
  }

  .online-certificate-wrap .benefit-wrap .benefit ul li::before {
    top: 26%;
  }

  .online-certificate-wrap .guide {
    padding: 24px 20px;
  }

  .online-certificate-wrap .service-btn {
    width: 100%;
    height: 44px;
    gap: 6px;
  }

  .online-certificate-wrap .service-btn img {
    height: 20px;
  }
}

/* ============================== */
/*         온라인 검사 - 인적성        */
/* ============================== */
.aptitude-test-wrap .section-wrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}

.aptitude-test-wrap .section-wrap section {
  width: 100%;
}

.aptitude-test-wrap .banner {
  position: relative;
  width: 100%;
  padding-top: 28%;
  overflow: hidden;
  border-radius: 14px;
}

.aptitude-test-wrap .banner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aptitude-test-wrap .introduce {
  padding: 20px 0;
}

.aptitude-test-wrap .section-title {
  font-family: "NexonCartGothic";
  font-size: 40px;
  text-align: center;
  word-break: keep-all;
  line-height: 1.4;
}

.aptitude-test-wrap .introduce > div {
  display: flex;
  gap: 20px;
  margin-top: 40px;
}

.aptitude-test-wrap .introduce > div .test-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.aptitude-test-wrap .introduce .test-box > img {
  width: 320px;
}

.aptitude-test-wrap .introduce .test-box .info {
  border-radius: 500px;
  padding: 4px;
  background: linear-gradient(to bottom, #b8ecff 0%, #ffffff 60%, #ffffff 100%);
}

.aptitude-test-wrap .introduce .test-box.job-aptitude .info {
  background: linear-gradient(to bottom, #bacdff 0%, #ffffff 60%, #ffffff 100%);
}

.aptitude-test-wrap .introduce .test-box .info .inner {
  background: #fff;
  border-radius: 500px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 32px;
}

.aptitude-test-wrap .introduce .test-box .info .inner h3 {
  font-family: "NexonCartGothic";
  font-size: 26px;
  margin-bottom: 8px;
  color: #19b3eb;
}

.aptitude-test-wrap .introduce .test-box.job-aptitude .info .inner h3 {
  color: #396bdf;
}

.aptitude-test-wrap .introduce .test-box .info .inner p {
  line-height: 1.2;
  word-break: keep-all;
}

.aptitude-test-wrap .introduce > p {
  color: var(--color-gray-700);
  margin-top: 40px;
  text-align: center;
  line-height: 1.3;
}

.aptitude-test-wrap .guide {
  border-radius: 14px;
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-400);
  padding: 40px;
}

.aptitude-test-wrap .service-btn {
  width: 300px;
  height: 50px;
  gap: 6px;
}

.aptitude-test-wrap .service-btn img {
  height: 30px;
}

@media (max-width: 768px) {
  .aptitude-test-wrap .section-wrap {
    gap: 40px;
  }

  .aptitude-test-wrap .banner {
    padding-top: 110%;
  }

  .aptitude-test-wrap .section-title {
    font-size: 30px;
  }

  .aptitude-test-wrap .introduce > div {
    margin-top: 30px;
    flex-direction: column;
    gap: 60px;
  }

  .aptitude-test-wrap .introduce .test-box > img {
    width: 60%;
  }

  .aptitude-test-wrap .introduce .test-box .info {
    background: linear-gradient(
      to bottom,
      #b8ecff 0%,
      #ffffff 50%,
      #ffffff 100%
    );
  }

  .aptitude-test-wrap .introduce .test-box.job-aptitude .info {
    background: linear-gradient(
      to bottom,
      #bacdff 0%,
      #ffffff 50%,
      #ffffff 100%
    );
  }

  .aptitude-test-wrap .introduce .test-box .info .inner {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 20px;
  }

  .aptitude-test-wrap .introduce .test-box .info .inner h3 {
    font-size: 26px;
    text-align: center;
  }

  .aptitude-test-wrap .introduce .test-box .info .inner p {
    text-align: center;
  }

  .aptitude-test-wrap .introduce > p {
    font-size: 14px;
  }

  .aptitude-test-wrap .guide {
    padding: 24px 20px;
  }

  .aptitude-test-wrap .service-btn {
    width: 100%;
    height: 44px;
    gap: 6px;
  }
}

@media (max-width: 500px) {
  .aptitude-test-wrap .introduce .test-box > img {
    width: 80%;
  }
}

/* ============================== */
/*         온라인 검사 - NCS         */
/* ============================== */
.ncs-test-wrap .section-wrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  align-items: center;
}

.ncs-test-wrap .section-wrap section {
  width: 100%;
}

.ncs-test-wrap .banner {
  position: relative;
  width: 100%;
  padding-top: 28%;
  overflow: hidden;
  border-radius: 14px;
}

.ncs-test-wrap .banner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ncs-test-wrap .introduce {
  padding: 30px 50px;
  border: 1px dashed #86dfd0;
  border-radius: 14px;
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: space-between;
}

.ncs-test-wrap .introduce h2 {
  font-family: "NexonCartGothic";
  font-size: 26px;
  word-break: keep-all;
  margin-bottom: 20px;
  color: #29ac96;
}

.ncs-test-wrap .introduce p {
  line-height: 1.4;
}

.ncs-test-wrap .introduce img {
  height: 120px;
}

.ncs-test-wrap .classify h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
  position: relative;
  margin-left: 34px;
}

.ncs-test-wrap .classify h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -34px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url("../images/icon/circle-title.svg") no-repeat center / contain;
}

.ncs-test-wrap .classify table thead th {
  background-color: #e2faf6;
  padding: 16px;
  text-align: center;
  border-bottom: 1px solid var(--color-gray-400);
}

.ncs-test-wrap .classify table tbody td {
  padding: 16px;
}

.ncs-test-wrap .classify table tbody td:first-child {
  background-color: var(--color-gray-50);
}

.ncs-test-wrap .classify .table-detail .col-basic {
  width: 200px;
  text-align: center;
}

.ncs-test-wrap .classify .table-detail .col-sub {
  width: auto;
  padding-left: 24px;
  padding-right: 24px;
}

.ncs-test-wrap .classify > p {
  color: var(--color-gray-700);
  margin-top: 12px;
  line-height: 1.3;
}

.ncs-test-wrap .guide {
  border-radius: 14px;
  background-color: var(--color-gray-50);
  border: 1px solid var(--color-gray-400);
  padding: 40px;
}

.ncs-test-wrap .service-btn {
  width: 300px;
  height: 50px;
  gap: 6px;
}

.ncs-test-wrap .service-btn img {
  height: 30px;
}

@media (max-width: 768px) {
  .ncs-test-wrap .section-wrap {
    gap: 40px;
  }

  .ncs-test-wrap .banner {
    padding-top: 130%;
  }

  .ncs-test-wrap .introduce {
    padding: 24px;
    flex-direction: column;
    gap: 20px;
  }

  .ncs-test-wrap .introduce h2 {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .ncs-test-wrap .introduce img {
    margin-left: auto;
  }

  .ncs-test-wrap .classify h3 {
    font-size: 18px;
    margin-bottom: 12px;
    margin-left: 30px;
  }

  .ncs-test-wrap .classify h3::before {
    width: 20px;
    height: 20px;
    left: -30px;
  }

  .ncs-test-wrap .classify .table-detail {
    display: table;
  }

  .ncs-test-wrap .classify .table-detail tbody {
    display: table-row-group;
  }

  .ncs-test-wrap .classify .table-detail tr {
    display: table-row;
  }

  .ncs-test-wrap .classify .table-detail th {
    display: table-cell;
  }

  .ncs-test-wrap .classify .table-detail td {
    display: table-cell;
  }

  .ncs-test-wrap .classify .table-detail .col-basic {
    width: 140px;
  }

  .ncs-test-wrap .classify .table-detail .col-sub {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ncs-test-wrap .classify > p {
    font-size: 14px;
  }

  .ncs-test-wrap .guide {
    padding: 24px 20px;
  }

  .ncs-test-wrap .service-btn {
    width: 100%;
    height: 44px;
    gap: 6px;
  }
}

/* ============================== */
/*         메인페이지 추가 섹션        */
/* ============================== */
/* ai 모의면접 */
.main-ai-interview .interniew-wrap {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: center;
}

.main-ai-interview .interniew-wrap > img {
  height: 320px;
}

.main-ai-interview .interniew-wrap .text-wrap {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.main-ai-interview .interniew-wrap .text-wrap h2 {
  font-family: "ClipArtKorea-bold";
  font-size: 30px;
  line-height: 1.4;
}

.main-ai-interview .interniew-wrap .text-wrap h2 b {
  color: #5d43ef;
}

.main-ai-interview .interniew-wrap .text-wrap p {
  line-height: 1.4;
}

.main-ai-interview .interniew-wrap .text-wrap p span {
  display: block;
}

.main-ai-interview .interniew-wrap .btn {
  align-self: flex-start;
}

@media (max-width: 1200px) {
  .main-ai-interview .interniew-wrap {
    flex-direction: column;
    align-items: center;
  }

  .main-ai-interview .interniew-wrap .text-wrap {
    text-align: center;
  }

  .main-ai-interview .interniew-wrap .btn {
    align-self: center;
  }
}

@media (max-width: 768px) {
  .main-ai-interview .interniew-wrap {
    flex-direction: column;
  }

  .main-ai-interview .interniew-wrap > img {
    height: auto;
    width: 100%;
  }

  .main-ai-interview .interniew-wrap .text-wrap {
    gap: 12px;
  }

  .main-ai-interview .interniew-wrap .text-wrap h2 {
    font-size: 24px;
  }

  .main-ai-interview .interniew-wrap .btn {
    align-self: inherit;
  }
}

/* 온라인 검사 */
.main-online-assessment {
  background: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
}

.main-online-assessment .inner > div {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.main-online-assessment .inner > div > div {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.main-online-assessment .wrap {
  background-color: var(--color-gray-50);
  padding: 40px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}

.main-online-assessment .certificate .wrap {
  background-image: url("../images/student/certificate-card-bg.svg");
  background-repeat: no-repeat;
  background-position: right bottom;
}

.main-online-assessment .online-test .wrap {
  align-items: center;
  gap: 40px;
}

.main-online-assessment .wrap h3 {
  font-family: "SeoulNotice";
  font-size: 24px;
  line-height: 1.4;
  color: var(--color-primary);
  word-break: keep-all;
}

.main-online-assessment .wrap h3 span {
  color: var(--color-primary);
}

.main-online-assessment .online-test .wrap h3 {
  text-align: center;
}

.main-online-assessment .wrap ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 32px;
}

.main-online-assessment .wrap ul li {
  position: relative;
}

.main-online-assessment .wrap ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -32px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url("../images/icon/stamp-check.svg") no-repeat center / contain;
}

.main-online-assessment .wrap p {
  line-height: 1.2;
}

.main-online-assessment .online-test .wrap > div {
  display: flex;
  width: 100%;
}

.main-online-assessment .online-test .wrap > div .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  flex: 1;
}

.main-online-assessment .online-test .wrap > div .box:first-child {
  border-right: 1px dashed var(--color-gray-400);
}

.main-online-assessment .online-test .wrap > div .box img {
  height: 100px;
}

.main-online-assessment .online-test .wrap > div .box p {
  font-size: 20px;
  font-weight: 700;
}

.main-online-assessment .wrap > p b {
  color: var(--color-secondary);
}

.main-online-assessment .btn {
  align-self: flex-start;
  margin-top: 20px;
}

.main-online-assessment .online-test .btn {
  margin-top: 0;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .main-online-assessment {
    background: var(--color-white);
    padding-bottom: 0;
  }

  .main-online-assessment .inner > div {
    flex-direction: column;
    gap: 60px;
  }

  .main-online-assessment .wrap {
    padding: 24px;
    height: auto;
  }

  .main-online-assessment .certificate .wrap {
    background-size: auto 120px;
  }

  .main-online-assessment .wrap h3 {
    font-size: 20px;
  }

  .main-online-assessment .wrap h3 span {
    display: block;
  }

  .main-online-assessment .certificate .wrap > p {
    text-align: center;
  }

  .main-online-assessment .wrap ul li::before {
    top: 30%;
  }

  .main-online-assessment .btn {
    width: 100%;
  }

  .main-online-assessment .online-test .wrap > div {
    flex-direction: column;
  }

  .main-online-assessment .online-test .wrap > div {
    gap: 40px;
    display: flex;
    flex-direction: row;
  }

  .main-online-assessment .online-test .wrap > div .box:first-child {
    border-right: 0;
    /* border-bottom: 1px dashed var(--color-gray-400); */
    padding-bottom: 40px;
  }

  .main-online-assessment .online-test .wrap > div .box p {
    font-size: 18px;
  }

  .main-online-assessment .online-test .btn {
    width: 100%;
  }
}

/* Account pages: main visual system (screen definition slides 15-26) */
.account-wrap {
 
}

.account-wrap .account-box {
  width: min(760px, calc(100% - 40px));
  padding: 56px;
  gap: 32px;
  border: 1px solid #e7e9ec;
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(28, 59, 72, 0.12);
}

.account-wrap .account-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  text-align: center;
}

.account-wrap .account-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.account-wrap .account-logo img,
.account-wrap .account-brand .account-logo img,
.account-wrap .guide-text-wrap .account-logo img {
  width: auto;
  height: 50px;
  object-fit: contain;
  margin-top:40px;
  margin-bottom:10px;
}

.account-wrap .account-brand p {
  margin: 0;
  color: #70757d;
  font-size: 14px;
  line-height: 1.5;
}

.account-wrap .account-box .guide-text-wrap {
  padding: 0;
  text-align: center;
}

.account-wrap .account-box .guide-text-wrap .title {
  color: #1f2124;
  font-family: "Paperozi", "Pretendard", sans-serif;
}

.account-wrap .account-box .page-info-box {
  padding: 22px 24px;
  border: 1px solid #d8edf1;
  border-radius: 20px;
  background: #f3fafb;
}

.account-wrap .account-box .page-info-box.gray {
  border-color: #e5e7ea;
  background: #f6f7f8;
}

.account-wrap .account-box .page-info-box p,
.account-wrap .account-box .page-info-box.gray p {
  color: #32363b;
  line-height: 1.65;
}

.account-wrap .account-box .page-info-box p span {
  margin-top: 6px;
  color: #6c727a;
}

.account-wrap .account-box .page-info-box.gray p b {
  color: var(--account-primary-dark);
}

.account-wrap .account-box .join-step ul li:not(.arrow) {
  flex: 1;
  min-width: 0;
}

.account-wrap .account-box .join-step ul li p {
  display:flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  padding: 12px 0;
  width: 80%;
  border: 1px solid #e4e6e9;
  border-radius: 16px;
  background: #f5f6f7;
  color: #777d85;
  font-size: 15px;
  line-height: 1.25;
}

.account-wrap .account-box .join-step ul li p small {
  margin-bottom: 5px;
  color: #9aa0a7;
  font-size: 11px;
}

.account-wrap .account-box .join-step ul li.active p {
  border-color: var(--account-primary);
  background: linear-gradient(135deg, var(--account-primary), var(--account-primary-dark));
  box-shadow: 0 8px 20px rgba(0, 159, 184, 0.2);
  color: #fff;
}

.account-wrap .account-box .join-step ul li.active p small {
  color: rgba(255, 255, 255, 0.8);
}

.account-wrap .account-box .join-step ul li.arrow {
  width: 14px;
  color: #b3b7bd;
}

.account-wrap input[type="text"],
.account-wrap input[type="password"],
.account-wrap input[type="email"],
.account-wrap input[type="tel"],
.account-wrap select,
.account-wrap textarea {
  border: 1px solid #d4d7dc;
  border-radius: 14px;
  background-color: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.account-wrap input:focus,
.account-wrap select:focus,
.account-wrap textarea:focus {
  border-color: var(--account-primary);
  box-shadow: 0 0 0 3px rgba(0, 159, 184, 0.12);
  outline: 0;
}

.account-wrap .join-form input.certified-autofill[readonly] {
  border-color: #a7dfe8;
  background-color: #f1fafb;
  color: #14515c;
  font-weight: 600;
  cursor: default;
}

.account-wrap .join-form input.certified-autofill[readonly]:focus {
  border-color: #62c7d6;
  box-shadow: 0 0 0 3px rgba(0, 159, 184, 0.14);
}

.certified-autofill.readonly{
    pointer-events: none;
    cursor: default;
}

.account-wrap .account-box .login-btn,
.account-wrap .account-box .join-btn,
.account-wrap .account-box .main-go-btn,
.account-wrap .account-box .btn.primary {
  border-color: var(--account-primary);
  border-radius: 6px;
  background: var(--account-primary);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(0, 159, 184, 0.2);
}

.account-wrap .account-box .login-btn:hover,
.account-wrap .account-box .join-btn:hover,
.account-wrap .account-box .main-go-btn:hover,
.account-wrap .account-box .btn.primary:hover {
  border-color: var(--account-primary-dark);
  background: var(--account-primary-dark);
}

.account-wrap .account-box .sns-login .title {
  color: #858b92;
}

/* .account-wrap .account-box .sns-login .title::before,
.account-wrap .account-box .sns-login .title::after {
  background: #e2e4e7;
}
 */
.account-wrap .account-box .sns-login .sns-list li .btn {
  border-radius: 6px;
}

.account-wrap .account-box .login-link ul li a {
  color: #60666d;
}

.account-wrap .account-box .login-link ul li a:hover {
  color: var(--account-primary-dark);
}

.account-wrap .account-box .sns-join-info {
  border: 1px solid #d9edbe;
  border-radius: 18px;
  background: #f4faec;
}

.account-wrap .join-complete {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 40px 32px;
  border: 1px solid #d8edf1;
  border-radius: 24px;
  background: linear-gradient(145deg, #f1fafb, #fff);
}

.account-wrap .join-complete-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin-top: 50px;
  margin-bottom: 10px;
  background: linear-gradient(135deg, var(--account-green), #5da91c);
  color: #fff;
  font-size: 30px;
}

.account-wrap .join-complete-icon i{
  font-size:45px;
  color:white;
}
.account-wrap .join-complete .guide-text-wrap h1{
	margin-bottom: 20px;
}

.account-wrap .join-complete .page-info-box {
  width: 100%;
  text-align: center;
}

.account-wrap .account-box .main-go-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(280px, 100%);
  height: 54px;
}

.account-wrap .account-copyright {
  color: #a0a5ab;
  font-size: 12px;
  text-align: center;
}

@media (max-width: 768px) {
  .account-wrap {
    min-height: auto;
    padding: 36px 12px 60px;
  }

  .account-wrap .account-box {
    width: 100%;
    padding: 34px 20px;
    gap: 26px;
    border-radius: 24px;
  }

  .account-wrap .account-logo img,
  .account-wrap .account-brand .account-logo img,
  .account-wrap .guide-text-wrap .account-logo img {
    height: 30px;
  }

  .account-wrap .account-box .guide-text-wrap h1 {
    font-size: 28px;
  }

  .account-wrap .account-box .join-step ul {
    gap: 4px;
  }

  .account-wrap .account-box .join-step ul li p {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 58px;
    padding: 10px 3px;
    border-radius: 12px;
    font-size: 12px;
    white-space: normal !important;      /* 줄바꿈 허용 */
   word-break: keep-all !important;
  }

  .account-wrap .account-box .join-step ul li p small {
    font-size: 9px;
  }

  .account-wrap .account-box .join-step ul li.arrow {
    width: 8px;
    font-size: 10px;
  }

  .account-wrap .join-complete {
    padding: 32px 18px;
  }
}

/* s2.do 전체 폼 컨테이너 */
.join-form {
  width:100%;
  margin: 0 auto;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
  color: #333;
}

/* 전체 동의 영역 */
.join-form > .all-agree-box {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  background-color: #f8f9fa;
  border: 1px solid #e4e6e9;
  border-radius: 12px;
  margin-bottom: 10px;
  font-weight: 600;
}

/* 개별 필드 그룹 (약관 박스 + 체크박스) */
.join-form .field-group {
  background: #fff;
  border: 1px solid #e4e6e9;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

/* 약관 제목 레이블 */
.join-form .field-group > label,
.join-form .field-group > .select-wrap > label,
.join-form .field-group > .search-box > label {
  display: inline-flex;
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin-bottom: 12px;
}
.join-form .field-group > .select-wrap > label {
  display: block;
  text-align: left;
  width: 100%;
}

/* 텍스트에어리어(약관 내용) 박스 디자인 */
.join-form textarea.service-content,
.join-form textarea.privacy-content {
  width: 100%;
  height: 140px;
  padding: 14px;
  box-sizing: border-box;
  border: 1px solid #eaebed;
  border-radius: 8px;
  background-color: #fafbfc;
  color: #555;
  font-size: 13px;
  line-height: 1.6;
  resize: none; /* 크기 조절 바 제거 */
  outline: none;
  transition: border-color 0.2s;
}

/* 포커스될 때 테두리 색상 강조 */
.join-form textarea:focus {
  border-color: #009fb8; 
}

/* 개별 동의 체크박스 영역 */
.join-form .field-group > div:last-child:not(.radio-group) {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}
.join-form .field-group .radio-group {
	padding-top: 10px;
	gap: 20px;
}
.join-form .field-group .search-box{
	flex-direction: column;
}
.join-form .field-group .search-box label{
  display: block;
  text-align: left;
  width: 100%;
}

/* 체크박스 크기 및 정렬 통일 (인라인 스타일 오버라이드) */
.join-form input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: #009fb8; /* 체크 시 브랜드 포인트 컬러 적용 */
  cursor: pointer;
}

/* 체크박스 라벨 텍스트 */
.join-form label {
  font-size: 14px;
  color: #444;
  cursor: pointer;
  user-select: none;
}

.account-wrap .account-box .page-info-box{
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.account-wrap .account-box .page-info-box p {
  font-weight: 600;
}

.account-wrap .account-box .field-group .address-main {
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.account-wrap .account-box .field-group .address-main button {
	border-radius:14px;
	font-size: 18px;
	font-weight: 600;
}

.account-wrap .account-box .field-group .address-detail {
	
}

#nextBtn{
	border-radius: var(--radius-full) !important;
}
/* ========================== */
.account-wrap .account-box .digital-signature-btn {
	background-color: #193F9A;
  color: white;
  font-size: 20px;
  font-weight: 600;
  padding: 20px 50px;
  border-radius: 20px;
  margin-top: 10px;
  margin-bottom: 60px;
}
.account-wrap .account-box .page-info-box{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* .account-wrap .account-box .page-info-box.gray::before {
  content: "i";
  position: absolute;
  left: 20px;
  top: 24px;
  width: 20px;
  height: 20px;
  background-color: #e03131;        
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  font-style: italic;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
} */

.account-wrap .account-box .page-info-box.gray p.act-red:first-child {
  font-size: 18px;
  font-weight: 800;
  color: #008CA3;                     
  margin-bottom: 6px;
}

.account-wrap .account-box .page-info-box.gray p.act-red:nth-child(2) {
  font-size: 14px;
  font-weight: 600;
  color: #495057;                     
  line-height: 1.5;
  margin-bottom: 12px;
}

.account-wrap .account-box .page-info-box.gray p:last-child {
  font-size: 12px;
  font-weight: 600;
  color: #495057;                     
  line-height: 1.4;
}

.account-wrap .account-box .page-info-box.gray .highlight-text {
  display: inline !important;
  font-weight: 700;
  color: #008CA3;                     
}
.account-wrap .account-box .field-group.with-button.s3 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.account-wrap .account-box .field-group.with-button.s3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width:100%;
  gap: 8px;
}

.account-wrap .account-box .field-group.with-button.s3 label{
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 20px;
}

.account-wrap .account-box .field-group.with-button.s3 .phone-auth {
  width: 100%;
  padding: 50px 50px;
  margin-top:20px;
  font-size: 25px;
  font-weight: 600;
  border-radius: 10px;
  justify-content: center;
  background-color: #193F9A;
}

@media (max-width: 768px){
	.account-wrap .account-box .field-group.with-button.s3 label{
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 20px;
	}
	
	.account-wrap .account-box .field-group.with-button.s3 .phone-auth {
	  width: 100%;
	  padding: 50px 20px;
	  font-size: 20px;
	  font-weight: 600;
	  border-radius: 10px;
	  justify-content: center;
	  background-color: #193F9A;
	}
}

.account-wrap .account-box .auth-notice-box {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 12px;
  padding: 16px 20px;
  margin-top: 16px;
}

.account-wrap .account-box .auth-notice-box .notice-title {
  font-size: 13px;
  font-weight: 700;
  color: #343a40;
  margin-bottom: 6px;
}

.account-wrap .account-box .auth-notice-box .notice-desc {
  font-size: 12px;
  color: #343a40;
  line-height: 1.5;
}

.account-wrap .account-box .auth-notice-box .notice-link {
  display: inline-block;
  color: #1d63b8;
  font-weight: 600;
  text-decoration: underline;
  margin-left: 4px;
}

.account-wrap .account-box .auth-notice-box .notice-link:hover {
  color: #154884;
} 

.account-wrap .account-box .btn-wrap .disabled{
	background-color: #f1f3f5;
	box-shadow: none;
	color: #333333;
}

.account-wrap .account-box .btn-wrap .disabled:hover{
	background-color: #f1f3f5;
	box-shadow: none;
	color: #333333;
}

/* 260801 퍼블리싱 반영: 마이페이지 참여정보 */
.mypage-list .activity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.mypage-list .activity-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--color-gray-200);
  border-radius: 20px;
  background: #fff;
}

.mypage-list .activity-card .card-head {
  padding: 0 0 20px;
  border: 0;
}

.mypage-list .activity-card .card-head h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.mypage-list .activity-card .card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
}

.mypage-list .activity-card .content,
.mypage-list .activity-card .text-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.mypage-list .activity-card .participatio-status {
  order: -1;
  align-self: flex-start;
  margin-bottom: 16px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--color-primary-50);
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 700;
}

.mypage-list .activity-card .participatio-status.absence {
  background: #fff0f0;
  color: var(--color-red);
}

.mypage-list .activity-card .point,
.mypage-list .activity-card .participatio-date {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--color-gray-200);
  font-size: 15px;
}

.mypage-list .activity-card .point::before { content: "차감 포인트"; color: var(--color-gray-500); }
.mypage-list .activity-card .participatio-date::before { content: "참여일자"; color: var(--color-gray-500); }
.mypage-list .activity-card .deduct-point { color: var(--color-red); font-weight: 600; }

.mypage-list .activity-card__btn {
  width: 100%;
  margin-top: auto !important;
  border-radius: 10px !important;
}

/* 260801 퍼블리싱 반영: 기프트박스 신청 카드 */
.gift-list .gift-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.gift-list .gift-grid .gift-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-gray-200);
  border-radius: 20px;
  background: #fff;
  text-align: left;
}

.gift-list .gift-card .card-main { display: flex; flex: 1; flex-direction: column; }
.gift-list .gift-card .card-img { margin: 0; padding: 40px 60px; /* background: var(--color-gray-50); */ }
.gift-list .gift-card .card-img img { width: 100%; height: 150px; object-fit: contain; }
.gift-list .gift-card .card-img figcaption { top: 16px; right: 16px; }
.gift-list .gift-card .card-info { flex: 1; padding: 20px; }
.gift-list .gift-card .card-info .title { font-size: 18px; font-weight: 700; }
.gift-list .gift-card .condition { display: flex; align-items: flex-start; margin-top: 12px; font-size: 15px; }
.gift-list .gift-card .condition dt { flex: 0 0 88px; margin-right: 12px; padding-right: 12px; border-right: 1px solid var(--color-gray-200); color: var(--color-gray-500); font-weight: 500; }
.gift-list .gift-card .condition dd { flex: 1; min-width: 0; }

/* 260801 퍼블리싱 반영: 기프트박스 내 신청현황 좌측 쿠폰 */
.gift-list .application-overview.gift-box .overview-img {
  overflow: hidden;
  border-radius: 20px 0 0 20px;
  background: var(--color-gray-50);
}

.gift-list .application-overview.gift-box .overview-img figure { padding: 32px 40px 20px; }
.gift-list .application-overview.gift-box .overview-img figure img { width: 100%; max-height: 180px; object-fit: contain; }
.gift-list .status-card__coupon-name { padding: 0 40px 32px; }
.gift-list .status-card__coupon-name span { display: block; margin-bottom: 4px; color: var(--color-primary); font-size: 15px; font-weight: 600; }
.gift-list .status-card__coupon-name p { color: var(--color-black); font-size: 18px; font-weight: 700; line-height: 1.45; }

@media (max-width: 1023px) {
  .mypage-list .activity-grid,
  .gift-list .gift-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .mypage-list .activity-grid,
  .gift-list .gift-grid { grid-template-columns: 1fr; gap: 16px; }
  .mypage-list .activity-card { padding: 22px 20px; }
  .gift-list .gift-card .card-img { padding: 30px 40px; }
  .gift-list .application-overview.gift-box .overview-img { border-radius: 20px 20px 0 0; }
  .gift-list .application-overview.gift-box .overview-img figure { padding: 28px 30px 16px; }
  .gift-list .status-card__coupon-name { padding: 0 30px 28px; }
}

/* 260803 마이페이지 퍼블본 구조 최종 동기화 */
.mypage-activity-summary .activity-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 36px 30px;
  border-radius: var(--radius-lg);
  background: var(--color-gray-50);
}
.mypage-activity-summary .activity-status__greet { padding: 0 20px; }
.mypage-activity-summary .activity-status__name { font-weight: 500; }
.mypage-activity-summary .activity-status__name strong { color: var(--color-primary); font-size: 20px; font-weight: 700; }
.mypage-activity-summary .activity-status__desc { margin-top: 8px; }
.mypage-activity-summary .activity-status__stats { display: flex; align-items: center; flex-shrink: 0; gap: 20px; }
.mypage-activity-summary .activity-status__stat { padding: 0 20px; text-align: right; }
.mypage-activity-summary .activity-status__stat:nth-child(2) { padding: 0 40px; border-right: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.mypage-activity-summary .activity-status__stat dt { margin-bottom: 8px; color: var(--color-gray-600); }
.mypage-activity-summary .activity-status__stat dd { font-size: 20px; font-weight: 700; }
.mypage-activity-summary .activity-status__stat dd span { margin-left: 4px; font-size: 16px; font-weight: 500; }

.mypage-list .activity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 40px; }
.mypage-list .activity-card { gap: 20px; padding: 20px; border-radius: var(--radius-xl); }
.mypage-list .status-badge { display: inline-flex; align-items: center; align-self: flex-start; gap: 6px; height: 28px; margin-bottom: 12px; padding: 0 12px; border-radius: var(--radius-full); font-size: 14px; font-weight: 500; }
.mypage-list .status-badge--attend { background: #ecf4d7; color: #6ca125; }
.mypage-list .status-badge--absent { background: #fee4e4; color: var(--color-red); }
.mypage-list .activity-card__title { font-size: 18px; font-weight: 700; }
.mypage-list .activity-card__info { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--color-border); }
.mypage-list .activity-card__info-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mypage-list .activity-card__info-row dt { color: var(--color-gray-600); }
.mypage-list .activity-card__info-row dd { font-weight: 600; text-align: right; }
.mypage-list .activity-card__info-row dd span { margin-left: 4px; color: var(--color-gray-600); font-size: 15px; font-weight: 400; }
.mypage-list .activity-card__info-row--point dd { color: var(--color-red); }
.mypage-list .activity-card__btn { display: inline-flex; justify-content: center; width: 100%; min-height: 44px; margin-top: auto !important; border: 1px solid var(--color-border); border-radius: 10px !important; background: #fff; color: var(--color-black); }
.mypage-list > .btn-wrap,
.mypage-list .inner > .btn-wrap { display: none; }

@media (max-width: 1023px) {
  .mypage-activity-summary .activity-status { flex-direction: column; align-items: flex-start; gap: 28px; padding: 30px; }
  .mypage-activity-summary .activity-status__greet { padding: 0; }
  .mypage-activity-summary .activity-status__stats { flex-direction: column; align-items: stretch; gap: 12px; width: 100%; }
  .mypage-activity-summary .activity-status__stat { display: flex; align-items: center; justify-content: space-between; padding: 0; text-align: left; }
  .mypage-activity-summary .activity-status__stat:nth-child(2) { padding: 0; border: 0; }
  .mypage-activity-summary .activity-status__stat dt { margin-bottom: 0; }
  .mypage-list .activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .mypage-list .activity-grid { grid-template-columns: 1fr; gap: 16px; margin-bottom: 28px; }
  .mypage-activity-summary .activity-status__stat dd { font-size: 18px; }
  .mypage-activity-summary .activity-status__stat dd span { font-size: 15px; }
}

/* 260803 기프트박스 퍼블본 구조 동기화 */
.gift-activity-summary .activity-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 36px 30px;
  border-radius: var(--radius-lg);
  background: var(--color-gray-50);
}
.gift-activity-summary .activity-status__greet { padding: 0 20px; }
.gift-activity-summary .activity-status__name { font-weight: 500; }
.gift-activity-summary .activity-status__name strong { color: var(--color-primary); font-size: 20px; font-weight: 700; }
.gift-activity-summary .activity-status__desc { margin-top: 8px; }
.gift-activity-summary .activity-status__stats { display: flex; align-items: center; flex-shrink: 0; gap: 20px; }
.gift-activity-summary .activity-status__stat { padding: 0 20px; text-align: right; }
.gift-activity-summary .activity-status__stat:nth-child(2) { padding: 0 40px; border-right: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.gift-activity-summary .activity-status__stat dt { margin-bottom: 8px; color: var(--color-gray-600); }
.gift-activity-summary .activity-status__stat dd { font-size: 20px; font-weight: 700; }
.gift-activity-summary .activity-status__stat dd span { margin-left: 4px; font-size: 16px; font-weight: 500; }

.gift-list .dot-heading { margin-bottom: 28px; }
.gift-list .dot-heading h2 { position: relative; padding-left: 16px; font-size: 24px; font-weight: 700; }
.gift-list .dot-heading h2::before { position: absolute; top: 11px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--color-primary); content: ""; }
.gift-list .gift-grid .gift-card { overflow: hidden; padding: 0; border-radius: 28px; }
.gift-list .gift-card .card-main { width: 100%; }
.gift-list .gift-card .card-img { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: auto; min-height: 238px; aspect-ratio: auto; padding: 30px 60px; /* background: var(--color-gray-50); */ }
.gift-list .gift-card .card-img img { display: block; width: 100%; height: auto; max-height: 180px; object-fit: contain; position: static !important;  top: -20px;}
.gift-list .gift-card .card-img figcaption { display: none; }
.gift-list .gift-card .card-info { position: relative; display: flex; flex: 1; flex-direction: column; padding: 20px; }
.gift-list .gift-card .card-info header { display: flex; flex-direction: column; gap: 4px; }
.gift-list .gift-card__brand { color: var(--color-primary); font-size: 15px; font-weight: 600; }
.gift-list .gift-card .card-info .title { font-size: 18px; font-weight: 700; line-height: 1.45; }
.gift-list .gift-card .card-meta { margin-top: 12px; }
.gift-list .gift-card .condition { display: flex; align-items: flex-start; margin: 0; padding: 0; font-size: 15px; }
.gift-list .gift-card .condition dt { flex: 0 0 88px; margin-right: 12px; padding-right: 12px; border-right: 1px solid var(--color-border); color: var(--color-gray-600); font-weight: 500; }
.gift-list .gift-card .condition dd { flex: 1; min-width: 0; }
.gift-list .gift-card .card-meta { display: flex; flex-direction: column; gap: 8px; }
.gift-list .gift-card .tooltip-wrap { display: none; }
.gift-list .gift-card .tooltip-btn { display: none; }
.gift-list .gift-card .tooltip-box { position: static; display: flex; visibility: visible; flex: 1; width: auto; max-width: none; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; }
.gift-list .gift-card .tooltip-box::before { flex: 0 0 88px; margin-right: 12px; padding-right: 12px; border-right: 1px solid var(--color-border); color: var(--color-gray-600); font-weight: 500; content: "신청조건 02"; }
.gift-list .gift-card .tooltip-box p { flex: 1; color: var(--color-black); font-size: 15px; line-height: 1.45; }


.gift-card--empty {
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 60px 20px;
  border-style: dashed;
  text-align: center;
  width: 437px;
  height: 358px;
}

.gift-card__empty-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  background-color: var(--color-primary-50);
  font-size: 28px;
  line-height: 1;
  padding-top: 3px;
}

.gift-card__empty-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 6px;
}

.gift-card__empty-desc {
  font-size: 15px;
  color: var(--color-gray-600);
}

/* ============================== */
/*     기프트 박스 페이지의 설문조사 모달            */
/* ============================== */


/* 1. 모달 다이얼로그 */
.modal.srvy .modal__dialog.srvy {
  max-width: 480px;
  width: 90%;
  border-radius: 16px;
  overflow: hidden;
}

/* 2. 헤더 영역 */
.modal.srvy .modal__dialog.srvy .modal__head.srvy {
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0f0;
}

/* 3. 본문 영역 */
.modal.srvy .modal__dialog.srvy .modal__body.srvy {
  padding: 24px;
}

/* 3-1. 안내 박스 */
.modal.srvy .modal__dialog.srvy .modal__body.srvy .icon-notice {
  text-align: center;
  background-color: #f9f9f9;
  padding: 20px 16px;
  border-radius: 12px;
  margin-bottom: 24px;
  list-style: none;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .icon-notice img {
  width: 48px;
  height: 48px;
  margin-bottom: 12px;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .icon-notice li {
  font-size: 14px;
  color: #555;
  line-height: 1.5;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .icon-notice li.act-red {
  color: #e53935;
  font-weight: 600;
  margin-top: 4px;
}

/* 3-2. 별점 선택 영역 */
.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
  padding: 0 8px;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .rating-text.srvy {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 100px;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .rating-text.srvy p {
  font-size: 13px;
  color: #333;
  line-height: 1.2;
  margin: 0;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .star-rating-selcet.srvy p {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .star-rating-selcet.srvy .selcet-star.srvy {
  display: flex;
  gap: 6px;
  cursor: pointer;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .star-rating-selcet.srvy .selcet-star.srvy i {
  font-size: 22px;
  color: #ddd;
  transition: color 0.2s ease;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .star-rating-selcet.srvy .selcet-star.srvy i.fa-solid,
.modal.srvy .modal__dialog.srvy .modal__body.srvy .star-rating-wrap.srvy .star-rating-selcet.srvy .selcet-star.srvy i.active {
  color: #ffc107;
}

/* 3-3. 한줄평 입력 영역 및 글자 수 카운트 */
.modal.srvy .modal__dialog.srvy .modal__body.srvy .text-input-box.srvy {
  display: flex;
  flex-direction: column;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .text-input-box.srvy label {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 10px;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .text-input-box.srvy textarea.input-box.srvy {
  width: 100%;
  height: 90px;
  padding: 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  resize: none;
  font-size: 14px;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .text-input-box.srvy textarea.input-box.srvy:focus {
  border-color: #2196f3;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .text-input-box.srvy .char-count.srvy {
  text-align: right;
  font-size: 12px;
  color: #888;
  margin-top: 6px;
}

.modal.srvy .modal__dialog.srvy .modal__body.srvy .text-input-box.srvy .char-count.srvy span {
  color: #333;
  font-weight: 600;
}

/* 4. 푸터 버튼 영역 */
.modal.srvy .modal__dialog.srvy .modal__foot.srvy {
  padding: 16px 24px 24px;
}

.modal.srvy .modal__dialog.srvy .modal__foot.srvy button {
  width: 100%;
  height: 48px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
}


@media (max-width: 1023px) {
  .gift-activity-summary .activity-status { flex-direction: column; align-items: flex-start; gap: 28px; padding: 30px; }
  .gift-activity-summary .activity-status__greet { padding: 0; }
  .gift-activity-summary .activity-status__stats { flex-direction: column; align-items: stretch; gap: 12px; width: 100%; }
  .gift-activity-summary .activity-status__stat { display: flex; align-items: center; justify-content: space-between; padding: 0; text-align: left; }
  .gift-activity-summary .activity-status__stat:nth-child(2) { padding: 0; border: 0; }
  .gift-activity-summary .activity-status__stat dt { margin-bottom: 0; }
}
@media (max-width: 767px) {
  .gift-activity-summary .activity-status__stat dd { font-size: 18px; }
  .gift-list .gift-card .card-img { /* min-height: 0; */ padding: 30px 40px; }
}
