#wrap, #wrap * { box-sizing: border-box; }
#wrap { font-family: 'Noto Sans KR', sans-serif; }
#wrap img { display: block; max-width: none; }
#wrap button { font-family: inherit; }
.cursor-pointer { cursor: pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.ov { overflow: hidden; }
.inner_wide { width: 2540px; text-align: center; position: relative; left: 50%; transform: translateX(-50%); }
.inner_wide > img { display: inline-block; vertical-align: top; }
.inner_wide .bg-img { width: 2540px; }

.btn-overlay {
  position: absolute;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}

/* ===== main ===== */
/* btn은 inner_wide 내부 좌표 - x는 절대값 그대로(중앙정렬 inner_wide 기준) */
.con01 .ani_list{display:flex;width:1000px;height:203px;position:absolute;top:940px;left:50%;transform:translate(-50%);}
.con01 .ani_list li{width:20%;background-image:var(--evt-off);background-repeat:no-repeat;background-position:5px 0;background-size:500%;}
.con01 .ani_list li:nth-child(2){background-position-x:24.7%;}
.con01 .ani_list li:nth-child(3){background-position-x:50%;}
.con01 .ani_list li:nth-child(4){background-position-x:75.2%;}
.con01 .ani_list li:nth-child(5){background-position-x:100.5%;}
.con01 .ani_list li.on{
  background-image:var(--evt-on);transform:translate(0, -20px);
  background-position:-62px -35px;background-size:558%;border-radius:20px;
}
.con01 .ani_list li:nth-child(2).on{background-position:-259px -35px;}
.con01 .ani_list li:nth-child(3).on{background-position:-458px -35px;}
.con01 .ani_list li:nth-child(4).on{background-position:-655px -35px;}
.con01 .ani_list li:nth-child(5).on{background-position:-854px -35px;}

/* ===== con1 Figma 재구성 (정확한 값 반영) ===== */
.con02 { background: linear-gradient(180deg, #FFF0F7 0%, #FFF0F7 47%, #FFF 47%, #FFF 100%); padding: 100px 0 130px; }
.con02 .bg-img { display: none; }
.con02 .inner_wide { width: 100%; }
.tab-block.tab-con1 { width: 100%; margin: 0 auto; }
.con1-title { font-size: 48px; line-height: 1.3; font-weight: 800; text-align: center; color: #222; margin: 0 0 60px; }

.tab-con1 .tab-btns { position: static; width: 522px; height: 61px; margin: 0 auto 50px; display: flex; gap: 0; left: auto; top: auto; }
.tab-con1 .tab-btn { flex: 1; background-image: var(--evt-tab-off) !important;background-color:transparent; background-repeat:no-repeat !important; background-position:0 0 !important; background-size:300% !important; border: 0 !important; padding: 0; height: 61px; border-radius: 40px; font-size: 0; color: transparent; }
.tab-con1 .tab-btn:nth-of-type(2) { background-position-x: 50% !important; }
.tab-con1 .tab-btn:nth-of-type(3) { background-position-x: 100% !important; }
.tab-con1 .tab-btn.active { background-image: var(--evt-tab-on) !important; background-position: -4px 30% !important; box-shadow: none; }
.tab-con1 .tab-btn:nth-of-type(2).active { background-position: -174px 30% !important; }
.tab-con1 .tab-btn:nth-of-type(3).active { background-position: -344px 30% !important; }
.tab-con1 .tab-contents { position: static; width: 100%; top: auto; left: auto; }
.tab-con1 .tab-content { display: none; text-align: center; }
.tab-con1 .tab-content.active { display: block; }
.tab-con1 .tab-content img.con1-books { width: 549px; height: 381px; display: block; margin: 40px auto 20px; }

.con1-table { width: 690px; background: #fff; border: 1px solid #ECA8BF; border-radius: 30px; padding: 30px 58px 36px; margin: 0 auto 80px; }
.con1-table-head { display: grid; grid-template-columns: 1fr 1.4fr 1fr; padding: 10px 0 18px; font-size: 22px; font-weight: 700; color: #222; border-bottom: 1px solid #4D4D4D; text-align: center; }
.con1-table-body { list-style: none; padding: 0; margin: 0; }
.con1-table-body li { display: grid; grid-template-columns: 1fr 1.4fr 1fr; padding: 18px 0; font-size: 22px; font-weight: 500; color: #222; text-align: center; }
.con1-table-body li span { display: block; }
.con1-table-body .off { color: #CBCBCB; font-weight: 700; }
.con1-table-body .hot { color: #D11275; font-weight: 700; }

.con1-promo { width: 690px; margin: 0 auto; text-align: center; }
.con1-best { font-size: 28.8px; font-weight: 600; color: #222; margin: 0 0 10px; }
.con1-promo-head h3 { font-size: 57px; font-weight: 800; color: #222; margin: 0 0 24px; line-height: 1.2; }
.con1-tags { list-style: none; padding: 0; margin: 0; display: flex; gap: 14px; justify-content: center; }
.con1-tags li { color: #D1277C; font-size: 19px; font-weight: 600; padding: 7px 15px; border-bottom: 1px solid #D1277C; }

/* 가격 영역 — Figma textbox 692x783 정확 반영 */
.con1-price { list-style: none; padding: 0; margin: 30px auto 40px; width: 692px; background: #fff; }
.con1-price li { display: flex; align-items: center; justify-content: space-between; height: 105px; padding: 0 46px 0 50px; text-align: left; border: 0; gap: 20px; }
.con1-price .lbl-col { flex: 0 0 168px; }
.con1-price .right-col { display: flex; align-items: center; gap: 22px; }
.con1-price li + li:not(.hi) { border-top: 1px solid #D9D9D9; }
.con1-price li.hi { height: 160px; padding: 0 40px 0 50px; margin: 0 0 14px; border-radius: 20px; border: 4px solid transparent; background: linear-gradient(#fff,#fff) padding-box, linear-gradient(90deg,#B138FA,#53A3FF) border-box; }
.con1-price .lbl { font-size: 22px; font-weight: 700; color: #222; line-height: 1.2; }
.con1-price li.hi .lbl { font-size: 32px; }
.con1-price .badge { justify-self: start; background: #FFE6EE; color: #272727; font-size: 17.5px; font-weight: 700; border-radius: 7px; margin-top:20px; padding: 7px 14px; text-align: center; white-space: nowrap; }
.con1-price li.hi .badge { background: #F4E4FF; color: #A112D1; font-size: 20px; border-radius: 8px; padding: 9px 16px; margin-top:23px;}
.con1-price .price-col { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.con1-price .orig { font-size: 18px; color: #949494; font-weight: 500; text-decoration: line-through; line-height: 1.4; }
.con1-price .now { font-size: 36px; font-weight: 700; color: #D11275; line-height: 1; }
.con1-price li.hi .now { font-size: 40px; background: linear-gradient(90deg,#B94CF9,#217BF2); -webkit-background-clip: text; background-clip: text; color: transparent; }

.con1-cta { display: block; width: 646px; margin: 40px auto 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.con1-cta img { width: 100%; height: auto; display: block; }

/* ===== con1 legacy (사용안함) ===== */
.tab-con1-legacy {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
}
/* legacy con1 absolute/image rules removed — replaced by Figma 재구성 above */

/* ===== con3 (연속 슬라이드) ===== */
.con3-slide-wrap {
  position: absolute;
  top: 935px;
  left: 50%;
  width: 100%;
  transform: translate(-50%);
  overflow: hidden;
}
.con3-slide { list-style:none; padding:0; margin:0; }
.con3-slide li{width:460px !important;margin-right:10px;border-bottom-right-radius:20px;border-bottom-left-radius:20px;overflow:hidden;}
.con3-slide li img { display: block; width:100%; }

/* con04 */
.con04 .scroll_box{width:700px;height:550px;overflow-y:scroll;position:absolute;top:920px;left:50%;transform:translate(-50%);border-radius:30px;}
.con04 .scroll_box img{width:100%;}

/* ===== con7 Figma 재구성 ===== */
.con07 .bg-img { display: none; }
.con07 .inner_wide { width: 2540px; }
.tab-block.tab-con7 { position: static; width: 100%; margin: 0 auto; transform: none; background: #fff; padding: 100px 0 150px; }
.con7-title { font-size: 50px; font-weight: 800; color: #000; text-align: center; margin: 0 0 24px; line-height: 1.3; }
.con7-title .hl { color: #D1277C; }
.con7-sub { font-size: 16px; font-weight: 400; color: #000; text-align: center; line-height: 1.6; margin: 0 0 40px; }
.con7-tab-btns { position: static; width: 522px; height: 61px; margin: 0 auto 30px; display: flex; gap: 12px; }
.con7-tab-btns .tab-btn { flex: 1; background: #EDEDED; border: 0; color: #B9B9B9; font-size: 24px; font-weight: 800; border-radius: 40px; padding: 0; height: 61px; cursor: pointer; }
.con7-tab-btns .tab-btn.active { background: linear-gradient(90deg,#D1277C,#FF007A); color: #fff; }
.con7-tab-contents { width:630px;margin:0 auto;}
.con7-tab-contents .tab-content { display: none; width:100%;margin:0 auto;}
.con7-tab-contents .tab-content.active { display: block; }
.con7-tab-contents .tab-content img{width:100%;}
.con7-slide-wrap { position: relative; width: 83%; margin: 0 auto; }
.con7-slide-wrap .bx-wrapper{max-width:100% !important;}
.con7-slide-btn {
  position: absolute;
  top: 117%;
  width: 60px;
  height: 53px;
  margin-top: -40px;
  background-image: var(--evt-arrow);
  background-color:transparent;
  background-repeat: no-repeat;
  background-position: 10px 50%;
  background-size: 200%;
  border: 0;
  padding: 0;
  cursor: pointer;
  z-index: 100;
}
.con7-slide-prev { left: 36%;}
.con7-slide-next { right: 36%; transform: scaleX(-1);}
.con7-slide { list-style:none; padding:0; margin:0; }
.con7-slide li{width:165px !important;margin-right:10px;}
.con7-slide li img { display: block; object-fit: cover; max-width:100% !important;}

/* ===== con11 (인터뷰 슬라이드) ===== */
.con11-slide-wrap { width:600px; position:absolute; top:430px; left:50%; transform:translate(-50%); }
.con11-slide { list-style:none; padding:0; margin:0; }
.con11-slide li { position: relative; }
.con11-slide li img { width: 100%; display: block; }
.con11-slide .btn-overlay {
  width:100%; height:350px; position: absolute; inset: 0;
  background: transparent; border: 0; padding: 0;
}
.con11-slide-wrap .bx-wrapper { box-shadow: none; border: 0; background: transparent; margin-bottom: 0; }
.con11-slide-btn {
  position: absolute;
  top: 110%;
  width: 70px;
  height: 53px;
  margin-top: -40px;
  background-image: var(--evt-arrow);
  background-color:transparent;
  background-repeat: no-repeat;
  background-position: 10px 50%;
  background-size: 200%;
  border: 0;
  padding: 0;
  cursor: pointer;
  z-index: 100;
}
.con11-slide-prev { left: 36%;}
.con11-slide-next { right: 36%; transform: scaleX(-1);}

/* ===== con8 (일반 슬라이드) ===== */
.con8-slide-wrap {
  position: absolute;
  top: 274px;
  left: 50%;
  transform: translate(-50%);
  width: 600px;
}
.con8-slide-wrap { position: absolute; }
.con8-slide-btn {
  position: absolute;
  top: 113%;
  width: 70px;
  height: 53px;
  margin-top: -40px;
  background-image: var(--evt-arrow);
  background-color:transparent;
  background-repeat: no-repeat;
  background-position: 10px 50%;
  background-size: 200%;
  border: 0;
  padding: 0;
  cursor: pointer;
  z-index: 100;
}
.con8-slide-prev { left: 36%;}
.con8-slide-next { right: 36%; transform: scaleX(-1);}
.con8-slide { list-style:none; padding:0; margin:0; }
.con8-slide li img { width: 100%; object-fit: cover; }

/* ===== con10 Figma 재구성 ===== */
.con10 { background: #F3F3F3; padding: 100px 0 130px; }
.con10 .inner_wide { width: 690px; }
.tab-block.tab-con10 { width: 690px; margin: 0 auto; }

.tab-con10 .tab-btns { position: static; width: 522px; height: 61px; margin: 0 auto 50px; display: flex; gap: 0; left: auto; top: auto; }
.tab-con10 .tab-btn { flex: 1; background-image: var(--evt-tab-off) !important;background-color:transparent; background-repeat:no-repeat !important; background-position:0 0 !important; background-size:300% !important; border: 0 !important; padding: 0; height: 61px; border-radius: 40px; font-size: 0; color: transparent; }
.tab-con10 .tab-btn:nth-of-type(2) { background-position-x: 50% !important; }
.tab-con10 .tab-btn:nth-of-type(3) { background-position-x: 100% !important; }
.tab-con10 .tab-btn.active { background-image: var(--evt-tab-on) !important; background-position: -4px 30% !important; box-shadow: none; }
.tab-con10 .tab-btn:nth-of-type(2).active { background-position: -174px 30% !important; }
.tab-con10 .tab-btn:nth-of-type(3).active { background-position: -344px 30% !important; }
.tab-con10 .tab-contents { position: static; width: 100%; }
.tab-con10 .tab-content { display: none; }
.tab-con10 .tab-content.active { display: block; }

.con10-card { width: 690px; background: #fff; border: 1px solid #BEBEBE; border-radius: 30px; padding: 40px 21px 50px; margin: 0 auto; }
.con10-head { display: grid; grid-template-columns: 60px 90px 150px 130px 1fr; align-items: center; padding: 0 0 18px; font-size: 22px; font-weight: 800; color: #222; text-align: center; }
.con10-head span:nth-child(1) { font-size: 0; }
.con10-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.con10-list li:not(.closed) { cursor: pointer; }
.con10-list li { position: relative; display: grid; grid-template-columns: 60px 90px 150px 130px 0.5fr; justify-items:center;align-items: center; height: 76px; gap: 0; font-size: 20px; color: #222; background: #F6F6F6; border-radius: 20px; }
.con10-list li.hot-row { background: #FFDBE6; }
.con10-list .con10-chk { width: 29px; height: 29px; border-radius: 6px; appearance: none; -webkit-appearance: none; background: #fff; border: 1px solid #C9C9C9; cursor: pointer; margin: 0; position: relative; }
.con10-list .con10-chk:checked { background: #222; border-color: #222; }
.con10-list .con10-chk:checked::after { content: ''; position: absolute; top: 6px; left: 9px; width: 8px; height: 14px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); }
.con10-list li .month { font-weight: 700; position: relative; font-size: 20px; }
.con10-list li .month .hot { display: block; color: #D1277C; font-size: 16px; font-weight: 700; line-height: 1; margin-bottom: 4px; font-style: normal; }
.con10-list li .test { font-weight: 500; }
.con10-list li .date { font-weight: 500; }
.con10-list li select.loc { font-family: inherit; font-weight: 700; font-size: 18px; color: #222; background: transparent; border: 0; padding: 0 22px 0 10px; cursor: pointer; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23222' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 2px center; outline: 0; justify-self: start; }
.con10-list li.closed { background: #F6F6F6; }
.con10-list li.closed .overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.6);
  border-radius: 20px;
  color: #fff; font-size: 25px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
}

.con10-total { display: flex; justify-content: space-between; align-items: flex-end; width:80%; margin:0 auto; padding: 28px 26px 12px; border-bottom: 1px solid #111; margin-top: 24px; }
.con10-total .lbl { font-size: 20px; font-weight: 700; color: #222; }
.con10-total .amt { font-size: 60px; font-weight: 900; color: #222; line-height: 1; }

.con10-cta { display: block; width: 590px; margin: 24px auto 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.con10-cta img { width: 100%; height: auto; display: block; }

.con10-info { width: 690px; margin: 60px auto 0; text-align: center; }
.con10-info h3 { font-size: 26px; font-weight: 700; color: #222; margin: 0 0 18px; }
.con10-info p { font-size: 16px; font-weight: 500; color: #5E5E5E; line-height: 1.7; margin: 0 0 26px; }
.con10-btns { display: flex; gap: 12px; justify-content: center; }
.con10-btn-light, .con10-btn-dark { border: 0; border-radius: 999px; padding: 14px 28px; font-size: 20px; cursor: pointer; }
.con10-btn-light { background: #fff; color: #000; border: 1px solid #D9D9D9; font-weight: 500; }
.con10-btn-dark { background: #1F1F1F; color: #fff; font-weight: 700; }

/* ===== con11 ===== */
.btn-con11-1 {
  top: 429px;
  left: 930px;
  width: 220px;
  height: 407px;
}
.btn-con11-2 {
  top: 429px;
  left: 1160px;
  width: 220px;
  height: 407px;
}
.btn-con11-3 {
  top: 429px;
  left: 1390px;
  width: 220px;
  height: 407px;
}

/* ===== con12 (연속 슬라이드 2개) ===== */
.con12_img{width:600px;position:absolute;top:600px;left:51%;transform:translate(-50%);}
.con12-slide1-wrap {
  position: absolute;
  top: 545px;
  left: 50%;
  width: 2540px;
  transform: translateX(-50%);
  height: 314px;
  overflow: hidden;
}
.con12-slide1-wrap .bx-wrapper{max-width:100% !important;}
.con12-slide2-wrap .bx-wrapper{max-width:100% !important;}
.con12-slide1 { list-style:none; padding:0; margin:0; }
.con12-slide1 li{width:auto !important;}
.con12-slide2 li{width:auto !important;}
.con12-slide1 li img { height: 314px; width: auto; }

.con12-slide2-wrap {
  position: absolute;
  top: 890px;
  left: 50%;
  width: 100vw;
  min-width: 2540px;
  transform: translateX(-50%);
  height: 315px;
  overflow: hidden;
}
.con12-slide2 { list-style:none; padding:0; margin:0; }
.con12-slide2 li img { height: 315px; width: auto; }

.btn-con12-reason {
  top: 472px;
  left: 1213px;
  width: 115px;
  height: 40px;
}

/* ===== con13 ===== */
.btn-con13-apply {
  top: 666px;
  left: 948px;
  width: 646px;
  height: 153px;
}

.btn-main-apply {
  top: 754px;
  left: 946px;
  width: 646px;
  height: 154px;
}

/* bxslider 노출 컨트롤 제거 */
#wrap .bx-wrapper { box-shadow: none !important; border: 0 !important; background: transparent !important; margin-bottom: 0 !important; }
#wrap .bx-wrapper .bx-controls-direction, #wrap .bx-wrapper .bx-pager { display: none !important; }

.video-modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.video-modal.is-open { display: block; }
.video-modal__dim { position: absolute; inset: 0; background: rgba(0, 0, 0, .72); }
.video-modal__panel { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 960px; max-width: calc(100vw - 80px); background: #000; border-radius: 24px; overflow: hidden; }
.video-modal__player { display: block; width: 100%; height: auto; background: #000; }
.video-modal__close { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border: 0; border-radius: 999px; background: rgba(255,255,255,.2); z-index: 2; cursor: pointer; }
.video-modal__close::before,
.video-modal__close::after { content: ''; position: absolute; top: 21px; left: 12px; width: 20px; height: 2px; background: #fff; }
.video-modal__close::before { transform: rotate(45deg); }
.video-modal__close::after { transform: rotate(-45deg); }

.reason-modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.reason-modal.is-open { display: block; }
.reason-modal__dim { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.reason-modal__panel { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 720px; max-width: calc(100vw - 80px); background: #fff; border-radius: 16px; padding: 40px 48px; box-sizing: border-box; }
.reason-modal__close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border: 0; background: transparent; cursor: pointer; }
.reason-modal__close::before,
.reason-modal__close::after { content: ''; position: absolute; top: 17px; left: 8px; width: 20px; height: 2px; background: #222; }
.reason-modal__close::before { transform: rotate(45deg); }
.reason-modal__close::after { transform: rotate(-45deg); }
.reason-modal__title { margin: 0 0 16px; font-size: 22px; font-weight: 700; color: #222; }
.reason-modal__list { list-style: none; padding: 0; margin: 0; }
.reason-modal__list li { position: relative; padding-left: 14px; font-size: 15px; line-height: 1.6; color: #444; margin-bottom: 8px; word-break: keep-all; }
.reason-modal__list li::before { content: '*'; position: absolute; left: 0; top: 0; color: #444; }
