@charset "utf-8";

/*
	** CONTENTS CSS
*/


/* ## swiper control ## */
:is(.swiper-button-next, .swiper-button-prev, .swiper-button-play, .swiper-button-pause) {
	--swiper-icon-size: 20px !important;
	width: var(--swiper-icon-size);
	height: var(--swiper-icon-size);
	cursor: pointer;
}
:is(.swiper-button-play, .swiper-button-pause) { display: none; }
:is(.swiper-button-play, .swiper-button-pause).active { display: inline-flex; }
.swiper-button-next::after, 
.swiper-button-prev::after, 
.swiper-button-play::after, 
.swiper-button-pause::after {
	display: block;
	content:"";
	width: 100%;
	height: 100%;
	background: #000;
	-webkit-mask: url("../img/contents/icon-right.svg") no-repeat center / contain;
	mask: url("../img/contents/icon-right.svg") no-repeat center / contain;
}
.swiper-button-next::after { mask-image: url("../img/contents/icon-right.svg"); }
.swiper-button-prev::after { mask-image: url("../img/contents/icon-left.svg"); }
.swiper-button-play::after { mask-image: url("../img/contents/icon-play.svg"); }
.swiper-button-pause::after { mask-image: url("../img/contents/icon-pause.svg"); }

.tag-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px;
}
.tag-box .tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 50px;
	height: 26px;
	line-height: 26px;
	padding: 0 14px;
	border-radius: 99px;
	border: 1px solid #000;
	background-color: #000;
	color: #fff;
	font-size: var(--font-size-14);
	font-weight: 300;
}
.tag-box .tag.tag-color-gray {
	border-color: #555555;
	background-color: #555555;
	color: #fff;
}
.tag-box .tag.tag-color-blue {
	border-color: #E9F1FC;
	background-color: #E9F1FC;
	color: #999999;
}
.tag-box .tag.tag-color-lightgray {
	border-color: #F6F6F7;
	background-color: #F6F6F7;
	color: #999999;
}
.tag-box .tag.tag-line-lightgray {
	border-color: #D9D9D9;
	background-color: #fff;
	color: #999999;
}
@media all and (max-width: 767px) {
	.tag-box .tag {
		padding: 0 12px;
	}
}

.video-box {
	position: relative;
	overflow: hidden;
	border-radius: 13px;
	padding-bottom: 56.25%;
	height: 0;
}
.video-box > iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.icon-custom {
    --icon-size: 32px;
    --icon-color: #000;

    width: var(--icon-size);
    height: var(--icon-size);
    border-radius: 50%;
    border: 1px solid var(--icon-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.icon-custom::before {
    display: block;
    content: "";
    width: calc(var(--icon-size) * 0.75);
    height: calc(var(--icon-size) * 0.75);
    background: var(--icon-color);
    -webkit-mask: var(--icon-url) no-repeat center / contain;
    mask: var(--icon-url) no-repeat center / contain;
    transition: var(--transition);
}
.icon-custom.icon-next { --icon-url: url("../img/contents/icon-right.svg"); }
.icon-custom.icon-prev { --icon-url: url("../img/contents/icon-left.svg"); }
.icon-custom.icon-close { --icon-url: url("../img/contents/icon-close.svg"); }
.icon-custom.icon-search { --icon-url: url("../img/contents/icon-search.svg"); }
@media all and (max-width: 767px) {
    .icon-custom {
		--icon-size: 26px;
	}
}


/* ## loader ## */
.loader-wrapper {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.6);
}
.loader-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    max-width: 150px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}
.loader-circle {
    display: flex;
    align-items: center;
    gap: 0 30px;
}
.loader-circle .circle {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
    box-shadow: 0px 5px 6px rgba(0, 0, 0, 0.16);
    opacity: 0.15;
    animation: circleColor 2s linear infinite;
}
.loader-circle .circle:nth-child(2) { animation-delay: 0.4s; }
.loader-circle .circle:nth-child(3) { animation-delay: 0.8s; }
.loader-circle .circle:nth-child(4) { animation-delay: 1.2s; }
@keyframes circleColor {
    0%   { opacity: 0.15; transform: scale(1);   }
    25%  { opacity: 1;    transform: scale(1.3); }
    50%  { opacity: 0.15; transform: scale(1);   }
    100% { opacity: 0.15; transform: scale(1);   }
}
.loader-bar {
    display: block;
    width: 100%;
    height: 4px;
    border-radius: 30px;
    background: #fff;
    position: relative;
    overflow: hidden;
}
.loader-bar::before {
    content: "";
    position: absolute;
    background: linear-gradient(to right, var(--secondary-color), var(--primary-color));
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    border-radius: 30px;
    animation: barMove 2s ease-in-out infinite;
}
@keyframes barMove {
    0%   { width: 0%;   left: 0;    right: auto; }
    50%  { width: 100%; left: 0;    right: auto; }
    51%  { width: 100%; left: auto; right: 0; }
    100% { width: 0%;   left: auto; right: 0; }
}

@media all and (max-width: 767px) {
    .loader-wrapper {
        background: #E9F1FC;
    }
}



/* ## 랭킹 슬라이드 ## */
.ranking-box {
	display: flex;
	align-items: center;
	padding: 60px 0;
	padding-left: calc((100% - 1640px) / 2);
}
.ranking-title {
	padding: 0 70px;
}
.ranking-title h2 {
	font-size: 2.5rem;
	font-weight: 800;
	color: #fff;
}
.ranking-title .swiper-control {
	margin-top: 10px;
	display: flex;
	align-items: center;
	gap: 4px;
}
.ranking-title .swiper-button-prev,
.ranking-title .swiper-button-next {
	position: unset;
	margin-top: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #fff;
	transition: var(--transition);
}
.ranking-title .swiper-button-prev:hover,
.ranking-title .swiper-button-next:hover {
	background: #fff;
}
.ranking-title .swiper-button-prev::after,
.ranking-title .swiper-button-next::after {
	background: #fff;
	width: 26px;
	height: 26px;
	transition: var(--transition);
}
.ranking-title .swiper-button-prev:hover::after,
.ranking-title .swiper-button-next:hover::after {
	background: #000;
}
.ranking-slide {
	flex: 1;
	display: flex;
	position: relative;
	overflow: hidden;
}
.ranking-slide .swiper {
	margin: 0;
}
.ranking-slide .swiper-slide {
	display: flex;
	height: 240px;
	border-radius: 20px;
	overflow: hidden;
}
.ranking-slide .number-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 90px;
	color: #fff;
	background: #3B3A3D;
}
.ranking-slide .number-box .text {
	font-size: var(--font-size-14);
}
.ranking-slide .number-box .number {
	font-size: 2.75rem;
	font-weight: 800;
}
.ranking-slide .text-box {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
	height: 100%;
	padding: 35px 40px;
	background: #555457;
}
.ranking-slide .text-box .title {
	font-size: var(--font-size-20);
	font-weight: 600;
	color: #fff;
}
.ranking-slide .text-box .tag-box,
.ranking-slide .text-box .price {
	display: none;
}
.ranking-slide .img-box {
	height: 100%;
}
.ranking-slide .img-box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.ranking-slide-active {
	width: 60%;
	position: relative;
	z-index: 2;
}
.ranking-slide-active .swiper-slide {
	opacity: 0;
	visibility: hidden;
	transition: 0.4s ease-in-out;
}
.ranking-slide-active .swiper-slide-active {
	opacity: 1;
	visibility: visible;
}
.ranking-slide-active .number-box {
	width: 110px;
	background: var(--primary-color);
}
.ranking-slide-active .number-box .number {
	font-size: 3.25rem;
}
.ranking-slide-active .text-box {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 30px 50px;
	background: #fff;
}
.ranking-slide-active .text-box .title {
	margin-bottom: 10px;
	font-size: var(--font-size-28);
	font-weight: 700;
	color: #000;
}
.ranking-slide-active .text-box .tag-box,
.ranking-slide-active .text-box .price {
	display: flex;
}
.ranking-slide-active .text-box .price {
	margin-top: 20px;
	font-size: var(--font-size-28);
	color: var(--primary-color);
	font-weight: 700;
}
.ranking-slide-active .img-box {
	max-width: 300px;
}
.ranking-slide-thumbs {
	width: calc((31.5% * 2) + 36px);
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
.ranking-slide-thumbs .swiper-slide {
	opacity: 0;
	visibility: hidden;
	transition: 0.4s ease-in-out;
}
.ranking-slide-thumbs .swiper-slide-next,
.ranking-slide-thumbs .swiper-slide-next ~ .swiper-slide {
	opacity: 1;
	visibility: visible;
}
@media all and (max-width: 1439px) {
	.ranking-box {
		padding: 40px 0;
	}
	.ranking-title {
		padding: 0 40px;
	}
	.ranking-title h2 {
		font-size: 2.25rem;
	}
	.ranking-slide .swiper-slide {
		height: 200px;
	}
	.ranking-slide .number-box .number {
		font-size: 2.25rem;
	}
	.ranking-slide .text-box {
		display: flex;
		flex-direction: column;
		gap: 24px;
		width: 100%;
		height: 100%;
		padding: 25px 25px;
	}
	.ranking-slide .text-box .title {
		font-size: var(--font-size-18);
		font-weight: 600;
	}
	.ranking-slide-active .number-box {
		width: 90px;
	}
	.ranking-slide-active .number-box .number {
		font-size: 2.75rem;
	}
	.ranking-slide-active .text-box {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 20px 30px;
	}
	.ranking-slide-active .text-box .title {
		font-size: var(--font-size-24);
	}
	.ranking-slide-active .text-box .tag-box {
		display: none;
	}
	.ranking-slide-active .text-box .price {
		margin-top: 20px;
		font-size: var(--font-size-24);
	}
	.ranking-slide-active .img-box {
		max-width: 150px;
	}
	.ranking-slide-active .swiper-slide {
		transition: none;
	}
}
@media all and (max-width: 1023px) {
	.ranking-box {
		padding: 40px 20px;
	}
	.ranking-title {
		padding: 0 20px;
	}
	.ranking-title h2 {
		font-size: 2rem;
	}
	.ranking-slide .swiper-slide {
		height: 200px;
	}
	.ranking-slide-active {
		width: 100%;
	}
	.ranking-slide-thumbs {
		display: none;
	}
}
@media all and (max-width: 767px) {
	.ranking-box {
		display: block;
		padding: 20px 15px;
		background: url(../img/layout/sub-bg-img.jpg) no-repeat center top 30% / cover;
	}
	.ranking-title {
		padding: 0;
		margin-bottom: 13px;
	}
	.ranking-title h2 {
		font-size: var(--font-size-20);
	}
	.ranking-title h2 br {
		display: none;
	}
	.ranking-title .swiper-control {
		display: none;
	}
	.ranking-slide .swiper-slide {
		height: auto;
		border-radius: 5px;
	}
	.ranking-slide-active {
		width: 100%;
	}
	.ranking-slide-active .swiper-slide {
		opacity: 1;
		visibility: visible;
	}
	.ranking-slide-active .number-box {
		width: 20px;
		height: 20px;
		color: #fff;
		background: #000;
		border-radius: 4px;
		position: absolute;
		top: 6px;
		left: 6px;
	}
	.ranking-slide-active .number-box .text {
		display: none;
	}
	.ranking-slide-active .number-box .number {
		font-size: var(--font-size-14);
	}
	.ranking-slide-active .text-box {
		flex-direction: column-reverse;
		align-items: flex-start;
		justify-content: center;
		gap: 5px;
		padding: 18px 6px 8px;
	}
	.ranking-slide-active .text-box .title {
		margin-bottom: 5px;
		font-size: var(--font-size-14);
		font-weight: 500;
	}
	.ranking-slide-active .text-box .price {
		margin-top: 0;
		font-size: var(--font-size-13);
		color: #999999;
		font-weight: 400;
	}
	.ranking-slide-active .img-box {
		max-width: 80%;
		margin: 0 auto;
	}
}

/* ## 프로모션 슬라이드 ## */
.promotion-slide {
	width: 100%;
	margin-top: 20px;
}
.promotion-slide .swiper-slide {
	position: relative;
	display: block;
	height: 144px;
	border-radius: 10px;
	overflow: hidden;
}
.promotion-slide .img-box {
	width: 100%;
	height: 100%;
}
.promotion-slide .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.promotion-slide .text-box {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: linear-gradient(90deg, #111 0%, transparent 100%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 18px 16px;
	color: #fff;
}
.promotion-slide .swiper-pagination {
	display: block;
	left: auto;
	bottom: auto;
	top: 12px;
	right: 12px;
	width: auto;
	color: #fff;
	font-size: var(--font-size-13);
	font-weight: 300;
	background: rgba(0,0,0,.5);
	padding: 5px 13px;
	border-radius: 99px;
}

/* ## 공통 목록 필터 ## */
.rent-filter {
	display: flex;
	border-bottom: 1px solid #D9D9D9;
}
.rent-filter-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	border-radius: 0;
	background: #fff;
	color: #555555;
}
.rent-filter-btn:not(:last-child) {
	border-right: 1px solid #D9D9D9;
}
.rent-filter-btn::after {
	content: "\f107";
	font-family: "Font Awesome 7 Free";
	font-size: var(--font-size-14);
	font-weight: 900;
	margin-left: 16px;
}
.rent-filter-btn .icon {
	width: 20px;
	height: 20px;
	margin-right: 10px;
	filter: brightness(0) saturate(100%) invert(50%);
}
@media all and (max-width: 1023px) {
	.rent-filter-btn {
		font-size: var(--font-size-15);
	}
}
@media all and (max-width: 767px) {
	.rent-filter-btn {
		height: 40px;
		color: #999999;
	}
	.rent-filter-btn::after {
		margin-left: 8px;
	}
	.rent-filter-btn .icon {
		width: 16px;
		height: 16px;
		margin-right: 5px;
	}
}
@media all and (max-width: 369px) {
	.rent-filter-btn {
		font-size: var(--font-size-14);
	}
	.rent-filter-btn .icon {
		width: 15px;
		height: 15px;
		margin-right: 2px;
	}
}

.rent-filter-option .btn {
	display: flex;
	align-items: center;
	width: 100%;
	height: 44px;
	padding: 12px 18px;
	margin-bottom: 10px;
	border-radius: 10px;
	border: 1px solid #E5E5E5;
	color: #999999;
	position: relative;
}
.rent-filter-option .btn::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	width: 20px;
	height: 20px;
	background: var(--primary-color);
	-webkit-mask-image: url("../img/contents/icon-option-check.svg");
	mask-image: url("../img/contents/icon-option-check.svg");
	mask-size: contain;
	display: none;
}
.rent-filter-option .btn.active {
	border-color: var(--primary-color);
	color: var(--primary-color);
	font-weight: 700;
}
.rent-filter-option .btn.active::after {
	display: block;
}


.rent-brand-box .row-box {
	margin-bottom: 15px;
}
.rent-brand-box .title {
	margin-bottom: 10px;
	font-size: var(--font-size-14);
	font-weight: 500;
}
.rent-brand-box .list-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.rent-brand-box .btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	border-radius: 8px;
	border: 1px solid #F6F6F7;
	background: #F6F6F7;
	font-size: var(--font-size-12);
}
.rent-brand-box .btn.active {
	border-color: var(--primary-color);
}
.rent-brand-box .btn .all {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	font-size: 14px;
	font-weight: 800;
	color: var(--primary-color);
}
.rent-brand-box .btn .img {
	mix-blend-mode: multiply;
}
@media all and (max-width: 767px) {
	.rent-brand-box .btn {
		font-size: var(--font-size-14);
	}
}


/* ## 공통 목록 그리드 ## */
.rent-grid {
	display: grid;
	align-items: stretch;
	gap: 22px 28px;
	padding: 30px 0 60px 30px;
}
.rent-grid.grid-col2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rent-grid.grid-col3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rent-grid .grid-item {
	width: 100%;
	height: 100%;
}
.rent-grid .grid-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 22px;
	width: 100%;
	height: 100%;
	padding: 25px 20px;
	border-radius: 20px;
	outline: 1px solid #D9D9D9;
	transition: 0.1s ease-in-out;
}
.rent-grid .grid-card:hover {
	outline: 2px solid var(--primary-color);
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.16);
}
.rent-grid .grid-card::after {
	content: "\f105";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #555555;
	position: absolute;
	top: 50px;
	right: 28px;
}
.rent-grid .grid-card .text-box {
	padding: 0 8px;
}
.rent-grid .grid-card .title {
	margin-top: 10px;
	font-size: var(--font-size-20);
	font-weight: 700;
}
.rent-grid .grid-card .price-box {
	margin-top: 14px;
	font-size: var(--font-size-24);
	color: var(--primary-color);
	font-weight: 700;
}
.rent-grid .grid-card .unit {
	font-size: 14px;
	font-weight: 400;
	color: #999999;
	margin-left: 5px;
}
.rent-grid .grid-card .img-box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 170px;
	padding: 15px;
	margin-top: auto;
	border-radius: 10px;
	background: #F3F3F3;
}
.rent-grid .grid-card .img-box img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.rent-empty {
	grid-column: 1 / -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 60px 20px;
	color: #000;
	background: #E9F1FC;
	border-radius: 10px;
}
@media all and (max-width: 1439px) {
	.rent-grid.grid-col3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media all and (max-width: 1023px) {
	.rent-grid.grid-col2 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
	.rent-grid.grid-col3 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}
@media all and (max-width: 767px) {
	.rent-grid {
		gap: 12px 0;
		padding: 15px 15px 60px 15px;
	}
	.rent-grid .grid-card {
		flex-direction: row;
		justify-content: space-between;
		padding: 13px;
		border-radius: 10px;
	}
	.rent-grid .grid-card::after {
		display: none;
	}
	.rent-grid .grid-card .text-box {
		flex: 1;
		padding: 0 4px;
	}
	.rent-grid .grid-card .title {
		margin-top: 15px;
		font-size: var(--font-size-18);
	}
	.rent-grid .grid-card .price-box {
		margin-top: 0;
		font-size: var(--font-size-18);
	}
	.rent-grid .grid-card .img-box {
		flex: 0 0 120px;
		height: 100%;
		padding: 10px;
		margin-top: 0;
	}
	.rent-empty {
		padding: 20px;
	}
}


/* ## 브랜드 목록 ## */
.rent-list.brand .rent-grid {
	padding: 38px 38px 60px;
	background: #F6F6F7;
}
.rent-list.brand .rent-brand-box {
	padding: 22px 28px;
	border-radius: 15px;
	background: #fff;
}
.rent-list.brand .rent-brand-box .row-box {
	margin-bottom: 30px;
}
.rent-list.brand .rent-brand-box .list-box {
	gap: 12px;
}
.rent-list.brand .rent-brand-box .title {
	font-size: var(--font-size-20);
	font-weight: 700;
}
.rent-list.brand .rent-brand-box .btn {
	width: 90px;
	height: 90px;
	font-size: var(--font-size-16);
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
	transition: var(--transition);
}
.rent-list.brand .rent-brand-box .btn:hover {
	border-color: var(--primary-color);
}
@media all and (max-width: 767px) {
	.rent-list.brand .rent-grid {
		padding: 15px 15px 60px;
	}
	.rent-list.brand .rent-brand-box {
		padding: 20px 15px;
		border-radius: 10px;
	}
	.rent-list.brand .rent-brand-box .btn {
		width: 80px;
		height: 80px;
		font-size: var(--font-size-14);
	}
}

.rent-brand-top {
	grid-column: 1 / -1;
	padding: 30px 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border-radius: 15px;
	background: #F6F6F7;
}
.rent-brand-top .text-box .title {
	margin-top: 8px;
	font-size: var(--font-size-26);
	font-weight: 700;
}
.rent-brand-top .text-box .text {
	font-size: var(--font-size-20);
}
.rent-brand-top .img-box {
	animation: alarmTiggle 2.5s ease-in-out infinite;
}
@keyframes alarmTiggle {
	0%, 70%, 100% { transform: scale(1); }
	75% { transform: scale(1.05) rotate(-5deg); }
	80% { transform: scale(1.05) rotate(5deg); }
	85% { transform: scale(1.05) rotate(-5deg); }
	90% { transform: scale(1.05) rotate(5deg); }
	95% { transform: scale(1.05) rotate(0deg); }
}
@media all and (max-width: 1439px) {
	.rent-brand-top .text-box .title {
		font-size: var(--font-size-24);
	}
}
@media all and (max-width: 1023px) {
	.rent-brand-top {
		padding-top: 10px;
		flex-direction: column-reverse;
	}
	.rent-brand-top .text-box .title {
		margin-top: 3px;
		font-size: var(--font-size-20);
	}
	.rent-brand-top .text-box .text {
		font-size: var(--font-size-16);
	}
}
@media all and (max-width: 767px) {
	.rent-brand-top .text-box .title {
		font-size: var(--font-size-18);
	}
	.rent-brand-top .img-box {
		width: 80px;
	}
}

.button-rent-list {
	width: 520px;
	height: 60px;
	font-size: var(--font-size-20);
	border-radius: var(--border-radius);
}
@media all and (max-width: 1023px) {
	.button-rent-list {
		width: 100%;
		font-size: var(--font-size-18);
	}
}
@media all and (max-width: 1023px) {
	.button-rent-list {
		height: 50px;
		font-size: var(--font-size-16);
	}
}


/* ## 진행 단계 ## */
.rent-step {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 40px;
	padding: 22px 10px;
	background: #fff;
	border-radius: 99px;
}
.rent-step .step-list {
	display: flex;
	align-items: center;
	gap: 0 40px;
}
.rent-step .step-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-left: 16px;
	flex-shrink: 0;
	position: relative;
	color: var(--primary-color);
}
.rent-step .step-item:not(.done):not(.active) {
	opacity: 0.3;
}
.rent-step .step-item::after {
	content: '';
	display: block;
	width: 110px;
	height: 5px;
	background: var(--primary-color);
	border-radius: 99px;
	flex-shrink: 0;
}
.rent-step .step-item .icon {
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	flex-shrink: 0;
	position: absolute;
	top: -5px;
	left: 0;
}
.rent-step .step-item.active .icon {
	font-size: 5px;
}
.rent-step .step-item:not(.done):not(.active) .icon {
	visibility: hidden;
}
.rent-step .step-item .label {
	font-weight: 700;
	white-space: nowrap;
}
@media all and (max-width: 1023px) {
	.rent-step {
		margin-top: 20px;
	}
	.rent-step .step-list {
		gap: 0 20px;
	}
	.rent-step .step-item::after {
		width: 50px;
		height: 3px;
	}
}
@media all and (max-width: 767px) {
	.rent-step {
		display: none;
	}
}


/* ## 렌트 상세 ## */
.rent-view {
	--aside-width: 460px;
	display: flex;
	align-items: start;
	gap: 20px;
	margin-top: 30px;
}
.rent-view .view-box {
	width: calc(100% - var(--aside-width) - 20px);
}
.aside-box {
	width: var(--aside-width);
	background: #fff;
	border-radius: 16px;
	padding: 30px;
	border: 1px solid #D9D9D9;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.16);
	position: sticky;
	top: 100px;
}
.aside-box .aside-head {
	display: flex;
	flex-direction: column;
	gap: 17px;
}
.aside-head .title-box .title {
	margin-bottom: 14px;
	font-weight: 700;
	font-size: var(--font-size-28);
}
.aside-head .img-box {
	width: 100%;
	height: 200px;
	padding: 20px;
	background: #F6F6F7;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
}
.aside-head .img-box img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.aside-info {
	margin-top: 15px;
}
.aside-info .info-list + .info-list {
	border-top: 1px solid #D9D9D9;
	margin-top: 6px;
	padding-top: 6px;
}
.aside-info .info-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 0;
}
.aside-info .info-item .term {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #999999;
	font-weight: 500;
}
.aside-info .info-item .desc {
	font-weight: 500;
	text-align: right;
}
.aside-info .info-item .color-chip {
	gap: 5px;
	margin-top: 0;
	line-height: 1;
}
.aside-info .info-item .color-chip .color {
	width: 16px;
	height: 16px;
	cursor: default;
}
.aside-info .info-list.total .term {
	font-size: var(--font-size-14);
	color: #999999;
}
.aside-info .info-list.total .term .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-right: 7px;
	background: #E9F1FC;
	border-radius: 50%;
}
.aside-info .info-list.total .term .icon img {
	width: 18px;
	height: 18px;
}
.aside-info .info-list.total .desc {
	font-size: var(--font-size-14);
	color: #999999;
}
.aside-info .info-list.total .price {
	display: block;
	font-size: 24px;
	font-weight: 700;
	color: var(--primary-color);
}
.comment-box {
	margin-top: 15px;
	padding: 12px 14px;
	background: #E9F1FC;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	gap: 5px;
	font-size: var(--font-size-15);
	color: #0067B9;
}
.comment-box .icon {
	transform: translateY(2px);
}
.aside-box .button-wrap {
	margin-top: 15px;
}
.aside-box .button {
	min-width: auto;
}
.aside-btn-wrap .button {
	color: #999999;
	justify-content: flex-start;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.aside-btn-wrap .button .icon {
	margin-left: auto;
	color: var(--primary-color);
}
.aside-btn-wrap .button .img {
	width: 18px;
	height: 18px;
}
@media all and (max-width: 1439px) {
	.rent-view {
		--aside-width: 400px;
	}
}
@media all and (max-width: 1023px) {
	.rent-view {
		flex-direction: column;
	}
	.rent-view .view-box {
		width: 100%;
	}
	.aside-box {
		width: 100%;
		position: static;
		order: -1;
	}
	.aside-box .mob-box {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 20;
		padding: 0 15px calc(12px + env(safe-area-inset-bottom));
		background: #fff;
	}
	.aside-box .comment-box {
		margin-top: 0;
		width: calc(100% + 30px);
		margin-left: -15px;
		border-radius: 0;
	}
	.aside-box .button-wrap {
		margin-top: 12px;
	}
}
@media all and (max-width: 767px) {
	.rent-view {
		--aside-width: 320px;
		margin-top: 0;
	}
	.aside-box {
		padding: 20px 16px;
	}
	.aside-head .title-box .title {
		font-size: var(--font-size-20);
	}
	.aside-head .img-box{
		width: auto;
		height: 160px;
		padding: 15px;
		aspect-ratio: 5 / 3;
		margin-bottom: 0;
	}
	.aside-info .info-list.total .price {
		font-size: 20px;
	}
}
/* ## 렌트 상세 - 카드 컴포넌트 ## */
.view-card {
	width: 100%;
	padding: 32px 40px;
	background: #fff;
	border-radius: 20px;
	border: 1px solid #D9D9D9;
	overflow: hidden;
}
.view-card:not(:last-child) {
	margin-bottom: 16px;
}
.view-card .card-head {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 20px;
}
.view-card .card-head.line {
	padding-bottom: 20px;
	border-bottom: 1px solid #e4e8f0;;
}
.view-card .card-head .title {
	font-size: var(--font-size-24);
	font-weight: 700;
}
.view-card .card-head .more-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-left: auto;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0;
}
:has(.card-group) .view-card {
	padding: 24px 40px;
}
.view-card .card-group {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.view-card .card-group h3.title {
	font-size: var(--font-size-20);
	font-weight: 600;
}
@media all and (max-width: 767px) {
	.view-card {
		padding: 24px 20px;
		border-radius: 16px;
	}
	.view-card .card-head {
		margin-bottom: 15px;
	}
	.view-card .card-head .title {
		font-size: var(--font-size-22);
	}
	.view-card .card-head .more-btn {
		gap: 2px;
		font-size: var(--font-size-15);
	}
	:has(.card-group) .view-card {
		padding: 20px;
	}
	.view-card .card-group h3.title {
		font-size: var(--font-size-18);
	}
	.view-card:has(.main-guide, .review-slide, .board-qna, .board-faq, .promotion-slide) {
		width: calc(100% + 30px);
		margin-left: -15px;
		border-radius: 0;
		border: none;
	}
	.view-card:has(.board-faq) {
		margin-bottom: 0;
	}
}
/* ## 렌트 상세 - 후기 ## */
.view-card .review-slide {
	width: calc(100% + 40px);
}
.view-card .review-slide .swiper-slide {
	border: 1px solid #DFDFDF;
}
.view-card .review-slide .title {
	font-size: var(--font-size-20);
	font-weight: 500;
}
@media all and (max-width: 767px) {
	.view-card .review-slide .title {
		font-size: var(--font-size-18);
	}
}
/* ## 렌트 상세 - qna ## */
.view-card .board-qna {
	padding-top: 30px;
	border-top: 1px solid #DFDFDF;
}
@media all and (max-width: 767px) {
	.view-card .board-qna {
		padding-top: 20px;
	}
}
/* ## 렌트 상세 - 프로모션 슬라이드 ## */
.view-card:has(.promotion-slide) {
	padding: 0;
	border: none;
}
.view-card .promotion-slide {
	margin-top: 0;
}
.view-card .promotion-slide .swiper-slide {
	height: 200px;
	border-radius: 16px;
}
.view-card .promotion-slide .text-box {
	padding: 36px 38px; 
}
.view-card .promotion-slide .text-box .title {
	font-size: var(--font-size-20);
	font-weight: 500;
}
.view-card .promotion-slide .swiper-pagination {
	top: 20px;
	right: 20px;
	width: 70px;
	font-size: var(--font-size-14);
}
@media all and (max-width: 767px) {
	.view-card:has(.promotion-slide) {
		padding: 0 20px 25px;
		background: #fff;
	}
	.view-card .promotion-slide .swiper-slide {
		height: 150px;
	}
	.view-card .promotion-slide .text-box {
		padding: 18px 16px;
	}
	.view-card .promotion-slide .text-box .text {
		font-size: var(--font-size-14);
	}
	.view-card .promotion-slide .text-box .title {
		font-size: var(--font-size-16);
	}
	.view-card .promotion-slide .swiper-pagination {
		top: 12px;
		right: 12px;
		width: auto;
		font-size: var(--font-size-13);
	}
}
/* ## 렌트 상세 - 금융사 ## */
.capital-box {
	display: flex;
	flex-direction: column;
	min-height: 192px;
	margin-bottom: 16px;
	padding: 30px 40px;
	border-radius: 20px;
	background: transparent linear-gradient(90deg, #000021 0%, #4B81FF 100%);
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
	position: relative;
}
.capital-box::after {
	content: "";
	position: absolute;
	top: 46%;
	right: 30px;
	transform: translateY(-50%);
	width: 128px;
	height: 128px;
	background: url("../img/main/live-bg.svg") no-repeat center / contain;
}
.capital-box.bg-color01 { background: transparent linear-gradient(90deg, #000021 0%, #4B81FF 100%); }
.capital-box.bg-color02 { background: transparent linear-gradient(90deg, #0D8DF3 0%, #41B5FB 100%); }
.capital-box.bg-color03 { background: transparent linear-gradient(90deg, #0048F1 0%, #2DBCFF 100%); }

.capital-bank {
	display: flex;
	align-items: center;
	gap: 15px;
}
.capital-bank .bank-text {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #00FF94;
}
.capital-bank .bank-text::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #00FF94;
	box-shadow: 0px 0px 10px rgba(0,255,148,0.86);
}
.bank-img {
	height: 24px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
	flex: 0 0 auto;
}
.bank-img img {
    width: auto;
	height: 100%;
	object-fit: contain;
}
.capital-content {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 60px;
}
.capital-content .text {
	font-size: var(--font-size-18);
	font-weight: 300;
	color: #fff;
}
.capital-price {
	display: inline-flex;
	align-items: baseline;
	gap: 5px;
	font-size: 2.75rem;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}
.capital-price .price {
	display: inline-block;
	font-variant-numeric: tabular-nums;
}
.capital-price .unit {
	font-size: 16px;
	font-weight: 300;
}
.condition-badge {
	display: inline-flex;
	align-items: center;
	gap: 16px;
}
.condition-badge .badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 0 15px 0 42px;
	line-height: 1;
	background-repeat: no-repeat;
	background-position: left 15px center;
	background-size: 22px;
	filter: brightness(0) saturate(100%) invert(100%);
	font-variant-numeric: tabular-nums;
}
.condition-badge .badge.period { background-image: url("../img/contents/icon-condition-period.svg"); }
.condition-badge .badge.deposit { background-image: url("../img/contents/icon-condition-deposit.svg"); }
.condition-badge .badge.distance { background-image: url("../img/contents/icon-condition-distance.svg"); }
.condition-list li {
	margin-bottom: 20px;
}
.condition-list .list-title {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	font-weight: 700;
}
.condition-list .list-title .icon {
	width: 16px;
	height: 16px;
	margin-right: 8px;
	filter: brightness(0) saturate(100%);
}
.condition-list .list-text {
	font-weight: 600;
	color: var(--primary-color);
}
.capital-empty .text {
	margin-top: 20px;
}
.capital-box .condition-badge .badge {
	justify-content: flex-start;
}
.capital-box .condition-badge .badge.deposit {
	min-width: 135px;
}
.condition-list.list-col li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0;
	padding: 12px 0;
}
.condition-list.list-col li:not(:last-child) {
	border-bottom: 1px solid #D9D9D9;
}
.condition-list.list-col .list-title {
	margin-bottom: 0;
}
@media all and (max-width: 1439px) {
	.capital-content {
		gap: 20px 40px;
	}
	.capital-price {
		font-size: 2.5rem;
	}
	.condition-badge {
		gap: 12px;
	}
	.condition-badge .badge {
		padding: 0 15px 0 37px;
		background-position: left 10px center;
		font-size: var(--font-size-15);
	}
	.capital-box .condition-badge .badge.deposit {
		min-width: 125px;
	}
}
@media all and (max-width: 767px) {
	.capital-box {
		min-height: 168px;
		padding: 18px;
		border-radius: 16px;
	}
	.capital-box::after {
		top: 15px;
		right: 15px;
		transform: none;
		width: 70px;
		height: 70px;
	}
	.capital-bank {
		gap: 12px;
	}
	.capital-bank .bank-img {
		padding: 0 2px;
	}
	.capital-content {
		gap: 12px 40px;
	}
	.capital-price {
		font-size: 2rem;
	}
	.capital-price .unit {
		font-size: 14px;
	}
	.condition-badge {
		flex-wrap: wrap;
		gap: 4px;
	}
	.condition-badge .badge {
		height: 35px;
		padding: 0 8px 0 22px;
		background-size: 18px;
		background-position: left 3px center;
		font-size: var(--font-size-14);
	}
	.condition-list .list-title .icon {
		width: 14px;
		height: 14px;
	}
	.capital-box .condition-badge .badge.deposit {
		min-width: 92px;
	}
}
/* ## 렌트 상세 - 트림 선택 ## */
.modal-trim .trim-label {
	padding: 14px 18px;
	margin-bottom: 12px;
	border-radius: 5px;
	background: #F6F6F7;
}
.modal-trim .checkbox-type02 .checkbox-text {
	justify-content: space-between;
	gap: 20px;
}
.modal-trim .checkbox-type02 .checkbox-text .text:nth-child(2) {
	flex-shrink: 0;
}
/* ## 렌트 상세 - 추가옵션 선택 ## */
.modal-extra-option .modal-title .checkbox {
	margin-left: 10px;
}
.modal-extra-option .modal-title .checkbox-text {
	font-weight: 400;
	color: #999999;
}
.modal-extra-option .modal-title .checkbox-input:checked ~ .checkbox-text {
	color:var(--primary-color);
}
.modal-extra-option .car-img {
	position: absolute;
	right: 40px;
	height: 110px;
}
.modal-extra-option .car-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.extra-option-title {
	display: flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 15px;
	font-weight: 600;
}
.extra-option-title img {
	width: 24px;
	height: 24px;
}
.extra-option .color-box {
	border-bottom: 1px solid #D9D9D9;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.extra-option .color-box:last-child {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.extra-option .color-title {
	display: flex;
	align-items: center;
}
.extra-option .color-title .title {
	font-weight: 700;
}
.extra-option .color-label {
	color: #979797;
	font-weight: 500;
	padding-left: 10px;
	margin-left: 10px;
	border-left: 1px solid #D9D9D9;
	font-size: var(--font-size-15);
}
.color-chip {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 15px;
}
.color-chip .color {
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--color);
	border: 1px solid #D9D9D9;
	cursor: pointer;
}
.color-chip .color.double {
	background: linear-gradient(90deg, var(--color1) 50%, var(--color2) 50%);
}
.color-chip .color.active {
	outline: 1px solid var(--primary-color);
	outline-offset: 4px;
}
.extra-option .add-box {
	margin-top: 18px;
}
.extra-option .add-box .checkbox-type02 {
	--checkbox-size: 20px;
}
.extra-option .add-box .checkbox-type02 .checkbox-text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-left: 15px;
	color: #999999;
}
.extra-option .add-box .checkbox-type02 .checkbox-label {
	height: auto;
	border-radius: 10px;
}
.extra-option .add-box .checkbox-type02 .checkbox-check::before {
	-webkit-mask-image: url("../img/contents/icon-option-check.svg");
	mask-image: url("../img/contents/icon-option-check.svg");
}
.extra-option .add-img {
	flex: 0 0 112px;
	aspect-ratio: 5 / 3;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.extra-option .add-img::before {
	content:"";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top:0;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F1F1F1 url("../img/layout/logo-blue.svg") no-repeat center;
	background-size: 50%;
}
.extra-option .add-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.extra-option .add-text {
	text-align: right;
	letter-spacing: 0;
}
.extra-option .add-text .text {
	font-weight: 500;
}
.extra-option .add-text .price {
	margin-top: 5px;
	font-size: var(--font-size-15);
	color: #999999;
}
.extra-option .add-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px;
	border-radius: 10px;
	border: 1px solid #D9D9D9;
	margin-bottom: 10px;
}
.extra-option .add-list .add-text .text {
	color: #000;
}
.extra-option .add-list .add-text .price {
	color: #B8B8B8;
}
.extra-option .add-list li:not(:has(.add-img)) {
	padding: 15px;
}
.extra-option .add-list li:not(:has(.add-img)) .add-text {
	text-align: left;
}
@media all and (max-width: 767px) {
	.modal-extra-option .car-img {
		position: unset;
		text-align: center;
		margin-bottom: 20px;
	}
	.color-chip {
		gap: 10px;
	}
	.color-chip .color {
		width: 30px;
		height: 30px;
	}
	.color-chip .color.active {
		outline-offset: 2px;
	}
}


/* ## 렌트 견적 ## */
.rent-form .aside-head .title-box .title {
	font-size: var(--font-size-24);
}
.rent-form .aside-info .info-list {
	border-top: 1px solid #D9D9D9;
	padding-top: 6px;
}
@media all and (max-width: 767px) {
	.rent-form .aside-head .title-box .title {
		font-size: var(--font-size-20);
	}
}
.extra-btn {
	color: #555555;
}
.extra-btn::after {
	content: "\f105";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #000000;
	margin-left: 10px;
}
.extra-info .info-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 5px;
	margin-bottom: 10px;
	padding: 15px 20px;
	border-radius: 5px;
	background: #F6F6F7;
}
.extra-info .info-title {
	font-weight: 600;
}
@media all and (max-width: 767px) {
	.extra-info .info-list li {
		padding: 15px;
	}
}

.consult-form .form-row {
	display: block;
	padding: 0;
	margin-bottom: 16px;
	border-bottom: none;
}
.consult-form .form-title  {
	display: block;
	margin-bottom: 5px;
	font-weight: 600;
}
.consult-form :has(.agree-box) .form-title  {
	padding-top: 10px;
	padding-bottom: 10px;
	margin-bottom: 14px;
	border-bottom: 1px solid #DFDFDF;
}
.consult-form .form-input  {
	border-radius: 99px;
	padding: 0 18px;
	font-size: var(--font-size-15);
}
.consult-form .form-group .button {
	min-width: 148px;
}
@media all and (max-width: 767px) {
	.consult-form .form-group .button {
		min-width: 80px;
	}
}

/* ## 렌트 견적 - 추가옵션 선택 ## */
.extra-info .add-box .checkbox-type02 {
	--checkbox-size: 20px;
}
.extra-info .add-box .checkbox-type02 .checkbox-text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-left: 15px;
	color: #999999;
}
.extra-info .add-box .checkbox-type02 .checkbox-label {
	height: auto;
	border-radius: 10px;
}
.extra-info .add-box .checkbox-type02 .checkbox-check::before {
	-webkit-mask-image: url("../img/contents/icon-option-check.svg");
	mask-image: url("../img/contents/icon-option-check.svg");
}
.extra-info .add-img {
	flex: 0 0 112px;
	aspect-ratio: 5 / 3;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.extra-info .add-img::before {
	content:"";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top:0;
	z-index: -1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F1F1F1 url("../img/layout/logo-blue.svg") no-repeat center;
	background-size: 50%;
}
.extra-info .add-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.extra-info .add-text {
	text-align: right;
	letter-spacing: 0;
}
.extra-info .add-text .text {
	font-weight: 500;
}
/* ## 렌트 견적 - 팝업 ## */
.extra-info-option .checkbox.checkbox-type02 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}
.extra-info-option .checkbox-type02 .checkbox-label {
	margin-bottom: 0;
	border-radius: 10px;
	border-color: #E5E5E5;
}
.extra-info-option .checkbox-type02 .checkbox-text {
	color: #999999;
	justify-content: center;
	margin: 0;
}
@media all and (max-width: 767px) {
	.extra-info-option .checkbox.checkbox-type02 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.modal-location .extra-info-option .checkbox.checkbox-type02 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
/* ## 렌트 견적 - 팝업 :: 금융사 선택 ## */
.modal-capital .checkbox-text {
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
	color: #999999;
}
.modal-capital .checkbox-text .price {
	margin-left: auto;
	font-size: var(--font-size-14);
}



/* ## 신청 완료 ## */
.rent-complete {
	margin-top: 30px;
	padding: 45px 20px 90px;
	border-radius: 20px;
	background: #fff;
}
.rent-complete .inner-container {
	max-width: 840px;
	margin: 0 auto;
}
.rent-complete .complete-box {
	margin-bottom: 30px;
	text-align: center;
}
.rent-complete .complete-box h3 {
	margin-top: 20px;
	font-size: var(--font-size-20);
	color: var(--primary-color);
	font-weight: 700;
}
.rent-complete .complete-box p {
	margin-top: 16px;
	color: #333333;
}
.complete-info {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	padding: 30px 0;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
}
.complete-info .aside-head {
	flex: 1;
}
.complete-info .aside-head .title-box {
	margin-bottom: 25px;
}
.complete-info .aside-head .title-box .title {
	font-size: var(--font-size-24);
}
.complete-info .aside-head .img-box {
	height: 250px;
}
.complete-info .aside-info {
	flex: 1;
	margin: 0;
}
@media all and (max-width: 1023px) {
	.rent-complete {
		padding: 35px 20px 70px;
	}
}
@media all and (max-width: 767px) {
	.rent-complete {
		padding: 20px 20px 50px;
		margin-top: 0;
	}
	.rent-complete .complete-box h3 {
		margin-top: 10px;
	}
	.rent-complete .complete-box p {
		margin-top: 10px;
	}
	.complete-info {
		flex-direction: column;
		gap: 20px;
		padding: 20px 0;
	}
	.complete-info .aside-head {
		flex: none;
		width: 100%;
	}
	.complete-info .aside-head .img-box {
		width: 100%;
		height: 160px;
	}
	.complete-info .aside-info {
		flex: none;
		width: 100%;
	}
	.rent-complete .button-wrap .button {
		flex: 1 1 auto;
	}
}

/* ## 출고 과정 ## */
.rent-process-box {
	min-height: 150px;
	margin-top: 40px;
	padding: 30px 40px;
	border-radius: 10px;
	border: 1px solid #D9D9D9;
	background: url("../img/contents/rent-process-bg.png") no-repeat right center / contain;
	align-content: center;
}
.rent-process-box .title {
	margin-bottom: 8px;
	font-size: var(--font-size-20);
	font-weight: 700;
}
.rent-process-box p {
	margin-bottom: 16px;
	font-weight: 500;
	color: #555555;
}
.rent-process-box .lnk {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-weight: 500;
	color: var(--primary-color);
}
.rent-process-box .lnk .icon {
	font-size: var(--font-size-14);
}
.modal-process .modal-header {
	justify-content: center;
}
.rent-process-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
.rent-process-list .item-box {
	padding: 18px;
	border-radius: 10px;
	background: #E9F1FC;
	text-align: center;
}
.rent-process-list .num {
	margin-bottom: 5px;
	font-weight: 700;
	color: var(--primary-color);
}
.rent-process-list .desc {
	margin-top: 10px;
	font-weight: 500;
	color: #555555;
}
@media all and (max-width: 1023px) {
	.rent-process-box {
		padding: 20px;
	}
}
@media all and (max-width: 767px) {
	.rent-process-box {
		padding: 18px 18px 150px;
		background-position: center bottom;
	}
}

/* ## 고민차량 선택 ## */
.search-car {
	padding: 20px;
	border-radius: 10px;
	background: #E9F1FC;
	margin-bottom: 30px;
}
.search-car .btn-box {
	max-width: 600px;
	margin: 0 auto;
}
.search-car-btn {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	height: var(--height);
	padding:0 20px;
	border-radius: 99px;
	background: #fff;
	line-height: 1;
	width: 100%;
}
.search-car-btn::after {
	content: "\f105";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #000000;
	margin-left: 10px;
}
.modal-search-car .search-form {
	border: none;
}
.modal-search-car .search-form .form-input {
	height: var(--height);
	background: #E9F1FC;
}
.modal-search-car .list-box {
	height: 250px;
	padding-right: 10px;
	margin-top: 15px;
	overflow-x: hidden;
	overflow-y: auto;
}
.modal-search-car .list-box .checkbox-label {
	margin-bottom: 10px;
}
.modal-search-car .list-box .checkbox-check {
	order: 3;
}
.modal-search-car .list-box .checkbox-check::before {
	-webkit-mask-image: url("../img/contents/icon-option-check.svg");
	mask-image: url("../img/contents/icon-option-check.svg");
}
.modal-search-car .list-box .checkbox-text {
	margin: 0;
}
@media all and (max-width: 767px) {
	.search-car {
		padding: 12px;
	}
}
.board-write .search-car {
	padding: 0;
	background: none;
	margin-bottom: 20px;
}
.board-write .search-car-btn {
	border: 1px solid #000;
}

/* ## 즉시출고 목록 ## */
.grid-card .info-box {
	padding: 7px 0;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
	position: relative;
}
.grid-card .info-list {
	display: flex;
	align-items: center;
}
.grid-card .info-item {
	flex: 1 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: var(--font-size-12);
	font-weight: 500;
	line-height: 1;
}
.grid-card .info-item:not(:last-child) {
	border-right: 1px solid #D9D9D9;
}
.grid-card .info-item .term {
	color: #A4A4A4;
}
.grid-card .info-item .desc {
	width: 50px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	color: #555555;
}
.grid-card .info-item .color-chip {
	margin-top: 0;
}
.grid-card .info-item .color-chip .color {
	width: 16px;
	height: 16px;
}
.grid-card .info-item .color-chip .color {
	width: 16px;
	height: 16px;
}
.info-more-btn {
	width: 17px;
	height: 17px;
	display: inline-block;
	color: #cecece;
	position: relative;
}
.info-more-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: currentColor;
	mask-image: url('../img/contents/icon-plus.svg');
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
}
.info-more-btn:hover::before {
	background-color: var(--primary-color);
}
.info-more-box {
	display: none;
	align-items: flex-start;
	position: absolute;
	top: 40px;
	left: 0;
	z-index: 5;
	width: 100%;
	padding: 15px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0px 0px 6px rgba(0,0,0,0.2);
}
.info-box:has(.info-more-btn:hover) .info-more-box {
	display: flex;
}
.info-more-box .term {
	flex-shrink: 0;
	margin-top: 3px;
	margin-right: 10px;
	padding-right: 10px;
	border-right: 1px solid #D9D9D9;
	font-size: var(--font-size-12);
	font-weight: 500;
	color: #A4A4A4;
}
.info-more-box .tag-box .tag {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	font-size: var(--font-size-13);
}

.rent-list.instant .grid-card {
	gap: 10px;
}
.rent-list.instant .grid-card:hover {
	outline: 1px solid #D9D9D9;
	box-shadow: none;
}
.rent-list.instant .grid-card::after {
	display: none;
}
.rent-list.instant .grid-card .title {
	margin-top: 0;
}
.rent-list.instant .grid-card .img-box {
	height: auto;
	background: transparent;
}
.grid-card .condition-badge {
	flex-wrap: wrap;
	gap: 5px;
}
.grid-card .condition-badge .badge {
	filter: none;
	padding: 0 8px 0 23px;
	background-position: left 3px center;
	background-size: 18px;
}
.grid-card .btn-box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.grid-card .btn-box .price-box {
	margin-top: 0;
}
.grid-card .btn-box .button {
	flex: 0 0 120px;
	min-width: auto;
	margin-left: auto;
}
@media all and (max-width: 767px) {
	.grid-card .info-item {
		font-size: var(--font-size-14);
	}
	.rent-list.instant .grid-card {
		flex-direction: column;
		padding: 20px 15px;
	}
	.rent-list.instant .grid-card .price-box {
		font-size: var(--font-size-24);
	}
	.grid-card .condition-badge .badge {
		height: 28px;
	}
}

/* ## 스마트큐레이션 목록 ## */
.rent-list.curation .rent-box {
	background: #F6F6F7;
	padding: 40px 42px;
}
.rent-list.curation .rent-grid {
	padding: 0;
	gap: 22px 20px;
}
.rent-list.curation .grid-card {
	flex-direction: row;
	align-items: center;
	background: #fff;
	padding: 10px 20px;
	border-radius: 10px;
	outline: 1px solid #fff;
	box-shadow: 3px 3px 6px rgba(0,0,0,0.16);
	overflow: hidden;
}
.rent-list.curation .grid-card:hover {
	outline-color: var(--primary-color);
}
.rent-list.curation .grid-card::after {
	display: none;
}
.rent-list.curation .grid-card .text-box,
.rent-list.curation .grid-card .img-box {
	flex: 1 0 50%;
}
.rent-list.curation .grid-card .text-box {
	padding: 0;
}
.rent-list.curation .grid-card .img-box {
	padding: 0;
	margin-top: 0;
	background: none;
	height: auto;
}
@media all and (max-width: 1439px) {
	.rent-list.curation .rent-box {
		padding: 40px 30px;
	}
}
@media all and (max-width: 767px) {
	.rent-list.curation .rent-box {
		padding: 15px 15px 40px;
	}
	.rent-list.curation .rent-grid {
		gap: 12px 0;
	}
}


/* ## 마이페이지 ## */
.mypage-myInfo-btn {
	min-width: auto;
}
.mypage-myInfo-btn .icon {
	width: 20px;
	height: 20px;
}
.mypage-kakao-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 52px;
	margin-top: 20px;
	border-radius: 5px;
	background: #F7E409;
	font-weight: 700;
	color: #381C1E;
	transition: var(--transition);
}
.mypage-kakao-btn:hover {
	filter: brightness(0.95);
}
.rent-list.mypage {
	padding: 30px 0 30px 38px;
}
.rent-list.mypage .rent-grid {
	padding: 0;
}
@media all and (max-width: 767px) {
	:has(.mypage) .sub-box {
		position: relative;
		padding-top: 72px;
	}
	:has(.mypage) .sub-title-box {
		padding: 0 15px !important;
	}
	:has(.mypage) .sub-title-box .title {
		display: block;
		font-size: var(--font-size-20);
		font-weight: 700;
	}
	:has(.mypage) .sub-grid-box {
		display: flex;
		flex-direction: column;
	}
	:has(.mypage) .sub-nav {
		position: absolute;
		top: 15px;
	}
	:has(.mypage) .sub-aside {
		order: 2;
		padding: 0 15px 20px 15px;
	}
	:has(.mypage) .sub-aside .promotion-slide {
		display: block;
	}
	.mypage-myInfo-btn {
		font-size: var(--font-size-14);
		gap: 5px;
		height: 40px;
	}
	.mypage-myInfo-btn .icon {
		width: 18px;
		height: 18px;
		margin-top: -2px;
	}
	.mypage-kakao-btn {
		margin-top: 0;
	}
	.rent-list.mypage {
		padding: 15px 15px 30px;
	}
}

.mypage-status {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E9F1FC;
	border-radius: 8px;
	padding: 30px 10px;
	margin-bottom: 30px;
}
.status-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	flex: 0 0 18%;
}
.status-label {
	line-height: 1;
	font-size: var(--font-size-18);
	color: #8A8A8A;
}
.status-count {
	font-size: var(--font-size-28);
	font-weight: 800;
}
.status-arrow {
	font-size: var(--font-size-20);
	color: #DCDCDC;
}
.status-item.active .status-count {
	color: var(--primary-color);
}
@media all and (max-width: 767px) {
	.mypage-status {
		padding: 18px 15px;
	}
	.status-item {
		gap: 4px;
		flex: 0 0 20%;
	}
	.status-label {
		font-size: var(--font-size-14);
	}
	.status-count {
		font-size: var(--font-size-20);
	}
	.status-arrow {
		font-size: var(--font-size-16);
	}
}

.grid-card .checkbox {
	--checkbox-size: 18px;
}
.grid-card .checkbox-check {
	border-radius: 3px;
	border-color: var(--primary-color);
}
.grid-card .checkbox-text {
	font-size: var(--font-size-15);
	color: var(--primary-color);
}
.grid-card .checkbox-input:checked + .checkbox-check {
	background: var(--primary-color);
}
.grid-card .checkbox-input:checked + .checkbox-check::before {
	background: #fff;
}
.grid-item {
	position: relative;
}
.grid-item .btn-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: var(--font-size-14);
	color: #999999;
	border-radius: 50%;
	background: #fff;
	box-shadow: 1px 1px 10px rgba(0,0,0,0.12);
	transition: var(--transition);
	position: absolute;
	top: 17px;
	right: 17px;
	z-index: 3;
}
.grid-item .btn-close:hover {
	color: #333;
}
.grid-item .grid-card.disabled {
	opacity: 0.5;
	cursor: default;
	outline: 1px solid #D9D9D9;
	box-shadow: none;
}
.grid-item .grid-card.disabled .checkbox-label {
	cursor: default;
}
.grid-item .grid-card.disabled .button {
	pointer-events: none;
}
@media all and (max-width: 767px) {
	.grid-item .btn-close {
		width: 32px;
		height: 32px;
		top: 13px;
		right: 13px;
	}
}

/* ## 관심차고 슬라이드 ## */
.mypage-compare .grid-card {
	gap: 10px;
}
.mypage-compare .grid-card:hover {
	outline: 1px solid #D9D9D9;
	box-shadow: none;
}
.mypage-compare .grid-card:has(.checkbox-input:checked) {
	outline: 1px solid var(--primary-color);
}
.mypage-compare .grid-card::after {
	display: none;
}
.mypage-compare .rent-grid .text-box {
	padding: 0;
}
.mypage-compare .rent-grid .text-box .title {
	margin-bottom: 5px;
}
.mypage-compare .grid-card .img-box {
	height: 145px;
	background: transparent;
}
.mypage-compare .grid-card .btn-box {
	flex-direction: column;
	align-items: flex-start;
}
.mypage-compare .grid-card .btn-box .button {
	flex: auto;
	width: 100%;
	margin: 0;
}
.mypage-compare .grid-card .price-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 14px 10px;
	border-radius: 6px;
	border: 1px solid #D9D9D9;
}
.mypage-compare .grid-card .price-box {
	color: #000;
	font-size: var(--font-size-20);
	flex-shrink: 0;
}
.mypage-compare .grid-card .price-box .unit {
	color: #000;
}
.mypage-compare .swiper.rent-grid {
	padding: 1px 1px 40px;
}
.mypage-compare .swiper-pagination-bullet {
	background: var(--primary-color);
}
.mypage-btn-wrap {
	margin-top: var(--space-xs);
}
@media all and (max-width: 1023px) {
	.mypage-btn-wrap .button {
		flex: 1;
		min-width: auto;
	}
}
@media all and (max-width: 767px) {
	.mypage-compare .grid-card {
		flex-direction: column;
	}
	.mypage-compare .grid-card .price-wrap {
		padding: 10px;
	}
}

/* ## 내 정보 관리 ## */
.modal-myInfo .consult-form .form-group .button {
	min-width: 130px;
}
.modal-myInfo .modal-body .button-wrap {
	margin-top: 20px;
}
.modal-myInfo .modal-body .button-wrap .button {
	min-width: 180px;
}
.account-box {
	border-top: 1px solid #D9D9D9;
	margin-top: 20px;
	padding-top: 18px;
}
.account-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.account-title {
	font-weight: 600;
}
.account-info {
	display: flex;
	align-items: center;
	gap: 5px;
}
.account-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
}
.account-icon.kakao { background: #F7E409; }
.account-icon.naver { background: #03c75a; }
.account-icon.apple { background: #000; }
.account-icon img {
	width: 16px;
	height: 16px;
}
.account-id {
	display: inline-block;
	color: #919191;
	letter-spacing: 0;
}
.withdraw-wrap {
	text-align: center;
	margin-top: 40px;
}
.withdraw-btn {
	display: inline-block;
	color: #555555;
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* ## 선택비교 팝업 ## */
.compare-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.compare-item {
	padding: 20px;
	border: 1px solid #D9D9D9;
	border-radius: 10px;
}
.compare-item.active {
	border-color: var(--primary-color);
}
.compare-car {
	display: flex;
	align-items: center;
	gap: 20px;
}
.compare-img {
	flex: 0 0 140px;
	background: #F3F3F3;
	border-radius: 10px;
	overflow: hidden;
	padding: 10px;
}
.compare-img img {
	width: 100%;
	object-fit: contain;
}
.compare-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.compare-title {
	font-size: var(--font-size-20);
	font-weight: 700;
}
.compare-text {
	font-weight: 500;
	color: #333333;
}
.compare-item .condition-badge {
	flex-wrap: wrap;
	gap: 5px;
}
.compare-item .condition-badge .badge {
	filter: none;
	padding: 0 6px 0 20px;
	background-position: left 3px center;
	background-size: 16px;
	font-size: var(--font-size-12);
}
.compare-price-wrap {
	margin-top: 13px;
	padding-top: 16px;
	border-top: 1px solid #D9D9D9;
}
.compare-price-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.compare-price-label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--font-size-14);
	font-weight: 500;
}
.compare-price-label .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #E9F1FC;
}
.compare-price-label .icon img {
	width: 14px;
}
.compare-price-head .bank-img {
	border: 1px solid #D9D9D9;
	box-shadow: none;
}
.compare-price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 5px;
}
.compare-price {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 28px;
	line-height: 28px;
	padding: 0 10px;
	border-radius: 5px;
	background: var(--color);
	color: #fff;
	white-space: nowrap;
}
.compare-price::after {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	font-family: "Font Awesome 7 Free";
	font-size: 8px;
	font-weight: 900;
	color: var(--color);
}
.compare-price.up { --color: #000; }
.compare-price.down { --color: var(--primary-color); }
.compare-price.equal { --color: var(--secondary-color); }
.compare-price.up::after { content: "\f062"; }
.compare-price.down::after { content: "\f063"; }
.compare-price.equal::after { content: "\3d"; }
.compare-price-row .price-box {
	font-size: var(--font-size-20);
	font-weight: 700;
	white-space: nowrap;
}
.compare-price-row .price-box .unit {
	font-size: 14px;
	font-weight: 400;
	margin-left: 2px;
}
@media all and (max-width: 767px) {
	.compare-item {
		padding: 12px;
	}
	.compare-car {
		gap: 12px;
	}
	.compare-img {
		flex: 0 0 90px;
	}
	.compare-title {
		font-size: var(--font-size-16);
	}
	.compare-text {
		font-size: var(--font-size-14);
	}
	.compare-item .condition-badge {
		gap: 3px;
	}
	.compare-item .condition-badge .badge {
		height: auto;
		padding: 6px 4px 6px 17px;
		background-position: left 1px center;
		background-size: 15px;
	}
	.compare-price {
		font-size: var(--font-size-14);
	}
}
 
/* ## 마이페이지 견적 차량 리스트 ## */
.grid-card .badge-box {
	position: absolute;
	top: 0;
	left: 0;
}
.grid-card .badge-box .badge {
	border-radius: 0 0 8px 0;
	height: calc(var(--badge-height) - 8px);
}
.grid-card .detail-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.grid-card .detail-item {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.grid-card .detail-item .term {
	display: inline-flex;
	gap: 5px;
	color: #999999;
	font-weight: 500;
	flex-shrink: 0;
}
.grid-card .detail-item .term::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	margin-top: -3px;
	filter: brightness(0) invert(1) brightness(0.6);
}
.grid-card .detail-item .desc {
	font-weight: 600;
	text-align: right;
}
.grid-card .detail-item .term.trim::before { background: url("../img/contents/icon-trim.svg") no-repeat center / 15px; }
.grid-card .detail-item .term.period::before { background: url("../img/contents/icon-condition-period.svg") no-repeat center / 22px; }
.grid-card .detail-item .term.deposit::before { background: url("../img/contents/icon-condition-deposit.svg") no-repeat center / 22px; }
.grid-card .detail-item .term.distance::before { background: url("../img/contents/icon-condition-distance.svg") no-repeat center / 22px; }
@media all and (max-width: 767px) {
	.grid-card .detail-list {
		gap: 8px;
	}
}

.mypage-garage .grid-card {
	flex-wrap: wrap;
	flex-direction: row;
	padding: 35px 30px;
	border-radius: 10px;
	overflow: hidden;
}
.mypage-garage .grid-card::after {
	right: 45px;
	color: 000;
}
.mypage-garage .grid-card .img-box {
	width: 45%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin: 0;
	padding: 10px;
}
.mypage-garage .grid-card .text-box {
	flex: 1;
}
.mypage-garage .grid-card .text-box .title {
	margin-bottom: 15px;
	padding-bottom: 13px;
	border-bottom: 1px solid #D9D9D9;
	font-size: var(--font-size-24);
}
.mypage-garage .button-wrap {
	flex: 0 0 100%;
	margin-top: 0;
}
.mypage-garage .button-wrap .button {
	min-width: 330px;
}
@media all and (max-width: 1023px) {
	.mypage-garage .grid-card {
		flex-direction: column;
		padding: 35px 20px 20px;
	}
	.mypage-garage .grid-card::after {
		display: none;
	}
	.mypage-garage .grid-card .img-box {
		flex: auto;
		width: 100%;
	}
	.mypage-garage .grid-card .text-box {
		flex: auto;
	}
	.mypage-garage .button-wrap {
		flex: none;
	}
	.mypage-garage .button-wrap .button {
		flex: 1;
		min-width: auto;
	}
}
@media all and (max-width: 767px) {
	.mypage-garage .grid-card {
		padding: 20px 15px;
	}
	.mypage-garage .grid-card .text-box .title {
		font-size: var(--font-size-20);
		margin-top: 10px;
	}
}

/* ## 나의 포인트 ## */
.point-use {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 20px 25px 20px 210px;
	background: #E9F1FC url("../img/contents/mypage-point-use-img.png") no-repeat left 40px center;
	border-radius: 10px;
}
.point-use-info .title {
	margin-bottom: 10px;
	font-weight: 500;
}
.point-use-info .point {
	font-size: 2.625rem;
	font-weight: 800;
	line-height: 1;
}
.point-use-btn {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.point-use-btn .button {
	justify-content: space-between;
}
.rent-process-box.point-box {
	background-image: url("../img/contents/mypage-point-bg.png");
}
@media all and (max-width: 1439px) {
	.point-use {
		padding: 20px 25px 20px 160px;
		background-position: left 20px center;
	}
	.point-use-info .point {
		font-size: 2.25rem;
		font-weight: 800;
		line-height: 1;
	}
}
@media all and (max-width: 1023px) {
	.point-use {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 30px 20px;
		background-position: right top 5px;
	}
	.rent-process-box.point-box {
		background-size: 180px;
		background-position: right bottom;
	}
}
@media all and (max-width: 767px) {
	.point-use-info .point {
		font-size: var(--font-size-30);
	}
	.point-use-btn {
		width: 100%;
		flex-direction: row;
		gap: 8px;
	}
	.point-use-btn .button {
		flex: 1;
	}
	.rent-process-box.point-box {
		background-size: 85%;
	}
}

/* ## 쿠폰교환 팝업 ## */
.point-exchange-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.point-exchange-head .title {
	font-weight: 700;
}
.point-exchange-head .point {
	font-size: var(--font-size-20);
	font-weight: 700;
}
.point-exchange-input {
	margin-bottom: 30px;
}

.modal-point-exchange .checkbox-text {
	width: 100%;
}
.modal-point-exchange .coupon-item {
	padding: 0;
	border: none;
}
@media all and (max-width: 767px) {
	.modal-point-exchange .coupon-img {
		flex: 0 0 100px;
	}
}
 
/* ## 나의포인트 팝업 ## */
.modal-point-history .point-use {
	padding: 18px 10px;
	background-image: none;
}
.modal-point-history .point-use-info {
	width: 100%;
	text-align: center;
}
.modal-point-history .point-use-info .title {
	font-size: var(--font-size-15);
}
.modal-point-history .point-use-info .point {
	font-size: 2.25rem;
}

.point-save-box {
	display: flex;
	align-items: center;
	gap: 25px;
	margin-top: 10px;
	padding: 15px 20px;
	border-radius: 8px;
	background: #EFEFEF;
}
.point-save-title .title {
	margin-bottom: 15px;
	font-size: var(--font-size-15);
}
.point-save-title .img-box {
	width: 100px;
}
.point-save-list {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.point-save-list .item-box {
	padding: 8px 14px;
	border-radius: 6px;
	background: #fff;
	color: #555555;
}

.modal-point-history .tab-box {
	margin-bottom: 0;
}
.modal-point-history .tab-btn {
	height: 45px;
	font-weight: 400;
	font-size: var(--font-size-16);
}
.point-history-item {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 15px 0;
	border-bottom: 1px solid #D9D9D9;
}
.point-history-info .date {
	font-size: var(--font-size-14);
	color: #999999;
	margin-bottom: 8px;
}
.point-history-info .title {
	font-weight: 600;
	margin-bottom: 8px;
}
.point-history-info .desc {
	font-size: var(--font-size-14);
	color: #999999;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.point-history-amount {
	font-weight: 700;
	white-space: nowrap;
	flex: 0 0 auto;
}
.point-history-amount.plus {
	color: var(--primary-color);
}
.point-history-amount.minus {
	color: #000;
}
.point-empty {
	margin-top: 10px;
	padding: 40px 0;
	border-radius: 5px;
	background: #F5F5F5;
	font-size: var(--font-size-14);
	text-align: center;
}
.point-empty .icon {
	width: 20px;
	height: 20px;
	margin-right: 5px;
}
@media all and (max-width: 767px) {
	.modal-point-history .point-use-info .point {
		font-size: var(--font-size-30);
	}
	.point-save-list .item-box {
		padding: 6px 10px;
		font-size: var(--font-size-14);
	}
	.point-empty {
		padding: 20px 0;
	}
}

/* ## 쿠폰 목록 ## */
.rent-list-title {
	font-size: var(--font-size-24);
	font-weight: 600;
	margin-bottom: 14px;
}
.rent-list-text {
	color: #555555;
}
@media all and (max-width: 767px) {
	.rent-list-title {
		font-size: var(--font-size-20);
	}
}

.coupon-box {
	margin-top: 25px;
}
.coupon-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 28px;
}
.coupon-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 12px 12px 18px;
	padding: 20px;
	border-radius: 10px;
	border: 1px solid #D9D9D9;
	position: relative;
	overflow: hidden;
}
.coupon-badge {
	position: absolute;
	top: 0;
	left: 0;
}
.coupon-badge .badge {
	border-radius: 0 0 8px 0;
}
.coupon-img {
	flex: 0 0 40%;
	aspect-ratio: 8 / 5;
	border-radius: 8px;
	overflow: hidden;
}
.coupon-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.coupon-item:has(.badge) .coupon-text {
	padding-top: 20px;
}
.coupon-text {
	flex: 1;
}
.coupon-text .title-box {
	margin-bottom: 13px;
	padding-left: 34px;
	background: url("../img/layout/icon-logo-sm.png") no-repeat left center / 26px;
	min-height: 26px;
	align-content: center;
}
.coupon-text .title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
}
.coupon-text .title .icon {
	width: 20px;
	height: 20px;
	object-fit: contain;
}
.coupon-text .date {
	font-size: 12px;
	color: var(--primary-color);
}
.coupon-text .point {
	font-size: 12px;
	color: #9C9C9C;
}
.coupon-text .point strong {
	display: block;
	font-size: 20px;
	color: var(--primary-color);
	font-weight: 700;
}
@media all and (max-width: 1023px) {
	.coupon-list {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}
@media all and (max-width: 767px) {
	.coupon-list {
		gap: 15px 0;
	}
	.coupon-item {
		padding: 12px;
	}
	.coupon-img {
		flex: 0 0 120px;
	}
	.coupon-text .title-box {
		margin-bottom: 8px;
		padding-left: 30px;
		background-size: 22px;
	}
	.coupon-text .point strong {
		font-size: 18px;
	}
}

/* ## 신청정보 팝업 ## */
.modal-car-info .aside-info {
	margin-top: 0;
}
.modal-car-info .aside-info .info-item {
	position: relative;
}
.modal-car-info .aside-info .desc {
	margin-left: auto;
}
.modal-car-info .info-more-btn {
	margin-left: 5px;
}
.modal-car-info .info-more-box {
	transform: translateY(-1px);
}
.modal-car-info:has(.info-more-btn:hover) .info-more-box {
	display: flex;
}
.manager-info-box {
	padding: 20px;
	border-radius: 10px;
	background: #E9F1FC;
	position: relative;
	margin-top: 25px;
}
.manager-info-box::before {
	content: "";
	position: absolute;
	top: -15px;
	left: 0;
	width: 100%;
	height: 1px;
	background: #D9D9D9;
}
.manager-info-box .aside-info .info-item .desc {
	font-weight: 400;
}
.manager-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}
.manager-info .title {
	font-size: var(--font-size-20);
	font-weight: 700;
}
.manager-info .contact-box {
	display: flex;
	align-items: center;
	gap: 8px;
}
.manager-info .contact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
}
.manager-info .contact-btn img {
	width: 18px;
}
.manager-info .contact-btn.kakao {
	background: #F7E409;
}
.manager-info .contact-btn.call {
	background: #fff;
}
@media all and (max-width: 767px) {
	.manager-info .title {
		font-size: var(--font-size-18);
	}
}

/* ## 마이페이지 qna ## */
.rent-list.mypage > .board-button-box {
	display: block;
	padding: 35px 10px;
	border-radius: 10px;
	background: #E9F1FC;
	text-align: center;
}
.rent-list.mypage > .board-button-box .text {
	margin-bottom: 20px;
	font-size: var(--font-size-22);
	font-weight: 600;
}
@media all and (max-width: 767px) {
	.rent-list.mypage > .board-button-box {
		padding: 18px 10px;
	}
	.rent-list.mypage > .board-button-box .text {
		margin-bottom: 10px;
		font-size: var(--font-size-18);
	}
}

/* ## 마이페이지 이용후기 ## */
.board-review .gallery-item:hover .board-title {
	color: #000;
}
.board-review .gallery-item:hover .gallery-img {
	transform: none;
}
.board-review .gallery-item {
	margin-bottom: 20px;
	padding: 30px;
	border-radius: 15px;
	border: 1px solid #D9D9D9;
}
.board-review .gallery-item .board-title {
	font-size: var(--font-size-20);
}
.board-review .gallery-item .board-title:hover {
	color: var(--primary-color);
}
.board-review .gallery-item .board-desc {
	font-size: var(--font-size-14);
	color: #000;
}
.board-review .gallery-item .board-desc.date {
	color: #999999;
}
.board-review .gallery-text-box {
	gap: 10px;
	position: relative;
}
.board-review .gallery-content {
	color: #555555;
}
.board-review .gallery-img-box {
	flex: 0 0 200px;
	aspect-ratio: 6 / 5;
	border-radius: 10px;
}
@media all and (max-width: 1439px) {
	.board-review .gallery-item {
		gap: 0 30px;
	}
	.board-review .gallery-img-box {
		flex: 0 0 180px;
	}
	.board-review .board-action-btn {
		top: -10px;
	}
}
@media all and (max-width: 1023px) {
	.board-review .gallery-item {
		flex-direction: column;
		border-radius: 10px;
		padding: 0;
		overflow: hidden;
	}
	.board-review .gallery-item .board-title {
		font-size: var(--font-size-18);
	}
	.board-review .gallery-text-box {
		padding: 20px;
	}
	.board-review .gallery-img-box {
		flex: 0 0 auto;
		width: 100%;
		border: none;
    	border-radius: 0;
		aspect-ratio: 3 / 2;
	}
	.board-review .board-action-btn {
		top: 12px;
		right: 12px;
	}
}

.board-write.board-review {
	max-width: 100%;
	margin-top: 20px;
	padding: 0;
	border-radius: 0;
	background: #fff;
}
.board-review .board-write-header {
	display: flex;
	align-items: center;
	gap: 40px;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
	padding: 16px 0;
	text-align: left;
}
.board-review .board-write-header .img-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 210px;
	aspect-ratio: 3 / 2;
	padding: 15px;
	border-radius: 10px;
	background: #F6F6F7;
}
.board-review .board-write-header .img-box img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.board-review .board-write-row {
	padding-bottom: 25px;
	border-bottom: 1px solid #D9D9D9;
}
.board-review .attach-box {
	margin-top: 20px;
}
.board-review .form-board .form-input {
	border-color: #999999;
}
@media all and (max-width: 1023px) {
	.board-review .board-write-header {
		gap: 20px;
	}
	.board-review .board-write-header .board-title {
		font-size: var(--font-size-18);
	}
	.board-review .board-write-header .img-box {
		flex: 0 0 140px;
	}
	.board-review .button-wrap .button {
		flex: 1;	
		min-width: auto;
	}
}

/* ## 마이페이지 메인 ## */
.mypage-main .mypage-status {
	margin-top: 30px;
}
.mypage-main .rent-grid {
	padding: 5px 25px 25px;
}
.mypage-main .grid-card {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	border-radius: 10px;
}
.mypage-main .grid-card::after {
	display: none;
}
.mypage-main .grid-card .title {
	font-size: var(--font-size-20);
	margin-bottom: 10px;
}
.mypage-main .grid-card .text-box {
	padding: 0;
}
.mypage-main .grid-card .img-box {
	margin-top: 0;
	flex: 0 0 40%;
	width: auto;
	height: auto;
}
.mypage-main .rent-grid .swiper-pagination {
	display: none;
}

.mypage-menu-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.mypage-menu-item {
	background: #fff;
	border-radius: 10px;
	border: 1px solid #D9D9D9;
	overflow: hidden;
}
.mypage-menu-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 72px;
	padding: 10px 25px;
	transition: var(--transition);
}
.mypage-menu-btn::after {
	content: "\f105";
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	color: #000000;
	margin-left: 15px;
}
.mypage-menu-btn .title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: var(--font-size-20);
	font-weight: 500;
	margin-right: auto;
}
.mypage-menu-btn .title .icon {
	width: 20px;
	height: 20px;
}
@media all and (max-width: 767px) {
	:has(.mypage-main) .sub-box {
		padding-top: 15px;
	}
	.mypage-main {
		padding: 0 15px;
	}
	.mypage-main .mypage-status {
		margin: 12px 0;
	}
	.mypage-main .rent-grid {
		padding: 0 14px 30px;
	}
	.mypage-main .grid-card {
		gap: 10px;
        padding: 0;
		outline: none !important;
		box-shadow: none !important;
	}
	.mypage-main .grid-card .title {
		font-size: var(--font-size-16);
		margin: 10px 0 0;
	}
	.mypage-main .grid-card .img-box {
		flex: 0 0 40%;
	}
	.mypage-main .grid-card .condition-badge {
		display: none;
	}
	.mypage-main .rent-grid .swiper-pagination {
		display: block;
	}
	.mypage-main .mypage-kakao-btn {
		display: flex;
		margin-top: 10px;
	}
	.mypage-main .promotion-slide {
		margin-top: 10px;
	}
	.mypage-menu-list {
		gap: 10px;
	}
	.mypage-menu-btn {
		height: 48px;
		padding: 10px 14px;
	}
	.mypage-menu-btn {
		font-size: var(--font-size-14);
	}
	.mypage-menu-btn .title {
		font-size: 1em;
	}
	.mypage-menu-btn .title .icon {
		width: 18px;
		height: 18px;
	}
}

.mypage-mob-box {
	display: none;
}
@media all and (max-width: 767px) {
	.mypage-mob-box {
		display: block;
		margin-top: 30px;
	}
	.mypage-mob-box .mypage-kakao-btn {
		display: flex;
	}
	.mypage-mob-box .promotion-slide {
		margin-top: 10px;
	}
}
/* ## Apple 신규회원 추가정보 ## */
.modal-appleJoin .apple-signup-guide {
	margin-bottom: 20px;
	color: #666;
	font-size: var(--font-size-14);
	line-height: 1.6;
}
.modal-appleJoin .apple-signup-gender {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 48px;
}
.modal-appleJoin [data-apple-signup="certStatus"] {
	display: block;
	margin-top: 8px;
	color: var(--primary-color);
}

.modal-appleJoin .apple-signup-actions .button {
	flex: 1 1 0;
	min-width: 0;
}
