.product .inner {
	gap: 40px;
}
.product .grid {
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.product .grid .item {
	border-radius: 20px;
	border: 1px solid var(--stroke);
	transition: all .3s;
	overflow: hidden;
}
.product .grid .item:hover {
	border: 1px solid var(--key-color);
}
.product .grid .item .thumb {
	position: relative;
	height: 0;
	padding-bottom: 70%;
	background: #F1FBF8;
	overflow: hidden;
}
.product .grid .item:nth-child(even) .thumb {
	background: #F2F6FF;
}
.product .grid .item .thumb img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 90%;
	max-height: 90%;
	object-fit: cover;
}
.product .grid .item .info_box {
	padding: 30px 20px;
	gap: 20px;
}
.product .grid .item .info_box .txt {
	gap: 10px;
}
.product .grid .item .info_box .txt p {
	color: var(--text);
}
.product .grid .item .info_box .txt strong {
	font-size: 20px;
}
.product .grid .item .info_box .price strong {
	font-size: 20px;
}



.buy_form {
	gap: 60px;
}
.buy_form > div {
	flex: 1;
}
.buy_form .thumb {
	position: relative;
	padding-bottom: 30%;
	background: #F1FBF8;
	border-radius: 20px;
	border: 1px solid var(--stroke);
	overflow: hidden;
}
.buy_form .thumb img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 95%;
	height: 95%;
	object-fit: cover;
}
.buy_form .info_box {
	gap: 20px;
}
.buy_form .info_box .title {
	gap: 16px;
}
.buy_form .info_box .title p {
	font-size: 20px;
	color: var(--text);
}
.buy_form .info_box .title h3 {
	font-size: 32px;
}
.buy_form .info_box .title strong {
	font-size: 32px;
	margin-top: 4px;
}
.buy_form .info_box .util_box {
	gap: 10px;
}
.buy_form .info_box .util_box .item {
	gap: 10px;
	font-size: 20px;;
}
.buy_form .info_box .util_box .item .stock {
	width: 240px;
	height: 60px;
	background: var(--bg);
	border-radius: 50px;
	padding: 10px;
	gap: 10px;
}
.buy_form .info_box .util_box .item .stock button {
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: var(--point);
}
.buy_form .info_box .util_box .item .stock input {
	flex: 1;
	width: 100%;
	font-size: 24px;
	background-color: transparent;
	text-align: center;
}
.buy_form .info_box .util_box .item .price {
	gap: 10px;
}
.buy_form .info_box .util_box .item .price h4 {
	width: 240px;
	height: 60px;
	background: var(--bg);
	padding: 10px 20px;
	border-radius: 50px;
	font-size: 24px;
	font-weight: 700;
}
.buy_form .info_box .util_box .item .price span {
	font-size: 20px;
}
.buy_form .info_box > button {
	height: 64px;
	border-radius: 10px;
	font-size: 24px;
}



.payment_form {
	max-width: 920px;
	margin: 0 auto;
}
.payment_form .form {
	gap: 60px;
	margin-top: 20px;
}
.payment_form .form .item {
	gap: 30px;
}
.payment_form .form .item .tit {
	font-size: 32px;
	font-weight: 300;
}
.payment_form .form .item > .bg {
	padding: 30px;
	gap: 30px;
	border-radius: 30px;
}
.payment_form .form .item > .bg > h4 {
	font-size: 32px;
	font-weight: 700;
}
.payment_form .form .item .radio {
	gap: 20px;
}
.payment_form .form .item .radio > div {
	position: relative;
}
.payment_form .form .item .radio > div input[type=radio] {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
.payment_form .form .item .radio > div input[type=radio] + label {
	position: relative;
	display: inline-block;
	font-size: 18px;
	padding: 2px 0 2px 30px;
}
.payment_form .form .item .radio > div input[type=radio] + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid var(--brown);
	background-color: var(--white);
	box-sizing: border-box;
}
.payment_form .form .item .radio > div input[type=radio]:checked + label:before {
	border-width: 6px;
}
.payment_form .form .item .prd_info .thumb {
	position: relative;
	width: 260px;
	height: 183px;
	border-radius: 10px;
	border: 1px solid var(--stroke);
	background: #F1FBF8;
}
.payment_form .form .item .prd_info .thumb img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	max-width: 95%;
	max-height: 95%;
	object-fit: cover;
}
.payment_form .form .item .prd_info .info {
	gap: 16px;
	padding: 16px 0;
}
.payment_form .form .item .prd_info .info .title {
	gap: 10px;
}
.payment_form .form .item .prd_info .info .title p {
	color: var(--text);
	text-transform: capitalize;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}
.payment_form .form .item .prd_info .info .title h3 {
	font-size: 20px;
	font-weight: 700;
	text-transform: capitalize;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
}
.payment_form .form .item .prd_info .info .price {
	font-size: 20px;
	font-weight: 700;
}
.payment_form .form .item .prd_info .info .util {
	gap: 6px;
}
.payment_form .form .item .prd_info .info .util .qnt {
	font-size: 18px;
}
.payment_form .form .item .prd_info .info .util strong {
	font-size: 24px;
}
.payment_form .form .item .delivery_box {
	gap: 20px;
	font-size: 18px;
}
.payment_form .form .item .delivery_box button {
	height: 44px;
	padding: 0 30px;
	border-radius: 10px;
	border: 1px solid #D8D8D8;
	background: var(--white);
}
.payment_form .form .item .point_box .my_point {
	gap: 4px;
	font-size: 20px;
}
.payment_form .form .item .point_box .my_point p {
	font-weight: 500;
}
.payment_form .form .item .point_box .my_point strong {
	color: #0031F5;
	font-weight: 700;
}
.payment_form .form .item .point_box .price_input {
	width: 300px;
	border-radius: 50px;
	background: var(--white);
	padding: 16px;
	font-size: 24px;
}
.payment_form .form .item .point_box .price_input input {
	flex: 1;
	width: 100%;
	font-size: inherit;
	text-align: right;
}
.payment_form .form .item .point_box .price_input input::-webkit-input-placeholder {
	color: var(--black);
	font-weight: 700;
}
.payment_form .form .item .point_box .price_input input:-moz-placeholder {
	color: var(--black);
	font-weight: 700;
	opacity: 1;
}
.payment_form .form .item .point_box .price_input input::-moz-placeholder {
	color: var(--black);
	font-weight: 700;
	opacity: 1;
}
.payment_form .form .item .point_box .price_input input:-ms-input-placeholder {
	color: var(--black);
	font-weight: 700;
}
.payment_form .form .item .point_box button {
	height: 62px;
	background: var(--black);
	color: var(--white);
	font-size: 20px;
	font-weight: 500;
	border-radius: 50px;
	padding: 0 30px;
}
.payment_form .form .item .total_box .list_flex {
	gap: 16px;
	font-size: 18px;
}
.payment_form .form .item .total_box .total_price {
	margin-top: -10px;
}
.payment_form .form .item .total_box .total_price p {
	font-size: 24px;
}
.payment_form .form .item .total_box .total_price > div {
	font-size: 36px;
}
.payment_form .form .item .total_box .total_price > div strong {
	font-weight: 900;
}
.payment_form .form .item .agree_box {
	padding: 0 30px;
}
.payment_form .form .item .agree_box .agree {
	position: relative;
}
.payment_form .form .item .agree_box .agree input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
}
.payment_form .form .item .agree_box .agree input + label {
	position: relative;
	display: inline-block;
	padding: 4px 0 4px 32px;
}
.payment_form .form .item .agree_box .agree input + label:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 3px;
	border: 1px solid #7B7B7B;
	background: var(--bg);
	box-sizing: border-box;
}
.payment_form .form .item .agree_box .agree input:checked + label:before {
	background: var(--brown) url("../images/ic_check.svg")no-repeat 50% 50%;
	border: 1px solid var(--brown);
}
.payment_form .form .item .agree_box button {
	color: #06F;
}
.payment_form .form .item .btn_area button {
	height: 64px;
	font-size: 24px;
	padding: 0 40px;
	border-radius: 10px;
}
.payment_form .form .item .help {
	background: var(--bg);
	padding: 40px;
	gap: 20px;
	border-radius: 10px;
	border: 1px solid #d8d8d8;
}
.payment_form .form .item .help strong {
	font-size: 24px;
}
.payment_form .form .item .help ul {
	gap: 8px;
}
.payment_form .form .item .help ul li {
	position: relative;
	font-size: 18px;
	line-height: 1.2;
	padding-left: 25px;
}
.payment_form .form .item .help ul li:before {
	content: '';
	position: absolute;
	top: 8px;
	left: 8px;
	display: block;
	width: 4px;
	height: 4px;
	background: var(--black);
	border-radius: 50%;
}






#addr_pop .modal_cont {
    max-width: 600px;
}
#addr_pop .form {
    gap: 10px;
}
#addr_pop .form .item {
    border-radius: 10px;
    border: 1px solid #D8D8D8;
    padding: 0 20px;
    gap: 6px;
    box-sizing: border-box;
    overflow: hidden;
}
#addr_pop .form .item input {
    flex: 1;
    width: 100%;
    height: 58px;
    font-size: 18px;
}
#addr_pop .form .item button {
    padding: 8px 10px;
    border-radius: 50px;
    font-size: 12px;
    background: var(--text);
    color: var(--white);
    box-sizing: border-box;
}
#addr_pop .form .item .time {
    font-size: 14px;
}
#addr_pop .btn_area {
	margin-top: 20px;
}
#addr_pop .btn_area button {
	background: var(--black);
	color: var(--white);
}









@media screen and (max-width: 1280px) {
	.payment_form .form .item .tit,
	.payment_form .form .item > .bg > h4 {
    	font-size: 28px;
	}
}
@media screen and (max-width: 1024px) {
	.product .grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.product .grid .item .info_box .txt p {
		font-size: 14px;
	}
	.product .grid .item .info_box .txt strong {
		font-size: 18px;
	}
	.product .grid .item .info_box .price strong {
		font-size: 18px;
	}


	.buy_form {
		gap: 30px;
	}
	.buy_form .info_box .title {
		gap: 10px;
	}
	.buy_form .info_box .title p {
		font-size: 16px;
	}
	.buy_form .info_box .title h3 {
		font-size: 26px;
	}
	.buy_form .info_box .title strong {
		font-size: 26px;
	}
	.buy_form .info_box .util_box .item {
		font-size: 16px;
	}
	.buy_form .info_box .util_box .item .stock {
		width: 200px;
		height: 50px;
	}
	.buy_form .info_box .util_box .item .stock button {
		width: 30px;
		height: 30px;
	}
	.buy_form .info_box .util_box .item .stock input {
		font-size: 20px;
	}
	.buy_form .info_box .util_box .item .price h4 {
		width: 200px;
		height: 50px;
		font-size: 20px;
	}
	.buy_form .info_box .util_box .item .price span {
		font-size: 18px;
	}
	.buy_form .info_box > button {
		height: 54px;
		font-size: 20px;
	}


	.payment_form .form {
		margin-top: 0;
		gap: 40px;
	}
	.payment_form .form .item {
		gap: 20px;
	}
	.payment_form .form .item > .bg {
		padding: 20px;
		gap: 20px;
		border-radius: 20px;
	}
	.payment_form .form .item .tit, 
	.payment_form .form .item > .bg > h4 {
        font-size: 20px;
    }
	.payment_form .form .item .prd_info .thumb {
		width: 200px;
		height: 160px;
	}
	.payment_form .form .item .prd_info .info .title p {
		font-size: 14px;
	}
	.payment_form .form .item .prd_info .info .title h3 {
		font-size: 18px;
	}
	.payment_form .form .item .prd_info .info .price {
		font-size: 18px;
	}
	.payment_form .form .item .prd_info .info .util .qnt {
		font-size: 16px;
	}
	.payment_form .form .item .prd_info .info .util strong {
		font-size: 20px;
	}
	.payment_form .form .item .radio > div input[type=radio] + label {
		font-size: 16px;
		padding-left: 26px;
	}
	.payment_form .form .item .delivery_box {
		font-size: 16px;
	}
	.payment_form .form .item .delivery_box button {
		height: 40px;
		padding: 0 20px;
		font-size: 14px;
	}
	.payment_form .form .item .point_box .my_point {
		font-size: 16px;
	}
	.payment_form .form .item .point_box .price_input {
		width: 260px;
		font-size: 20px;
		padding: 11px;
	}
	.payment_form .form .item .point_box button {
    	height: 47px;
		font-size: 16px;
		padding: 0 20px;
	}
	.payment_form .form .item .total_box .list_flex {
		gap: 10px;
		font-size: 16px;
	}
	.payment_form .form .item .total_box .total_price {
		margin-top: 0;
	}
	.payment_form .form .item .total_box .total_price p {
		font-size: 20px;
	}
	.payment_form .form .item .total_box .total_price > div {
		font-size: 28px;
	}
	.payment_form .form .item .agree_box {
		padding: 0 20px;
	}
	.payment_form .form .item .btn_area button {
		height: 54px;
		font-size: 20px;
	}
	.payment_form .form .item .help {
		padding: 30px;
	}
	.payment_form .form .item .help strong {
		font-size: 20px;
	}
	.payment_form .form .item .help ul li {
		font-size: 16px;
	}


	#addr_pop .form .item {
        padding: 0 15px;
    }
    #addr_pop .form .item input {
        height: 48px;
        font-size: 15px;
    }
}
@media screen and (max-width: 768px) {
	.buy_form > div {
		flex: none;
		width: 100%;
	}
	.buy_form .thumb {
		padding-bottom: 60%;
	}


	.payment_form .form .item .prd_info .thumb {
        width: 170px;
	}
	.payment_form .form .item .point_box .my_point {
		flex: none;
	}
	.payment_form .form .item .point_box .price_input {
		flex: 1;
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.product .grid {
        grid-template-columns: repeat(1, 1fr);
    }


	.payment_form .form .item .prd_info .thumb {
        width: 100%;
        height: 220px;
    }
	.payment_form .form .item .delivery_box button {
		width: 100%;
		padding: 0;
	}
	.payment_form .form .item .point_box button {
		width: 100%;
	}
	.payment_form .form .item .agree_box {
		padding: 0 5px;
	}
}
@media screen and (max-width: 380px) {
	.buy_form .info_box .util_box .item .stock {
		width: 175px;
	}
	.buy_form .info_box .util_box .item .price h4 {
		width: 175px;
	}
}