/* 본인인증 페이지 하단 */
.counsel-box {
	text-align: center;
	border-top: 1px solid #272727;
	padding-top: 40px;
	margin-top: 40px;
}
.counsel-box .box-txt {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.439;
	color: #fff;
}
.counsel-box .btn-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 8px;
	margin-top: 24px;
}
.counsel-box .btn-wrap [class^="btn-"],
.counsel-box .btn-wrap [class*=" btn-"] {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	font-size: 0.813rem;
	font-weight: 700;
	line-height: 1.385;
	border-radius: 999px;
	padding: 0 16px;
}
.counsel-box .btn-wrap .btn-kakao {
	color: #191600;
	background: #FEE500;
}
.counsel-box .btn-wrap .btn-kakao .icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	background: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-kakao.svg') center / 100% no-repeat;
	margin-right: 8px;
}
.counsel-box .btn-wrap .btn-call {
	color: #fff;
	border: 1px solid #929292;
}
.counsel-box .btn-wrap strong {
	font-weight: 700;
}

/* 예약 내역/정보 - 공통 */
.reservation-wrap .cont-inner {
	background: #F5F5F5;
	padding: 40px 16px;
}
.reservation-wrap .cont-top {
	padding: 0 24px;
	margin-bottom: 40px;
}
.reservation-wrap .cont-top .title-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}
.reservation-wrap .cont-top .title-wrap:after {
	content: '';
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 34px;
	background: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-key.svg') center / contain no-repeat;
}
.reservation-wrap .cont-top .title-wrap .title {
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.4;
	color: #171717;
}
.reservation-wrap .cont-top .title-wrap .state {
	display: block;
	color: var(--primary);
}
.reservation-wrap .cont-top .d-day {
	display: block;
	font-family: 'Lato';
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.4;
	color: var(--primary);
}
.reservation-wrap .cont-top .reserv-num {
	display: flex;
	align-items: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: #272727;
	gap: 8px;
	margin-top: 8px;
}
.reservation-wrap .cont-top .reserv-num .num {
	font-family: 'Lato';
	line-height: 20px;
}
.reservation-wrap .form-set {
	margin-top: 0 !important;
	margin-bottom: 24px;
}
.reservation-wrap .form-set .form-box {
	background: #fff;
	border-radius: 16px;
	padding: 24px;
}
.reservation-wrap .cont-inner .no-data {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: #171717;
	line-height: 1.429;
	gap: 4px;
	padding: 0 16px;
	margin: 80px 0;
}
.reservation-wrap .cont-inner .no-data strong {
	font-size: 1rem;
	font-weight: 700;
	color: #171717;
	line-height: 1.5;
}
.reservation-wrap .cont-bottom .btn-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 16px;
	margin-top: 40px;
}
.reservation-wrap .cont-bottom .btn-wrap [class^="btn-"],
.reservation-wrap .cont-bottom .btn-wrap [class*=" btn-"] {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	font-size: 1rem;
	font-weight: 700;
	color: #4A4A4A;
	border-radius: 16px;
	padding: 0 16px;
	border: 1px solid #929292;
}
@media (hover: hover) and (pointer: fine) {
	.reservation-wrap .cont-bottom .btn-wrap [class^="btn-"]:hover,
	.reservation-wrap .cont-bottom .btn-wrap [class*=" btn-"]:hover {
		color: var(--primary);
		border-color: var(--primary);
	}
}
/* 예약 내역 - 목록 */
.reserv-item .reserv-info a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-right: 40px;
}
.reserv-item .reserv-info .state {
	display: inline-flex;
	align-self: flex-start;
	width: fit-content;
	align-items: center;
	height: 22px;
	font-size: 0.625rem;
	font-weight: 500;
	color: var(--primary);
	padding: 0 8px;
	border-radius: 999px;
	border: 1px solid var(--primary);
}
.reserv-item .reserv-info .state.is-cancel {
	color: #4A4A4A;
	border-color: #4A4A4A;
}
.reserv-item .reserv-info .state + .reserv-num {
	margin-top: 8px;
}
.reserv-item .reserv-info .reserv-date {
	display: flex;
	align-items: center;
	font-size: 1rem;
	font-weight: 700;
	color: #171717;
	gap: 4px;
}
.reserv-item .reserv-info .reserv-date .d-day {
	font-family: 'Lato';
	font-weight: 800;
	color: var(--primary);
}
.reserv-item .reserv-info .reserv-num {
	display: flex;
	align-items: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: #272727;
	gap: 8px;
}
.reserv-item .reserv-info .reserv-num .num {
	font-family: 'Lato';
	line-height: 20px;
}
.reserv-item .reserv-info .icon-more {
	top: 50%;
	right: 0;
	left: auto;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
}
.reserv-item .reserv-tmt {
	padding: 16px 0 8px;
	margin-top: 16px;
	border-top: 1px solid #E5E5E5;
}
.reserv-item .reserv-tmt .tit {
	font-size: 0.75rem;
	font-weight: 500;
	color: #4A4A4A;
	line-height: 1.333;
}
.reserv-item .reserv-tmt .item {
	font-size: 0.875rem;
	font-weight: 500;
	color: #1C1A19;
	line-height: 1.429;
	margin-top: 4px;
	overflow-wrap: break-word;
}
.reserv-list .cont-bottom {
	text-align: center;
	border-top: 1px solid #E5E5E5;
	padding-top: 16px;
	margin-top: 24px;
}
.reserv-list .cont-bottom .btn-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	font-size: 0.813rem;
	font-weight: 700;
	color: #4A4A4A;
	line-height: 1.385;
}
.reserv-list .cont-bottom .btn-more:after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	-webkit-mask: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-arrow-down.svg') center / contain no-repeat;
	mask: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-arrow-down.svg') center / contain no-repeat;
	background: #4A4A4A;
}
.reserv-list .btn-cancel-policy {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	font-size: 0.813rem;
	font-weight: 700;
	line-height: 1.385;
	color: #4A4A4A;
	background: #E5E5E5;
	padding: 20px;
	gap: 4px;
}
.reserv-list .btn-cancel-policy:before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-refresh.svg') center / contain no-repeat;
}
/* 예약 정보 */
.reserv-item .ac-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}
.reserv-item .ac-top:after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	-webkit-mask: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-arrow-up.svg') center / contain no-repeat;
	mask: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-arrow-up.svg') center / contain no-repeat;
	background: #171717;
	transition: transform 0.3s ease-in-out;
	transform: rotate(0deg);
}
.reserv-item .ac-top .tit {
	display: flex;
	align-items: center;
	font-size: 1rem;
	font-weight: 700;
	color: #171717;
	line-height: 1.5;
	gap: 8px;
}
.reserv-item.is-branch .ac-top .tit:after {
	content: '';
	display: inline-block;
	width: 48px;
	height: 8px;
	background: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-logo-rd.svg') center / contain no-repeat;
}
.reserv-item .ac-top.close:after {
	transform: rotate(180deg);
}
.reserv-item .ac-cont {
	display: grid;
	grid-template-rows: 1fr;
	padding: 16px 0 8px;
	margin-top: 16px;
	border-top: 1px solid #E5E5E5;
	transition: all 0.2s ease;
}
.reserv-item .ac-top.close + .ac-cont {
	grid-template-rows: 0fr;
	padding: 0;
	margin-top: 0;
	border-top-color: transparent;
}
.reserv-item .ac-cont-inner {
	overflow: hidden;
	min-height: 0;
}
.ac-cont .reserv-tmt-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ac-cont .reserv-tmt-list .title {
	font-size: 1rem;
	font-weight: 700;
	color: #1C1A19;
	line-height: 1.5;
	overflow-wrap: break-word;
}
.ac-cont .reserv-tmt-list .price-wrap {
	font-size: 0.688rem;
	font-weight: 700;
	color: #1C1A19;
	margin-top: 12px;
}
.ac-cont .reserv-tmt-list .price-wrap .percent {
	font-family: 'Lato';
	font-size: 0.75rem;
	font-weight: 900;
	color: var(--primary);
	margin-right: 4px;
}
.ac-cont .reserv-tmt-list .price-wrap .price-num {
	font-family: 'Lato';
	font-size: 0.75rem;
	font-weight: 900;
}
.ac-cont .reserv-tmt-list .reserv-total-price {
	display: flex;
	align-items: center;
	gap: 4px;
}
.ac-cont .reserv-tmt-list .reserv-total-price .tit {
	font-size: 0.813rem;
	font-weight: 700;
	color: #171717;
	line-height: 1.231;
}
.ac-cont .reserv-tmt-list .reserv-total-price .price {
	display: flex;
	align-items: center;
	font-size: 0.813rem;
	font-weight: 700;
	color: #171717;
}
.ac-cont .reserv-tmt-list .reserv-total-price .price-num {
	font-family: 'Lato';
	font-size: 1.125rem;
	font-weight: 900;
}
.ac-cont .reserv-tmt-list .reserv-total-price em {
	font-style: normal;
	font-size: 0.75rem;
	font-weight: 500;
	color: #4A4A4A;
	margin-left: 4px;
}
.ac-cont .reserv-ticket-wrap {
	margin-top: 16px;
}
.ac-cont .reserv-ticket-wrap .tit {
	font-size: 0.75rem;
	font-weight: 500;
	color: #4A4A4A;
	line-height: 1.333;
	margin-bottom: 4px;
}
.ac-cont .reserv-ticket-wrap .reserv-ticket-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.ac-cont .reserv-ticket-wrap .reserv-ticket-list .item {
	font-size: 1rem;
	font-weight: 700;
	color: #171717;
	line-height: 1.429;
}
.ac-cont .reserv-ticket-wrap .chip-wrap {
	margin-top: 8px;
}
.ac-cont .reserv-memo {
	margin-top: 16px;
}
.ac-cont .reserv-memo .tit {
	font-size: 0.75rem;
	font-weight: 500;
	color: #4A4A4A;
	line-height: 1.333;
}
.ac-cont .reserv-memo .memo {
	font-size: 0.875rem;
	font-weight: 500;
	color: #171717;
	line-height: 1.429;
	margin-top: 4px;
	white-space: pre-wrap;
	overflow-wrap: break-word;
}
.ac-cont .info-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ac-cont .info-list li {
	font-size: 0.875rem;
	font-weight: 500;
	color: #171717;
	line-height: 1.429;
}
.reserv-noti {
	text-align: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--primary);
	line-height: 1.429;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--primary);
	margin-top: 40px;
}
/* 예약 정보 - 예약 취소,종료 */
.reservation-wrap.is-cancel .cont-top .title-wrap .state {
	color: #929292;
}
.reservation-wrap:is(.is-cancel, .is-end) .d-day {
	display: none;
}
.reservation-wrap:is(.is-cancel) .ac-cont {
	opacity: 0.4;
}
.reservation-wrap:is(.is-cancel) .ac-cont .reserv-tmt-list .price-wrap .percent {
	color: #171717;
}
/* 예약 수정 */
.reserv-change .reserv-date-info {
	font-size: 1rem;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.70);
	line-height: 1.5;
	padding: 16px 24px;
	background: #171717;
	text-align: center;
}
.reserv-change .reserv-item .ac-top {
	pointer-events: none;
}
.reserv-change .reserv-item .ac-top:after {
	display: none;
}
.reserv-change .terms-box {
	margin-bottom: 0;
}
.reserv-change .cont-bottom {
	background: #F5F5F5;
	padding: 0 16px 48px;
}
.reserv-change .cont-bottom:has(.price-box) {
	background: #E5E5E5;
}
.reserv-change .price-box {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 40px 8px;
}
.reserv-change .price-box .price-info,
.reserv-change .price-box .desc {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.reserv-change .price-box .price-info .tit {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}
.reserv-change .price-box .price-info .price {
	font-size: 0.813rem;
	font-weight: 700;
	line-height: 1.231;
	color: var(--primary);
}
.reserv-change .price-box .price-info .price-num {
	font-family: 'Lato';
	font-size: 1.125rem;
	font-weight: 900;
	line-height: 1.333;
}
.reserv-change .price-box .desc {
	font-size: 0.75rem;
	font-weight: 500;
	color: #272727;
	line-height: 1.333;
}
.reserv-change .btn-modify {
	border-radius: 16px;
}
/* 기존 고객 시술/관리권 예약 */
.service-add-wrap .cont-inner {
	padding: 40px 16px 48px;
}
.service-add-wrap .service-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.service-add-wrap .service-item {
	border-radius: 24px;
	padding: 24px;
	background: #fff;
}
.service-add-wrap .service-item .type {
	display: inline-flex;
	align-items: center;
	height: 24px;
	font-size: 0.75rem;
	font-weight: 500;
	color: #fff;
	line-height: 1;
	padding: 0 8px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.70);
}
.service-add-wrap .service-item .service-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 12px;
}
.service-add-wrap .service-item .service-info .service-name {
	font-size: 1.25rem;
	font-weight: 800;
	color: #1C1A19;
	line-height: 1.4;
}
.service-add-wrap .service-item .btn-wrap {
	display: flex;
	gap: 8px;
}
.service-add-wrap .service-item .btn {
	color: var(--primary);
	border-color: var(--primary);
}
.service-add-wrap .service-item .btn-add.is-added {
	color: #fff;
	background: var(--primary);
	border-color: var(--primary);
	padding-left: 8px;
	gap: 4px;
}
.service-add-wrap .service-item .btn-add.is-added:before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	-webkit-mask: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-check.svg') center / contain no-repeat;
	mask: url('https://vgzol4tn11543.edge.naverncp.com/toxnfill/images/common/icon-check.svg') center / contain no-repeat;
	background: #fff;
}
.service-add-wrap .service-item .btn:not(.is-added) {
	transition: all 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
	.service-add-wrap .service-item .btn:not(.is-added):hover {
		color: #fff;
		background: var(--primary);
		border-color: var(--primary);
	}
}
.service-add-wrap .no-data {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 500;
	color: #929292;
	line-height: 1.429;
	gap: 4px;
	padding: 0 16px;
	margin: 80px 0;
}
.service-add-wrap .no-data strong {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.5;
} 