@charset "utf-8";
@import url("reset.css?v=1.0.1");
@import url("util.css?v=1.0.1");
@import url("contents.css?v=1.0.1");
@import url("main.css?v=1.0.7");
@import url("modal.css?v=1.0.3");
/*
@import url(contents.css);
*/

:root {
    /* mainColor */
    --mainColorW: #ffffff;
    --mainColorB: #222222;
    --mainColorR: #d5011c;
    --mainColorG: #403f46;
    
    /* subColor */


    /* size */
    --fontSize11: 11px;
    --fontSize12: 12px;
    --fontSize13: 13px;
    --fontSize14: 14px;
    --fontSize15: 15px;
    --fontSize16: 16px;
    --fontSize18: 18px;
    --fontSize20: 20px;
    --fontSize24: 24px;
    --fontSize28: 28px;
    --fontSize30: 30px;
    --fontSize32: 32px;
    --fontSize36: 36px;
}


/* layout */
* {margin:0; padding:0;}
html, body{width: 100%; height: 100%; -webkit-overflow-scrolling: touch;}
.wrapper *{box-sizing: border-box;}
.wrapper .container{}
.wrapper .container .contents{max-width: 768px; margin: 0 auto; padding: 68px 23px 0;}
.wrapper .container .contents.v2{padding: 126px 23px 0;}
.wrapper .container .contents.v3{padding: 68px 0 0;}

/* 플로팅 버튼 있을 시 감싸는 태그 */
.wrapper .container .contents .contentsInner{padding-bottom: 150px;}

/* header common */
#headerBar{
	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: 68px;
    z-index: 10;
    background-color: var(--mainColorW);
    transition: 0.3s;
}
.header{width: 100%;}
.header .headerWrap{max-width: 768px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 68px;}
.header .headerWrap .utilBtnArea{width: 68px; height: 68px;}
.header .headerWrap .utilBtnArea.backBtn{background: url("../images/icon-backBtnArrow.svg") no-repeat center center / 24px;}
.header .headerWrap .utilBtnArea.srchBtn{background: url("../images/icon-searchBtnWhite.svg") no-repeat center center / 32px;}
.header .headerWrap .utilBtnArea.hamMenu{background: url("../images/icon-hamMenu.svg") no-repeat center center / 32px;}
.header .headerWrap .utilBtnArea.exitBtn{background: url("../images/icon-exit-32.svg") no-repeat center center / 32px;}
.header .headerWrap .utilBtnArea.homeBtn { background: url("../images/ic-home-32.svg") no-repeat center center / 32px; }

/* black 버전*/
.header .headerWrap .utilBtnArea.backBtnBlack{background: url("../images/icon-backBtnArrow.svg") no-repeat center center / 24px;  filter:invert(1); }
.header .headerWrap .utilBtnArea.srchBtnBlack{background: url("../images/icon-searchBtnWhite.svg") no-repeat center center / 32px; filter:invert(1); }
.header .headerWrap .utilBtnArea.hamMenuBlack{background: url("../images/icon-hamMenu.svg") no-repeat center center / 32px; filter:invert(1); }
.header .headerWrap .utilBtnArea.exitBtnBlack{background: url("../images/icon-exit-32.svg") no-repeat center center / 32px; filter:invert(1); }
.header .headerWrap .utilBtnArea.homeBtnBlack{background: url("../images/ic-home-32.svg") no-repeat center center / 32px;  filter:invert(1); }

.header .title{font-size: var(--fontSize20); font-weight: 300;}
.header .title.mainLogo{width: 200px; height: 48px; background: url("../images/logoWhite.svg") no-repeat center center / 200px;}
.header .title.mainLogoBlack{width: 200px; height: 48px; background: url("../images/logoWhite.svg") no-repeat center center / 200px; filter:invert(1); }


/* stepArea */
.stepArea{width: 100%; background-color: #f5f5f5;}
.stepArea .stepWrap{max-width: 768px; margin: auto; display: flex; justify-content: space-between; align-items: center; height: 58px; padding: 0 23px;}
.stepArea .stepWrap .stepBox{display: flex; align-items: center;}
.stepArea .stepWrap .stepBox strong{display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; background-color: var(--mainColorW); color: var(--mainColorB);}
.stepArea .stepWrap .stepBox span{font-size: var(--fontSize15); font-weight: 300;}
.stepArea .stepWrap .off{display: flex;}
.stepArea .stepWrap .off .stepBox{}
.stepArea .stepWrap .on .stepBox strong{background-color: var(--mainColorB); color: var(--mainColorW);}

/* input[type="text"] input[type="password"] common */
input{outline: none;}
input::placeholder{font-weight: 300; color: #aeaeae;}
input[type="text"]{height: 48px; border: 1px solid #e5e5e5; border-radius: 4px; padding: 0 12px; font-size: var(--fontSize15); font-weight: 300; box-sizing: border-box;}
.input-disabled {background-color: #f8f8f8; color: #bbb; cursor: not-allowed; pointer-events: none;}



/* inpWrap - password common */
.inpWrap .iconPassword{}
.inpWrap label span.iconPassword i{content: ""; display: block; position: absolute; top: 24px; right: 0; margin: auto; width: 48px; height: 48px;}
.inpWrap label span.iconPassword i.show{background: url("../images/icon-passwordView-on.svg") no-repeat center center / 32px;}
.inpWrap label span.iconPassword i.none{background: url("../images/icon-passwordView-off.svg") no-repeat center center / 32px;}
.inpWrap input[type="password"]{height: 48px; border: 1px solid #e5e5e5; border-radius: 4px; padding: 0 12px; font-size: var(--fontSize15); font-weight: 300; box-sizing: border-box;}

/* inpWrap - text / disabled / readonly / error / date / del / search common */
.inpWrap{position: relative; display: flex; flex-direction: column; gap: 8px;}
.inpWrap label{}
.inpWrap label span{font-size: var(--fontSize12); font-weight: 300;}
.inpWrap input[type="text"]{width: 100%; border-radius: 5px; padding: 0 12px;}
.inpWrap input[type="text"]:disabled,
.inpWrap input[type="text"]:read-only{color: #8e8e8e; background-color: #f0f0f0; font-weight: 300; border: 0;}
.inpWrap input[type="text"].highlight {background-color: #E8F0FE;transition: all 0.3s ease;}
input.invalid { border: 1px solid red; }
.blueTxt { color: #1978d8; }
.inpWrap em{font-size: var(--fontSize12); font-weight: 300;}
.inpWrap em.errorCpation{color: var(--mainColorR);}
.inpWrap em.errorCpation.v2{line-height: 18px; margin-left: 20px; text-indent: -20px;}
.inpWrap em.successCpation{color: #1978d8;}
.inpWrap em.descCpation{font-size: var(--fontSize12); font-weight: 300; color: #888888;}
.inpWrap em i{display: inline-block; width: 16px; height: 16px; margin-right: 4px; vertical-align: -4px;}
.inpWrap em.errorCpation i{background: url("../images/icon-inputError-16.svg") no-repeat center center / 16px;}
.inpWrap em.successCpation i{background: url("../images/icon-inputSuccess-16.svg") no-repeat center center / 16px;}

.inpWrap label span.dateCalendar::after{content: ""; display: block; position: absolute; bottom: 0; right: 0; margin: auto; width: 48px; height: 48px; background: url("../images/icon-calendar.svg") no-repeat center center / 32px;}
.inpWrap label span.delInput::after{content: ""; display: block; position: absolute; bottom: 0; right: 0; margin: auto; width: 48px; height: 48px; background: url("../images/icon-delete.svg") no-repeat center center / 32px;}

.inpWrap.must{}
.inpWrap.must label{display: flex; justify-content: space-between;}
.inpWrap.must label strong{font-size: var(--fontSize12); font-weight: 300; color: #8e8e8e;}
.inpWrap.must label small{font-size: var(--fontSize12); color: var(--mainColorR);}

.inpWrap.read input[type="text"]:read-only{border: 1px solid #e5e5e5; background-color: var(--mainColorW); color: var(--mainColorB);}

.inpWrap.guide{}
.inpWrap.guide label{}
.inpWrap.guide label small{display: inline-block; width: 16px; height: 16px; margin-left: 2px; background: url("../images/icon_guideInfoBlack-16.svg") no-repeat center center / 16px; vertical-align: -4px;}

.inpWrap .emailInput{display: flex; flex-direction: row; align-items: center; gap: 2px;}
.inpWrap .twoShare{display: flex; align-items: center; gap: 8px;}

.inpWrap.srch{}
.inpWrap.srch i{position: absolute; bottom: 0;}
.inpWrap.srch i.fine{background: url("../images/icon-searchBtnBlack-32.svg") no-repeat left center / 32px;}
.inpWrap.srch i.clean{background: url("../images/icon-searchClean-32.svg") no-repeat right center / 32px;}

.inpWrap.srch.srchType01 i{width: 62px; height: 62px;}
.inpWrap.srch.srchType01 i.fine{left: 0;}
.inpWrap.srch.srchType01 i.clean{right: 0;}
.inpWrap.srch.srchType01 input{height: 62px; border: 0; padding: 0 40px; border-bottom: 2px solid var(--mainColorB); border-radius: 0;}


.inpWrap.srch.srchType02 i{width: 48px; height: 48px;}
.inpWrap.srch.srchType02 i.fine{left: 0; background-position: center;}
.inpWrap.srch.srchType02 i.clean{right: 0; background-position: center;}
.inpWrap.srch.srchType02 input{padding: 0 40px;}

/* chkWrap - checkbox chkRound common */
.chkWrap input[type="checkbox"].chkRound{display:none;}
.chkWrap input[type="checkbox"].chkRound + label{position: relative; cursor: pointer;}
.chkWrap input[type="checkbox"].chkRound + label span{padding-left: 32px; font-size: var(--fontSize15); font-weight: 300;}
.chkWrap input[type="checkbox"].chkRound + label:before{content: ""; position: absolute; left:0; top: -2px; width:24px; height:24px; display: inline-block; background:url("../images/icon-checkbox-off.svg") no-repeat center center / 24px;}
.chkWrap input[type="checkbox"].chkRound:checked + label:before {content: ""; background:url("../images/icon-checkbox-on.svg") no-repeat center center / 24px;}

/* chkWrap - checkbox chkRound 이용약관 common */
.policyList{}
.policyList .chkWrap{display: flex; justify-content: space-between; align-items: center;}
.policyList .chkWrap label span{display: flex; line-height: 22px; font-weight: 300;}
.policyList .chkWrap:last-child{align-items: flex-start;}
.policyList .chkWrap:last-child .policyDetail{margin-top: 2px;}

.policyList .policyDetail{display: block; width: 15px; height: 15px; background: url("../images/icon-policyRightArrowGray.svg") no-repeat center center / 15px;}
.policyList .chkWrap .policyDetail a{display: block; width: 100%; height: 100%;}

/* radioWrap - radioSquare common */
.radioWrap{display: flex; flex-direction: column; gap: 8px;}
.radioWrap .radioLabel{font-size: var(--fontSize12); font-weight: 300;}
.radioWrap .radioCnt{display: flex; gap: 8px;}
input[type="radio"].radioSquare{display: none;}
input[type="radio"].radioSquare + label{position: relative; display: inline-block; min-width: 50px; width: 100%; height: 48px; line-height: 48px; background-color: var(--mainColorW); border: 1px solid #e5e5e5; border-radius: 4px; text-align: center; box-sizing: border-box; cursor: pointer;}
input[type="radio"].radioSquare + label span{font-size: var(--fontSize15); font-weight: 300;}
input[type="radio"].radioSquare:checked + label{border: 1px solid var(--mainColorB); box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);}
input[type="radio"].radioSquare:checked + label span::before{content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 45px; left: 0; margin: auto; width: 20px; height: 20px; background: url("../images/icon-radioSquareSelect.svg") no-repeat center center / 20px;}
input[type="radio"].radioSquare:disabled + label{background-color: #f0f0f0; border: 0; color: #8e8e8e;}
input[type="radio"].radioSquare:disabled + label span{color: #8e8e8e;}

/* radioWrap - radioSquare02 */
.radioWrap { display: flex; flex-direction: column; gap: 8px; }
.radioWrap .radioLabel { font-size: var(--fontSize12); font-weight: 300; }
.radioWrap .radioCnt { display: flex; gap: 8px; }
input[type="radio"].radioSquare02 { display: none; }
input[type="radio"].radioSquare02 + label { position: relative; display: inline-block; min-width: 50px; width: 100%; height: 48px; line-height: 48px; background-color: var(--mainColorW); border: 1px solid #e5e5e5; border-radius: 4px; text-align: center; box-sizing: border-box; cursor: pointer; }
input[type="radio"].radioSquare02 + label span { font-size: var(--fontSize15); font-weight: 300; }
input[type="radio"].radioSquare02:checked + label { border: 1px solid var(--mainColorB); box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); background-color: #403f46; color: #fff; }
input[type="radio"].radioSquare02:checked + label span { color: #fff; }
input[type="radio"].radioSquare02:disabled + label { background-color: #f0f0f0; border: 0; color: #8e8e8e; }
input[type="radio"].radioSquare02:disabled + label span { color: #8e8e8e; }

/* car_notice */
.car_notice_01 { font-weight: bold; font-size: 12px; color: #222; line-height: 18px; margin-top: 8px; }
.car_notice_02 { position: relative; font-weight: normal; font-size: 12px; color: #222; margin-left: 8px; word-break: keep-all; line-height: 18px }
.car_notice_02::before { position: absolute; content: ""; display: inline-block; top: 4px; left: -8px; width: 2px; height: 2px; margin-right: 4px; background-color: #707070; }

/* optBox */
.selWrap .optBox { max-height: calc(3 * 42px); overflow-y: auto; scroll-behavior: smooth; }
.selWrap .optBox.optBox--lg { max-height: calc(8 * 42px) !important; }


/* input-error */
.input-error { border: 1px solid red !important; }

/* customerVehicleInfo 페이지 */
textarea.vehicle-textarea-highlight {
	border: 1px solid var(--mainColorB);
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
	-webkit-text-fill-color: #000000;
}

/* serviceReservation 페이지 */
.wrapper .container .contents.v2.reserveContents { padding: 126px 0 0; }
.Reserve_title { padding:16px 24px 12px 24px; }
.Reserve_title.customerInfo { padding:16px 24px 12px 0; }
.Reserve_title span { font-size: 24px; }
.serviceCenterList .items { display: flex; border-top: 1px solid #e3e3e3; padding: 20px 24px; }
.serviceCenterList .items:first-child { border-top: 1px solid #222; }
.serviceCenterList .items .centerInfo { display: flex; align-items: center; }
.serviceCenterList .items span { display: inline-block; }
.serviceCenterList .items .items_left { width: 75%; }
.serviceCenterList .items .centerLocation { margin-top: 2px; font-size: 20px; font-weight: bold; color: #222; }
.serviceCenterList .items .centerDivision { position: relative; display: inline-block; width: 58px; height: 25px; margin-left: 20px; padding-left: 10px; line-height: 25px; border: 1px solid #707070; border-radius: 4px; font-size: 13px; color: #222; }
.serviceCenterList .items .centerDivision::before { content: ""; position: absolute; top: 5px; right: 8px; width: 12px; height: 12px; background : url("../images/icon_black.svg") no-repeat center center / 12px; }
.serviceCenterList .items .centerDivision02 { margin-left: 6px; border: 1px solid #1978d8; color: #1978d8; }
.serviceCenterList .items .centerDivision02::before { background : url("../images/icon_blue.svg") no-repeat center center / 12px; }
.serviceCenterList .items .centerAddress { margin-top: 8px; padding-left: 20px; padding-right: 20px; font-size: 15px; color: #222222; }
.serviceCenterList .items .centerAddress .addressText { position: relative; line-height: 24px; word-break: keep-all; }
.serviceCenterList .items .centerAddress .addressText::before { position: absolute; content: ""; width: 16px; height: 16px; top: 2px; left: -18px; background : url("../images/icon-mapPin-16.svg") no-repeat center center / 16px; }
.serviceCenterList .items.centerOn .centerDivision::before { content: ""; position: absolute; top: 5px; right: 8px; width: 12px; height: 12px; background : url("../images/icon-w.png") no-repeat center center / 12px; }
.serviceCenterList .items .items_right { width: 25%; }
.serviceCenterList .items .items_right .btnSize34 { width: 100%; text-align: center; }
.serviceCenterList .items .items_right .btnSize34 span { position: relative; margin-left: 10px; }
.serviceCenterList .items .items_right .btnSize34 span::before { position: absolute; content: ""; width: 16px; height: 16px; top: 5%; left: -20px; background: url("../images/ic-select.svg") no-repeat center center / 16px; }

/* addtionalInfo page */
.addtionalInfoWrap .inpWrap .distanceWrap { position: relative; }
.addtionalInfoWrap .inpWrap .distanceWrap::before { content: "km"; display: block; position: absolute; top: 50%; right: 28px; transform: translateY(-50%); width: 16px; height: 16px; z-index: 10; }
.addtionalInfoWrap .chkWrap .chkCnt { margin-top: 12px; display: flex; flex-direction: row; align-items: center; gap: 8px; }
.addtionalInfoWrap .chkWrap .chkCnt label span { margin-right: 28px; padding-top: 4px; }
.addtionalInfoWrap .refreshWrap .diagTxt span { position: relative; display: inline-block; padding-left: 14px; font-size: 12px; line-height: 18px; color: #d5011c; word-break: keep-all; }
.addtionalInfoWrap .refreshWrap .diagTxt span::before { position: absolute; content: "※"; top: 0; left: 0; width: 12px; height: 12px; color: #d5011c; }
.addtionalInfoWrap .refreshWrap .btn_refresh { padding-left: 0; }
.addtionalInfoWrap .refreshWrap .btn_refresh span::before { display: none; }
.addtionalInfoWrap .inpWrap input[type="text"]:disabled, 
.addtionalInfoWrap .inpWrap input[type="text"]:read-only { color: #8e8e8e; background-color: #f0f0f0; font-weight: 300; border: 1px solid #f0f0f0; }

/* calendarWrap */
.calendarWrap .Reserve_title.customerInfo { display: flex; justify-content: space-between; align-items: center; padding-right: 0; }
.calendarWrap .calendarToggleBtn { display: flex; gap: 8px; }
.calendarWrap .calendarToggleBtn button { padding: 6px 12px; border: 1px solid #e3e3e3; border-radius: 4px; background: #fff; font-weight: bold; font-size: 20px; color: #dedede; }
.calendarWrap .calendarToggleBtn button.active { background: #fff; color: #222222; border-color: #707070; }
.calendarWrap .timeTitle { font-weight: 300; margin-top: 24px; margin-bottom: 8px; font-size: 16px; }
.calendarWrap .timeGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.calendarWrap .timeBtn { padding: 8px 0; border: 1px solid #666; border-radius: 4px; font-size: 14px; background: #fff; color: #222; cursor: pointer; }
.calendarWrap .timeBtn.selected { background: #403f46; color: #fff; }
.calendarWrap .timeBtn.disabled { color: #e5e5e5; pointer-events: none; border: 1px solid #e5e5e5; }

/* datepicker 커스터마이징 */
.calendarWrap .datepicker { width: 100%; border: none; font-family: inherit; }
.calendarWrap .table-condensed { width: 100%; padding: 10px 26px; border-radius: 20px; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16); }
.calendarWrap .datepicker .datepicker-switch { font-size: 16px; font-weight: bold; color: #222; }
.calendarWrap .datepicker .prev, .datepicker .next { font-size: 18px; color: #222; }
.calendarWrap .datepicker-days thead th { font-size: 14px; font-weight: 500; color: #888; padding: 14px 0; }
.calendarWrap .datepicker-days thead th.next,
.calendarWrap .datepicker-days thead th.prev { position: relative; font-size: 0; }
.calendarWrap .datepicker-days thead th.next::before { position: absolute; content: ""; display: inline-block; width: 16px; height: 16px; background: url("../images/ic-calendar-arrow.svg") no-repeat center center / 16px; top: 50%; right: 50%; transform: translateY(-50%); }
.calendarWrap .datepicker-days thead th.prev::before { position: absolute; content: ""; display: inline-block; width: 16px; height: 16px; background: url("../images/ic-calendar-arrow.svg") no-repeat center center / 16px; top: 50%; left: 50%; transform: translateY(-50%) rotate(180deg); }
.calendarWrap .datepicker .next.disabled, 
.calendarWrap .datepicker .prev.disabled { visibility: visible; }
.calendarWrap .datepicker td, .datepicker th { width: 40px; height: 40px; text-align: center; vertical-align: middle; font-size: 14px; border-radius: 2px; cursor: pointer; border: none; }
.calendarWrap .datepicker td.today { background-color: #f0f0f0; border-radius: 2px; font-weight: bold; }
.calendarWrap .datepicker td.active,
.calendarWrap .datepicker td.active:hover,
.calendarWrap .datepicker td.selected,
.calendarWrap .datepicker td.selected:hover { background-color: #222 !important; color: #fff !important; border-radius: 2px; }
.calendarWrap .datepicker td.disabled,
.calendarWrap .datepicker td.disabled:hover { color: #e5e5e5; pointer-events: none; border-radius: 2px; }
.calendarWrap .datepicker .dow:nth-child(1),
.calendarWrap .datepicker td:nth-child(1) { color: red; }
/*.calendarWrap .datepicker .dow:nth-child(7),
.calendarWrap .datepicker td:nth-child(7) { color: #222; }*/

/* complete (예약완료) page  */
.completeWrap .Reserve_title.customerInfo { padding-top: 22px; margin-bottom: 0; }
.completeWrap .reserve_infoWrap { width: 100%; padding: 20px 22px; border-radius: 4px; border: 1px solid #e5e5e5; }
.completeWrap .reserve_infoWrap img { width: 85px; height: 20px; }
.completeWrap .reserve_infoWrap .reserve_info_item p { position: relative; margin-left: 7px; font-weight: bold; font-size: 15px; color: #222222; line-height: 22px; }
.completeWrap .reserve_infoWrap .reserve_info_item p::before { position: absolute; content: ""; display: inline-block; width: 3px; height: 3px; top: 6px; left: -8px; margin-right: 8px; background-color: #222222; }
.completeWrap .reserve_infoWrap .reserve_info_item span { display: inline-block; margin-top: 6px; font-weight: 300; font-size: 15px; color: #222222; line-height: 22px; }
.completeWrap .reserve_infoWrap .reserve_info_item ul { margin-top: 6px; }
.completeWrap .reserve_infoWrap .reserve_info_item ul li { margin-top: 2px; font-weight: 300; font-size: 15px; color: #222222; line-height: 22px; }

/* 스와이퍼 */
.completeWrap .mediaSwiper { width: 100%; overflow: hidden; margin-top: 16px; }
.completeWrap .mediaSwiper .swiper-slide { width: auto; position: relative; }
.completeWrap .mediaSwiper .swiper-slide img { width: 100%; height: 66px; aspect-ratio: 1 / 1; object-fit: cover; display: block; border-radius: 4px; }

/* 도트 페이징 */
.completeWrap .mediaSwiper .swiper-pagination { position: static; margin-top: 8px; text-align: center; }
.completeWrap .mediaSwiper .swiper-pagination-bullet { background: #fff; opacity: 1; margin: 0 2px; width: 8px; height: 8px; border: 1px solid #999; border-radius: 50%; }
.completeWrap .mediaSwiper .swiper-pagination-bullet-active { background: #222; }
.completeWrap .mediaSwiper .swiper-slide.video .playIcon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 24px; height: 24px; background: url('../images/icon-play@3x.png') no-repeat center center / contain; }
.completeWrap .mediaSwiper .swiper-slide video { background: #ccc;}

/* 팝업슬라이더 */
.wrapper.slidePopupWrap .container .contents { max-width: 768px; margin: 0 auto; padding: 190px 23px 0; }
.imagePopupSwiper { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 auto; width: 100%; max-width: 320px; position: relative; text-align: center; height:70vh;}
.imagePopupSwiper .swiper-wrapper { width: 100%; height: 100%; }
.imagePopupSwiper .swiper-slide { display: flex; justify-content: center; max-height: 70vh;}
.imagePopupSwiper .swiper-slide img { width: 100%; max-width: 260px; height: auto; border-radius: 4px; }
.imagePopupSwiper .swiper-slide.video { position: relative; }

/* 좌우 버튼 */
.slidePopupWrap .imagePopupSwiper .swiper-button-prev,
.slidePopupWrap .imagePopupSwiper .swiper-button-next { width: 32px; height: 32px; background: url("../images/btn-arrow-open-32.png") no-repeat center center / 32px; }
.slidePopupWrap .imagePopupSwiper .swiper-button-prev { transform: rotate(180deg); left: -10px; }
.slidePopupWrap .imagePopupSwiper .swiper-button-next { right: -10px; }

/* 도트 */
.slidePopupWrap .imagePopupSwiper .swiper-pagination { position: static; margin-top: 12px; text-align: center; }
.slidePopupWrap .imagePopupSwiper .swiper-pagination-bullet { background: #fff; border: 1px solid #999; width: 10px; height: 10px; margin: 0 4px; opacity: 1; }
.slidePopupWrap .imagePopupSwiper .swiper-pagination-bullet-active { background: #000; }

/* n/n 숫자 */
.slidePopupWrap .imagePopupSwiper .slideFraction { position: absolute; bottom: 0; right: 30px; font-weight: bold; margin-top: 4px; font-size: 14px; color: #999999; text-align: right; }
.slidePopupWrap .imagePopupSwiper .slideFraction .current { color: #222222; }
.slidePopupWrap .imagePopupSwiper .slideFraction .total { color: #999999; }
.slidePopupWrap .closeBtn { margin-top: 230px; }

/* service 예약 요청 완료 페이지 */
.reserveWrap .reCompleteWrap { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px 20px 24px; text-align: center; border-bottom: 1px solid #e5e5e5; }
.reserveWrap .reCompleteWrap .re-complete { width: 120px; height: 120px; }
.reserveWrap .reCompleteTextWrap { margin-top: 20px; }
.reserveWrap .reCompleteTextWrap .reCompleteText { font-size: 20px; font-weight: bold; color: #222222; line-height: 28px; }
.reserveWrap .reCompleteTextWrap .reNumber { font-size: 15px; font-weight: 300; color: #222222; line-height: 28px; margin-top: 8px; }
.reserveWrap .reCompleteLowText { display: flex; text-align: center; }
.reserveWrap .reCompleteLowText p { font-size: 15px; font-weight: 300; color: #222222; line-height: 22px; }
.reserveWrap .reCompleteLowText .smallTxt { font-size: 12px; font-weight: 300; color: #999999; }

/* selWrap - common */
.selWrap{position: relative; display: flex; flex-direction: column; gap: 8px; background-color: var(--mainColorW);}
.selWrap .tit{font-size: var(--fontSize12); font-weight: 300;}
.selWrap .selected{position: relative;}
.selWrap .selected .selectedValue{position: relative; display: flex; align-items: center; width: 100%; height: 48px; padding: 0 52px 0 12px; border: 1px solid #e5e5e5; background-color: var(--mainColorW); border-radius: 4px; box-sizing: border-box; cursor: pointer;}
.selWrap .selected .selectedValue:hover{border: 1px solid var(--mainColorB);}
.selWrap .selected .selectedValue span{display: flex; align-items: center; height: 32px; font-size: var(--fontSize15); font-weight: 300; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #eaeaea;}
.selWrap .selected .selectedValue span.selected{color: var(--mainColorB);}
.selWrap .selected .selectedValue .selArrow{display: block; position: absolute; bottom: 0; right: 0; margin: auto; width: 48px; height: 48px; background: url("../images/icon-selectArrowDown.svg") no-repeat center center / 32px;}
.selWrap ul{
    display: none;
    position: absolute; top: 50px; width: 100%; box-sizing: border-box; z-index: 30;
    border-radius: 4px; background-color: var(--mainColorW); margin-top: 2px; overflow: hidden; cursor: pointer;
}
.selWrap ul li{display: flex; align-items: center; height: 42px;  font-size: var(--fontSize15); font-weight: 300; margin: 0 12px;white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.selWrap ul li:hover{background-color: #f6f6f6; width: calc(100% + 0px); margin-left: 0; text-indent: 12px;}
/* .selWrap ul li{display: flex; align-items: center; height: 42px; font-size: var(--fontSize15); font-weight: 300; padding: 0 12px;}
.selWrap ul li span{line-height: 42px; font-size: var(--fontSize15); font-weight: 300; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.selWrap ul li:hover{background-color: #f6f6f6;} */
/* 활성화 - active */
.selWrap.active ul{display: block; border: 1px solid var(--mainColorB);}
.selWrap.active ul,
.selWrap.active .selected .selectedValue{border: 1px solid var(--mainColorB);}
.selWrap.disabled{pointer-events: none;}
.selWrap.disabled .selectedValue{background-color: #f0f0f0; border: none;}
.selWrap.disabled .selectedValue span{color: #8e8e8e;}

.detailWrap .historyDate { position: relative; padding-left: 40px; font-size: 15px; font-weight: bold; color: #222222; line-height: 22px; }
.detailWrap .historyDate::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: url(../images/icon-eventScheduleCalendar-32.svg) no-repeat center center / contain; }
.wrapper.detailWrap02 .container .contents.v2 { padding: 80px 24px 0; }
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner.reserve_modalNarrow { padding: 20px 63px 100px; }
.reserve_modalNarrow .reserve_modalInfo { text-align: center; }
.reserve_modalNarrow .reserve_modalInfo p { font-size: 15px; font-weight: 300; color: #222222; line-height: 22px; margin-bottom: 32px; }
.reserve_modalNarrow .reserve_modalInfo ul li { border-radius: 4px; }
.reserve_modalNarrow .reserve_modalInfo .reserve_modal_txt { border-radius: 4px; text-align: center; }
.reserve_modalNarrow .reserve_modalInfo .stepBox {display: inline-flex; align-items: center; width: 110px;}
.reserve_modalNarrow .reserve_modalInfo .stepBox strong {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  background-color: var(--mainColorB);
  color: var(--mainColorW);
  font-weight: bold;
  font-size: var(--fontSize14);
  flex-shrink: 0;
}
.reserve_modalNarrow .reserve_modalInfo .stepBox span { flex: 1; font-size: var(--fontSize15); font-weight: 300; }



.radioList li { border: 1px solid #ddd; border-radius: 8px; padding: 12px; cursor: pointer; }
.radioList li.disabled {pointer-events: none; opacity: 0.5; cursor: not-allowed;} /*비활성화*/
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner .reserve_modalInfo li.selected { border: 1px solid #222; box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); }
.tequipWrap { display: flex; padding: 12px; background-color: #ececec; }
.completeWrap .reserve_infoWrap .tequipWrap img { width: 80px; height: 60px; }
.completeWrap .reserve_infoWrap .reserve_info_item .tequipWrap p { font-size: 14px; font-weight: 300; color: #222222; line-height: 20px; margin-left: 12px; }
.completeWrap .reserve_infoWrap .reserve_info_item .tequipWrap .tequipTxt { margin-left: 10px; }
.completeWrap .reserve_infoWrap .reserve_info_item .tequipWrap p::before { display: none; }
.completeTxt { font-size: 15px; font-weight: bold; color: #222222; }

/* centerOn */
.serviceCenterList .items.centerOn { background-color: #403f46; }
.serviceCenterList .items.centerOn span { color: #fff; }
.serviceCenterList .items.centerOn .centerDivision02::before { background: url("../images/icon_blue.svg") no-repeat center center / 12px; }
.serviceCenterList .items.centerOn button { background-color: #222222; }
.serviceCenterList .items.centerOn .items_right button span::before { background: url("../images/ic-select-white.svg") no-repeat center center / 16px; }
.serviceCenterList .items.centerOn .centerAddress .addressText::before { background: url("../images/ic-map-white.svg") no-repeat center center / 16px; }
.twoLinePlaceholder { height: 48px; border: 1px solid #e5e5e5; border-radius: 4px; padding: 0 12px; font-size: var(--fontSize15); font-weight: 300; box-sizing: border-box; overflow: hidden; resize: none; }
.twoLinePlaceholder::placeholder { white-space: pre-line; font-size: 15px; line-height: 1.2; color: #aaa; padding-top: 7px; }

/* reserveWrap 페이지 적용 sytle */
.reserveWrap input[type="radio"].radioSquare + label { border-radius: 0 12px 0 12px; }
.reserveWrap input[type="text"] { background-color: #f0f0f0; }
.reserveWrap .infoAddBtn span { position: relative; margin-left: -12px; }
.reserveWrap .infoAddBtn span::after { position: absolute; content: ""; display: inline-block; top: 4px; right: -16px; width: 12px; height: 12px; background: url("../images/plus-icon.svg") no-repeat center center / 16px; }

/* reserve_modal */
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner { padding: 20px 24px 100px; }
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner .reserve_modalInfo ul { display: flex; flex-direction: column; gap: 8px; }
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner .reserve_modalInfo li { padding: 15px; border: 1px solid #e5e5e5; }
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner .reserve_modalInfo li .reserve_modal_txt { margin-top: 8px; }
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner .reserve_modalInfo li .reserve_modal_title span { font-weight: bold;font-size: 20px; }
.dimmed .modalWrap.reserve_modal .modalCnt.btnInner .reserve_modalInfo li .reserve_modal_txt span { font-weight: regular; font-size: 15px; }

/* serviceType 페이지 */
.reserveContents .serviceTypeMenu { display: flex; justify-content: space-between; gap: 53px; padding: 0 24px; }
.reserveContents .serviceTypeMenu span { font-size: 14px; font-weight: normal; color: #333333; line-height: 22px; word-break: keep-all; }
.reserveContents .serviceTypeMenu .viewToggle { display: flex; align-items: center; gap: 8px; }
.reserveContents .serviceTypeMenu .viewToggle .btnToggle.list { width: 40px; height: 40px; background: url(../images/btn-listoff.svg) no-repeat center center / 40px; border-radius: 4px; cursor: pointer; border: solid 1px #e3e3e3; }
.reserveContents .serviceTypeMenu .viewToggle .btnToggle.list.btnOn { border: solid 1px #707070; background: url(../images/btn-liston.svg) no-repeat center center / 40px; }
.reserveContents .serviceTypeMenu .viewToggle .btnToggle.album { width: 40px; height: 40px; background: url(../images/btn-albumoff.svg) no-repeat center center / 40px; border-radius: 4px; cursor: pointer; border: solid 1px #e3e3e3; }
.reserveContents .serviceTypeMenu .viewToggle .btnToggle.album.btnOn { border: solid 1px #707070; background: url(../images/btn-albumon.svg) no-repeat center center / 40px; }
.reserveContents .serviceList .serviceItem { display: flex; justify-content: space-between; align-items: center; font-size: 18px; color: #222222; }
.reserveContents .serviceList .serviceItem .serviceName { width: 78%; }
.reserveContents .serviceList .serviceItem .serviceCheck { width: 22%; }
.reserveContents .serviceList .serviceItem input[type="checkbox"] { display: none; }
.reserveContents .serviceList .serviceItem label { display: flex; align-items: center; justify-content: center; width: 100%; }
.reserveContents .serviceList .serviceItem label span { position: relative; display: inline-block; margin-left: 12px; }
.reserveContents .serviceList .serviceItem label span::before { position: absolute; content: ""; width: 16px; height: 16px; top: -3px; left: -18px; background: url(../images/ic-select.svg) no-repeat center center / 16px; }
.reserveContents .serviceList .serviceItem label span.changeBtn { margin-left: 0; }
.reserveContents .serviceList .serviceItem label span.changeBtn::before { display: none; }
.reserveContents .serviceList .serviceItem input[type="checkbox"]:checked + label { background-color: #222222; border-color: #222222; }
.reserveContents .serviceList .serviceItem input[type="checkbox"]:checked + label span { color: #fff; }
.reserveContents .serviceList .serviceItem input[type="checkbox"]:checked + label span::before { background: url(../images/ic-select-white.svg) no-repeat center center / 16px; }
.reserveContents .serviceList.album-view { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 24px 0; }
.reserveContents .serviceList.list-view { display: flex; flex-direction: column; }
.reserveContents .serviceItem { border-top: 1px solid #ccc; padding: 16px 24px; text-align: left; font-size: 14px; }
.reserveContents .serviceItem:last-child { border-bottom: 1px solid #ccc; }
.reserveContents input[type="checkbox"]:checked + label { background-color: #333; color: #fff; border-color: #333; }
.reserveContents .serviceList .serviceItem.labelOn { background-color: #403f46; color: #fff; border-color: #403f46; }
.reserveContents .serviceList .serviceItem.labelOn .serviceName,
.reserveContents .serviceList .serviceItem.labelOn .serviceName .num { color: #fff; }
.reserveContents .serviceList.list-view .serviceItem br { display: none; }

/* albumView */
.reserveContents .serviceList.album-view .serviceItem { display: block; position: relative; height: 98px; border: none; padding: 0; justify-content: center; align-items: center; text-align: center; border-radius: 0 12px 0 12px; overflow: hidden; box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); }
.reserveContents .serviceList.album-view .serviceItem .serviceName { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; text-align: center; line-height: 24px; }
.reserveContents .serviceList.album-view .serviceItem .num { display: none; }
.reserveContents .serviceList.album-view .serviceItem label { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5; background-color: inherit; word-break: keep-all; text-align: center; line-height: 98px; box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); }
.reserveContents .serviceList.album-view .serviceItem label span { display: none; }
.reserveContents .serviceList.album-view .serviceItem label span::before { display: none; }
.reserveContents .serviceList.album-view .serviceItem.labelOn .serviceName { background-color: #403f46; color: #fff; border-color: #403f46; }
.reserveContents .serviceList.album-view .serviceItem.labelOn input[type="checkbox"]:checked + label { background-color: inherit; }

/* reserveCaution */
.reserveContents .reserveCaution { padding: 20px 24px; }
.reserveContents .reserveCaution .cautionTxt { padding: 15px; background-color: #f5f5f5; }
.reserveContents .reserveCaution .cautionHead { font-size: 15px; font-weight: bold; color: #222222; line-height: 22px; word-break: keep-all; }
.reserveContents .reserveCaution .cautionList { margin-top: 8px; font-size: 15px; font-weight: normal; color: #222222; line-height: 22px; text-indent: -1em; padding-left: 1em; word-break: keep-all; }
.reserveContents .reserveCaution .cautionList:first-child { margin-top: 12px; }

/* breakpad page */
.refreshWrap .btn_refresh { padding-left: 16px; font-size: 12px; border: solid 1px #222; color: #222; background-color: #fff; }
.refreshWrap .btn_refresh span { position: relative; }
.refreshWrap .btn_refresh span::before { position: absolute; content: ""; width: 16px; height: 16px; left: -18px; background: url("../images/icon-refresh@3x.png") no-repeat center center / 16px; }
.inpWrap.must label small.frontSmall { margin-right: 2px; }
.inpWrap .carImgWrap .carImg { position: relative; width: 100%; height: 200px; background-color: #f5f5f5; background-image: url(../images/718_00_default.png); background-size: 88%; background-repeat: no-repeat; background-position: 50% 50%; border-radius: 4px; }
.inpWrap .carImgWrap .carImg .choice { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: space-evenly; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); width: 60px; height: 60px; background-color: #d5011c; border-radius: 100%; opacity: 0.8; }
.inpWrap .carImgWrap .carImg .choice img { width: 18px; height: 23px; }
.inpWrap .carImgWrap .carImg .choice span { font-size: 10px; font-weight: 300; color: #fff; }
.breakpadWrap input[type="radio"].radioSquare + label { border: 1px solid #222; }
.breakpadWrap input[type="radio"].radioSquare:checked + label { border: 1px solid #222; background-color: #403f46; }
.breakpadWrap input[type="radio"].radioSquare:checked + label span::before { display: none; }
.breakpadWrap input[type="radio"].radioSquare:checked + label span { color: #fff; }
.breakpadWrap .otherBrandWrap { display: none; }

/* recall page */
.breakpadWrap .step02 { display: none; }
.breakpadWrap .stpe03_01 { display: none; }
.breakpadWrap .stpe03_01 .upPicWrap ul { display: flex; gap: 8px; }
.breakpadWrap .stpe03_01 .upPicWrap ul li { position: relative; width: 76px; height: 76px; background-color: #f0f0f0; border-radius: 4px; border: 1px solid #e5e5e5; }
.breakpadWrap .stpe03_01 .upPicWrap ul li button { position: absolute; top: 5px; right: 5px; width: 22px; height: 22px; background: url("../images/icon-delete.png") no-repeat center center / 22px; border-radius: 100%; border: none; }
.breakpadWrap .stpe03_01 .upPicWrap ul li:last-child { background-color: #fff; }
.breakpadWrap .stpe03_01 .upPicWrap ul li:last-child button { position: absolute; top: 0; right: 0; width: 100%; height: 100%; background-color: #fff; background: url("../images/icon-photo.svg") no-repeat center center / 22px; background-size: 24px 24px; border-radius: 4px; border: 1px solid #e5e5e5; }
.breakpadWrap .stpe03_01 .upPicWrap .upPicTxt p { position: relative; margin-left: 8px; margin-top: 6px; font-size: 12px; font-weight: 300; color: #222222; line-height: 18px; }
.breakpadWrap .stpe03_01 .upPicWrap .upPicTxt p::before { position: absolute; content: ""; display: inline-block; width: 2px; height: 2px; margin-right: 4px; background-color: #707070; top: 7px; left: -8px; }
.breakpadWrap .stpe03_02 { display: none; }

/* diagnosis page */
.breakpadWrap.diagWrap .inpWrap.must label { display: inline-block }
.breakpadWrap.diagWrap .refreshWrap .diagTxt span { position: relative; display: inline-block; padding-left: 14px; font-size: 12px; line-height: 18px; color: #d5011c; }
.breakpadWrap.diagWrap .refreshWrap .diagTxt span::before { position: absolute; content: "※"; top: 0; left: 0; width: 12px; height: 12px; color: #d5011c; }

/* noise page */
.inpWrap .threeInput { display: flex; flex-direction: row; }
.inpWrap .threeInput .speedInputWrap { position: relative; width: 50%; }
.inpWrap .threeInput .speedInput { position: relative; width: 100%; }
.inpWrap .threeInput .speedInputWrap::before { content: "km/s"; display: block; position: absolute; top: 50%; right: 28px; transform: translateY(-50%); width: 16px; height: 16px; z-index: 10; }
.inpWrap .threeInput .radioCnt { width: 50%; }
.inpWrap .chkWrap.speedChkWrap input[type="checkbox"] { display:none; }
.inpWrap .chkWrap.speedChkWrap label { position: relative; display: inline-block; min-width: 50px; width: 100%; height: 48px; line-height: 48px; background-color: var(--mainColorW); border: 1px solid #e5e5e5; border: 1px solid #222; border-radius: 4px; text-align: center; box-sizing: border-box; cursor: pointer; }
.inpWrap .chkWrap.speedChkWrap label span { font-size: var(--fontSize15); font-weight: 300; }
.inpWrap .chkWrap.speedChkWrap input[type="checkbox"]:checked + label { border: 1px solid #222; background-color: #403f46; }
.inpWrap .chkWrap.speedChkWrap input[type="checkbox"]:checked + label span { color: #fff; }

/* accident page */
.inpWrap .detailWrap .titleWrap .titleTxt { font-size: 12px;font-weight: bold; color: #222; line-height: 18px; }
.inpWrap .carImgWrap .carImg.carImg_outLook { background-image: url(../images/car_outlook@3x.png); background-size: 55%; border: none; }
.inpWrap .carImgWrap .carImg .choice.choice_gray { background-color: #222; opacity: 0.8; }
.wrapper .container .contents .contentsInner.carFullInner { padding-bottom: 20px; }
.inpWrap.carFullWrap { text-align: center; }
.inpWrap.carFullWrap .carDirection p { font-size: 15px; font-weight: bold; color: #333333; line-height: 22px; }
.inpWrap.carFullWrap .carFulltxt p { font-size: 15px; font-weight: 300; color: #333333; line-height: 22px; }
.carFullInner .carImgWrap { padding-bottom: 32px; border-top: #222222 1px solid; border-bottom: #222222 1px solid; }
.carFullInner .carImgWrap .carFullimg { position: relative; width: 100%; height: 343px; background-image: url(../images/car_outlook_full@3x.png); background-size: contain; background-position: 50% 50%; background-repeat: no-repeat; border-radius: 4px; }
.carFullInner .carImgWrap .carFullimg::after { content: "좌"; display: block; position: absolute; top: 43%; left: 0; font-size: 15px; color: #333333; font-weight: bold; }
.carFullInner .carImgWrap .carFullimg::before { content: "우"; display: block; position: absolute; top: 43%; right: 0; font-size: 15px; color: #333333; font-weight: bold; }

/* 슬라이더 비디오 */
.carFullInner .custom-video { width: 100%; max-width: 260px; height: 260px; border-radius: 4px; background: #f0f0f0;}
.video-wrapper { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; max-width: 100%; }
.custom-video { width: 100%; display: block; }
.video-play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; background: url('../images/icon-play@3x.png') no-repeat center center; background-size: contain; border: none; cursor: pointer; z-index: 2; }
.video-wrapper.playing .video-play-btn { display: none; }


/* bestitem page */
.wrapper.bestItemWrap .container .contents { padding: 68px 0px 0; }
.wrapper.bestItemWrap .container .contents .contentsInner { padding-bottom: 100px; }
.wrapper.bestItemWrap .container .contents .inpWrap.pl23 { padding: 0 23px; }
.bestItemWrap .productSwiper { width: 100%; height: 200px; border-radius: 8px; overflow: hidden; }
.bestItemWrap .productSwiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bestItemWrap .custom-swiper-pagination { margin-top: 2px; display: block; color: #fff; border-radius: 16px; font-size: 12px; font-weight: bold; z-index: 10; }
.bestItemWrap .custom-swiper-ui { position: absolute; width: 30%; max-width: 150px; bottom: 8px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: space-around; background: rgba(0, 0, 0, 0.6); border-radius: 20px; z-index: 10; }
.bestItemWrap .custom-swiper-ui button { border: none; color: white; font-size: 16px; font-weight: bold; width: 16px; height: 24px; line-height: 24px; text-align: center; cursor: pointer; }
.bestItemWrap .custom-swiper-ui button.swiper-button-prev-custom { background: url("../images/ic-text-arrow-16.svg") no-repeat center center / 16px; }
.bestItemWrap .custom-swiper-ui button.swiper-button-next-custom { background: url("../images/ic-text-arrow-16.svg") no-repeat center center / 16px; transform: rotate(180deg); }
.bestItemWrap .itemName { font-size: 20px; font-weight: bold; color: #222222; line-height: 22px; }
.bestItemWrap .itemInfoWrap { width: 100%; height: 100%; border: solid 1px #cfcfcf; border-radius: 4px; }
.bestItemWrap .itemInfoWrap .itemInfoUpper { padding: 16px; border-bottom: solid 1px #cfcfcf; }
.bestItemWrap .itemInfoWrap .itemInfoUpper .itemNumb { font-size: 15px; font-weight: bold; color: #222222; line-height: 22px; }
.bestItemWrap .itemInfoWrap .itemInfoUpper .itemTxt { margin-top: 8px; font-size: 15px; font-weight: 300; color: #222222; line-height: 22px; }
.bestItemWrap .itemInfoWrap .itemInfoLower { padding: 16px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .itemPrice { font-size: 15px; font-weight: bold; color: #222222; line-height: 22px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .blueTxt { margin-top: 8px; font-size: 12px; font-weight: 300; color: #1978d8; line-height: 18px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .modelName { display: flex; flex-direction: row; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .modelName span { padding: 6px 16px; font-size: 14px; font-weight: 300; color: #222222; line-height: 22px; border: 1px solid #e5e5e5; border-radius: 4px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .btnWrap { margin-top: 16px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .btnWrap button { color: #222222; font-size: 15px; font-weight: 300; line-height: 22px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .btnWrap button span { position: relative; display: inline-block; margin-left: -24px; }
.bestItemWrap .itemInfoWrap .itemInfoLower .btnWrap button span::before { position: absolute; content: ""; width: 16px; height: 16px; top: 1px; right: -24px; background: url("../images/ic-arrow-bottom-16.svg") no-repeat center center / 16px; }
.bestItemWrap .accordionHeader { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 16px 24px; background: none; border: none; font-weight: bold; font-size: 18px; color: #222222; border-top: 1px solid #737279; }
.bestItemWrap .accordionHeader .arrow { display: inline-block; width: 16px; height: 16px; background: url('../images/ic-arrow-bottom-16.svg') no-repeat center center / contain; transition: transform 0.3s; }
.bestItemWrap .accordionItem.active .arrow { transform: rotate(180deg); }
.bestItemWrap .accordionItem:last-child .accordionHeader { border-bottom: 1px solid #737279; }
.bestItemWrap .accordionContent { display: none; padding: 20px 24px 32px 24px; font-size: 15px; line-height: 22px; background-color: #f5f5f5; color: #222222; word-break: keep-all; border-top: 1px solid #737279; }
.bestItemWrap .accordionItem:last-child .accordionContent { border-top: none; }
.bestItemWrap .accordionItem.active .accordionContent { display: block; }

/* tequipment, plx page */
.tequipmentWrap .scrollArea .scroll li { width: 100%; }
.tequipmentWrap .scrollArea .scroll li a { width: 100%; text-align: center; }
.tequipmentWrap .anotherWrap .anotherTxt { font-size: 15px; font-weight: 300; color: #222222; line-height: 22px; }
.tequipmentWrap .anotherWrap .btn_another { padding: 0 16px 0 32px; font-size: 12px; border: solid 1px #222; color: #222; background-color: #fff; }
.tequipmentWrap .anotherWrap .btn_another span { position: relative; display: inline-block; }
.tequipmentWrap .anotherWrap .btn_another span::before { position: absolute; content: ""; width: 16px; height: 16px; top: 5%; left: -20px; background: url("../images/icon-product.svg") no-repeat center center / 16px; }
.tequipmentWrap .product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tequipmentWrap .product-card { margin-top: 24px; border-radius: 4px; overflow: hidden; text-align: left; background-color: #fff; }
.tequipmentWrap .product-card .thumb { width: 100%; height: 150px; }
.tequipmentWrap .product-card .thumb .tequipmentImg { width: 100%; height: 100%; }
.tequipmentWrap .product-card .name { font-size: 19.9px; font-weight: bold; margin-top: 12px; line-height: 22px; }
.tequipmentWrap .product-card .price { font-size: 15px; color: #222222; font-weight: 200; margin: 10px 0; }
.tequipmentWrap .product-card button span { position: relative; display: inline-block; margin-left: 20px; }
.tequipmentWrap .product-card button span::before { position: absolute; content: ""; width: 16px; height: 16px; top: 1px; left: -20px; background: url("../images/ic-select.svg") no-repeat center center / 16px; }
.dimmed .modalWrap.tequipment_modal .modalCnt.btnInner { padding: 0 23px 100px; }

/* history page */
.wrapper.historyWrap .container .contents.v2 { padding-top: 0; }
.historyWrap .tabMenuWrap { padding: 70px 0 0; margin-top: 16px; }
.historyWrap .tabMenu { display: flex; border-bottom: 1px solid #ccc; }
.historyWrap .tabMenu li { flex: 1; font-size: 18px; text-align: center; padding: 12px 0; font-weight: bold; color: #999; border-bottom: 2px solid transparent; cursor: pointer; }
.historyWrap .tabMenu li.on { color: #222; border-bottom: 2px solid #000; }
.historyWrap .tabContentWrap { padding: 24px 0px; }
.historyWrap .tabContent { display: none; }
.historyWrap .tabContent.on { display: block; }
.historyWrap .tabContent .blueTxt { margin-top: 8px; font-size: 12px; font-weight: 300; color: #1978d8; line-height: 18px; }
.historyWrap .historyItem .detailWrap { display: flex; justify-content: space-between; align-items: center; }
.historyWrap .historyItem .detailWrap .historyDate { position: relative; padding-left: 40px; font-size: 15px; font-weight: bold; color: #222222; line-height: 22px; }
.historyWrap .historyItem .detailWrap .historyDate::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; background: url("../images/icon-eventScheduleCalendar-32.svg") no-repeat center center / contain; }
.historyWrap .historyItem .detailWrap .historyDetail { position: relative; background-color: #fff; border: none; padding: 0 24px; font-size: 15px; font-weight: 300; color: #222222; line-height: 24px; }
.historyWrap .historyItem .detailWrap .historyDetail::before { position: absolute; content: ""; width: 16px; height: 16px; top: 1px; right: 0; /* transform: translateY(-50%); */ background: url("../images/ic-text-arrow-16.png") no-repeat center center / 16px; }
.historyWrap .historyItem .historyInfo { margin-top: 20px; border-radius: 4px; border: 1px solid #e5e5e5; box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16); }
.historyWrap .historyItem .historyInfo .historyInfoUpper { padding: 20px; position: relative; }
.historyWrap .historyItem .historyInfo .historyInfoUpper img { position: absolute; top: 20px; left: 20px; width: 20%; height: 20px; }
.historyWrap .historyItem .historyInfo .historyInfoUpper .historyTxtWrap { margin-top: 12px; }
.historyWrap .historyItem .historyInfo .historyInfoUpper .historyTxt { display: flex; justify-content: space-between; align-items: center; }
.historyWrap .historyItem .historyInfo .historyInfoUpper .historyTxt p { margin-top: 2px; margin-bottom: 2px; font-size: 15px; font-weight: 300; color: #222222; line-height: 22px; }
.historyWrap .historyItem .historyInfo .historyInfoUpper .historyTxt .leftTxt { position: relative; padding-left: 8px; }
.historyWrap .historyItem .historyInfo .historyInfoUpper .historyTxt .leftTxt::before { position: absolute; content: ""; display: inline-block; top: 8px; left: 0; width: 3px; height: 3px; margin-right: 4px; background-color: #222222; }
.historyInfolower { padding: 20px; border-top: 1px solid #e5e5e5; }
.historyInfolower .btnWrap { margin-top: 8px; }

/* badge - */
.badge { display: inline-block; padding: 0 10px; height: 20px; font-size: 12px; border-radius: 20px; text-align: center; }
.badge p { line-height: 22px; color: #fff; }
.badge-gray { background-color: #737279; }
.badge-red { background-color: #d5011c; }


/* List Style */
.listCommon .txtCnt { font-size: var(--fontSize15); line-height: 22px; }
.listCommon dd em { font-size: var(--fontSize15); line-height: 22px; color: #aeaeae; }
.listCommon dt { font-size: var(--fontSize24); font-weight: 300; line-height: 32px; }
.listCommon.asterisk { display: flex; flex-direction: column; gap: 8px; }
.listCommon.asterisk dd { display: flex; font-size: var(--fontSize12); font-weight: 300; color: #888888; line-height: 18px; }
.listCommon.asterisk dd::before { content: "*"; display: inline-block; margin-right: 4px; }
.listCommon.numberList dt { font-size: var(--fontSize24); font-weight: 300; line-height: 32px; }
.listCommon.numberList dd { font-size: var(--fontSize15); font-weight: 300; line-height: 22px; text-indent: -15px; margin-left: 15px; }
ul.listCommon.bullet { display: flex; flex-wrap: wrap; row-gap: 8px; }
ul.listCommon.bullet li.title { font-size: var(--fontSize15); font-weight: bold; }
ul.listCommon.bullet li.title::before { content: ""; }
ul.listCommon.bullet li { display: flex; width: 100%; font-size: 15px; font-weight: 300; line-height: 22px; }
ul.listCommon.bullet li::before { content: "ㆍ"; margin-right: 2px;font-weight: bold; }

/* 리스트 모양 50% */
ul.listCommon.bullet.listHalf li{width: 50%;}

.listCommon.notice{margin-top: 20px; display: flex; flex-direction: column; gap: 8px;}
.listCommon.notice .noticeCaption{position: relative; display: flex; line-height: 20px; font-size: var(--fontSize12); font-weight: 300;}
.listCommon.notice .noticeCaption::before{content: ""; display: inline-block; margin-right: 4px; width: 16px; height: 16px; background: url("../images/icon-notice.svg") no-repeat center center / 16px; vertical-align: -4px;}

/*noticeCaption 강조*/
.listCommon.notice .noticeCaptionStrong{position: relative; display: flex; line-height: 20px; font-size: var(--fontSize12); font-weight: bold; color: var(--mainColorB)}
.listCommon.notice .noticeCaptionStrong::before{content: ""; display: inline-block; margin-right: 4px; width: 16px; height: 16px; background: url("../images/icon-notice.svg") no-repeat center center / 16px; vertical-align: -4px;}

/* tabArea */
.tabArea{max-width: 768px; margin: 0 auto; background-color: var(--mainColorW);}
.tabArea .tabBox{display: flex;}
.tabArea .tabBox .tabLinks{width: 50%; text-align: center; box-sizing: border-box;}
.tabArea .tabBox .tabLinks.active{}
.tabArea .tabBox .tabLinks.active a{}
.tabArea .tabBox .tabLinks a{position: relative; display: inline-block; width: 100%; line-height: 58px;}
.tabArea .tabBox .tabLinks a::after{content: ""; display: inline-block; position: absolute; width: 100%; height: 1px; background-color: #e3e3e3; left: 0; right: 0; bottom: 0; margin: auto;}
.tabArea .tabBox .tabLinks.active a::after{height: 3px; background-color: var(--mainColorB);}

/* scroll */
.scrollArea{width: calc(100%); background-color: var(--mainColorW);}
.scrollArea .scroll{display: flex; white-space: nowrap; overflow-x: auto;}
.scrollArea .scroll li{display: inline-block; padding-right: 8px;}
.scrollArea .scroll li:last-child{padding-right: 23px;}
.scrollArea .scroll li a{}
.scrollArea .scroll li a.on{background-color: var(--mainColorB); color: var(--mainColorW);}

/* scrollNone - 카테고리 4개일때 풀로 채우기 */
.scrollArea.noneScroll{width: 100%;}
.scrollArea.noneScroll .scroll{gap: 6px;}
.scrollArea.noneScroll .scroll li{ flex-grow: 1; width: 100%; padding: 0;}
.scrollArea.noneScroll .scroll li a{width: 100%; padding: 0; text-align: center;}

/* header에 포함시 필요한 class */
.scrollArea.headerScroll{max-width: 768px; margin: 0 auto; padding: 0 23px;}

/* switchArea */
.switchArea .switch{position: relative; display: inline-block; width: 51px; height: 31px;}
.switchArea .switch input{opacity: 0; width: 0; height: 0;}
.switchArea .slider{position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #f0f0f0; -webkit-transition: 0.3s; transition: 0.3s;}
.switchArea .slider:before{position: absolute; content: ""; height: 27px; width: 27px; left: 2px; top: 0; bottom: 0; margin: auto; background-color: white; -webkit-transition: 0.3s; transition: 0.3s; box-shadow: 0 3px 1px 0 rgba(0, 0, 0, 0.06);}
.switchArea input:checked+.slider{background-color: var(--mainColorB);}
.switchArea input:checked+.slider:before{-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}
.switchArea .slider.round{border-radius: 34px;}
.switchArea .slider.round:before{border-radius: 50%;}

/* settingList */
.settingModifiyList{}
.settingModifiyList dl{margin-top: 20px;}
.settingModifiyList dl + dl{margin-top: 32px;}
.settingModifiyList dl:last-child{padding-bottom: 60px;}
.settingModifiyList dl dt{font-weight: bold; padding-bottom: 12px; border-bottom: 1px solid var(--mainColorB);}
.settingModifiyList dl dd{display: flex; align-items: center; border-bottom: 1px solid #e5e5e5;}
.settingModifiyList dl dd a,
.settingModifiyList dl dd p{display: flex; width: 100%; height: 100%; padding: 23px 0; justify-content: space-between; align-items: center; font-size: var(--fontSize15); font-weight: 300;}
.settingModifiyList dl dd a.links::after{content: ""; display: inline-block; width: 16px; height: 16px; background: url("../images/icon-textArrowRightBlack-16.svg") no-repeat center center / 16px;}
.settingModifiyList dl dd a.switch::after{content: ""; display: inline-block; width: 16px; height: 16px; background: url("../images/icon-textArrowRightBlack-16.svg") no-repeat center center / 16px;}
.settingModifiyList dl dd p + span{font-size: var(--fontSize15); font-weight: 300; color: #8e8e8e;}
.settingModifiyList ul.serviceChannel{display: flex; margin-top: 32px;}
.settingModifiyList ul.serviceChannel li{display: flex; flex-direction: column; gap: 8px; align-items: center; width: 50%;}
.settingModifiyList ul.serviceChannel li div a { display: inline-block; width: 100%; line-height: 42px; color: #1978d8; text-decoration: underline; }
.settingModifiyList ul.serviceChannel li span { display: flex; justify-content: center; text-align: center; height: 32px; line-height: 16px; margin-top: 6px; font-size: var(--fontSize12); font-weight: 300; align-items: center; }

/* inpWrap / chkWrap / radioWrap / selWrap */
.componentLabel{font-size: var(--fontSize12); font-weight: 300;}

/* btnWrap -  Type01 common */
.btnWrap{display: flex; gap: 8px;}
.btnWrap.justifyContentCenter{justify-content: center;}

.btnType{border: 0; border-radius: 0 12px 0 12px; box-sizing: border-box; background: none; font-weight: 300; cursor: pointer;}
.btnColorW{background-color: var(--mainColorW); border: 1px solid var(--mainColorB); color: var(--mainColorB);}
.btnColorB{background-color: var(--mainColorB); border: 1px solid var(--mainColorB); color: var(--mainColorW);}

.btnTrans01{background-color: transparent; border: 1px solid var(--mainColorW); color: var(--mainColorW);}

.btnSmSize25{display: inline-block; line-height: 25px; padding: 0 20px; font-size: var(--fontSize13); font-weight: 300; background-color: #f5f5f5; border-radius: 4px;}

.btnSize34{height: 34px; font-size: var(--fontSize14);}
.btnSize48{width: 100%; height: 48px; font-size: var(--fontSize15);}
.btnSize60{width: 100%; height: 60px; font-size: var(--fontSize20);}


.btnType.disabled{color: #8e8e8e; background-color: #f0f0f0; border: 0;}
.btnType.btnMore::after{content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 8px; background: url("../images/icon-arrowBottom-16.svg") no-repeat center center / 16px; transition: 0.3s ease; vertical-align: -3px;}

/* floatingBtn Button */
.container .floatingArea{position: fixed; left: 0; right: 0; bottom: 0; z-index: 10; padding: 20px 23px; width: 100%; background-color: var(--mainColorW); box-shadow: 0 -3px 6px 0 rgba(0, 0, 0, 0.16);}
.container .floatingArea .floatingBtn{max-width: 768px; margin: 0 auto;}

/* noticeCaption */
.noticeCaption { font-size:var(--fontSize24); font-weight: normal; line-height: 1.33; color: #222; }

/* common */
.flexBox{display: flex;}
.wdh_60{width: 60px !important;}
.wdh_70{width: 70px !important;}
.wdh_80{width: 80px !important;}
.wdh_92{width: 92px !important;}
.wdh_100{width: 100px !important;}
.wdh_120{width: 120px !important;}
.wdh_140{width: 140px !important;}
.wdh_160{width: 160px !important;}
.wdh_180{width: 180px !important;}
.wdh_240{width: 240px !important;}
.wdh_260{width: 260px !important;}
.wdh_280{width: 280px !important;}
.wdh_300{width: 300px !important;}
.wdh_360{width: 360px !important;}
.wdh_420{width: 420px !important;}
.wdh_480{width: 480px !important;}
.wdh_520{width: 520px !important;}
.wdh_540{width: 540px !important;}

.wdh_1p{width: 1% !important;}
.wdh_2p{width: 2% !important;}
.wdh_3p{width: 3% !important;}
.wdh_4p{width: 4% !important;}
.wdh_5p{width: 5% !important;}
.wdh_8p{width: 8% !important;}
.wdh_10p{width: 10% !important;}
.wdh_12p{width: 12% !important;}
.wdh_15p{width: 15% !important;}
.wdh_20p{width: 20% !important;}
.wdh_25p{width: 25% !important;}
.wdh_30p{width: 30% !important;}
.wdh_35p{width: 35% !important;}
.wdh_40p{width: 40% !important;}
.wdh_42p{width: 42% !important;}
.wdh_45p{width: 45% !important;}
.wdh_50p{width: 50% !important;}
.wdh_55p{width: 55% !important;}
.wdh_60p{width: 60% !important;}
.wdh_65p{width: 65% !important;}
.wdh_70p{width: 70% !important;}
.wdh_75p{width: 75% !important;}
.wdh_80p{width: 80% !important;}
.wdh_85p{width: 85% !important;}
.wdh_90p{width: 90% !important;}
.wdh_95p{width: 95% !important;}
.wdh_full{width: 100% !important;}

.pt0{padding-top: 0px !important;}
.pt20{padding-top: 20px !important;}

.pb0{padding-bottom: 0px !important;}
.pb30{padding-bottom: 30px !important;}
.pb40{padding-bottom: 40px !important;}
.pb60{padding-bottom: 60px !important;}
.pb90{padding-bottom: 90px !important;}

.mt0{margin-top: 0px !important;}
.mt4{margin-top: 4px !important;}
.mt5{margin-top: 5px !important;}
.mt6{margin-top: 6px !important;}
.mt8{margin-top: 8px !important;}
.mt10{margin-top: 10px !important;}
.mt12{margin-top: 12px !important;}
.mt14{margin-top: 14px !important;}
.mt15{margin-top: 15px !important;}
.mt16{margin-top: 16px !important;}
.mt18{margin-top: 18px !important;}
.mt20{margin-top: 20px !important;}
.mt24{margin-top: 24px !important;}
.mt25{margin-top: 25px !important;}
.mt28{margin-top: 28px !important;}
.mt30{margin-top: 30px !important;}
.mt32{margin-top: 32px !important;}
.mt35{margin-top: 35px !important;}
.mt36{margin-top: 36px !important;}
.mt40{margin-top: 40px !important;}
.mt45{margin-top: 45px !important;}
.mt47{margin-top: 47px !important;}
.mt50{margin-top: 50px !important;}
.mt55{margin-top: 55px !important;}
.mt60{margin-top: 60px !important;}
.mt70{margin-top: 70px !important;}
.mt75{margin-top: 75px !important;}
.mt80{margin-top: 80px !important;}
.mt85{margin-top: 85px !important;}
.mt90{margin-top: 90px !important;}
.mt95{margin-top: 95px !important;}
.mt100{margin-top: 100px !important;}
.mt105{margin-top: 105px !important;}
.mt110{margin-top: 110px !important;}
.mt115{margin-top: 115px !important;}
.mt120{margin-top: 120px !important;}
.mt160{margin-top: 160px !important;}

.ml5{margin-left: 5px !important;}
.ml8{margin-left: 8px !important;}
.ml7{margin-left: 7px !important;}
.ml8{margin-left: 8px !important;}
.ml10{margin-left: 10px !important;}
.ml20{margin-left: 20px !important;}
.ml15{margin-left: 15px !important;}
.ml16{margin-left: 16px !important;}
.ml24{margin-left: 24px !important;}
.ml32{margin-left: 32px !important;}

.mr5{margin-right: 5px !important;}
.mr8{margin-right: 8px !important;}
.mr10{margin-right: 10px !important;}
.mr20{margin-right: 20px !important;}
.mr24{margin-right: 24px !important;}
.mr60{margin-right: 60px !important;}

.mb0{margin-bottom: 0 !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px !important;}
.mb40{margin-bottom: 40px !important;}
.mb120{margin-bottom: 120px !important;}

.tac{text-align: center !important;}
.tar{text-align: right !important;}
.tal{text-align: left !important;}


/* input too-short */
input.too-short { border: 1px solid red !important; }



/* Loading Overlay */
#loadingOverlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.3);
  display: none; /* 기본 숨김 */
  z-index: 9999;

  justify-content: center;
  align-items: center;
}

.dot-loader {
  display: flex;
  gap: 8px;
}

.dot-loader div {
  width: 10px;
  height: 10px;
  background: var(--mainColorG); /* 공통 컬러 */
  border-radius: 50%;
  animation: bounce 0.6s infinite alternate;
}

.dot-loader div:nth-child(2) { animation-delay: 0.2s; }
.dot-loader div:nth-child(3) { animation-delay: 0.4s; }

@keyframes bounce {
  from { transform: translateY(0); opacity: 0.5; }
  to   { transform: translateY(-8px); opacity: 1; }
}





/* ========================= */
