.sub {
	width: auto !important;
	padding: 0;
}
#container_title {
	display: none;
}
#wrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
	max-width: 1512px;
	margin: 0 auto;
}
.overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.4);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s;
	z-index: 30;
}

.overlay.active {
	opacity: 1;
	pointer-events: auto;
}
main {
	height: auto;
}

.center {
	width: calc(100% - 384px);
	flex-shrink: 0;
	padding: 0 28px;
	padding-bottom: 100px;
	border-right: 1px solid #DCDCE5;
}
.sisul_con {
	display: flex;
	flex-direction: column;
	gap: 80px;
}


.category_wrapper {
	margin-bottom: 32px;
}
.main_cate {
	display: flex;
	align-items: center;
	width: 100%;
	position: relative;
	margin-top: 24px;
}
.main_cate button {
	cursor: pointer;
}

.main_category_viewport {
	overflow: hidden;
	width: 100%;
}
.main_cate ul{
  display:flex;
  flex-wrap:wrap;
  width:100%;
  gap:4px;
}

/* 3개 고정 */
.main_cate_list{
  flex: 0 0 calc((100% - 8px) / 3); /* gap 4px * 2 = 8px */
  max-width: calc((100% - 8px) / 3);
  box-sizing: border-box;
  background:#fff;
  height:50px;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#000;
  font-size:16px;
  font-weight:400;
  cursor:pointer;
  line-height: 1;
  padding-top: 2px;
}
.main_cate_list.active {
	
	background:color(display-p3 0.13 0.121 0.106);
}
.main_cate_list:nth-child(3n) {
	border-right: none;
}
.main_cate_list a {
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	align-items: center;
}
.main_cate_list.active a {
	font-weight: 600;
	/* background: var(--primary-active-color); */
	color: #fff;
}

/* 흐려지는 양끝 그라데이션 */
.sub_cate {
	display: flex;
	align-items: center;
	margin: 24px 0;
	border-bottom: 1px solid #BFBFC0;
	position: relative;
	background: var(--primary-bg-color-ivory);
}
/* .sub_cate.is-fixed {
	position: fixed;
	top: 159px;
	padding: 0;
	width: 100%;
	background: var(--primary-bg-color-ivory);
} */
.sub_cate .menu_dropdown {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
}
.sub_cate .menu_dropdown img {
	transition: transform .25s ease;
}

.sub_cate .menu_dropdown.is-open img {
	transform: rotate(180deg);
}
.sub_cate ul {
	display: none;
	width: 100%;
}
.sub_cate .swiper-slide {
	width: fit-content;
}
.sub_cate ul button {
	border: 1px solid #ccc;
	border-radius: 16px;
	background: #fff;
	padding: 6px 12px;
	cursor: pointer;
}
.subcate_swiper {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.subcate_swiper::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 58px;
	background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), #F2EFEC);
	background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0), #F2EFEC);
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #F2EFEC);
	z-index: 2;
}

.sub_cate ul.active {
	display: flex;
}
.sub_cate ul li {
	display: flex;
	justify-content: center;
	align-items: center;
}
.sub_cate ul li.disabled_no_post {
	cursor: default;
	pointer-events: none;
}
.sub_cate ul li.disabled_no_post span {
	color: #5B5B5B;
	font-size: 15px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: -0.6px;
		cursor: default;
		pointer-events: none;
		padding: 12px 20px;
		display: inline-block;
		width: 100%;
		height: 100%;
		color: #7E7E80;
		font-family: "Pretendard", sans-serif;
}
.sub_cate ul li a {
	color: #5C5C5C;
	font-family: "Pretendard", sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 100%; /* 18px */
	padding: 20px 0;
}
.sub_cate ul li.active a {
	color: #111;
	font-size: 18px;
	font-weight: 600;
	line-height: 100%;
	border-bottom: 2px solid #111;
}
.subcate_dropdown_layer {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	border-top: 1px solid #eee;
	display: none;
	z-index: 20;
	padding: 24px 0;
}

.subcate_dropdown_layer.is-open {
	display: block;
}

.subcate_dropdown_layer .dropdown_inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 0 12px;
}

.subcate_dropdown_layer p {
	margin: -1px 0 0 -1px;   /* 핵심 */
	width: 25%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #BFBFC0;
	box-sizing: border-box;
}

.subcate_dropdown_layer p a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 0;
	width: 100%;
	height: 100%;
	color: #000;
	font-size: 16px;
	font-weight: 400;
}

.subcate_dropdown_layer p.active a {
	font-weight: 600;
	background: #B0A283;
	color: #FFF;
}
.sec01 {
	width: 100%;
	padding-top: 32px;
}
.sec01 .main_banner {
	overflow: hidden;
}
.sec01 .swiper-container {
	overflow: hidden;
}
.sec01 .swiper-wrapper {}
.sec01 .swiper-slide {
	position: relative;
	width: 100%;
	display: flex;
	height: 280px;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	align-self: stretch;
}


.sec01 .swiper-slide .img {
	width: 100%;
	height: 100%;
}
.sec01 .swiper-slide.slide02 .img {
	background: #221F1A;
}
.sec01 .swiper-slide .txt {
	position: absolute;
	width: 100%;
	height: 100%;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 80px;
}
.sec01 .swiper-slide .txt em {
	color: #000;
	font-family: "verdana", sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 100%;
	display: flex;
	padding: 3px 6px;
	justify-content: center;
	align-items: center;
	background: #B0A284;
	width: fit-content;
}
.sec01 .swiper-slide .txt h3 {
	color: #FFF;
	font-family: "Vonca", sans-serif;
	font-size: 52px;
	font-weight: 400;
	line-height: 60px; /* 115.385% */
	display:inline;
	margin: 12px 0 8px;
}


/* .sec01 .swiper-slide .txt h3[data-label]{
  display: inline-block; 
  position: relative;  
}

.sec01 .swiper-slide .txt h3[data-label]::after{
  content: attr(data-label);
  position: absolute;
  left: 0;
  top: -10px;
  transform: translate(0, -60%);
  font-family: "verdana", sans-serif;
  background: color(display-p3 0.68 0.639 0.53);
  color: #000;
  border-radius: 2px;
  padding: 3px 6px 3px 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing:0px;
  white-space: nowrap;
} */

.sec01 .swiper-slide .txt p {
	color: #FFF;
	font-family: "Pretendard", sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: -0.48px;
}
.sec01 .swiper-slide .txt span {
	position: absolute;
	bottom:40px;
	color: rgba(255, 255, 255, 0.70);
	font-size: 16px;
	font-weight: 400;
	line-height: 20px; 
	letter-spacing: -0.32px;
}
.sec01 .swiper-slide .txt em,
.sec01 .swiper-slide .txt h3,
.sec01 .swiper-slide .txt p,
.sec01 .swiper-slide .txt span {
	opacity: 0;
	transform: translateY(20px);
	transition: all .6s ease;
}
/* 1단계: h3 등장 */
.sec01 .swiper-slide-active .txt em,
.sec01 .swiper-slide-active .txt h3 {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.1s;
}

/* 2단계: p 등장 */
.sec01 .swiper-slide-active .txt p {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}

/* 3단계: span 등장 */
.sec01 .swiper-slide-active .txt span {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.5s;
}
.search {
	margin: 28px 0;
	text-align: right;
	position: relative;
}
.search::before {
	position: absolute;
	content: "";
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url(./img/search_icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
	width: 20px;
	height: 20px;
}
.search input {
	cursor: pointer;
	color: #4c4c4c;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	width: 320px;
	height: 56px;
	padding: 0 20px;
	border-radius: 12px;
	border: 1px solid var(--primary-active-color);
	background: #fff;
	outline: none;
}
.search input:focus {
	border: 1px solid var(--primary-active-color) !important;
}
/* 🔅🔅🔅🔅🔅🔅🔅🔅 공통 🔅🔅🔅🔅🔅🔅🔅🔅*/
.sisul_title {
	margin-bottom: 32px;
}
.sisul_title h2 {
    font-family: "Pretendard", sans-serif;
	color: #000;
	font-size: 32px;
	font-weight: 600;
	line-height: 40px;
	letter-spacing: -0.64px;
	margin-bottom: 8px;
}
.sisul_title p {
	color: #535355;
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
}
.sisul_title .tag {
	padding: 20px 0 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	align-self: stretch;
}
.sisul_title .tag li {
	display: flex;
	padding: 8px 16px;
	justify-content: center;
	align-items: center;
	gap: 5px;
	border-radius: 500px;
	background: #E0DCD6;
	color: #4b4b4b;
	font-size: 16px;
	font-weight: 400;
	line-height: 20px; 
	letter-spacing: -0.32px;
}
/* 🔅🔅🔅🔅🔅🔅🔅🔅 공통 🔅🔅🔅🔅🔅🔅🔅🔅*/
.sisul_list .sisul_title {
	margin: 20px 0;
}
.sisul_list ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.is_view_btn{
	gap:4px !important;
}
.is_view_btn li a{
	padding: 6px 10px;
	background: rgb(62, 62, 62);
	border-radius: 4px;
}

.sisul_list ul li a{
	color: white;
	
}

.more_opt {
	gap: 4px !important;
	margin-bottom: 10px;
}
.sisul_con_type {
	margin-bottom: 36px;
}
.sisul_con_type:last-child {
	margin-bottom: 0;
}
.sisul_con_type h4 {
	color: #000;
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
	margin: 16px 0;
}
.sisul_con_type h4 span {
	color: var(--primary-active-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: -0.32px;
}
.sisul_card {
	width: calc(100% / 2 - 10px);
	background: #fff;
	padding: 28px 32px;
	border-radius: 12px;
	transition: box-shadow 0.3s;
	box-shadow: inset 0 0 0 0 transparent;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 20px;
	cursor: pointer;
}
.sisul_card.selected {
	box-shadow: inset 0 0 0 2px var(--primary-active-color);
}
.badge {
	display: inline-flex;
	color: #6d6d6d;
	font-size: 14px;
	font-weight: 400;
	border-radius: 5px;
	background: #f0f0f0;
	padding: 6px 12px;
	justify-content: center;
	align-items: center;
	margin-bottom: 8px;
}


/* 아이콘 감싼 div가 block이라 내려가던 것 방지 */
.badge-signiture{
  display: inline-flex;
  align-items: center;
  line-height: 0;              /* ✅ svg 아래 ‘빈 공간’ 제거 */
  flex: 0 0 auto;
}



.title_box {
	margin: 8px 0;
	color: #000;
}
.lang_title {
	font-family: 'Pretendard', sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 26px;
}
.kr_title {
	font-family: 'Pretendard', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}
.desc {
	color: #6c6c6c;
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
}
.price-box {
	margin-top: 24px;
	display: flex;
	justify-content: space-between;
	gap: 10px;
}
.price {
	display: flex;
	align-items: flex-end;
	margin-top: 48px;
}
.original {
	color: #909090;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	text-decoration-line: line-through;
	margin-right: 12px;
}
.discount {
	color: var(--primary-active-color);
	font-size: 14px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: -0.14px;
	display: flex;
	padding: 4px 8px 2px;
	justify-content: center;
	align-items: center;
	border-radius: 2px;
	border: 1px solid var(--primary-active-color);
}
.final {
	color: #000;
	font-size: 24px;
	font-weight: 600;
	line-height: 100%;
	letter-spacing: -0.48px;
	margin-right: 8px;
}
.add-cart-btn {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	border-radius: 8px;
	background: #7e7e80;
	display: flex;
	width: 132px;
	height: 44px;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	cursor: pointer;
	transition: background 0.3s ease;
}
.add-cart-btn.active {
	background: var(--primary-active-color);
	transition: background 0.3s ease;
}
/* 체크박스 숨기기 */
.chk_cart {
	display: none;
}

/* 기본 상태 (off) */
.add_cart_label {
	display: block;
	width: 30px;
	height: 30px;
	background-image: url(./img/cart_check_before.svg?ver=1);
	background-repeat: no-repeat;
	cursor: pointer;
	position: relative;
	transition: all 0.3s ease;
}

/* 체크된 상태 (on) */
.add_cart_label:has(.chk_cart:checked) {
	background-image: url(./img/cart_check_after.svg);
	transition: all 0.3s ease;
}
.sisul_qna .qna_con ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.sisul_qna .qna_con li {
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
.sisul_qna .question {
	position: relative;
	cursor: pointer;
	padding: 20px 48px 20px 60px;
	background: #fff;
	color: #000;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
}
.sisul_qna .question::before {
	position: absolute;
	content: "";
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	padding: 2px;
	background-image: url(./img/qna_icon.svg);
	background-repeat: no-repeat;
	background-size: cover;
}
.sisul_qna .question::after {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	width: 28px;
	height: 28px;
	transform: translateY(-50%) rotate(0deg);
	background: url(./img/qna_dropdown_icon.svg) no-repeat center / 28px 28px;
	transition: transform 0.2s ease;
}
.sisul_qna li.open .question::after {
	transform: translateY(-50%) rotate(180deg);
}
.sisul_qna .answer {
	display: none;
	padding: 20px 32px;
	background: #E2DFDA;
	color: #333;
	color:#69696B;
	font-size: 18px;
	font-weight: 400;
	line-height: 28px;
	letter-spacing: -0.36px;
}

/* 주의사항 */
.sisul_warning {}
.sisul_warning .warning_con ul {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.sisul_warning .warning_con li {
	width: calc(100% / 2 - 12px);
	background-color: #fff;
	padding: 20px 28px 24px 28px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	border-radius: 12px;s
}
.sisul_warning .warning_con li .num {
	color: #FFF;
	font-size: 12px;
	font-weight: 600;
	line-height: 12px;
	letter-spacing: -0.24px;
	display: flex;
	width: 22px;
	height: 22px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 500px;
	background: var(--primary-active-color);
}
.sisul_warning .warning_con li .tit {
	color: #000;
	font-size: 18px;
	font-weight: 600;
	line-height: 28px;
	letter-spacing: -0.36px;
}
.sisul_warning .warning_con li .desc {
	color: #4B4B4B;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: -0.32px;
}

/* 시술 경과 */
.sisul_progress {}
.sisul_progress .pic_con {}
.sisul_progress .pic_con ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
}

.sisul_progress_swiper {
	display: none;
}
.sisul_progress .pic_con ul li {
	width: calc(100% / 3 - 16px);
}
.sisul_progress .pic_con ul li .img  {}
.sisul_progress .pic_con ul li .img img {
	width: 100%;
}
.sisul_progress .pic_con ul li p {
	padding: 12px 0;
	background-color: #fff;
	color: #4B4B4B;
	font-size: 18px;
	font-weight: 400;
	line-height: 24px; /* 133.333% */
	text-align: center;
}
.sisul_progress .pic_con > p {
	margin-top: 20px;
	color: #A9A9AA;
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: -0.28px;
}

#bo_w {max-width:1080px;margin:0 auto;}
#bo_w .write_div{margin:20px 0;position:relative}
#bo_w .write_div:after{content:"";display:block;clear:both}
#bo_w .write_div label {font-size:18px; font-weight: bold;}
#bo_w .frm_input, #bo_w textarea{width:100%;box-sizing:border-box;margin-top:5px}
#bo_w .btn_submit, #bo_w .btn_cancel{font-size:1.167em;padding:0 20px}
.faq_item, .notice_item{border:1px solid #ddd;padding:10px;margin-bottom:10px;border-radius:5px}
.remove_btn{margin-top:5px}
.event_item{border:1px solid #ddd;padding:15px;margin-bottom:10px;border-radius:8px;position:relative}
.remove_event{position:absolute;top:10px;right:10px;background:#eee;border:0;padding:3px 8px;border-radius:4px;cursor:pointer}
.add_event_btn{margin-top:10px;background:#0085ff;color:#fff;border:0;padding:6px 15px;border-radius:5px;cursor:pointer}
/* .lang_wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:5px} */

.event_item {
	border:1px solid #ddd;
	padding:15px;
	margin-bottom:10px;
	border-radius:8px;
	position:relative;
	background:#fafafa;
}
.event_item h4 {
	margin:0 0 10px;
	font-size:1.1em;
}
.event_item .remove_event {
	position:absolute;
	top:10px; right:10px;
	background:#ff5e5e; color:#fff;
	border:0; padding:3px 8px;
	border-radius:4px;
	cursor:pointer;
}
.price_wrap {
	display:flex;
	gap:10px;
}
.price_wrap input {
	flex:1;
}