/* 인쇄 영역 */
@media print {
	body > * {
		display: none;
	}
	body > .print-area {
		display: block;
		padding: 10rem;
	}
}

/* 폼 */
#contents > form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
	  -ms-flex-direction: column;
		  flex-direction: column;
  -webkit-box-flex: 1;
	  -ms-flex-positive: 1;
		  flex-grow: 1;
}

/* 하단 플로팅 메시지 */
#_bottom_message_bar_wrap {
	height: 0;
	position: relative;
}

/* 상품 선택 하단 버튼 할인율 */
.item-discount {
	color: var(--cl1);
	padding-right: 0.5rem;
}

/* 폼 전송 프로그레스 색상 변경 */
#_progress_overlay > div > span {
	background: var(--cl1) !important;
}

/* 사이즈, 메시지 도움말 팝업 이미지 조정 */
.layer i.help_img {
	display: block;
}
.layer i.help_img img {
	width: 100%;
}

/* 작품 리스트 비율 수정 */
.list_img1 > li {
	aspect-ratio: 1 / 1;
}
.list_img1 label {
	height: 100%;
	padding: 10% !important;
	border: 0.2rem solid #fff;
}
.list_img1 label img {
	max-width: 100%;
	max-height: 100%;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
}
.list_img1 input[type="radio"] {
	visibility: hidden;
}

/* 약관 동의 체크박스 */
.type1 .form_check:not(:first-of-type) {
	margin-top: 1.4rem;
}

input.error {
	text-align: left !important;
}

.bold {
	font-weight: 600 !important;
}

/* 주문 최종 확인 메시지 배경 */
.box1.no-bg {
	border: 1px solid #DDDDDD;
	background: none;
}

/* 결제하기 버튼 */
button.disabled {
	background-color: #CCCCCC !important;
	border-color: #CCCCCC !important;
}

/* 복사 버튼 */
.btn-copy {
	cursor: pointer;
}

/* 주문 취소 확인 모달 */
#confirm-modal {
	display: flex;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,0.5);
	z-index: 9999;
	justify-content: center;
	align-items: center;
	color: #111111 !important;
}
#confirm-modal > div {
	position: relative;
	background: #fff;
	border-radius: 12px;
	width: 360px;
	max-width: 70vw;
	text-align: center;
	box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
#confirm-modal .cfm-message {
	padding: 2.5rem 20px;
	font-weight: 600;
	line-height: 140%;
	letter-spacing: -2%;
	text-align: center;
	text-transform: uppercase;
}
#confirm-modal .cfm-buttons {
	display: flex;
	flex-direction: row;
	box-sizing: content-box;
	width: 100%;
	height: 48px;
	align-items: center;
	justify-content: center;
	border-top: 1px solid #DDDDDD;
}
#confirm-modal .cfm-buttons button {
	flex-grow: 1;
	width: 50%;
	height: 100%;
	font-weight: 400;
}
#confirm-modal .cfm-buttons button:not(:first-child) {
	border-left: 1px solid #DDDDDD;
}
#confirm-modal .cfm-buttons button.cfm-ok {
	font-weight: 700;
}
#confirm-modal .cfm-buttons button.cfm-cancel {
	color: #D43333;
}

/* 주문 상세 팝업(입금계좌확인, 배송조회) */
.layer.type2 {
	top: auto;
	bottom: 0;
	left: 0;
	min-width: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	-webkit-transform: translate(0);
		  transform: translate(0);
}
.layer.type2 .group {
	width: 55rem;
	max-width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	top: auto;
	bottom: 0;
	border-radius: 1.6rem 1.6rem 0 0;
	-webkit-transform: translate(-50%, 0);
		  transform: translate(-50%, 0);
}
.layer.type2 .contents_body {
	height: 100%;
	overflow: auto;
	padding: 1.5rem 1.5rem 3rem 0;
}

/* 아이폰 사파리에서 주소창 표시 여부에 따라 높이 동적 조절 */
.layer.type1 .item {
	height: calc(var(--vh, 1vh) * 90 - 13rem) !important;
}
.layer.type2 .item {
	height: calc(var(--vh, 1vh) * 90) !important;
}

/* input 입력 삭제 버튼 */
.form_text .btn-input-clear {
	visibility: hidden;
	overflow: hidden;
	width: 0;
	height: 0;
	opacity: 0;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.8rem;
	color: #aaa;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.form_text input.has-text + .btn-input-clear {
	visibility: visible;
	overflow: visible;
	width: auto;
	height: auto;
	opacity: 1;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}

/* 주소 입력 여백 */
.form_post ~ p {
	margin-top: 1rem;
}

/* 상품 메시지 직접 입력 */
.message-etc + .txt_error {
	margin-top: 1rem;
}
.message-etc .btn-input-clear {
	z-index: 3;
}

/* 문의하기 폼 하단 버튼 여백 필요 */
.btns.type2 {
	margin-top: 3rem;
}

/* 토스트 메시지 */
#_toast {
	position: fixed;
	top: 85%;
	left: 50%;
	transform: translateX(-50%);
	background: #555555EF;
	color: #fff;
	padding: 10px 20px;
	border-radius: 2rem;
	min-width: 160px;
	text-align: center;
	font-size: 1.2rem;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
	z-index: 999;
}
#_toast.show {
  opacity: 1;
}


/* 현금영수증 */
.cash_receipt {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
}
.cash_receipt ._check {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.cash_receipt ._check > div {
	position: relative;
	top: -0.3rem;
}
.cash_receipt ._type {
	width: 100%;
	display: flex;
	gap: 1rem;
}
.cash_receipt ._type input {
	display: none;
}
.cash_receipt ._type label {
	flex-grow: 1;
}
.cash_receipt ._type input:not(:checked) + label {
	border-color: #DDDDDD !important;
}
.cash_receipt ._input {
}



/* 커스텀 라디오버튼 */
.custom-radio {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	gap: 0.5rem;
	font-size: 1.3rem;
}
.custom-radio input[type="radio"] {
	appearance: none;
	width: 1.8rem;
	height: 1.8rem;
	margin: 0;
	border: none;
	position: absolute;
	opacity: 0;
}
.radio-mark {
	display: inline-block;
	width: 1.8rem;
	height: 1.8rem;
	border: 1px solid #bbb;
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
	position: relative;
	transition: border-color 0.2s;
}
.custom-radio input[type="radio"]:checked + .radio-mark {
	border-color: var(--cl1);
}
.custom-radio input[type="radio"]:checked + .radio-mark::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 105%;
	height: 105%;
	border-radius: 50%;
	border: 5px solid var(--cl1);
	background: #fff;
	box-sizing: border-box;
}
.custom-radio:not(:first-of-type) {
	margin-left: 1rem;
}